]> git.proxmox.com Git - grub2.git/blob - ChangeLog
* util/grub-install.in: Support dd'in into PreP partition.
[grub2.git] / ChangeLog
1 2012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
2 2012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
3 2012-01-23 pfsmorigo
4
5 * util/grub-install.in: Support dd'in into PreP partition.
6 * util/grub-probe.c (probe): Support discovering partition type.
7 (main): Support -t msdos_parttype.
8
9 2012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
10
11 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
12 infinite recursion using counter.
13 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
14 init to skip it if the magic check fails.
15 (dec_stream_header): Init s->crc32.
16
17 2012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
18 2012-01-22 Zachary Bedell <pendorbound@gmail.com>
19 2012-01-22 Richard Laager <rlaager@wiktel.com>
20
21 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
22 All users updated.
23 (find_bestub): Determine correct size.
24 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
25 (scan_disk): Align the size down.
26 Call check pool before find_bestub to have ashift.
27
28 2012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
29
30 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
31 dprintf in no-malloc zone.
32
33 2012-01-22 Mario Limonciello <mario_limonciello@dell.com>
34
35 * configure.ac: Add back in test for limits.h.
36
37 2012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
38
39 Support 4K-sector NTFS.
40
41 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
42 (grub_ntfs_data): Remove blocksize.
43 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
44 Remove data argument. All users updated.
45
46 2012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
47
48 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
49 being in .text to avoid dprel references.
50 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
51 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
52 (grub_arch_highmemsize): Likewise.
53 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
54 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
55 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
56
57 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
58
59 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
60
61 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
62 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
63
64 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
65
66 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
67 GRUB_UTIL.
68 (grub_set_datetime_cmos): Likewise.
69
70 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
71
72 Make XZ compression parameters dependent on target and not host CPU.
73
74 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
75 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
76
77 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
78
79 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
80 set but not used variable.
81
82 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
83
84 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
85 created when no uuid support is compiled into mkfs.reiser.
86
87 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
88
89 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
90 (utf8_to_macroman): Do the opposite.
91 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
92
93 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
94
95 * configure.ac: Refise build qemu_mips w/o unifont.
96
97 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
98
99 Eliminate grub_min/grub_max prone to overflow usage.
100
101 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
102 (poll_nonroot_hub): Likewise.
103 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
104 (grub_affs_label): Likewise.
105 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
106 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
107 (grub_hfs_label): Likewise.
108 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
109 * grub-core/fs/zfs/zfs.c (MIN): Remove.
110 (zap_leaf_array_equal): Use grub_size. Remove MIN.
111 (zap_leaf_array_get): Likewise.
112 (dnode_get_path): Likewise.
113 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
114 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
115 * grub-core/script/execute.c (grub_script_break): Likewise.
116 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
117 grub_max.
118 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
119 * include/grub/misc.h (grub_min): Removed.
120 (grub_max): Likewise.
121
122 2012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
123
124 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
125 direct.inode = 0.
126
127 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
128
129 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
130
131 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
132
133 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
134
135 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
136
137 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
138 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
139
140 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
141
142 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
143 rather than a hack for grub_strncasemap.
144
145 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
146
147 Support multiple initrds
148 Note: part of this was accidently committed in r3739.
149
150 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
151 initrd.
152 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
153 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
154 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
155 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
156 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
157
158 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
159
160 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
161 disks with unknown size.
162 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
163
164 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
165
166 Remove defines pertaining to arbitrary limits not affecting GRUB
167 anymore.
168
169 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
170 (EXT2_MAX_SYMLINKCNT): Likewise.
171 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
172 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
173 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
174 (GRUB_PXE_MAX_BLKSIZE): Likewise.
175 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
176 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
177 (DN_MAX_OBJECT_SHIFT): Likewise.
178 (DN_MAX_OFFSET_SHIFT): Likewise.
179 (DN_MAX_OBJECT): Likewise.
180 (DNODES_PER_LEVEL_SHIFT): Likewise.
181 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
182 (SPA_MAXBLOCKSIZE): Likewise.
183 (SPA_BLOCKSIZES): Likewise.
184 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
185 (MZAP_MAX_BLKSZ): Likewise.
186
187 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
188
189 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
190 handle NULL appropriately.
191 Remove MIN.
192
193 2012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
194
195 Fix efiemu.
196
197 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
198 cpu/types.h.
199 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
200 * configure.ac: Fix efiemu check.
201
202 2012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
203
204 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
205 grub_probe.
206 Reported by: adamwill
207
208 2012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
209
210 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
211
212 2012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
213
214 Fix handling of wide characters in gfxterm.
215
216 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
217 (clear_char): Likewise.
218 (paint_char): Skip code == NULL chars.
219 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
220
221 2012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
222
223 * grub-core/normal/charset.c: Move comment to right place.
224
225 2012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
226
227 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
228 (GRUB_AFFS_FLAG_FFS): Put back where it was.
229 (grub_affs_mount): Revert the correct version checking.
230
231 2012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
232
233 * docs/grub.texi (Unicode): Mention several other unsupported features.
234
235 2011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
236
237 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
238 case statements as compile-time one.
239 (direct_read): Prevent spurious warnings.
240 (grub_squash_read_data): Likewise.
241
242 2011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
243
244 Various squash4 fixes and LZO and XZ support.
245
246 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
247 Add xzembed source files.
248 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
249 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
250 (grub_squash_inode): New subtype long_dir.
251 (SQUASH_TYPE_LONG_DIR): New inode type.
252 (COMPRESSION): New enum.
253 (XZBUFSIZ): New const.
254 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
255 (read_chunk): Use data->decompress.
256 (zlib_decompress): New function.
257 (lzo_decompress): Likewise.
258 (xz_decompress): Likewise.
259 (squash_mount): Set new data fields.
260 (grub_squash_iterate_dir): Handle long dir.
261 (squash_unmount): Free xzdec and xzbuf.
262 (grub_squash_open): Check ino type.
263 (direct_read): Stylistic fixes. Use data->decompress.
264 (grub_squash_read_data): Likewise.
265 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
266 (get_byte): Likewise.
267 (grub_zlib_disk_read): Removed.
268 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
269 (GRUB_POSIX_BOOL_DEFINED): New define.
270 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
271 * grub-core/lib/xzembed/xz.h: Addmissing includes.
272 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
273 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
274
275 2011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
276
277 Don't override more informative errors.
278
279 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
280 * grub-core/font/font.c (open_section): Likewise.
281 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
282 filename. Don't override errors.
283 (grub_cmd_openbsd_ramdisk): Don't override errors.
284 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
285 (grub_cmd_initrd): Likewise.
286 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
287 (grub_cmd_initrd): Likewise.
288 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
289 (grub_cmd_linux): Likewise.
290 (grub_cmd_initrd): Likewise.
291 (grub_cmd_payload): Likewise.
292 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
293 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
294 (grub_cmd_module): Likewise.
295 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
296 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
297 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
298 (grub_cmd_xnu_mkext): Likewise.
299 (grub_cmd_xnu_ramdisk): Likewise.
300 (grub_xnu_check_os_bundle_required): Likewise.
301 (grub_xnu_load_kext_from_dir): Likewise.
302 (grub_cmd_xnu_kextdir): Likewise.
303 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
304
305 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
306
307 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
308 as 1024 in block size field. Found on one of my test images.
309 Small optimisation while on it.
310
311 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
312
313 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
314 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
315 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
316 performance fixes while on it.
317 (grub_sfs_close): Fix memory leak while on it.
318 (grub_sfs_label): Convert Latin1 to UTF-8.
319
320 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
321
322 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
323 space to avoid overflows.
324 (grub_hfs_label): Convert from macroman to UTF-8.
325
326 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
327
328 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
329
330 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
331
332 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
333
334 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
335
336 * unicode: Import Unicode 6.0 data.
337
338 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
339
340 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
341 outside of range.
342
343 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
344
345 Avoid cutting in the middle of UTF-8 character.
346
347 * include/grub/charset.h (grub_getend): New function.
348 * grub-core/script/function.c (grub_script_function_find): Use
349 grub_getend.
350 * grub-core/normal/completion.c (add_completion): Likewise.
351
352 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
353
354 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
355 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
356 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
357 (GRUB_UNICODE_TAG_END): Likewise.
358 (GRUB_UNICODE_LAST_VALID): Likewise.
359
360 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
361
362 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
363 len and make it smaller. All users updated.
364 * util/import_unicode.py: Put length and not end character.
365 Check length.
366
367 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
368
369 Make better Unicode-compliant and unify some UTF-8 code pathes.
370
371 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
372 valid character.
373 (grub_is_valid_utf8): Use grub_utf8_process.
374 Check resulting code range.
375 (grub_utf8_to_ucs4): Use grub_utf8_process.
376 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
377 valid character.
378
379 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
380
381 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
382
383 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
384
385 * docs/grub.texi (Filesystems): Mention AFS.
386
387 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
388
389 * docs/grub.texi (Filesystems): Clarify restrictions.
390 (Regexp): Mention non-Unicode regexp behaviour.
391 (Other): Mention non-Unicode matching behaviour.
392
393 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
394
395 Make HFS implementation use MacRoman.
396
397 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
398 (macroman): New const array.
399 (macroman_to_utf8): New function.
400 (utf8_to_macroman): Likewise.
401 (grub_hfs_find_dir): Use utf8_to_macroman.
402 (grub_hfs_dir): Use macroman_to_utf8.
403 Set case_insensitive.
404
405 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
406
407 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
408
409 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
410
411 Integrate hints into autogeneration scripts.
412
413 * docs/grub.texi (Filesystems): Add a hostdisk example.
414 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
415 (grub-probe): Add ofpath.
416 * gentpl.py: Remove group nosparc64.
417 * grub-core/commands/search.c (cache_entry): New struct.
418 (cache): New var.
419 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
420 * grub-core/commands/search_wrap.c (options): Add platform-specific
421 hint options.
422 (grub_cmd_search): Handle platform-specific hints.
423 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
424 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
425 (grub_util_biosdisk_data): Likewise.
426 (grub_util_biosdisk_open): Set device_map.
427 (read_device_map): Handle "" as indication of no map.
428 Set device_map.
429 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
430 (grub_util_biosdisk_get_compatibility_hint): New function.
431 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
432 * include/grub/emu/hostdisk.h
433 (grub_util_biosdisk_get_compatibility_hint): New proto.
434 * util/grub-install.in: Don't call grub-mkdevicemap.
435 Add platform-specific hint to load.cfg.
436 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
437 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
438 hints. Set root preliminary to compatibility hint, not to OS name.
439 * util/grub-probe.c (PRINT_*): Add hints.
440 (print): Make static.
441 (escape_of_path): New function.
442 (guess_bios_drive): Likewise.
443 (guess_efi_drive): Likewise.
444 (guess_baremetal_drive): Likewise.
445 (print_full_name): Likewise.
446 (probe): Handle hints.
447 (main): Likewise.
448 * util/ieee1275/devicemap.c: Removed.
449 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
450 updated.
451 (grub_util_devname_to_ofpath): Return NULL on failure.
452
453 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
454 resource leak.
455 * util/getroot.c (grub_util_pull_device): Fix memory leak.
456
457 * po/POTFILES.in: Regenerated.
458
459 Allow purely long options
460
461 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
462 (SHORT_ARG_USAGE): Likewise.
463 (grub_arg_show_help): Compare opt with help_options.
464 (parse_option): Receive opt as argument. If makes big simplificatons.
465 All users updated
466
467 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
468
469 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
470 Restructure to avoid warning.
471
472 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
473
474 * util/grub-install.in: Account for possible escaped comma in device
475 name.
476
477 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
478
479 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
480 channel.
481
482 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
483
484 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
485 allocation and zero-setting.
486 (grub_ieee1275_get_devname): Check that alias is complete.
487
488 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
489
490 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
491 unaligned segments.
492
493 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
494
495 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
496 prefix.
497 (grub_ofdisk_open): Check and discard ieee1275 prefix.
498 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
499 Add ieee1275 prefix.
500
501 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
502
503 * docs/grub.texi (Filesystems): Update.
504
505 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
506
507 Support odc, newc and bigendian cpio formats.
508
509 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
510 * grub-core/Makefile.core.def (newc): New module.
511 (odc): Likewise.
512 (cpio_be): Likewise.
513 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
514 (MAGIC): Likewise.
515 (MAGIC2): Likewise.
516 (head) [MODE_ODC]: Adapt for the format.
517 (head) [MODE_NEWC]: Likewise.
518 (head) [!MODE_*]: Write fields of interest as arrays.
519 (MAGIC_USTAR): Removed.
520 (read_number) [MODE_NEWC]: Change to hex.
521 (read_number) [!MODE_*]: Parse binary arrays.
522 (grub_cpio_find_file): Factor out the code for better structure and
523 always use read_number.
524 (grub_cpio_mount): Use MAGIC and MAGIC2.
525 (grub_cpio_dir): Exit on first hook non-0 return.
526 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
527 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
528 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
529 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
530 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
531 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
532 * grub-core/fs/newc.c: New file.
533 * grub-core/fs/odc.c: Likewise.
534 * grub-core/fs/cpio_be.c: Likewise.
535
536 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
537
538 Fix handling of tar numbers occupying the whole field.
539
540 * grub-core/fs/cpio.c (read_number): New function.
541 (grub_cpio_find_file): Use read_number instead of strtoull.
542
543 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
544
545 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
546 occupying the whole field size.
547
548 2011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
549
550 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
551
552 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
553
554 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
555
556 2011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
557
558 * grub-core/Makefile.core.def (lzma_decompress): Add missing
559 TARGET_IMG_LDFLAGS.
560
561 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
562
563 * util/getroot.c (ESCAPED_PATH_MAX): New define.
564 (mountinfo_entry): Increase the field size to take escaping into
565 account.
566 (find_root_device_from_libzfs): Add one byte to size of strings for
567 security.
568
569 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
570
571 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
572 an assert.
573 * util/grub-setup.c (setup): Likewise.
574
575 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
576
577 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
578 _LzmaDecodeA.
579
580 2011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
581
582 * docs/grub.texi (Internationalisation): New section.
583
584 2011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
585
586 * docs/grub.texi (Loopback booting): New section.
587
588 2011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
589
590 * util/grub-mkstandalone.in: Fix minor typo errors.
591
592 2011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
593
594 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
595
596 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
597 net/icmp.c and net/icmp6.c.
598 (http): New module.
599 (priority_queue): Likewise.
600 * grub-core/io/bufio.c: Rewritten.
601 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
602 TYPE_WITH_CONFIGFILE_OPTION.
603 (legacy_commands): Add bootp and dhcp.
604 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
605 (grub_legacy_parse): Likewise.
606 * grub-core/lib/priority_queue.c: New file.
607 * grub-core/net/arp.c: Add missing license header.
608 (arp_find_entry): Removed.
609 (arp_find_entry): Likewise.
610 (grub_net_arp_resolve): Rename to ...
611 (grub_net_arp_send_request): ...this.
612 (grub_net_arp_receive): New card argument.
613 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
614 Set router and DNS server.
615 (grub_net_configure_by_dhcp_ack): Handle routing information.
616 (grub_cmd_bootp): Set checksum.
617 (grub_bootp_init): Remove net_dhcp.
618 * grub-core/net/dns.c: New file.
619 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
620 completion.
621 (get_card_packet): Handle allocation.
622 (grub_efinet_findcards): Set mtu.
623 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
624 (get_card_packet): Handle allocation.
625 (emucard): Set mtu.
626 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
627 (GRUB_MOD_INIT): Set mtu.
628 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
629 mtu.
630 (get_card_packet): Handle allocation.
631 (grub_ofnet_findcards): Set mtu.
632 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
633 assert.
634 (grub_net_recv_ethernet_packet): Handle IPv6.
635 * grub-core/net/http.c: New file.
636 * grub-core/net/icmp.c: Likewise.
637 * grub-core/net/icmp6.c: Likewise.
638 * grub-core/net/ip.c (ip6addr): New type.
639 (ip6hdr): Likewise.
640 (reassemble): Likewise.
641 (cmp): New function.
642 (reassembles): New variable.
643 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
644 (id): New variable.
645 (send_fragmented): New function.
646 (grub_net_send_ip_packet): Rename to ...
647 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
648 Handle non-UDP.
649 (grub_net_recv_ip_packets): Rename to ...
650 (handle_dgram): ... this. Check checksum. Handle non-UDP.
651 (free_rsm): New function.
652 (free_old_fragments): Likewise.
653 (grub_net_recv_ip4_packets): New function.
654 (grub_net_send_ip6_packet): Likewise.
655 (grub_net_send_ip_packet): Likewise.
656 (grub_net_recv_ip6_packets): Likewise.
657 (grub_net_recv_ip_packets): Likewise.
658 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
659 (LINK_LAYER_CACHE_SIZE): New const.
660 (link_layer_find_entry): New function.
661 (grub_net_link_layer_add_address): Likewise.
662 (grub_net_link_layer_resolve_check): Likewise.
663 (grub_net_link_layer_resolve): Likewise.
664 (grub_net_ipv6_get_slaac): Likewise.
665 (grub_net_ipv6_get_link_local): Likewise.
666 (grub_cmd_ipv6_autoconf): Likewise.
667 (parse_ip): Handle one number representation.
668 (parse_ip6): New functoion.
669 (match_net): Handle IPv6.
670 (grub_net_resolve_address): Handle IPv6 and DNS.
671 (grub_net_resolve_net_address): Handle IPv6.
672 (route_cmp): New function.
673 (grub_net_route_address): Find best route.
674 (grub_net_addr_to_str): Handle IPv6.
675 (grub_net_addr_cmp): New function.
676 (grub_net_add_addr): Register local route.
677 (print_net_address): Handle net address.
678 (grub_net_poll_cards): Retransmit TCP.
679 (grub_net_poll_cards_idle_real): Likewise.
680 (have_ahead): New function.
681 (grub_net_seek_real): Use underlying seek.
682 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
683 * grub-core/net/tcp.c: New file.
684 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
685 (cmp): New function.
686 (ack): Likewise.
687 (tftp_receive): Handle unordered input.
688 (destroy_pq): New function.
689 (tftp_close): Close pq.
690 * grub-core/net/udp.c: Put missing license header.
691 (grub_net_udp_socket): New function.
692 (udp_socket_register): Likewise.
693 (grub_net_udp_close): Likewise.
694 (grub_net_recv_udp_packet): Check checksum.
695 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
696 * include/grub/misc.h (grub_memchr): New function.
697 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
698 (grub_net_card_driver): Return buf in recv.
699 (grub_net_slaac_mac_list): New struct.
700 (grub_network_level_protocol_id): Add ipv6.
701 (grub_net_network_level_addr): Likewise.
702 (grub_net_network_level_net_addr): Likewise.
703 (grub_net_app_protocol): Add seek.
704 (grub_net_socket): Removed.
705 (grub_net_sockets): Likewise.
706 (grub_net_socket_register): Likewise.
707 (grub_net_socket_unregister): Likewise.
708 (FOR_NET_SOCKETS): Likewise.
709 (grub_net_add_addr): Add const.
710 (GRUB_NET_BOOTP_*): New enum.
711 (grub_net_addr_cmp): New proto.
712 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
713 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
714 (grub_net_hwaddr_to_str): NEw proto.
715 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
716 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
717 (grub_dns_init): New proto.
718 (grub_dns_fini): Likewise.
719 (grub_net_tcp_retransmit): Likewise.
720 (grub_net_link_layer_add_address): Likewise.
721 (grub_net_link_layer_resolve_check): Likewise.
722 (grub_net_link_layer_resolve): Likewise.
723 (grub_net_dns_lookup): Likewise.
724 (grub_net_add_dns_server): Likewise.
725 (grub_net_remove_dns_server): Likewise.
726 (GRUB_NET_TRIES): New const.
727 (GRUB_NET_INTERVAL): Likewise.
728 * include/grub/net/arp.h: Mostly rewritten.
729 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
730 * include/grub/net/ip.h: Mostly rewritten.
731 * include/grub/net/netbuff.h: Indent.
732 * include/grub/net/tcp.h: New file.
733 * include/grub/net/udp.h: Mostly rewritten.
734 * include/grub/priority_queue.h: New file.
735 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
736 (grub_swap_bytes64_compile_time): Likewise.
737 (grub_cpu_to_be16_compile_time): Likewise.
738 (grub_cpu_to_be32_compile_time): Likewise.
739 (grub_cpu_to_be64_compile_time): Likewise.
740 (grub_be_to_cpu64_compile_time): Likewise.
741
742 2011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
743
744 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
745 UINT_TO_PTR with cast.
746
747 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
748
749 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
750 don't use them.
751
752 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
753
754 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
755 already there.
756
757 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
758
759 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
760 confusing ipxe.
761
762 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
763
764 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
765 Add missing const attribute.
766 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
767 Likewise.
768 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
769 Likewise.
770
771 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
772
773 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
774 misaligned access.
775 (serpent_setkey): Likewise.
776 (serpent_encrypt_internal): Likewise.
777 (serpent_decrypt_internal): Likewise.
778 (serpent_encrypt): Don't put an alignment-increasing cast.
779 (serpent_decrypt): Likewise.
780 (serpent_test): Likewise.
781
782 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
783
784 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
785
786 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
787
788 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
789
790 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
791 grub_addr_t casts.
792 (PTR_TO_UINT64): Likewise.
793 (PTR_TO_UINT32): Likewise.
794
795 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
796
797 * util/grub-mkimage.c (generate_image): Decrease the higher limit
798 because of stack.
799 * util/grub-setup.c (setup): Don't add redundancy past the higher load
800 limit.
801
802 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
803
804 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
805 text_width > available width a bit more gracefully.
806
807 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
808
809 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
810 current address calculation.
811
812 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
813
814 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
815 stack.
816 (encode_block): Likewise.
817
818 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
819
820 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
821 certainety.
822
823 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
824
825 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
826 non-RS part to avoid RS messing with GDT.
827 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
828 Increase to suit in realmode routines.
829
830 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
831
832 * grub-core/kern/i386/realmode.S: Increase alignment.
833 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
834
835 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
836
837 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
838 be deterministic.
839 (syndroms): Compute 0 syndrom.
840 (rs_recover): Use 0 syndrom.
841
842 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
843
844 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
845
846 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
847
848 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
849 brackets.
850
851 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
852
853 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
854 account.
855 (get_top_pad): Likewise.
856 (get_right_pad): Likewise.
857 (get_bottom_pad): Likewise.
858
859 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
860
861 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
862
863 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
864
865 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
866 attribute as the structure isn't guaranteed to be properly aligned.
867 (grub_efi_pci_device_path): Likewise.
868 (grub_efi_pccard_device_path): Likewise.
869 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
870 specify the size of `memory_type'.
871 (grub_efi_vendor_device_path): Likewise.
872 (grub_efi_controller_device_path): Likewise.
873 (grub_efi_acpi_device_path): Likewise.
874 (grub_efi_expanded_acpi_device_path): Likewise.
875 (grub_efi_atapi_device_path): Likewise.
876 (grub_efi_scsi_device_path): Likewise.
877 (grub_efi_fibre_channel_device_path): Likewise.
878 (grub_efi_1394_device_path): Likewise.
879 (grub_efi_usb_device_path): Likewise.
880 (grub_efi_usb_class_device_path): Likewise.
881 (grub_efi_i2o_device_path): Likewise.
882 (grub_efi_mac_address_device_path): Likewise.
883 (grub_efi_ipv4_device_path): Likewise.
884 (grub_efi_ipv6_device_path): Likewise.
885 (grub_efi_infiniband_device_path): Likewise.
886 (grub_efi_uart_device_path): Likewise.
887 (grub_efi_vendor_messaging_device_path): Likewise.
888 (grub_efi_hard_drive_device_path): Likewise.
889 (grub_efi_cdrom_device_path): Likewise.
890 (grub_efi_vendor_media_device_path): Likewise.
891 (grub_efi_file_path_device_path): Likewise.
892 (grub_efi_protocol_device_path): Likewise.
893 (grub_efi_piwg_device_path): Likewise.
894 (grub_efi_bios_device_path): Likewise.
895
896 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
897
898 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
899 (grub_ucs4_to_utf8_alloc): Likewise.
900 (grub_ucs4_to_utf8): Likewise.
901 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
902 (grub_ucs4_to_utf8_alloc): Likewise.
903
904 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
905
906 AFFS never uses unicode.
907
908 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
909 (grub_latin1_to_utf8): New inline function.
910 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
911
912 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
913
914 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
915 overflow.
916
917 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
918
919 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
920 (grub_squash_dirent_header): Likewise.
921 (read_chunk): Don't double swap.
922 (grub_squash_iterate_dir): Fix swap sizes.
923
924 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
925
926 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
927
928 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
929
930 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
931 (grub_hfs_iterate_dir): Likewise.
932
933 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
934
935 Fix video on platforms where unaligned access is forbidden.
936 Make several optimisations while on it.
937
938 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
939 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
940 (grub_video_fbblit_replace_32bit_1bit): Likewise.
941 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
942 Disable.
943 (grub_video_fbblit_replace_16bit_1bit):
944 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
945 (grub_video_fbblit_replace_8bit_1bit): Likewise.
946 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
947 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
948 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
949 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
950 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
951 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
952 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
953 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
954 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
955 (grub_video_fbblit_replace_index_RGB888): Likewise.
956 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
957 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
958 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
959 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
960 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
961 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
962 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
963 Disable.
964 (grub_video_fbblit_blend_XXX565_1bit):
965 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
966 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
967 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
968 void *.
969 * grub-core/video/fb/video_fb.c (common_blitter)
970 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
971 (grub_video_fb_create_render_target_from_pointer)
972 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
973 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
974 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
975 definition.
976 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
977
978 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
979
980 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
981 HH22 and HM10 relocations.
982
983 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
984
985 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
986
987 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
988
989 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
990 allocation succeeded.
991
992 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
993
994 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
995 argument a u8 pointer. All users updated.
996 Handle unaligned buffers.
997
998 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
999
1000 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
1001 add_part to workaround compiler bug.
1002
1003 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1004
1005 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
1006
1007 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1008
1009 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
1010 Reserve alignment invariants.
1011 (grub_multiboot_load): Likewise.
1012 (retrieve_video_parameters): Likewise.
1013 (grub_multiboot_make_mbi): Likewise.
1014
1015 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1016
1017 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
1018 incorrect pointer.
1019
1020 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1021
1022 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
1023 (grub_pata_pio_write): Likewise.
1024
1025 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1026
1027 Add noreturn attributes and remove unreachable code.
1028
1029 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
1030 code.
1031 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
1032 code. Mark as noreturn.
1033 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
1034 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
1035 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
1036 unreachable code.
1037 * grub-core/kern/main.c (grub_main): Mark as noreturn.
1038 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
1039 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
1040 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
1041 * include/grub/kernel.h (grub_main): Mark as noreturn.
1042 * include/grub/reader.h (grub_rescue_run): Likewise.
1043
1044 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1045
1046 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
1047 redundant declaration.
1048
1049 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1050
1051 * include/grub/net.h (grub_net_network_level_interfaces): Remove
1052 redundant declaration.
1053 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
1054
1055 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1056
1057 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
1058 to ensure alignment.
1059 (grub_hdparm_print_identify): Make argument uint16 * to ensure
1060 alignment. Ensure tmp alignment.
1061 (grub_cmd_hdparm): Ensure buf alignment.
1062 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
1063 to ensure alignment.
1064 (grub_ata_dumpinfo): Ensure text alignment.
1065 (grub_atapi_identify): Preserve alignment invariant.
1066 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
1067
1068 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1069
1070 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
1071 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
1072 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
1073 * include/grub/misc.h (grub_reboot)
1074 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
1075 (grub_halt) [__mips__]: Likewise.
1076
1077 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1078
1079 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
1080 Remove redundant declaration.
1081 (grub_mmap_get_post64): Likewise.
1082 (grub_mmap_get_upper): Likewise.
1083 (grub_mmap_get_lower): Likewise.
1084
1085 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1086
1087 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
1088 uint32_t * to ensure alignment.
1089 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
1090
1091 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1092
1093 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
1094 uint16_t * to ensure alignment.
1095 (sun_pc_partition_map_iterate): Make `block' a union to ensure
1096 alignment.
1097
1098 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1099
1100 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
1101 to ensure alignment.
1102 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
1103
1104 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1105
1106 * grub-core/fs/ntfs.c (u16at): Make into inline function.
1107 Handle unaligned pointers.
1108 (u32at): Likewise.
1109 (u64at): Likewise.
1110 (fixup): Use byte access instead of v16at.
1111 (find_attr): Fix imporper usage of v32at.
1112 (read_data): Likewise.
1113 (list_file): Handle byte-swapping and unaligned strings.
1114 (grub_ntfs_label): Likewise.
1115
1116 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1117
1118 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
1119 as it's not necessarily aligned.
1120
1121 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1122
1123 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
1124 redundant declaration.
1125 (grub_serial_init): Likewise.
1126 (grub_terminfo_init): Likewise.
1127
1128 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1129
1130 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
1131 function.
1132 (ZAP_HASH_IDX): Likewise.
1133 (ZAP_LEAF_HASH_SHIFT): Likewise.
1134 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
1135 (LEAF_HASH): Likewise.
1136 (ZAP_LEAF_NUMCHUNKS): Likewise.
1137 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
1138 alignment invariants. Return pointer. All users updated.
1139 (ZAP_LEAF_ENTRY): Make into inline function.
1140 (NBBY): Removed.
1141 (xor): LIkewise.
1142 (xor_out): Use grub_crypto_xor.
1143 (dnode_get_path): Use grub_get_unaligned.
1144 (nvlist_find_value): Likewise.
1145 (grub_zfs_nvlist_lookup_uint64): Likewise.
1146 (grub_zfs_nvlist_lookup_string): Likewise.
1147 (get_nvlist_size): Likewise.
1148 (grub_zfs_open): Likewise.
1149 (fill_fs_info): Likewise.
1150 (grub_zfs_dir): Likewise.
1151 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
1152 alignment invariants.
1153 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
1154 necessarily aligned.
1155
1156 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1157
1158 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
1159
1160 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1161
1162 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
1163 arithmetic to conserve alignment invariants.
1164
1165 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1166
1167 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
1168 redundant declaration.
1169 (grub_efiemu_mm_obtain_request): Likewise.
1170 (grub_efiemu_prepare): Likewise.
1171
1172 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1173
1174 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
1175 to match types.
1176
1177 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1178
1179 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
1180 case of aunaligned recptr.
1181 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
1182 alignment.
1183 (grub_hfsplus_btree_search): Handle unaligned index.
1184
1185 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1186
1187 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
1188 to get freetag and skip.
1189
1190 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1191
1192 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
1193 array.
1194 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
1195 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
1196
1197 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1198
1199 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
1200 name for checksum and fix allocation algorithm.
1201
1202 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1203
1204 * include/grub/types.h (grub_properly_aligned_t): New type.
1205 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
1206 (grub_get_unaligned16): Add explicit casts.
1207 (grub_get_unaligned32): Likewise.
1208 (grub_get_unaligned64): Likewise.
1209 (grub_set_unaligned16): New function.
1210 (grub_set_unaligned32): Likewise.
1211
1212 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1213
1214 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
1215
1216 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1217
1218 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
1219 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
1220 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
1221
1222 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1223
1224 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
1225 conditionals.
1226
1227 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1228
1229 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
1230 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
1231
1232 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1233
1234 Unify and improve RAID and crypto xor.
1235
1236 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
1237 changed to grub_crypto_xor
1238 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
1239 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
1240 Use bigger types when possible.
1241
1242 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1243
1244 * grub-core/disk/raid.c (scan_devices): Fix condition.
1245
1246 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1247
1248 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
1249 Make name a const ptr.
1250
1251 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1252
1253 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
1254 first argument a const pointer.
1255 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
1256 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
1257 proto.
1258 (grub_children_iterate): Likewise.
1259 (grub_machine_mmap_iterate): Remove redundant declaration.
1260
1261 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1262
1263 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
1264 (grub_cmd_acpi) [!x86]: Disable EBDA.
1265
1266 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1267
1268 Enable UTF8 in gnulib regexp.
1269
1270 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
1271 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
1272 (isupper): Use grub_isupper.
1273 (isascii): New inline function.
1274 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
1275 * grub-core/lib/posix_wrap/wctype.h: Likewise.
1276 * grub-core/normal/charset.c (grub_utf8_process): New function.
1277 (grub_utf8_to_utf16): Use grub_utf8_process.
1278 (grub_encode_utf8_character): New function.
1279 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
1280 * include/grub/charset.h (grub_utf8_process): New declaration.
1281 (grub_encode_utf8_character): Likewise.
1282 * include/grub/misc.h (grub_islower): New inline function.
1283 (grub_isupper): Likewise.
1284 (grub_strchrsub): Moved down to fix the definitions.
1285
1286 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1287
1288 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
1289 specification.
1290
1291 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1292
1293 * include/grub/loader.h (grub_loader_register_preboot_hook):
1294 Use struct preboot * and not void * for handle. All users updated.
1295 (grub_loader_unregister_preboot_hook): Likewise.
1296
1297 2011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
1298
1299 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
1300 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
1301 UTF-16-BE. All users updated.
1302 (grub_hfsplus_cmp_catkey): Fix unicode handling.
1303 (grub_hfsplus_iterate_dir): Likewise.
1304 (grub_hfsplus_label): Likewise.
1305
1306 2011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
1307
1308 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
1309
1310 2011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
1311
1312 Add missing const qualifiers.
1313
1314 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
1315 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
1316 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
1317 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
1318 (grub_lvm_check_flag): Likewise.
1319 * grub-core/efiemu/i386/coredetect.c
1320 (grub_efiemu_get_default_core_name): Likewise
1321 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
1322 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
1323 * grub-core/fs/ntfs.c (fixup): Likewise.
1324 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
1325 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
1326 (fzap_lookup): Likewise.
1327 (zap_lookup): Likewise.
1328 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
1329 * grub-core/lib/legacy_parse.c (check_option): Likewise.
1330 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
1331 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
1332 (grub_freebsd_add_meta_module): Likewise.
1333 (grub_cmd_freebsd_module): Likewise.
1334 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
1335 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
1336 (grub_xnu_writetree_get_size): Likewise.
1337 (grub_xnu_writetree_toheap_real): Likewise.
1338 (grub_xnu_find_key): Likewise.
1339 (grub_xnu_create_key): Likewise.
1340 (grub_xnu_create_value): Likewise.
1341 (grub_xnu_register_memory): Likewise.
1342 (grub_xnu_check_os_bundle_required): Likewise.
1343 (grub_xnu_scan_dir_for_kexts): Likewise.
1344 (grub_xnu_load_kext_from_dir): Likewise.
1345 * grub-core/normal/color.c (color_list): Likewise.
1346 * grub-core/normal/completion.c (current_word): Likewise.
1347 * grub-core/normal/menu_entry.c (insert_string): Likewise.
1348 * grub-core/term/serial.c (grub_serial_find): Likewise.
1349 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
1350 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
1351 Likewise.
1352 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
1353 (grub_freebsd_add_meta_module): Likewise.
1354 * include/grub/lib/arg.h (grub_arg_option): Likewise.
1355 * include/grub/net.h (grub_net_card_driver): Likewise.
1356 (grub_net_card): Likewise.
1357 (grub_net_app_protocol): Likewise.
1358 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
1359 * include/grub/serial.h (grub_serial_find): Likewise.
1360 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
1361 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
1362 (grub_xnu_create_value): Likewise.
1363 (grub_xnu_find_key): Likewise.
1364 (grub_xnu_scan_dir_for_kexts): Likewise.
1365 (grub_xnu_load_kext_from_dir): Likewise.
1366
1367 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
1368 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
1369 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
1370 Moved from here ...
1371 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
1372
1373 2011-11-28 Colin Watson <cjwatson@ubuntu.com>
1374
1375 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
1376
1377 2011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
1378
1379 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
1380 (read_device): Fix size calculation.
1381
1382 2011-11-25 Robert Millan <rmh@gnu.org>
1383
1384 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
1385 (find_root_device_from_libzfs): Add zpool output parser to be used
1386 as fallback when libzfs isn't available.
1387
1388 2011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
1389
1390 * po/Makefile.in.in: Add missing escape-continuation.
1391
1392 2011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
1393
1394 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
1395
1396 2011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1397
1398 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
1399
1400 2011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1401
1402 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
1403
1404 2011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1405
1406 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
1407
1408 2011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1409
1410 * grub-core/lib/adler32.c: Add missing license specification.
1411 * grub-core/lib/crc64.c: Likewise.
1412 * grub-core/loader/i386/pc/plan9.c: Likewise.
1413 * grub-core/partmap/plan.c: Likewise.
1414
1415 2011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
1416
1417 Add facility to debug GRUB with gdb under qemu.
1418
1419 * grub-core/gdb_grub.in: New file.
1420 * grub-core/gmodule.pl.in: Likewise.
1421 * grub-core/Makefile.core.def (gmodule.pl): New script.
1422 (gdb_grub): Likewise.
1423
1424 2011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1425
1426 * util/grub-mount.c (argp_parser): Accept relative pathes.
1427 * util/grub-fstest.c (argp_parser): Likewise.
1428
1429 2011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1430
1431 Plan9 support.
1432
1433 * Makefile.util.def (libgrubmods): Add
1434 grub-core/partmap/plan.c.
1435 * docs/grub.texi: Notice Plan9 support.
1436 * grub-core/Makefile.core.def (plan9): New module.
1437 (part_plan): Likewise.
1438 * grub-core/loader/i386/pc/plan9.c: New file.
1439 * grub-core/partmap/plan.c: Likewise.
1440 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
1441 define.
1442 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
1443 * include/grub/mm.h (grub_extend_alloc): New inline function.
1444
1445 2011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1446
1447 Make Reed-Solomon faster by using power of generator representation of
1448 GF(256)*.
1449
1450 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
1451 (gf_double_t): Likewise.
1452 (gf_invert): Removed.
1453 (gf_powx): New array.
1454 (gf_powx_inv): Likewise.
1455 (scratch): Move higher.
1456 (gf_reduce): Removed.
1457 (gf_mul): Use powx.
1458 (gf_invert): Likewise.
1459 (init_inverts): Replaced with ...
1460 (init_powx): ...this. All users updated.
1461 (pol_evaluate): Replace multiplications with additions.
1462 (rs_encode): Likewise.
1463 (gauss_eliminate): Call gf_invert.
1464 (grub_reed_solomon_add_redundancy): Call init_powx.
1465 (grub_reed_solomon_recover): Call init_powx unconditionally.
1466
1467 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1468
1469 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
1470
1471 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1472
1473 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
1474 disk->partiton for safety.
1475
1476 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1477
1478 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
1479 Fix a memory leak.
1480 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
1481
1482 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1483
1484 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
1485
1486 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1487
1488 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
1489
1490 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1491
1492 Fix spaces handling in proc/self/mountinfo.
1493
1494 * util/getroot.c (unescape): New function.
1495 (grub_find_root_device_from_mountinfo): Use unescape.
1496
1497 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1498
1499 Support ZFS embedding.
1500
1501 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
1502 (grub_zfs_fs): Register grub_zfs_embed.
1503
1504 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1505
1506 Fix MIPS compilation.
1507
1508 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
1509 * include/grub/offsets.h: Rename decompressor fields from
1510 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
1511 * util/grub-mkimage.c (image_targets): Use new names.
1512
1513 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1514
1515 Defer multiboot device parsing until we're in compressed part.
1516
1517 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
1518 bsd_part. setdevice has fallen into disuse.
1519 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
1520 (bsd_part): Likewise.
1521 (boot_dev): New variable.
1522 (multiboot_trampoline): Don't parse multiboot device.
1523 Pass multiboot device in %edx.
1524 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
1525 grub_boot_device.
1526 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
1527 Likewise.
1528 * grub-core/kern/i386/pc/startup.S: Save edx.
1529 (grub_boot_drive): Removed.
1530 (grub_install_dos_part): Likewise.
1531 (grub_install_bsd_part): Likewise.
1532 (grub_boot_device): New variable.
1533 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
1534 (grub_install_bsd_part): Likewise.
1535 (grub_boot_drive): Likewise.
1536 (grub_boot_device): New variable.
1537 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
1538 Removed.
1539 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
1540 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
1541 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
1542 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
1543 * util/grub-install.in: Remove redundant condition.
1544
1545 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1546
1547 Fix bug introduced by previous commit.
1548
1549 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
1550
1551 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1552
1553 Use decompressors framework on i386-pc. It increases core size
1554 by 46 bytes but improves compatibility and maintainability.
1555
1556 * grub-core/Makefile.core.def (lzma_decompress): New image.
1557 (kernel): Add i386_pc_ldflags.
1558 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
1559 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
1560 to real_to_prot, prot_to_real and device info.
1561 * include/grub/offsets.h: Renamed decompressor offsets.
1562 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
1563 (image_target_desc): Remove raw_size and rename decompressor fields.
1564 (compress_kernel): Handle lzma.
1565 (generate_image): Handle decompressors on i386-pc.
1566
1567 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1568
1569 * configure.ac: Add -fno-asynchronous-unwind-tables.
1570
1571 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1572
1573 Move assembly code to C by using intwrap. It increases core size
1574 by 88 bytes but improves compatibility and maintainability.
1575
1576 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
1577 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
1578 ... here. Translated to C.
1579 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
1580 * grub-core/term/i386/pc/console.c (grub_console_getkey):
1581 ... here. Translated to C.
1582 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
1583 * grub-core/term/i386/pc/console.c (grub_console_getxy):
1584 ... here. Translated to C.
1585 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
1586 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
1587 ... here. Translated to C.
1588 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
1589 * grub-core/term/i386/pc/console.c (grub_console_cls):
1590 ... here. Translated to C.
1591 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
1592 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
1593 ... here. Translated to C.
1594 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
1595 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
1596 Translated to C.
1597 * grub-core/term/i386/pc/console.c (int10_9): New function.
1598 (grub_console_putchar): Likewise.
1599 * include/grub/i386/pc/console.h: Removed the not anymore shared
1600 functions.
1601
1602 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1603
1604 Move grub_chainloader_real_boot out of the kernel.
1605
1606 * grub-core/Makefile.am: Remove machine/loader.h.
1607 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
1608 Removed.
1609 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
1610 variable.
1611 (grub_relocator16_keep_a20_enabled): Likewise.
1612 (grub_relocator16_boot): Fill new variables.
1613 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
1614 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
1615 relocator.
1616 (grub_chainloader_unload): Likewise.
1617 (grub_chainloader_cmd): Likewise.
1618 * include/grub/i386/pc/loader.h: Removed.
1619 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
1620 and esi. All initialisers updated.
1621
1622 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1623 2011-11-12 Colin Watson <cjwatson@ubuntu.com>
1624
1625 * Makefile.util.def (grub-mount): New util.
1626 * .bzrignore: Add grub-mount.
1627 * configure.ac: Check for fuse and enable grub-mount if available.
1628 * docs/man/grub-mount.h2m: New file.
1629 * util/grub-mount.c: Likewise.
1630
1631 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1632
1633 * grub-core/commands/efi/fixvideo.c: Gettextize.
1634 * grub-core/commands/hashsum.c: Likewise.
1635 * grub-core/commands/i386/cmostest.c: Likewise.
1636 * grub-core/commands/i386/pc/drivemap.c: Likewise.
1637 * grub-core/commands/i386/pc/lsapm.c: Likewise.
1638 * grub-core/commands/i386/pc/sendkey.c: Likewise.
1639 * grub-core/commands/lsmmap.c: Likewise.
1640 * grub-core/commands/menuentry.c: Likewise.
1641 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
1642 * grub-core/commands/setpci.c: Likewise.
1643 * grub-core/loader/i386/bsd.c: Likewise.
1644 * grub-core/loader/i386/linux.c: Likewise.
1645 * util/getroot.c: Likewise.
1646 * util/grub-editenv.c: Likewise.
1647 * util/grub-fstest.c: Likewise.
1648 * util/grub-mkfont.c: Likewise.
1649 * util/grub-mkimage.c: Likewise.
1650 * util/grub-mkpasswd-pbkdf2.c: Likewise.
1651 * util/grub-pe2elf.c: Likewise.
1652 * util/grub-probe.c: Likewise.
1653 * util/grub-setup.c: Likewise.
1654 * util/ieee1275/ofpath.c: Likewise.
1655 * util/misc.c: Likewise.
1656 * util/raid.c: Likewise.
1657
1658 2011-11-11 Robert Millan <rmh@gnu.org>
1659
1660 * util/getroot.c (grub_util_get_geom_abstraction): Remove
1661 __attribute__((unused)) from `os_dev', which *is* being used.
1662
1663 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1664
1665 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
1666 forgotten define.
1667 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
1668 GRUB_IA64_DL_GOT_ALIGN.
1669 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
1670 GRUB_IA64_DL_TRAMP_ALIGN.
1671
1672 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1673
1674 Replace grub_fatal with normal errors in i386 linux loader.
1675
1676 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
1677 (allocate_pages): Check find_efi_mmap_size return value.
1678 (grub_e820_add_region): Return error.
1679 (grub_linux_boot): Check mmap return value.
1680
1681 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1682
1683 * grub-core/commands/acpihalt.c: Gettextized.
1684 * grub-core/commands/cacheinfo.c: Likewise.
1685 * grub-core/commands/cmp.c: Likewise.
1686 * grub-core/commands/efi/loadbios.c: Likewise.
1687 * grub-core/commands/gptsync.c: Likewise.
1688 * grub-core/commands/ieee1275/suspend.c: Likewise.
1689 * grub-core/commands/legacycfg.c: Likewise.
1690 * grub-core/commands/memrw.c: Likewise.
1691 * grub-core/commands/minicmd.c: Likewise.
1692 * grub-core/commands/parttool.c: Likewise.
1693 * grub-core/commands/time.c: Likewise.
1694 * grub-core/commands/videoinfo.c: Likewise.
1695 * grub-core/disk/geli.c: Likewise.
1696 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
1697 * grub-core/disk/luks.c: Likewise.
1698 * grub-core/disk/lvm.c: Likewise.
1699 * grub-core/font/font_cmd.c: Likewise.
1700 * grub-core/fs/zfs/zfscrypt.c: Likewise.
1701 * grub-core/fs/zfs/zfsinfo.c: Likewise.
1702 * grub-core/gfxmenu/view.c: Likewise.
1703 * grub-core/kern/emu/hostdisk.c: Likewise.
1704 * grub-core/kern/emu/main.c: Likewise.
1705 * grub-core/kern/emu/misc.c: Likewise.
1706 * grub-core/kern/emu/mm.c: Likewise.
1707 * grub-core/kern/mips/arc/init.c: Likewise.
1708 * grub-core/kern/mips/loongson/init.c: Likewise.
1709 * grub-core/kern/partition.c: Likewise.
1710 * grub-core/lib/i386/halt.c: Likewise.
1711 * grub-core/lib/mips/arc/reboot.c: Likewise.
1712 * grub-core/lib/mips/loongson/reboot.c: Likewise.
1713 * grub-core/loader/i386/pc/chainloader.c: Likewise.
1714 * grub-core/loader/i386/xnu.c: Likewise.
1715 * grub-core/loader/multiboot.c: Likewise.
1716 * grub-core/net/bootp.c: Likewise.
1717 * grub-core/net/net.c: Likewise.
1718 * grub-core/normal/term.c: Likewise.
1719 * grub-core/partmap/bsdlabel.c: Likewise.
1720 * grub-core/parttool/msdospart.c: Likewise.
1721 * grub-core/term/gfxterm.c: Likewise.
1722 * grub-core/term/terminfo.c: Likewise.
1723 * grub-core/video/i386/pc/vbe.c: Likewise.
1724 * util/grub-menulst2cfg.c: Likewise.
1725 * util/grub-mkdevicemap.c: Likewise.
1726 * util/grub-mklayout.c: Likewise.
1727 * util/grub-mkrelpath.c: Likewise.
1728 * util/grub-script-check.c: Likewise.
1729 * util/ieee1275/grub-ofpathname.c: Likewise.
1730 * util/resolve.c: Likewise.
1731
1732 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1733
1734 Support %1$d syntax.
1735
1736 * tests/printf_unit_test.c: New file.
1737 * Makefile.util.def (printf_test): New test.
1738 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
1739
1740 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1741
1742 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
1743 fix.
1744
1745 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1746
1747 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
1748 dprintf.
1749 * grub-core/font/font.c (grub_font_load): Likewise.
1750
1751 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1752
1753 * util/grub-macho2img.c: Add comment concerning gettext.
1754 * grub-core/lib/legacy_parse.c: Likewise.
1755
1756 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1757
1758 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
1759 (grub_xvasprintf): Likewise.
1760
1761 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1762
1763 Add const keyword to grub_env_get and gettextize week days.
1764
1765 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
1766 (grub_read_hook_datetime): Return const char *.
1767 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
1768 updated.
1769 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
1770 Mark for gettext.
1771 (grub_get_weekday_name): Return const char *. Call gettext.
1772 * grub-core/script/argv.c (grub_script_argv_append): Receive const
1773 char * and len as the argument. All users updated.
1774 (grub_script_argv_split_append): Receive const char *.
1775 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
1776 * include/grub/env.h (grub_env_get): Likewise.
1777 (grub_env_read_hook_t): Return const char *.
1778 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
1779 (grub_script_argv_split_append): Likewise.
1780
1781 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1782
1783 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
1784
1785 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1786
1787 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
1788 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
1789
1790 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1791
1792 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
1793 Fix prototype.
1794
1795 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1796
1797 Fix mips compilation.
1798
1799 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
1800 normal decoder.
1801 (hashes): Use in embed decoder as well (for sizes).
1802 (dec_stream_header): Fix embed decompressor logic.
1803 (dec_stream_footer): Likewise.
1804
1805 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1806
1807 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
1808 an error and not a fatal on unrecognised relocation types.
1809
1810 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1811
1812 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
1813 Issue error rather than printf on unknown arguments.
1814
1815 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1816
1817 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
1818 Make buf a const.
1819
1820 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1821
1822 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
1823 Fix module name.
1824
1825 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1826
1827 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
1828 leftover debug printf.
1829
1830 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1831
1832 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
1833
1834 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1835
1836 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
1837 A stylistic fix.
1838
1839 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1840
1841 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
1842
1843 2011-11-10 Shea Levy <slevy@tieronedesign.com>
1844
1845 Allow all modules to perform serial IO
1846
1847 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
1848 * include/grub/serial.h (grub_serial_port_configure): New inline
1849 function.
1850 (grub_serial_port_fetch): Likewise.
1851 (grub_serial_port_put): Likewise.
1852 (grub_serial_port_fini): Likewise.
1853 (grub_serial_find): New proto.
1854
1855 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1856
1857 Put symlink at the end of the node and fix a potential
1858 memory corruption.
1859
1860 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
1861 Make symlink into an array.
1862 (set_rockridge): Set have_symlink and alloc_dirents.
1863 (grub_iso9660_read_symlink): Use new layout.
1864 (grub_iso9660_iterate_dir): Fix memory corruption.
1865 Use new layout.
1866 (grub_iso9660_dir): Set have_symlink.
1867 (grub_iso9660_open): Likewise.
1868
1869 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1870
1871 Remove local keyword.
1872
1873 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
1874 (version_test_gt): Likewise.
1875 (version_find_latest): Likewise.
1876 (gettext_printf): Likewise.
1877 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
1878
1879 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1880
1881 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
1882
1883 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1884
1885 Fix ZFS memory and resource leaks.
1886
1887 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
1888 All users updated.
1889 Free type on exit.
1890 (fill_vdev_info): New parameter inserted. All users updated.
1891 (check_pool_label): Likewise.
1892 (scan_disk): Likewise.
1893 (scan_devices): Close non-inserted disks.
1894 (fzap_iterate): Free l.
1895 (unmount_device): Free children descripto memory.
1896
1897 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1898
1899 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
1900 argument (access out of bounds).
1901
1902 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1903
1904 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
1905 >= 6 drives.
1906
1907 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1908
1909 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
1910 Fix declaration.
1911
1912 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
1913
1914 Fix several memory leaks.
1915
1916 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
1917 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
1918 (grub_cpio_dir): Likewise.
1919 * grub-core/fs/fat.c (grub_fat_label): Likewise.
1920 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
1921 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
1922 (grub_romfs_label): Likewise.
1923 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
1924 (squash_unmount): New function.
1925 (grub_squash_dir): Fix memory leak.
1926 (grub_squash_open): Likewise.
1927 (grub_squash_read): Likewise.
1928 (grub_squash_mtime): Likewise.
1929 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
1930 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
1931 * util/grub-fstest.c (fstest): Likewise.
1932
1933 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
1934
1935 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
1936 avoid accessing beyond the array.
1937
1938 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
1939
1940 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
1941
1942 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
1943
1944 Several AFFS fixes.
1945
1946 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
1947 (GRUB_AFFS_FLAG_FFS): Removed.
1948 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
1949 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
1950 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
1951 (grub_fshelp_node): Make block 32-bit.
1952 Add block_cache and last_block_cache.
1953 (grub_affs_read_block): Fill and use block cache.
1954 (grub_affs_read_file): Removed.
1955 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
1956 boot block.
1957 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
1958 safety.
1959 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
1960 space.
1961 (grub_affs_close): Free block cache.
1962 (grub_affs_read): Use grub_fshelp_read_file directly.
1963
1964 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1965
1966 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
1967 with no error set.
1968
1969 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1970
1971 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
1972 used variable.
1973 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
1974 Likewise.
1975
1976 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1977
1978 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
1979
1980 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
1981 byteswap when needed.
1982
1983 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1984
1985 Fix FreeBSD compilation.
1986
1987 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
1988 to avoid circular dependency.
1989 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
1990 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
1991 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
1992
1993 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1994
1995 Fix ZFS crypto error types.
1996
1997 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
1998 (grub_gcm_decrypt): Likewise.
1999 (grub_zfs_load_key_real): Fix error code type. Handle possible error
2000 from PBKDF2.
2001
2002 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2003
2004 Illumos support.
2005
2006 * Makefile.util.def (10_illumos): New script.
2007 * configure.ac: Set COND_HOST_ILLUMOS.
2008 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
2009 Support Illumos calls.
2010 (find_partition_start) [__sun__]: Likewise.
2011 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
2012 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
2013 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
2014 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
2015 device.
2016 * util/grub-probe.c (probe) [__sun__]: Do character check.
2017 * util/grub.d/10_illumos.in: New file.
2018
2019 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2020
2021 Support escaped commas in hostdisk.
2022
2023 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
2024 (find_grub_drive): Use unescape_cmp.
2025 (make_device_name): Escape commas.
2026
2027 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2028
2029 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
2030
2031 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2032
2033 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
2034 variable.
2035
2036 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2037
2038 Support trampoline jumps on powerpc.
2039
2040 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
2041 __ia64__ path.
2042 (grub_dl_load_segments): Set mod->sz.
2043 (grub_dl_flush_cache): Flush whole space occupied by module, not just
2044 segments.
2045 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
2046 (jump): Likewise.
2047 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
2048 function.
2049 (trampoline): New struct.
2050 (trampoline_template): New const.
2051 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
2052 * include/grub/dl.h (grub_dl): Add sz element.
2053 [__powerpc__]: Follow __ia64__.
2054 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
2055 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
2056 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
2057 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
2058
2059 2011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
2060
2061 ZFS crypto support.
2062
2063 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
2064 * grub-core/Makefile.core.def (zfscrypt): New module.
2065 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
2066 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
2067 it. All users updated.
2068 (grub_zfs_decrypt): New var.
2069 (grub_zfs_load_key): Likewise.
2070 (zio_checksum_functions): Add SHA256+MAC.
2071 (zio_checksum_verify): Handle incomplete comparison due to MAC.
2072 (zio_read): Handle encrypted blocks.
2073 (zap_verify): Remove incorrect check.
2074 (fzap_iterate): Handle non-standard fzap.
2075 (zap_iterate): Likewise.
2076 (zap_iterate_u64): New function.
2077 (dnode_get_fullpath): Load keys.
2078 * grub-core/fs/zfs/zfscrypt.c: New file.
2079 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
2080 (grub_crypto_ecb_encrypt): Make input const.
2081 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
2082 (grub_crypto_ecb_encrypt): Make input const.
2083 (GRUB_CIPHER_AES): New macro.
2084 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
2085 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
2086 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
2087 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
2088 prefix. All users updated.
2089 (grub_zfs_add_key): New proto.
2090 (grub_zfs_decrypt): Likewise.
2091 (grub_zfs_load_key): Likewise.
2092 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
2093 * util/grub-fstest.c (options): Add -K option.
2094 (argp_parser): Likewise.
2095
2096 2011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
2097
2098 Support zle compression on ZFS.
2099
2100 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
2101 (decomp_table): Add zle.
2102 * include/grub/zfs/zio.h (zio_compress): Add zle.
2103
2104 2011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
2105
2106 Support BtrFS embedding.
2107
2108 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
2109 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
2110 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
2111 * util/grub-setup.c (setup): Use fs embedding if available.
2112 Add additional sanity check.
2113
2114 2011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
2115
2116 * util/grub-install.in: Fix condition for config_opt.
2117
2118 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2119
2120 Support third redundancy strip on raidz3.
2121
2122 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
2123 Return error on singularity. All users updated.
2124 (read_device): Don't stop on 3rd failure on raidz3.
2125
2126 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2127
2128 Support case-insensitive ZFS subvolumes.
2129
2130 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
2131 All users updated.
2132 (zap_hash): Likewise.
2133 (name_cmp): New function.
2134 (zap_leaf_array_equal): New parameter case_insensitive.
2135 All users updated.
2136 (zap_leaf_lookup): Likewise.
2137 (fzap_lookup): Likewise.
2138 (zap_lookup): Likewise.
2139 (dnode_get_path): New parameter case_insensitive. Retrieve case
2140 sensitiviness of a volume. All users updated.
2141 (dnode_get_fullpath): New parameter case_insensitive.
2142 All users updated.
2143 (grub_zfs_dir): Set info.case_insensitiveness.
2144
2145 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2146
2147 Support second redundancy strip on raidz(2,3).
2148
2149 * grub-core/fs/zfs/zfs.c (powx): New array.
2150 (powx_inv): Likewise.
2151 (poly): New const.
2152 (xor_out): New function.
2153 (gf_mul): Likewise.
2154 (recovery): Likewise.
2155 (read_device): Use second redundancy strip.
2156
2157 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2158
2159 Use a power of generator representation of GF(256) multiplication group
2160 to save space time and complexity.
2161
2162 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
2163 (raid6_table2): Likewise.
2164 (powx): New array.
2165 (powx_inv): Likewise.
2166 (poly): New const.
2167 (grub_raid_block_mul): Replace with ...
2168 (grub_raid_block_mulx): ...this.
2169 (grub_raid6_init_table): Rewritten.
2170 (grub_raid6_recover): Use power of generator representation.
2171
2172 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2173
2174 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
2175 for the right device.
2176
2177 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2178
2179 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
2180 expected by grub-mkimage and it's more clear since there is no implicit
2181 padding.
2182
2183 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2184
2185 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
2186 disk.
2187 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
2188
2189 2011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
2190
2191 * util/grub-mkrescue.in: Fix handling xorriso option.
2192
2193 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2194
2195 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
2196 NULL.
2197
2198 2011-11-03 crocket <crockabiscuit@gmail.com>
2199
2200 * util/grub.d/10_linux.in: Add Slackware initrd naming.
2201
2202 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2203
2204 XZ CRC64 and SHA256 support.
2205
2206 * Makefile.util.def (libgrubmods): Add crc64.c.
2207 * grub-core/Makefile.core.def (crc64): New module.
2208 * grub-core/lib/crc64.c: New file.
2209 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
2210 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
2211 Fix the type.
2212 (MAX_HASH_SIZE): New define.
2213 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
2214 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
2215 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
2216 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
2217 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
2218 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
2219 Handle non-crc32 hashes.
2220 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
2221 (dec_stream_header): Handle non-crc32 hashes.
2222 (dec_stream_footer): Likewise.
2223 (dec_block_header): Likewise.
2224 (dec_main): Likewise.
2225 (xz_dec_init): Likewise.
2226 (xz_dec_reset): Likewise.
2227 (xz_dec_end): Likewise.
2228 * util/import_gcry.py: Add CRC64 line.
2229
2230 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2231
2232 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
2233 as well.
2234
2235 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2236
2237 Make reiserfs label retrieval similar to other *_label functions.
2238
2239 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
2240 (REISERFS_MAX_LABEL_LENGTH): Removed.
2241 (REISERFS_LABEL_OFFSET): Likewise.
2242 (grub_reiserfs_label): Rewritten.
2243
2244 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2245
2246 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
2247 field.
2248
2249 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2250
2251 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
2252
2253 2011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2254
2255 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
2256 drive failure on both raidz and raidz2.
2257
2258 2011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2259
2260 Fix RAIDZ(2) for >= 5 devices.
2261
2262 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
2263 asize argument. All users updated.
2264
2265 2011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2266
2267 Fix RAIDZ(2).
2268
2269 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
2270 (fill_vdev_info_real): Set ashift.
2271 (read_device): Rewrite RAIDZ part based on reverse engineering.
2272
2273 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
2274
2275 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
2276 don't report potentially unavialiable fields in debug output.
2277 (find_path): Fix double-free and memory leak.
2278
2279 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
2280
2281 Read label on UFS1.
2282
2283 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
2284 (grub_ufs_fs): Always set .label.
2285
2286 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
2287
2288 Use shifts in UFS.
2289
2290 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
2291 (grub_ufs_data): New field log2_blksz.
2292 (grub_ufs_read_file): Use shifts.
2293 (grub_ufs_mount): Check block size and logarithm it.
2294
2295 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
2296
2297 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
2298 long symlinks.
2299
2300 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2301
2302 Handle symlinks and long names on tar and cpio.
2303
2304 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
2305 (ATTR_FILE): Likewise.
2306 (ATTR_DIR): Likewise.
2307 (ATTR_LNK): Likewise.
2308 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
2309 (grub_cpio_find_file): Fill mode, handle linkname field as well as
2310 L and K entries.
2311 (grub_cpio_mount): Zero-fill data.
2312 (handle_symlink): New function.
2313 (grub_cpio_dir): Handle symlinks.
2314 (grub_cpio_open): Likewise.
2315 (grub_cpio_close) [MODE_USTAR]: Free linkname.
2316
2317 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2318
2319 Fix iso9660 filename limitations and fix memory leaks.
2320
2321 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
2322 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
2323
2324 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2325
2326 Fix JFS file name length limitations.
2327
2328 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
2329 (grub_jfs_diropen): Fix maximum filename length.
2330 (grub_jfs_getent): Fix filename length.
2331 (grub_jfs_lookup_symlink): Fix size checks.
2332
2333 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2334
2335 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
2336 string.
2337
2338 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2339
2340 Leverage BFS implementation to read AFS.
2341
2342 * Makefile.util.def (libgrubmods): Add afs.c.
2343 * grub-core/Makefile.core.def (afs): New module
2344 * grub-core/fs/afs.c: New file.
2345 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
2346
2347 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2348
2349 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
2350
2351 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2352
2353 * grub-core/fs/bfs.c: Run indent.
2354
2355 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2356
2357 BFS implementation based on the specification.
2358
2359 * grub-core/fs/bfs.c: New file.
2360 * Makefile.util.def (libgrubmods): Add bfs.c.
2361 * grub-core/Makefile.core.def (bfs): New module.
2362
2363 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2364
2365 * util/grub-fstest.c (cmd_cp): Clarify error message.
2366 (cmd_cmp): Likewise.
2367
2368 2011-10-30 Yves Blusseau <blusseau@zetam.org>
2369
2370 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
2371 and befs_be.
2372
2373 2011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
2374
2375 Remove afs and befs because of copyright problem.
2376
2377 * grub-core/fs/afs.c: Removed.
2378 * grub-core/fs/afs_be.c: Removed.
2379 * grub-core/fs/befs.c: Removed.
2380 * grub-core/fs/befs_be.c: Removed.
2381 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
2382 * grub-core/Makefile.core.def (afs): Removed.
2383 (afs_be): Likewise.
2384 (befs): Likewise.
2385 (befs_be): Likewise.
2386
2387 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2388
2389 Prefer rockridge over Joliet.
2390
2391 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
2392 to ...
2393 (set_rockridge): ... here.
2394 (grub_iso9660_mount): Check rockridge on the primary label when
2395 discovering. Ignore Joliet if Rockridge is present.
2396
2397 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2398
2399 Use shifts in nilfs2.
2400
2401 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
2402 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
2403 (grub_nilfs2_palloc_entries_per_group): Replace with ...
2404 (grub_nilfs2_log_palloc_entries_per_group): ... this.
2405 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
2406 (grub_nilfs2_entries_per_block): Replaced with ...
2407 (grub_nilfs2_log_entries_per_block_log): ... this.
2408 (grub_nilfs2_blocks_per_group): Replaced with ...
2409 (grub_nilfs2_blocks_per_group_log): ... this.
2410 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
2411 (grub_nilfs2_blocks_per_desc_block_log): ... this.
2412 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
2413 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
2414 (grub_nilfs2_palloc_entry_offset): Replaced ...
2415 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
2416 (grub_nilfs2_dat_translate): Use shifts.
2417 (grub_nilfs2_read_inode): Likewise.
2418 (GRUB_MOD_INIT): Ensure that logs are correct.
2419
2420 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2421
2422 Use shifts in minix filesystem.
2423
2424 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
2425 (GRUB_MINIX_ZONE2SECT): Likewise.
2426 (grub_minix_data): Replace block_size with log_block_size.
2427 (grub_minix_read_file): Use shifts.
2428 (grub_minix_mount): Check block size and take a logarithm.
2429
2430 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2431
2432 Use shifts in squash4.
2433
2434 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
2435 (squash_mount): Check block size and take logarithm.
2436 (direct_read): Use shifts.
2437
2438 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2439
2440 Correct befs block counting logic.
2441
2442 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
2443 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
2444 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
2445 (grub_afs_read_inode): Use block_shift.
2446 (RANGE_SHIFT): New definition.
2447 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
2448 unexpected conditions, use shifts and appropriate types.
2449 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
2450
2451 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2452
2453 * grub-core/disk/raid.c (scan_devices): Check partition.
2454 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
2455
2456 2011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
2457
2458 Support BFS (befs) UUID.
2459
2460 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
2461 (grub_afs_small_data_element_header): New struct.
2462 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
2463 (grub_afs_read_attribute) [MODE_BFS]: New function.
2464 (grub_afs_iterate_dir): Allocate for complete inode.
2465 (grub_afs_mount): Likewise.
2466 (grub_afs_uuid) [MODE_BFS]: New function.
2467 (grub_afs_fs) [MODE_BFS]: Add .uuid.
2468
2469 2011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
2470
2471 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
2472 (zfs_unmount): Fix memory leak.
2473
2474 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2475
2476 Support NTFS reparse points.
2477
2478 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
2479 (symlink_descriptor): New struct.
2480 (grub_ntfs_read_symlink): New function.
2481 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
2482 (grub_ntfs_open): Likewise.
2483
2484 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2485
2486 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
2487
2488 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2489
2490 fstest xnu_uuid subcommand.
2491
2492 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
2493 grub-core/commands/xnu_uuid.c.
2494 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
2495 (fstest): Handle xnu_uuid.
2496 (options): Document xnu_uuid.
2497 (argp_parser): Parse xnu_uuid.
2498
2499 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2500
2501 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
2502 -l argument. Add newline at the end if printing.
2503 (GRUB_MOD_INIT): Document -l.
2504
2505 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2506
2507 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
2508
2509 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2510
2511 ZFS multi-device and version 33 support.
2512
2513 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
2514 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
2515 (grub_zfs_data): Add multidev-ice-related fields.
2516 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
2517 (dva_get_offset): Make dva const.
2518 (zfs_fetch_nvlist): New function.
2519 (fill_vdev_info_real): Likewise.
2520 (fill_vdev_info): Likewise.
2521 (check_pool_label): Likewise.
2522 (scan_disk): Likewise.
2523 (scan_devices): Likewise.
2524 (read_device): Likewise.
2525 (read_dva): Likewise.
2526 (zio_read_gang): Use read_dva.
2527 (zio_read_data): Likewise.
2528 (zap_leaf_lookup): Add missing endian conversion.
2529 (zap_verify): Add missing endian conversion. All users updated.
2530 (fzap_lookup): Likewise.
2531 (fzap_iterate): Likewise.
2532 (dnode_get_path): Handle SA bonus.
2533 (nvlist_find_value): Make input const. All users updated.
2534 (unmount_device): New function.
2535 (zfs_unmount): Use unmount_device.
2536 (zfs_mount): Use scan_disk.
2537 (zfs_mtime): New function.
2538 (grub_zfs_open): Handle system attributes.
2539 (fill_fs_info): Likewise.
2540 (grub_zfs_dir): Likewise.
2541 (grub_zfs_fs): Add mtime.
2542 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
2543 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
2544 (SA_MTIME_OFFSET): Likewise.
2545 (SA_SYMLINK_OFFSET): Likewise.
2546 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
2547 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
2548 (fstest): Support zfsinfo.
2549 (argp_parser): Likewise.
2550
2551 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2552
2553 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
2554 error.
2555
2556 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2557
2558 ZFS fixes.
2559
2560 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
2561 sharing the same block. Iterate over correct number of indices.
2562 (dnode_get_path): Handle symlinks correctly.
2563
2564 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2565
2566 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
2567
2568 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2569
2570 Read label on HFS+.
2571
2572 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
2573 (grub_hfsplus_btree_search): Fix types.
2574 (grub_hfsplus_label): Implement.
2575
2576 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2577
2578 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
2579
2580 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2581
2582 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
2583
2584 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2585
2586 Fix symlink handling on iso9660.
2587
2588 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
2589 All users updated.
2590 (grub_iso9660_susp_iterate): Accept zero-size iterate.
2591 (grub_iso9660_read_symlink): Moved most of code ...
2592 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
2593
2594 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2595
2596 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
2597 Use union to avoid breaking strict-aliasing rules.
2598
2599 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2600
2601 Support multi-extent iso files.
2602
2603 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
2604 Add node.
2605 (grub_fshelp_node): Revamp. All users updated.
2606 (FLAG_*): New enum.
2607 (read_node): New function.
2608 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
2609 All users updated.
2610 (grub_iso9660_mount): Don't attempt to read sua when there is none.
2611 (get_node_size): New function.
2612 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
2613 entries.
2614 Fix memory leak on . and ..
2615 (grub_iso9660_read): Use read_node.
2616 (grub_iso9660_close): Free node.
2617
2618 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2619
2620 Fix tar 4G limit and handle paths containing dot.
2621
2622 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
2623 (canonicalize): New function.
2624 (grub_cpio_find_file): Use canonicalize. Store offs in
2625 grub_disk_addr_t.
2626 (grub_cpio_dir): Use grub_disk_addr_t.
2627 (grub_cpio_open): Likewise.
2628
2629 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2630
2631 Fix handling of uncompressed blocks on squashfs and break 4G limit.
2632
2633 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
2634 unused flags.
2635 (grub_squash_inode): Add long_file and block_size.
2636 (grub_squash_cache_inode): New struct.
2637 (grub_squash_dirent): Make types into enum.
2638 (SQUASH_TYPE_LONG_REGULAR): New type.
2639 (grub_squash_frag_desc): Add field size.
2640 (SQUASH_BLOCK_FLAGS): New enum.
2641 (grub_squash_data): Use grub_squash_cache_inode.
2642 (grub_fshelp_node): Make ino_chunk 64-bit.
2643 (read_chunk): Minor argument change. All users updated.
2644 (squash_mount): Use correct le_to_cpu.
2645 (grub_squash_open): Handle LONG_REGULAR.
2646 (direct_read): New function.
2647 (grub_squash_read_data): Handle blocks correctly.
2648
2649 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2650
2651 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
2652
2653 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2654
2655 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
2656
2657 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
2658
2659 Fix 2G limit on ZFS.
2660
2661 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
2662 types.
2663 (uberblock_verify): Likewise.
2664 (dmu_read): Likewise.
2665 (grub_zfs_read): Likewise. Remove invalid cast.
2666
2667 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
2668
2669 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
2670 (grub_jfs_blkno): Fix incorrect shift.
2671 (grub_jfs_read_file): Use more appropriate types.
2672
2673 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
2674
2675 Support triple indirect on minix2 and minix3.
2676
2677 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
2678 Declare triple_indir_zone.
2679 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
2680 indirect.
2681
2682 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
2683
2684 Minix FS fixes.
2685
2686 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
2687 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
2688 Rename ctime to mtime. All users updated.
2689 (grub_minix_get_file_block): Fix types and double indirect computations.
2690
2691 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2692
2693 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
2694 if no label is found.
2695 (grub_fat_iterate_dir): Fix file size type.
2696 (grub_fat_iterate_dir): Likewise.
2697
2698 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2699
2700 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
2701 save some space.
2702 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
2703 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
2704
2705 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2706
2707 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
2708
2709 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2710
2711 * util/import_gcry.py: Accept space between # and include.
2712
2713 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2714
2715 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
2716
2717 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2718
2719 Fine grainely disable warnings on lexer. Remove Wno-error on it.
2720
2721 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
2722 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
2723 yylex_strncpy.
2724 * grub-core/script/yylex.l: Add fine-grained #pragma.
2725
2726 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2727
2728 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
2729 New inline function.
2730 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
2731 Likewise.
2732 (memset) [GRUB_UTIL]: Likewise.
2733 (memcmp) [GRUB_UTIL]: Likewise.
2734
2735 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2736
2737 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
2738 inline function rather than a define.
2739
2740 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2741
2742 * util/grub-setup.c: Add missing include.
2743
2744 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2745
2746 * util/ieee1275/grub-ofpathname.c: Add missing include.
2747
2748 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2749
2750 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
2751 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
2752 Likewise.
2753
2754 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2755
2756 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
2757 grub_memcmp usage.
2758
2759 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2760
2761 * util/grub-install.in: Add datarootdir as per automake manual
2762 suggestion.
2763 * util/grub-mknetdir.in: Likewise.
2764
2765 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2766
2767 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
2768 suggestion.
2769 * util/grub.d/10_kfreebsd.in: Likewise.
2770 * util/grub.d/10_linux.in: Likewise.
2771 * util/grub.d/10_netbsd.in: Likewise.
2772 * util/grub.d/10_windows.in: Likewise.
2773 * util/grub.d/20_linux_xen.in: Likewise.
2774
2775 2011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2776
2777 Remove redundant grub_kernel_image_size.
2778
2779 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
2780 _edata and _start.
2781 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
2782 the small code. It moves it only by few bytes but simplifies the code.
2783 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
2784 _start.
2785 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
2786 (grub_kernel_image_size): Removed.
2787 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
2788 (grub_kernel_image_size): Removed.
2789 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
2790 compiled with Apple toolchain.
2791 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
2792 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
2793 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
2794 (grub_total_module_size): Likewise.
2795 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
2796 Removed.
2797 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
2798 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
2799 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
2800 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
2801 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
2802 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
2803 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
2804 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
2805 Removed.
2806 (grub_total_module_size): Removed.
2807 * util/grub-mkimage.c (image_target_desc): Remove image_size.
2808 (image_targets): Likewise.
2809 Set .compressed_size to no field on sparc.
2810 (generate_image): Remove kernel_image_size handling.
2811
2812 2011-10-19 Szymon Janc <szymon@janc.net.pl>
2813
2814 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
2815 NULL pointer dereference.
2816
2817 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2818
2819 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
2820 done with a dedicated section.
2821
2822 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
2823 Ensure the correct position of boot_path.
2824 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
2825 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
2826 other fields.
2827 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
2828 * include/grub/boot.h: Removed. All references removed.
2829 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
2830 Removed.
2831 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
2832
2833 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2834
2835 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
2836 name.
2837
2838 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2839
2840 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
2841
2842 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2843
2844 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
2845 Don't add the bogus brackets.
2846
2847 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2848
2849 ExFAT support.
2850
2851 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
2852 * grub-core/Makefile.core.def (exfat): New module.
2853 * grub-core/fs/exfat.c: New file.
2854 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
2855 (GRUB_FAT_ATTR_*): Make into an enum.
2856 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
2857 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
2858 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
2859 (GRUB_FAT_MAXFILE): Removed.
2860 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
2861 (grub_current_fat_bpb_t): New type.
2862 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
2863 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
2864 (grub_fat_dir_node_t): New type.
2865 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
2866 (fat_log2) [MODE_EXFAT]: Removed.
2867 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
2868 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
2869 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
2870 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
2871 (grub_fat_label) [MODE_EXFAT]: New function.
2872 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
2873 reserved_first_sector to 0.
2874
2875 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2876
2877 Move grub_reboot out of the kernel.
2878
2879 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
2880 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
2881 * grub-core/lib/efi/reboot.c: ... here.
2882 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
2883 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
2884 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
2885 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
2886 * grub-core/lib/i386/reboot_trampoline.S: ... here.
2887 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
2888 * grub-core/lib/ieee1275/reboot.c: ... here.
2889 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
2890 * grub-core/lib/mips/arc/reboot.c: ... here.
2891 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
2892 * grub-core/lib/mips/loongson/reboot.c: ...here.
2893 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
2894 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
2895 * include/grub/emu/misc.h (grub_reboot): New function declaration.
2896 * include/grub/i386/reboot.h: New file.
2897 * include/grub/mips/loongson/ec.h: Fix includes.
2898 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
2899 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
2900 * grub-core/lib/i386/reboot.c: New file.
2901
2902 2011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2903
2904 Make grub_prefix into module to fix the arbitrary limit and save
2905 some space.
2906
2907 * grub-core/kern/emu/main.c (grub_prefix): Removed.
2908 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
2909 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
2910 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
2911 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
2912 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
2913 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
2914 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
2915 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
2916 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
2917 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
2918 * include/grub/ia64/efi/kernel.h: Removed.
2919 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
2920 (grub_prefix): Removed.
2921 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
2922 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
2923 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
2924 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
2925 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
2926 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
2927 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
2928 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
2929 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
2930 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
2931 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
2932 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
2933 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
2934 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
2935 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
2936 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
2937 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
2938 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
2939 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
2940 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
2941 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
2942 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
2943 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
2944 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
2945 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
2946 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
2947 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
2948 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
2949 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
2950 from module.
2951 * util/grub-mkimage.c (image_target_desc): Removed prefix and
2952 prefix_end.
2953 (image_targets): Likewise.
2954 (generate_image): Put prefix as a module.
2955
2956 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2957
2958 Replace grub_module_iterate with FOR_MODULES.
2959
2960 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
2961 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
2962 (grub_efi_modules_addr): ...this.
2963 * grub-core/kern/efi/init.c (grub_modbase): New variable.
2964 (grub_efi_init): Set grub_modbase.
2965 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
2966 (grub_modbase): New variable.
2967 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
2968 (grub_modbase): New variable.
2969 (grub_machine_init): Set grub_modbase.
2970 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
2971 (grub_modbase): New variable.
2972 (grub_machine_init): Set grub_modbase.
2973 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
2974 (grub_modbase): New variable.
2975 (grub_machine_init): Set grub_modbase.
2976 * grub-core/kern/main.c (grub_module_iterate): Remove.
2977 (grub_modules_get_end): Use grub_modbase.
2978 (grub_load_modules): Use FOR_MODULES.
2979 (grub_load_config): Likewise.
2980 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
2981 (grub_modbase): New variable.
2982 (grub_machine_init): Set grub_modbase.
2983 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
2984 (grub_modbase): New variable.
2985 (grub_machine_init): Set grub_modbase.
2986 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
2987 Removed.
2988 (grub_modbase): New variable.
2989 (grub_machine_init): Set grub_modbase.
2990 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
2991 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
2992 (grub_module_iterate): Likewise.
2993 (grub_modbase): New variable declaration.
2994 (FOR_MODULES): New macro.
2995
2996 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2997
2998 * configure.ac: Check for __ctzdi2 and __ctzsi2.
2999 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
3000
3001 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
3002
3003 Fix few obvious type discrepancies.
3004
3005 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
3006 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
3007 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
3008 variable.
3009 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
3010 and connected types.
3011 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
3012 offset.
3013 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
3014 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
3015 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
3016 and connected types.
3017
3018 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
3019
3020 Fix python 3.x incompatibilities.
3021
3022 * gentpl.py: Put brackets around print strings.
3023 * util/import_gcry.py: Open explicitly as utf-8.
3024 Use in instead of has_key.
3025
3026 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
3027
3028 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
3029 (GRUB_XFS_INO_AGBITS): Make into inline function.
3030 (GRUB_XFS_INO_INOINAG): Likewise.
3031 (GRUB_XFS_INO_AG): Likewise.
3032 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
3033 (GRUB_XFS_EXTENT_OFFSET): Likewise.
3034 (GRUB_XFS_EXTENT_BLOCK): Likewise.
3035 (GRUB_XFS_EXTENT_SIZE): Likewise.
3036 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
3037 (GRUB_XFS_NEXT_DIRENT): Likewise.
3038 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
3039 (grub_xfs_read_file): Fix offset type.
3040
3041 2011-10-15 Robert Millan <rmh@gnu.org>
3042
3043 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
3044
3045 2011-10-15 Robert Millan <rmh@gnu.org>
3046
3047 Fix build problem on FreeBSD and GNU/kFreeBSD.
3048
3049 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
3050
3051 2011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
3052
3053 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
3054
3055 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
3056 types.
3057 (grub_hfsplus_btree_recoffset): Likewise.
3058 (grub_hfsplus_btree_recptr): Likewise.
3059 (grub_hfsplus_find_block): Likewise.
3060 (grub_hfsplus_btree_search): Likewise.
3061 (grub_hfsplus_read_block): Likewise.
3062 (grub_hfsplus_read_file): Likewise.
3063 (grub_hfsplus_mount): Likewise.
3064 (grub_hfsplus_btree_iterate_node): Likewise.
3065 (grub_hfsplus_btree_search): Likewise.
3066 (grub_hfsplus_iterate_dir): Likewise.
3067 (grub_hfsplus_read): A small code simplification.
3068
3069 2011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
3070
3071 * grub-core/kern/emu/hostdisk.c
3072 (convert_system_partition_to_system_disk): Don't assume that children
3073 of mapper nodes are mapper nodes.
3074
3075 2011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
3076
3077 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
3078 * include/grub/misc.h (grub_isxdigit): New function.
3079 * grub-core/video/colors.c (my_isxdigit): Removed. All users
3080 switched to grub_isxdigit.
3081 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
3082 number starting with a letter.
3083
3084 2011-10-09 Robert Millan <rmh@gnu.org>
3085
3086 LVM support for FreeBSD and GNU/kFreeBSD.
3087
3088 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
3089 GNU/kFreeBSD.
3090 (LVM_DEV_MAPPER_STRING): Move from here ...
3091 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
3092 * util/getroot.c: Include `<grub/util/lvm.h>'.
3093 (grub_util_get_dev_abstraction): Enable
3094 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
3095 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
3096 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
3097 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
3098 support it.
3099 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
3100 GNU/kFreeBSD.
3101 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
3102 when LVM abstraction is required for ${GRUB_DEVICE}.
3103
3104 2011-10-06 Szymon Janc <szymon@janc.net.pl>
3105
3106 Add support for LZO compression in GRUB:
3107 - import of minilzo library,
3108 - LZO decompression for btrfs,
3109 - lzop files decompression.
3110
3111 * grub-core/io/lzopio.c: New file.
3112 * grub-core/lib/adler32.c: Likewise.
3113 * grub-core/lib/minilzo/lzoconf.h: Likewise.
3114 * grub-core/lib/minilzo/lzodefs.h: Likewise.
3115 * grub-core/lib/minilzo/minilzo.c: Likewise.
3116 * grub-core/lib/minilzo/minilzo.h: Likewise.
3117 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
3118 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
3119 grub-core/lib/minilzo/minilzo.c to common.
3120 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
3121 cflags in cppflags.
3122 * grub-core/Makefile.core.def (btrfs): Likewise.
3123 * grub-core/Makefile.core.def (lzopio): New module.
3124 (adler32): Likewise.
3125 * grub-core/fs/btrfs.c: Include minilzo.h.
3126 (GRUB_BTRFS_COMPRESSION_LZO): New define.
3127 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
3128 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
3129 (grub_btrfs_lzo_decompress): New function.
3130 (grub_btrfs_extent_read): Add support for LZO compression type.
3131 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
3132 (GRUB_USHRT_MAX): Likewise.
3133 (GRUB_UINT_MAX): Likewise.
3134 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
3135 (UINT_MAX): Likewise.
3136 (CHAR_BIT): Likewise.
3137 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
3138 grub-core/lib/posix_wrap/limits.h
3139 (UCHAR_MAX): Likewise.
3140 * include/grub/file.h (grub_file_filter_id): New compression filter
3141 GRUB_FILE_FILTER_LZOPIO.
3142 * include/grub/file.h (grub_file_filter_id): Set
3143 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
3144 * include/grub/types.h (grub_get_unaligned16): New function.
3145 (grub_get_unaligned32): Likewise.
3146 (grub_get_unaligned64): Likewise.
3147 * util/import_gcry.py (cryptolist): Add adler32.
3148
3149 2011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
3150
3151 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
3152 in perspective decreases the complexity of build system and fixes
3153 compilation right now.
3154
3155 2011-10-01 Ales Nesrsta <starous@volny.cz>
3156
3157 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
3158 (fixed problem related to using UHCI with coreboot).
3159
3160 2011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
3161
3162 * gentpl.py: Use Autogen macros so that the output template file
3163 (Makefile.tpl) size is reduced.
3164
3165 2011-09-29 Mads Kiilerich <mads@kiilerich.com>
3166
3167 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
3168 extra_dist.
3169
3170 2011-09-29 Mario Limonciello <mario_limonciello@dell.com>
3171
3172 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
3173 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
3174
3175 2011-09-29 Mario Limonciello <mario_limonciello@dell.com>
3176
3177 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
3178 _fullpath.
3179
3180 2011-09-29 Mario Limonciello <mario_limonciello@dell.com>
3181
3182 Remove extra declaration of sleep for mingw32.
3183
3184 * util/misc.c (sleep) [__MINGW32__]: Removed.
3185 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
3186
3187 2011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
3188
3189 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
3190 type and packname.
3191 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
3192 Resurrected.
3193 (NETBSD_BTINFO_BOOTWEDGE): New definition.
3194 (grub_netbsd_btinfo_bootwedge): New struct.
3195 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
3196 New function.
3197 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
3198
3199 2011-09-28 Thomas Haller <thomas.haller@fen-net.de>
3200
3201 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
3202 loader.
3203
3204 2011-09-28 Andreas Born <futur.andy@googlemail.com>
3205
3206 Fix incorrect identifiers in bash-completion.
3207
3208 * util/bash-completion.d/grub-completion.bash.in
3209 (_grub_mkpasswd-pbkdf2): Rename to ...
3210 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
3211 (_grub_script-check): Rename to ...
3212 (_grub_script_check): ... this. All users updated.
3213
3214 2011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
3215
3216 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
3217 Return 0 if disk isn't biosdisk.
3218
3219 2011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
3220
3221 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
3222 on NetBSD.
3223 * Makefile.util.def (grub-fstest): Likewise.
3224
3225 2011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
3226
3227 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
3228 Get sector size from disk label.
3229
3230 2011-09-05 Colin Watson <cjwatson@ubuntu.com>
3231
3232 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
3233 */README* as well as README*.
3234 Reported by: Axel Beckert.
3235
3236 2011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3237
3238 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
3239 case of less than 256 MiB of RAM.
3240
3241 2011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3242
3243 * grub-core/commands/wildcard.c (make_regex): Handle @.
3244
3245 2011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3246
3247 * util/grub-install.in: Move cryptodisk logic to appropriate place.
3248
3249 2011-08-21 Szymon Janc <szymon@janc.net.pl>
3250
3251 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
3252 AC_LANG_CONFTEST macros.
3253
3254 2011-08-20 Szymon Janc <szymon@janc.net.pl>
3255
3256 Add grub-fstest option to uncompress data for commands.
3257
3258 * util/grub-fstest.c (uncompress): New var.
3259 (options): New option -u.
3260
3261 2011-08-20 Szymon Janc <szymon@janc.net.pl>
3262
3263 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
3264 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
3265
3266 2011-08-20 Szymon Janc <szymon@janc.net.pl>
3267
3268 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
3269 file type was not recognized correctly (not gzip or corrupted).
3270
3271 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
3272
3273 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
3274 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
3275
3276 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
3277
3278 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
3279 loongson.
3280 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
3281 video_radeon_fuloong2e.
3282 * grub-core/video/radeon_fuloong2e.c: New file.
3283 * include/grub/video.h (grub_video_id_t): Add new ID
3284 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
3285
3286 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
3287
3288 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
3289 define.
3290 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
3291 that PRID matches the detected subplatform and reset the subplatform
3292 if it doesn't.
3293
3294 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
3295
3296 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
3297
3298 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
3299
3300 Fix PCI iterating on functions >= 4.
3301
3302 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
3303 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
3304 Removed.
3305 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
3306 (grub_pci_read): Fix bitmask.
3307 (grub_pci_read_word): Likewise.
3308 (grub_pci_read_byte): Likewise.
3309 (grub_pci_write): Likewise.
3310 (grub_pci_write_word): Likewise.
3311 (grub_pci_write_byte): Likewise.
3312
3313 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
3314
3315 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
3316 can still be specified in TARGET_CFLAGS)
3317
3318 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
3319
3320 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
3321
3322 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
3323 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
3324 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
3325 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
3326 (FULOONG): Rename to ...
3327 (FULOONG2F): ... this. All users updated.
3328 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
3329 (machtype_fuloong2f_str): ... this.
3330 (machtype_fuloong2e_str): New string.
3331 Check for machtype_fuloong2e_str.
3332 * grub-core/loader/mips/linux.c (loongson_machtypes)
3333 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
3334 * grub-core/term/serial.c (loongson_defserial)
3335 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
3336 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
3337 loongson_defserial.
3338 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
3339 Rename to ...
3340 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
3341 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
3342 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
3343 to IMAGE_FULOONG2F_FLASH. All users updated.
3344 (image_targets): Rename images.
3345 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
3346
3347 2011-08-19 Szymon Janc <szymon@janc.net.pl>
3348
3349 Make enable of disk cache statistics code configurable.
3350
3351 * configure.ac: --enable-cache-stats added.
3352 * config.h.in (DISK_CACHE_STATS): New define.
3353 * grub-core/Makefile.core.def (cacheinfo): New command.
3354 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
3355 * grub-core/commands/cacheinfo.c: New file.
3356 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
3357 moved to cacheinfo.c.
3358 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
3359 debug code.
3360 * include/grub/disk.h: Likewise.
3361
3362 2011-08-19 Szymon Janc <szymon@janc.net.pl>
3363
3364 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
3365 * grub-core/Makefile.am: Likewise.
3366
3367 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
3368
3369 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
3370 non-zero pull.
3371
3372 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
3373
3374 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
3375 All users updated.
3376 (grub_jfs_lookup_symlink): Use correct starting inode.
3377
3378 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
3379
3380 * util/grub-setup.c (main): Add missing gcry initialisation.
3381
3382 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
3383
3384 Don't accept text modes on EFI when booting Linux.
3385
3386 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
3387 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
3388
3389 2011-08-15 Mario Limonciello <mario_limonciello@dell.com>
3390 2011-08-15 Colin Watson <cjwatson@ubuntu.com>
3391
3392 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
3393 use of "/path/.." as in grub-install for EFI as well as handling
3394 symlinks correctly.
3395 Fixes Debian bug #637768.
3396
3397 2011-08-15 Colin Watson <cjwatson@ubuntu.com>
3398
3399 * util/grub-probe.c: Remove duplicate #include.
3400
3401 2011-08-10 Robert Millan <rmh@gnu.org>
3402
3403 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
3404
3405 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
3406 function.
3407 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
3408 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
3409
3410 2011-08-03 Robert Millan <rmh@gnu.org>
3411
3412 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
3413 la_array as packed.
3414 Reported by: Zachary Bedell
3415
3416 2011-07-26 Colin Watson <cjwatson@ubuntu.com>
3417
3418 * configure.ac: The Loongson port requires grub-mkfont due to its
3419 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
3420 be built.
3421
3422 2011-07-26 Colin Watson <cjwatson@ubuntu.com>
3423
3424 * util/grub-install.in: Don't source grub-mkconfig_lib until after
3425 processing arguments (otherwise help2man fails when GRUB has not yet
3426 been installed).
3427
3428 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
3429
3430 New script grub-mkstandalone.
3431
3432 * Makefile.util.def (grub-mkstandalone): New script.
3433 * docs/man/grub-mkstandalone.h2m: New file.
3434 * util/grub-mkstandalone.in: Likewise.
3435
3436 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
3437
3438 Support ATA disks with 4K sectors.
3439
3440 * include/grub/ata.h (grub_ata): New member log_sector_size.
3441 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
3442 (grub_ata_identify): Read sector size.
3443 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
3444
3445 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
3446
3447 * util/grub-install.in: Don't use uhci outside of x86.
3448
3449 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
3450
3451 * util/grub-mkrescue.in: Add missing quotes.
3452
3453 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
3454
3455 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
3456 dereference.
3457
3458 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
3459
3460 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
3461
3462 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
3463
3464 * include/grub/video.h: add missing EXPORT_FUND on
3465 grub_video_edid_checksum and grub_video_edid_preferred_mode.
3466
3467 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
3468
3469 * include/grub/mips/kernel.h: Fix define conflict.
3470
3471 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
3472
3473 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
3474 all four ways.
3475
3476 2011-07-21 Colin Watson <cjwatson@ubuntu.com>
3477
3478 Preferred resolution detection for VBE.
3479
3480 * grub-core/video/video.c (grub_video_edid_checksum): New function.
3481 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
3482 the Flat Panel extension, in line with the X.org VESA driver.
3483 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
3484 New function.
3485 (grub_vbe_bios_get_ddc_capabilities): Likewise.
3486 (grub_vbe_bios_read_edid): Likewise.
3487 (grub_vbe_get_preferred_mode): Likewise.
3488 (grub_video_vbe_setup): When the mode is "auto", try to get the
3489 preferred mode from VBE, and use the largest mode that is no larger
3490 than the preferred mode (some BIOSes expose a preferred mode that is
3491 not in their mode list!). If this fails, fall back to 640x480 as a
3492 safe conservative choice.
3493 (grub_video_vbe_get_edid): New function.
3494 (grub_video_vbe_adapter): Add get_edid.
3495 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
3496 (struct grub_video_adapter): Add get_edid.
3497 (grub_video_edid_checksum): Add prototype.
3498 (grub_video_edid_preferred_mode): Likewise.
3499 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
3500 structure.
3501
3502 * grub-core/commands/videoinfo.c (print_edid): New function.
3503 (grub_cmd_videoinfo): Print EDID if available.
3504
3505 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
3506 is more appropriate on a wider range of platforms than 640x480.
3507 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
3508 documentation.
3509
3510 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
3511
3512 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
3513
3514 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
3515
3516 * po/POTFILES.in: Regenerate.
3517
3518 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
3519
3520 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
3521 incorrect memory usage.
3522
3523 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
3524
3525 * util/grub-install.in: Source grub-mkconfig_lib.
3526
3527 2011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
3528
3529 Remove getroot.c from core on emu platform.
3530
3531 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
3532 kern/emu/raid.c.
3533 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
3534 useless.
3535 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
3536 * util/getroot.c (get_win32_path): ... here.
3537 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
3538 * util/getroot.c (fini_libzfs): ... here.
3539 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
3540 * util/getroot.c (grub_get_libzfs_handle): ... here.
3541 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
3542 Moved from here...
3543 * util/getroot.c (grub_find_zpool_from_dir): ... here.
3544 * grub-core/kern/emu/misc.c
3545 (grub_make_system_path_relative_to_its_root): Moved from here...
3546 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
3547 * grub-core/kern/emu/getroot.c: Moved from here ...
3548 * util/getroot.c: ... here. All users updated.
3549 * grub-core/kern/emu/raid.c: Moved from here ...
3550 * util/raid.c: ... here. All users updated.
3551
3552 2011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
3553
3554 * po/POTFILES.in: Regenerate.
3555
3556 2011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
3557
3558 Fix compilation on GNU/Linux.
3559
3560 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
3561 Disable geli.
3562 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
3563 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
3564 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
3565
3566 2011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
3567 2011-07-07 Michael Gorven <michael@gorven.za.net>
3568 2011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
3569
3570 LUKS and GELI support.
3571
3572 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
3573 grub-core/disk/luks.c, grub-core/disk/geli.c,
3574 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
3575 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
3576 grub-core/lib/arg.c.
3577 (libgrubmods.a): Remove gcrypts cflags and cppflags.
3578 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
3579 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
3580 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
3581 (grub-bin2h): Add libgcry.a.
3582 (grub-mkimage): Likewise.
3583 (grub-mkrelpath): Likewise.
3584 (grub-script-check): Likewise.
3585 (grub-editenv): Likewise.
3586 (grub-mkpasswd-pbkdf2): Likewise.
3587 (grub-pe2elf): Likewise.
3588 (grub-fstest): Likewise.
3589 (grub-mkfont): Likewise.
3590 (grub-mkdevicemap): Likewise.
3591 (grub-probe): Likewise.
3592 (grub-ofpath): Likewise.
3593 (grub-mklayout): Likewise.
3594 (example_unit_test): Likewise.
3595 (grub-menulst2cfg): Likewise.
3596 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
3597 * grub-core/Makefile.core.def (cryptodisk): New module.
3598 (luks): Likewise.
3599 (geli): Likewise.
3600 * grub-core/disk/AFSplitter.c: New file.
3601 * grub-core/disk/cryptodisk.c: Likewise.
3602 * grub-core/disk/geli.c: Likewise.
3603 * grub-core/disk/luks.c: Likewise.
3604 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
3605 grub_util_is_lvm.
3606 (grub_util_get_dm_abstraction): New function.
3607 (grub_util_follow_gpart_up): Likewise.
3608 (grub_util_get_geom_abstraction): Likewise.
3609 (grub_util_get_dev_abstraction): Use new functions.
3610 (grub_util_pull_device): Pull GELI and LUKS.
3611 (grub_util_get_grub_dev): Handle LUKS and GELI.
3612 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
3613 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
3614 (follow_geom_up): Removed.
3615 (grub_util_fd_seek): New function.
3616 (open_device): Use grub_util_fd_seek.
3617 (nread): Rename to ..
3618 (grub_util_fd_read): ... this. All users updated.
3619 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
3620 (grub_crypto_cbc_decrypt): Likewise.
3621 (grub_crypto_hmac_write): Likewise.
3622 (grub_crypto_hmac_buffer): Likewise.
3623 (grub_password_get): Extend to util.
3624 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
3625 New member modname.
3626 (gcry_md_spec) [GRUB_UTIL]: Likewise.
3627 * include/grub/cryptodisk.h: New file.
3628 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
3629 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
3630 LUKS and GELI.
3631 (grub_util_follow_gpart_up): New proto.
3632 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
3633 (grub_util_fd_read): Likewise.
3634 (grub_cryptodisk_cheat_mount): Likewise.
3635 (grub_util_cryptodisk_print_uuid): Likewise.
3636 (grub_util_get_fd_sectors): Likewise.
3637 * util/grub-fstest.c (mount_crypt): New var.
3638 (fstest): Mount crypto if requested.
3639 (options): New option -C.
3640 (argp_parser): Parse -C.
3641 (main): Init and fini gcry.
3642 * util/grub-install.in: Support cryptodisk install.
3643 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
3644 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
3645 cryptodisk.
3646 (prepare_grub_to_access_device): Likewise.
3647 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
3648 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
3649 (probe_cryptodisk_uuid): New function.
3650 (probe_abstraction): Likewise.
3651 (probe): Use new functions.
3652 * util/import_gcry.py: Create Makefile.utilgcry.def.
3653 Add modname member.
3654
3655 2011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
3656
3657 Lazy device scanning.
3658
3659 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
3660 (grub-setup): Remove util/raid.c.
3661 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
3662 * grub-core/disk/lvm.c (scan_depth): New variable.
3663 (grub_lvm_iterate): Rescan if necessary.
3664 (find_lv): New function based on grub_lvm_open.
3665 (grub_lvm_open): Use find_lv. Rescan on error.
3666 (is_node_readable): New function.
3667 (is_lv_readable): Likewise.
3668 (grub_lvm_scan_device): Skip already found disks.
3669 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
3670 Stop if searched device is found and readable.
3671 * grub-core/disk/raid.c (inscnt): New variable.
3672 (scan_depth): Likewise.
3673 (scan_devices): New function based on grub_raid_register. Abort if
3674 looked for device is found.
3675 (grub_raid_iterate): Rescan if needed.
3676 (find_array): NEw function based on -grub_raid_open.
3677 (grub_raid_open): Use find_array and rescan.
3678 (insert_array): Set became_readable_at.
3679 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
3680 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
3681 New function.
3682 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
3683 (grub_util_pull_device): New function.
3684 (grub_util_get_grub_dev): Call grub_util_pull_device.
3685 * util/raid.c: Moved to ..
3686 * grub-core/kern/emu/raid.c: ... here.
3687 (grub_util_raid_getmembers): New parameter "bootable".
3688 All users updated. Support 1.x.
3689 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
3690 All users updated.
3691 * include/grub/disk.h (grub_disk_pull_t): New enum.
3692 (grub_disk_dev): Change iterate prototype.
3693 All users updated.
3694 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
3695 New proto.
3696 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
3697 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
3698 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
3699 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
3700 All users updated.
3701 * include/grub/util/raid.h: Removed.
3702
3703 2011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
3704
3705 * po/POTFILES.in: Regenerate.
3706
3707 2011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
3708
3709 Unify sparc init with other ieee1275.
3710
3711 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
3712 instead of kern/sparc64/ieee1275/init.c.
3713 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
3714 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
3715 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
3716 grub/machine/kernel.h.
3717 (grub_ieee1275_original_stack) [__sparc__]: New variable.
3718 (grub_claim_heap) [__sparc__]: Use sparc version.
3719 (grub_machine_init): Moved args parsing to
3720 (grub_parse_cmdline): ...this.
3721 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
3722 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
3723 New definition.
3724 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
3725
3726 Move BOOTP to separate file.
3727
3728 * grub-core/Makefile.core.def (net): Add net/bootp.c.
3729 * grub-core/net/net.c: Move all BOOTP functions to
3730 * grub-core/net/bootp.c: ... here.
3731
3732 Use frame interface on PXE.
3733
3734 * grub-core/Makefile.core.def (pxecmd): Removed.
3735 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
3736 * grub-core/commands/i386/pc/pxecmd.c: Removed.
3737 * grub-core/i386/pc/pxe.c: Moved from here ...
3738 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
3739 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
3740 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
3741
3742 EFI network support.
3743
3744 * grub-core/Makefile.core.def (efinet): New module.
3745 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
3746 here...
3747 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
3748 All users updated.
3749 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
3750 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
3751 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
3752 * grub-core/net/drivers/efi/efinet.c: New file.
3753 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
3754 (grub_efi_net_config): New extern var.
3755
3756 Various cleanups and bugfixes.
3757
3758 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
3759 error.
3760 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
3761 disk declared as partition.
3762 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
3763 leak on failure.
3764 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
3765 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
3766 (grub_debug_zalloc): Likewise.
3767 (grub_debug_realloc): Likewise.
3768 (grub_debug_memalign): Likewise.
3769 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
3770 Check that target is IPv4.
3771 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
3772 local-mac-address as fallback.
3773 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
3774 memory leak.
3775 * grub-core/net/ip.c (ipchksum): Rename to ...
3776 (grub_net_ip_chksum): ... this. All users updated.
3777 (grub_net_recv_ip_packets): Special handling for DHCP.
3778 * util/grub-mkimage.c (generate_image): Zero-out aout header.
3779
3780 Unify prefix handling
3781
3782 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
3783 (grub_machine_get_bootlocation): ... this.
3784 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
3785 (grub_machine_get_bootlocation): ... this.
3786 (grub_prefix): New variable.
3787 (prefix): Removed.
3788 (root_dev): New variable.
3789 (dir): Likewise.
3790 (main): Use new variables.
3791 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
3792 Revamped into ...
3793 (grub_machine_get_bootlocation): ... this.
3794 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
3795 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
3796 (grub_machine_get_bootlocation): ... this.
3797 (grub_machine_set_prefix): Removed.
3798 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
3799 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
3800 Revamped into ...
3801 (grub_machine_get_bootlocation): ... this.
3802 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
3803 (grub_set_prefix_and_root): ... this. All users updated.
3804 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
3805 Revamped into ...
3806 (grub_machine_get_bootlocation): ... this.
3807 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
3808 (grub_machine_get_bootlocation): New proto.
3809 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
3810
3811 Less intrusive and more reliable seek on network implementation.
3812
3813 * grub-core/kern/file.c (grub_file_net_seek): Removed.
3814 (grub_file_seek): Don't call grub_file_net_seek.
3815 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
3816 (grub_net_fs_read_real): .. this.
3817 (grub_net_seek_real): Use net->offset.
3818 (grub_net_fs_read): Seek if necessary.
3819
3820 Unify IEEE1275 netwotk config with the other platforms.
3821
3822 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
3823 New variable.
3824 (grub_machine_get_bootlocation): Support network.
3825 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
3826 Support type and device parsing.
3827 (grub_ieee1275_get_device_type): New function.
3828 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
3829 into ...
3830 (grub_ieee1275_net_config_real): ... this.
3831 (grub_ofnet_probecards): Removed.
3832 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
3833 * include/grub/ieee1275/ofnet.h: Removed.
3834 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
3835 extern var.
3836 (grub_ieee1275_get_device_type): New function.
3837
3838 Unify network device closing across platforms and make more robust.
3839
3840 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
3841 grub_grubnet_fini.
3842 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
3843 already.
3844 * grub-core/net/net.c (grub_net_network_level_interface_register):
3845 Update num_ifaces.
3846 (grub_net_card_unregister): Close all interfaces.
3847 (receive_packets): Don't poll if no iterfaces are registered.
3848 Open if necessary.
3849 (grub_net_fini_hw): New function.
3850 (grub_net_restore_hw): Likewise.
3851 (fini_hnd): New variable.
3852 (GRUB_MOD_INIT): Register preboot hook.
3853 (GRUB_MOD_FINI): Run and unregister preboot hook.
3854
3855 Poll network cards when idle.
3856
3857 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
3858 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
3859 * grub-core/net/net.c (receive_packets): Save last poll time.
3860 (grub_net_poll_cards_idle_real): New function.
3861 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
3862 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
3863 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
3864
3865 Rename ofnet interfaces.
3866
3867 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
3868 (grub_ofnet_findcards): Use ofnet_%s names.
3869
3870 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
3871
3872 Cleanup socket opening.
3873
3874 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
3875 (grub_net_fs_close): Likewise.
3876 (grub_net_fs_read_real): Use eof member.
3877 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
3878 (+grub_net_udp_close): New inline function.
3879
3880 * include/grub/net/tftp.h: Moved to the top of ...
3881 * grub-core/net/tftp.c: ... here.
3882 * include/grub/net/ip.h: Moved mostly to the top of ...
3883 * grub-core/net/ip.c: ... here.
3884 * include/grub/net/ethernet.h: Moved mostly to the top of ...
3885 * grub-core/net/ethernet.c: ... here.
3886
3887 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
3888
3889 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
3890 FS name.
3891
3892 * include/grub/net/ip.h (ipv4_ini): Removed.
3893 (ipv4_fini): Likewise.
3894
3895 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
3896 (grub_net_send_ip_packets): Likewise.
3897
3898 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
3899
3900 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
3901 grub_read_cmos prototype.
3902
3903 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
3904
3905 VGA text support in qemu-mips
3906
3907 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
3908 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
3909 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
3910 text.
3911 * grub-core/kern/i386/qemu/init.c: Renamed to ...
3912 * grub-core/kern/vga_init.c: ... this.
3913 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
3914 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
3915 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
3916 Adjust.
3917 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
3918 GRUB_MACHINE_PCI_IO_BASE.
3919
3920 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
3921
3922 MIPS qemu flash support.
3923
3924 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
3925 magic.
3926 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
3927 (grub_machine_init): Probe memory if its size isn't known.
3928 * util/grub-mkimage.c (image_targets): Add flash targets.
3929 (generate_image): Handle flash targets.
3930
3931 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
3932
3933 MIPS qemu at_keyboard support.
3934
3935 * gentpl.py (videoinkernel): Add qemu-mips.
3936 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
3937 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
3938 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
3939 modules.
3940 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
3941 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
3942 * grub-core/term/serial.c (grub_serial_register)
3943 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
3944
3945 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
3946
3947 CMOS support on sparc.
3948
3949 * gentpl.py (cmos): Add powerpc and sparc.
3950 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
3951 powerpc and sparc.
3952 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
3953 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
3954 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
3955 grub_set_datetime_cmos.
3956 * grub-core/lib/ieee1275/cmos.c: New file.
3957 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
3958 (find_rtc): Set no_ieee1275_rtc on error.
3959 (grub_get_datetime): Call grub_get_datetime_cmos on error.
3960 (grub_set_datetime): Call grub_set_datetime_cmos on error.
3961 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
3962 fail. Move value to argument. All users updated
3963 (grub_cmos_write): Likewise.
3964 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
3965 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
3966 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
3967 grub_get_datetime_cmos and grub_set_datetime_cmos.
3968
3969 2011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
3970
3971 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
3972 sourcing grub-mkconfig_lib.
3973 * util/update-grub_lib.in: Likewise.
3974 * util/grub.d/00_header.in: Likewise.
3975 * util/grub.d/10_hurd.in: Likewise.
3976 * util/grub.d/10_kfreebsd.in: Likewise.
3977 * util/grub.d/10_linux.in: Likewise.
3978 * util/grub.d/10_netbsd.in: Likewise.
3979 * util/grub.d/10_windows.in: Likewise.
3980 * util/grub.d/20_linux_xen.in: Likewise.
3981 * util/grub.d/30_os-prober.in: Likewise.
3982
3983 2011-06-28 Colin Watson <cjwatson@ubuntu.com>
3984
3985 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
3986 default_bg_color rather than black.
3987 (grub_gfxterm_fullscreen): Likewise.
3988 (grub_gfxterm_background_color_cmd): Save new background color in
3989 default_bg_color.
3990
3991 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3992
3993 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
3994
3995 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3996
3997 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
3998 mismerge.
3999
4000 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4001
4002 Chainloading on coreboot support.
4003
4004 * grub-core/Makefile.core.def (chain): Add coreboot.
4005 * grub-core/loader/i386/coreboot/chainloader.c: New file.
4006
4007 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4008
4009 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
4010 if it happens.
4011
4012 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4013
4014 Implement time command.
4015
4016 * grub-core/Makefile.core.def (time): New module.
4017 * grub-core/commands/time.c: New file.
4018 * grub-core/script/parser.y: Remove "time" keyword.
4019 * grub-core/script/yylex.l: Likewise.
4020
4021 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4022
4023 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
4024
4025 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4026
4027 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
4028 when handling leftovers.
4029
4030 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4031
4032 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
4033 so that help2man doesn't fail.
4034
4035 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4036
4037 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
4038 type in pointers on sparc64.
4039 (get_card_packet): Likewise.
4040
4041 2011-06-27 Colin Watson <cjwatson@ubuntu.com>
4042
4043 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
4044 with `*'.
4045 (grub_cmd_videoinfo): Fetch current video mode.
4046
4047 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4048
4049 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
4050 because of underlying system restrictions.
4051
4052 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4053
4054 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
4055 necessary.
4056
4057 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4058
4059 Coreboot video support.
4060
4061 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
4062 (vbe): Likewise.
4063 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
4064 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
4065 here ...
4066 * grub-core/kern/i386/int.S: ... here.
4067 * grub-core/video/i386/pc/vbe.c: Updated includes.
4068 * grub-core/video/i386/pc/vga.c: Likewise.
4069 * include/grub/i386/coreboot/memory.h
4070 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
4071 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
4072 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
4073 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
4074 Disable interrupts.
4075 * include/grub/i386/pc/vga.h: Removed. All users updated.
4076
4077 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4078
4079 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
4080 definitions for dprintf.
4081 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
4082
4083 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4084
4085 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
4086 prototype.
4087 (get_card_packet): Likewise.
4088
4089 2011-06-26 Yves Blusseau <blusseau@zetam.org>
4090
4091 Display the path of the file when file is not found
4092
4093 * grub-core/fs/fat.c: Display the filename when file is not found.
4094 * grub-core/fs/fshelp.c: Likewise.
4095 * grub-core/fs/hfs.c: Likewise.
4096 * grub-core/fs/jfs.c: Likewise.
4097 * grub-core/fs/minix.c: Likewise.
4098 * grub-core/fs/ufs.c: Likewise.
4099 * grub-core/fs/btrfs.c: Likewise.
4100 * grub-core/commands/i386/pc/play.c: Likewise.
4101
4102 2011-06-26 Szymon Janc <szymon@janc.net.pl>
4103
4104 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
4105 pointer checks before calling grub_free().
4106 * grub-core/commands/wildcard.c (match_devices): Likewise.
4107 * grub-core/commands/wildcard.c (match_files): Likewise.
4108 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
4109 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
4110 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
4111 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
4112 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
4113 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
4114 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
4115 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
4116 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
4117
4118 2011-06-25 Patrick <p55@mailinator.com>
4119
4120 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
4121
4122 2011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
4123
4124 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
4125 (grub_pxe_send): Likewise.
4126 (GRUB_MOD_INIT): Fix types.
4127
4128 2011-06-24 Szymon Janc <szymon@janc.net.pl>
4129
4130 * grub-core/io/xzio.c: Fix code style issues
4131
4132 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
4133 2011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
4134
4135 Network infrastructure.
4136 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
4137
4138 * include/grub/net/arp.h: New file.
4139 * include/grub/net/device.h: Likewise.
4140 * include/grub/net/ethernet.h: Likewise.
4141 * include/grub/net/ip.h: Likewise.
4142 * include/grub/net/netbuff.h: Likewise.
4143 * include/grub/net/tftp.h: Likewise.
4144 * include/grub/net/udp.h: Likewise.
4145 * include/grub/ieee1275/ofnet.h: Likewise.
4146 * include/grub/emu/export.h: Likewise.
4147 * include/grub/net.h: Likewise.
4148 * grub-core/net/arp.c: Likewise.
4149 * grub-core/net/ethernet.c: Likewise.
4150 * grub-core/net/ip.c: Likewise.
4151 * grub-core/net/udp.c: Likewise.
4152 * grub-core/net/tftp.c: Likewise.
4153 * grub-core/net/netbuff.c: Likewise.
4154 * grub-core/net/net.c: Likewise.
4155 * grub-core/net/drivers/emu/emunet.c: Likewise.
4156 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
4157 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
4158 export.h.
4159 * grub-core/Makefile.core.def (net): New module.
4160 (tftp): Likewise.
4161 (ofnet): Likewise.
4162 (emunet): Likewise.
4163 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
4164 network protocols.
4165 * grub-core/kern/device.c (grub_net_open) : New variable.
4166 (grub_device_open): Handle network device.
4167 (grub_device_close): Likewise.
4168 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
4169 (grub_grubnet_fini): Likewise.
4170 (grub_file_seek): Seek in network device.
4171 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
4172 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
4173 network root.
4174 (grub_machine_fini): Call grub_grubnet_fini.
4175 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
4176 network.
4177 (grub_ieee1275_get_aliasdevname): New function.
4178 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
4179 Add unofficial Solaris network info.
4180 (grub_multiboot_make_mbi): Likewise.
4181 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
4182 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
4183 * include/grub/device.h (grub_fs): Removed.
4184 * include/grub/err.h (grub_err_t): Add network-related values.
4185 * include/grub/i386/pc/pxe.h: Removed bootp parts.
4186 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
4187 (grub_ieee1275_get_aliasdevname): New proto.
4188 * include/grub/net.h: Rewritten.
4189
4190 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
4191
4192 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
4193 names.
4194
4195 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
4196
4197 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
4198 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
4199 it truncates the output.
4200 Reported by: Ximin Luo.
4201
4202 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
4203
4204 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
4205
4206 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
4207
4208 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
4209 partmap before abstraction.
4210
4211 2011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
4212
4213 * util/grub-mkconfig_lib.in: Add missing quotes.
4214
4215 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
4216
4217 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
4218 old method if mountinfo would return /dev/root and /dev/root doesn't
4219 exist.
4220
4221 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
4222
4223 ZFS zlib support
4224
4225 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
4226 (decomp_table): Add zlib entries.
4227 (zio_read): USe 8 bits for compression function rather than 3.
4228 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
4229
4230 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
4231
4232 * grub-core/disk/ahci.c: Add missing license statements.
4233 * grub-core/fs/romfs.c: Likewise.
4234 * grub-core/lib/ia64/setjmp.S: Likewise.
4235 * grub-core/loader/i386/pc/freedos.c: Likewise.
4236 * grub-core/loader/ia64/efi/linux.c: Likewise.
4237 * grub-core/video/colors.c: Likewise.
4238 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
4239
4240 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4241
4242 AHCI support.
4243
4244 * grub-core/Makefile.core.def (ata_pthru): Removed.
4245 (ahci): New module.
4246 (pata): Likewise.
4247 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
4248 on unload.
4249 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
4250 readwrite.
4251 (grub_hdparm_do_check_powermode_cmd): Likewise.
4252 (grub_hdparm_do_smart_cmd): Likewise.
4253 (grub_hdparm_set_val_cmd): Likewise.
4254 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
4255 * grub-core/disk/ahci.c: New file.
4256 * grub-core/disk/ata.c: Factor out the low-level part into ...
4257 * grub-core/disk/pata.c: ... here.
4258 * grub-core/disk/ata_pthru.c: Contents moved to ...
4259 * grub-core/disk/pata.c: ... here.
4260 * grub-core/disk/scsi.c (grub_scsi_names): New array.
4261 (grub_scsi_iterate): Use grub_scsi_names.
4262 (grub_scsi_open): Likewise.
4263 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
4264 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
4265 (grub_ata_regs_t): New struct.
4266 (grub_disk_ata_pass_through_parms): Likewise.
4267 (grub_ata_device): Renamed to ...
4268 (grub_ata): ... this.
4269 (grub_ata_dev): New struct.
4270 Removed all low-level inline functions.
4271 * include/grub/scsi.h: Add PATA and AHCI subsystems.
4272 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
4273 iterate hooks and open. All users updated.
4274 * util/grub-install.in: Handle AHCI disk module.
4275
4276 2011-06-23 Szymon Janc <szymon@janc.net.pl>
4277
4278 Add support for DRI and RSTn markers in JPEG files.
4279
4280 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
4281 (JPEG_MARKER_RST0): Likewise.
4282 (JPEG_MARKER_RST1): Likewise.
4283 (JPEG_MARKER_RST2): Likewise.
4284 (JPEG_MARKER_RST3): Likewise.
4285 (JPEG_MARKER_RST4): Likewise.
4286 (JPEG_MARKER_RST5): Likewise.
4287 (JPEG_MARKER_RST6): Likewise.
4288 (JPEG_MARKER_RST7): Likewise.
4289 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
4290 (grub_jpeg_decode_dri): New function.
4291 (grub_jpeg_decode_sos): Move image data related part into
4292 grub_jpeg_decode_data function.
4293 (grub_jpeg_decode_data): New function.
4294 (grub_jpeg_reset): New function.
4295 (grub_jpeg_decode_jpeg): Handle new markers.
4296
4297 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4298
4299 * util/ieee1275/ofpath.c (check_sas): Close fd.
4300 (main): Free of_path.
4301 Reported by: David Volgyes <dvolgyes>.
4302
4303 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4304
4305 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
4306 Reported by: David Volgyes <dvolgyes>.
4307
4308 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4309
4310 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
4311 file after stat.
4312 Reported by: David Volgyes <dvolgyes>.
4313
4314 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4315
4316 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
4317
4318 Reported by: David Volgyes <dvolgyes>.
4319
4320 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4321
4322 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
4323 Prevent memory leak.
4324
4325 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4326
4327 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
4328 (main): Close file.
4329 Reported by: David Volgyes <dvolgyes>.
4330
4331 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4332
4333 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
4334 to continue if allocation is failed.
4335
4336 Reported by: David Volgyes <dvolgyes>.
4337
4338 2011-06-23 David Volgyes <dvolgyes>
4339
4340 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
4341 dereference.
4342
4343 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4344
4345 Fix spurious warning.
4346
4347 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
4348 (acorn_partition_map_find): Use .bin member.
4349
4350 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4351
4352 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
4353 /dev/root as a valid device.
4354
4355 2011-06-23 Jim Meyering <meyering@redhat.com>
4356
4357 Avoid NULL deref in grub_device_open.
4358
4359 * grub-core/kern/device.c (grub_device_open): Don't dereference
4360 a NULL pointer upon failed grub_env_get.
4361
4362 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4363
4364 Support non-512B sectors and agglomerate reads.
4365
4366 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
4367 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
4368 (disk_io_guid): Removed.
4369 (make_devices): Locate solely by BlockIO.
4370 (grub_efidisk_open): Fill log_sector_size and total_sectors.
4371 (grub_efidisk_read): Use read_blocks.
4372 (grub_efidisk_write): Use write_blocks.
4373 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
4374 log_sector_size.
4375 (get_safe_sectors): Handle non-512B sectors.
4376 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
4377 sectors.
4378 (grub_biosdisk_write): Handle non-512B sectors.
4379 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
4380 (grub_scsi_read): Remove special non-512B block handling (now handled
4381 one level up).
4382 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
4383 and do sanity checks.
4384 (grub_disk_adjust_range): Handle non-512B sectors.
4385 (transform_sector): New function.
4386 (grub_disk_read_small): Likewise.
4387 (grub_disk_read): Rewritten.
4388 (grub_disk_write): Handle non-512B sectors.
4389 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
4390 log_sector_size.
4391 (open_device): Use log_sector_size.
4392 (grub_util_biosdisk_read): Likewise.
4393 (grub_util_biosdisk_write): Likewise.
4394 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
4395 non-512B sectors.
4396 (pc_partition_map_embed): Likewise.
4397 * include/grub/disk.h (grub_disk): New field log_sector_size.
4398 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
4399 (GRUB_DISK_CACHE_BITS): Increased to 6.
4400 * util/grub-fstest.c (fstest): New command testload.
4401 (argp_parser): Likewise.
4402
4403 2011-06-16 Robert Millan <rmh@gnu.org>
4404
4405 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
4406 `ata' driver on kernel of FreeBSD 9.
4407
4408 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
4409 (get_ataraid_disk_name): New functions.
4410 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
4411 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
4412 get_ataraid_disk_name() and get_ada_disk_name().
4413
4414 2011-06-13 Colin Watson <cjwatson@ubuntu.com>
4415
4416 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
4417 input format.
4418
4419 2011-05-29 Colin Watson <cjwatson@ubuntu.com>
4420
4421 * docs/grub.texi (Obtaining and Building GRUB): Substitute
4422 `ftp.gnu.org' for `alpha.gnu.org'.
4423
4424 2011-05-27 Colin Watson <cjwatson@ubuntu.com>
4425
4426 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
4427 partitions under /dev/disk/by-id/.
4428
4429 2011-05-27 Colin Watson <cjwatson@ubuntu.com>
4430
4431 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
4432 after ten consecutive open failures. Scanning all the way up to
4433 10000 is excessive and can cause serious performance problems in
4434 some configurations.
4435 Fixes Ubuntu bug #787461.
4436
4437 2011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
4438
4439 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
4440 opening new one.
4441
4442 2011-05-21 Colin Watson <cjwatson@ubuntu.com>
4443 2011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
4444
4445 Don't stat devices unless we have to.
4446
4447 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
4448 dir == /dev/mapper.
4449 (grub_guess_root_device): Use already known os_dev if possible.
4450 * grub-core/kern/emu/hostdisk.c
4451 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
4452 if device is known to be a dm one.
4453
4454 2011-05-20 Colin Watson <cjwatson@ubuntu.com>
4455
4456 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
4457 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
4458 Reported by: Pawel Tecza.
4459
4460 2011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
4461
4462 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
4463 (lsefisystab): Likewise.
4464 (lssal): Likewise.
4465 (lsefimmap): Likewise.
4466 (hdparm): Enable on qemu-mips.
4467 (setjmp): Add ia64 nodist.
4468 (serial): Simplify tags.
4469
4470 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
4471
4472 * Makefile.util.def (grub-ofpathname): Install manual page.
4473
4474 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
4475
4476 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
4477
4478 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
4479
4480 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
4481
4482 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
4483
4484 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
4485 into dprintf.
4486
4487 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
4488
4489 Use full 64-bit division.
4490
4491 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
4492 (grub_divmod64): ... this.
4493 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
4494 version.
4495
4496 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
4497
4498 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
4499 `source'.
4500
4501 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
4502
4503 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
4504 to avoid accidents when debugging with 'sh -x'.
4505 * grub-core/gensyminfo.sh.in: Likewise.
4506 * tests/example_scripted_test.in: Likewise.
4507 * tests/grub_cmd_regexp.in: Likewise.
4508 * tests/grub_script_blanklines.in: Likewise.
4509 * tests/grub_script_dollar.in: Likewise.
4510 * tests/grub_script_expansion.in: Likewise.
4511 * tests/grub_script_final_semicolon.in: Likewise.
4512 * tests/partmap_test.in: Likewise.
4513 * tests/util/grub-shell-tester.in: Likewise.
4514 * tests/util/grub-shell.in: Likewise.
4515
4516 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
4517
4518 Move gfxmenu color handling to video, so that gfxterm can use it
4519 too.
4520
4521 * grub-core/gfxmenu/named_colors.c: Move to ...
4522 * grub-core/video/colors.c: ... here. Rename
4523 grub_gui_get_named_color to grub_video_get_named_color.
4524 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
4525 * grub-core/video/colors.c (my_isxdigit): ... here.
4526 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
4527 Move to ...
4528 * grub-core/video/colors.c (parse_hex_color_component): ... here.
4529 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
4530 to ...
4531 * grub-core/video/colors.c (grub_video_parse_color): ... here.
4532
4533 * include/grub/gui.h (grub_gui_color_t): Move to ...
4534 * include/grub/video.h (grub_video_rgba_color_t): ... here.
4535 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
4536 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
4537 * include/grub/gui.h (grub_gui_map_color): Move to ...
4538 * include/grub/video.h (grub_video_map_rgba_color): ... here.
4539 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
4540 to ...
4541 * include/grub/video.h (grub_video_get_named_color): ... here.
4542 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
4543 * include/grub/video.h (grub_video_parse_color): ... here.
4544
4545 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
4546 video/colors.c.
4547 (gfxmenu): Remove gfxmenu/named_colors.c.
4548 (video) [videomodules]: Add video/colors.c.
4549
4550 Add a background_color command.
4551
4552 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
4553 function.
4554 (GRUB_MOD_INIT): Register background_color command.
4555 (GRUB_MOD_FINI): Unregister background_color command.
4556 (redraw_screen_rect): Allow blend/replace of text layer to be
4557 controlled independently from whether there is a background bitmap.
4558 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
4559 changing bitmap.
4560
4561 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
4562
4563 Patch BPB in ntldr and chainloader --bpb.
4564
4565 * grub-core/fs/fat.c: Include grub/fat.h.
4566 (grub_fat_bpb): Moved to ...
4567 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
4568 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
4569 grub/ntfs.h.
4570 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
4571 Moved from here...
4572 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
4573 here.
4574 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
4575 New function.
4576 (grub_chainloader_cmd): Patch BPB if --bpb is given.
4577 (GRUB_MOD_INIT): Show --bpb.
4578 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
4579 * grub-core/normal/main.c (features): New variable.
4580 (GRUB_MOD_INIT): Set feature_* variables.
4581 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
4582 proto.
4583 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
4584
4585 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
4586
4587 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
4588 for cleanness.
4589
4590 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
4591
4592 FreeDOS direct loading support.
4593
4594 * docs/grub.texi (Supported OS): Add FreeDOS.
4595 * grub-core/Makefile.core.def (freedos): New module.
4596 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
4597 variable.
4598 (grub_relocator16_boot): Handle %ebx.
4599 * grub-core/lib/i386/relocator16.S: Likewise.
4600 * grub-core/loader/i386/pc/freedos.c: New file.
4601
4602 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
4603
4604 Long Linux command line support.
4605
4606 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
4607 (maximal_cmdline_size): New variable.
4608 (allocate_pages): Use maximal_cmdline_size.
4609 (grub_cmd_linux): Set and use maximal_cmdline_size.
4610 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
4611 (allocate_pages): Use maximal_cmdline_size.
4612 (grub_cmd_linux): Set and use maximal_cmdline_size.
4613 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
4614 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
4615 and cmdline_size.
4616
4617 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
4618 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
4619
4620 Improve devmapper support
4621
4622 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
4623 (grub_util_is_lvm): New function.
4624 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
4625 than lvm if not dmraid.
4626 Handle mapped md nodes.
4627 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
4628 (grub_util_device_is_mapped): ... this. Make always available. All users
4629 updated.
4630 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
4631 (convert_system_partition_to_system_disk): Handle lvm, mpath and
4632 dmraid nodes.
4633 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
4634
4635 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
4636
4637 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
4638
4639 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
4640 * grub-core/modinfo.sh.in: New file.
4641 * grub-core/Makefile.core.def (modinfo.sh): New script.
4642 * util/grub-mknetdir.in: Use modinfo.sh.
4643 * util/grub-mkrescue.in: Likewise.
4644
4645 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
4646
4647 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
4648 Fix potential usage of Elf32 instead of Elf64 when compiling on
4649 32-bit architecture. Add endianness macros while on it.
4650
4651 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
4652
4653 Use mipsel- rather than mips- in directories involving mipsel ports to
4654 allow both endiannesses coexist.
4655
4656 * configure.ac: proparate target_cpu=mipsel rather than resetting to
4657 mips. All conditions adjusted.
4658 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
4659 variable.
4660 * util/grub-install.in: Adjust conditions to take renaming into account.
4661 * util/grub-mkimage.c (image_targets): Likewise. New target
4662 mips-qemu_mips-elf for bigendian mips.
4663
4664 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
4665
4666 Avoid unnecessary copying on MIPS.
4667
4668 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
4669 early if src == dest.
4670 * util/grub-mkimage.c (generate_image): Arange for src == dest if
4671 compression is none.
4672
4673 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
4674
4675 Reduce memory footprint on SGI by putting modules before the kernel
4676 as opposed to after.
4677
4678 * grub-core/Makefile.core.def (kernel): Increase linking address.
4679 (none_decompress): Likewise.
4680 (xz_decompress): Likewise.
4681 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
4682 address.
4683 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
4684 layout change.
4685 (grub_arch_modules_addr): New function.
4686 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
4687 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
4688 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
4689 here.
4690 * grub-core/kern/mips/startup.S (total_size): Rename to ...
4691 (grub_total_modules_size): ... this. Make global.
4692 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
4693 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
4694 New definition.
4695 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
4696 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
4697 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
4698 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
4699 * util/grub-mkimage.c (image_target_desc): New flag
4700 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
4701 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
4702 (generate_image): Handle images with modules before kernel.
4703
4704 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
4705
4706 Prevent potential loss of memory map by overwrite on qemu-mips.
4707
4708 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
4709 Save ram size in $s4.
4710 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
4711 All users changed to grub_arch_memsize.
4712 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
4713 Loongson.
4714 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
4715 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
4716 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
4717 external variable.
4718
4719 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
4720
4721 * .bzrignore: Remove grub-dumpbios.
4722
4723 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
4724
4725 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
4726 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
4727 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
4728 existing options which append).
4729 * docs/grub.texi (Simple configuration): Document new options.
4730 Reported by: Ian Jackson. Fixes Debian bug #617538.
4731
4732 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
4733
4734 * util/grub-fstest.c (cmd_cat): New function.
4735 (fstest): Handle CMD_CAT.
4736 (options): Add cat.
4737 (argp_parser): Handle cat.
4738
4739 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
4740
4741 * Makefile.util.def (grub-bin2h): Don't install.
4742 * docs/man/grub-bin2h.h2m: Remove.
4743
4744 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
4745
4746 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
4747 place.
4748
4749 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
4750
4751 Reenable qemu-mips port.
4752
4753 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
4754 Fix small arc bug while on it.
4755 * gentpl.py: Handle qemu_mips.
4756 * grub-core/Makefile.am: Likewise.
4757 * grub-core/Makefile.core.def: Likewise.
4758 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
4759 inappropriate includes.
4760 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
4761 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
4762 * grub-core/kern/main.c (grub_modules_get_end)
4763 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
4764 * grub-core/kern/mips/qemu-mips: Moved to ..
4765 * grub-core/kern/mips/qemu_mips: ... this.
4766 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
4767 (grub_machine_init): Call terminfo_init and serial_init.
4768 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
4769 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
4770 New variable.
4771 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
4772 parameter passing.
4773 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
4774 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
4775 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
4776 * include/grub/mips/qemu_mips/cmos.h: New file.
4777 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
4778 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
4779 Removed.
4780 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
4781 Use correct mips-style address.
4782 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
4783 (GRUB_TICKS_PER_SECOND): Removed.
4784 (grub_get_rtc): Likewise.
4785 (grub_cpu_idle): Likewise.
4786 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
4787 New definition.
4788 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
4789 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
4790 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
4791 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
4792 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
4793 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
4794 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
4795 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
4796
4797 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
4798
4799 SGI ARCS port.
4800
4801 * Makefile.util.def (libgrubmods.a): Add dvh.c.
4802 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
4803 platforms.
4804 * configure.ac: New target mips-arc.
4805 * gentpl.py: Likewise.
4806 * grub-core/Makefile.am: Likewise.
4807 * grub-core/Makefile.core.def: Likewise.
4808 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
4809 (none_decompress): Likewise.
4810 (lsdev): New module.
4811 (datetime): Use lib/arc/datetime.c on ARC.
4812 (part_dvh): New module.
4813 * grub-core/commands/arc/lsdev.c: New file.
4814 * grub-core/disk/arc/arcdisk.c: Likewise.
4815 * grub-core/kern/mips/arc/init.c: Likewise.
4816 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
4817 aligned addresses.
4818 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
4819 support.
4820 (grub_arch_dl_relocate_symbols): Likewise.
4821 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
4822 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
4823 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
4824 platforms.
4825 * grub-core/lib/arc/datetime.c: New file.
4826 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
4827 pci.h on non-loongson.
4828 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
4829 (grub_linux_boot): Set unused registers to 0.
4830 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
4831 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
4832 * grub-core/mmap/mips/uppermem.c: ...here.
4833 * grub-core/partmap/dvh.c: New file.
4834 * grub-core/term/arc/console.c: Likewise.
4835 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
4836 (grub_terminfo_set_current): Add terminal "arc".
4837 (grub_terminfo_readkey): Support ARC sequences.
4838 * include/grub/arc/arc.h: New file.
4839 * include/grub/arc/console.h: Likewise.
4840 * include/grub/disk.h (grub_disk_dev_id): Add
4841 GRUB_DISK_DEVICE_ARCDISK_ID.
4842 * include/grub/mips/arc/kernel.h: New file.
4843 * include/grub/mips/arc/memory.h: Likewise.
4844 * include/grub/mips/arc/time.h: Likewise.
4845 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
4846 * include/grub/mips/kernel.h (grub_halt): ... here.
4847 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
4848 here...
4849 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
4850 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
4851 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
4852 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
4853 proto.
4854 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
4855 from here ...
4856 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
4857 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
4858 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
4859 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
4860 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
4861 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
4862 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
4863 (grub_phys_addr_t): Moved from here ...
4864 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
4865 (grub_vtop): Moved from here ...
4866 * include/grub/mips/memory.h (grub_vtop): ... here.
4867 (grub_map_memory): Moved from here ...
4868 * include/grub/mips/memory.h (grub_map_memory): ... here.
4869 (grub_unmap_memory): Moved from here ...
4870 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
4871 (grub_machine_mmap_iterate): Moved from here ...
4872 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
4873 (grub_mmap_get_lower): Moved from here ...
4874 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
4875 (grub_mmap_get_upper): Moved from here ...
4876 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
4877 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
4878 here ...
4879 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
4880 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
4881 here ...
4882 * include/grub/mips/time.h (grub_get_rtc): ... here.
4883 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
4884 here ...
4885 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
4886 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
4887 here ...
4888 * include/grub/mips/time.h (grub_cpu_idle): ... here.
4889 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
4890 definition.
4891 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
4892 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
4893 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
4894 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
4895 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
4896 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
4897 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
4898 (GRUB_MACHINE_LINK_ADDR): Likewise.
4899 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
4900 to 6.
4901 * util/grub-install.in: Run dvhtool on ARC.
4902 * util/grub-mkimage.c (image_targets): Add mips-arc.
4903 (generate_image): Handle ECOFF output for mips-arc.
4904
4905 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
4906
4907 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
4908 blocks.
4909
4910 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
4911
4912 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
4913 after enabling port.
4914
4915 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
4916
4917 Skip incorrect USB devices.
4918
4919 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
4920 configcnt == 0.
4921 * include/grub/usb.h (grub_usb_err_t): New enum value
4922 GRUB_USB_ERR_BADDEVICE.
4923
4924 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
4925
4926 Fuloong video init support.
4927
4928 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
4929 well.
4930 (grub_vga_read_arx): New function.
4931 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
4932 definition.
4933 (framebuffer): New members io, mmioptr and mmiobase.
4934 (read_sis_cmd): New function.
4935 (write_sis_cmd): Likewise.
4936 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
4937 rather than 640x400.
4938 * grub-core/video/sis315_init.c: New file.
4939
4940 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
4941
4942 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
4943 non-loongson.
4944 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
4945 to grub_dl_register_symbol.
4946
4947 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
4948
4949 Fix compilation errors.
4950
4951 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
4952 potentially unused.
4953 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
4954 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
4955 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
4956 to loongson machines.
4957
4958 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
4959
4960 Several FS mtime support.
4961
4962 * grub-core/fs/affs.c (grub_affs_time): New struct.
4963 (grub_affs_file): New field mtime.
4964 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
4965 type. Removed 'size'. New field 'di'. All users updated.
4966 (grub_affs_mount): Simplify checsum checking.
4967 (grub_affs_iterate_dir): New helper grub_affs_create_node.
4968 (grub_affs_dir): Handle mtime.
4969 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
4970 (grub_cpio_dir): Likewise.
4971 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
4972 (grub_hfs_filerec): New field mtime.
4973 (grub_hfs_dir): Handle mtime.
4974 (grub_hfs_mtime): New function.
4975 (grub_hfs_fs): Register grub_hfs_mtime.
4976 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
4977 (grub_iso9660_dir): New field mtime.
4978 (grub_fshelp_node): New field dirent.
4979 (iso9660_to_unixtime): New function.
4980 (iso9660_to_unixtime2): Likewise.
4981 (grub_iso9660_read_symlink): Use node->dirent.
4982 (grub_iso9660_iterate_dir): Likewise.
4983 (grub_iso9660_dir): Set mtime.
4984 (grub_iso9660_mtime): New function.
4985 (grub_iso9660_fs): Register grub_iso9660_mtime.
4986 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
4987 (grub_jfs_inode): New fields atime, ctime and mtime.
4988 (grub_jfs_dir): Set mtime.
4989 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
4990 * grub-core/fs/ntfs.c (list_file): Set mtime.
4991 (grub_ntfs_dir): Likewise.
4992 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
4993 (grub_reiserfs_iterate_dir): Set mtime.
4994 (grub_reiserfs_dir): Likewise.
4995 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
4996 (grub_fshelp_node): Likewise.
4997 (grub_sfs_iterate_dir): Set mtime.
4998 (grub_sfs_dir): Likewise.
4999 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
5000 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
5001 (grub_xfs_inode): New fields atime, mtime, ctime.
5002 (grub_xfs_dir): Set mtime.
5003 * include/grub/datetime.h (grub_datetime2unixtime): New function.
5004 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
5005 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
5006
5007 Support UDF symlinks.
5008
5009 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
5010 (grub_ufs_read_symlink): New function. All users updated.
5011
5012 Check amiga partmap checksum.
5013
5014 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
5015 (grub_amiga_partition): Likewise.
5016 (amiga_partition_map_checksum): New function.
5017 (amiga_partition_map_iterate): Check checksum.
5018
5019 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
5020
5021 ROMFS support.
5022
5023 * Makefile.util.def (libgrubmods.a): Add romfs.
5024 * grub-core/Makefile.core.def (romfs): New module.
5025 * grub-core/fs/romfs.c: New file.
5026
5027 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
5028
5029 Squashfs v4 support.
5030
5031 * Makefile.util.def (libgrubmods.a): Add squash4.
5032 * grub-core/Makefile.core.def (squash4): New module.
5033 * grub-core/fs/squash4.c: New file.
5034 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
5035 disk_input_start, disk_input.
5036 (get_byte): Handle disk_input.
5037 (grub_zlib_disk_read): New function.
5038 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
5039
5040 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
5041 2011-05-15 Feiran Zheng <famcool@gmail.com>
5042
5043 * Makefile.util.def (libgrubmods.a): Add minix3.
5044 * grub-core/Makefile.core.def (minix3): New module.
5045 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
5046 (GRUB_MINIX_BSIZE): Removed.
5047 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
5048 (grub_minix_ino_t): New type.
5049 (grub_minix_le_to_cpu_ino): New macro.
5050 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
5051 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
5052 (grub_minix_data): New field block_size.
5053 (grub_minix_read_file): Handle 64-bit correctly.
5054 * grub-core/fs/minix3.c: New file.
5055
5056 2011-05-15 Tristan Gingold <gingold@free.fr>
5057 2011-05-15 Robert Millan <rmh.grub@aybabtu.com>
5058 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
5059
5060 IA64 support.
5061
5062 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
5063 * configure.ac: Add ia64-efi target.
5064 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
5065 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
5066 * gentpl.py: Add ia64_efi platform.
5067 Rename x86_efi to efi and Add ia64-efi. All users updated.
5068 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
5069 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
5070 Remove kern/generic/rtc_get_time_ms.c on EFI.
5071 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
5072 kern/ia64/dl_helper.c on ia64-efi.
5073 Add kern/emu/cache.c on emu.
5074 (linux): Use on loader/ia64/efi/linux.c on ia64.
5075 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
5076 whether symbol is a function.
5077 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
5078 (grub_symbol): New field 'isfunc'.
5079 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
5080 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
5081 (grub_dl_load_segments): Place all sections into the same region.
5082 [__ia64__]: Create trampolines and got.
5083 [GRUB_MACHINE_EMU]: Call mprotect.
5084 (grub_dl_resolve_symbols): Resolve symbol type as well.
5085 [__ia64__]: Create function descriptors.
5086 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
5087 (grub_rtc_get_time_ms): ... this. Expressions simplified.
5088 (grub_get_rtc): New function.
5089 * grub-core/kern/emu/cache.c [__ia64__]: New file.
5090 * grub-core/kern/emu/cache.S: Renamed to ...
5091 * grub-core/kern/emu/cache_s.S: ... this.
5092 [__ia64__]: Add a nop.
5093 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
5094 [__ia64__]: New function.
5095 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
5096 * grub-core/kern/ia64/dl.c: New file.
5097 * grub-core/kern/ia64/dl_helper.c: Likewise.
5098 * grub-core/kern/ia64/efi/init.c: New file.
5099 * grub-core/kern/ia64/efi/startup.S: Likewise.
5100 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
5101 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
5102 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
5103 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
5104 * grub-core/loader/ia64/efi/linux.c: New file.
5105 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
5106 (GRUB_MOD_DEP): Likewise.
5107 (grub_dl) [__ia64__]: New fields got and tramp.
5108 (grub_dl): New field 'base'.
5109 (grub_dl_register_symbol): New argument isfunc. All users updated.
5110 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
5111 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
5112 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
5113 (grub_ia64_dl_get_tramp_got_size): New proto.
5114 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
5115 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
5116 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
5117 * include/grub/efi/api.h: Skip call wrappers on ia64.
5118 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
5119 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
5120 * include/grub/elf.h (ELF_ST_INFO): New definition.
5121 * include/grub/ia64/efi/kernel.h: New file.
5122 * include/grub/ia64/efi/memory.h: Likewise.
5123 * include/grub/ia64/efi/time.h: Likewise.
5124 * include/grub/ia64/kernel.h: Likewise.
5125 * include/grub/ia64/setjmp.h: Likewise (from glibc).
5126 * include/grub/ia64/time.h: New file.
5127 * include/grub/ia64/types.h: Likewise.
5128 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
5129 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
5130 New protos.
5131 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
5132 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
5133 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
5134 * util/grub-mkimage.c (image_target_desc): New field pe_target.
5135 All users updated.
5136 (EFI64_HEADER_SIZE): New definition. All users updated.
5137 (image_targets): Add ia64-efi.
5138 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
5139 jumpers_addr. All users updated.
5140 Create function descriptors.
5141 (count_funcs): New function.
5142 (unaligned_uint32): New struct.
5143 (MASK20): New definition.
5144 (MASK19): Likewise.
5145 (MASKF21): Likewise.
5146 (add_value_to_slot_20b): New function.
5147 (add_value_to_slot_21_real): Likewise.
5148 (add_value_to_slot_21): Likewise.
5149 (ia64_kernel_trampoline): New struct.
5150 (nopm): New variable.
5151 (jump): Likewise.
5152 (make_trampoline): New function.
5153 (relocate_addresses): Handle ia64.
5154 (make_reloc_section): Likewise.
5155 (load_image): Likewise.
5156
5157 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
5158
5159 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
5160 warning. Move variables before code while on it.
5161
5162 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
5163
5164 Fuloong support.
5165
5166 * configure.ac: Rename yeeloong platform to loongson. All users updated.
5167 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
5168 * grub-core/boot/mips/loongson/fuloong.S: New file.
5169 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
5170 Explicitly init CS5536.
5171 [FULOONG]: Don't use serial until CS5536 is available.
5172 Set GPIO based on dumps.
5173 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
5174 [FULOONG]: Handle GPIO and memory controller differences.
5175 Parse machine type in $a2.
5176 * grub-core/boot/mips/startup_raw.S: Determine and save the
5177 architecture.
5178 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
5179 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
5180 init on architecture type.
5181 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
5182 SIS315E. Don't init at_keyboard on fuloong.
5183 (grub_halt): Support Fuloong.
5184 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
5185 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
5186 (loongson_machtypes): New array.
5187 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
5188 type.
5189 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
5190 config. All users updated. Handle CS5536 serial.
5191 * grub-core/term/serial.c (grub_serial_register): Conditionalise
5192 default port on machine type. Register serial as inactive.
5193 * grub-core/video/sis315pro.c: New file.
5194 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
5195 definition.
5196 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
5197 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
5198 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
5199 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
5200 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
5201 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
5202 to ...
5203 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
5204 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
5205 definition.
5206 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
5207 (grub_arch_machine): New extern var.
5208 * include/grub/mips/loongson/serial.h
5209 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
5210 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
5211 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
5212 (GRUB_MACHINE_SERIAL_PORT0): ... this.
5213 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
5214 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
5215 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
5216 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
5217 * include/grub/term.h (grub_term_register_input_inactive): New inline
5218 function.
5219 (grub_term_register_output_inactive): Likewise.
5220 * include/grub/video.h (grub_video_driver_id): New value
5221 GRUB_VIDEO_DRIVER_SIS315PRO.
5222 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
5223 New field "names". All users updated.
5224 New field value IMAGE_FULOONG_FLASH.
5225 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
5226
5227 2011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
5228
5229 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
5230 and add some clarification.
5231
5232 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5233
5234 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
5235 platforms if kernel is compressed.
5236
5237 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5238
5239 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
5240 unused modules since currently referrence counter isn't reliable and
5241 there isn't much memory to recover there anyway.
5242
5243 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5244
5245 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
5246 rather than resetting it to allow modules to reference themselves
5247 in init.
5248
5249 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5250
5251 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
5252 counter on dependencies since grub_dl_unref already handles this.
5253
5254 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5255
5256 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
5257 on error if not already done.
5258
5259 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5260
5261 Fix few potential memory misusage.
5262
5263 * grub-core/font/font.c (load_font_index): Don't free char_index to
5264 avoid double free.
5265 (grub_font_load): Zero-fill font at alloc for safety.
5266 Close file on error.
5267 (free_font): Free bmp_idx.
5268
5269 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5270
5271 * docs/grub.texi (Installation): Fix several outdated claims.
5272
5273 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5274
5275 Handle module_license on windows.
5276
5277 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
5278 sections shifted.
5279 (insert_string): Make argument const char * instead of char *.
5280 (write_section_data): Handle long section names.
5281 Handle module_license.
5282
5283 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5284
5285 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
5286 handle class-free menuentries.
5287 (grub_normal_add_menu_entry): Add a check to be sure.
5288
5289 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5290
5291 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
5292 PgUp and PgDown.
5293
5294 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
5295
5296 * configure.ac: Bump version to 1.99.
5297
5298 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
5299
5300 Give ATA device a bit more time on first try in order to allow disks
5301 to spin up.
5302
5303 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
5304 if dev->present is 1. Reset dev->present on failure.
5305 (grub_ata_device_initialize): Set dev->present to 1.
5306 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
5307 (grub_ata_device): New member 'present'.
5308
5309 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
5310
5311 * util/grub-mkimage.c (generate_image): Update hash.
5312
5313 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
5314
5315 Flush caches on DMA memory.
5316
5317 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
5318 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
5319 (grub_dma_free): Likewise.
5320 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
5321
5322 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
5323
5324 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
5325 to avoid asm treating ld and sd as macros.
5326
5327 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
5328
5329 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
5330 decompressor.
5331
5332 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
5333
5334 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
5335 grub_decompress_core since later would fail if grub_decompress_core
5336 is too far.
5337
5338 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
5339
5340 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
5341 R_MIPS_JALR since it's used by newer compiler.
5342
5343 2011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
5344
5345 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
5346
5347 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
5348
5349 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
5350 file_path to 0 for surety.
5351 (grub_chainloader_boot): Set exit_data to NULL.
5352 Unset the loader once done.
5353 (grub_cmd_chainloader): Fix confusing error message if file is empty.
5354
5355 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
5356
5357 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
5358 unknown key into a dprintf.
5359
5360 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
5361
5362 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
5363 on first non-existant partition.
5364
5365 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
5366
5367 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
5368 openning fails.
5369 Reported by: Mark Korenberg.
5370
5371 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
5372
5373 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
5374 overflow.
5375
5376 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
5377
5378 * util/grub-mkimage.c (main): Explicitely flush and sync the output
5379 before closing to ensure that it will be readable by grub-setup.
5380
5381 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
5382
5383 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
5384 (devpath_1): Use MAKE_PIWG_PATH.
5385 (devpath_2): Likewise.
5386 (devpath_3): Likewise.
5387 (devpath_4): Likewise.
5388 (devpath_5): Likewise.
5389 (devpath_6): Likewise.
5390
5391 The appleldr.mod was checked that to be binary identical to previous
5392 version.
5393
5394 2011-05-05 Zach <mikezackles>
5395
5396 Support 2010 Macbooks.
5397
5398 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
5399 (devs): Add devpath_6.
5400
5401 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
5402
5403 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
5404 /dev/random. /dev/urandom is good enough for our purposes (salting).
5405
5406 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
5407
5408 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
5409
5410 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
5411
5412 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
5413 hexadecimal.
5414
5415 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
5416
5417 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
5418 and not 0 on failure.
5419
5420 2011-05-03 Colin Watson <cjwatson@ubuntu.com>
5421
5422 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
5423 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
5424 disk; otherwise grub_fs_probe will not fall back to the next
5425 filesystem.
5426 (grub_pxefs_open): Likewise, for consistency.
5427 Reported and tested by: Ezekiel Grave.
5428
5429 2011-05-03 Colin Watson <cjwatson@ubuntu.com>
5430
5431 * tests/partmap_test.in: Don't hardcode path to parted.
5432 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
5433
5434 2011-05-01 Colin Watson <cjwatson@ubuntu.com>
5435
5436 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
5437 of `ls' to find out which devices are available.
5438
5439 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5440
5441 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
5442 than source address for efi mmap buffer.
5443
5444 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5445
5446 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
5447 wrong action on non-detecting the magic.
5448
5449 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5450
5451 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
5452 already supplied by another part of the module (fixes compilation on
5453 FreeBSD).
5454
5455 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5456
5457 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
5458 match the one used by mdadm.
5459
5460 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
5461
5462 * po/README: Add instructions for creating po/LINGUAS.
5463
5464 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
5465
5466 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
5467 #551428.
5468
5469 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
5470 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
5471 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
5472 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
5473 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
5474 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
5475 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
5476 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
5477 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
5478 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
5479 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
5480 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
5481 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
5482 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
5483 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
5484 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
5485 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
5486 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
5487 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
5488 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
5489 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
5490 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
5491
5492 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
5493
5494 * grub-core/kern/emu/getroot.c
5495 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
5496 test that was incorrectly reintroduced in r3214.
5497 Reported by: Ian Dall. Fixes Savannah bug #33133.
5498
5499 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
5500
5501 Fix stack pointer handling in 16-bit relocator.
5502
5503 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
5504 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
5505 Fixes Ubuntu bug #683904.
5506
5507 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
5508
5509 * configure.ac: Bump version to 1.99~rc2.
5510
5511 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
5512
5513 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
5514 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
5515 * grub-core/lib/x86_64/setjmp.S: Likewise.
5516 * grub-core/lib/mips/setjmp.S: Likewise.
5517 * grub-core/lib/powerpc/setjmp.S: Likewise.
5518 * grub-core/lib/sparc64/setjmp.S: Likewise.
5519
5520 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
5521
5522 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
5523 * grub-core/lib/efi/datetime.c: Likewise.
5524
5525 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
5526
5527 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
5528 New function.
5529 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
5530 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
5531 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
5532
5533 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
5534
5535 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
5536 bitmap.
5537 (grub_gfxterm_term_init): Likewise.
5538
5539 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
5540
5541 Take into account the decorations the computing menu entry width.
5542
5543 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
5544 (grub_gfxmenu_create_box): Register get_border_width.
5545 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
5546 if available.
5547 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
5548 get_border_width.
5549
5550 2011-04-18 Endres Puschner <code@e7p.de>
5551
5552 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
5553 Don't skip first class.
5554
5555 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5556
5557 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
5558 chunks.
5559 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
5560
5561 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5562
5563 Complete 64-bit division support.
5564
5565 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
5566 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
5567 * include/grub/misc.h (grub_divmod64): Rename to ...
5568 (grub_divmod64_full): ... this.
5569 (grub_divmod64): New inline function.
5570
5571 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5572
5573 * util/grub-mkimage.c (generate_image): Add forgotten comma.
5574
5575 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5576
5577 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
5578 performing the necessary test.
5579
5580 2011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
5581
5582 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
5583 (kfreebsd.elf): Likewise.
5584 (pc-chainloader.elf): Likewise.
5585 (ntldr.elf): Likewise.
5586
5587 2011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
5588
5589 Identify RAID by its UUID rather than (guessed) name.
5590
5591 * grub-core/disk/raid.c (ascii2hex): New function.
5592 (grub_raid_open): Accept mduuid/%s specification.
5593 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
5594 (get_mdadm_uuid): ... this.
5595 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
5596
5597 2011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
5598
5599 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
5600 to negative size.
5601
5602 2011-04-13 Colin Watson <cjwatson@ubuntu.com>
5603
5604 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
5605 btrfs subvolume.
5606 * util/grub.d/20_linux_xen.in: Likewise.
5607
5608 2011-04-13 Colin Watson <cjwatson@ubuntu.com>
5609
5610 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
5611 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
5612
5613 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
5614 Build a list of relevant visible mounts using the mnt_id and
5615 parent_mnt_id fields, and then scan that list at the end.
5616
5617 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
5618
5619 * docs/grub.texi (normal): New section.
5620 (normal_exit): New section.
5621 (Embedded configuration): Add reference to normal.
5622 (GRUB only offers a rescue shell): Likewise.
5623 * docs/grub-dev.texi (Error Handling): Fix typo.
5624
5625 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
5626
5627 * NEWS: Drop obsolete entry about probe-only btrfs support.
5628
5629 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
5630
5631 * util/import_gcry.py: Fix typo.
5632
5633 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5634
5635 * NEWS: Add btrfs support.
5636
5637 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5638 2011-04-11 Colin Watson <cjwatson@ubuntu.com>
5639
5640 BtrFS support. Written by me (Vladimir) with important bugfixes and
5641 even more important testing by Colin.
5642
5643 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
5644 * grub-core/Makefile.core.def (btrfs): Add crc.c.
5645 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
5646 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
5647 mem_input_off and mem_input. All users updated to accept in-RAM input.
5648 (gzio_seek): New function.
5649 (test_zlib_header): Likewise.
5650 (grub_gzio_read): Likewise.
5651 (grub_zlib_decompress): Likewise.
5652 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
5653 Accept partial and non-virtual mounts.
5654 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
5655 avoid receiving /dev/dm-X as device.
5656 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
5657 Handle bind and partial mounts.
5658 * grub-core/lib/crc.c: New file.
5659 * include/grub/deflate.h: Likewise.
5660 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
5661 proto.
5662 * include/grub/lib/crc.h: New file.
5663
5664 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5665
5666 Implement automatic module license checking according to new GNU
5667 guidelines.
5668
5669 * grub-core/kern/dl.c (grub_dl_check_license): New function.
5670 (grub_dl_load_core): Use grub_dl_check_license.
5671 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
5672 (GRUB_MOD_LICENSE): Likewise.
5673 (GRUB_MOD_DUAL_LICENSE): Likewise.
5674 All modules updated.
5675
5676 2011-04-11 Colin Watson <cjwatson@ubuntu.com>
5677
5678 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
5679 reserved_first_sector to 1. btrfs reserves plenty of space for boot
5680 loaders.
5681 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
5682
5683 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5684
5685 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
5686
5687 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5688
5689 * util/grub-fstest.c (read_file): Report GRUB error if file opening
5690 failed.
5691
5692 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5693
5694 * grub-core/kern/file.c (grub_file_open): Don't take into account the
5695 parenthesis in the middle of the filename.
5696
5697 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
5698
5699 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
5700 rather than trying to put initrd way too high.
5701 Reported by: Ryan Lortie <desrt@desrt.ca>
5702
5703 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
5704
5705 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
5706 improperly removed string.
5707
5708 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
5709
5710 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
5711 is_disk.
5712 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
5713 (open_device) Likewise.
5714 (grub_util_biosdisk_close): Likewise.
5715 Reported by: Mark Korenberg.
5716
5717 2011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
5718
5719 * util/grub-mkconfig_lib.in: Add missing quotes.
5720
5721 2011-04-10 Colin Watson <cjwatson@ubuntu.com>
5722
5723 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
5724 is NULL.
5725
5726 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
5727
5728 Dynamically count the number of lines for the lower banner.
5729
5730 * grub-core/normal/menu_entry.c (per_term_screen): New member
5731 num_entries.
5732 (print_down): Use num_entries.
5733 (update_screen): Likewise.
5734 (grub_menu_entry_run): Set num_entries.
5735 * grub-core/normal/menu_text.c (menu_viewer_data): New member
5736 num_entries.
5737 (grub_print_message_indented): Move real part to ...
5738 (grub_print_message_indented_real): ... here. Additional argument
5739 dry_run.
5740 (draw_border): Additional argument num_entries.
5741 (print_message): Additional argument dry_run.
5742 (print_entries): Receive menu viewer data.
5743 (grub_menu_init_page): New argment num_entries.
5744 (menu_text_set_chosen_entry): Use num_entries.
5745 (grub_menu_try_text): Likewise.
5746 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
5747 All users updated.
5748 (grub_ucs4_count_lines): New function.
5749 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
5750 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
5751 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
5752 (grub_term_border_height): Likewise.
5753 (grub_term_num_entries): Likewise.
5754
5755 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
5756
5757 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
5758 Remove now unused string.
5759
5760 2011-04-09 Colin Watson <cjwatson@ubuntu.com>
5761
5762 * docs/grub-dev.texi (Finding your way around): Update for 1.99
5763 build system.
5764 (Getting started): GRUB is developed in Bazaar now, not Subversion.
5765
5766 (Comment): Fix typo.
5767 (Getting started): General copy-editing.
5768 (Typical Development Experience): Likewise.
5769 (Error Handling): Likewise.
5770 (Video API): Likewise.
5771
5772 2011-04-09 Colin Watson <cjwatson@ubuntu.com>
5773
5774 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
5775 throughout.
5776
5777 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5778
5779 * util/grub-mkimage.c (main): Handle special naming of yeeloong
5780 directory.
5781
5782 2011-04-08 Colin Watson <cjwatson@ubuntu.com>
5783
5784 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
5785 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
5786 "development".
5787
5788 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5789
5790 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
5791 grub_strcpy since the lines aren't necessarily 0-terminated.
5792
5793 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5794
5795 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
5796 root on legacy.
5797
5798 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5799
5800 * grub-core/commands/probe.c (options): Argument to set isn't optional.
5801 (GRUB_MOD_INIT): DEVICE isn't optional.
5802
5803 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5804
5805 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
5806 word on new line if it's too long anyway. Fixes a hang.
5807
5808 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5809
5810 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
5811 const.
5812 * util/grub-setup.c (main): Reuse md device name if available.
5813 * util/raid.c (grub_util_raid_getmembers): Receive device name and
5814 not GRUB name as argument.
5815 Based on patch by: Florian Wagner <fwagner>.
5816
5817 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5818
5819 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
5820 Place mbi on low memory for better compatibility.
5821
5822 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5823
5824 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
5825
5826 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5827 2011-04-08 Colin Watson <cjwatson@ubuntu.com>
5828
5829 * autogen.sh: Ensure that collate and ctype locale is C.
5830 * conf/Makefile.common: Likewise.
5831
5832 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5833
5834 * grub-core/normal/menu.c: Add missing include.
5835
5836 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5837
5838 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
5839
5840 2011-04-08 Martin Zuther <mzuther@mzuther.de>
5841
5842 * util/grub-mkconfig.in: Ignore emacsen backup.
5843
5844 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5845
5846 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
5847 on open.
5848 (grub_util_biosdisk_close): Likewise.
5849
5850 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5851
5852 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
5853 const attribute and use grub_isdigit.
5854
5855 2011-04-06 Andrey <dev_null@ukr.net>
5856
5857 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
5858 gcc warning.
5859
5860 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
5861
5862 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
5863 useful grub_dprintf's.
5864
5865 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
5866
5867 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
5868
5869 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
5870
5871 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
5872
5873 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
5874
5875 Output errors if theme loading failed.
5876
5877 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
5878 grub_gfxterm_fullscreen on error paths to ...
5879 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
5880 theme loading error.
5881
5882 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
5883
5884 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
5885 space for older compilers.
5886 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
5887
5888 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
5889
5890 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
5891 and report them as not RAID members since they are useless for GRUB.
5892 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
5893
5894 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
5895
5896 Increase LVM implementation robustness in order not to crash on
5897 configurations like pvmove. Previously code assumed that in some places
5898 only lvs or only pvs are used whereas it seems that they are used
5899 interchangeably.
5900
5901 * grub-core/disk/lvm.c (read_node): New function.
5902 (read_lv): Use read_node.
5903 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
5904 Match volumes only at the end when all lvs are found. Take both
5905 pvs (first) and lvs (second) into account.
5906 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
5907 mirror_* into node_*. All users updated.
5908 (grub_lvm_stripe): Merge this ...
5909 (grub_lvm_mirror): ... and this ...
5910 (grub_lvm_node): ... into this. All users updated.
5911
5912 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
5913
5914 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
5915 of function to allow further scanning for LVMs.
5916
5917 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
5918
5919 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
5920 on failed seek as it breaks open fd reusage.
5921
5922 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
5923
5924 * util/grub-install.in: Add a recommendation to use --recheck before
5925 reporting bugs.
5926
5927 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
5928
5929 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
5930 are obtained.
5931
5932 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
5933
5934 GRUB developper manual based on existing Internals section and
5935 contributions by the various authors with active copyright assignment.
5936
5937 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
5938 * docs/font_char_metrics.png: New file.
5939 * docs/font_char_metrics.txt: Likewise.
5940 * docs/grub-dev.texi: Likewise.
5941 * docs/grub.texi (Internals): Move from here ...
5942 * docs/grub-dev.texi: ... here.
5943
5944 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
5945
5946 Store the loopback device as data on loopback grub_disk structures,
5947 rather than the file it points to. This fixes use of freed memory
5948 if an existing loopback device is replaced.
5949
5950 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
5951 disk->data, not dev->file.
5952 (grub_loopback_read): Adjust file assignment to match.
5953 Fixes Ubuntu bug #742967.
5954
5955 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
5956
5957 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
5958 when replacing an existing device.
5959
5960 2011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
5961
5962 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
5963 memory corruptions.
5964
5965 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
5966 unsigned.
5967 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
5968 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
5969 (grub_jfs_read_inode): Likewise.
5970 (grub_jfs_opendir): Likewise. Remove now useless casts.
5971 (grub_jfs_getent): Likewise.
5972 Make ino a grub_uint32_t rather than int.
5973 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
5974 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
5975 division and module with bit operations.
5976 (grub_jfs_find_file): Make ino a grub_uint32_t.
5977 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
5978
5979 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
5980
5981 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
5982 warning. (This was in fact always initialised before use, but GCC
5983 wasn't smart enough to prove that.)
5984 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
5985
5986 2011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
5987
5988 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
5989 stack alignment.
5990 (efi_wrap_1): Likewise.
5991 (efi_wrap_2): Likewise.
5992 (efi_wrap_3): Likewise.
5993 (efi_wrap_4): Likewise.
5994 (efi_wrap_5): Likewise.
5995 (efi_wrap_6): Likewise.
5996 (efi_wrap_10): Likewise.
5997 Based on information by: Red Hat/Peter Jones.
5998
5999 2011-03-31 Colin Watson <cjwatson@ubuntu.com>
6000
6001 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
6002 set-but-not-used variable.
6003
6004 2011-03-31 Colin Watson <cjwatson@ubuntu.com>
6005
6006 * docs/grub.texi (Simple configuration): Be more explicit about
6007 GRUB_DEFAULT, and add an example.
6008 Reported by: Leslie Rhorer.
6009
6010 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
6011
6012 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
6013 shell".
6014
6015 2011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
6016
6017 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
6018 * util/grub.d/20_linux_xen.in: Likewise.
6019
6020 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
6021
6022 * util/grub.d/10_linux.in: Try alternative config filenames where
6023 we parse config file.
6024 * util/grub.d/20_linux_xen.in: Likewise.
6025
6026 2011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
6027
6028 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
6029 * util/grub.d/20_linux_xen.in: Likewise.
6030
6031 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
6032
6033 * grub-core/disk/raid.c (insert_array): Add few potentially
6034 useful grub_util_info.
6035 (grub_raid_register): Likewise.
6036
6037 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
6038
6039 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
6040 Preserve partition number in mdadm code path.
6041
6042 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
6043
6044 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
6045 few potentially useful grub_util_info.
6046
6047 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
6048
6049 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
6050
6051 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
6052
6053 * docs/grub.texi (default): Use @example rather than nested
6054 itemized lists to avoid breaking gendocs.
6055
6056 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
6057
6058 * docs/grub.texi (Future): Update.
6059
6060 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
6061
6062 * docs/grub.texi (Environment): New chapter.
6063 (Changes from GRUB Legacy): Link to "Environment block" section for
6064 details of limitations.
6065 (Simple configuration): Likewise. Link to documentation of gfxmode
6066 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
6067 respectively.
6068 (Shell-like scripting): Note that normal variables are stored in the
6069 environment.
6070 (gettext): Link to documentation of lang and locale_dir.
6071 (list_env): New section.
6072 (load_env): New section.
6073 (save_env): New section.
6074
6075 (Reporting bugs): Fix typo.
6076
6077 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
6078
6079 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
6080 the example.
6081
6082 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
6083
6084 * grub-core/term/at_keyboard.c (set_scancodes)
6085 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
6086
6087 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
6088
6089 * docs/grub.texi (Menu-specific commands): Remove some semantics
6090 that were true in GRUB Legacy but not in GRUB 2.
6091 (submenu): New section.
6092 (false): New section.
6093 (read): New section.
6094 (true): New section.
6095
6096 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
6097
6098 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
6099
6100 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
6101
6102 * docs/grub.texi (Simple configuration): Explain some of the
6103 current limitations of grub-mkconfig.
6104 Reported by: Leslie Rhorer.
6105
6106 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
6107
6108 Old macs search for boot.efi rather than for bootia32.efi.
6109
6110 * util/grub-install.in: Copy bootia32.efi to boot.efi.
6111 * util/grub-mkrescue.in: Likewise.
6112 Suggested by: Peter Jones.
6113
6114 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
6115
6116 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
6117
6118 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
6119
6120 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
6121 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
6122 (grub_lvm_mirror): New struct.
6123 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
6124 (grub_lvm_iterate): Iterate only visible volumes.
6125 (grub_lvm_read): Factor out to ..
6126 (read_lv): ... this. Support mirrors.
6127 (grub_lvm_read): New wrapper function.
6128 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
6129 stripped or mirrored.
6130
6131 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
6132
6133 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
6134
6135 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
6136
6137 * docs/grub.texi (loopback): New section.
6138
6139 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
6140
6141 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
6142 removed -p option.
6143
6144 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
6145
6146 * docs/grub.texi (BIOS installation): New section, partly based on
6147 previous text in other sections.
6148 (Installing GRUB using grub-install): Replace BIOS discussion with a
6149 cross-reference.
6150 (Images): Likewise.
6151
6152 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
6153
6154 * grub-core/kern/emu/hostdisk.c (find_partition_start)
6155 [HAVE_DIOCGDINFO]: Add safety checks.
6156
6157 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
6158
6159 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
6160 per default compiled in kernel and prior to 8.0 isn't shipped at all.
6161
6162 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
6163
6164 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
6165 real_sb->size is zero (e.g. RAID-0), get the disk size from
6166 real_sb->data_size instead.
6167 Fixes Ubuntu bug #743136.
6168
6169 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
6170
6171 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
6172 printf clauses for printing size and start.
6173
6174 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
6175
6176 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
6177 Reported and tested by: Timothy Nikkel.
6178
6179 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
6180
6181 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
6182 (dirty_region_add_real): ... this.
6183 (dirty_region_add): Don't discard margin refresh when performing
6184 scheduled repaint.
6185
6186 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
6187
6188 * grub-core/lib/relocator.c (allocate_regstart)
6189 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
6190 terminals are capabple of malloc-free operation.
6191 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
6192 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
6193
6194 2011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
6195
6196 * util/grub-setup.c: Copy the partition table zone if floppy support
6197 is disabled, even if no partition table is found.
6198
6199 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
6200 during POST if an invalid partition table is contained in the PBR
6201 of the active partition when GRUB is installed to a partition.
6202
6203 2011-03-28 Colin Watson <cjwatson@debian.org>
6204
6205 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
6206 comment.
6207
6208 2011-03-28 Colin Watson <cjwatson@debian.org>
6209
6210 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
6211 to be specific about what kind of RAID device we're scanning for.
6212
6213 2011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
6214
6215 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
6216 return freed string.
6217
6218 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
6219
6220 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
6221
6222 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
6223
6224 Use libgeom on FreeBSD to detect partitions.
6225
6226 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
6227 (grub-mkrelpath): Likewise.
6228 (grub-script-check): Likewise.
6229 (grub-editenv): Likewise.
6230 (grub-mkpasswd-pbkdf2): Likewise.
6231 (grub-fstest): Likewise.
6232 (grub-mkfont): Likewise.
6233 (grub-mkdevicemap): Likewise.
6234 (grub-probe): Likewise.
6235 (grub-setup): Likewise.
6236 (grub-ofpathname): Likewise.
6237 (grub-mklayout): Likewise.
6238 (example_unit_test): Likewise.
6239 (grub-menulst2cfg): Likewise.
6240 * grub-core/Makefile.core.def (grub-emu): Likewise.
6241 (grub-emu-lite): Likewise.
6242 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
6243 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
6244 define HAVE_DIOCGDINFO.
6245 (follow_geom_up) [FreeBSD]: New function.
6246 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
6247 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
6248 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
6249 unconditionally of HAVE_DIOCGDINFO.
6250
6251 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
6252
6253 Fix FreeBSD compilation problem.
6254
6255 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
6256 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
6257
6258 2011-03-24 Colin Watson <cjwatson@ubuntu.com>
6259
6260 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
6261 Switch back to page zero before loading a kernel, since some kernel
6262 drivers expect that.
6263 Thanks to: Felix Kuehling.
6264
6265 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
6266
6267 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
6268 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
6269 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
6270
6271 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
6272
6273 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
6274 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
6275
6276 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
6277
6278 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
6279 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
6280 malloc is disabled.
6281
6282 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
6283
6284 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
6285 for modules headers when counting the needed allocation size.
6286
6287 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6288
6289 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
6290 if no ASCII character is found to prevent crash.
6291
6292 2011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
6293
6294 * grub-core/video/bitmap.c (match_extension): Ignore case.
6295
6296 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6297
6298 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
6299
6300 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6301
6302 * grub-core/script/parser.y: Declare "time" as valid argument.
6303
6304 2011-03-23 Peter Jones <pjones@redhat.com>
6305
6306 Fix incorrect assert failure reporting.
6307
6308 * grub-core/tests/example_functional_test.c (example_test): Add
6309 a failure comment.
6310 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
6311 (failure_start): ...this. Check that malloc succeeded.
6312 Don't call xvasprintf. Return failure struct.
6313 (failure_append_vtext): New function.
6314 (failure_append_text): Likewise.
6315 (add_failure): Likewise.
6316 (grub_test_assert_helper): Likewise.
6317 * include/grub/test.h (grub_test_assert_helper): New declaration.
6318 (grub_test_assert): Macro rewritten.
6319
6320 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6321
6322 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
6323
6324 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6325
6326 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
6327
6328 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6329
6330 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
6331 into GRUB-style one.
6332
6333 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6334
6335 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
6336 error and not grub_errno.
6337 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
6338
6339 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6340
6341 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
6342 GRUB_USB_SPEED_NONE in case of failure and not the error code.
6343
6344 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6345
6346 * grub-core/efiemu/i386/pc/cfgtables.c
6347 (grub_machine_efiemu_init_tables): Make declaration a prototype.
6348 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
6349 (grub_xnu_unlock): Likewise.
6350 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
6351
6352 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6353
6354 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
6355 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
6356 * grub-core/commands/hashsum.c (aliases): Likewise.
6357 * grub-core/commands/setpci.c (pci_registers): Likewise.
6358 * grub-core/disk/usbms.c (attach_hook): Likewise.
6359 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
6360 (zio_checksum_table): Likewise.
6361 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
6362 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
6363 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
6364 * grub-core/lib/relocator.c (leftovers): Likewise.
6365 (extra_blocks): Likewise.
6366 * grub-core/loader/i386/bsd.c (relocator): Likewise.
6367 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
6368 (modules_last): Likewise.
6369 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
6370 (devices): Likewise.
6371 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
6372 (modules_last): Likewise.
6373 * grub-core/normal/auth.c (users): Likewise.
6374 * grub-core/normal/context.c (initial_menu): Likewise.
6375 (current_menu): Likewise.
6376 * grub-core/normal/crypto.c (crypto_specs): Likewise.
6377 * grub-core/term/serial.c (grub_serial_ports): Likewise.
6378 (grub_serial_terminfo_input_template): Likewise.
6379 (grub_serial_terminfo_output_template): Likewise.
6380 (grub_serial_terminfo_input): Likewise.
6381 (grub_serial_terminfo_output): Likewise.
6382 (registered): Likewise.
6383 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
6384
6385 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6386
6387 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
6388 grub_video_mode_type_t.
6389 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
6390 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
6391 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
6392
6393 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6394
6395 * util/grub-install.in: Correct the x86-64 name as x86_64.
6396
6397 2011-03-11 Colin Watson <cjwatson@ubuntu.com>
6398
6399 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
6400 initial chunk read from the kernel always includes GRUB's multiboot
6401 header, which is now outside the first sector.
6402
6403 2011-03-09 Colin Watson <cjwatson@ubuntu.com>
6404
6405 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
6406 cached mmap_size, so that this works correctly when called multiple
6407 times.
6408 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
6409
6410 2011-03-09 Colin Watson <cjwatson@ubuntu.com>
6411
6412 * docs/grub.texi (Simple configuration): Tidy up formatting.
6413
6414 2011-03-07 Szymon Janc <szymon@janc.net.pl>
6415
6416 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
6417 Set-but-not-used variable removed.
6418
6419 2011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
6420
6421 Workaround yet another IEEE1275 bug.
6422
6423 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
6424 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
6425 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
6426 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
6427 is set.
6428 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
6429 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
6430
6431 2011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
6432
6433 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
6434 error.
6435
6436 2011-02-11 Colin Watson <cjwatson@ubuntu.com>
6437
6438 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
6439 empty, since in that case we can only generate either nothing or a
6440 syntactically invalid configuration file.
6441 Reported by: Michal Suchanek. Fixes Debian bug #612898.
6442
6443 2011-02-09 Colin Watson <cjwatson@ubuntu.com>
6444
6445 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
6446 (Making a GRUB bootable CD-ROM): Likewise.
6447 (Invoking grub-mkrescue): New section.
6448 Reported by: Yann Dirson. Fixes Debian bug #612585.
6449
6450 2011-02-09 Colin Watson <cjwatson@ubuntu.com>
6451
6452 * util/grub-install.in: Remove unnecessary brackets from tr
6453 arguments.
6454 * util/grub.d/10_hurd.in: Likewise.
6455 * util/grub.d/10_kfreebsd.in: Likewise.
6456 * util/grub.d/10_linux.in: Likewise.
6457 * util/grub.d/20_linux_xen.in: Likewise.
6458 Reported by: Jamie Heilman. Fixes Debian bug #612564.
6459
6460 2011-02-08 Colin Watson <cjwatson@ubuntu.com>
6461
6462 * include/grub/file.h (not_easly_seekable): Rename to ...
6463 (not_easily_seekable): ... this. Update all users.
6464
6465 2011-01-28 Colin Watson <cjwatson@ubuntu.com>
6466
6467 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
6468 grub-mkrescue.
6469
6470 2011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
6471
6472 * util/grub-mkimage.c (generate_image): Refuse to create the images
6473 bigger than the actual flash (512K) in Loongson machines. 512K is also
6474 the biggest chip supported by them.
6475
6476 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6477
6478 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
6479
6480 2011-01-22 Anthony DeRobertis <anthony@derobert.net>
6481
6482 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
6483 super_offset field.
6484
6485 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6486
6487 * util/grub-install.in: Ignore install device on platforms
6488 where it doesn't make sense. Always use UUIDs except on pc, efi and
6489 sparc64.
6490 Reported by: Daniel Kahn Gillmor.
6491
6492 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6493
6494 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
6495
6496 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6497
6498 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
6499 (iterate_real): Don't rely on partition being non-NULL.
6500
6501 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6502
6503 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
6504 supported platforms. Put a compile time assert for this rather than
6505 generate a warning with 32-bit shift.
6506
6507 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6508
6509 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
6510 logical expression more readable.
6511
6512 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6513
6514 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
6515 even if some elements have a name.
6516 Reported by: Alexander GQ Gerasiov.
6517
6518 2011-01-22 Colin Watson <cjwatson@ubuntu.com>
6519
6520 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
6521 path unreadable if `grub-probe -t abstraction' fails, for example if
6522 memberlist fails on an LVM volume group.
6523 Reported by: Darius Jahandarie.
6524
6525 2011-01-22 Colin Watson <cjwatson@ubuntu.com>
6526
6527 * docs/grub.texi (Simple configuration): Document
6528 GRUB_PRELOAD_MODULES.
6529
6530 2011-01-17 Colin Watson <cjwatson@ubuntu.com>
6531
6532 * .bzrignore: Remove nonexistent grub-pbkdf2.
6533
6534 2011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
6535
6536 * configure.ac: Bump version to 1.99~rc1.
6537
6538 2011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
6539
6540 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
6541 for safety.
6542
6543 2011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6544
6545 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
6546 module.
6547
6548 2011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6549
6550 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
6551
6552 2011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
6553
6554 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
6555 diskdevid.
6556
6557 2011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
6558
6559 Fix compilation on cygwin.
6560
6561 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
6562 -R .drectve on cygwin.
6563 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
6564 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
6565 (COND_CYGWIN): New condition.
6566 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
6567 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
6568 not @TARGET_OBJ2ELF@.
6569 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
6570 type to determine whether aux is to be used.
6571
6572 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6573
6574 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
6575 realpath'ed device string.
6576 Handle floppy (somewhat).
6577 Issue error in unknown case rather than garbage.
6578 Reported by: Axel Beckert.
6579
6580 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6581
6582 * util/grub.d/00_header.in (load_video): Handle the case when no video
6583 drivers available.
6584 Thanks to: Axel Beckert.
6585
6586 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6587
6588 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
6589 variable. Fixes problem on big endian platforms.
6590
6591 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6592
6593 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
6594 It doesn't work well there.
6595
6596 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6597
6598 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
6599 warning.
6600 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
6601 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
6602 counter.
6603
6604 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6605
6606 Use alias->path rather than buggy "canon".
6607
6608 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
6609 (ofdisk_hash_add): New argument curcan. All users updated.
6610
6611 2011-01-11 Colin Watson <cjwatson@ubuntu.com>
6612
6613 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
6614
6615 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
6616
6617 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
6618 loadmask before doing any calculations. Use correct type for offset.
6619 (grub_linux_load64): Likewise.
6620
6621 2011-01-11 Colin Watson <cjwatson@ubuntu.com>
6622
6623 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
6624 with NULL.
6625 (console_grub_equivalences_unshift): Likewise.
6626 Reported by: Daniel Dehennin.
6627
6628 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
6629
6630 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
6631 (set_env_limn_ro): Likewise.
6632 (GRUB_MOD_INIT): Likewise.
6633 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
6634 ARRAY_SIZE while on it.
6635 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
6636 * grub-core/normal/context.c (grub_env_export): Move from here ...
6637 * grub-core/kern/env.c (grub_env_export): ... here.
6638 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
6639 prefix.
6640 * grub-core/kern/main.c (grub_main): Export root and prefix.
6641 * include/grub/env.h (grub_env_export): Export.
6642 Reported by: Seth Goldberg.
6643
6644 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
6645
6646 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
6647 Take into account space used by ELF sections and multiboot palette.
6648 Reported by: Grégoire Sutre.
6649
6650 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
6651
6652 * BUGS: New file.
6653
6654 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6655
6656 Pass more appropriate video id to Linux.
6657
6658 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
6659 grub_video_get_driver_id and variable gfxpayloadforcelfb to
6660 fill have_vga.
6661 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
6662 shift params->lfb_size.
6663 * include/grub/i386/linux.h: Make an enume out of have_vga values.
6664
6665 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6666
6667 * util/grub-menulst2cfg.c: Add missing include of misc.h.
6668
6669 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6670
6671 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
6672 separator and pass bootpath/devid even if only one of them is available.
6673 Reported by: Seth Goldberg.
6674
6675 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6676
6677 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
6678 implementations bug on them.
6679
6680 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
6681 memory.
6682 (filter_memory_map): Likewise.
6683
6684 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6685
6686 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
6687 Reported by: nebuchadnezzar.
6688
6689 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6690
6691 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
6692 Reported by: nebuchadnezzar.
6693
6694 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6695
6696 Submenu default support.
6697
6698 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
6699 auto_boot. All users updated.
6700 Declared static.
6701 Handle chosen and default with submenus.
6702 (grub_menu_execute_with_fallback): Declared static.
6703 Don't notify failure if autobooted. Upper level does it.
6704 (menuentry_eq): New function.
6705 (get_entry_number): Use menuentry_eq.
6706 (show_menu): New parameter "autobooted". All users updated.
6707 (grub_show_menu): Likewise.
6708 * include/grub/normal.h (grub_show_menu): Likewise.
6709 * include/grub/menu.h (grub_menu_execute_entry): Removed.
6710 (grub_menu_execute_with_fallback): Likewise.
6711
6712 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6713
6714 * util/grub-mklayout.c (usage): Update help text.
6715
6716 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6717
6718 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
6719
6720 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6721
6722 * util/grub-menulst2cfg.c (main): Trim the line.
6723
6724 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6725
6726 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
6727 (grub_machine_init): Don't check amount of low memory as reportedly
6728 INT 12h can be broken and if low memory is too low we wouldn't have
6729 gotten into grub_machine_init anyway.
6730
6731 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6732
6733 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
6734 (grub_machine_mmap_iterate): Take low memory into account
6735
6736 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6737
6738 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
6739 badfs.
6740 Reported by: TiCPU.
6741
6742 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6743
6744 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
6745 members errors.
6746
6747 2011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
6748
6749 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
6750 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
6751
6752 2011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
6753
6754 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
6755 openbsd and netbsd types being in part_bsd module.
6756
6757 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
6758
6759 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
6760 (_FILE_OFFSET_BITS): Likewise.
6761 Reported by: Seth Goldberg.
6762
6763 2011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
6764
6765 * configure.ac: Check for libdevmapper header.
6766
6767 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
6768
6769 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
6770 avoid aliasing.
6771 (fzap_lookup): Likewise.
6772 (dnode_get): Likewise.
6773 (make_mdn): Likewise.
6774 (zfs_mount): Likewise.
6775 (fzap_iterate): Use temporary pointer to avoid aliasing.
6776 (grub_zfs_read): Likewise.
6777 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
6778 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
6779 pointers to avoid aliasing.
6780 (grub_cmd_xnu_kernel64): Likewise.
6781 (grub_xnu_load_driver): Likewise.
6782
6783 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
6784
6785 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
6786 aliasing warning.
6787 (grub_cmd_terminal_output): Likewise.
6788 Reported and tested by: Grégoire Sutre.
6789
6790 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
6791
6792 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
6793 warning.
6794 Reported and tested by: Grégoire Sutre.
6795
6796 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
6797
6798 * configure.ac: Do CPU substitution even if it's specified explicitly.
6799 Reported and tested by: Alain Greppin.
6800
6801 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
6802
6803 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
6804 Reported and tested by: Alain Greppin.
6805
6806 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
6807
6808 Satisfy some bison versions need for inttypes.h.
6809
6810 * grub-core/lib/posix_wrap/inttypes.h: New file.
6811 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
6812 (int16_t): Likewise.
6813 (int32_t): Likewise.
6814 (int64_t): Likewise.
6815 Reported and tested by: Alain Greppin.
6816
6817 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
6818
6819 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
6820 Silence spurious warning.
6821 Reported and tested by: Alain Greppin.
6822
6823 2011-01-07 Szymon Janc <szymon@janc.net.pl>
6824
6825 * docs/grub.texi (Support automatic decompression): Update with xz
6826 decompression support.
6827
6828 2011-01-07 Szymon Janc <szymon@janc.net.pl>
6829
6830 Improve loaders' kernel command line handling.
6831
6832 * grub-core/lib/cmdline.c: New file.
6833 * include/grub/lib/cmdline.h: Likewise.
6834 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
6835 grub_create_loader_cmdline to create kernel command line.
6836 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
6837 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
6838 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
6839 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
6840 (linux): Add lib/cmdline.c on common.
6841
6842 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
6843
6844 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
6845 inopos might be unaligned.
6846
6847 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
6848
6849 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
6850 endian transformations.
6851 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
6852 Based on report by: Doug Nazar.
6853
6854 2011-01-07 Doug Nazar <nazard.michi@gmail.com>
6855
6856 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
6857 array->members[i].start_sector.
6858 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
6859
6860 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
6861
6862 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
6863 Reported and tested by: Grégoire Sutre.
6864
6865 2011-01-06 Colin Watson <cjwatson@ubuntu.com>
6866
6867 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
6868 avoid causing test failures by clearing the screen.
6869
6870 2011-01-06 Colin Watson <cjwatson@ubuntu.com>
6871
6872 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
6873 Fix prefix check to handle the case where dir ends with a slash
6874 (most significantly, "/" itself).
6875 Reported by: Michael Vogt.
6876
6877 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
6878
6879 Run terminfo_cls on initing terminfo output to clear the screen and
6880 move the cursor to (0,0).
6881
6882 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
6883 Call grub_terminfo_output_init.
6884 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
6885 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
6886 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
6887
6888 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
6889
6890 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
6891 only when needed.
6892
6893 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
6894
6895 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
6896 CTRL.
6897
6898 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
6899
6900 The E820 type 5 is BADRAM, not EXEC_CODE.
6901
6902 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
6903 (GRUB_E820_BADRAM): New define.
6904 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
6905 into reserved. Propagate BADRAM.
6906 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
6907 (GRUB_E820_BADRAM): New define.
6908
6909 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
6910
6911 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
6912 Ignore the memory post-4G.
6913 (grub_relocator_firmware_alloc_region): Additional debug statement.
6914
6915 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
6916
6917 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
6918 names.
6919 Reported by: David Pravec.
6920
6921 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
6922
6923 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
6924 BIOSes.
6925
6926 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
6927
6928 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
6929 Prevent overflow.
6930 (grub_reed_solomon_recover): Likewise.
6931
6932 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
6933
6934 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
6935
6936 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
6937
6938 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
6939 variable.
6940
6941 2011-01-04 Colin Watson <cjwatson@ubuntu.com>
6942
6943 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
6944 descriptions of extract_legacy_entries_source and
6945 extract_legacy_entries_configfile.
6946 Reported by: Seung Soo, Ha.
6947
6948 2011-01-03 Colin Watson <cjwatson@ubuntu.com>
6949
6950 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
6951 on devices that do not implement function 0.
6952
6953 2011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
6954
6955 * grub-core/fs/hfsplus.c: Make parent unsigned.
6956 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
6957 overflows.
6958 (grub_hfsplus_cmp_extkey): Likewise
6959
6960 2011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
6961
6962 * util/grub-install.in: Correctly use bootloader_id and not
6963 GRUB_DISTRIBUTOR on efibootmgr line.
6964
6965 2011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
6966
6967 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
6968
6969 2010-12-31 Ian Campbell <ijc@hellion.org.uk>
6970
6971 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
6972 Xen and reorder menu item wording to make it clearer that this entry
6973 will launch Xen. Print separate messages when loading Xen and
6974 Linux.
6975
6976 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
6977
6978 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
6979 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
6980 loop in case of incorrect amiga partmap.
6981
6982 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
6983
6984 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
6985 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
6986 Reported by:EHeM.
6987
6988 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
6989
6990 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
6991 spurious warning.
6992 Reported by: crocket
6993
6994 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
6995
6996 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
6997 Preload EFIemu.
6998 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
6999
7000 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
7001
7002 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
7003 is loaded
7004 (grub_cmd_xnu_kextdir): Likewise.
7005 (grub_cmd_xnu_splash): Likewise.
7006
7007 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
7008
7009 Avoid using Reed-Solomon with 0 redundancy.
7010
7011 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
7012 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
7013 or 0 redundancy.
7014 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
7015 (grub_reed_solomon_recover): Likewise.
7016
7017 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
7018
7019 Don't use disk subsystem in freebsd_boot.
7020
7021 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
7022 (freebsd_biosdev): Likewise.
7023 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
7024 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
7025
7026 2010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
7027
7028 Handling of files of unknown size is currently limited. They can't be
7029 used e.g. for initrd or modules. Moreover gzip handling of not
7030 easily seekable files is buggy. Disable unknown file size for now. May
7031 be inefficient but works.
7032
7033 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
7034 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
7035
7036 2010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
7037
7038 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
7039 floppy probe.
7040
7041 2010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
7042
7043 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
7044
7045 2010-12-25 Shea Levy <shlevy>
7046
7047 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
7048
7049 2010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7050
7051 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
7052 Windows Server 2008.
7053 Reported by: Devin Giddings.
7054
7055 2010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7056
7057 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
7058 writing an error message because of async power management.
7059 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
7060 (grub_reboot): Likewise.
7061
7062 2010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
7063
7064 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
7065 keep unit tests from failing when they shouldn't.
7066
7067 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
7068
7069 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
7070 previous patch increased the size of the RS code by 20 bytes (at
7071 least with gcc-4.4), so increase this by 20 bytes to match.
7072 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
7073
7074 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
7075
7076 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
7077 scratch area. Make sure to initialise chosen in standalone mode as
7078 well as non-standalone.
7079 Reported by: Robert Hooker and Andy Whitcroft.
7080 Tested by: Andy Whitcroft.
7081
7082 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
7083
7084 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
7085 constructing a new unescaped string and passing it to grub_xputs in
7086 one go, rather than passing characters to grub_printf one at a time.
7087
7088 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
7089
7090 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
7091 initialising utf16.
7092
7093 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
7094
7095 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
7096 comment. Add an extra layer of quotation, requiring the output of
7097 this function to be used in a printf format string.
7098 (gettext_printf): New function.
7099 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
7100 Extract translatable strings from here-documents and use a temporary
7101 variable instead, so that xgettext can find them.
7102 * util/grub.d/10_kfreebsd.in: Likewise.
7103 * util/grub.d/10_linux.in: Likewise.
7104 * util/grub.d/20_linux_xen.in: Likewise.
7105
7106 * po/grub.d.sed: New file.
7107 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
7108 arguments. Set c-format flags on all strings extracted from
7109 util/grub.d/ (xgettext refuses to include these itself for strings
7110 it extracted from a shell file, but these really are c-format).
7111
7112 2010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
7113
7114 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
7115 Avoid next pointing to nowhere.
7116
7117 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
7118
7119 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
7120 rather than assuming than rootblock is exactly in the middle.
7121 (grub_affs_label): Likewise.
7122
7123 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
7124
7125 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
7126 reserved_first_sector to 0.
7127 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
7128 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
7129 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
7130
7131 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
7132
7133 Fix handling of UTF-16 UDF labels.
7134
7135 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
7136 (read_string): .. here.
7137 (grub_udf_label): Use read_string.
7138
7139 2010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
7140
7141 * grub-core/normal/menu_entry.c (run): Execute commands from menu
7142 editor under argument scope.
7143 Reported by: Jordan Uggla
7144
7145 2010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
7146
7147 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
7148
7149 2010-12-18 Colin Watson <cjwatson@ubuntu.com>
7150
7151 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
7152 line, and other keys scroll an entire page (previous handling was
7153 for \r and \n to scroll a page and other keys to scroll two lines).
7154
7155 2010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
7156
7157 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
7158 Set ptrdest to correct get_physical_target_address rather than
7159 incorrect get_virtual_current_address.
7160
7161 2010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
7162
7163 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
7164 correct cat to grub_uint8_t * rather than grub_uint32_t *.
7165
7166 2010-12-10 Colin Watson <cjwatson@ubuntu.com>
7167
7168 * .bzrignore: Ignore grub-core/rs_decoder.S.
7169
7170 2010-12-10 Colin Watson <cjwatson@ubuntu.com>
7171
7172 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
7173 .mo/.mo.gz opening sequence to ...
7174 (grub_mofile_open_lang): ... here.
7175 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
7176 * util/grub.d/00_header.in (grub_lang): Include country part of
7177 locale.
7178 Reported by: Mario Limonciello.
7179
7180 2010-12-09 Robert Millan <rmh@gnu.org>
7181
7182 * NEWS: Document addition of ZFS support.
7183
7184 2010-12-04 Colin Watson <cjwatson@ubuntu.com>
7185
7186 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
7187 rather than `/ 2', as the latter requires -Wa,--divide which would
7188 require bumping our minimum binutils version.
7189
7190 2010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
7191
7192 * util/grub-script-check.c (main): Print script line number on
7193 error.
7194
7195 2010-12-01 Robert Millan <rmh@gnu.org>
7196
7197 * grub-core/fs/zfs/zfs.c: New file.
7198 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
7199 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
7200 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
7201 * grub-core/fs/zfs/zfsinfo.c: Likewise.
7202
7203 * include/grub/zfs/dmu.h: Likewise.
7204 * include/grub/zfs/dmu_objset.h: Likewise.
7205 * include/grub/zfs/dnode.h: Likewise.
7206 * include/grub/zfs/dsl_dataset.h: Likewise.
7207 * include/grub/zfs/dsl_dir.h: Likewise.
7208 * include/grub/zfs/sa_impl.h: Likewise.
7209 * include/grub/zfs/spa.h: Likewise.
7210 * include/grub/zfs/uberblock_impl.h: Likewise.
7211 * include/grub/zfs/vdev_impl.h: Likewise.
7212 * include/grub/zfs/zap_impl.h: Likewise.
7213 * include/grub/zfs/zap_leaf.h: Likewise.
7214 * include/grub/zfs/zfs.h: Likewise.
7215 * include/grub/zfs/zfs_acl.h: Likewise.
7216 * include/grub/zfs/zfs_znode.h: Likewise.
7217 * include/grub/zfs/zil.h: Likewise.
7218 * include/grub/zfs/zio.h: Likewise.
7219 * include/grub/zfs/zio_checksum.h: Likewise.
7220
7221 * Makefile.util.def: Build ZFS into libgrubmods.
7222 * grub-core/Makefile.core.def: Build zfs.mod.
7223
7224 2010-11-30 Szymon Janc <szymon@janc.net.pl>
7225
7226 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
7227 variable.
7228 * grub-core/commands/wildcard.c (match_files): Likewise.
7229
7230 2010-11-30 Robert Millan <rmh@gnu.org>
7231
7232 * grub-core/loader/i386/bsd.c
7233 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
7234 whether kernel is loaded using grub_loader_is_loaded(), rather
7235 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
7236 certain error conditions.
7237
7238 2010-11-30 Robert Millan <rmh@gnu.org>
7239
7240 * grub-core/commands/echo.c: Include `<grub/term.h>'.
7241 (grub_cmd_echo): Call grub_refresh() after printing a message.
7242
7243 2010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
7244
7245 Avoid using tricks for initialising endian variables.
7246
7247 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
7248 Make const.
7249 (GRUB_MOD_INIT): Don't byte-swap.
7250 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
7251 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
7252 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
7253 (grub_swap_bytes32_compile_time): Likewise.
7254 (grub_cpu_to_le32_compile_time): Likewise.
7255 (grub_cpu_to_le16_compile_time): Likewise.
7256
7257 2010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
7258
7259 * util/grub-setup.c (setup): Stop recommending --force. People who
7260 understand the dangers of blocklists are able to find this option
7261 anyway and the ones who don't shouldn't use it anyway.
7262
7263 2010-11-26 Robert Millan <rmh@gnu.org>
7264
7265 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
7266 Update all users.
7267
7268 2010-11-26 Colin Watson <cjwatson@ubuntu.com>
7269
7270 Fix LVM-on-RAID probing.
7271
7272 * util/grub-probe.c (probe): Remember which disk was detected as
7273 RAID (perhaps an LVM physical volume). Use that disk's raidname
7274 rather than that of the top-level disk.
7275
7276 2010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7277
7278 Fix cmdline argument quotes for setparams command of menuentry
7279 definitions.
7280
7281 * grub-core/commands/menuentry.c (setparams_prefix): Use single
7282 quotes for arguments.
7283 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7284 grub_strchrsub function instead.
7285
7286 * include/grub/misc.h (grub_strchrsub): New function.
7287
7288 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
7289
7290 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
7291 effort by skipping "." and ".." entries up-front.
7292 Suggested by: Michael Lazarev.
7293
7294 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
7295
7296 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
7297 ldflags to ldadd, to fix link line ordering.
7298 (none_decompress): Likewise.
7299
7300 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
7301
7302 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
7303 platforms.
7304 (grub-emu-lite): Remove kern/emu/cache.S.
7305
7306 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
7307
7308 * util/deviceiter.c (compare_devices): If the by-id link for a
7309 device couldn't be resolved, fall back to sorting by the by-id link
7310 rather than segfaulting.
7311 Reported and tested by: Daniel Mierswa.
7312
7313 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
7314
7315 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
7316 ldflags, to fix link line ordering.
7317
7318 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
7319
7320 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
7321 linkers are picky about this.
7322
7323 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
7324
7325 * grub-core/Makefile.am (command.lst): Adjust sed expression
7326 ordering so that extended and priority commands aren't treated as
7327 ordinary commands.
7328
7329 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
7330
7331 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
7332 Remove byte-swapping function calls, which are not valid in
7333 structure initialisers.
7334 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
7335 non-const.
7336 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
7337 grub_gpt_partition_type_bios_boot.
7338
7339 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
7340
7341 Fix test program build on GNU/kFreeBSD.
7342
7343 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
7344 $(LIBNVPAIR)' library dependencies.
7345
7346 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
7347
7348 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
7349
7350 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
7351
7352 * util/grub-install.in: Remove excessive quoting that broke
7353 installations to RAID devices.
7354
7355 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
7356
7357 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
7358 bootloader version instead of 0.
7359
7360 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
7361
7362 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
7363 warning.
7364
7365 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
7366
7367 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
7368 retrieve the metadat sector if size isn't known.
7369 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
7370
7371 2010-11-18 Robert Millan <rmh@gnu.org>
7372
7373 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
7374 with grub_memcmp().
7375
7376 2010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
7377
7378 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
7379 arrow.
7380 Reported by: Jordan Uggla.
7381
7382 2010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
7383
7384 Make better UTF compliant.
7385
7386 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
7387 sequences as incorrect.
7388 (grub_is_valid_utf8): Likewise.
7389 (grub_utf8_to_ucs4): Likewise.
7390 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
7391 (grub_ucs4_to_utf8_alloc): Likewise.
7392 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
7393
7394 2010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
7395
7396 Make legacy_source behave like source.
7397
7398 * grub-core/commands/legacycfg.c (legacy_file): Don't call
7399 grub_show_menu.
7400 (grub_cmd_legacy_source): Call grub_show_menu if needed.
7401
7402 2010-11-16 Colin Watson <cjwatson@debian.org>
7403
7404 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
7405 (-Wunused implies -Wunused-parameter, but not vice versa).
7406
7407 2010-11-16 Colin Watson <cjwatson@ubuntu.com>
7408
7409 * configure.ac: Make error messages less confusing by testing for
7410 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
7411 accepted, but produces a diagnostic if something else is wrong).
7412
7413 2010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
7414
7415 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
7416 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
7417 (now unused).
7418 (grub_keyboard_controller_init)
7419 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
7420 read the initial state since controller isn't inited yet.
7421
7422 2010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
7423
7424 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
7425 allocate_regbeg may need to create new chunk header.
7426
7427 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
7428
7429 Fix quoting in legacy parser.
7430
7431 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
7432 single quotes.
7433 (grub_legacy_parse): Likewise.
7434 Reported by: Jordan Uggla.
7435 Tested by: Jordan Uggla.
7436
7437 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
7438
7439 Don't add -lgcc on i386 and x86_64.
7440
7441 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
7442 * conf/Makefile.common (LDADD_KERNEL): Likewise.
7443 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
7444
7445 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
7446
7447 * configure.ac: Add -Wno-trampolines when supported.
7448
7449 2010-11-14 Modestas Vainius <modax@debian.org>
7450
7451 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
7452 fakeraid.
7453
7454 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
7455
7456 Add generic logical block size support for UDF.
7457
7458 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
7459 (GRUB_UDF_BLKSZ): Removed.
7460 (struct grub_udf_data): New field "lbshift" to hold the logical block
7461 size of the file system in log2 format. All users updated.
7462 (sblocklist): Change type to unsigned.
7463 (grub_udf_mount): Change type of "sblklist" to unsigned.
7464 Move AVDP search before VRS recognition, because the latter requires
7465 knowledge of the logical block size, which is detected during the
7466 former.
7467 Detect and validate logical block size during AVDP search, adding
7468 support for block sizes 512, 1024 and 4096.
7469 Make VRS recognition independent of block size.
7470
7471 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
7472
7473 Properly handle deleted files on UDF.
7474
7475 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
7476 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
7477 set.
7478
7479 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
7480
7481 Support reading files larger than 2 GiB.
7482
7483 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
7484 "offset" to grub_off_t.
7485 (grub_udf_read_file): Likewise for parameter "pos".
7486
7487 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
7488
7489 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
7490 unavailable.
7491 (Simple configuration): Refer to Changes from GRUB Legacy about
7492 save_env availability.
7493
7494 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
7495
7496 * util/grub-install.in: Ignore empty partition table detection
7497 instead of trying to include part_ module.
7498
7499 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
7500
7501 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
7502 LVM on RAID support.
7503
7504 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
7505
7506 Properly define WORDS_BIGENDIAN in wrapped environments.
7507
7508 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
7509 definition.
7510 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
7511
7512 Reported by: Manoel Rebelo Abranches.
7513 Tested by: Manoel Rebelo Abranches.
7514
7515 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
7516
7517 * util/grub-mkconfig.in: Fix quoting.
7518
7519 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
7520
7521 Support big ext2 files.
7522
7523 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
7524 (grub_ext2_read_block): Support triple indirect blocks.
7525 (grub_ext2_read_file): Use 64-bit types and read size_high.
7526 (grub_ext2_open): Read size_high.
7527 Reported by: Ximin Luo.
7528 Tested by: Manoel Rebelo Abranches.
7529
7530 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
7531
7532 * util/grub-install.in: Handle filenames containing spaces.
7533 Reported by: Jordan Uggla.
7534 Tested by: Jordan Uggla.
7535
7536 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
7537
7538 * util/grub-mkconfig.in (grub_script_check): New variable.
7539 Use grub_script_check instead of grub-script-check.
7540 Reported by: Barry Jackson.
7541
7542 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
7543
7544 * docs/grub.texi (menu): Correct the order.
7545 Reported by: D. Hugh Redelmeier.
7546
7547 2010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7548
7549 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
7550 jump.
7551
7552 2010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
7553
7554 * include/grub/elfload.h (grub_elf32_size): New parameter.
7555 All users updated.
7556 Return maximum segments alignment.
7557 (grub_elf64_size): Likewise.
7558 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
7559 Return maximum segments alignment.
7560 (grub_elf64_size): Likewise.
7561 * grub-core/loader/powerpc/ieee1275/linux.c:
7562 (grub_linux_claimmap_iterate): New function. Uses the
7563 "available" property in the "memory" node for memory allocation
7564 for kernel in the PowerPC loader.
7565 (grub_linux_load32): Correctly find linux entry point offset.
7566 (grub_linux_load64): Likewise.
7567
7568 2010-11-07 Robert Millan <rmh@gnu.org>
7569
7570 On mips-yeeloong, build with -march=loongson2f when this flag is
7571 available (GCC >= 4.4).
7572 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
7573 `-march=mips3'.
7574 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
7575 or otherwise add -march=mips3.
7576
7577 2010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
7578
7579 Suppress shell expansion on echo '*' and echo "*" like cases.
7580 Reported by: Jordan Uggla.
7581
7582 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
7583 string arguments before shell expansion.
7584 * tests/grub_cmd_echo.in: New testcases.
7585
7586 2010-11-07 Robert Millan <rmh@gnu.org>
7587
7588 * conf/mips-qemu-mips.rmk: Remove stale file from previous
7589 transition.
7590
7591 2010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
7592
7593 * grub-core/kern/emu/hostdisk.c
7594 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
7595
7596 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
7597
7598 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
7599 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
7600 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
7601
7602 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
7603
7604 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
7605
7606 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
7607
7608 * util/grub-install.in: Replace useless recomendation to pass
7609 --modules with a recomendation to report a bug.
7610
7611 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
7612
7613 Properly register serial terminfo.
7614 Reported by: Jordan Uggla
7615
7616 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
7617 const.
7618 (grub_serial_terminfo_output_template): Likewise.
7619 (grub_cmd_serial): Register "serial" with terminfo.
7620 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
7621 grub_serial_terminfo_output.
7622
7623 2010-11-05 Robert Millan <rmh@gnu.org>
7624
7625 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
7626 needed).
7627
7628 2010-11-05 Robert Millan <rmh@gnu.org>
7629
7630 On Yeeloong, pass machine type information to Linux.
7631
7632 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
7633 (LOONGSON_MACHTYPE): New macro, set to
7634 "machtype=lemote-yeeloong-2f-8.9inches".
7635 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
7636 additional argument to Linux.
7637
7638 2010-11-04 Robert Millan <rmh@gnu.org>
7639
7640 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
7641 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
7642 (its SATA disks are detected as slaveless IDE master drives on
7643 kFreeBSD).
7644 Reported by Carsten Aulbert.
7645
7646 2010-11-02 Colin Watson <cjwatson@ubuntu.com>
7647
7648 * util/bin2h.c (main): Fix spelling error in generated output.
7649
7650 2010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
7651
7652 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
7653
7654 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
7655
7656 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
7657 vga= option is supplied.
7658
7659 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
7660
7661 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
7662 * util/grub.d/10_kfreebsd.in: Likewise.
7663 * util/grub.d/10_linux.in: Likewise.
7664 * util/grub.d/20_linux_xen.in: Likewise.
7665
7666 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
7667
7668 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
7669 argument as an argument to no-argument option.
7670
7671 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
7672
7673 * util/grub.d/10_linux.in: Add missing load_video with explicit
7674 GRUB_GFXPAYLOAD_LINUX.
7675
7676 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
7677
7678 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
7679
7680 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
7681
7682 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
7683 elements with invlid index.
7684 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
7685 * grub-core/disk/raid.c (insert_array): Automatically reallocate
7686 members.
7687 * include/grub/raid.h (grub_raid_member): New struct.
7688 (grub_raid_array): Transform devices and start_sector into usage of
7689 grub_raid_member. All users updated
7690 (allocated_devs): New member.
7691
7692 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
7693
7694 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
7695 is modified
7696
7697 2010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
7698
7699 NetBSD build fix for getline function conflict from gnulib.
7700
7701 * Makefile.util.def (libgrubkern.a): New library for grub kernel
7702 components that depend on gnulib headers.
7703 (libgrubmods.a): Renamed from earlier libgrub.a.
7704 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
7705
7706 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
7707
7708 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
7709 install rather than creating a broken install.
7710
7711 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
7712
7713 * util/grub-setup.c (argp): Remove misleading example of installing to
7714 a partition.
7715
7716 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
7717
7718 * util/grub-setup.c (setup): Clarify the error message.
7719
7720 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
7721
7722 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
7723
7724 2010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7725
7726 * grub-core/kern/emu/misc.c
7727 (grub_make_system_path_relative_to_its_root)
7728 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
7729
7730 2010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7731
7732 * grub-core/kern/emu/misc.c
7733 (grub_make_system_path_relative_to_its_root): Revert r2882.
7734
7735 2010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
7736
7737 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
7738 useless field head. All users updated.
7739 (free_subchunk): Correct handling of IN_REGION subchunk.
7740
7741 2010-10-22 Colin Watson <cjwatson@ubuntu.com>
7742
7743 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
7744 (Supported kernels): Likewise.
7745
7746 2010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
7747
7748 Make mktemp invocations portable.
7749
7750 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
7751 exit if mktemp fails.
7752 * tests/grub_script_blockarg.in: Likewise.
7753 * tests/partmap_test.in: Likewise.
7754 * tests/util/grub-shell-tester.in: Likewise.
7755 * tests/util/grub-shell.in: Likewise.
7756 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
7757 * Makefile.am: Likewise, and chain shell commands with `&&'
7758 instead of ';'.
7759 * util/grub-mkrescue.in: Use the same explicit template as above, and
7760 exit if mktemp fails.
7761
7762 2010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
7763
7764 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
7765 Linux kernel, reported by Dennis Schridde.
7766
7767 2010-10-17 Szymon Janc <szymon@janc.net.pl>
7768
7769 * grub-core/normal/auth.c (grub_auth_check_authentication):
7770 Set-but-not-used variable removed.
7771
7772 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
7773
7774 * docs/grub.texi (GNU/Linux): Document APM unavailability with
7775 32-bit linux protocol.
7776
7777 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
7778
7779 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
7780 cursor shape for sanity.
7781
7782 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
7783
7784 * docs/grub.texi (Installation): Document buggy BIOS install.
7785
7786 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
7787
7788 * docs/grub.texi (Installation): Indent.
7789
7790 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
7791
7792 * util/grub-setup.c (setup): New parameter allow_floppy.
7793 (arguments): New member allow_floppy.
7794 (argp_parser): Handle --allow-floppy.
7795 (main): Pass allow_floppy.
7796 * util/grub-install.in: New option --allow-floppy passed though to
7797 grub-setup.
7798
7799 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
7800
7801 * util/grub-install.in: Handle partitionless disks.
7802
7803 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
7804
7805 * util/grub-setup.c (setup): Don't clean blocklists before readability
7806 verfification.
7807
7808 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
7809
7810 * docs/grub.texi (Installation): Document embedding zone. Remove
7811 obsolete grub-install example.
7812
7813 2010-10-16 Szymon Janc <szymon@janc.net.pl>
7814
7815 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
7816 Set-but-not-used variable ifdef'ed.
7817 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
7818 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
7819 variable removed.
7820 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
7821 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
7822 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
7823 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
7824 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
7825 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
7826 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
7827 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
7828 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
7829 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
7830 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
7831 Likewise.
7832
7833 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
7834
7835 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
7836 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
7837 enum value.
7838
7839 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
7840
7841 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
7842 synonym to _S5_. Needed for some DSDTs.
7843
7844 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
7845
7846 Userspace ACPI parser debugging.
7847
7848 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
7849 headers and add relevant defines. Don't include standard headers.
7850 (main) [GRUB_DSDT_TEST]: New function.
7851 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
7852 Don't declare functions.
7853
7854 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
7855
7856 Remove dead grub_efi_mm_fini.
7857
7858 * grub-core/kern/efi/mm.c (allocated_page): Removed.
7859 (ALLOCATED_PAGES_SIZE): Likewise.
7860 (MAX_ALLOCATED_PAGES): Likewise.
7861 (allocated_pages): Likewise.
7862 (grub_efi_allocate_pages): Don't record allocated pages.
7863 (grub_efi_free_pages): Likewise.
7864 (grub_efi_mm_init): Likewise.
7865 (grub_efi_mm_fini): Removed.
7866
7867 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
7868
7869 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
7870 (grub_efi_mm_init): Take into account the memory map size increase.
7871
7872 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
7873
7874 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
7875 (serial_hw_put): Wait based on real time rather than port reads. Don't
7876 roken ports.
7877 * include/grub/serial.h (grub_serial_port): New field broken.
7878
7879 2010-10-16 Robert Millan <rmh@gnu.org>
7880
7881 * grub-core/kern/emu/misc.c
7882 (grub_make_system_path_relative_to_its_root): Fix premature return
7883 when processing non-root ZFS filesystems.
7884 Reported by Sergio Talens-Oliag.
7885
7886 2010-10-15 Robert Millan <rmh@gnu.org>
7887
7888 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
7889 guarantee compressed ones are processed first.
7890
7891 2010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
7892
7893 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
7894 grub_efiemu_autocore.
7895
7896 2010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
7897
7898 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
7899 rather than 0x1b.
7900 (grub_console_getkey): Use correct jae opcode rather than ja.
7901
7902 2010-10-12 Robert Millan <rmh@gnu.org>
7903
7904 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
7905 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
7906 variable. All references updated.
7907
7908 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
7909
7910 2010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
7911
7912 Correctly distinguish mdraid flavours.
7913
7914 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
7915 (insert_array): New argument raid.
7916 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
7917 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
7918 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
7919
7920 2010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
7921
7922 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
7923 handling of special keys.
7924
7925 2010-10-02 Aleš Nesrsta <starous@volny.cz>
7926
7927 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
7928 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
7929
7930 2010-10-02 Aleš Nesrsta <starous@volny.cz>
7931
7932 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
7933 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
7934 users updated.
7935 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
7936 Use right endpoint when querying descriptor.
7937
7938 2010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
7939
7940 Clear out 0x80 color bit on EFI.
7941 Tested by: decoder
7942 Reported by: decoder and meta tech.
7943
7944 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
7945 (grub_console_setcolorstate): Clear out 0x80 bit.
7946 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
7947 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
7948 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
7949
7950 2010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
7951
7952 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
7953 Set to "auto".
7954
7955 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
7956
7957 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
7958 mo_file after freeing.
7959
7960 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
7961
7962 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
7963
7964 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
7965
7966 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
7967 flags.
7968
7969 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
7970
7971 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
7972 usage.
7973
7974 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
7975
7976 Put terminfo into core on ieee1275 and yeeloong (needed for console).
7977
7978 * gentpl.py: New groups terminfoinkernel and terminfomodule.
7979 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
7980 and terminfo.h when needed.
7981 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
7982 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
7983 (terminfo): Enable only on terminfokernel.
7984 (extcmd): Likewise.
7985 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
7986 * include/grub/lib/arg.h: Likewise.
7987 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
7988 incorrect usage of ->.
7989
7990 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
7991
7992 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
7993 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
7994
7995 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
7996
7997 Fix coreboot compilation.
7998
7999 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
8000 Take VBE info into account even if only text is supported.
8001 (fill_vbe_info): Take into account the case when only VGA text
8002 is supported.
8003 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
8004 on coreboot, multiboot and qemu.
8005
8006 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
8007
8008 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
8009 debug messages.
8010 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
8011
8012 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
8013
8014 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
8015 parameters.
8016
8017 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
8018
8019 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
8020 if they were BSD-style.
8021
8022 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
8023
8024 * grub-core/boot/i386/pc/lnxboot.S: Replace
8025 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
8026 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
8027
8028 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
8029
8030 Write embedding zone using Reed-Solomon.
8031
8032 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
8033 * grub-core/Makefile.am (rs_decoder.S): New target.
8034 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
8035 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
8036 (multiboot): Move to RS part.
8037 (post_reed_solomon): New label.
8038 (grub_boot_drive): Move to non-RS part since it's modified in memory
8039 on boot.
8040 Include rs_decoder.S.
8041 * grub-core/lib/reed_solomon.c: New file.
8042 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
8043 New definition.
8044 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
8045 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
8046 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
8047 * include/grub/partition.h (grub_partition_map): Change prototype of
8048 embed to allow returning additional sectors.
8049 * include/grub/reed_solomon.h: New file.
8050 * util/grub-setup.c (setup): Handle Reed-Solomon.
8051
8052 2010-09-28 Colin Watson <cjwatson@ubuntu.com>
8053
8054 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
8055 i386 and x86-64 definedness tests.
8056
8057 2010-09-27 Yves Blusseau <blusseau@zetam.org>
8058
8059 Fix generation of kernel_syms.lst
8060
8061 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
8062 ASM_PREFIX
8063
8064 2010-09-26 Robert Millan <rmh@gnu.org>
8065
8066 Support degraded ZFS arrays in "grub-probe -t device" resolution.
8067
8068 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
8069 the pool is an array of devices, iterate through it and return the
8070 first device that passes a stat() test (instead of blindly returning
8071 the first one).
8072
8073 2010-09-26 Robert Millan <rmh@gnu.org>
8074
8075 Build fixes for GNU/kFreeBSD.
8076
8077 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
8078 to programs that require ZFS conversion.
8079 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
8080 kernels that don't have FLOPPY_MAJOR.
8081
8082 2010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
8083
8084 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
8085
8086 2010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
8087
8088 Fix grub-emu build.
8089
8090 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
8091 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
8092 mdraid09 and mdraid1x.
8093
8094 2010-09-24 Colin Watson <cjwatson@ubuntu.com>
8095
8096 Re-enable grub-extras.
8097
8098 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
8099 avoid confusing Automake. Run autogen only twice, once for the top
8100 level and once for grub-core. Add Makefile.util.def and
8101 Makefile.core.def from extra modules to the appropriate autogen
8102 invocations. If Makefile.common exists in an extra module, include
8103 it in both Makefile.util.am and grub-core/Makefile.core.am;
8104 similarly, include any Makefile.util.common file in Makefile.util.am
8105 and any Makefile.core.common file in grub-core/Makefile.core.am.
8106 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
8107 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
8108 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
8109 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
8110
8111 * gentpl.py (gvar_add): Turn GVARS into a set.
8112 (global_variable_initializers): Sort global variables on output.
8113 (vars_init): New function.
8114 (first_time): Likewise.
8115 (library): Ensure that non-global variable initialisations are
8116 emitted before the first time we emit code for a library block.
8117 Append to variables rather than setting them. Only emit
8118 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
8119 each conditional path.
8120 (program): installdir() emits an Autogen macro, so must be passed to
8121 var_add rather than gvar_add.
8122 (data): Likewise.
8123 (script): Likewise.
8124 (rules): New function, centralising handling for different target
8125 types. Set up Guile association lists for first_time and vars_init,
8126 and send most output to a diversion so that variable initialisations
8127 can be emitted first.
8128 (module_rules): Use new rules function.
8129 (kernel_rules): Likewise.
8130 (image_rules): Likewise.
8131 (library_rules): Likewise.
8132 (program_rules): Likewise.
8133 (script_rules): Likewise.
8134 (data_rules): Likewise.
8135
8136 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
8137
8138 * .bzrignore: Add contrib and grub-core/contrib. Remove
8139 grub-core/Makefile.gcry.am.
8140
8141 2010-09-24 Yves Blusseau <blusseau@zetam.org>
8142
8143 * grub-core/lib/LzFind.c: Add missing include.
8144 * grub-core/lib/LzmaEnc.c: Likewise.
8145 * grub-core/script/lexer.c: Likewise.
8146 * grub-core/script/yylex.l: Likewise.
8147 * util/grub-macho2img.c: Likewise.
8148 * util/grub-menulst2cfg.c: Likewise.
8149 * util/grub-mklayout.c: Likewise.
8150 * util/grub-mkpasswd-pbkdf2.c
8151 * util/grub-mkrelpath.c: Likewise.
8152 * util/resolve.c: Likewise.
8153
8154 2010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
8155
8156 * Makefile.util.def (example_unit_test): Add
8157 grub-core/gnulib/libgnu.a.
8158
8159 2010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
8160
8161 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
8162
8163 2010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
8164
8165 Support xz compression on yeeloong.
8166
8167 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
8168 * configure.ac: Check for LZMA.
8169 * grub-core/Makefile.core.def (xz_decompress): New target.
8170 (none_decompress): Likewise.
8171 * grub-core/boot/decompressor/minilib.c: New file.
8172 * grub-core/boot/decompressor/none.c: Likewise.
8173 * grub-core/boot/decompressor/xz.c: Likewise.
8174 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
8175 * grub-core/kern/mips/cache_flush.S: Likewise.
8176 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
8177 * grub-core/kern/mips/startup.S: Move first stage to ...
8178 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
8179 nomacro.
8180 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
8181 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
8182 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
8183 Allocate statically.
8184 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
8185 Allocate statically or use scratch. Don't check CRC32.
8186 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
8187 Allocate statically. Don't check CRC32.
8188 * include/grub/decompressor.h: New file.
8189 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
8190 Removed.
8191 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
8192 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
8193 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
8194 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
8195 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
8196 * util/grub-mkimage.c (grub_compression_t): New type.
8197 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
8198 (image_target_desc): New field default_compression.
8199 (image_targets): Adjust yeeloong targets.
8200 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
8201 (compress_kernel): New parameter comp.
8202 (generate_image): Likewise. Handle new compression case.
8203 (options): New option --compression
8204 (help): Likewise.
8205 (main): Handle new option.
8206
8207 2010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
8208
8209 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
8210
8211 2010-09-22 Colin Watson <cjwatson@ubuntu.com>
8212
8213 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
8214 typo in __i386__ conditional.
8215
8216 2010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
8217
8218 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
8219 include.
8220
8221 2010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
8222
8223 Implement EFI and ACPI multiboot2 extensions.
8224
8225 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
8226 new tags as supported.
8227 (acpiv2_size): New function.
8228 (grub_multiboot_get_mbi_size): Take new tags into account.
8229 (grub_multiboot_make_mbi): Add new tags.
8230 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
8231
8232 2010-09-21 Aleš Nesrsta <starous@volny.cz>
8233
8234 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
8235 Added missing configuration of USB device.
8236
8237 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
8238
8239 * grub-core/normal/menu_entry.c (run): Make sure we always return
8240 a value.
8241
8242 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
8243
8244 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
8245 NumberOfPages is UINT64 according to the UEFI specification, not
8246 UINTN. Fix printf format.
8247
8248 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
8249
8250 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
8251 `err' to grub_usb_err_t.
8252 Reported and tested by: KESHAV P.R.
8253
8254 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
8255
8256 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
8257 tpart non-const, so that we can assign to it. (Since this is a
8258 typedef, the constness refers to the pointer rather than what it
8259 points to.)
8260
8261 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
8262
8263 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
8264 $(top_srcdir)/grub-core/gnulib as well as
8265 $(top_builddir)/grub-core/gnulib.
8266 Reported by: KESHAV P.R.
8267
8268 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
8269
8270 * util/grub-install.in: Fix the bootloader ID option to be
8271 consistently --bootloader-id, not --bootloader_id.
8272 Reported by: KESHAV P.R.
8273
8274 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
8275
8276 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
8277 check hash checksum." consistently translatable.
8278
8279 2010-09-21 Yves Blusseau <blusseau@zetam.org>
8280
8281 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
8282 $(top_builddir).
8283
8284 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
8285
8286 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
8287 (GRUB_MOD_INIT): Register sha1sum command.
8288 (GRUB_MOD_FINI): Unregister sha1sum command.
8289
8290 2010-09-21 Yves Blusseau <blusseau@zetam.org>
8291
8292 Keep boot and grub directory names in sync with utils scripts
8293
8294 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
8295 * config.h.in: Add previous macros.
8296 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
8297 * util/grub-install.in: Use $bootdir and $grubdir variables.
8298
8299 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
8300
8301 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
8302 convert partition names to disk names if the new `convert' parameter
8303 is set.
8304 (grub_util_biosdisk_get_grub_dev): If opening the disk device
8305 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
8306 disk in its own right. This can happen with Xen disk images.
8307
8308 2010-09-21 Yves Blusseau <blusseau@zetam.org>
8309
8310 * util/grub-editenv.c: Update strings to avoid warnings when generating
8311 grub.pot file.
8312 * util/grub-setup.c: Likewise.
8313
8314 2010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
8315
8316 * configure.ac: Change version to 1.99~beta0.
8317
8318 2010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
8319
8320 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
8321 Add BADRAM.
8322 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
8323 Likewise.
8324 * include/multiboot.h: Resynced with specification.
8325 * include/multiboot2.h: Likewise.
8326
8327 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
8328
8329 Fix po directory handling.
8330
8331 * configure.ac: Create po/Makefile.in rather than po/Makefile.
8332 * grub-core/gnulib/Makefile.am: Import gettext module.
8333 * m4/gnulib-cache.m4: Likewise.
8334 * m4/gnulib-comp.m4: Likewise.
8335 * m4/gettext.m4: New file, from gnulib.
8336 * m4/glibc2.m4: Likewise.
8337 * m4/iconv.m4: Likewise.
8338 * m4/intdiv0.m4: Likewise.
8339 * m4/intl.m4: Likewise.
8340 * m4/intldir.m4: Likewise.
8341 * m4/intlmacosx.m4: Likewise.
8342 * m4/intmax.m4: Likewise.
8343 * m4/inttypes-pri.m4: Likewise.
8344 * m4/lcmessage.m4: Likewise.
8345 * m4/lib-ld.m4: Likewise.
8346 * m4/lib-link.m4: Likewise.
8347 * m4/lib-prefix.m4: Likewise.
8348 * m4/lock.m4: Likewise.
8349 * m4/nls.m4: Likewise.
8350 * m4/po.m4: Likewise.
8351 * m4/printf-posix.m4: Likewise.
8352 * m4/progtest.m4: Likewise.
8353 * m4/threadlib.m4: Likewise.
8354 * m4/uintmax_t.m4: Likewise.
8355 * m4/visibility.m4: Likewise.
8356 * po/Makefile.am: Remove.
8357 * po/Makefile.in.in: New file, from gettext.
8358 ($(DOMAIN).pot-update): Support POTFILES-shell.
8359 * po/Makevars: New file.
8360 * po/POTFILES-shell: Rename to ...
8361 * po/POTFILES-shell.in: ... this. Update.
8362 * po/POTFILES: Rename to ...
8363 * po/POTFILES.in: ... this. Update.
8364 * po/Rules-quot: New file, from gettext.
8365 * po/boldquot.sed: Likewise.
8366 * po/en@boldquot.header: Likewise.
8367 * po/en@quot.header: Likewise.
8368 * po/insert-header.sin: Likewise.
8369 * po/quot.sed: Likewise.
8370 * po/remove-potcdate.sin: Likewise.
8371
8372 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8373
8374 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
8375
8376 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8377
8378 * util/grub.d/20_linux_xen.in: Use submenus.
8379
8380 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8381
8382 Support submenus.
8383
8384 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
8385 parameter submenu. All users updated.
8386 * grub-core/normal/main.c (free_menu): Rename to ...
8387 (grub_normal_free_menu): ... this. Made global.
8388 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
8389 if requested.
8390 * grub-core/normal/menu_entry.c (screen): New field submenu.
8391 (make_screen): Set submenu.
8392 (run): Open new context if requested.
8393 * include/grub/menu.h (grub_menu_entry): New field submenu.
8394 * include/grub/normal.h (grub_normal_free_menu): New proto.
8395
8396 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8397
8398 Menu entries extractor.
8399
8400 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
8401 variants.
8402 (GRUB_MOD_INIT): Register new variants.
8403 (GRUB_MOD_FINI): Unregister new variants.
8404 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
8405 into grub_cmd_legacy_source.
8406 (grub_cmd_legacy_source): Implement extractor variants.
8407 (GRUB_MOD_INIT): Register new variants.
8408 (GRUB_MOD_FINI): Unregister new variants.
8409 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
8410 as an extractor.
8411 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
8412 search as an extractor.
8413 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
8414 test as an extractor.
8415 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
8416 as an extractor.
8417 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
8418 (grub_env_new_context): New function.
8419 (grub_env_context_open): Likewise.
8420 (grub_env_extractor_open): Likewise.
8421 (grub_env_extractor_close): Likewise.
8422 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
8423 grub_extractor_level.
8424 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
8425 * include/grub/env.h (grub_env_extractor_open): New proto.
8426 (grub_env_extractor_close): Likewise.
8427 * include/grub/normal.h (grub_extractor_level): New external variable.
8428
8429 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8430
8431 Make cutmem accept a region specification.
8432 Suggested by: Samuel Thibault
8433
8434 * grub-core/mmap/mmap.c (parsemem): New function.
8435 (grub_cmd_cutmem): Handle new arguments.
8436
8437 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8438
8439 New command cutmem.
8440
8441 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
8442 (GRUB_MOD_INIT): Register new command.
8443 (GRUB_MOD_FINI): Unregister new command.
8444
8445 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8446
8447 Support some annoying BSD and Minix subpartitions.
8448
8449 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
8450 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
8451 Properly handle concatenation.
8452 * grub-core/kern/device.c (grub_device_iterate): Likewise.
8453 * grub-core/normal/completion.c (iterate_partition): Likewise.
8454 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
8455 contain partition. All users updated.
8456 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
8457 struct.
8458 (grub_openbsdlabel_partition_map): Likewise.
8459 (bsdlabel_partition_map_iterate): Rename to ..
8460 (iterate_real): ... this. New arguments sector, freebsd and pmap.
8461 (bsdlabel_partition_map_iterate): New function.
8462 (netopenbsdlabel_partition_map_iterate): Likewise.
8463 (netbsdlabel_partition_map_iterate): Likewise.
8464 (openbsdlabel_partition_map_iterate): Likewise.
8465 (GRUB_MOD_INIT): Register new partmaps.
8466 (GRUB_MOD_FINI): Unregister new partmaps.
8467 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
8468 (grub_partition_msdos_iterate): ... this. All users updated.
8469 Don't support embedding other than in a minix partition.
8470 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
8471 proto.
8472 * include/grub/partition.h (grub_partition): New field msdostype.
8473 * util/grub-install.in: Handle openbsd and netbsd types being in
8474 part_bsd module.
8475
8476 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8477
8478 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
8479
8480 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
8481 * grub-core/Makefile.core.def (mdraid): Renamed to ...
8482 (mdraid09): ... this.
8483 (mdraid1x): New module.
8484 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
8485 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
8486
8487 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8488
8489 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
8490 vsprintf.
8491
8492 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
8493
8494 * grub-core/commands/efi/lsefimmap.c: Correct header.
8495 * NEWS: Update.
8496
8497 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
8498
8499 * util/grub-editenv.c (argp_parser): Don't pass translated strings
8500 as printf format strings; the translations might contain '%' which
8501 could cause a crash.
8502 (main): Likewise.
8503 * util/grub-fstest.c (argp_parser): Likewise.
8504 * util/grub-setup.c (argp_parser): Likewise.
8505 (main): Likewise.
8506
8507 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8508
8509 Use argp in grub-fstest.
8510
8511 * util/grub-fstest.c: Don't include getopt.h.
8512 Include argp.h.
8513 (root): New variable.
8514 (args_count): Likewise.
8515 (nparm): Likewise.
8516 (num_disks): Likewise.
8517 (images): Likewise.
8518 (cmd): Likewise.
8519 (debug_str): Likewise.
8520 (args): Likewise.
8521 (options): Transformed to argp.
8522 (usage): Removed.
8523 (main): Split argument parsing into ...
8524 (argp_parser): ... this. Changed to argp format.
8525 (argp): New variable.
8526 (main): Use argp_parse.
8527
8528 2010-09-20 Tristan Gingold <gingold@free.fr>
8529 2010-09-20 Robert Millan <rmh.grub@aybabtu.com>
8530 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8531
8532 * grub-core/commands/efi/lsefimmap.c: New file.
8533 * grub-core/Makefile.core.def (lsefimmap): New module.
8534 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
8535
8536 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8537
8538 Pause the execution (10s max) if any errors are displayed so the user
8539 has a chance to see them.
8540
8541 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
8542 (grub_print_error): Increment grub_err_printed_errors.
8543 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
8544 execution if any errors were displayed.
8545 (show_menu): Remove old code for pause.
8546 * grub-core/normal/menu_entry.c (run): Likewise.
8547 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
8548 users updated.
8549 (grub_normal_get_char_counter): Likewise.
8550 * include/grub/err.h (grub_err_printed_errors): New external variable.
8551 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
8552
8553 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8554
8555 Support multiboot VBE info.
8556
8557 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
8558 Take VBE info into account.
8559 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
8560 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
8561 Call fill_vbe_info when appropriate.
8562 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
8563 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
8564 as supported.
8565 (grub_multiboot_get_mbi_size): Take new tags into account.
8566 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
8567 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
8568 Call fill_vbe_tag when appropriate.
8569 (grub_multiboot_make_mbi): Properly align tags.
8570 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
8571 function.
8572 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
8573 proto.
8574 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
8575
8576 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8577
8578 Suport manual terminal geometry specification.
8579
8580 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
8581 Save state in grub_ofconsole_terminfo_output.
8582 (grub_ofconsole_term): Use grub_terminfo_getwh.
8583 (grub_ofconsole_getwh): Removed.
8584 * grub-core/term/serial.c (grub_serial_getwh): Removed.
8585 (grub_serial_term): Use grub_terminfo_getwh.
8586 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
8587 (options): New struct.
8588 (OPTION_*): New enum.
8589 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
8590 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
8591 width and height.
8592 (grub_terminfo_getwh): New proto.
8593 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
8594
8595 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8596
8597 Handle legacy "terminal" command.
8598
8599 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
8600 and FLAG_TERMINAL.
8601 (legacy_commands): Add terminal and title.
8602 (grub_legacy_parse): Handle terminal. Simplify title handling.
8603
8604 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8605
8606 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
8607 parameters overflow.
8608
8609 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
8610
8611 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
8612 widthspec.h.
8613
8614 * docs/grub.texi (Shell-like scripting): Document `!'.
8615 (Network): Simplify using new i386-pc-pxe format. Mention
8616 grub-mknetdir.
8617
8618 * NEWS: Update.
8619
8620 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
8621
8622 * Makefile.am (SUBDIRS): Restore "."; it's important to force
8623 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
8624 when needed.
8625
8626 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
8627
8628 * grub-core/commands/efi/lsefisystab.c: Correct header.
8629 * grub-core/commands/efi/lssal.c: Likewise.
8630 * grub-core/commands/testload.c: Likewise.
8631
8632 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
8633
8634 * util/grub-mkrescue.in: Add explicit root argument to --set to
8635 prevent the UUID being interpreted as an argument to --set (matches
8636 previous change to prepare_grub_to_access_device).
8637
8638 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
8639
8640 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
8641 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
8642 the verbosity of later #ifs.
8643 (find_partition_start): Define this function on FreeBSD too.
8644 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
8645 function.
8646 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
8647 on FreeBSD.
8648
8649 2010-09-20 Yves Blusseau <blusseau@zetam.org>
8650
8651 * util/grub-editenv.c: Use argp instead of getopt.
8652
8653 2010-09-20 Yves Blusseau <blusseau@zetam.org>
8654
8655 * util/grub-setup.c: Use argp instead of getopt.
8656
8657 2010-09-20 Yves Blusseau <blusseau@zetam.org>
8658
8659 Use gnulib-tool to create gnulib source files.
8660
8661 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
8662 grub-core/gnulib directories
8663 * .bzignore: Add **/.deps and autogenerated gnulib files
8664 * configure.ac: Assign auxiliary directory to build-aux, add invocation
8665 of gnulib macros, add grub-core/gnulib/Makefile
8666 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
8667 include m4 directory to aclocal.
8668 * Makefile.util.def: Remove direct compilation of gnulib source files
8669 and use the new grub-core/gnulib/libgnu.a.
8670 * build-aux/config.rpath: move config.rpath from top directory to
8671 build-aux
8672 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
8673 in gnulib headers
8674 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
8675 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
8676 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
8677 header.
8678 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
8679 string.
8680
8681 2010-09-20 Yves Blusseau <blusseau@zetam.org>
8682
8683 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
8684 grub-core/genmod.sh and grub-core/gensyminfo.sh
8685
8686 2010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
8687
8688 Add a test for echo command options.
8689
8690 * tests/grub_cmd_echo.in: New test.
8691 * Makefile.util.def: Rules for new test.
8692
8693 2010-09-20 Szymon Janc <szymon@janc.net.pl>
8694
8695 Remove crc.mod and move crc command to hashsum.mod.
8696 Remove lib/crc.c - users updated to use gcrypt implementation.
8697
8698 * grub-core/commands/crc.c: Removed.
8699 * grub-core/Makefile.core.def (crc): Module removed.
8700 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
8701 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
8702 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
8703 * grub-core/lib/crc.c: Removed.
8704 * include/grub/lib/crc.h: Removed.
8705 * Makefile.util.def (crc): Remove lib/crc.c
8706 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
8707 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
8708 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
8709 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
8710 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
8711 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
8712
8713 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8714
8715 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
8716
8717 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
8718
8719 Split config.h for util and core.
8720
8721 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
8722 (ADDR32): Likewise.
8723 (DATA32): Likewise.
8724 (BSS_START_SYMBOL): Likewise.
8725 (END_SYMBOL): Likewise.
8726 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
8727 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
8728 * config.h.in: New file.
8729 * configure.ac: Use config-util.h as config define file.
8730 Rename MACHINE into GRUB_MACHINE. All users updated.
8731 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
8732 updated.
8733 (NESTED_FUNC_ATTR): Likewise.
8734 Substitue new variables.
8735 (COND_HAVE_ASM_USCORE): New conditional.
8736 * grub-core/Makefile.am (ASM_PREFIX): New variable.
8737 (kernel_syms.lst): Use ASM_PREFIX.
8738 * grub-core/kern/emu/console.c: Include config-util.h.
8739 * grub-core/kern/emu/misc.c: Likewise.
8740 * grub-core/kern/emu/mm.c: Likewise.
8741 * include/grub/emu/misc.h: Likewise.
8742 * include/grub/libgcc.h: Likewise.
8743
8744 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
8745
8746 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
8747 constants usage.
8748 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
8749 Fix GRUB_TERM_KEY_* constants usage.
8750 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
8751
8752 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
8753
8754 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
8755 print pointer.
8756 * grub-core/bus/usb/uhci.c: Remove empty define.
8757 (grub_uhci_check_transfer): Add missing cast.
8758 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
8759 print pointer.
8760 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
8761 PRIuGRUB_SIZE.
8762 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
8763
8764 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
8765
8766 * grub-core/Makefile.core.def (legacycfg): Add
8767 lib/i386/pc/vesa_modes_table.c on emu.
8768
8769 2010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
8770
8771 Reduce number of temporary files generated by build system.
8772
8773 * grub-core/gencmdlist.sh: Removed.
8774 * grub-core/genfslist.sh: Removed.
8775 * grub-core/genhandlerlist.sh: Removed.
8776 * grub-core/genmodsrc.sh: Removed.
8777 * grub-core/genpartmaplist.sh: Removed.
8778 * grub-core/genparttoollist.sh: Removed.
8779 * grub-core/gentermiinallist.sh: Removed.
8780 * grub-core/genvideolist.sh: Removed.
8781
8782 * grub-core/genmod.sh.in: New file.
8783 * grub-core/gensyminfo.sh.in: New file.
8784
8785 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
8786 * conf/Makefile.extra-dist: Update with new files.
8787 * gentpl.py: Remove rules related to unnecessary temporary files.
8788 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
8789 and und-* files.
8790 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
8791 genmod.sh scripts.
8792 * grub-core/bus/usb/uhci.c: Remove empty #define.
8793 * grub-core/genmoddep.awk: Updated with new syminfo format.
8794 * util/bash-completion.d/Makefile.am: Add config.log to
8795 CLEANFILES.
8796
8797 2010-09-19 Yves Blusseau <blusseau@zetam.org>
8798
8799 * Makefile.util.def: Add forgotten $(LIBINTL) library.
8800
8801 2010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
8802
8803 * util/grub-mkconfig.in: Check the config script for syntax errors
8804 before saving.
8805
8806 2010-09-19 Colin Watson <cjwatson@ubuntu.com>
8807 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
8808
8809 * Makefile.util.def (grub-install): Use util/grub-install.in on all
8810 platforms.
8811 * util/grub-install.in: Add EFI and IEEE1275 support.
8812 * util/i386/efi/grub-install.in: Removed.
8813 * util/ieee1275/grub-install.in: Likewise.
8814
8815 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
8816
8817 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
8818 (grub_cmd_cmosclean): Likewise.
8819 (GRUB_MOD_INIT): Register command cmosclean.
8820 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
8821 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
8822
8823 2010-09-18 Carles Pina i Estany <carles@pina.cat>
8824 2010-09-18 Aleš Nesrsta <starous@volny.cz>
8825 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
8826
8827 Add keyboard layouts support.
8828
8829 * Makefile.util.def (grub-mklayout): New file.
8830 (grub-kbdcomp): New script.
8831 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
8832 Add keyboard_layouts.h.
8833 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
8834 commands/boot.c on yeeloong.
8835 (keylayouts): New module.
8836 * grub-core/bus/usb/ohci.c
8837 * grub-core/bus/usb/uhci.c
8838 * grub-core/bus/usb/usbhub.c (rescan): New variable.
8839 (grub_usb_add_hub): Poll interrupt pipe for device handling.
8840 (attach_root_port): Likewise.
8841 (poll_nonroot_hub): Likewise.
8842 (grub_usb_poll_devices): Likewise.
8843 (detach_device): Close transfer.
8844 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
8845 function.
8846 (grub_usb_bulk_setup_readwrite): Likewise.
8847 (grub_usb_bulk_finish_readwrite): Likewise.
8848 * grub-core/commands/keylayouts.c: New file.
8849 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
8850 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
8851 aliases.
8852 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
8853 support scancode 2.
8854 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
8855 * include/grub/keyboard_layouts.h: New file.
8856 * util/grub-mklayout.c: New file.
8857 * util/grub-kbdcomp.in: Likewise.
8858
8859 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
8860
8861 Unify memory types.
8862
8863 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
8864 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
8865 types.
8866 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
8867 (grub_upper_mem): Likewise.
8868 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
8869 * include/grub/memory.h (grub_memory_type_t): New enum.
8870 All users updated.
8871
8872 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
8873
8874 * grub-core/Makefile.core.def (lsapm): New module.
8875 * grub-core/commands/i386/pc/lsapm.c: New file.
8876 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
8877 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
8878 Likewise.
8879 * include/grub/i386/pc/apm.h: New file.
8880 * include/multiboot.h (multiboot_apm_info): New struct.
8881
8882 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
8883
8884 GRUB-legacy configuration file support.
8885
8886 * Makefile.util.def (grub-menulst2cfg): New util.
8887 * docs/man/grub-menulst2cfg.h2m: New file.
8888 * grub-core/Makefile.core.def (legacycfg): New module.
8889 * grub-core/commands/legacycfg.c: New file.
8890 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
8891 (grub_normal_add_menu_entry): ... this.
8892 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
8893 (grub_normal_set_password): ...this.
8894 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
8895 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
8896 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
8897 * grub-core/lib/legacy_parse.c: New file.
8898 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
8899 * include/grub/i386/pc/vesa_modes_table.h: New file.
8900 * include/grub/legacy_parse.h: Likewise.
8901 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
8902 * util/grub-menulst2cfg.c: New file.
8903
8904 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
8905
8906 * grub-core/kern/emu/hostdisk.c
8907 (convert_system_partition_to_system_disk): Initialise node.
8908
8909 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
8910
8911 * grub-core/kern/emu/hostdisk.c
8912 (convert_system_partition_to_system_disk): Fix devmapper memory pool
8913 leak.
8914 Reported and based on patch by: Modestas Vainius.
8915
8916 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
8917
8918 Fix DM-RAID probing with recent versions of device-mapper udev
8919 rules.
8920
8921 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
8922 canonicalise device paths under /dev/mapper/.
8923 (convert_system_partition_to_system_disk): Compare the
8924 uncanonicalised path to /dev/mapper/ rather than the canonicalised
8925 path, since device nodes under /dev/mapper/ are often symlinks.
8926
8927 2010-09-17 Yves Blusseau <blusseau@zetam.org>
8928
8929 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
8930
8931 2010-09-16 Yves Blusseau <blusseau@zetam.org>
8932
8933 * configure.ac: Avoid some annoying error messages if freetype-config
8934 program is not found.
8935
8936 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
8937
8938 Support RAID on virtio devices, and others.
8939
8940 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
8941 Rename to ...
8942 [__MINGW32__] (grub_find_device): ... this.
8943 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
8944 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
8945 reasonable default if dir is NULL.
8946 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
8947 ...
8948 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
8949 (grub_guess_root_device): Update callers.
8950 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
8951
8952 * util/raid.c (grub_util_getdiskname): Remove.
8953 (grub_util_raid_getmembers): Use grub_find_device rather than
8954 grub_util_getdiskname.
8955
8956 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
8957
8958 * docs/grub.texi (serial): Remove obsolete comment about GRUB
8959 needing to be compiled with serial support.
8960 (ls): Indicate that multiple files are accepted.
8961 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
8962 indicate that multiple files are accepted.
8963
8964 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
8965
8966 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
8967 libgrub_a_init.c, and util/bash-completion.d/grub.
8968
8969 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
8970
8971 * util/grub-setup.c (setup): Fix incorrect container semantics.
8972
8973 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
8974
8975 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
8976 misusage.
8977 Reported by: J. Nick Terry
8978
8979 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
8980
8981 Move embedding routines to partmap sources files.
8982
8983 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
8984 [GRUB_UTIL]: New variable.
8985 (gpt_partition_map_iterate): Set part.parent.
8986 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
8987 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
8988 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
8989 New function.
8990 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
8991 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
8992 (grub_partition_map) [GRUB_UTIL]: New field embed.
8993 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
8994 (setup): Use ->embed.
8995
8996 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
8997
8998 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
8999 function.
9000 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
9001 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
9002
9003 2010-09-15 Yves Blusseau <blusseau@zetam.org>
9004
9005 Add function to get completions from usage.
9006
9007 * util/bash-completion.d/grub-completion.bash.in: Add function to get
9008 completions from usage. Use LC_ALL=C to get options properly.
9009
9010 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
9011
9012 * grub-core/gnulib/basename-lgpl.c: Imported.
9013 * grub-core/gnulib/basename.c: Likewise.
9014 * grub-core/gnulib/dirname-lgpl.c: Likewise.
9015 * grub-core/gnulib/dirname.c: Likewise.
9016 * grub-core/gnulib/dirname.h: Likewise.
9017 * grub-core/gnulib/stripslash.c: Likewise.
9018
9019 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
9020
9021 * grub-core/gnulib/error.c: Resynced.
9022 * grub-core/gnulib/getopt.c: Likewise.
9023 * grub-core/gnulib/getopt_int.h: Likewise.
9024 * grub-core/gnulib/regex.h: Likewise.
9025 * grub-core/gnulib/regex_internal.c: Likewise.
9026 * grub-core/gnulib/regex_internal.h: Likewise.
9027
9028 2010-09-15 Szymon Janc <szymon@janc.net.pl>
9029
9030 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
9031 CRC calculations and validity checks.
9032 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
9033 calculations.
9034
9035 2010-09-15 Szymon Janc <szymon@janc.net.pl>
9036
9037 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
9038
9039 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
9040
9041 Fix incorrect echo options handling.
9042 Reported by: Yves Blusseau.
9043
9044 * include/grub/command.h (grub_command_flags_t): New flags
9045 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
9046 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
9047 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
9048
9049 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
9050
9051 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
9052 users updated.
9053 (GRUB_COMMAND_FLAG_MENU): Likewise.
9054 (GRUB_COMMAND_FLAG_BOTH): Likewise.
9055 (GRUB_COMMAND_FLAG_TITLE): Removed.
9056 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
9057 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
9058 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
9059 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
9060 (grub_command_flags_t): New enum. All users updated.
9061
9062 2010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
9063
9064 Fix solaris compilation.
9065
9066 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
9067 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
9068 (grub-emu-list): Likewise.
9069
9070 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
9071
9072 Remove deprecated root command.
9073
9074 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
9075 updated.
9076
9077 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
9078
9079 * util/i386/pc/grub-setup.c: Merge this ...
9080 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
9081 * util/grub-setup.c: ... into this.
9082 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
9083 New struct.
9084
9085 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
9086
9087 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
9088 possible.
9089
9090 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
9091
9092 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
9093 allocate p.
9094
9095 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
9096
9097 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
9098 explicit root argument to set to prevent UUID to be interpreted as
9099 argument to set.
9100
9101 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
9102
9103 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
9104
9105 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
9106
9107 Don't export grub_gate_a20.
9108
9109 * grub-core/kern/i386/pc/init.c: Remove leftovers.
9110 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
9111 to ...
9112 (grub_gate_a20): ... this. All users updated.
9113 * include/grub/i386/pc/init.h: Removed. All users updated.
9114
9115 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
9116
9117 Create euro.pf2 which supports most European languages.
9118
9119 * Makefile.am (grubdata_DATA): Add euro.pf2.
9120 (euro.pf2): New target.
9121 (CLEANFILES): Add euro.pf2.
9122
9123 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
9124
9125 * configure.ac: Disable emu-usb by default to prevent inadvertent
9126 device takeover.
9127
9128 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9129
9130 Disable usbserial on grub-emu since our libusb code isn't good enough
9131 yet.
9132
9133 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
9134 (usbserial_pl2303): Likewise.
9135 (usbserial_ftdi): Likewise.
9136
9137 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9138
9139 * include/grub/disk.h (grub_disk): Remove has_partitions.
9140 All users updated.
9141 * disk/loopback.c (grub_loopback): Remove has_partitions.
9142 All users updated.
9143 (options): Remove partitions. All users updated.
9144 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
9145 * util/i386/pc/grub-setup.c (setup): copy partition table only when
9146 actual partition table is found.
9147
9148 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9149
9150 Remove readability checks (too many false negatives).
9151
9152 * util/grub-install.in: Remove readability checks.
9153 * util/grub-mkconfig.in: Likewise.
9154 * util/grub.d/10_hurd.in: Likewise.
9155 * util/grub.d/10_kfreebsd.in: Likewise.
9156 * util/grub.d/10_linux.in: Likewise.
9157 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
9158 way.
9159
9160 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9161
9162 Enable acpi shutdown on all ACPI platforms.
9163
9164 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
9165 on coreboo, multiboot and EFI.
9166 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
9167 (grub_acpi_halt): Likewise.
9168 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
9169 (grub_cmd_halt): Don't call grub_acpi_halt directly.
9170 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
9171 * grub-core/lib/i386/halt.c (grub_halt)
9172 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
9173
9174 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9175
9176 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
9177 context.
9178
9179 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9180
9181 * grub-core/video/efi_gop.c: Fix over-80-chars line.
9182 * grub-core/video/efi_uga.c: Likewise.
9183
9184 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9185
9186 Filter devaliases and never open same device twice.
9187
9188 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
9189 (last_ihandle): Likewise.
9190 (ofdisk_hash_ent): New member shortest.
9191 (ofdisk_hash_add): Add canonical path too.
9192 (scan): New function.
9193 (grub_ofdisk_iterate): Iterate over hashed entries.
9194 (compute_dev_path): Don't add :0.
9195 (grub_ofdisk_open): Don't really open the disk.
9196 (grub_ofdisk_close): Avoid closing unrelated disk.
9197 (grub_ofdisk_read): Implement reopen logic.
9198 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
9199 New function.
9200 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
9201 New proto.
9202
9203 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9204
9205 Fix sparc64.
9206
9207 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
9208 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
9209 right address. Add sparc64_ieee1275_ldflags.
9210 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
9211 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
9212 to grub_host_to_target_addr
9213 (load_image): Likewise.
9214
9215 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9216
9217 * grub-core/normal/completion.c (complete_file): Handle device
9218 containing slash.
9219 Fix based on patch by Doug Nazar.
9220
9221 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9222
9223 grub-mknetdir script.
9224
9225 * Makefile.util.def (grub-mknetdir): New module.
9226 * tests/util/grub-shell.in: Support boot=net
9227 * util/grub-mknetdir.in: New file.
9228
9229 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9230
9231 videoinfo on non-vbe.
9232
9233 * grub-core/Makefile.core.def (vbeinfo): Removed.
9234 (vbetest): Removed.
9235 (videoinfo): New module.
9236 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
9237 * grub-core/commands/i386/pc/vbetest.c: Removed.
9238 * grub-core/commands/videoinfo.c: New file.
9239 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
9240 specification.
9241 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
9242 as vbetest.
9243 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
9244 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
9245 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
9246 mode_number. New parameter mode. All users updated.
9247 (grub_video_gop_iterate): New function.
9248 (grub_video_efi_gop): New member iterate.
9249 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
9250 (grub_vbe_set_video_mode): Remove setting useless fields.
9251 (vbe2videoinfo): New function.
9252 (grub_video_vbe_iterate): Likewise.
9253 (grub_video_vbe_setup): Use vbe2videoinfo.
9254 (grub_video_vbe_print_adapter_specific_info): New function.
9255 (grub_video_vbe_adapter): New fields iterate and
9256 print_adapter_specific_info.
9257 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
9258 All users updated.
9259 (grub_video_mode_info): New field mode_number.
9260 (grub_video_adapter): New fields iterate and
9261 print_adapter_specific_info.
9262
9263 2010-09-13 Tristan Gingold <gingold@free.fr>
9264 2010-09-13 Robert Millan <rmh.grub@aybabtu.com>
9265 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9266
9267 * grub-core/commands/efi/lsefisystab.c: New file.
9268 * grub-core/commands/efi/lssal.c: Likewise.
9269 * grub-core/Makefile.core.def (lsacpi): New module.
9270 (lsefisystab): Likewise.
9271 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
9272 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
9273 (grub_efi_sal_system_table): New struct.
9274 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
9275 (grub_efi_sal_system_table_memory_descriptor): Likewise.
9276 (grub_efi_sal_system_table_platform_features): Likewise.
9277 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
9278 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
9279 (grub_efi_sal_system_table_ap_wakeup): Likewise.
9280 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
9281
9282 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9283
9284 Support explicit user claim that a device is BIOS-visible.
9285
9286 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
9287 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
9288 * grub-core/kern/emu/hostdisk.c
9289 (convert_system_partition_to_system_disk): Support mdX.
9290 (find_system_device): New parameter add. All users updated.
9291 (grub_util_biosdisk_is_present): New function.
9292 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
9293 proto.
9294
9295 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9296
9297 Search hints support.
9298
9299 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
9300 All users updated.
9301
9302 2010-09-13 Yves Blusseau <blusseau@zetam.org>
9303
9304 Bash completion script for util commands
9305
9306 * Makefile.am: Add util/bash-completion.d directory
9307 * configure.ac: Likewise.
9308 * util/bash-completion.d/Makefile.am: New file.
9309 * util/bash-completion.d/grub-completion.bash.in: Likewise.
9310
9311 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
9312
9313 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
9314 (print_backlog): set backlog_ucs4 and backlog_glyphs.
9315 Reported by: Yves Blusseau.
9316
9317 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
9318
9319 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
9320 partition size and offset.
9321
9322 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
9323
9324 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
9325
9326 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
9327
9328 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
9329
9330 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
9331
9332 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
9333 (grub_xvasprintf): Likewise.
9334
9335 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
9336
9337 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
9338
9339 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
9340
9341 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
9342 args ending with NULL.
9343
9344 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
9345
9346 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
9347 pointer.
9348
9349 2010-09-11 Szymon Janc <szymon@janc.net.pl>
9350
9351 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
9352
9353 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
9354
9355 Shutdown using ACPI.
9356
9357 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
9358 * grub-core/commands/acpihalt.c: New file.
9359 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
9360 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
9361 (grub_acpi_halt): New proto.
9362 (GRUB_ACPI_SLP_EN): New const.
9363 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
9364 (GRUB_ACPI_OPCODE_*): New enum.
9365 (GRUB_ACPI_EXTOPCODE_*): Likewise.
9366
9367 2010-09-11 Tristan Gingold <gingold@free.fr>
9368 2010-09-11 Robert Millan <rmh.grub@aybabtu.com>
9369 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
9370
9371 * commands/lsacpi.c: New file.
9372 * grub-core/Makefile.core.def (lsacpi): New module.
9373 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
9374 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
9375 (grub_acpi_madt_entry_header): New struct.
9376 (grub_acpi_madt): Likewise.
9377 (grub_acpi_madt_entry_interrupt_override): Likewise.
9378 (grub_acpi_madt_entry_sapic): Likewise.
9379 (grub_acpi_madt_entry_lsapic): Likewise.
9380 (grub_acpi_madt_entry_platform_int_source): Likewise.
9381 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
9382 (PRIuGRUB_UINT32_T): Likewise.
9383 (PRIxGRUB_UINT64_T): Likewise.
9384
9385 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
9386
9387 Implement loading palette on ieee1275_fb.
9388
9389 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
9390 (have_setcolors): Likewise.
9391 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
9392 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
9393 (grub_video_ieee1275_set_palette): Implement.
9394
9395 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
9396 2010-09-11 Colin Watson <cjwatson@ubuntu.com>
9397
9398 * util/grub-install.in (grub_partition): New variable.
9399 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
9400 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
9401 Fixes a bug reported by Yves Blusseau.
9402
9403 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
9404
9405 Fix emu on mipsel.
9406
9407 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
9408 =grub_cpu_flush_cache on all mips and not only yeeloong.
9409 * configure.ac (COND_mips): New conditional.
9410 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
9411 platforms.
9412 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
9413 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
9414 [GRUB_LINKER_HAVE_INIT]: New function.
9415 (grub_emu_post_init): Likewise.
9416 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
9417 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
9418 * include/grub/cache.h (_mips): Include mips/cache.h.
9419 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
9420 LVM and RAID prototypes.
9421 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
9422 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
9423 function.
9424
9425 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
9426
9427 * util/grub-install.in: Don't try to verify core.img until after
9428 running grub-mkimage to create it.
9429
9430 2010-09-10 Robert Millan <rmh@gnu.org>
9431
9432 * util/grub.d/10_hurd.in: Add misc readability checks.
9433 * util/grub.d/10_kfreebsd.in: Likewise.
9434 * util/grub.d/10_linux.in: Likewise.
9435
9436 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
9437
9438 * util/grub-install.in: ${imgext} won't be defined here until the
9439 install branch is merged. For the meantime, only verify core.img on
9440 i386-pc and sparc64-ieee1275 platforms.
9441
9442 2010-09-10 Robert Millan <rmh@gnu.org>
9443
9444 Solaris support in grub_find_zpool_from_dir(). Thanks
9445 Seth Goldberg for referring to getextmntent() facility.
9446
9447 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
9448 `sys/mkdev.h'.
9449 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
9450 `<sys/mnttab.h>'.
9451 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
9452 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
9453 method for finding zpool name.
9454
9455 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
9456
9457 grub-fstest needs the host and hostfs modules while other utilities
9458 actively require those modules to be absent, so grub-fstest needs
9459 its own initialisation and finalisation code.
9460
9461 * Makefile.am (grub_fstest.pp): New target.
9462 (grub_fstest_init.lst): Likewise.
9463 (grub_fstest_init.c): Likewise.
9464 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
9465
9466 2010-09-10 Robert Millan <rmh@gnu.org>
9467
9468 * configure.ac: Check for `struct statfs.f_fstypename' and
9469 `struct statfs.f_mntfromname'.
9470
9471 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
9472 kFreeBSD-specific code.
9473
9474 2010-09-10 Robert Millan <rmh@gnu.org>
9475
9476 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
9477 on ZFS. Now non-main filesystems are supported as / too.
9478
9479 2010-09-09 Colin Watson <cjwatson@ubuntu.com>
9480
9481 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
9482 and grub-core/disk/host.c to ...
9483 (grub-fstest): ... here. Having the host disk implementation
9484 present confuses grub-probe and other utility programs.
9485
9486 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
9487 when writing to a file, not when writing to stdout.
9488
9489 2010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
9490
9491 * tests/partmap_test.in: New test for partitions.
9492 * Makefile.util.def: Rules for new test.
9493
9494 2010-09-09 Robert Millan <rmh@gnu.org>
9495
9496 * util/grub-probe.c (probe): Fix a pair of unhandled error
9497 conditions.
9498
9499 2010-09-09 Robert Millan <rmh@gnu.org>
9500
9501 Basic Btrfs support (detection and UUID).
9502
9503 * grub-core/fs/btrfs.c: New file.
9504 * Makefile.util.def (library): Register btrfs.c.
9505 * grub-core/Makefile.core.def: Likewise.
9506
9507 2010-09-08 Robert Millan <rmh@gnu.org>
9508
9509 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
9510 with (optional) parameters to specify device and relative path.
9511 * util/grub-install.in: Use is_path_readable_by_grub() to
9512 verify readability of a few critical files.
9513 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
9514 verify readability of grub.cfg.new.
9515
9516 2010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
9517
9518 Split minix.mod into minix.mod and minix2.mod.
9519
9520 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
9521 * grub-core/Makefile.core.def (minix2): New module.
9522 * grub-core/fs/minix.c: Use definitions instead of runtime version
9523 checking.
9524 * grub-core/fs/minix2.c: New file.
9525
9526 2010-09-08 Yves Blusseau <blusseau@zetam.org>
9527
9528 Add new --boot-directory option to replace --root-directory
9529
9530 * util/grub-install.in: Add new --boot-directory option
9531 * util/grub-reboot.in: Likewise.
9532 * util/grub-set-default.in: Likewise.
9533
9534 2010-09-08 Yves Blusseau <blusseau@zetam.org>
9535
9536 * util/grub-mkconfig.in: Use new variable.
9537
9538 2010-09-08 Yves Blusseau <blusseau@zetam.org>
9539
9540 * configure.ac: Define some useful variables.
9541
9542 2010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
9543
9544 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
9545 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
9546 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
9547 Use terminfo and don't use cursor-on/cursor-off unless it's known
9548 to work.
9549 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
9550 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
9551
9552 2010-09-08 Colin Watson <cjwatson@ubuntu.com>
9553
9554 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
9555 starts with "(,", fill the drive containing the loaded image in
9556 between those two characters, but expect that a full partition
9557 specification including partition map names will follow.
9558
9559 2010-09-08 Robert Millan <rmh@gnu.org>
9560
9561 * configure.ac: Remove `--enable-grub-fstest' option.
9562 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
9563
9564 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
9565 `grub-fstest' instead of `grub-probe' for readability verification.
9566 * util/grub-probe.c (probe): Remove readability verification kludge.
9567
9568 2010-09-08 Robert Millan <rmh@gnu.org>
9569
9570 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
9571 initializing `GRUB_FS'.
9572
9573 2010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
9574
9575 Not command (!) support to GRUB script.
9576
9577 * tests/grub_script_not.in: New test.
9578 * Makefile.util.def: Rules for new test.
9579
9580 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
9581 ! command as a special case.
9582 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
9583
9584 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
9585
9586 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
9587 grub_free.
9588
9589 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
9590
9591 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
9592
9593 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
9594
9595 * docs/grub.texi (Shell-like scripting): Documentation for break,
9596 continue, shift and return commands.
9597
9598 2010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
9599
9600 Rename CD-ROM to cd on BIOS.
9601
9602 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
9603 "cd".
9604 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
9605
9606 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
9607
9608 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
9609 * util/grub-probe.c (main): Likewise.
9610 * util/i386/pc/grub-setup.c (main): Likewise.
9611 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
9612 Reported and debugged by: alexxy
9613
9614 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
9615
9616 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
9617 diagnostic info.
9618
9619 2010-09-05 Jo Shields <directhex@apebox.org>
9620
9621 * util/grub.d/30_os-prober.in: Add missing classes.
9622
9623 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
9624
9625 * docs/grub.texi (Theme file format): Document new position format.
9626
9627 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
9628
9629 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
9630 a table. Use @code instead of @verbatim.
9631
9632 2010-09-05 Colin D Bennett <colin@gibibit.com>
9633
9634 Gfxmenu documentation.
9635
9636 * docs/grub.texi (Theme file format): New chapter.
9637
9638 2010-09-05 Szymon Janc <szymon@janc.net.pl>
9639
9640 * grub-core/Makefile.core.def (xzio): New module.
9641 * grub-core/io/xzio.c: New file.
9642 * grub-core/lib/xzembed/xz.h: New file (from xembed).
9643 * grub-core/lib/xzembed/xz_config.h: Likewise.
9644 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
9645 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
9646 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
9647 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
9648 * grub-core/lib/xzembed/xz_private.h: Likewise.
9649 * grub-core/lib/xzembed/xz_stream.h: Likewise.
9650 * include/grub/file.h (grub_file_filter_id): New compression filter
9651 GRUB_FILE_FILTER_XZIO.
9652
9653 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
9654
9655 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
9656 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
9657 size.
9658
9659 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
9660
9661 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
9662 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
9663
9664 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
9665
9666 Uncompressed checksum support.
9667
9668 * grub-core/commands/hashsum.c (options): Add option --uncompress.
9669 (check_list): New parameter uncompress.
9670 (grub_cmd_hashsum): Handle --uncompress.
9671
9672 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
9673
9674 Reintroduce testload.
9675
9676 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
9677 from here ...
9678 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
9679 (GRUB_MOD_INIT): New function.
9680 (GRUB_MOD_FINI): Likewise.
9681 * grub-core/Makefile.core.def (testload): New module.
9682
9683 2010-09-05 Szymon Janc <szymon@janc.net.pl>
9684
9685 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
9686 (uint8_t): New type.
9687 (uint16_t): Likewise.
9688 (uint32_t): Likewise.
9689 (uint64_t): Likewise.
9690
9691 2010-09-05 Szymon Janc <szymon@janc.net.pl>
9692
9693 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
9694
9695 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
9696
9697 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
9698 Made static.
9699 (grub_gzfile_open): Removed. All users updated.
9700 (GRUB_MOD_INIT): New function.
9701 (GRUB_MOD_FINI): Likewise.
9702 * grub-core/kern/file.c (grub_file_filters_all): New variable.
9703 (grub_file_filters_enabled): Likewise.
9704 (grub_file_open): Handle filters.
9705 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
9706 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
9707 * include/grub/file.h (grub_file_filter_id_t): New type.
9708 (grub_file_filter_t): Likewise.
9709 (grub_file_filters_all): New extern variable.
9710 (grub_file_filters_enabled): Likewise.
9711 (grub_file_filter_register): New inline function.
9712 (grub_file_filter_unregister): Likewise.
9713 (grub_file_filter_disable): Likewise.
9714 (grub_file_filter_disable_compression): Likewise.
9715 * include/grub/gzio.h: Removed.
9716
9717 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
9718
9719 Filename expansion support for wildcards in GRUB script.
9720
9721 * tests/grub_script_expansion.in: New test.
9722 * Makefile.util.def: Rule for new test.
9723
9724 * grub-core/commands/wildcard.c: New file, implements filename
9725 expansion support for GRUB script.
9726 * grub-core/Makefile.core.def: Rule update for regexp.mod.
9727 * grub-core/script/argv.c: Cosmetic changes.
9728 * grub-core/script/execute.c (grub_script_arglist_to_argv):
9729 Refactored to perform wildcard expansion on arguments.
9730 * include/grub/script_sh.h (grub_script_wildcard_translator): New
9731 struct.
9732
9733 * tests/util/grub-shell.in: Fix quoting for read input.
9734
9735 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
9736
9737 Support for updating environment variables with matched substrings
9738 of regexp.
9739
9740 * tests/grub_cmd_regexp.in: New test.
9741 * Makefile.util.def: Rule for new test.
9742
9743 * grub-core/commands/regexp.c: New option -s to update environment
9744 variables with regexp matches.
9745
9746 2010-09-04 Szymon Janc <szymon@janc.net.pl>
9747
9748 * include/grub/file.h (grub_file): New member not_easly_seekable.
9749 (grub_file_seekable): New inline function.
9750 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
9751 easily seekable.
9752 (grub_gzio_open): Set not_easly_seekable.
9753 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
9754 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
9755
9756 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
9757
9758 Support for options to appear multiple times on cmdline.
9759
9760 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
9761 * grub-core/commands/extcmd.c: Support for repeatable option.
9762 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
9763 repeatable option support.
9764
9765 Refactor menuentry into a regular command.
9766
9767 * grub-core/commands/menuentry.c: New file, menuentry command
9768 implementation.
9769 * grub-core/Makefile.core.def: Rule update for normal.mod.
9770 * grub-core/normal/main.c: Moved menuentry creation to
9771 grub-core/commands/menuentry.c.
9772 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
9773 (grub_menu_execute_entry_real): Removed.
9774 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
9775 function.
9776 (grub_script_execute_menuentry): Removed.
9777 * grub-core/script/parser.y (menuentry): Removed.
9778 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
9779 * grub-core/script/yylex.l (menuentry): Removed.
9780 * include/grub/menu.h (grub_menu_init): New prototype.
9781 (grub_menu_fini): New prototype.
9782 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
9783 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
9784 (grub_script_execute_sourcecode): New prototype.
9785
9786 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
9787
9788 "return" command for GRUB script functions.
9789
9790 * tests/grub_script_return.in: New test.
9791 * Makefile.util.def: Rules for new test.
9792
9793 * grub-core/script/execute.c (grub_script_return): New function.
9794 * grub-core/script/main.c: Register/unregister return commaond.
9795 * include/grub/script_sh.h (grub_script_return): New prototype.
9796
9797 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
9798
9799 "setparams" command to update positional parameters.
9800
9801 * tests/grub_script_setparams.in: New test.
9802 * Makefile.util.def: Rules for new test.
9803
9804 * grub-core/script/argv.c (grub_script_argv_make): New function.
9805 * grub-core/script/execute.c (replace_scope): New function.
9806 (grub_script_setparams): New function.
9807 * grub-core/script/lexer.c: Remove unused variables.
9808 * grub-core/script/main.c: Register/unregister setparams command.
9809 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
9810 (grub_script_setparams): New prototype.
9811
9812 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
9813
9814 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
9815 grub_free order.
9816
9817 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
9818
9819 Support for passing block of commands as an argument to extcmds.
9820
9821 * Makefile.util.def: Rules for new test.
9822 * tests/grub_script_blockarg.in: New test.
9823 * grub-core/tests/test_blockarg.c: New file, block argument
9824 command used in the test.
9825
9826 * include/grub/extcmd.h (grub_extcmd_context): New struct.
9827 (grub_register_extcmd_prio): New function prototype.
9828 (grub_extcmd_dispatcher): New function prototype.
9829 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
9830 type.
9831 * include/grub/script_sh.h (struct grub_script): New members
9832 `children', `next_siblings' and `refcnt' for block arguments and
9833 reference counting.
9834 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
9835 (grub_script_arg): New member `script' for block argument.
9836 (grub_script_argv): New member `script' for block argument.
9837 (grub_parser_param): New member `scripts' for block argument.
9838 (grub_script_mem_free): New extern function prototype.
9839 (grub_script_ref): New function prototype.
9840 (grub_script_unref): New function prototype.
9841
9842 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
9843 extcmd form to support block arguments.
9844 * grub-core/script/argv.c: Block arguments support.
9845 * grub-core/script/execute.c: Likewise.
9846 * grub-core/script/lexer.c: Likewise.
9847 * grub-core/script/main.c: Likewise.
9848 * grub-core/script/script.c: Likewise.
9849 * grub-core/script/parser.y: Likewise. New `block' and `block0'
9850 non-terminals.
9851
9852 * grub-core/commands/acpi.c: Update extcmd implementations with
9853 grub_extcmd_context_t.
9854 * grub-core/commands/cat.c: Likewise.
9855 * grub-core/commands/echo.c: Likewise.
9856 * grub-core/commands/extcmd.c: Likewise.
9857 * grub-core/commands/hashsum.c: Likewise.
9858 * grub-core/commands/hdparm.c: Likewise.
9859 * grub-core/commands/help.c: Likewise.
9860 * grub-core/commands/hexdump.c: Likewise.
9861 * grub-core/commands/i386/cpuid.c: Likewise.
9862 * grub-core/commands/i386/pc/drivemap.c: Likewise.
9863 * grub-core/commands/i386/pc/halt.c: Likewise.
9864 * grub-core/commands/i386/pc/sendkey.c: Likewise.
9865 * grub-core/commands/iorw.c: Likewise.
9866 * grub-core/commands/keystatus.c: Likewise.
9867 * grub-core/commands/loadenv.c: Likewise.
9868 * grub-core/commands/ls.c: Likewise.
9869 * grub-core/commands/lspci.c: Likewise.
9870 * grub-core/commands/memrw.c: Likewise.
9871 * grub-core/commands/probe.c: Likewise.
9872 * grub-core/commands/search_wrap.c: Likewise.
9873 * grub-core/commands/setpci.c: Likewise.
9874 * grub-core/commands/sleep.c: Likewise.
9875 * grub-core/disk/loopback.c: Likewise.
9876 * grub-core/hello/hello.c: Likewise.
9877 * grub-core/loader/i386/bsd.c: Likewise.
9878 * grub-core/loader/xnu.c: Likewise.
9879 * grub-core/term/gfxterm.c: Likewise.
9880 * grub-core/term/serial.c: Likewise.
9881 * grub-core/tests/lib/functional_test.c: Likewise.
9882
9883 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
9884
9885 Multi-line quoted strings support.
9886
9887 * grub-core/script/lexer.c (append_newline): Removed.
9888 (grub_script_lexer_yywrap): Refactored.
9889 (grub_script_lexer_init): Refactored.
9890 * grub-core/script/yylex.l (yywrap): New function.
9891 (grub_lexer_resplit): New function.
9892 (grub_lexer_unput): New function.
9893 * include/grub/script_sh.h (grub_lexer_param): New members, unput
9894 and resplit.
9895 * tests/grub_script_echo1.in: Added few more testcases.
9896
9897 2010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
9898
9899 * grub-core/kern/misc.c: Don't add abort alias in utils.
9900 Reported by: echoline.
9901
9902 2010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
9903
9904 Add missing files into "make dist" tarball for other platforms.
9905
9906 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
9907 * conf/Makefile.common (dist_noinst_DATA): New variable.
9908 * conf/Makefile.extra-dist: Added missing make dist files.
9909 * grub-core/Makefile.core.def: Likewise.
9910
9911 2010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
9912
9913 Compress grub_prefix.
9914
9915 * grub-core/boot/i386/pc/lnxboot.S: Use
9916 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
9917 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
9918 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
9919 GRUB_MACHINE_PREFIX_END. All users updated.
9920 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
9921 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
9922 + 0x40.
9923 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
9924 * util/grub-mkimage.c (image_target_desc): Change data_end to
9925 prefix_end. All users updated.
9926
9927 2010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
9928
9929 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
9930 value.
9931 (grub_openbsd_boot): Likewise.
9932 (grub_netbsd_boot): Likewise.
9933 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
9934 (grub_xnu_boot): Likewise.
9935
9936 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
9937
9938 * configure.ac: Clean LIBS variable after tests.
9939
9940 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
9941
9942 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
9943
9944 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
9945
9946 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
9947 echo if libdevmapper will be used.
9948
9949 2010-09-02 Ian Turner <Ian.Turner@deshaw.com>
9950
9951 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
9952 constant for the same file.
9953
9954 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
9955
9956 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
9957
9958 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
9959
9960 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
9961 grub-core/*.pp.
9962
9963 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
9964
9965 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
9966 required by the boot protocol.
9967
9968 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
9969 ebp and edi members.
9970 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
9971 state.ebp and state.edi.
9972 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
9973 %ebp and %edi according to grub_relocator32_ebp and
9974 grub_relocator32_edi respectively.
9975 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
9976 and state.edi.
9977
9978 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
9979
9980 Add i386-pc-pxe image target.
9981
9982 * util/grub-mkimage.c (image_target_desc): New enum value
9983 IMAGE_I386_PC_PXE.
9984 (image_targets): New target i386-pc-pxe.
9985 (generate_image): Handle i386-pc-pxe image.
9986
9987 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
9988
9989 Fix grub_pxe_scan.
9990
9991 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
9992 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
9993 All users updated.
9994 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
9995 (grub_pxe_pxenv): Correct type.
9996
9997 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
9998
9999 * NEWS: Document most of the important changes since 1.98.
10000
10001 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
10002
10003 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
10004 generated manual page) a little.
10005
10006 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
10007
10008 * docs/grub.texi: Add myself as an author.
10009
10010 2010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
10011
10012 * Makefile.util.def (libgrub.a): Add missing sunpc.
10013 Reported by: Seth Goldberg.
10014
10015 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
10016
10017 Interrupt wrapping and code simplifications.
10018
10019 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
10020 x86_noieee1275 which are functionaly equivalent in this case.
10021 (grub-install): Make source on each platform explicit. Enable on
10022 all noemu.
10023 * gentpl.py (x86_efi_pc): Removed group.
10024 (x86_noefi): Likewise.
10025 (i386_noefi): Likewise.
10026 (x86_noieee1275): Likewise.
10027 (i386_noieee1275): Likewise.
10028 (i386_noefi_noieee1275): Likewise.
10029 (i386_pc_qemu_coreboot): Likewise.
10030 (i386_coreboot_multiboot): Likewise.
10031 (i386_pc_coreboot_multiboot_qemu): Likewise.
10032 (x86_noefi_mips): Likewise.
10033 (noieee1275): Likewise.
10034 (ieee1275_mips): Likewise.
10035 (noemu_noieee1275): Likewise.
10036 (cmos): New group.
10037 (usb): Likewise.
10038 (videoinkernel): Likewise.
10039 (videomodules): Likewise.
10040 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
10041 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
10042 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
10043 include/grub/loader.h, include/grub/msdos_partition.h,
10044 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
10045 include/grub/machine/console.h, include/grub/machine/vga.h,
10046 include/grub/machine/vbe.h, include/grub/machine/init.h,
10047 include/grub/machine/kernel.h, include/grub/cpu/time.h,
10048 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
10049 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
10050 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
10051 * grub-core/Makefile.core.def (kernel): Explicit the source for
10052 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
10053 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
10054 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
10055 Use videoinkernel tag.
10056 (usb): Enable on all usb.
10057 (usbserial_common): Likewise.
10058 (usbserial_pl2303): Likewise.
10059 (usbserial_ftdi): Likewise.
10060 (uhci): Enable on all x86.
10061 (ohci): Enable on all pci.
10062 (cmostest): Enable on all CMOS.
10063 (acpi): Include commands/acpi.c on all platforms.
10064 (halt): Add relevant lib/*/halt.c.
10065 (hdparm): Enable on all pci.
10066 (lspci): Likewise.
10067 (usbtest): Enable on all usb.
10068 (ata): Enable on all pci.
10069 (ata_pthru): Likewise.
10070 (usbms): Enable on all usb.
10071 (usb_keyboard): Likewise.
10072 (font): Use tag videomodules.
10073 (bufio): Likewise.
10074 (datetime): Use tag cmos. Enable on all noemu.
10075 (mmap): Use tags common and x86.
10076 (gfxterm): Use tag videomodules.
10077 (bitmap): Likewise.
10078 (bitmap_scale): Likewise.
10079 (video_fb): Likewise.
10080 (video): Likewise.
10081 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
10082 adjust padding accordingly. All users updated.
10083 (grub_ohci_transaction): Fix bad format specification.
10084 (GRUB_MOD_INIT): Add asserts for struct size.
10085 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
10086 (grub_alloc_td): Likewise.
10087 (grub_free_queue): Likewise.
10088 (grub_uhci_transfer): Likewise.
10089 (grub_uhci_transaction): Fix bad format specification.
10090 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
10091 (grub_usb_bulk_readwrite): Likewise.
10092 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
10093 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
10094 Made static.
10095 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
10096 Made static.
10097 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
10098 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
10099 Transformed into C.
10100 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
10101 Moved from here ...
10102 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
10103 ... here. Transformed into C. Made static.
10104 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
10105 Moved from here ...
10106 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
10107 ... here. Transformed into C. Made static.
10108 * grub-core/kern/i386/pc/startup.S
10109 (grub_biosdisk_check_int13_extensions): Moved from here ...
10110 * grub-core/disk/i386/pc/biosdisk.c
10111 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
10112 Made static.
10113 * grub-core/kern/i386/pc/startup.S
10114 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
10115 * grub-core/disk/i386/pc/biosdisk.c
10116 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
10117 Transformed into C. Made static.
10118 * grub-core/kern/i386/pc/startup.S
10119 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
10120 * grub-core/disk/i386/pc/biosdisk.c
10121 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
10122 Transformed into C. Made static.
10123 * grub-core/kern/i386/pc/startup.S
10124 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
10125 * grub-core/disk/i386/pc/biosdisk.c
10126 (grub_biosdisk_get_diskinfo_standard): ... here.
10127 Transformed into C. Made static.
10128 * grub-core/kern/i386/pc/startup.S
10129 (grub_biosdisk_get_num_floppies): Moved from here ...
10130 * grub-core/disk/i386/pc/biosdisk.c
10131 (grub_biosdisk_get_num_floppies): ... here.
10132 Transformed into C. Made static.
10133 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
10134 New function.
10135 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
10136 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
10137 Transformed into C. Made static.
10138 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
10139 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
10140 Transformed into C. Made static.
10141 * grub-core/kern/i386/ieee1275/init.c: Removed.
10142 * grub-core/kern/i386/misc.S: Likewise.
10143 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
10144 Splitted from here ...
10145 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
10146 Transformed into C. Made static. All users updated.
10147 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
10148 Transformed into C. Made static. All users updated.
10149 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
10150 Moved from here...
10151 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
10152 Transformed into C. Made static. All users updated.
10153 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
10154 Moved from here...
10155 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
10156 Transformed into C. Made static. All users updated.
10157 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
10158 Removed (replaced by C version).
10159 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
10160 Moved from here...
10161 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
10162 Transformed into C. Made static.
10163 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
10164 Moved from here...
10165 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
10166 ... here. Transformed into C.
10167 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
10168 Moved from here...
10169 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
10170 ... here. Transformed into C.
10171 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
10172 Moved from here...
10173 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
10174 ... here. Transformed into C. Made static.
10175 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
10176 Moved from here...
10177 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
10178 ... here. Transformed into C.
10179 * grub-core/kern/i386/pc/startup.S
10180 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
10181 * grub-core/video/i386/pc/vbe.c
10182 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
10183 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
10184 Moved from here...
10185 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
10186 ... here. Transformed into C.
10187 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
10188 Moved from here...
10189 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
10190 ... here. Transformed into C.
10191 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
10192 Moved from here...
10193 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
10194 ... here. Transformed into C.
10195 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
10196 Moved from here...
10197 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
10198 ... here. Transformed into C.
10199 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
10200 Moved from here...
10201 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
10202 ... here. Transformed into C. Made static.
10203 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
10204 Moved from here...
10205 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
10206 ... here. Transformed into C. Made static.
10207 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
10208 Moved from here...
10209 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
10210 ... here. Transformed into C. Made static.
10211 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
10212 pxe_rm_entry as third argument.
10213 (grub_bios_interrupt): New function.
10214 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
10215 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
10216 of calling grub_stop.
10217 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
10218 * grub-core/lib/efi/halt.c (grub_halt): ...here.
10219 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
10220 * grub-core/lib/emu/halt.c (grub_halt): ... here.
10221 * grub-core/lib/i386/halt.c: Moved from here ...
10222 * grub-core/lib/i386/halt.c: ... here.
10223 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
10224 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
10225 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
10226 grub_stop_floppy.
10227 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
10228 * include/grub/i386/coreboot/init.h: Removed.
10229 * include/grub/i386/multiboot/init.h: Likewise.
10230 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
10231 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
10232 * include/grub/i386/pc/int.h: New file.
10233 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
10234 (grub_pxe_scan): Removed.
10235 (grub_pxe_call): Update prototype.
10236 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
10237 prototypes.
10238 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
10239 * include/grub/i386/qemu/init.h: Removed.
10240 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
10241 noreturn.
10242 (grub_halt): Likewise.
10243 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
10244 (grub_reboot): Likewise.
10245 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
10246 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
10247 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
10248
10249 2010-08-30 Robert Millan <rmh@gnu.org>
10250
10251 * NEWS: Document addition of ZFS support in `grub-install' and
10252 `grub-mkconfig'.
10253
10254 2010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
10255
10256 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
10257 dprintf output.
10258
10259 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
10260
10261 Remove leftover embedding of font objects.
10262
10263 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
10264 * util/grub-install.in (font): Removed.
10265 * util/grub-mkimage.c (generate_image): Remove font support. All users
10266 updated.
10267
10268 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
10269
10270 Remove leftover embedding of font objects.
10271
10272 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
10273 * util/grub-install.in (font): Removed.
10274 * util/grub-mkimage.c (generate_image): Remove font support. All users
10275 updated.
10276
10277 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
10278
10279 * docs/grub.texi (Network): Fix reference to pxe_blksize.
10280 Reported by: Ian Turner
10281
10282 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
10283
10284 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
10285 timeout to avoid indefinite boot stalling.
10286
10287 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
10288
10289 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
10290 (grub_env_write_color_highlight): Likewise.
10291
10292 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
10293
10294 * grub-core/normal/term.c (print_more): Return to normal and not
10295 to standard state after printing "---MORE---".
10296
10297 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
10298
10299 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
10300 Mask out the bit 0x80 since it has other meaning that specifiing color.
10301
10302 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
10303
10304 New relocator. Allows for more kernel support and more straightforward
10305 loader writing.
10306
10307 * Makefile.am (BOOTTARGET): New variable.
10308 (QEMU32): Likewise.
10309 (linux.init.x86_64): New target.
10310 (linux.init.i386): Likewise.
10311 (multiboot.elf): Likewise.
10312 (kfreebsd.elf): Likewise.
10313 (kfreebsd.aout): Likewise.
10314 (pc-chainloader.elf): Likewise.
10315 (pc-chainloader.bin): Likewise.
10316 (ntldr.elf): Likewise.
10317 (ntldr.bin): Likewise.
10318 (multiboot2.elf): Likewise.
10319 (kfreebsd.init.x86_64): Likewise.
10320 (kfreebsd.init.i386): Likewise.
10321 (knetbsd.init.i386): Likewise.
10322 (kopenbsd.init.i386): Likewise.
10323 (knetbsd.init.x86_64): Likewise.
10324 (kopenbsd.init.x86_64): Likewise.
10325 (linux-initramfs.i386): Likewise.
10326 (linux-initramfs.x86_64): Likewise.
10327 (kfreebsd-mfsroot.i386.img): Likewise.
10328 (knetbsd.image.i386): Likewise.
10329 (kopenbsd.image.i386): Likewise.
10330 (kopenbsd.image.x86_64): Likewise.
10331 (knetbsd.miniroot-image.i386.img): Likewise.
10332 (kfreebsd-mfsroot.x86_64.img): Likewise.
10333 (knetbsd.image.x86_64): Likewise.
10334 (knetbsd.miniroot-image.x86_64.img): Likewise.
10335 (kfreebsd-mfsroot.i386.gz): Likewise.
10336 (bootcheck-kfreebsd-i386): Likewise.
10337 (kfreebsd-mfsroot.x86_64.gz): Likewise.
10338 (bootcheck-kfreebsd-x86_64): Likewise.
10339 (knetbsd.miniroot-image.i386.gz): Likewise.
10340 (bootcheck-knetbsd-i386): Likewise.
10341 (bootcheck-kopenbsd-i386): Likewise.
10342 (bootcheck-kopenbsd-x86_64): Likewise.
10343 (knetbsd.miniroot-image.x86_64.gz): Likewise.
10344 (bootcheck-knetbsd-x86_64): Likewise.
10345 (bootcheck-linux-i386): Likewise.
10346 (bootcheck-linux-x86_64): Likewise.
10347 (bootcheck-linux16-i386): Likewise.
10348 (bootcheck-linux16-x86_64): Likewise.
10349 (bootcheck-multiboot): Likewise.
10350 (bootcheck-multiboot2): Likewise.
10351 (bootcheck-kfreebsd-aout): Likewise.
10352 (bootcheck-pc-chainloader): Likewise.
10353 (bootcheck-ntldr): Likewise.
10354 (CLEANFILES): Add new targets.
10355 (BOOTCHECKS): New variable.
10356 (.PHONY): Add bootchecks.
10357 (SUCCESSFUL_BOOT_STRING): New variable.
10358 (BOOTCHECK_TIMEOUT): Likewise.
10359 (bootcheck): New target
10360 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
10361 * configure.ac: Correct efiemu excuse.
10362 * docs/grub.texi (Supported kernels): New chapter.
10363 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
10364 include/grub/mm_private.h. Simplify inclusion of
10365 include/grub/boot.h, include/grub/loader.h
10366 and include/grub/msdos_partition.h
10367 (KERNEL_HEADER_FILES) [i386_coreboot]:
10368 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
10369 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
10370 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
10371 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
10372 include/grub/machine/loader.h.
10373 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
10374 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
10375 extra_dist.
10376 (pci.mod): Enable on i386-multiboot.
10377 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
10378 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
10379 i386-qemu.
10380 (relocator.mod): Rewritten.
10381 (aout.mod): Enable on all x86.
10382 (bsd.mod): Likewise.
10383 (ntldr.mod): New module.
10384 (linux.mod): Use loader/i386/linux.c on all x86.
10385 (xnu.mod): Enable on all x86.
10386 (vga_text.mod): disable on EFI and QEMU.
10387 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
10388 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
10389 * grub-core/efiemu/loadcore.c: Likewise.
10390 * grub-core/efiemu/main.c: Likewise.
10391 (grub_efiemu_exit_boot_services): Removed.
10392 (grub_efiemu_finish_boot_services): Likewise.
10393 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
10394 function.
10395 * grub-core/efiemu/i386/nocfgtables.c: New file.
10396 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
10397 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
10398 (grub_efi_finish_boot_services): Moved from here ...
10399 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
10400 Fille finish memory map and related data.
10401 (finish_mmap_buf): New variable.
10402 (grub_efi_uintn_t finish_mmap_size): Likewise.
10403 (grub_efi_uintn_t finish_key): Likewise.
10404 (grub_efi_uintn_t finish_desc_size): Likewise.
10405 (grub_efi_uint32_t finish_desc_version): Likewise.
10406 (grub_efi_is_finished): Likewise.
10407 (grub_efi_get_memory_map): Use saved memory map if EFI is already
10408 finished.
10409 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
10410 (grub_elf64_phdr_iterate): Likewise.
10411 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
10412 (grub_os_area_size): Likewise.
10413 (grub_machine_init): Don't reserve os area.
10414 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
10415 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
10416 * grub-core/kern/i386/loader.S: Removed.
10417 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
10418 (grub_os_area_size): Likewise.
10419 (grub_machine_init): Don't reserve os area.
10420 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
10421 Don't call grub_dl_unload_all.
10422 Don't include loader.S.
10423 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
10424 Declare the memory after _end as available.
10425 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
10426 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
10427 (GRUB_MM_ALLOC_MAGIC): Moved from here...
10428 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
10429 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
10430 * include/grub/mm_private.h (grub_mm_header): ... here.
10431 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
10432 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
10433 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
10434 (grub_mm_region): ..here. Removed addr. Added pre_size.
10435 All users updated.
10436 * grub-core/kern/mm.c (base): Renamed to ...
10437 (grub_mm_base): ... this. Made global.
10438 (grub_real_malloc): Alloc from end of region.
10439 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
10440 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
10441 * grub-core/kern/powerpc/cache_flush.S: ... here.
10442 * grub-core/lib/efi/relocator.c: New file.
10443 * grub-core/lib/i386/relocator.c: Rewritten.
10444 * grub-core/lib/i386/relocator16.S: New file.
10445 * grub-core/lib/i386/relocator32.S: Likewise.
10446 * grub-core/lib/i386/relocator64.S: Likewise.
10447 * grub-core/lib/i386/relocator_asm.S: Rewritten.
10448 * grub-core/lib/i386/relocator_common.S: New file.
10449 * grub-core/lib/ieee1275/relocator.c: Likewise.
10450 * grub-core/lib/mips/relocator.c: Rewritten.
10451 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
10452 stylistic adjustments.
10453 * grub-core/lib/powerpc/relocator.c: New file.
10454 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
10455 * grub-core/lib/relocator.c: Rewritten.
10456 * grub-core/lib/x86_64/relocator_asm.S: New file.
10457 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
10458 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
10459 (bsd_tag): New struct.
10460 (tags): New variable.
10461 (tags_last): Likewise.
10462 (netbsd_module): New struct.
10463 (netbsd_mods): New variable.
10464 (netbsd_mods_last): Likewise.
10465 (openbsd_opts): New parameter "serial".
10466 (OPENBSD_SERIAL_ARG): New definition.
10467 (netbsd_opts): New parameter "serial".
10468 (NETBSD_SERIAL_ARG): New definition.
10469 (grub_freebsd_add_meta): Reorganised into ...
10470 (grub_bsd_add_meta): ...this. All users updated.
10471 (grub_freebsd_add_mmap): Reorganised into ...
10472 (generate_e820_mmap): ...this...
10473 (grub_bsd_add_mmap): ...and this. All users updated.
10474 (grub_freebsd_list_modules): Use tags.
10475 (grub_netbsd_add_meta_module): New function.
10476 (grub_netbsd_list_modules): Likewise.
10477 (grub_freebsd_boot): Use relocator and finish EFI.
10478 (grub_openbsd_boot): Likewise.
10479 (grub_netbsd_setup_video): New function.
10480 (grub_netbsd_add_modules): Likewise.
10481 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
10482 and finish EFI.
10483 (grub_bsd_unload): Unload tags.
10484 (grub_bsd_load_aout): Use relocator.
10485 (grub_bsd_elf32_size_hook): New function.
10486 (grub_bsd_elf32_hook): Use relocator.
10487 (grub_bsd_elf64_size_hook): New function.
10488 (grub_bsd_elf64_hook): Use relocator.
10489 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
10490 (grub_bsd_load): Zero-out openbsd_ramdisk.
10491 (grub_bsd_load): Use relocator.
10492 (grub_cmd_openbsd): Support serial.
10493 (grub_cmd_netbsd): Support modules.
10494 (grub_cmd_freebsd_module): Use relocator.
10495 (grub_netbsd_module_load): New function.
10496 (grub_cmd_netbsd_module): Likewise.
10497 (grub_cmd_openbsd_ramdisk): Likewise.
10498 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
10499 kopenbsd_ramdisk.
10500 (GRUB_MOD_FINI): Unregister new commands.
10501 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
10502 (grub_freebsd_load_elfmodule_obj): Use relocator.
10503 (grub_freebsd_load_elfmodule): Likewise.
10504 (grub_freebsd_load_elf_meta): Likewise.
10505 (grub_netbsd_load_elf_meta): New function.
10506 (grub_openbsd_find_ramdisk): Likewise.
10507 * grub-core/loader/i386/bsd_helper.S: Removed.
10508 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
10509 * grub-core/loader/i386/bsd_trampoline.S: Removed.
10510 * grub-core/loader/i386/efi/linux.c: Likewise.
10511 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
10512 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
10513 (DEFAULT_VIDEO_MODE): Likewise.
10514 (real_mode_target): New variable.
10515 (prot_mode_target): Likewise.
10516 (initrd_mem_target): Likewise.
10517 (relocator): Likewise.
10518 (efi_mmap_buf): Likewise.
10519 (efi_mmap_size): Likewise.
10520 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
10521 (free_pages): Use relocator.
10522 (allocate_pages): Account for efi_mmap and use relocator. Return error.
10523 (grub_linux_setup_video): Return error.
10524 (grub_linux_trampoline_start): Removed.
10525 (grub_linux_trampoline_end): Likewise.
10526 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
10527 andd video parameters depending on firmware.
10528 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
10529 [GRUB_MACHINE_EFI]: Pass EFI parameters.
10530 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
10531 (grub_cmd_initrd): Use relocator.
10532 * grub-core/loader/i386/linux_trampoline.S: Removed.
10533 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
10534 (elf_sec_entsize): Likewise.
10535 (elf_sec_shstrndx): Likewise.
10536 (elf_sections): Likewise.
10537 (grub_multiboot_load): Use relocator.
10538 (grub_multiboot_get_mbi_size): Account for sections.
10539 (grub_multiboot_make_mbi): Use relocator and support sections.
10540 (grub_multiboot_add_elfsyms): New function.
10541 (grub_multiboot_free_mbi): Free sections.
10542 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
10543 (grub_linux_real_target): Likewise.
10544 (grub_linux_real_chunk): Likewise.
10545 (grub_linux16_prot_size): Likewise.
10546 (grub_linux16_boot): Use relocator.
10547 (grub_linux_unload): Unload relocator.
10548 (grub_cmd_linux): Use relocator.
10549 (grub_cmd_initrd): Likewise.
10550 * grub-core/loader/i386/pc/ntldr.c: New file.
10551 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
10552 Don't try to guess CPU frequency.
10553 (grub_xnu_set_video): Stretch bitmap.
10554 (grub_xnu_boot): Use relocator.
10555 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
10556 (grub_linux_unload): Free relocator.
10557 (grub_linux_load32): Use relocator.
10558 (grub_linux_load64): Likewise.
10559 (grub_cmd_initrd): Likewise.
10560 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
10561 (grub_multiboot_unload): Unload relocator.
10562 (grub_cmd_multiboot): Use relocator.
10563 (grub_cmd_module): Likewise.
10564 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
10565 Use relocator and support sections.
10566 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
10567 (elf_sec_entsize): Likewise.
10568 (elf_sec_shstrndx): Likewise.
10569 (elf_sections): Likewise.
10570 (grub_multiboot_load): Use relocator.
10571 (grub_multiboot_get_mbi_size): Account for sections.
10572 (grub_multiboot_make_mbi): Use relocator and support sections.
10573 (grub_multiboot_add_elfsyms): New function.
10574 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
10575 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
10576 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
10577 Prototype changed. All users updated.
10578 (grub_xnu_align_heap): Simplified.
10579 (grub_xnu_writetree_toheap): Likewise.
10580 (grub_xnu_unload): Unload relocator.
10581 (grub_cmd_xnu_kernel): Use relocator.
10582 (grub_cmd_xnu_kernel64): Likewise.
10583 (grub_xnu_register_memory): Simplified.
10584 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
10585 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
10586 EFI is finished.
10587 (grub_console_checkkey): Likewise.
10588 (grub_console_getkey): Likewise.
10589 (grub_console_getwh): Likewise.
10590 (grub_console_getxy): Likewise.
10591 (grub_console_gotoxy): Likewise.
10592 (grub_console_cls): Likewise.
10593 (grub_console_setcolorstate): Likewise.
10594 (grub_console_setcursor): Likewise.
10595 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
10596 * grub-core/tests/boot/kbsd.init-i386.S: New file.
10597 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
10598 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
10599 * grub-core/tests/boot/kernel-8086.S: Likewise.
10600 * grub-core/tests/boot/kernel-i386.S: Likewise.
10601 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
10602 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
10603 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
10604 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
10605 * grub-core/tests/boot/knetbsd.cfg: Likewise.
10606 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
10607 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
10608 * grub-core/tests/boot/linux.cfg: Likewise.
10609 * grub-core/tests/boot/linux.init-i386.S: Likewise.
10610 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
10611 * grub-core/tests/boot/linux16.cfg: Likewise.
10612 * grub-core/tests/boot/multiboot.cfg: Likewise.
10613 * grub-core/tests/boot/multiboot2.cfg: Likewise.
10614 * grub-core/tests/boot/ntldr.cfg: Likewise.
10615 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
10616 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
10617 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
10618 New definition.
10619 * include/grub/dl.h (grub_dl_unload_all): Removed.
10620 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
10621 (grub_efi_finish_boot_services): Change prototype.
10622 (grub_efi_is_finished): New variable.
10623 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
10624 Changed prototype.
10625 (grub_efiemu_finish_boot_services): Removed.
10626 (grub_machine_efiemu_init_tables): New prototype.
10627 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
10628 (grub_elf64_phdr_iterate): Likewise.
10629 * include/grub/i386/bsd.h: Include relocator.h.
10630 (freebsd_tag_header): New struct.
10631 (grub_openbsd_bios_mmap): Removed.
10632 (grub_unix_real_boot): Removed.
10633 (grub_freebsd_load_elfmodule32): Changed prototype.
10634 (grub_freebsd_load_elfmodule_obj64): Likewise.
10635 (grub_freebsd_load_elf_meta32): Likewise.
10636 (grub_freebsd_load_elf_meta64): Likewise.
10637 (grub_freebsd_add_meta): Removed.
10638 (grub_netbsd_load_elf_meta32): New prototype.
10639 (grub_netbsd_load_elf_meta64): Likewise.
10640 (grub_bsd_add_meta): Likewise.
10641 (grub_openbsd_ramdisk_descriptor): New struct.
10642 (grub_openbsd_find_ramdisk32): New prototype.
10643 (grub_openbsd_find_ramdisk64): Likewise.
10644 * include/grub/i386/coreboot/loader.h: Removed.
10645 * include/grub/i386/efi/loader.h: Likewise.
10646 * include/grub/i386/ieee1275/loader.h: Likewise.
10647 * include/grub/i386/linux.h (linux_kernel_header): Change void *
10648 to grub_uint32_t.
10649 * include/grub/i386/loader.h: Removed.
10650 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
10651 value.
10652 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
10653 (grub_phys_addr_t): New type.
10654 (grub_vtop): New inline function.
10655 (grub_map_memory): Likewise.
10656 (grub_unmap_memory): Likewise.
10657 * include/grub/i386/multiboot/loader.h: Removed.
10658 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
10659 (NETBSD_BTINFO_CONSOLE): New definition.
10660 (NETBSD_BTINFO_SYMTAB): Likewise.
10661 (NETBSD_BTINFO_MODULES): Likewise.
10662 (NETBSD_BTINFO_FRAMEBUF): Likewise.
10663 (grub_netbsd_bootinfo): New struct.
10664 (grub_netbsd_btinfo_common): Use explicit bitsize.
10665 (grub_netbsd_btinfo_mmap_entry): Removed.
10666 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
10667 (grub_netbsd_btinfo_bootdisk): New struct.
10668 (grub_netbsd_btinfo_symtab): Likewise.
10669 (grub_netbsd_btinfo_serial): Likewise.
10670 (grub_netbsd_btinfo_modules): Likewise.
10671 (grub_netbsd_btinfo_framebuf): Likewise.
10672 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
10673 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
10674 Likewise.
10675 (grub_openbsd_bootargs): Use explicit bitsize.
10676 (grub_openbsd_bootarg_console): New struct.
10677 (GRUB_OPENBSD_COM_MAJOR): New definition.
10678 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
10679 * include/grub/i386/pc/efiemu.h: Removed.
10680 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
10681 * include/grub/i386/qemu/loader.h: Removed.
10682 * include/grub/i386/relocator.h: Rewritten.
10683 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
10684 * include/grub/mips/memory.h: New file.
10685 * include/grub/mips/multiboot.h: Rewritten.
10686 * include/grub/mips/relocator.h: Rewritten.
10687 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
10688 (grub_vtop): New function.
10689 (grub_map_memory): Likewise.
10690 (grub_unmap_memory): Likewise.
10691 * include/grub/misc.h (ALIGN_DOWN): New definition.
10692 * include/grub/mm.h (grub_mm_check_real): New proto.
10693 (GRUB_MM_CHECK): New definition.
10694 * include/grub/mm_private.h: New file.
10695 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
10696 (grub_multiboot_get_mbi_size): Removed.
10697 (grub_multiboot_make_mbi): Change prottype.
10698 (grub_multiboot_set_accepts_video): New proto.
10699 (grub_multiboot_add_elfsyms): Likewise.
10700 (grub_multiboot_payload_eip): New variable.
10701 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
10702 New prototype.
10703 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
10704 New definition.
10705 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
10706 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
10707 * include/grub/powerpc/ieee1275/loader.h: Removed.
10708 * include/grub/powerpc/memory.h: New file.
10709 * include/grub/powerpc/relocator.h: Likewise.
10710 * include/grub/relocator.h: Likewise.
10711 * include/grub/relocator_private.h: Likewise.
10712 * include/grub/sparc64/ieee1275/loader.h: Removed.
10713 * include/grub/x86_64/memory.h: New file.
10714 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
10715 (grub_xnu_heap_malloc): Likewise.
10716 (grub_xnu_heap_real_start): Removed.
10717 (grub_xnu_heap_start): Likewise.
10718 (grub_xnu_relocator): New variable.
10719 (grub_xnu_heap_target_start): Likewise.
10720 * tests/util/grub-shell.in: Support non-pc.
10721 * util/grub-mkimage.c (image_targets): Fix multiboot target.
10722
10723 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
10724
10725 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
10726 on malloc error.
10727 (grub_bidi_logical_to_visual): Check that malloc succeded.
10728 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
10729 puts.
10730 (grub_xputs_normal): Likewise.
10731
10732 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
10733
10734 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
10735 extra_dist.
10736
10737 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
10738
10739 * grub-core/efiemu/runtime/efiemu.sh: Removed.
10740
10741 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
10742
10743 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
10744
10745 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
10746
10747 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
10748 dprintf.
10749
10750 2010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
10751
10752 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
10753
10754 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
10755
10756 * grub-core/normal/term.c (print_more): Fix a memory leak.
10757 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
10758 (grub_xputs_normal): Likewise.
10759
10760 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
10761
10762 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
10763 the begining of the string
10764
10765 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
10766
10767 * grub-core/script/script.c (grub_script_parse): Free parsed on
10768 failure.
10769
10770 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
10771
10772 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
10773 on failure.
10774
10775 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
10776
10777 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
10778 return.
10779
10780 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
10781
10782 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
10783 (scroll_up): Fix a memory leak.
10784
10785 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
10786
10787 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
10788 errors.
10789
10790 2010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
10791
10792 Handle USB pendrives exposed as floppies.
10793
10794 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
10795 floppy.
10796 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
10797 Check for partitions on all devices.
10798
10799 2010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
10800
10801 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
10802 (readkey): Likewise.
10803
10804 2010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
10805
10806 Multiple variable names support to "export" command.
10807
10808 * normal/context.c (grub_cmd_export): "export" command supports
10809 multiple variable names.
10810
10811 2010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
10812
10813 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
10814 --target=drive output to Mach device name.
10815
10816 2010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
10817
10818 New Automake based build system for GRUB.
10819
10820 * ABOUT-NLS: New file.
10821 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
10822 in Makefile.util.def file.
10823 * Makefile.util.def: New file. Autogen build definitions file for
10824 GRUB host utils.
10825 * conf/Makefile.common: New file. Common variables for GRUB host
10826 utils and target modules.
10827 * conf/Makefile.extra-dist: New file. Extra files for make dist.
10828 * docs/Makefile.am: New file. Automake file for docs.
10829 * gentpl.py: New file. Python script to generate Autogen
10830 template.
10831 * grub-core/Makefile.am: New file. GRUB target modules' rules
10832 that doesn't fit in Makefile.core.def file.
10833 * grub-core/Makefile.core.def: New file. Autogen build
10834 definitions file for GRUB target modules.
10835 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
10836 specific setjmp.S file.
10837 * po/Makefile.am: New file.
10838
10839 * .bzrignore: New ignores.
10840 * INSTALL: New requirements, without Ruby.
10841 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
10842 * autogen.sh: Updated to invoke autogen as necessary.
10843 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
10844 and defines for Automake conditionals.
10845 * geninit.sh: Refactoring.
10846
10847 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
10848 necessary.
10849 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
10850 New prototype.
10851
10852 * include/grub/test.h: Fix functional test modules' naming.
10853 * grub-core/tests/example_functional_test.c: Fix test module name.
10854
10855 * util/misc.c: Hosted versions' of grub functions for libgrub.a
10856 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
10857 * util/grub-editenv.c: Likewise.
10858 * util/grub-fstest.c: Likewise.
10859 * util/grub-mkdevicemap.c: Likewise.
10860 * util/grub-mkfont.c: Likewise.
10861 * util/grub-mkimage.c: Likewise.
10862 * util/grub-mkpasswd-pbkdf2.c: Likewise.
10863 * util/grub-probe.c: Likewise.
10864 * util/grub-script-check.c: Likewise.
10865 * util/i386/pc/grub-setup.c: Likewise.
10866 * util/sparc64/ieee1275/grub-setup.c: Likewise.
10867
10868 * tests/util/grub-shell.in: Fix override directory path.
10869 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
10870 * util/import_gcry.py: Create Makefile.gcry.def file instead.
10871
10872 * util/lvm.c: Update #includes.
10873 * util/raid.c: Likewise.
10874 * util/resolve.c: Likewise.
10875 * grub-core/bus/emu/pci.c: Likewise.
10876 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
10877 * grub-core/lib/posix_wrap/string.h: Likewise.
10878 * grub-core/kern/emu/main.c: Likewise.
10879
10880 * grub-core/gensymlist.sh: New file. Script for generating kernel
10881 symbols file.
10882 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
10883
10884 * grub-core/gentrigtables.c: Fix unused variable warnings.
10885
10886 * Makefile.in: Removed.
10887 * conf/any-emu.rmk: Removed.
10888 * conf/common.rmk: Removed.
10889 * conf/i386-coreboot.rmk: Removed.
10890 * conf/i386-efi.rmk: Removed.
10891 * conf/i386-ieee1275.rmk: Removed.
10892 * conf/i386-multiboot.rmk: Removed.
10893 * conf/i386-pc.rmk: Removed.
10894 * conf/i386-qemu.rmk: Removed.
10895 * conf/i386.rmk: Removed.
10896 * conf/mips-yeeloong.rmk: Removed.
10897 * conf/mips.rmk: Removed.
10898 * conf/powerpc-ieee1275.rmk: Removed.
10899 * conf/sparc64-ieee1275.rmk: Removed.
10900 * conf/tests.rmk: Removed.
10901 * conf/x86-efi.rmk: Removed.
10902 * conf/x86_64-efi.rmk: Removed.
10903 * gendistlist.sh: Removed.
10904 * geninitheader.sh: Removed.
10905 * genkernsyms.sh.in: Removed.
10906 * genmk.rb: Removed.
10907 * gensymlist.sh.in: Removed.
10908 * mkinstalldirs: Removed.
10909 * boot: Moved ...
10910 * grub-core/boot: ... to here.
10911 * bus: Moved ...
10912 * grub-core/bus: ... to here.
10913 * commands: Moved ...
10914 * grub-core/commands: ... to here.
10915 * disk: Moved ...
10916 * grub-core/disk: ... to here.
10917 * efiemu: Moved ...
10918 * grub-core/efiemu: ... to here.
10919 * font: Moved ...
10920 * grub-core/font: ... to here.
10921 * fs: Moved ...
10922 * grub-core/fs: ... to here.
10923 * gencmdlist.sh: Moved ...
10924 * grub-core/gencmdlist.sh: ... to here.
10925 * genemuinit.sh: Moved ...
10926 * grub-core/genemuinit.sh: ... to here.
10927 * genemuinitheader.sh: Moved ...
10928 * grub-core/genemuinitheader.sh: ... to here.
10929 * genfslist.sh: Moved ...
10930 * grub-core/genfslist.sh: ... to here.
10931 * genhandlerlist.sh: Moved ...
10932 * grub-core/genhandlerlist.sh: ... to here.
10933 * genmoddep.awk: Moved ...
10934 * grub-core/genmoddep.awk: ... to here.
10935 * genmodsrc.sh: Moved ...
10936 * grub-core/genmodsrc.sh: ... to here.
10937 * genpartmaplist.sh: Moved ...
10938 * grub-core/genpartmaplist.sh: ... to here.
10939 * genparttoollist.sh: Moved ...
10940 * grub-core/genparttoollist.sh: ... to here.
10941 * genterminallist.sh: Moved ...
10942 * grub-core/genterminallist.sh: ... to here.
10943 * gentrigtables.c: Moved ...
10944 * grub-core/gentrigtables.c: ... to here.
10945 * genvideolist.sh: Moved ...
10946 * grub-core/genvideolist.sh: ... to here.
10947 * gettext: Moved ...
10948 * grub-core/gettext: ... to here.
10949 * gfxmenu: Moved ...
10950 * grub-core/gfxmenu: ... to here.
10951 * gnulib: Moved ...
10952 * grub-core/gnulib: ... to here.
10953 * hello: Moved ...
10954 * grub-core/hello: ... to here.
10955 * hook: Moved ...
10956 * grub-core/hook: ... to here.
10957 * io: Moved ...
10958 * grub-core/io: ... to here.
10959 * kern: Moved ...
10960 * grub-core/kern: ... to here.
10961 * lib: Moved ...
10962 * grub-core/lib: ... to here.
10963 * loader: Moved ...
10964 * grub-core/loader: ... to here.
10965 * mmap: Moved ...
10966 * grub-core/mmap: ... to here.
10967 * normal: Moved ...
10968 * grub-core/normal: ... to here.
10969 * partmap: Moved ...
10970 * grub-core/partmap: ... to here.
10971 * parttool: Moved ...
10972 * grub-core/parttool: ... to here.
10973 * script: Moved ...
10974 * grub-core/script: ... to here.
10975 * term: Moved ...
10976 * grub-core/term: ... to here
10977 * tests/example_functional_test.c: Moved ...
10978 * grub-core/tests/example_functional_test.c: ... to here.
10979 * tests/lib/functional_test.c: Moved ...
10980 * grub-core/tests/lib/functional_test.c: ... to here.
10981 * tests/lib/test.c: Moved ...
10982 * grub-core/tests/lib/test.c: ... to here.
10983 * video: Moved ...
10984 * grub-core/video: ... to here.
10985
10986 2010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
10987
10988 Replace --enable-grub-emu-modules with grub-emu-lite.
10989
10990 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
10991 cache.S.
10992
10993 * include/grub/emu/misc.h (grub_emu_init): New prototype.
10994 * kern/emu/full.c: New file. For grub-emu specific initialization.
10995 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
10996 * kern/emu/main.c: Call initialization function grub_emu_init.
10997
10998 * Makefile.in: Include grub-emu-lite in install.
10999 * commands/parttool.c: Use grub_no_autoload to differentiate
11000 between grub-emu and grub-emu-lite.
11001 * include/grub/misc.h: New variable grub_no_autoload.
11002
11003 * conf/any-emu.rmk: New rules for grub-emu-lite.
11004 * configure.ac: Remove --enable-grub-emu-modules.
11005 * genmk.rb: Cleanup unnecessary rules.
11006 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
11007
11008 * normal/main.c: Don't load list files on grub-emu-lite.
11009 * util/misc.c (grub_arch_sync_caches): Removed.
11010
11011 2010-08-23 Colin Watson <cjwatson@ubuntu.com>
11012
11013 * kern/mips/startup.S (grub_prefix): Update comment to refer to
11014 grub-mkimage rather than grub-mkelfimage.
11015 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
11016
11017 2010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
11018
11019 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
11020 a key after CapsLock or NumLock. It's just a qemu bug.
11021
11022 2010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
11023
11024 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
11025 needed by libusb wrapper.
11026
11027 2010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
11028
11029 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
11030
11031 2010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
11032
11033 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
11034 --nounzip is passed.
11035
11036 2010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
11037
11038 USB hotunplugging and USB serial support.
11039
11040 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
11041 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
11042 (grub_uhci_transfer): Respect timeout and set *actual.
11043 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
11044 non-standard length.
11045 (grub_usb_device_attach): Autoload modules.
11046 (GRUB_MOD_INIT): Set grub_term_poll_usb.
11047 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
11048 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
11049 users updated.
11050 (grub_usb_add_hub): Fill nports and children.
11051 (attach_root_port): Receive hub instead of controller.
11052 All users updated. Fill hub->devices.
11053 (grub_usb_root_hub): Allocate hub->devices.
11054 (detach_device): New function.
11055 (poll_nonroot_hub): Fill children and detach devices.
11056 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
11057 actual arguments. All users updated.
11058 (grub_usb_bulk_read_extended): New function.
11059 * bus/usb/serial/common.c: New file.
11060 * bus/usb/serial/ftdi.c: Likewise.
11061 * bus/usb/serial/pl2303.c: Likewise.
11062 * commands/terminal.c (handle_command): Support wildcard.
11063 * commands/usbtest.c: Output "Unknown" instead of empty string.
11064 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
11065 (usbserial_common_mod_SOURCES): New variable.
11066 (usbserial_common_mod_CFLAGS): Likewise.
11067 (usbserial_common_mod_LDFLAGS): Likewise.
11068 (pkglib_MODULES): Add usbserial_pl2303.mod.
11069 (usbserial_pl2303_mod_SOURCES): New variable.
11070 (usbserial_pl2303_mod_CFLAGS): Likewise.
11071 (usbserial_pl2303_mod_LDFLAGS): Likewise.
11072 (pkglib_MODULES): Add usbserial_ftdi.mod.
11073 (usbserial_ftdi_mod_SOURCES): New variable.
11074 (usbserial_ftdi_mod_CFLAGS): Likewise.
11075 (usbserial_ftdi_mod_LDFLAGS): Likewise.
11076 (pkglib_MODULES): Add serial.mod.
11077 (serial_mod_SOURCES): New variable.
11078 (serial_mod_CFLAGS): Likewise.
11079 (serial_mod_LDFLAGS): Likewise.
11080 * conf/i386-pc.rmk: Likewise.
11081 * conf/mips-yeeloong.rmk: Likewise.
11082 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
11083 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
11084 * disk/usbms.c (first_available_slot): New variable.
11085 (grub_usbms_attach): Don't reuse free slots due to potential cache
11086 problems.
11087 * include/grub/serial.h: Moved to ..
11088 * include/grub/ns8250.h: ...this.
11089 * include/grub/serial.h: New file.
11090 * include/grub/term.h (grub_term_poll_usb): New variable.
11091 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
11092 readkey. All users updated.
11093 (grub_terminfo_output_state): Pass term to put.
11094 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
11095 (grub_usb_controller_dev): Add timeout and actual arguments to
11096 transfer. All users updated.
11097 (grub_usb_interface): New field detach_data.
11098 (grub_usb_device): New fields children and nports.
11099 (grub_usb_ep_type_t): New type.
11100 (grub_usb_get_ep_type): New function.
11101 (grub_usb_bulk_read_extended): Likewise.
11102 * include/grub/usbdesc.h (grub_usb_desc): New type.
11103 * include/grub/usbserial.h: New file.
11104 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
11105 * kern/term.c (grub_term_poll_usb): New variable.
11106 (grub_getkey): Call grub_term_poll_usb if set.
11107 (grub_checkkey): Likewise.
11108 (grub_getkeystatus): Likewise.
11109 * term/serial.c: Moved controller-specific parts to ...
11110 * term/ns8250.c: ... here.
11111 * term/serial.c: Mostly rewritten.
11112 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
11113 according to spec.
11114
11115 2010-08-20 Robert Millan <rmh@gnu.org>
11116
11117 Make kFreeBSD code more generic to support ext2fs as root, ufs as
11118 a separate module and maybe other interesting combinations.
11119
11120 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
11121 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
11122 (kfreebsd_entry): Add generic filesystem module load routine.
11123 Map GRUB `ext2' to kFreeBSD `ext2fs'.
11124
11125 2010-08-20 Colin Watson <cjwatson@ubuntu.com>
11126
11127 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
11128 "numcenter" (I misunderstood the purpose of this entry).
11129 * docs/grub.texi (sendkey): Likewise.
11130
11131 2010-08-20 Colin Watson <cjwatson@ubuntu.com>
11132
11133 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
11134 status flag options; simply omitting the option is equivalent and
11135 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
11136 (keysym_table): Rename "num5numlock" to "numlock".
11137 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
11138 can uniformly say that only the last of multiple `sendkey'
11139 invocations has any effect.
11140 * docs/grub.texi (sendkey): New section.
11141
11142 2010-08-19 Colin Watson <cjwatson@ubuntu.com>
11143
11144 * commands/i386/pc/sendkey.c (options): Fix three typos.
11145
11146 2010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
11147
11148 Implement sendkey support.
11149
11150 * commands/i386/pc/sendkey.c: New file.
11151 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
11152 (sendkey_mod_SOURCES): New variable.
11153 (sendkey_mod_CFLAGS): Likewise.
11154 (sendkey_mod_LDFLAGS): Likewise.
11155
11156 2010-08-18 Colin Watson <cjwatson@ubuntu.com>
11157
11158 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
11159 fix warnings from Autoconf.
11160
11161 2010-08-18 Colin Watson <cjwatson@ubuntu.com>
11162
11163 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
11164 to avoid false positives with some assemblers that output things
11165 like "someprefix_func" as part of their output.
11166
11167 2010-08-15 Robert Millan <rmh@gnu.org>
11168
11169 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
11170 errors.
11171 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
11172 grub_get_libzfs_handle() errors.
11173
11174 2010-08-14 Robert Millan <rmh@gnu.org>
11175
11176 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
11177 filesystem is not ZFS.
11178
11179 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
11180
11181 Fix for misspelled color names defaulting to black/black (bug
11182 reported by Doug Nazar)
11183
11184 * include/grub/normal.h (grub_parse_color_name_pair): Add return
11185 status to prototype.
11186 * normal/color.c (grub_parse_color_name_pair): Return failure
11187 status.
11188 (grub_env_write_color_normal): Ignore bad color names.
11189 (grub_env_write_color_highlight): Likewise.
11190 * normal/main.c (GRUB_MOD_INIT): Set default color names.
11191
11192 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
11193
11194 "shift" command support to GRUB script.
11195
11196 * include/grub/script_sh.h (grub_script_shift): New prototype.
11197 * script/execute.c (grub_script_shift): New function.
11198 * script/main.c (grub_script_init): Register shift command.
11199 (grub_script_fini): Unregister shift command.
11200 * util/grub-script-check.c (grub_script_cmd_shift): New function.
11201
11202 * tests/grub_script_shift.in: New testcase.
11203 * conf/tests.rmk: Rules for new testcase.
11204
11205 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
11206
11207 "continue" command support to GRUB script.
11208
11209 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
11210 (grub_script_break): Continue support.
11211 * script/main.c (grub_script_init): Register continue command.
11212 (grub_script_fini): Unregister continue command.
11213
11214 * tests/grub_script_continue.in: New testcase.
11215 * conf/tests.rmk: Rules for new testcase.
11216
11217 2010-08-12 BVK Chaitanya <bvk@dbook>
11218
11219 "break" command support to GRUB script.
11220
11221 * conf/common.rmk: Rule updates to grub-script-check.
11222 * include/grub/misc.h (grub_min): New function.
11223 * include/grub/script_sh.h (grub_script_init): New prototype.
11224 (grub_script_fini): New prototype.
11225 (grub_script_break): New prototype.
11226 * script/main.c (grub_script_init): New function.
11227 (grub_script_fini): New function.
11228 * script/execute.c (grub_script_break): New function.
11229 * normal/main.c: Calls to grub_script_{init,fini}.
11230 * util/grub-script-check.c (grub_script_break): New function.
11231
11232 * tests/grub_script_break.in: New testcase.
11233 * conf/tests.rmk: Rules for new test case.
11234
11235 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
11236
11237 Function parameters support to GRUB script.
11238
11239 * script/yylex.l (VARIABLE): Regular expression update.
11240 * script/function.c (grub_script_function_call): Moved ...
11241 * script/execute.c (grub_script_function_call): ... to here.
11242 (grub_script_execute_arglist_to_argv): Removed.
11243 (grub_script_arglist_to_argv): New function.
11244 * script/argv.c: New file.
11245 (grub_script_argv_free): New function.
11246 (grub_script_argv_next): Likewise.
11247 (grub_script_argv_append): Likewise.
11248 (grub_script_argv_split_append): Likewise.
11249 * include/grub/script_sh.h (grub_script_argv): New struct.
11250 (grub_script_argv_free): New function.
11251 (grub_script_argv_next): Likewise.
11252 (grub_script_argv_append): Likewise.
11253 (grub_script_argv_split_append): Likewise.
11254
11255 * conf/common.rmk (normal.mod): New source script/argv.c.
11256
11257 * tests/grub_script_echo1.in: More tests.
11258 * tests/grub_script_vars1.in: Likewise.
11259 * tests/grub_script_functions.in: New test case.
11260 * conf/tests.rmk: Rules for new testcase.
11261
11262 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
11263
11264 Remove grub_script_cmdblock struct.
11265
11266 * include/grub/script_sh.h: Remove grub_script_cmdblock.
11267 * script/parser.y: Likewise.
11268 * script/execute.c: Rename cmdblock suffix to cmdlist.
11269 * script/script.c: Likewise.
11270 * util/grub-script-check.c: Likewise.
11271
11272 2010-08-11 Yves Blusseau <blusseau@zetam.org>
11273
11274 * .bzrignore: add grub-macho2img
11275
11276 2010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
11277
11278 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
11279
11280 2010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
11281
11282 Remove the dump of sm712 initialisation sequence.
11283
11284 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
11285 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
11286 (GRUB_VGA_IO_MISC_WRITE): Likewise.
11287 (GRUB_VGA_CR_*): Added many registers.
11288 (GRUB_VGA_SR_*): Likewise.
11289 (GRUB_VGA_GR_*): Likewise.
11290 (grub_vga_write_arx): New function.
11291 (grub_video_hw_config): New struct.
11292 (grub_vga_set_geometry): New function.
11293 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
11294 GRUB_PCI_CLASS_SUBCLASS_VGA.
11295 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
11296 * video/sm712.c (grub_sm712_write_reg): New function
11297 (grub_sm712_read_reg): Likewise.
11298 (grub_sm712_sr_write): Likewise.
11299 (grub_sm712_gr_write): Likewise.
11300 (grub_sm712_cr_write): Likewise.
11301 (grub_sm712_write_arx): Likewise.
11302 (grub_sm712_cr_shadow_write): Likewise.
11303 (grub_sm712_write_dda_lookup): Likewise.
11304 (grub_video_sm712_setup): Initialise the video rather then
11305 blindly replay the dump.
11306 (main) [TEST]: Add a routine to be able to compile as standalone for
11307 tests.
11308 * video/sm712_init.c (sm712_init): Removed.
11309 (sm712_sr_seq1): New array.
11310 (sm712_sr_seq2): Likewise.
11311
11312 2010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
11313
11314 * include/grub/vga.h: Add missing grub/pci.h include.
11315
11316 2010-08-10 Yves Blusseau <blusseau@zetam.org>
11317
11318 * util/grub-macho2img.c (main): fix typo
11319
11320 2010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
11321
11322 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
11323 (grub_vga_gr_read): Likewise.
11324 (grub_vga_cr_write): Likewise.
11325 (grub_vga_cr_read): Likewise.
11326 (grub_vga_sr_write): Likewise.
11327 (grub_vga_sr_read): Likewise.
11328 (grub_vga_palette_read): Likewise.
11329 (grub_vga_palette_write): Likewise.
11330 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
11331 (grub_sm712_sr_read): New function.
11332 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
11333 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
11334
11335 2010-08-09 Robert Millan <rmh@gnu.org>
11336
11337 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
11338 out unused variables on non-ZFS build.
11339
11340 2010-08-08 Robert Millan <rmh@gnu.org>
11341
11342 Fix path generation for sub-filesystems in ZFS.
11343
11344 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
11345 missing slash.
11346
11347 2010-08-08 Robert Millan <rmh@gnu.org>
11348
11349 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
11350
11351 2010-08-08 Robert Millan <rmh@gnu.org>
11352
11353 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
11354 exist, issue a proper error message (rely on `ls' for translated
11355 strings).
11356
11357 2010-08-08 Robert Millan <rmh@gnu.org>
11358
11359 Fix grub-probe invocation.
11360
11361 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
11362
11363 2010-08-04 Robert Millan <rmh@gnu.org>
11364
11365 * configure.ac: Remove checks for getfsstat() and getmntany().
11366 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
11367 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
11368 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
11369 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
11370 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
11371 function.
11372 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
11373 via find_mount_point_from_dir() and getfsstat() / getmntany().
11374
11375 2010-08-04 Robert Millan <rmh@gnu.org>
11376
11377 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
11378 (grub_find_zpool_from_mount_point): Merge into ...
11379 (grub_find_zpool_from_dir): ... this.
11380 * kern/emu/misc.c: Likewise.
11381
11382 * kern/emu/misc.c
11383 (grub_make_system_path_relative_to_its_root): Replace
11384 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
11385 with grub_find_zpool_from_dir().
11386 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
11387
11388 2010-08-04 Robert Millan <rmh@gnu.org>
11389
11390 Support OpenSolaris in ZFS device resolution.
11391
11392 * configure.ac: Check for getmntany().
11393 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
11394 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
11395 support.
11396
11397 2010-08-03 Robert Millan <rmh@gnu.org>
11398
11399 Fix grub-emu build.
11400
11401 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
11402 * include/grub/emu/misc.h: ... here.
11403
11404 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
11405 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
11406
11407 * util/misc.c: Remove `<grub/util/libzfs.h>'.
11408 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
11409 (grub_get_libzfs_handle): Move to ...
11410 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
11411 (grub_get_libzfs_handle): ... here.
11412
11413 2010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
11414
11415 * script/execute.c (grub_script_execute_cmdline): Check for NULL
11416 as command name case.
11417
11418 2010-08-02 Colin Watson <cjwatson@ubuntu.com>
11419
11420 * disk/raid.c (insert_array): Select unique numbers for named arrays
11421 as well, for use as keys in the disk cache.
11422
11423 2010-08-01 Robert Millan <rmh@gnu.org>
11424
11425 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
11426 kFreeBSD device name, except on ZFS where the filesystem label is
11427 used.
11428 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
11429 `/boot/zfs/zpool.cache'.
11430 Set mountfrom kernel variable using ${kfreebsd_device}.
11431
11432 2010-08-01 Robert Millan <rmh@gnu.org>
11433
11434 Make it even harder to use uninitialized `libzfs_handle' (and
11435 make the interface a bit simpler).
11436
11437 * include/grub/util/misc.h (grub_util_init_libzfs)
11438 (libzfs_handle): Remove.
11439 (grub_get_libzfs_handle): New prototype.
11440
11441 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
11442 attribute.
11443 (grub_util_init_libzfs): Remove.
11444 (grub_get_libzfs_handle): New function.
11445
11446 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
11447 grub_get_libzfs_handle() to obtain a libzfs handle instead of
11448 accessing `libzfs_handle' directly.
11449
11450 2010-08-01 Robert Millan <rmh@gnu.org>
11451
11452 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
11453 (grub_find_zpool_from_mount_point): New function prototypes.
11454
11455 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
11456 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
11457
11458 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
11459 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
11460 `static' attribute.
11461
11462 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
11463 finding zpool from mount point into ...
11464 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
11465
11466 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
11467 requested path is part of a ZFS pool, use
11468 grub_find_zpool_from_mount_point() to detect its filesystem name,
11469 and generate a path with `/fsname@path' syntax.
11470
11471 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
11472
11473 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
11474 (void) rather than () so that this is a proper prototype.
11475
11476 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
11477
11478 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
11479
11480 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
11481
11482 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
11483 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
11484
11485 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
11486
11487 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
11488
11489 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
11490
11491 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
11492
11493 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
11494
11495 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
11496 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
11497 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
11498 disable gfxpayload.
11499 (Shell-like scripting): Add real content.
11500 (Serial terminal): Suggest `terminal_input serial; terminal_output
11501 serial' rather than putting the two commands on separate lines,
11502 since console input will be inoperative after the first command.
11503 (menuentry): Document --class, --users, and --hotkey options.
11504 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
11505 Vladimir Serbinenko).
11506
11507 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
11508 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
11509
11510 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
11511
11512 2010-08-01 Robert Millan <rmh@gnu.org>
11513
11514 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
11515 (grub_find_zpool_from_mount_point): New function prototypes.
11516
11517 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
11518 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
11519
11520 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
11521 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
11522 `static' attribute.
11523
11524 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
11525 finding zpool from mount point into ...
11526 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
11527
11528 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
11529 requested path is part of a ZFS pool, use
11530 grub_find_zpool_from_mount_point() to detect its filesystem name,
11531 and generate a path with `/fsname@path' syntax.
11532
11533 2010-08-01 Robert Millan <rmh@gnu.org>
11534
11535 Prevent accidental use of uninitialized libzfs_handle.
11536
11537 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
11538 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
11539 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
11540
11541 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
11542
11543 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
11544 util/grub.d/10_linux.in). Fixes Debian bug #591093.
11545
11546 2010-08-01 Robert Millan <rmh@gnu.org>
11547
11548 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
11549
11550 2010-07-31 Robert Millan <rmh@gnu.org>
11551
11552 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
11553
11554 2010-07-31 Robert Millan <rmh@gnu.org>
11555
11556 * kern/emu/misc.c: Add missing license header.
11557
11558 2010-07-31 Robert Millan <rmh@gnu.org>
11559
11560 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
11561
11562 * include/grub/util/libnvpair.h: Include `<config.h>'.
11563 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
11564 declaring libnvpair prototypes ourselves.
11565 * include/grub/util/libzfs.h: Include `<config.h>'.
11566 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
11567 declaring libzfs prototypes ourselves.
11568
11569 (libzfs_handle): Moved to ...
11570 * include/grub/util/misc.h (libzfs_handle): ... here.
11571 Include `<grub/util/libzfs.h>'.
11572
11573 2010-07-30 Robert Millan <rmh@gnu.org>
11574
11575 * include/grub/emu/misc.h: Add missing license header.
11576
11577 2010-07-30 Robert Millan <rmh@gnu.org>
11578
11579 Enable `grub-probe -t device' resolution on ZFS.
11580
11581 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
11582 * include/grub/util/libnvpair.h: New file.
11583 * include/grub/util/libzfs.h: New file.
11584
11585 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
11586 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
11587 `<grub/util/libnvpair.h>'.
11588 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
11589
11590 (find_mount_point_from_dir): New static function.
11591 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
11592 function.
11593 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
11594 find_root_device_from_libzfs() before ressorting to find_root_device().
11595
11596 * include/grub/util/misc.h (grub_util_init_libzfs): New function
11597 prototype.
11598 * util/misc.c: Include `<grub/util/libzfs.h>'.
11599 (grub_util_init_libzfs): New function.
11600 [HAVE_LIBZFS] (libzfs_handle): New global variable.
11601 [HAVE_LIBZFS] (fini_libzfs): New static function.
11602 (grub_util_init_libzfs): New function.
11603 * util/grub-probe.c (main): Call grub_util_init_libzfs().
11604
11605 2010-07-30 Robert Millan <rmh@gnu.org>
11606
11607 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
11608 (xmalloc, xrealloc, xstrdup, xasprintf): Add
11609 `warn_unused_result' attribute.
11610 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
11611 (grub_xasprintf, grub_xvasprintf): Likewise.
11612 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
11613
11614 2010-07-29 Robert Millan <rmh@gnu.org>
11615
11616 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
11617 (probe): Handle `PRINT_FS_LABEL'.
11618 (main): Handle `-t fs_label'.
11619
11620 2010-07-29 Robert Millan <rmh@gnu.org>
11621
11622 * configure.ac: Remove grub-mkisofs checks.
11623
11624 2010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
11625
11626 * util/ieee1275/grub-install.in: Don't use empty grub_device.
11627 Reported by: Lennart Sorensen.
11628
11629 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
11630
11631 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
11632 prior to terminal_input/terminal_output separation. It's been over 1.5
11633 years and those versions weren't widely deployed.
11634
11635 2010-07-22 Colin Watson <cjwatson@ubuntu.com>
11636
11637 * disk/raid.c (insert_array): Don't count named arrays when looking
11638 for unused array numbers.
11639 Reported and tested by: Michael Guntsche.
11640
11641 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
11642
11643 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
11644 implementation of this so that grub-emu links again, with a note
11645 that this should support hotplugging in the future.
11646
11647 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
11648
11649 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
11650
11651 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
11652
11653 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
11654 handle on failure.
11655 (grub_loopback_close): Remove empty function.
11656 (grub_loopback_dev): Remove close method.
11657
11658 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
11659
11660 Disable EFI cursor when the EFI console becomes inactive.
11661
11662 * term/efi/console.c (grub_efi_console_init): New function.
11663 (grub_efi_console_fini): New function.
11664 (grub_console_term_output): Register init and fini methods.
11665
11666 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
11667
11668 * tests/util/grub-shell-tester.in: Remove bashism and declare as
11669 sh script.
11670
11671 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
11672
11673 * disk/loopback.c (grub_loopback): Replace filename with file.
11674 (delete_loopback): Handle new semantics.
11675 (grub_cmd_loopback): Likewise.
11676 (grub_loopback_iterate): Likewise.
11677 (grub_loopback_close): Likewise.
11678
11679 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
11680
11681 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
11682 with -p "".
11683 Reported by: Tito Keitel.
11684
11685 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
11686
11687 * docs/grub.texi (Naming convention): Document new naming convention.
11688
11689 2010-07-20 Vadim Solomin <vadic052@gmail.com>
11690 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
11691
11692 Generate device.map in something closer to the old ordering.
11693
11694 * util/deviceiter.c (struct device): New declaration.
11695 (compare_file_names): Rename to ...
11696 (compare_devices): ... this. Sort by kernel name in preference to
11697 the stable by-id name, but keep the latter as a fallback comparison.
11698 Update header comment.
11699 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
11700 of `struct device' rather than of plain file names.
11701
11702 2010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
11703
11704 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
11705 on i386.
11706
11707 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
11708
11709 * commands/acpi.c (setup_common_tables): Use sizeof instead of
11710 hardcoding size.
11711 (setv1table): Likewise.
11712
11713 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
11714
11715 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
11716 removing the homehost if present.
11717 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
11718 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
11719 removing the homehost if present.
11720 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
11721 if possible.
11722 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
11723
11724 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
11725 parameter. Set its pointer target to 0.
11726 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
11727 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
11728 `data_offset' value from the superblock for 1.x metadata.
11729 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
11730 data on the device.
11731 (insert_array): Record the start sector of data on the device.
11732 (grub_raid_register): Pass start_sector parameters to
11733 grub_raid_list->detect and insert_array.
11734 * include/grub/raid.h (struct grub_raid_array): Add start_sector
11735 member.
11736 (struct grub_raid): Add start_sector parameter to `detect'.
11737
11738 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
11739 __attribute__ ((packed)), leaving a comment.
11740 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
11741 (grub_mdraid_detect_09): ... here and ...
11742 (grub_mdraid_detect_1x): ... here.
11743
11744 2010-07-20 Peter Henn <peter.henn@web.de>
11745
11746 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
11747 chunk size and disk size, which are already given as sector counts
11748 as distinct from the 0.90 units. Fetch the correct device number
11749 from the role table instead of using the table index.
11750
11751 2010-07-20 Felix Zielcke <fzielcke@z-51.de>
11752
11753 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
11754 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
11755 (WriteMostly1): New macro.
11756 Set array->name to NULL for metadata format 0.90. Add support for
11757 metadata 1.x. Fix some comments.
11758 * disk/raid.c (): Add support for name based RAID arrays. Fix a
11759 few comments.
11760 * util/getroot.c (grub_util_get_grub_dev): Add support for
11761 /dev/md/name style devices.
11762
11763 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
11764
11765 * .bzrignore: Ignore 20_linux_xen.
11766
11767 2010-07-17 Colin Watson <cjwatson@ubuntu.com>
11768
11769 * util/import_unicode.py: Remove unnecessary imports.
11770
11771 2010-07-17 Aleš Nesrsta <starous@volny.cz>
11772
11773 Hotplugging and USB hub support.
11774
11775 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
11776 (grub_ohci): Likewise.
11777 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
11778 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
11779 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
11780 (GRUB_OHCI_CTRL_EDS): Likewise.
11781 (GRUB_OHCI_BULK_EDS): Likewise.
11782 (GRUB_OHCI_TDS): Likewise.
11783 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
11784 (grub_ohci_ed_phys2virt): New function.
11785 (grub_ohci_virt_to_phys): Likewise.
11786 (grub_ohci_td_phys2virt): Likewise.
11787 (grub_ohci_td_virt2phys): Likewise.
11788 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
11789 attachment.
11790 (grub_ohci_find_ed): New function.
11791 (grub_ohci_alloc_td): Likewise.
11792 (grub_ohci_free_td): Likewise.
11793 (grub_ohci_free_tds): Likewise.
11794 (grub_ohci_transfer): Use previously allocated memory.
11795 (grub_ohci_portstatus): Reset status changed bit.
11796 (grub_ohci_detect_dev): Supply status changed.
11797 (grub_ohci_fini_hw): Free memory.
11798 (grub_ohci_restore_hw): Reallocate memory.
11799 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
11800 Reset status change.
11801 (grub_uhci_detect_dev): Supply status_change.
11802 * bus/usb/usb.c (attach_hooks): New var.
11803 (grub_usb_device_attach): New function.
11804 (grub_usb_register_attach_hook_class): Likewise.
11805 (grub_usb_unregister_attach_hook_class): Likewise.
11806 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
11807 (grub_usb_add_hub): Reset connection changed bit.
11808 (attach_root_port): New function.
11809 (grub_usb_root_hub): Likewise.
11810 (poll_nonroot_hub): Likewise.
11811 (grub_usb_poll_devices): Likewise.
11812 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
11813 * disk/usbms.c (grub_usbms_open): Use device hooks.
11814 (grub_usbms_iterate) :Poll devices.
11815 (grub_usbms_finddevs): Split into ...
11816 (grub_usbms_attach): ... this ...
11817 (grub_usbms_attach): ... and this.
11818 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
11819 in detect_dev.
11820 (grub_usb_interface): New fields attached and detach_hook.
11821 (grub_usb_attach_hook_class): New type.
11822 (grub_usb_attach_desc): New struct.
11823 (grub_usb_register_attach_hook_class): New function.
11824 (grub_usb_unregister_attach_hook_class): Likewise.
11825 (grub_usb_poll_devices): Likewise.
11826 (grub_usb_device_attach): Likewise.
11827 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
11828 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
11829
11830 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
11831
11832 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
11833 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
11834 delta determination style. Works with most NetBSD partitions too.
11835
11836 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
11837
11838 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
11839 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
11840
11841 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
11842
11843 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
11844
11845 2010-07-14 Anton Blanchard <anton@samba.org>
11846
11847 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
11848 ET_DYN files.
11849
11850 2010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
11851
11852 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
11853
11854 2010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
11855
11856 * kern/partition.c (grub_partition_check_containment): New function to
11857 check that a partition is physically contained in a parent. Since
11858 offsets are relative (and non-negative), this reduces to checking that
11859 the partition ends before its parent.
11860 (grub_partition_map_probe): Discard out-of-range sub-partitions.
11861 (grub_partition_iterate): Likewise.
11862 * include/grub/partition.h (grub_partition_map): Slightly more detailed
11863 comments.
11864 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
11865 partitions that start before their parent, and add debug printfs.
11866
11867 2010-07-13 Colin Watson <cjwatson@ubuntu.com>
11868
11869 * Makefile.in (.SUFFIX): Spell correctly, as ...
11870 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
11871 bare module name without `.mod', e.g. `test') tried to invoke a
11872 Modula-2 compiler.
11873
11874 2010-07-13 Colin Watson <cjwatson@ubuntu.com>
11875
11876 * README: Point to the Info manual.
11877
11878 2010-07-13 Jiro SEKIBA <jir@unicus.jp>
11879
11880 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
11881 2nd superblock position from partition size.
11882
11883 2010-07-10 Colin Watson <cjwatson@ubuntu.com>
11884
11885 * Makefile.in (MAINTAINER_CLEANFILES): Remove
11886 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
11887 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
11888 outputs.
11889
11890 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
11891
11892 Restructure SCSI .id handling.
11893 Reported and tested by: Aleš Nesrsta.
11894
11895 * disk/ata.c (grub_atapi_close): Removed. All users updated.
11896 (grub_atapi_dev): Changed .name to "ata". New field .id.
11897 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
11898 (grub_usbms_dev): New field .id.
11899 * disk/scsi.c (grub_scsi_iterate): Generate name.
11900 (grub_scsi_open): Parse name.
11901 * include/grub/scsi.h (grub_make_scsi_id): New function.
11902 (grub_scsi_dev): Change iterate and open to number instead of naming
11903 busses. All users updated.
11904 (grub_scsi): Remove name. Add .bus.
11905
11906 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
11907
11908 * commands/help.c (grub_cmd_help): Fix a typo.
11909
11910 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
11911
11912 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
11913 Reported and tested by: Colin Watson.
11914
11915 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
11916
11917 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
11918 in this context.
11919
11920 2010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
11921
11922 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
11923
11924 2010-07-07 Colin Watson <cjwatson@ubuntu.com>
11925
11926 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
11927 indentation.
11928
11929 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
11930
11931 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
11932 and disk/raid6_recover.c.
11933 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
11934 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
11935
11936 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
11937
11938 * term/gfxterm.c (repaint_schedulded): Rename to ...
11939 (repaint_scheduled): ... this. Update all callers.
11940 (repaint_was_schedulded): Rename to ...
11941 (repaint_was_scheduled): ... this. Update all callers.
11942
11943 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
11944
11945 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
11946 which we expect to be handled by upper layers.
11947
11948 2010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
11949
11950 * bus/usb/usbhub.c: #include time.h header.
11951
11952 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
11953
11954 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
11955 entry_name also for entries without stat blocks (e.g. ".."); fixes
11956 corruption of the first entry in a directory.
11957
11958 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
11959
11960 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
11961 after setting gfxterm as the active terminal. GRUB_BACKGROUND
11962 doesn't work otherwise.
11963
11964 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
11965
11966 * docs/grub.texi (Features): Update list of supported file systems.
11967 (GNU/Linux): Update for GRUB 2.
11968 (Serial terminal): Remove mention of --disable-serial, which was a
11969 GRUB Legacy configure option. Update instructions to use
11970 `terminal_input' and `terminal_output' rather than `terminal'.
11971 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
11972 configuration' and `Installing GRUB using grub-install'.
11973 (Menu entry editor): Update for GRUB 2.
11974 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
11975 Document new -a, -u, and -v options.
11976 (initrd): New section.
11977 (initrd16): New section.
11978 (linux): New section.
11979 (linux16): New section.
11980 (search): The `var' argument to `--set' is optional.
11981 (GRUB only offers a rescue shell): Go into a little more detail on
11982 drive ordering.
11983
11984 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
11985
11986 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
11987
11988 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
11989
11990 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
11991 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
11992
11993 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
11994
11995 * util/i386/pc/grub-setup.c (setup): Rename prefix to
11996 install_prefix, in line with install_dos_part and install_bsd_part.
11997 Add new prefix variable, which is copied to install_prefix after
11998 comparing core.img in memory with the one read from disk in the
11999 no-embedding case, and use that rather than overwriting
12000 install_prefix immediately when installing to a partition.
12001 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
12002 Bicakci.
12003
12004 2010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
12005
12006 * configure.ac: Avoid == in test command, it's not portable.
12007 * util/grub.d/30_os-prober.in: Likewise.
12008
12009 2010-07-04 Colin Watson <cjwatson@ubuntu.com>
12010
12011 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
12012
12013 2010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
12014
12015 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
12016 multiple (top-level) partmaps.
12017
12018 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
12019
12020 * util/i386/efi/grub-install.in: Don't use empty grub_device.
12021 Reported by: Tino Keitel.
12022
12023 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
12024
12025 Bidi and diacritics support.
12026
12027 * Makefile.in (widthspec.bin): New target.
12028 (widthspec.h): Likewise.
12029 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
12030 * autogen.sh: Generate unidata.c.
12031 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
12032 * commands/ls.c (grub_ls_list_devices): Likewise.
12033 (grub_ls_list_files): Likewise.
12034 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
12035 (grub_mini_cmd_lsmod): Likewise.
12036 * commands/read.c: Likewise.
12037 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
12038 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
12039 * lib/arg.c (grub_arg_show_help): Likewise.
12040 * lib/crypto.c (grub_password_get): Likewise.
12041 * normal/auth.c (grub_username_get): Likewise.
12042 * normal/misc.c (grub_normal_print_device_info): Likewise.
12043 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
12044 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
12045 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
12046 (normal/charset.c_DEPENDENCIES): New variable.
12047 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
12048 (pkglib_MODULES): Remove charset.mod.
12049 (charset_mod_SOURCES): Removed.
12050 (charset_mod_CFLAGS): Likewise.
12051 (charset_mod_LDFLAGS): Likewise.
12052 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
12053 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
12054 and term/tparm.c.
12055 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
12056 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
12057 (kernel_img_HEADERS): Add terminfo.h.
12058 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
12059 Fill ->font. Reverse ascii bitmaps.
12060 (grub_font_get_xheight): New function.
12061 * font/font.c (grub_font_get_string_width): Moved from here ...
12062 * gfxmenu/font.c (grub_font_get_string_width): ... here.
12063 * font/font.c (grub_font_draw_string): Moved from here ...
12064 * gfxmenu/font.c (grub_font_draw_string): ... here.
12065 * font/font.c (grub_font_dup_glyph): New function.
12066 (grub_font_blit_glyph): Likewise.
12067 (grub_font_blit_glyph_mirror): Likewise.
12068 (blit_comb): Likewise.
12069 (grub_font_construct_dry_run): Likewise.
12070 (grub_font_get_constructed_device_width): Likewise.
12071 (grub_font_construct_glyph): Likewise.
12072 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
12073 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
12074 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
12075 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
12076 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
12077 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
12078 (grub_font_get_xheight): New proto.
12079 (grub_font_get_constructed_device_width): Likewise.
12080 (grub_font_construct_glyph): Likewise.
12081 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
12082 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
12083 * include/grub/font.h (grub_font_draw_string): Moved from here ...
12084 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
12085 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
12086 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
12087 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
12088 (grub_console_getcharwidth): Likewise.
12089 * include/grub/misc.h (grub_xputs): New proto.
12090 (grub_puts): Inlined.
12091 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
12092 (grub_normal_get_line_counter): Removed.
12093 (grub_install_newline_hook): Likewise.
12094 (grub_normal_get_char_counter): New proto.
12095 (grub_normal_reset_more): Likewise.
12096 (grub_xputs_normal): Likewise.
12097 * include/grub/powerpc/ieee1275/console.h: Removed.
12098 * include/grub/sparc64/ieee1275/console.h: Likewise.
12099 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
12100 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
12101 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
12102 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
12103 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
12104 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
12105 (grub_term_input): Pass reference to self. All users updated.
12106 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
12107 Pass reference to self. New fields normal_color, highlight_color and
12108 data. All users updated.
12109 (grub_putchar): Removed.
12110 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
12111 (grub_unicode_estimate_width): New function.
12112 (grub_term_getcharwidth): Add defaults.
12113 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
12114 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
12115 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
12116 (grub_cls): Remove EXPORT_FUNC.
12117 (grub_setcolorstate): Inline.
12118 (grub_newline_hook): Removed.
12119 * include/grub/terminfo.h: Rewritten. All users updated.
12120 * include/grub/unicode.h: New file.
12121 * include/grub/video.h (grub_video_signed_rect): New type.
12122 * kern/emu/console.c (grub_console_highlight_color): Removed.
12123 (grub_console_normal_color): Likewise.
12124 (grub_console_standard_color): Made static.
12125 (grub_ncurses_putchar): Remove mapping.
12126 (grub_ncurses_getcharwidth): Removed.
12127 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
12128 (grub_ncurses_setcolor): Removed.
12129 (grub_ncurses_getcolor): Likewise.
12130 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
12131 (grub_console_putchar): ... this.
12132 (grub_console_putchar): Handle argument difference.
12133 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
12134 console_init_early and console_init_lately.
12135 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
12136 * kern/misc.c (grub_puts): Removed.
12137 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
12138 (grub_vsnprintf_real): Remove str = NULL support.
12139 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
12140 * normal/charset.c (grub_utf8_to_ucs4): ... here.
12141 * kern/term.c (grub_putcode): Renamed to ...
12142 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
12143 (grub_putchar): Removed.
12144 (grub_xputs_dumb): New function.
12145 (grub_xputs): New variable.
12146 * lib/charset.c: Move from here ...
12147 * normal/charset.c: ... to here.
12148 (grub_ucs4_to_utf8): New function.
12149 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
12150 (join_types): New variable.
12151 (unpack_join): New function.
12152 (bidi_types): New variable.
12153 (unpack_bidi): New function.
12154 (get_bidi_type): Likewise.
12155 (get_join_type): Likewise.
12156 (is_mirrored): Likewise.
12157 (grub_unicode_get_comb_type): Likewise.
12158 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
12159 (is_type_after): Likewise.
12160 (grub_unicode_aglomerate_comb): Likewise.
12161 (bidi_line_wrap): Likewise.
12162 (grub_bidi_line_logical_to_visual): Likewise.
12163 (grub_bidi_logical_to_visual): Likewise.
12164 (grub_unicode_mirror_code): Likewise.
12165 (grub_unicode_shape_code): Likewise.
12166 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
12167 Don't use grub_putchar.
12168 * normal/main.c (grub_normal_init_page): Use grub_putcode.
12169 (grub_normal_reader_init): Likewise.
12170 (grub_xputs_saved): New variable.
12171 (GRUB_MOD_INIT): Set grub_xputs.
12172 (GRUB_MOD_FINI): Restore grub_xputs.
12173 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
12174 (menu_init): Avoid printing gfxmenu error.
12175 (show_menu): Use grub_normal_get_char_counter.
12176 * normal/menu_entry.c (update_screen): Fix out-of-array.
12177 (complete): Avoid NULL dereferencing.
12178 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
12179 * normal/menu_text.c (print_spaces): Removed.
12180 (grub_print_ucs4): Likewise.
12181 (grub_print_message_indented): Use grub_print_ucs4.
12182 (print_message): Use grub_putcode.
12183 (print_entry): Hanlde diacritics.
12184 * normal/term.c (term_state): New type.
12185 (grub_more_lines): Removed.
12186 (term_states): New variable.
12187 (grub_normal_line_counter): Renamed to ..
12188 (grub_normal_char_counter): ...this. All users updated.
12189 (grub_normal_get_line_counter): Renamed to ...
12190 (grub_normal_get_char_counter): ... this.
12191 (grub_normal_reset_more): New function.
12192 (process_newline): Removed.
12193 (print_more): New function.
12194 (grub_install_newline_hook): Removed.
12195 (map_code): New function.
12196 (grub_puts_terminal): Use grub_print_ucs4.
12197 (putglyph): New function.
12198 (putcode_real): Likewise.
12199 (grub_putcode): Use putcode_real.
12200 (get_maxwidth): New function.
12201 (get_startwidth): Likewise.
12202 (print_ucs4_terminal): Likewise.
12203 (find_term_state): Likewise.
12204 (put_glyphs_terminal): Likewise.
12205 (print_backlog): Likewise.
12206 (print_ucs4_real): Likewise.
12207 (grub_print_ucs4): Likewise.
12208 (grub_xputs_normal): Likewise.
12209 * term/efi/console.c (grub_console_putchar): Output diacritics.
12210 (grub_console_getcharwidth): Removed.
12211 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
12212 * term/gfxterm.c (clear_char): Free chars.
12213 (scroll_up): Avoid leaking memory.
12214 (grub_gfxterm_putchar): Support diacritics.
12215 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
12216 * term/i386/pc/console.c (grub_console_term_output): Declare as
12217 GRUB_TERM_CODE_TYPE_VGA.
12218 * term/i386/pc/vga.c (grub_vga_term): Declare as
12219 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
12220 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
12221 GRUB_TERM_CODE_TYPE_VGA.
12222 * term/i386/vga_common.c (map_char): Removed.
12223 (grub_console_putchar): Likewise.
12224 (grub_console_getcharwidth): Likewise.
12225 * term/ieee1275/ofconsole.c: Simplify using terminfo.
12226 (colors): Reordered to match terminfo.
12227 (grub_ofconsole_normal_color): Removed.
12228 (grub_ofconsole_writeesc): Likewise.
12229 (grub_ofconsole_highlight_color): Likewise.
12230 (grub_ofconsole_getcharwidth): Likewise.
12231 (grub_ofconsole_setcolorstate): Likewise.
12232 (grub_ofconsole_setcolor): Likewise.
12233 (grub_ofconsole_getcolor): Likewise.
12234 (grub_ofconsole_readkey): Renamed to ...
12235 (readkey): ... this. Remove escape sequence handling. Return -1 on no
12236 key.
12237 (grub_ofconsole_checkkey): Removed.
12238 (grub_ofconsole_getkey): Likewise.
12239 (grub_ofconsole_getxy): Likewise.
12240 (grub_ofconsole_gotoxy): Likewise.
12241 (grub_ofconsole_cls): Likewise.
12242 (grub_ofconsole_refresh): Likewise.
12243 (grub_ofconsole_terminfo_input): New struct.
12244 (grub_ofconsole_terminfo_output): Likewise.
12245 (grub_ofconsole_term_input): Use terminfo.
12246 (grub_ofconsole_term_output): Likewise.
12247 (grub_console_init): Split into ...
12248 (grub_console_init_early): ...this and ...
12249 (grub_console_init_lately): ...this. Use terminfo.
12250 (grub_ofconsole_putchar): Renamed to ...
12251 (put): ... this. Remove mapping.
12252 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
12253 * term/serial.c: Simplify using terminfo.
12254 (xpos): Removed.
12255 (ypos): Likewise.
12256 (keep_track): Likewise.
12257 (registered): Likewise.
12258 (input_buf): Likewise.
12259 (npending): Likewise.
12260 (serial_translate_key_sequence): Likewise.
12261 (fill_input_buf): Likewise.
12262 (grub_serial_checkkey): Likewise.
12263 (grub_serial_getkey): Likewise.
12264 (grub_serial_getxy): Likewise.
12265 (grub_serial_gotoxy): Likewise.
12266 (grub_serial_putchar): Likewise.
12267 (grub_serial_cls): Likewise.
12268 (grub_serial_setcolorstate): Likewise.
12269 (grub_serial_setcursor): Likewise.
12270 (serial_hw_init): Use serial_hw_fetch.
12271 (grub_serial_terminfo_input): New variable.
12272 (grub_serial_terminfo_output): Likewise.
12273 (grub_serial_term_input): Use terminfo.
12274 (grub_serial_term_output): Likewise.
12275 * term/terminfo.c (putstr): Use put.
12276 (grub_terminfo_all_free): New function
12277 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
12278 (grub_terminfo_output_register): New function.
12279 (grub_terminfo_output_unregister): Likewise.
12280 (grub_terminfo_getxy): Likewise.
12281 (grub_terminfo_readkey): Likewise.
12282 (grub_terminfo_checkkey): Likewise.
12283 (grub_terminfo_getkey): Likewise.
12284 (grub_terminfo_input_init): Likewise.
12285 (print_terminfo): Likewise.
12286 (grub_cmd_terminfo): Handle encoding.
12287 (grub_terminfo_gotoxy): Track position.
12288 (grub_terminfo_cls): Likewise.
12289 (grub_terminfo_putchar): Likewise.
12290 (grub_terminfo_setcolorstate): Handle colors
12291 (grub_terminfo_cursor_on): This ...
12292 (grub_terminfo_cursor_off): ... and this merged into ...
12293 (grub_terminfo_setcursor): ... this.
12294 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
12295 * unicode/ArabicShaping.txt: New file (imported from Unicode).
12296 * unicode/BidiMirroring.txt: Likewise.
12297 * unicode/UnicodeData.txt: Likewise.
12298 * unicode/COPYING: Likewise.
12299 * util/grub-editenv.c (grub_putchar): Removed.
12300 (grub_xputs_real): New function.
12301 (grub_xputs): New variable.
12302 * util/grub-fstest.c (grub_putchar): Removed.
12303 (grub_xputs_real): New function.
12304 (grub_xputs): New variable.
12305 * util/grub-mkdevicemap.c (grub_putchar): Removed.
12306 (grub_xputs_real): New function.
12307 (grub_xputs): New variable.
12308 * util/grub-probe.c (grub_putchar): Removed.
12309 (grub_xputs_real): New function.
12310 (grub_xputs): New variable.
12311 * util/grub-script-check.c (grub_putchar): Removed.
12312 (grub_xputs_real): New function.
12313 (grub_xputs): New variable.
12314 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
12315 (grub_xputs_real): New function.
12316 (grub_xputs): New variable.
12317 * util/import_unicode.py: New file.
12318 * util/grub-mkfont.c (ft_errmsgs): New array.
12319 (grub_glyph_info): Make bitmap a pointer.
12320 (file_formats): New type WIDTH_SPEC.
12321 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
12322 (options): Add width-spec.
12323 (help): Likewise.
12324 (add_char): Renamed to ...
12325 (add_glyph): ... this.
12326 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
12327 (glyph_replace): New type.
12328 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
12329 (add_char): New function.
12330 (add_subst): Likewise.
12331 (process_cursive): Likewise.
12332 (add_font): Handle GSUB.
12333 (write_font_width_spec): New function.
12334 (main): Sort glyphs.
12335 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
12336 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
12337 * kern/term.c (grub_cls): Moved from here...
12338 * normal/term.c (grub_cls): ... here.
12339
12340 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
12341
12342 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
12343 suitable for using within the format argument of printf when
12344 converting grub_size_t.
12345 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
12346 "x" to convert grub_size_t arguments.
12347
12348 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
12349
12350 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
12351 too long captions.
12352 (list_get_minimal_size): Take selection box into account.
12353
12354 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
12355
12356 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
12357 NULL font.
12358
12359 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
12360
12361 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
12362 devices when iterating over /dev/disk/by-id; they will be handled
12363 later if appropriate, which they aren't always (e.g. LVM).
12364
12365 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
12366
12367 * include/grub/misc.h (grub_reboot): Declare as noreturn.
12368 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
12369 fails.
12370 (grub_halt): Likewise.
12371 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
12372 reset-all fails.
12373 (grub_halt): Don't return, even if all of shut-down, power-off, and
12374 poweroff fail.
12375
12376 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
12377
12378 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
12379 arguments, not three.
12380
12381 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
12382
12383 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
12384 * util/grub.d/10_linux.in: Use it to check for LVM, so that
12385 LVM-on-RAID is handled correctly.
12386
12387 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
12388
12389 * docs/grub.texi (Changes from GRUB Legacy): New section.
12390 (Future): Fix typo.
12391
12392 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
12393
12394 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
12395 grub.d/README accidentally ends up executable for one reason or
12396 another. Ignore it.
12397
12398 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
12399
12400 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
12401 (gpt_partition_map_iterate): Support non-512B sectors.
12402
12403 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
12404
12405 * kern/efi/init.c (grub_efi_init): Disable watchdog.
12406 Tested by: Seth Goldberg.
12407
12408 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
12409
12410 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
12411 Properly align mbi.
12412 Reported by: Seth Goldberg.
12413
12414 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
12415
12416 * util/grub-mkrescue.in: Avoid module duplication.
12417
12418 2010-07-01 Sean Finney <seanius@seanius.net>
12419
12420 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
12421
12422 2010-07-01 Sean Finney <seanius@seanius.net>
12423
12424 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
12425
12426 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
12427
12428 * disk/lvm.c (grub_lvm_checkvalue): New function.
12429 (grub_lvm_check_flag): Likewise.
12430
12431 2010-07-01 Robert Millan <rmh@gnu.org>
12432
12433 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
12434 Support 'p' as partition separator on kernel of FreeBSD (used
12435 with GPT labels).
12436 (grub_util_biosdisk_get_grub_dev): Likewise.
12437
12438 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
12439
12440 Yeeloong firmware port.
12441
12442 * boot/mips/yeeloong/fwstart.S: New file.
12443 * bus/cs5536.c (gpiodump): New const.
12444 (set_io_space): New function.
12445 (set_iod): Likewise.
12446 (set_p2d): Likewise.
12447 (grub_cs5536_init_geode): Likewise.
12448 * commands/mips/yeeloong/lsspd.c: New file.
12449 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
12450 (serial_mod_SOURCES): New variable.
12451 (serial_mod_CFLAGS): Likewise.
12452 (serial_mod_LDFLAGS): Likewise.
12453 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
12454 term/terminfo.c and term/tparm.c.
12455 (pkglib_IMAGES): Add fwstart.img.
12456 (fwstart_img_SOURCES): New variable.
12457 (fwstart_img_CFLAGS): Likewise.
12458 (fwstart_img_ASFLAGS): Likewise.
12459 (fwstart_img_LDFLAGS): Likewise.
12460 (fwstart_img_FORMAT): Likewise.
12461 (pkglib_MODULES): Add lsspd.mod.
12462 (lsspd_mod_SOURCES): New variable.
12463 (lsspd_mod_CFLAGS): Likewise.
12464 (lsspd_mod_LDFLAGS): Likewise.
12465 (pkglib_MODULES): Add halt.mod.
12466 (halt_mod_SOURCES): New variable.
12467 (halt_mod_CFLAGS): Likewise.
12468 (halt_mod_LDFLAGS): Likewise.
12469 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
12470 (serial_mod_SOURCES): Removed.
12471 (serial_mod_CFLAGS): Likewise.
12472 (serial_mod_LDFLAGS): Likewise.
12473 * disk/ata.c (check_device): New function.
12474 (grub_ata_device_initialize): Use check_device.
12475 (grub_ata_iterate): Recheck devices.
12476 (grub_ata_open): Likewise.
12477 (grub_atapi_iterate): Likewise.
12478 (grub_atapi_open): Likewise.
12479 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
12480 (GRUB_ATA_CH1_PORT1): Likewise.
12481 (GRUB_ATA_CH0_PORT2): Likewise.
12482 (GRUB_ATA_CH1_PORT2): Likewise.
12483 * include/grub/mips/loongson.h: New file.
12484 * include/grub/mips/yeeloong/ec.h: Likewise.
12485 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
12486 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
12487 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
12488 * include/grub/misc.h (grub_halt): Declare as noreturn.
12489 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
12490 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
12491 (UART_ENABLE_FIFO_TRIGGER1): New definition.
12492 (UART_ENABLE_DTRRTS): Likewise.
12493 (UART_ENABLE_MODEM): Removed.
12494 (UART_ENABLE_OUT2): New const.
12495 * include/grub/term.h (grub_term_register_input_active): New function.
12496 (grub_term_register_output_active): Likewise.
12497 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
12498 argument.
12499 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
12500 (init_pci): New function.
12501 (grub_machine_init): Execute platform init when firmware. Init serial.
12502 (grub_halt): Implement.
12503 (grub_exit): Likewise.
12504 (grub_reboot): Likewise.
12505 * term/serial.c (serial_hw_init): Update macros.
12506 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
12507 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
12508 (image_targets): New target mipsel-yeeloong-flash.
12509 (generate_image): Support IMAGE_YEELOONG_FLASH.
12510 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
12511 (grub_video_sm712_setup): Init card.
12512 (grub_video_sm712_set_palette): Removed.
12513 * video/sm712_init.c: New file.
12514
12515 2010-06-30 Colin Watson <cjwatson@ubuntu.com>
12516
12517 * Makefile.in (install-local): Temporarily prepend $(builddir) to
12518 PATH when running help2man and then run it on the unadorned
12519 executable names, rather than passing $(builddir)/* paths to
12520 help2man. This avoids the build directory ending up in generated
12521 manual pages.
12522
12523 2010-06-29 Colin Watson <cjwatson@ubuntu.com>
12524
12525 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
12526 to avoid accidents when debugging with 'sh -x'.
12527 * util/grub-mkrescue.in: Likewise.
12528 * util/grub.d/00_header.in: Likewise.
12529 * util/grub.d/10_hurd.in: Likewise.
12530 * util/grub.d/10_kfreebsd.in: Likewise.
12531 * util/grub.d/10_linux.in: Likewise.
12532 * util/grub.d/10_netbsd.in: Likewise.
12533 * util/grub.d/10_windows.in: Likewise.
12534 * util/grub.d/20_linux_xen.in: Likewise.
12535 * util/grub.d/30_os-prober.in: Likewise.
12536 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
12537
12538 2010-06-29 Colin Watson <cjwatson@ubuntu.com>
12539
12540 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
12541 last character in the buffer.
12542 Reported by: Vladimir Serbinenko.
12543
12544 2010-06-29 Robert Millan <rmh@gnu.org>
12545
12546 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
12547 (Command-line and menu entry commands): Document `badram' command.
12548
12549 2010-06-28 Robert Millan <rmh@gnu.org>
12550
12551 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
12552 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
12553 command using ${GRUB_BADRAM} as parameter.
12554
12555 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
12556
12557 * docs/grub.texi (Device map): New section.
12558 (Themes): New section (stub).
12559 * Makefile.in (docs/grub.info): The info documentation now builds
12560 without errors. Make sure it stays that way.
12561
12562 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
12563
12564 Use normal parser for menu entries.
12565 Reported by: Thomas Frauendorfer
12566
12567 * include/grub/parser.h (grub_parser_execute): Don't export.
12568 * normal/menu.c (grub_menu_execute_entry_real): New function.
12569 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
12570
12571 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
12572
12573 * docs/grub.texi (Embedded configuration): New section (replacing
12574 old "Preset Menu" stub).
12575 (Images): New section.
12576 (configfile): Note that any menu entries defined in `file' are shown
12577 immediately.
12578
12579 2010-06-28 Josh Triplett <josh@joshtriplett.org>
12580
12581 * mmap/i386/pc/mmap_helper.S: Set CF on return.
12582
12583 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
12584
12585 * util/grub-install.in: Add --debug-image= option.
12586
12587 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
12588
12589 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
12590 possible on Linux.
12591
12592 * util/deviceiter.c (check_device): Rename to ...
12593 (check_device_readable_unique): ... this. Update all callers.
12594 Maintain and check a list of which devices (by canonicalized name)
12595 have already been seen.
12596 (clear_seen_devices): New function.
12597 (compare_file_names) [__linux__]: New function.
12598 (grub_util_iterate_devices): Clear the list of seen devices on exit
12599 and (just in case) on entry.
12600 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
12601 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
12602 seen-devices list, superseded by general code in check_device.
12603
12604 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
12605
12606 * commands/cat.c (options): New variable.
12607 (grub_cmd_cat): Parse options. If the --dos option is given, print
12608 DOS-style "\r\n" line endings as simple newlines (Debian bug
12609 #586358).
12610 (GRUB_MOD_INIT): Use extcmd.
12611 (GRUB_MOD_FINI): Likewise.
12612 * docs/grub.texi (cat): Document --dos.
12613
12614 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
12615
12616 XEN with Linux grub-mkconfig support.
12617
12618 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
12619 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
12620 GRUB_CMDLINE_XEN_DEFAULT.
12621 * util/grub.d/20_linux_xen.in: New file.
12622
12623 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
12624
12625 Initialise VGA video on qemu ourselves.
12626
12627 * boot/i386/qemu/boot.S: Don't call 0xc000.
12628 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
12629 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
12630 (kernel_img_HEADERS): Add pci.h.
12631 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
12632 * configure.ac: Force unifont on qemu and yeeloong.
12633 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
12634 (grub_vga_palette_write): Use correct register.
12635 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
12636 Call grub_qemu_init_cirrus.
12637 * kern/i386/qemu/init.c: New file.
12638 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
12639
12640 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
12641
12642 2010-06-26 Pavel Roskin <proski@gnu.org>
12643
12644 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
12645 13.
12646
12647 2010-06-26 Colin Watson <cjwatson@ubuntu.com>
12648
12649 * docs/grub.texi (Simple configuration): Explain that
12650 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
12651 set to `true' to disable their respective recovery entries, not
12652 merely set.
12653
12654 2010-06-26 Colin Watson <cjwatson@ubuntu.com>
12655
12656 Make the `source' command slightly faster.
12657
12658 * normal/main.c (grub_normal_execute): Don't re-read list files when
12659 nested.
12660
12661 2010-06-23 Colin Watson <cjwatson@ubuntu.com>
12662
12663 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
12664 field position and mask size to red fields from mode_info, not
12665 green.
12666 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
12667 Remove redundant tag->common.framebuffer_type assignment.
12668 Reported by: Seth Goldberg.
12669
12670 2010-06-23 Colin Watson <cjwatson@ubuntu.com>
12671
12672 Sync up other versions of the Linux loader with Robert Millan's
12673 change of 2010-01-09, "Make loader output a bit more user-friendly".
12674
12675 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
12676 grub_dprintf().
12677 (grub_cmd_linux): Likewise.
12678 (grub_cmd_initrd): Likewise.
12679 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
12680 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
12681
12682 2010-06-21 Colin Watson <cjwatson@ubuntu.com>
12683
12684 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
12685 larger than MEMORY_MAP_SIZE.
12686
12687 2010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
12688
12689 Fix parallel build.
12690
12691 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
12692 dependency.
12693 * script/parser.y: #include grub_script.tab.h header.
12694
12695 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
12696
12697 Support >3GiB and <16MiB RAM in i386-qemu.
12698
12699 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
12700 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
12701 (grub_lower_mem): Removed.
12702 (grub_upper_mem): Likewise.
12703 (mem_size): Made static.
12704 (above_4g): New variable.
12705 (grub_machine_mmap_init): Detect small mem_size and above_4g.
12706 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
12707 support.
12708
12709 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
12710
12711 Cirrus 5446 and Bochs video cards support.
12712
12713 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
12714 video_bochs.mod
12715 (video_cirrus_mod_SOURCES): New variable.
12716 (video_cirrus_mod_CFLAGS): Likewise.
12717 (video_cirrus_mod_LDFLAGS): Likewise.
12718 (video_bochs_mod_SOURCES): Likewise.
12719 (video_bochs_mod_CFLAGS): Likewise.
12720 (video_bochs_mod_LDFLAGS): Likewise.
12721 * include/grub/vga.h: New file.
12722 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
12723 (grub_video_fb_set_page_t): New type.
12724 (grub_video_fb_setup): New prototype.
12725 (grub_video_fb_swap_buffers): Likewise.
12726 (grub_video_fb_get_info_and_fini): Likewise.
12727 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
12728 (CRTC_DATA_PORT): Likewise.
12729 (CRTC_CURSOR): Likewise.
12730 (CRTC_CURSOR_ADDR_HIGH): Likewise.
12731 (CRTC_CURSOR_ADDR_LOW): Likewise.
12732 (CRTC_CURSOR_DISABLE): Likewise.
12733 (update_cursor): Use grub_vga_cr_write.
12734 (grub_vga_text_setcursor): Likewise.
12735 * video/bochs.c: New file.
12736 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
12737 (palette): Likewise.
12738 (palette_size): Likewise.
12739 (framebuffer): New variable.
12740 (grub_video_fb_init): Use 'framebuffer'.
12741 (grub_video_fb_fini): Likewise.
12742 (grub_video_fb_get_info): Likewise.
12743 (grub_video_fb_get_palette): Likewise.
12744 (grub_video_fb_set_palette): Likewise.
12745 (grub_video_fb_set_viewport): Likewise.
12746 (grub_video_fb_get_viewport): Likewise.
12747 (grub_video_fb_map_color): Likewise.
12748 (grub_video_fb_map_rgb): Likewise.
12749 (grub_video_fb_map_rgba): Likewise.
12750 (grub_video_fb_unmap_color): Likewise.
12751 (grub_video_fb_unmap_color_int): Likewise.
12752 (grub_video_fb_fill_rect): Likewise.
12753 (grub_video_fb_blit_bitmap): Likewise.
12754 (grub_video_fb_blit_render_target): Likewise.
12755 (grub_video_fb_scroll): Likewise.
12756 (grub_video_fb_create_render_target): Likewise.
12757 (grub_video_fb_doublebuf_blit_init): Likewise.
12758 (grub_video_fb_set_active_render_target): Handle doublebuffering.
12759 (doublebuf_pageflipping_update_screen): New function.
12760 (doublebuf_pageflipping_init): Likewise.
12761 (grub_video_fb_setup): Likewise.
12762 (grub_video_fb_swap_buffers): Likewise.
12763 (grub_video_fb_get_info_and_fini): Likewise.
12764 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
12765 All users updated.
12766 (doublebuf_pageflipping_commit): Restructured into ...
12767 (doublebuf_pageflipping_set_page): ... this.
12768 (doublebuf_pageflipping_update_screen): Removed.
12769 (doublebuf_pageflipping_init): Likewise.
12770 (double_buffering_init): Likewise.
12771 (grub_video_vbe_setup): Use grub_video_fb_setup.
12772 (grub_video_vbe_swap_buffers): Removed.
12773 (grub_video_vbe_set_active_render_target): Likewise.
12774 (grub_video_vbe_get_active_render_target): Likewise.
12775 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
12776 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
12777 grub_video_fb_set_active_render_target and
12778 grub_video_fb_get_active_render_target.
12779 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
12780 (SEQUENCER_DATA_PORT): Likewise.
12781 (MAP_MASK_REGISTER): Likewise.
12782 (CRTC_ADDR_PORT): Likewise.
12783 (CRTC_DATA_PORT): Likewise.
12784 (START_ADDR_HIGH_REGISTER): Likewise.
12785 (START_ADDR_LOW_REGISTER): Likewise.
12786 (GRAPHICS_ADDR_PORT): Likewise.
12787 (GRAPHICS_DATA_PORT): Likewise.
12788 (READ_MAP_REGISTER): Likewise.
12789 (INPUT_STATUS1_REGISTER): Likewise.
12790 (INPUT_STATUS1_VERTR_BIT): Likewise.
12791 (get_map_mask): Use grub_vga_sr_read.
12792 (set_map_mask): Use grub_vga_sr_write.
12793 (set_read_map): Use grub_vga_gr_write.
12794 (set_start_address): Use grub_vga_cr_write.
12795 * video/sm712.c (framebuffer): Remove leftover fields.
12796
12797 2010-06-20 Colin Watson <cjwatson@ubuntu.com>
12798
12799 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
12800 setting GRUB_VIDEO_BACKEND. Make it available as a user override
12801 instead. Replace the gfxterm backend check with a check that
12802 ${GRUB_PREFIX}/video.lst is non-empty.
12803 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
12804 again.
12805 (load_video): New generated function. Call it before loading
12806 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
12807 * util/grub.d/10_linux.in (linux_entry): Call load_video.
12808 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
12809 * docs/grub.texi (Simple configuration): Document
12810 GRUB_VIDEO_BACKEND.
12811
12812 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
12813
12814 Use video functions in linux and xnu loaders.
12815
12816 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
12817 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
12818 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
12819 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
12820 loader/i386/pc/linux.c.
12821 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
12822 (find_line_len): Removed.
12823 (find_framebuf): Likewise.
12824 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
12825 * loader/i386/efi/xnu.c: Removed.
12826 * loader/i386/pc/xnu.c: Moved from here...
12827 * loader/i386/xnu.c: ...here.
12828
12829 Enable priorities in video drivers.
12830
12831 * include/grub/video.h (grub_video_adapter_prio_t): New type.
12832 (grub_video_adapter): New field prio.
12833 (grub_video_register): Respect prio when inserting.
12834 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
12835 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
12836 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
12837 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
12838 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
12839 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
12840 * video/sm712.c (grub_video_sm712_adapter): Likewise.
12841
12842 Fix SDL driver ID.
12843
12844 * include/grub/video.h (grub_video_driver_id_t): New value
12845 GRUB_VIDEO_DRIVER_SDL.
12846 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
12847
12848 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
12849
12850 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
12851 argument to printf.
12852 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
12853
12854 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
12855
12856 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
12857 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
12858
12859 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
12860
12861 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
12862 directly, and recommend grub-install instead.
12863 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
12864
12865 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
12866
12867 Fix i386-pc prefix handling with nested partitions (Debian bug
12868 #585068). Note that the case where the core image is booted using
12869 multiboot and relocated from its original location still requires
12870 more work.
12871
12872 * kern/i386/pc/init.c (make_install_device): If the prefix starts
12873 with "(,", fill the boot drive in between those two characters, but
12874 expect that a full partition specification including partition map
12875 names will follow.
12876 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
12877 specified, write a prefix without the drive name but including a
12878 full partition specification.
12879
12880 2010-06-16 Colin Watson <cjwatson@ubuntu.com>
12881
12882 * util/grub-mkconfig.in: Ignore non-option arguments, for
12883 compatibility with older versions (before 2010-06-12) which did the
12884 same. In particular, this makes it easier to ship an update-grub
12885 wrapper which is compatible with that used with GRUB Legacy (Debian
12886 bug #586056).
12887
12888 2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
12889
12890 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
12891 for manual page generation.
12892
12893 2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
12894
12895 * po/POTFILES: Remove leftover commands/handler.c.
12896
12897 2010-06-14 Colin Watson <cjwatson@ubuntu.com>
12898
12899 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
12900 left this script non-functional.
12901
12902 2010-06-14 Colin Watson <cjwatson@ubuntu.com>
12903
12904 * docs/man/grub-emu.h2m: New file.
12905
12906 2010-06-13 Colin Watson <cjwatson@ubuntu.com>
12907
12908 * docs/grub.texi (Commands): Document reduced command set in rescue
12909 mode.
12910 (cpuid): New section.
12911
12912 2010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
12913
12914 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
12915 new partition naming style.
12916 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
12917
12918 2010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
12919
12920 Add "-o grub.iso" like cmdline options support.
12921
12922 * util/grub-install.in: Improve cmdline option parsing.
12923 * util/grub-mkconfig.in: Likewise.
12924 * util/grub-mkrescue.in: Likewise.
12925 * util/grub-reboot.in: Likewise.
12926 * util/grub-set-default.in: Likewise.
12927 * util/i386/efi/grub-install.in: Likewise.
12928 * util/ieee1275/grub-install.in: Likewise.
12929 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
12930
12931 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
12932
12933 * .bzrignore: Ignore 41_custom.
12934
12935 2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
12936
12937 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
12938
12939 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
12940
12941 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
12942 prototype declarations.
12943
12944 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
12945 generating fs, partmap, and video lists.
12946 * include/grub/fs.h (grub_fs_register): Omit prototype if
12947 GRUB_LST_GENERATOR is defined.
12948 * include/grub/partition.h (grub_partition_map_register): Likewise.
12949 * include/grub/video.h (grub_video_register): Likewise.
12950
12951 2010-06-12 Javier Martín <lordhabbit@gmail.com>
12952
12953 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
12954
12955 2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
12956
12957 * util/grub-mkrescue.in: Support --xorriso argument.
12958
12959 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
12960
12961 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
12962 Suggested by: Thomas Schmitt.
12963
12964 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
12965
12966 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
12967 Suggested by: Thomas Schmitt.
12968
12969 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
12970
12971 custom.cfg support.
12972
12973 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
12974 * util/grub.d/41_custom.in: New file.
12975
12976 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
12977
12978 * util/grub-mkrescue.in (make_image): Remove sh module, which has
12979 been merged back into normal.
12980
12981 2010-06-11 Colin Watson <cjwatson@ubuntu.com>
12982
12983 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
12984 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
12985
12986 2010-06-11 Colin Watson <cjwatson@ubuntu.com>
12987
12988 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
12989 when generating manual pages.
12990 * docs/man/grub-bin2h.h2m: New file.
12991 * docs/man/grub-editenv.h2m: New file.
12992 * docs/man/grub-fstest.h2m: New file.
12993 * docs/man/grub-install.h2m: New file.
12994 * docs/man/grub-macho2img.h2m: New file.
12995 * docs/man/grub-mkconfig.h2m: New file.
12996 * docs/man/grub-mkdevicemap.h2m: New file.
12997 * docs/man/grub-mkfont.h2m: New file.
12998 * docs/man/grub-mkimage.h2m: New file.
12999 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
13000 * docs/man/grub-mkrelpath.h2m: New file.
13001 * docs/man/grub-mkrescue.h2m: New file.
13002 * docs/man/grub-ofpathname.h2m: New file.
13003 * docs/man/grub-pe2elf.h2m: New file.
13004 * docs/man/grub-probe.h2m: New file.
13005 * docs/man/grub-reboot.h2m: New file.
13006 * docs/man/grub-script-check.h2m: New file.
13007 * docs/man/grub-set-default.h2m: New file.
13008 * docs/man/grub-setup.h2m: New file.
13009
13010 2010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
13011
13012 Use FOR_* macros instead of *_iterate whenever possible.
13013
13014 * commands/handler.c: Removed.
13015 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
13016 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
13017 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
13018 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
13019 (grub_probe_SOURCES): Remove kern/parser.c.
13020 (util/grub-script-check.c_DEPENDENCIES): Removed.
13021 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
13022 and grub_script_check_init.c.
13023 (grub_script_check_init.lst): Removed.
13024 (grub_script_check_init.h): Likewise.
13025 (grub_script_check_init.c): Likewise.
13026 (pkglib_MODULES): Remove handler.mod and sh.mod.
13027 (handler_mod_SOURCES): Removed.
13028 (handler_mod_CFLAGS): Likewise.
13029 (handler_mod_LDFLAGS): Likewise.
13030 (normal_mod_SOURCES): Remove normal/handler.c.
13031 Add script/main.c, script/script.c, script/execute.c,
13032 script/function.c, script/lexer.c, grub_script.tab.c
13033 and grub_script.yy.c.
13034 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
13035 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
13036 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
13037 (grub_setup_SOURCES): Remove kern/parser.c.
13038 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
13039 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
13040 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
13041 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
13042 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
13043 (grub_setup_SOURCES): Remove kern/parser.c.
13044 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
13045 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
13046 * include/grub/command.h (grub_command_iterate): Removed.
13047 (FOR_COMMANDS): New macro.
13048 * include/grub/dl.h (grub_dl): New member next.
13049 (grub_dl_iterate): Removed.
13050 (grub_dl_head): New variable declaration.
13051 (FOR_DL_MODULES): New macro.
13052 * include/grub/fs.h: Include list.h.
13053 (grub_fs): Make next first element.
13054 (grub_fs_list): New variable declaration.
13055 (grub_fs_register): Make inline.
13056 (grub_fs_unregister): Likewise.
13057 (grub_fs_iterate): Removed.
13058 (FOR_FILESYSTEMS): New macro.
13059 * include/grub/handler.h: Removed.
13060 * include/grub/list.h (grub_list_hook_t): Removed.
13061 (grub_list_test_t): Likewise.
13062 (grub_list_pop): Likewise.
13063 (grub_list_iterate): Likewise.
13064 (grub_list_insert): Likewise.
13065 (FOR_LIST_ELEMENTS): New macro.
13066 * include/grub/parser.h (grub_parser_class): Removed.
13067 (grub_parser_register): Likewise.
13068 (grub_parser_unregister): Likewise.
13069 (grub_parser_get_current): Likewise.
13070 (grub_parser_set_current): Likewise.
13071 (grub_register_rescue_parser): Likewise.
13072 (grub_rescue_parse_line): New function.
13073 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
13074 * include/grub/script_sh.h (grub_script_function_list): New variable
13075 declaration.
13076 (FOR_SCRIPT_FUNCTIONS): New macro.
13077 (grub_script_function_iterate): Removed.
13078 (grub_normal_parse_line): New prototype.
13079 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
13080 (FOR_DISABLED_TERM_INPUTS): Likewise.
13081 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
13082 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
13083 * include/grub/video.h (grub_video_adapter): Move 'next' to first
13084 element.
13085 (grub_video_register): Inline.
13086 (grub_video_unregister): Likewise.
13087 (grub_video_adapter_list): New variable declaration.
13088 (grub_video_iterate): Removed.
13089 (FOR_VIDEO_ADAPTERS): New macro.
13090 * kern/dl.c (grub_dl_list): Removed. All users updated.
13091 (grub_dl_iterate): Removed.
13092 * kern/fs.c (grub_fs_list): Make global.
13093 (grub_fs_register): Removed.
13094 (grub_fs_unregister): Likewise.
13095 (grub_fs_iterate): Likewise.
13096 * kern/handler.c: Removed.
13097 * kern/list.c (grub_list_pop): Removed.
13098 (grub_list_iterate): Likewise.
13099 (grub_list_insert): Likewise.
13100 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
13101 (grub_prio_list_insert): Don't use grub_list_insert.
13102 * kern/main.c (grub_register_rescue_parser): Don't call
13103 grub_register_rescue_parser.
13104 * kern/parser.c (grub_parser_class): Removed.
13105 (grub_parser_execute): Use grub_rescue_parse_line.
13106 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
13107 (grub_rescue_parser): Removed.
13108 (grub_register_rescue_parser): Likewise.
13109 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
13110 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
13111 (grub_auth_check_authentication): Likewise.
13112 * normal/completion.c (iterate_command): Removed.
13113 (grub_normal_do_completion): Use FOR_COMMANDS.
13114 * normal/handler.c: Removed.
13115 * normal/main.c (read_config_file): Remove parser changing.
13116 (grub_normal_execute): Don't call read_handler_list.
13117 (grub_normal_read_line_real): Statically allocate prompt.
13118 (grub_cmdline_run): Use grub_normal_parse_line.
13119 (GRUB_MOD_FINI): Don't call free_handler_list.
13120 * normal/menu_entry.c (run): Likewise.
13121 * script/function.c (grub_script_function_list): Make global.
13122 (grub_script_function_iterate): Removed.
13123 * script/main.c (grub_normal_parse_line): Make global.
13124 (grub_sh_parser): Removed.
13125 (GRUB_MOD_INIT): Likewise.
13126 (GRUB_MOD_FINI): Likewise.
13127 * tests/lib/functional_test.c (grub_functional_test): Use
13128 FOR_LIST_ELEMENTS.
13129 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
13130 (grub_test_run): Use FOR_LIST_ELEMENTS.
13131 * tests/lib/unit_test.c (main): Likewise.
13132 * util/deviceiter.c (grub_util_iterate_devices): Don't use
13133 grub_list_pop.
13134 * util/grub-fstest.c (grub_term_input_class): Removed.
13135 (grub_term_output_class): Likewise.
13136 * util/grub-probe.c: Likewise.
13137 * util/i386/pc/grub-setup.c: Likewise.
13138 * util/sparc64/ieee1275/grub-setup.c: Likewise.
13139 * util/grub-script-check.c (main): Don't call grub_init_all and
13140 grub_fini_all.
13141 * video/video.c (grub_video_adapter_list): Make global.
13142 (grub_video_register): Removed.
13143 (grub_video_unregister): Likewise.
13144 (grub_video_iterate): Likewise.
13145
13146 2010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
13147
13148 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
13149 reported by Henrique Ferreiro.
13150
13151 2010-06-09 Robert Millan <rmh@gnu.org>
13152
13153 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
13154 ones, when both are available.
13155
13156 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
13157
13158 Make --version uniform and avoid hard-coded program name.
13159
13160 * util/grub-mkimage.c (main): Use `program_name' instead of
13161 hard-coded string.
13162 * util/i386/pc/grub-setup.c (main): Likewise.
13163 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
13164 * util/grub-install.in: Save the basename of $0 in $self, and use the
13165 latter in informational messages. Use the same format for --version
13166 as the binary programs.
13167 * util/grub-mkconfig.in: Likewise.
13168 * util/grub-mkrescue.in: Likewise.
13169 * util/grub-reboot.in: Likewise.
13170 * util/grub-set-default.in: Likewise.
13171 * util/i386/efi/grub-install.in: Likewise.
13172 * util/ieee1275/grub-install.in: Likewise.
13173 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
13174
13175 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
13176
13177 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
13178 embedding area. Use <= instead of == when checking for non-emptiness.
13179
13180 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
13181
13182 * configure.ac: Add `.' to the directories searched for unifont.
13183
13184 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
13185
13186 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
13187 grub_script.yy.h.
13188
13189 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
13190
13191 * docs/grub.texi (History): Expand to cover GRUB 2.
13192 (Serial terminal): Refer to `terminal_input' and `terminal_output'
13193 commands, not `terminal'.
13194 (serial): Likewise.
13195 (terminal_input): New section.
13196 (terminal_output): New section.
13197 (uppermem): New section (stub).
13198 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
13199
13200 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
13201
13202 * docs/grub.texi (Security): Menu entries are unrestricted by
13203 default, not restricted to superusers as I had previously thought.
13204 Reword to account for this.
13205
13206 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
13207
13208 * kern/emu/misc.c (device_mapper_null_log): New function.
13209 (grub_device_mapper_supported): New function.
13210 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
13211 prototype.
13212 * kern/emu/hostdisk.c (find_partition_start): Check whether
13213 device-mapper is supported before trying to use it.
13214 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
13215
13216 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
13217
13218 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
13219 (File name syntax): Likewise.
13220 (help): --all is no longer supported in GRUB 2. Be more precise
13221 about pattern matching.
13222
13223 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
13224
13225 * normal/completion.c (grub_normal_do_completion): When completing
13226 arguments to "set" and the current word contains an equals sign,
13227 skip to after the equals sign before starting completion.
13228
13229 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
13230
13231 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
13232
13233 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
13234
13235 * docs/grub.texi (Network): New section.
13236 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
13237 `(nd)' as in GRUB Legacy.
13238 (pxe_unload): New section.
13239
13240 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
13241
13242 * docs/grub.texi (Troubleshooting): `echo' is not usually available
13243 in the rescue shell, so recommend using `set' instead. Thanks,
13244 Jordan Uggla.
13245
13246 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
13247
13248 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
13249 (password): New section.
13250 (password_pbkdf2): New section.
13251 (search): New section.
13252 (Security): New section.
13253 (Troubleshooting): New section, currently very incomplete.
13254 (Invoking grub-mkpasswd-pbkdf2): New section.
13255 (Internals): New section, currently very incomplete.
13256
13257 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
13258
13259 * util/grub.d/00_header.in: Add some more quoting (of
13260 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
13261 work again.
13262 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
13263
13264 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
13265
13266 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
13267 to `count', fixing variable shadowing that broke the -c option.
13268
13269 2010-06-05 Colin Watson <cjwatson@ubuntu.com>
13270
13271 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
13272 in case they contain spaces.
13273
13274 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
13275
13276 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
13277 "part_" to partmap module names, in line with grub-install.
13278 Reported by: Jindřich Makovička (Debian bug #584426).
13279
13280 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
13281
13282 * util/grub-mkimage.c: Make target-related error messages slightly
13283 more helpful; -O talks about "format". Explicitly point to the use
13284 of -O if no target is specified.
13285 Reported by: Didier Raboud (Debian bug #584415).
13286
13287 2010-06-03 Colin Watson <cjwatson@ubuntu.com>
13288
13289 * INSTALL: Document several build requirements for optional features
13290 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
13291
13292 2010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
13293
13294 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
13295 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
13296 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
13297
13298 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
13299
13300 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
13301 Thanks to Jordan Uggla for spotting this.
13302
13303 2010-06-02 Aleš Nesrsta <starous@volny.cz>
13304
13305 Finally make USB usable.
13306
13307 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
13308 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
13309 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
13310 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
13311 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
13312 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
13313 (GRUB_OHCI_FSMPS): Likewise.
13314 (GRUB_OHCI_PERIODIC_START): Likewise.
13315 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
13316 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
13317 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
13318 (GRUB_OHCI_SET_PORT_RESET): Likewise.
13319 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
13320 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
13321 (grub_ohci_transaction): Likewise.
13322 (grub_ohci_transfer): Improve condition detection algorithms.
13323 Handle toggle property. Program the transactions correctly.
13324 Improve error handling. Various important fixups.
13325 (grub_ohci_portstatus): Put register writes in right order.
13326 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
13327 (grub_uhci_transfer): Don't show "failed" message on success.
13328 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
13329 array.
13330 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
13331 determine its size.
13332 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
13333 before initialization is completed. Use IN direction for empty
13334 transfers. Use last_trans and compute toggle.
13335 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
13336 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
13337 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
13338 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
13339 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
13340 (grub_usb_device): Increase toggle to 256.
13341 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
13342 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
13343 GRUB_USBMS_SUBCLASS_SFF8070.
13344 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
13345 (grub_scsi_inquiry): New member page and alloc_length.
13346 (grub_scsi_request_sense): New structure.
13347 (grub_scsi_request_sense_data): Likewise.
13348 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
13349 control.
13350 * disk/scsi.c (grub_scsi_request_sense): New function.
13351 (grub_scsi_test_unit_ready): Likewise.
13352 (grub_scsi_inquiry): Fill new fields.
13353 (grub_scsi_read_capacity): Likewise.
13354 (grub_scsi_read10): Add request sense at the end.
13355 (grub_scsi_read12): Likewise.
13356 (grub_scsi_write10): Likewise.
13357 (grub_scsi_write12): Likewise.
13358 (grub_scsi_open): Add Test Unit Ready.
13359 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
13360 Support additional subclasses. Con't clear halt yet. Activate the
13361 proper config. Calculate LUNs correctly.
13362 (grub_usbms_transfer): Various important fixups.
13363
13364 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
13365
13366 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
13367 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
13368 (grub_ohci_fini_hw): New function.
13369 (grub_ohci_restore_hw): Likewise.
13370 (GRUB_MOD_INIT(ohci)): Register preboot hook.
13371 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
13372 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
13373
13374 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
13375
13376 Dedicated DMA allocations.
13377
13378 * bus/pci.c (grub_memalign_dma32): New function
13379 (grub_dma_free): Likewise.
13380 (grub_dma_get_virt): Likewise.
13381 (grub_dma_get_phys): Likewise.
13382 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
13383 (grub_ohci_pci_iter): Use dma32_alloc.
13384 (grub_ohci_transfer): Likewise.
13385 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
13386 (grub_usb_bulk_readwrite): Likewise.
13387 * include/grub/pci.h: Add declarations.
13388
13389 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
13390
13391 CS5536 support.
13392
13393 * bus/cs5536.c: New file.
13394 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
13395 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
13396 (cs5536_mod_SOURCES): New variable.
13397 (cs5536_mod_CFLAGS): Likewise.
13398 (cs5536_mod_LDFLAGS): Likewise.
13399 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
13400 machine/pci.h.
13401 (kernel_img_SOURCES): Add bus/cs5536.c.
13402 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
13403 usb_keyboard.mod.
13404 (usb_mod_SOURCES): New variable.
13405 (usb_mod_CFLAGS): New variable.
13406 (usb_mod_LDFLAGS): New variable.
13407 (usbtest_mod_SOURCES): New variable.
13408 (usbtest_mod_CFLAGS): New variable.
13409 (usbtest_mod_LDFLAGS): New variable.
13410 (ohci_mod_SOURCES): New variable.
13411 (ohci_mod_CFLAGS): New variable.
13412 (ohci_mod_LDFLAGS): New variable.
13413 (usbms_mod_SOURCES): New variable.
13414 (usbms_mod_CFLAGS): New variable.
13415 (usbms_mod_LDFLAGS): New variable.
13416 (usb_keyboard_mod_SOURCES): New variable.
13417 (usb_keyboard_mod_CFLAGS): New variable.
13418 (usb_keyboard_mod_LDFLAGS): New variable.
13419 * include/grub/smbus.h: New file.
13420 * include/grub/cs5536.h: New file.
13421
13422 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
13423
13424 * util/grub.d/00_header.in: Add safety check to make sure that
13425 ${locale_dir} exists before trying to probe it.
13426
13427 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
13428
13429 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
13430 per the GNU Coding Standards; this is now too obscure to be worth
13431 documenting.
13432 (QNX): Likewise.
13433 (chainloader): Remove cross-reference to `SCO UnixWare'.
13434
13435 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
13436
13437 * docs/grub.texi (Chain-loading): New section.
13438 (DOS/Windows): New section, borrowed from GRUB Legacy with details
13439 adjusted for GRUB 2.
13440 (SCO UnixWare): Likewise.
13441 (QNX): Likewise.
13442 (chainloader): Add reference to `Block list syntax'.
13443 (drivemap): New section.
13444 (parttool): New section.
13445
13446 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
13447
13448 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
13449 the grub shell'.
13450 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
13451 (Installing GRUB using grub-install): Remove reference to the grub
13452 shell; mention `grub-mkimage' and `grub-setup' instead.
13453 (Invoking grub-install): Likewise.
13454 (Interface): Add reference to `Menu entry editor'.
13455 (serial): Remove `--device' option.
13456
13457 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
13458
13459 * docs/grub.texi (Configuration): New section, documenting
13460 configuration file generation using grub-mkconfig. I've left a slot
13461 for documenting the full shell scripting format but have not yet
13462 started on writing that up.
13463 (Invoking grub-mkconfig): New section.
13464
13465 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
13466
13467 * docs/grub.texi (direntry): Remove grub-terminfo reference.
13468 (GNU GRUB manual): Likewise.
13469 (General commands): Update description of `terminfo' for GRUB 2.
13470
13471 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
13472
13473 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
13474 (GRUB_MOD_INIT): Fix capitalisation.
13475 * docs/grub.texi (Command-line and menu entry commands): Document
13476 gettext and gptsync commands.
13477
13478 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
13479
13480 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
13481 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
13482
13483 2010-06-01 Colin Watson <cjwatson@ubuntu.com>
13484
13485 Add btrfs probing support, currently only in the single-device case.
13486
13487 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
13488 function.
13489 (grub_guess_root_device): Call find_root_device_from_mountinfo
13490 before looking in /dev.
13491
13492 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
13493
13494 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
13495 GRUB_DISK_SIZE_UNKNOWN.
13496 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
13497
13498 2010-05-31 Jiro SEKIBA <jir@unicus.jp>
13499
13500 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
13501 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
13502 corrupted or not synced properly.
13503
13504 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
13505
13506 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
13507 Reported by: Seth Goldberg.
13508
13509 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
13510
13511 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
13512 addition of dest.
13513 Reported by: Seth Goldberg.
13514
13515 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
13516
13517 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
13518 Reported by: Seth Goldberg.
13519
13520 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
13521
13522 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
13523 64-bit address as signed on MIPS.
13524
13525 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
13526
13527 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
13528 to the empty string.
13529
13530 2010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
13531
13532 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
13533
13534 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
13535 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
13536 * kern/misc.c (__enable_execute_stack): Disable on
13537 GRUB_MACHINE_EMU.
13538
13539 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
13540
13541 Make grub-probe work with symbolic links under /dev/mapper as well
13542 as with real block devices. The Linux world seems to be (at best)
13543 in transition here, and GRUB shouldn't get caught in the middle.
13544
13545 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
13546 /dev/mapper.
13547
13548 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
13549
13550 * util/grub-script-check.c (main): Ensure defined behaviour on empty
13551 input files (in which case exit zero).
13552
13553 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
13554
13555 * kern/emu/misc.c (canonicalize_file_name): realpath can still
13556 return NULL for various reasons even if it has a maximum-length
13557 buffer: for example, there might be a symlink loop, or the path
13558 might exceed PATH_MAX. If this happens, return NULL.
13559
13560 2010-05-27 Robert Millan <rmh@gnu.org>
13561
13562 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
13563 partmap module to handle cross-partmap setups.
13564 Reported by Orestes Mas. Gràcies!
13565
13566 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
13567
13568 * util/grub-mkrescue.in: Initialise override_dir rather than
13569 assuming that it's unset or empty in the environment.
13570
13571 2010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
13572
13573 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
13574 variable index into p_index to suppress a warning with -Wshadow.
13575
13576 2010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
13577
13578 * INSTALL: Added flex >= 2.5.35 requirement.
13579
13580 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
13581
13582 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
13583
13584 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
13585
13586 cmostest support.
13587
13588 * commands/i386/cmostest.c: New file.
13589 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
13590 (cmostest_mod_SOURCES): New variable.
13591 (cmostest_mod_CFLAGS): Likewise.
13592 (cmostest_mod_LDFLAGS): Likewise.
13593 * conf/i386-pc.rmk: Likewise.
13594 * docs/grub.texi (Vendor power-on keys): New section.
13595 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
13596 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
13597 and GRUB_BUTTON_CMOS_ADDRESS.
13598 * util/grub.d/00_header.in: Handle powering-on by separate button.
13599
13600 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
13601
13602 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
13603 Removed drawing_scrollbar argument. All users updated
13604 Fixes #29792.
13605 Reported by Jo Shields
13606
13607 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
13608
13609 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
13610 buffer since gfxterm handles double repaint.
13611
13612 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
13613
13614 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
13615 * term/gfxterm.c (real_scroll): Likewise.
13616
13617 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
13618
13619 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
13620 before calling BIOS.
13621
13622 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
13623
13624 * include/grub/i18n.h: Always enable grub_gettext.
13625
13626 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
13627
13628 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
13629 partition naming style.
13630
13631 2010-05-21 Colin Watson <cjwatson@ubuntu.com>
13632
13633 * util/grub-mkconfig.in: Fix handling of -o so that it works when
13634 not the first option.
13635
13636 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
13637
13638 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
13639
13640 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
13641
13642 * util/misc.c: Move inclusion of <limits.h> to ...
13643 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
13644
13645 2010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
13646
13647 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
13648 Fix merge error in NetBSD code.
13649 (find_partition_start) [__NetBSD__]: Likewise.
13650
13651 2010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
13652
13653 Fix grub-mkrescue usage unit testing.
13654
13655 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
13656
13657 2010-05-18 Christian Franke <franke@computer.org>
13658
13659 * util/grub.d/10_windows.in: Use path names instead of
13660 drive letters to prevent warning from Cygwin 1.7.
13661 Add drivemap command to menuentry if needed.
13662
13663 2010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
13664
13665 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
13666 gnumach and gnumach.gz.
13667
13668 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
13669
13670 * include/grub/i18n.h (gettext): Inline instead of using #define.
13671 (grub_gettext): Likewise.
13672 (_): Likewise.
13673
13674 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
13675
13676 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
13677 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
13678 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
13679 (main): Add a slash after pkglibdirroot.
13680
13681 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
13682
13683 * util/grub-install.in: Add missing "in" keyword.
13684
13685 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
13686
13687 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
13688 Reported by: Seth Goldberg.
13689
13690 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
13691
13692 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
13693
13694 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
13695
13696 * configure.ac: Check for Linux device-mapper support.
13697
13698 * util/hostdisk.c (device_is_mapped): New function.
13699 (find_partition_start): New function, partly broken out from
13700 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
13701 device-mapper support added.
13702 (linux_find_partition): Use find_partition_start.
13703 (convert_system_partition_to_system_disk): Add `st' argument.
13704 Support Linux /dev/mapper/* devices if device-mapper support is
13705 available; only DM-RAID devices are understood at present.
13706 (find_system_device): Add `st' argument. Pass it to
13707 convert_system_partition_to_system_disk.
13708 (grub_util_biosdisk_get_grub_dev): Pass stat result to
13709 find_system_device and convert_system_partition_to_system_disk. Use
13710 find_partition_start.
13711
13712 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
13713 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
13714 * util/deviceiter.c [__linux__]: Define MINOR.
13715 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
13716 * util/mkdevicemap.c (grub_putchar): New function.
13717 (grub_getkey): New function.
13718 (grub_refresh): New function.
13719 (main): Set debug=all if -v -v is used.
13720
13721 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
13722
13723 Fix build with non-GNU libcs.
13724
13725 * util/misc.c (canonicalize_file_name): Move to ...
13726 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
13727 grub_make_system_path_relative_to_its_root.
13728
13729 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
13730
13731 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
13732 we handle finding grub-mkimage. Default to finding grub-mkimage in
13733 ${bindir} with program_transform_name applied, and provide a
13734 --grub-mkimage option to override this.
13735
13736 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
13737
13738 Remove grub-mkisofs.
13739
13740 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
13741 (grub_mkisofs_SOURCES): Removed.
13742 (grub_mkisofs_CFLAGS): Removed.
13743 * util/mkisofs/defaults.h: Removed.
13744 * util/mkisofs/eltorito.c: Likewise.
13745 * util/mkisofs/exclude.h: Likewise.
13746 * util/mkisofs/hash.c: Likewise.
13747 * util/mkisofs/include/: Likewise.
13748 * util/mkisofs/include/fctldefs.h: Likewise.
13749 * util/mkisofs/include/mconfig.h: Likewise.
13750 * util/mkisofs/include/prototyp.h: Likewise.
13751 * util/mkisofs/include/statdefs.h: Likewise.
13752 * util/mkisofs/iso9660.h: Likewise.
13753 * util/mkisofs/joliet.c: Likewise.
13754 * util/mkisofs/match.c: Likewise.
13755 * util/mkisofs/match.h: Likewise.
13756 * util/mkisofs/mkisofs.c: Likewise.
13757 * util/mkisofs/mkisofs.h: Likewise.
13758 * util/mkisofs/msdos_partition.h: Likewise.
13759 * util/mkisofs/multi.c: Likewise.
13760 * util/mkisofs/name.c: Likewise.
13761 * util/mkisofs/rock.c: Likewise.
13762 * util/mkisofs/tree.c: Likewise.
13763 * util/mkisofs/write.c: Likewise.
13764
13765 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
13766
13767 Unify grub-mkimage accross platforms.
13768
13769 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
13770 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
13771 (grub_mkelfimage_SOURCES): Removed.
13772 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
13773 (util/grub-mkimage.c_DEPENDENCIES): .. this.
13774 (bin_UTILITIES): Add grub-mkimage.
13775 (grub_mkimage_SOURCES): New variable.
13776 (kernel_img_HEADERS): Remove machine/kernel.h.
13777 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
13778 (pkglib_PROGRAMS): Add kernel.img.
13779 (kernel_img_HEADERS): Add machine/kernel.h.
13780 (kernel_img_FORMAT): Removed.
13781 (bin_UTILITIES): Remove grub-mkimage.
13782 (grub_mkimage_SOURCES): Removed.
13783 (grub_mkimage_CFLAGS): Likewise.
13784 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
13785 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
13786 (pkglib_PROGRAMS): Add kernel.img.
13787 (bin_UTILITIES): Remove grub-mkimage.
13788 (grub_mkimage_SOURCES): Removed.
13789 (grub_mkimage_CFLAGS): Likewise.
13790 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
13791 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
13792 (pkglib_PROGRAMS): Add kernel.img.
13793 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
13794 (pkglib_PROGRAMS): Add kernel.img.
13795 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
13796 (grub_mkimage_SOURCES): Removed.
13797 (grub_mkimage_CFLAGS): Likewise.
13798 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
13799 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
13800 (pkglib_PROGRAMS): Add kernel.img.
13801 (bin_UTILITIES): Remove grub-mkimage.
13802 (grub_mkimage_SOURCES): Removed.
13803 (grub_mkimage_CFLAGS): Likewise.
13804 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
13805 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
13806 (grub_mkimage_SOURCES): Removed.
13807 (grub_mkimage_CFLAGS): Likewise.
13808 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
13809 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
13810 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
13811 (grub_pe32_optional_header): ... this.
13812 (grub_pe64_optional_header): ... and this. All users updated.
13813 (GRUB_PE32_PE32_MAGIC): Split into ..
13814 (GRUB_PE32_PE32_MAGIC): .. this.
13815 (GRUB_PE32_PE64_MAGIC): .. and this.
13816 (GRUB_PE32_SIGNATURE_SIZE): New definition.
13817 * include/grub/elf.h (PT_GNU_STACK): New definition.
13818 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
13819 * include/grub/i386/efi/kernel.h: Likewise.
13820 * include/grub/i386/kernel.h: Likewise.
13821 * include/grub/i386/pc/kernel.h: Likewise.
13822 * include/grub/i386/qemu/boot.h: Likewise.
13823 * include/grub/mips/kernel.h: Likewise.
13824 * include/grub/mips/qemu-mips/kernel.h: Likewise.
13825 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
13826 * include/grub/powerpc/kernel.h: Likewise.
13827 * include/grub/sparc64/ieee1275/boot.h: Likewise.
13828 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
13829 * include/grub/sparc64/kernel.h: Likewise.
13830 * include/grub/x86_64/efi/kernel.h: Likewise.
13831 * include/grub/x86_64/kernel.h: Likewise.
13832 * include/grub/offsets.h: New file.
13833 * include/grub/kernel.h (grub_module_info): Split into ...
13834 (grub_module_info32): ... this.
13835 (grub_module_info64): ... and this.
13836 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
13837 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
13838 (grub_boot_blocklist): Moved from here ...
13839 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
13840 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
13841 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
13842 * include/grub/types.h (grub_target_to_host16): Removed.
13843 (grub_target_to_host32): Likewise.
13844 (grub_target_to_host64): Likewise.
13845 (grub_host_to_target16): Likewise.
13846 (grub_host_to_target32): Likewise.
13847 (grub_host_to_target64): Likewise.
13848 (grub_host_to_target_addr): Likewise.
13849
13850 Support grub-mkrescue for efi, coreboot and qemu.
13851
13852 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
13853 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
13854 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
13855 * util/grub-mkrawimage.c: Moved from here ...
13856 * util/grub-mkimage.c: ... here. All users updated.
13857 (ALIGN_ADDR): Use image_target.
13858 (TARGET_NO_FIELD): New const.
13859 (image_target_desc): New type.
13860 (image_targets): New array.
13861 (grub_target_to_host64): Use image_target.
13862 (grub_target_to_host32): Likewise.
13863 (grub_target_to_host16): Likewise.
13864 (grub_host_to_target64): Likewise.
13865 (grub_host_to_target32): Likewise.
13866 (grub_host_to_target16): Likewise.
13867 (grub_host_to_target_addr): Likewise.
13868 (generate_image): Handle multiimage.
13869 (main): Require -O parameter. All users updated.
13870 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
13871 util/efi/grub-mkimage.c
13872 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
13873 New option --rom-directory.
13874 Use xorriso.
13875 * util/i386/efi/grub-mkimage.c: Removed.
13876 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
13877 (grub_target_to_host32): Likewise.
13878 (grub_target_to_host64): Likewise.
13879 (grub_host_to_target16): Likewise.
13880 (grub_host_to_target32): Likewise.
13881 (grub_host_to_target64): Likewise.
13882 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
13883 (grub_target_to_host32): Likewise.
13884 (grub_target_to_host64): Likewise.
13885 (grub_host_to_target16): Likewise.
13886 (grub_host_to_target32): Likewise.
13887 (grub_host_to_target64): Likewise.
13888
13889 2010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
13890
13891 Source tree is reorganized for emu build.
13892
13893 * include/grub/util/console.h: Move from here...
13894 * include/grub/emu/console.h: ...to here.
13895 * include/grub/util/getroot.h: Move from here...
13896 * include/grub/emu/getroot.h: ...to here.
13897 * include/grub/util/hostdisk.h: Move from here...
13898 * include/grub/emu/hostdisk.h: ...to here.
13899 * util/console.c: Move from here...
13900 * kern/emu/console.c: ...to here.
13901 * util/getroot.c: Move from here...
13902 * kern/emu/getroot.c: ...to here.
13903 * util/grub-emu.c: Move from here...
13904 * kern/emu/main.c: ...to here.
13905 * util/hostdisk.c: Move from here...
13906 * kern/emu/hostdisk.c: ...to here.
13907 * util/hostfs.c: Move from here...
13908 * kern/emu/hostfs.c: ...to here.
13909 * util/mm.c: Move from here...
13910 * kern/emu/mm.c: ...to here.
13911 * util/pci.c: Move from here...
13912 * bus/emu/pci.c: ...to here.
13913 * util/sdl.c: Move from here...
13914 * video/emu/sdl.c: ...to here.
13915 * util/time.c: Move from here...
13916 * kern/emu/time.c: ...to here.
13917 * util/usb.c: Move from here...
13918 * bus/usb/emu/usb.c: ...to here.
13919
13920 * include/grub/emu/misc.h: New header for grub-emu functions.
13921 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
13922
13923 * conf/any-emu.rmk: Rule updates for above renames.
13924 * conf/common.rmk: Likewise.
13925 * conf/i386-pc.rmk: Likewise.
13926 * conf/i386-qemu.rmk: Likewise.
13927 * conf/mips.rmk: Likewise.
13928 * conf/sparc64-ieee1275.rmk: Likewise.
13929 * conf/x86-efi.rmk: Likewise.
13930
13931 * disk/lvm.h: #include updates for above renames.
13932 * util/grub-mkrelpath.c: Likewise.
13933 * util/grub-probe.c: Likewise.
13934 * util/i386/pc/grub-setup.c: Likewise.
13935 * util/sparc64/ieee1275/grub-setup.c: Likewise.
13936 * kern/emu/console.c: Likewise.
13937 * kern/emu/getroot.c: Likewise.
13938 * kern/emu/hostdisk.c: Likewise.
13939 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
13940
13941 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
13942 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
13943 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
13944 * util/misc.c: Remove grub-emu functions.
13945
13946 2010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
13947
13948 Fix gfxmenu crash.
13949 Reported by: Thorsten Grützmacher.
13950
13951 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
13952 timeout hook.
13953 (circprog_set_property): Register and unregister timeout hook.
13954 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
13955 (label_destroy): Free template. and unregister hook.
13956 (label_set_state): New function.
13957 (label_set_property): Handle templates and hooks.
13958 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
13959 timeout hook.
13960 (progress_bar_set_property): Register and unregister timeout hook.
13961 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
13962 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
13963 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
13964 (update_timeout_visit): Removed.
13965 (update_timeouts): New function.
13966 (redraw_timeouts): Likewise.
13967 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
13968 (grub_gfxmenu_clear_timeout): Likewise.
13969 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
13970 (grub_gfxmenu_timeout_notify): Likewise.
13971 (grub_gfxmenu_timeout_notifications): New external variable.
13972 (grub_gfxmenu_timeout_register): New function.
13973 (grub_gfxmenu_timeout_unregister): Likewise.
13974
13975 2010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
13976
13977 Transform (broken) vga terminal into (working) vga video driver.
13978
13979 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
13980 video/i386/pc/vga.c.
13981 * include/grub/video.h (grub_video_driver_id):
13982 Add GRUB_VIDEO_DRIVER_VGA.
13983 * term/i386/pc/vga.c: Renamed to ...
13984 * video/i386/pc/vga.c: ...this
13985 (DEBUG_VGA): Removed.
13986 (CHAR_WIDTH): Likewise.
13987 (CHAR_HEIGHT): Likewise.
13988 (TEXT_WIDTH): Likewise.
13989 (TEXT_HEIGHT): Likewise.
13990 (DEFAULT_FG_COLOR): Likewise.
13991 (DEFAULT_BG_COLOR): Likewise.
13992 (colored_char): Likewise.
13993 (xpos): Likewise.
13994 (ypos): Likewise.
13995 (cursor_state): Likewise.
13996 (fg_color): Likewise.
13997 (bg_color): Likewise.
13998 (text_buf): Likewise.
13999 (page): Likewise.
14000 (font): Likewise.
14001 (framebuffer): New variable.
14002 (set_read_map): Disabled.
14003 (setup): New variable.
14004 (is_target): Likewise.
14005 (grub_vga_mod_init): Likewise.
14006 (grub_vga_mod_fini): Likewise.
14007 (check_vga_mem): Likewise.
14008 (write_char): Likewise.
14009 (write_cursor): Likewise.
14010 (scroll_up): Likewise.
14011 (grub_vga_putchar): Likewise.
14012 (grub_vga_getcharwidth): Likewise.
14013 (grub_vga_getwh): Likewise.
14014 (grub_vga_getxy): Likewise.
14015 (grub_vga_gotoxy): Likewise.
14016 (grub_vga_cls): Likewise.
14017 (grub_vga_setcolorstate): Likewise.
14018 (grub_vga_setcursor): Likewise.
14019 (grub_video_vga_init): New function.
14020 (grub_video_vga_setup): Likewise.
14021 (grub_video_vga_fini): Likewise.
14022 (update_target): Likewise.
14023 (grub_video_vga_blit_bitmap): Likewise.
14024 (grub_video_vga_blit_render_target): Likewise.
14025 (grub_video_vga_set_active_render_target): Likewise.
14026 (grub_video_vga_get_active_render_target): Likewise.
14027 (grub_video_vga_swap_buffers): Likewise.
14028 (grub_video_vga_set_palette): Likewise.
14029 (grub_video_vga_get_info_and_fini): Likewise.
14030 (grub_vga_term): Removed.
14031 (grub_video_vga_adapter): New variable.
14032 (GRUB_MOD_INIT): Register a video driver instead of terminal.
14033 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
14034
14035 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
14036
14037 * video/readers/jpeg.c: Indented.
14038
14039 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
14040
14041 Various jpeg cleanups.
14042
14043 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
14044 (grub_jpeg_decode_quan_table): Use sizeof.
14045 (grub_jpeg_decode_du): Use ARRAY_SIZE.
14046
14047 2010-05-05 Peter Hurley <No e-mail available> (tiny change)
14048
14049 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
14050 tables. Ignore non-last ac bit.
14051 (grub_jpeg_decode_quan_table): Likewise.
14052
14053 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
14054
14055 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
14056 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
14057 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
14058 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
14059 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
14060 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
14061
14062 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
14063
14064 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
14065 error.
14066
14067 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
14068
14069 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
14070
14071 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
14072
14073 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
14074 condition.
14075
14076 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
14077
14078 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
14079 part.
14080
14081 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
14082
14083 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
14084 pointers.
14085
14086 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
14087
14088 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
14089
14090 2010-05-01 Christian Franke <franke@computer.org>
14091
14092 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
14093 Remove broken Cygwin path conversion.
14094 * util/misc.c: [__CYGWIN__] Add include and define.
14095 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
14096 for Cygwin 1.7.
14097 (make_system_path_relative_to_its_root): Simplify loop, replace early
14098 return by break.
14099 [__CYGWIN__] Add conversion to win32 path.
14100 Include "/" case in trailing slash removal.
14101
14102 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14103
14104 * kern/main.c (grub_load_config): Fix copy-pasted comment.
14105 Reported by: Seth Goldberg
14106
14107 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14108
14109 * commands/help.c (grub_cmd_help): Fix a typo.
14110 Reported by: Seth Goldberg
14111
14112 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14113
14114 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
14115 name and add N_.
14116 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
14117 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
14118 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
14119 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
14120 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
14121 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
14122 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
14123 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
14124 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
14125 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
14126 * normal/context.c (GRUB_MOD_INIT): Likewise.
14127 * normal/main.c (GRUB_MOD_INIT): Likewise.
14128 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
14129 * term/serial.c (GRUB_MOD_INIT): Likewise.
14130 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
14131
14132 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14133
14134 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
14135 extra == 0.
14136
14137 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14138
14139 * commands/iorw.c: New file.
14140 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
14141 (iorw_mod_SOURCES): New variable.
14142 (iorw_mod_CFLAGS): Likewise.
14143 (iorw_mod_LDFLAGS): Likewise.
14144
14145 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14146
14147 Hotkey support
14148
14149 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
14150 * normal/main.c (hotkey_aliases): New variable.
14151 (grub_normal_add_menu_entry): Parse "--hotkey".
14152 * normal/menu_text.c (run_menu): Handle hotkeys.
14153
14154 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14155
14156 * kern/i386/coreboot/init.c (grub_machine_init): Call
14157 grub_machine_mmap_init on qemu.
14158
14159 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14160
14161 * boot/i386/qemu/boot.S: Add a missing .code16.
14162
14163 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14164
14165 Use LBIO on coreboot.
14166
14167 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
14168 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
14169 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
14170 New declaration.
14171 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
14172 grub_machine_mmap_init on coreboot.
14173 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
14174 GRUB_LINUXBIOS_MEMBER_LINK.
14175 (grub_machine_mmap_iterate): Fix declaration.
14176 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
14177
14178 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14179
14180 Split coreboot and multiboot ports.
14181
14182 * conf/i386-multiboot.rmk: New file.
14183 * configure.ac: Add multiboot port.
14184 * include/grub/i386/multiboot/boot.h: New file.
14185 * include/grub/i386/multiboot/console.h: Likewise.
14186 * include/grub/i386/multiboot/init.h: Likewise.
14187 * include/grub/i386/multiboot/kernel.h: Likewise.
14188 * include/grub/i386/multiboot/loader.h: Likewise.
14189 * include/grub/i386/multiboot/memory.h: Likewise.
14190 * include/grub/i386/multiboot/serial.h: Likewise.
14191 * include/grub/i386/multiboot/time.h: Likewise.
14192 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
14193 * loader/multiboot.c: Likewise.
14194 * loader/multiboot_mbi2.c: Likewise.
14195 * util/grub-mkrescue.in: Generate multiboot rescue.
14196
14197 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14198
14199 * kern/parser.c (grub_parser_execute): Cope with read-only config.
14200
14201 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14202
14203 Merge handling of input and output terminals. Fix a hang.
14204
14205 * commands/terminal.c (abstract_terminal): New struct.
14206 (handle_command): New function. Based on grub_cmd_terminal_input.
14207 (grub_cmd_terminal_input): Use handle_command.
14208 (grub_cmd_terminal_output): Use handle_command.
14209
14210 2010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
14211
14212 Fix comment handling.
14213
14214 * tests/grub_script_comments.in: New testcase.
14215 * conf/tests.rmk: Rules for new testcase.
14216 * script/yylex.l: Updated flex rules.
14217
14218 2010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
14219
14220 * docs/grub.texi (play): Document that zero pitches produce rests.
14221 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
14222 if argc is 1.
14223
14224 2010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
14225
14226 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
14227 autogen issues.
14228
14229 2010-04-26 Christian Franke <franke@computer.org>
14230
14231 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
14232 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
14233 (grub_get_prefix): Remove function.
14234 * util/grub-emu.c (main): Replace grub_get_prefix () call by
14235 make_system_path_relative_to_its_root ().
14236 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
14237
14238 2010-04-24 Christian Franke <franke@computer.org>
14239
14240 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
14241 (kernel_img_LDFLAGS): Remove -static-libgcc.
14242
14243 2010-04-24 Christian Franke <franke@computer.org>
14244
14245 * configure.ac: Do not CHECK_BSS_START_SYMBOL
14246 and CHECK_END_SYMBOL if grub-emu is built.
14247 Unset TARGET_OBJ2ELF if grub-emu is built
14248 without module support.
14249
14250 2010-04-24 Jiro SEKIBA <jir@unicus.jp>
14251
14252 Nilfs2 support.
14253
14254 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
14255 (grub_fstest_SOURCES): Likewise.
14256 (pkglib_MODULES): Add nilfs2.mod.
14257 (nilfs2_mod_SOURCES): New variable.
14258 (nilfs2_mod_CFLAGS): Likewise.
14259 (nilfs2_mod_LDFLAGS): Likewise.
14260 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
14261 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
14262 * fs/nilfs2.c: New file.
14263
14264 2010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
14265
14266 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
14267 is not supported.
14268
14269 2010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
14270
14271 Add grub-mkconfig support for NetBSD.
14272
14273 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
14274 * util/grub-mkconfig.in: export new NetBSD specific variables.
14275 * po/POTFILES-shell: added 10_netbsd.in.
14276 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
14277
14278 2010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
14279
14280 Fix emu build with grub-emu-pci and grub-emu-modules.
14281
14282 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
14283 functions.
14284 * include/grub/libpciaccess.h: New file.
14285 * conf/any-emu.rmk: Update kernel headers for emu build.
14286
14287 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
14288
14289 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
14290
14291 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
14292
14293 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
14294
14295 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
14296
14297 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
14298 Retrieve chosen/bootpath if bootpath isn't hardcoded.
14299 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
14300 util/ieee1275/ofpath.c.
14301 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
14302 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
14303 * include/grub/sparc64/ieee1275/boot.h
14304 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
14305 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
14306 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
14307 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
14308 const char *.
14309 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
14310 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
14311 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
14312 install.
14313
14314 2010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
14315
14316 * util/grub-mkconfig.in: Corrected two == equality tests.
14317 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
14318 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
14319 expect a number appended to it.
14320 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
14321 expects a number appended to it.
14322
14323 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
14324
14325 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
14326
14327 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
14328
14329 * util/hostdisk.c (make_device_name): Change to new partition naming.
14330
14331 2010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
14332
14333 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
14334
14335 2010-04-17 Christian Franke <franke@computer.org>
14336
14337 * Makefile.in: Add missing localedir setting.
14338
14339 2010-04-14 Colin Watson <cjwatson@ubuntu.com>
14340
14341 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
14342 mistake in r2156. Noticed by Anthony Fok.
14343
14344 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
14345 @localedir@.
14346 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
14347
14348 2010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
14349
14350 Fix a spurious, uninitialized variable warning.
14351
14352 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
14353 Initialize variable, shdr.
14354 (grub_freebsd_load_elfmodule): Likewise.
14355 (grub_freebsd_load_elf_meta): Likewise.
14356
14357 2010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
14358
14359 Fix for escaped dollar in double quoted strings.
14360
14361 * script/yylex.l: Updated flex rules.
14362 * conf/tests.rmk: Rule for new testcase.
14363 * tests/grub_script_dollar.in: New testcase.
14364
14365 2010-04-13 Carles Pina i Estany <carles@pina.cat>
14366 2010-04-13 Colin Watson <cjwatson@ubuntu.com>
14367
14368 Enclose all translated strings in grub.cfg in single quotes, and
14369 escape them appropriately (Ubuntu bug #552921).
14370
14371 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
14372 * util/grub.d/10_hurd.in: Use it.
14373 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
14374 * util/grub.d/10_linux.in (linux_entry): Likewise.
14375
14376 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
14377
14378 Fix cygwin compilation.
14379
14380 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
14381 * include/grub/misc.h (__register_frame_info)
14382 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
14383 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
14384 * kern/misc.c (__register_frame_info)
14385 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
14386 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
14387
14388 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
14389
14390 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
14391
14392 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
14393
14394 Unify libgcc processing.
14395
14396 * Makefile.in (kernel_img_LDFLAGS): New variable.
14397 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
14398 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
14399 overwriting.
14400 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
14401 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
14402 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
14403 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
14404 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
14405 overwriting. Remove -lgcc and -static-libgcc
14406 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
14407 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
14408 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
14409 (kernel_img_LDFLAGS): Append instead of overwriting.
14410 Remove -lgcc and -static-libgcc
14411 * conf/sparc64-ieee1275.rmk: Likewise.
14412 * include/grub/powerpc/libgcc.h: Move to ...
14413 * include/grub/libgcc.h: .. this.
14414 * include/grub/libgcc.h: Don't export most of the function on x86.
14415 (__bswapsi2): New export.
14416 (__bswapdi2): Likewise.
14417 * include/grub/mips/libgcc.h: Removed.
14418 * include/grub/sparc64/libgcc.h: Likewise.
14419
14420 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
14421
14422 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
14423 disk_info_msg (conflicts with gettexting into languages with cases).
14424
14425 2010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
14426
14427 Add grub-probe support for NetBSD.
14428
14429 * util/getroot.c (find_root_device): Convert block device to
14430 character device on NetBSD.
14431 * util/probe.c (probe): Require character device on NetBSD.
14432 * util/hostdisk.c: NetBSD specific headers.
14433 (configure_device_driver): new function to tune device driver
14434 parameters (currently only for NetBSD floppy driver).
14435 (grub_util_biosdisk_open): NetBSD specific code (get disk size
14436 via disklabel ioctl).
14437 (open_device): call configure_device_driver on NetBSD.
14438 (convert_system_partition_to_system_disk): NetBSD specific code.
14439 (device_is_wholedisk): Likewise.
14440 (grub_util_biosdisk_get_grub_dev): Likewise.
14441 (make_device_name): Fixed a typo in bsd_part_str.
14442 * configure.ac: check for opendisk() and getrawpartition() on
14443 NetBSD and set LIBUTIL.
14444 * Makefile.in: add LIBUTIL to LIBS.
14445
14446 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
14447
14448 Documentation fix.
14449
14450 * util/grub-script-check.c: Better help message.
14451
14452 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
14453
14454 Fix FreeBSD build.
14455
14456 * configure.ac: Flex version check.
14457 * conf/common.rmk: Add -Wno-error to sh.mod.
14458 * script/yylex.l: Remove all #pragma.
14459
14460 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
14461
14462 * include/grub/util/misc.h (canonicalise_file_name): Add missing
14463 prototype.
14464 Reported by: Seth Goldberg.
14465
14466 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
14467
14468 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
14469 Rename "module" to "module2".
14470 Reported by: Seth Goldberg.
14471
14472 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
14473
14474 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
14475 EXPORT_FUNC.
14476 Reported by: Seth Goldberg.
14477
14478 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
14479
14480 * lib/posix_wrap/locale.h: Add missing file.
14481 Reported by: Seth Goldberg.
14482
14483 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
14484
14485 grub-emu module load support.
14486
14487 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
14488 NO_DYNAMIC_MODULES switched to this.
14489 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
14490 (CFLAGS): Likewise.
14491 * conf/any-emu.rmk: Generate symlist.
14492 (kernel_img_HEADERS): Add util/datetime.h.
14493 (kernel_img_HEADERS) [sdl]: Add sdl.h.
14494 (kernel_img_HEADERS) [libusb]: Add libusb.h.
14495 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
14496 kern/$(target_cpu)/cache.S.
14497 * configure.ac (grub-emu-modules): New option.
14498 * genmk.rb: Handle multiple source lists.
14499 * include/grub/sdl.h: New file.
14500 * include/grub/libusb.h: Likewise.
14501 * util/grub-emu.c (main): Hanle (host) root.
14502 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
14503 GRUB_ERR_UNKNOWN_DEVICE.
14504 * util/misc.c: Move mm functions to ...
14505 * util/mm.c: ... here. All users updated.
14506
14507 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
14508
14509 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
14510 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
14511 missing files.
14512 (maintainer-clean): Remove libgcrypt-grub.
14513
14514 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
14515
14516 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
14517
14518 2010-04-09 EFI Coder <eficoder@hotmail.com>
14519
14520 * normal/menu_text.c (print_message): Clean up the message and show
14521 the Fn information when on EFI
14522 * term/efi/console.c (grub_console_checkkey): Add F4 support.
14523
14524 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
14525
14526 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
14527 All users updated.
14528 * normal/crypto.c (read_crypto_list): Likewise.
14529 * normal/dyncmd.c (read_command_list): Likewise.
14530 * normal/term.c (read_terminal_list): Likewise.
14531 * normal/main.c (read_lists): Use explicit prefix.
14532 (read_lists_hook): Use read_lists.
14533 (grub_normal_execute): Likewise.
14534
14535 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
14536
14537 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
14538 Reported by: Thomas Schmitt.
14539 Add -no-emul-boot to grub-mkisofs parameters.
14540
14541 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
14542
14543 * font/font.c: Indented.
14544
14545 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
14546
14547 Elif support to GRUB script (by Deepak Vankadaru).
14548
14549 * tests/grub_script_if.in: New testcase.
14550 * conf/tests.rmk: Rule for new testcase.
14551 * script/parser.y: Grammar rules for elif.
14552
14553 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
14554
14555 While and until loops support to GRUB script.
14556
14557 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
14558 (grub_script_create_cmdwhile): New function prototype.
14559 (grub_script_execute_cmdwhile): New function prototype.
14560 * script/execute.c (grub_script_execute_cmdwhile): New function.
14561 * script/parser.y (command): New commands.
14562 (whilecmd): New grammar rule.
14563 (untilcmd): New grammar rule.
14564 * script/script.c (grub_script_create_cmdwhile): New function.
14565 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
14566 function.
14567
14568 * tests/grub_script_while1.in: New testcase.
14569 * conf/tests.rmk: Rule for new testcase.
14570
14571 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
14572
14573 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
14574 as *.jpg.
14575
14576 2010-04-09 Mario Vazquez <mariovazq@gmail.com>
14577
14578 GRUB_BACKGROUND support.
14579
14580 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
14581 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
14582
14583 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
14584
14585 Load fonts and modules for gfxmenu in grub-mkconfig.
14586 Idea by: Mario Vazquez
14587
14588 * util/grub.d/00_header.in: Load pf2 and image modules.
14589
14590 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
14591
14592 grub-mkconfig multiple terminal support.
14593
14594 * util/grub-mkconfig.in: Handle multiple terminals correctly.
14595 * util/grub.d/00_header.in: Likewise.
14596
14597 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
14598
14599 * Makefile.in: Specify files explicitly instead of using $< and $@ since
14600 we use cd $(srcdir).
14601
14602 2010-04-08 Colin Watson <cjwatson@ubuntu.com>
14603
14604 * util/grub.d/10_linux.in: Only use the first word of
14605 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
14606 spaces in GRUB_DISTRIBUTOR.
14607 * util/grub.d/10_kfreebsd.in: Likewise.
14608 * util/grub.d/10_hurd.in: Likewise.
14609
14610 2010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
14611
14612 Fix unit testing framework for Qemu 0.12.
14613
14614 * tests/util/grub-shell.in: Remove -serial stdio option.
14615
14616 2010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
14617
14618 POSIX header file wrappers.
14619
14620 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
14621 equivalents.
14622 * lib/posix_wrap/ctype.h: Likewise.
14623 * lib/posix_wrap/errno.h: Likewise.
14624 * lib/posix_wrap/langinfo.h: Likewise.
14625 * lib/posix_wrap/limits.h: Likewise.
14626 * lib/posix_wrap/localcharset.h: Likewise.
14627 * lib/posix_wrap/stdint.h: Likewise.
14628 * lib/posix_wrap/stdio.h: Likewise.
14629 * lib/posix_wrap/stdlib.h: Likewise.
14630 * lib/posix_wrap/string.h: Likewise.
14631 * lib/posix_wrap/sys/types.h: Likewise.
14632 * lib/posix_wrap/unistd.h: Likewise.
14633 * lib/posix_wrap/wchar.h: Likewise.
14634 * lib/posix_wrap/wctype.h: Likewise.
14635 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
14636 (grub_script.yy.h): Likewise.
14637 * script/yylex.l: Remove POSIX emulation #defines.
14638 * Makefile.in (POSIX_CFLAGS): New variable.
14639 (GNULIB_UTIL_CFLAGS): Likewise.
14640
14641 Regexp support.
14642
14643 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
14644 (regexp_mod_SOURCES): New variable.
14645 (regexp_mod_CFLAGS): Likewise.
14646 (regexp_mod_LDFLAGS): Likewise.
14647 * commands/regexp.c: New file.
14648 * gnulib/regcomp.c: New file. Imported from gnulib.
14649 * gnulib/regex.c: Likewise.
14650 * gnulib/regex_internal.c: Likewise.
14651 * gnulib/regex_internal.h: Likewise.
14652 * gnulib/regexec.c: Likewise.
14653 * gnulib/regex.h: Likewise.
14654
14655 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
14656
14657 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
14658 unsupported video mode types.
14659
14660 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
14661
14662 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
14663
14664 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
14665
14666 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
14667 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
14668
14669 2010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
14670
14671 Remove unused grub_vga_get_font.
14672
14673 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
14674 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
14675
14676 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
14677
14678 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
14679 * include/grub/misc.h: Likewise.
14680
14681 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
14682
14683 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
14684 for which failure is fatal.
14685
14686 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
14687
14688 * util/grub-install.in: Use mkdir -p to create grub directory.
14689 * util/i386/efi/grub-install.in: Likewise.
14690 * util/ieee1275/grub-install.in: Likewise.
14691
14692 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
14693
14694 * Makefile.in (LEX): new variable.
14695
14696 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
14697
14698 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
14699 `=' and added double quotes on operands of this equality test.
14700
14701 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
14702
14703 * Makefile.in (uninstall): Remove a leftover debug echo.
14704 Reported by: Grégoire Sutre
14705
14706 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
14707
14708 MIPS multiboot2 support.
14709
14710 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
14711 (multiboot2_mod_SOURCES): New variable.
14712 (multiboot2_mod_CFLAGS): Likewise.
14713 (multiboot2_mod_LDFLAGS): Likewise.
14714 (multiboot2_mod_ASFLAGS): Likewise.
14715 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
14716 definition.
14717 (MULTIBOOT_ENTRY_REGISTER): Likewise.
14718 (MULTIBOOT_MBI_REGISTER): Likewise.
14719 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
14720 (MULTIBOOT_ELF32_MACHINE): Likewise.
14721 (MULTIBOOT_ELF64_MACHINE): Likewise.
14722 * include/grub/mips/multiboot.h: New file.
14723 * include/grub/video.h (grub_video_driver_id): New type
14724 GRUB_VIDEO_DRIVER_SM712.
14725 (grub_video_get_info_and_fini): Export.
14726 (grub_video_get_palette): Likewise.
14727 (grub_video_get_driver_id): Likewise.
14728 * include/multiboot2.h: Resynced with spec.
14729 * loader/i386/multiboot.c: Moved from here ...
14730 * loader/multiboot.c: ... here. All users updated.
14731 (grub_multiboot_boot): Use platform-specific macros.
14732 * loader/i386/multiboot_elfxx.c: Moved from here ...
14733 * loader/multiboot_elfxx.c: ... here. All users updated.
14734 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
14735 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
14736 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
14737
14738 2010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
14739
14740 Import gnulib argp module.
14741
14742 * gnulib/argp-ba.c: New file.
14743 * gnulib/argp-eexst.c: Likewise.
14744 * gnulib/argp-fmtstream.c: Likewise.
14745 * gnulib/argp-fmtstream.h: Likewise.
14746 * gnulib/argp-fs-xinl.c: Likewise.
14747 * gnulib/argp-help.c: Likewise.
14748 * gnulib/argp-namefrob.h: Likewise.
14749 * gnulib/argp-parse.c: Likewise.
14750 * gnulib/argp-pin.c: Likewise.
14751 * gnulib/argp-pv.c: Likewise.
14752 * gnulib/argp-pvh.c: Likewise.
14753 * gnulib/argp-version-etc.c: Likewise.
14754 * gnulib/argp-version-etc.h: Likewise.
14755 * gnulib/argp-xinl.c: Likewise.
14756 * gnulib/argp.h: Likewise.
14757
14758 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
14759
14760 * kern/device.c (grub_device_iterate): Clear errors after failed
14761 opening device.
14762
14763 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
14764
14765 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
14766 returned by firmware.
14767
14768 2010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
14769
14770 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
14771 compilation on coreboot and qemu
14772
14773 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
14774
14775 * include/multiboot2.h: Resync with spec.
14776
14777 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
14778
14779 Multiboot2 tag support
14780
14781 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
14782 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
14783 Remove loader/multiboot_loader.c.
14784 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
14785 (grub_multiboot2_real_boot): Likewise.
14786 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
14787 (grub_get_multiboot_mmap_count): New proto.
14788 (grub_fill_multiboot_mmap): Likewise.
14789 (grub_multiboot_set_video_mode): Likewise.
14790 (grub_multiboot_set_console): Likewise.
14791 (grub_multiboot_load): Likewise.
14792 (grub_multiboot_load_elf): Likewise.
14793 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
14794 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
14795 * include/multiboot.h: Resynced with specification.
14796 * include/multiboot2.h: Resynced with specification.
14797 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
14798 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
14799 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
14800 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
14801 users updated.
14802 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
14803 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
14804 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
14805 Removed.
14806 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
14807 Moved from here...
14808 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
14809 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
14810 Moved from here...
14811 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
14812 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
14813 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
14814 All users updated.
14815 * loader/i386/multiboot_mbi2.c: New file.
14816
14817 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
14818
14819 Resync with gnulib.
14820
14821 * Makefile.in (GNULIB_CFLAGS): New variable.
14822 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
14823 (grub_script_check_CFLAGS): New variable.
14824 * gnulib/alloca.h: Resync with gnulib.
14825 * gnulib/error.c: Likewise.
14826 * gnulib/error.h: Likewise.
14827 * gnulib/fnmatch.c: Likewise.
14828 * gnulib/fnmatch_loop.c: Likewise.
14829 * gnulib/getdelim.c: Likewise.
14830 * gnulib/getline.c: Likewise.
14831 * gnulib/getopt.c: Likewise.
14832 * gnulib/getopt1.c: Likewise.
14833 * gnulib/getopt_int.h: Likewise.
14834 * gnulib/gettext.h: Likewise.
14835 * gnulib/progname.c: Likewise.
14836 * gnulib/progname.h: Likewise.
14837
14838 2010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
14839
14840 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
14841 which is the case with --disabled-nls.
14842
14843 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
14844 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
14845 * util/misc.c: Likewise.
14846 * util/mkisofs/mkisofs.c: Likewise.
14847 * util/mkisofs/mkisofs.h: Likewise.
14848
14849 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
14850
14851 Simplify Apple CC support.
14852
14853 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
14854 Add 0 byte at the end not to have a symbol with empty target.
14855 * mmap/i386/pc/mmap_helper.S: Likewise.
14856 * genmk.rb: Ignore errors 2030 and 2050.
14857 * kern/i386/pc/startup.S: Use LOCAL when possible.
14858
14859 2010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
14860
14861 Testcase and the fix for final semicolon on cmdline.
14862
14863 * tests/grub_script_final_semicolon.in: New testcase.
14864 * conf/tests.rmk: Rules for the new testcase.
14865 * script/parser.y: Grammar fix.
14866
14867 2010-03-26 BVK Chaitanya <bvk@localhost>
14868
14869 Blank lines testcase for GRUB script.
14870
14871 * tests/grub_script_blanklines.in: New testcase.
14872 * conf/tests.rmk: Rules for the new testcase.
14873
14874 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
14875
14876 Don't use __FILE__.
14877
14878 * genmk.rb: Add -DGRUB_FILE to all C targets.
14879 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
14880 * include/grub/list.h: Likewise.
14881 * include/grub/misc.h: Likewise.
14882 * include/grub/mm.h: Likewise.
14883 * include/grub/test.h: Likewise.
14884 * kern/mm.c: Likewise.
14885 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
14886
14887 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
14888
14889 Sunpc partitions support.
14890
14891 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
14892 (grub_fstest_SOURCES): Likewise.
14893 (pkglib_MODULES): Add part_sunpc.mod.
14894 (part_sunpc_mod_SOURCES): New variable.
14895 (part_sunpc_mod_CFLAGS): Likewise.
14896 (part_sunpc_mod_LDFLAGS): Likewise.
14897 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
14898 * partmap/sunpc.c: New file.
14899
14900 2010-03-26 BVK Chaitanya <bvk@localhost>
14901
14902 For loop support to GRUB script.
14903
14904 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
14905 (grub_script_create_cmdfor): New function prototype.
14906 (grub_script_execute_cmdfor): New function prototype.
14907 * script/execute.c (grub_script_execute_cmdfor): New function.
14908 * script/parser.y (command): New for command.
14909 (forcmd): New grammar rule.
14910 * script/script.c (grub_script_create_cmdfor): New function.
14911 * util/grub-script-check.c (grub_script_execute_cmdfor): New
14912 function.
14913 * tests/grub_script_for1.in: New testcase.
14914 * conf/tests.rmk: Rules for new testcase.
14915
14916 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
14917
14918 Nested partitions
14919
14920 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
14921 'partition' is NULL, grub_partition_get_start already does that.
14922 * commands/loadenv.c (check_blocklists): Likewise.
14923 (write_blocklists): Likewise.
14924 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
14925 (grub_fstest_SOURCES): Likewise.
14926 (pkglib_MODULES): Add part_bsd.mod.
14927 (part_bsd_mod_SOURCES): New variable.
14928 (part_bsd_mod_CFLAGS): Likewise.
14929 (part_bsd_mod_LDFLAGS): Likewise.
14930 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
14931 (grub_emu_SOURCES): Likewise.
14932 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14933 * include/grub/bsdlabel.h: New file.
14934 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
14935 'get_name'.
14936 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
14937 (grub_partition_map_list): New variable.
14938 (grub_partition_map_register): Inline.
14939 (grub_partition_map_unregister): Likewise.
14940 (FOR_PARTITION_MAPS): New macro.
14941 (grub_partition_map_iterate): Removed.
14942 (grub_partition_get_start): Handle nested partitions.
14943 * include/grub/msdos_partition.h: Remove bsd-related entries.
14944 (grub_pc_partition): Remove.
14945 * kern/disk.c (grub_disk_close): Free partition data.
14946 (grub_disk_adjust_range): Handle nested partitions.
14947 * kern/partition.c (grub_partition_map_probe): New function.
14948 (grub_partition_probe): Parse name to number, handle subpartitions.
14949 (get_partmap): New function.
14950 (grub_partition_iterate): Handle subpartitions.
14951 (grub_partition_get_name): Likewise.
14952 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
14953 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
14954 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
14955 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
14956 Set 'number'.
14957 (acorn_partition_map_probe): Remove.
14958 (acorn_partition_map_get_name): Likewise.
14959 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
14960 Set 'number'.
14961 Set 'index' to 0 since there can be only one partition entry per sector.
14962 (amiga_partition_map_probe): Remove.
14963 (amiga_partition_map_get_name): Likewise.
14964 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
14965 Set 'number'.
14966 Set 'offset' and 'index' to real positions of partitions.
14967 (apple_partition_map_probe): Remove.
14968 (apple_partition_map_get_name): Likewise.
14969 * partmap/bsdlabel.c: New file.
14970 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
14971 Set 'number'.
14972 Allocate 'data' so it can be correctly freed.
14973 Set 'index' to offset inside sector.
14974 (gpt_partition_map_probe): Remove.
14975 (gpt_partition_map_get_name): Likewise.
14976 * partmap/msdos.c (grub_partition_parse): Remove.
14977 (pc_partition_map_iterate): Don't force raw access.
14978 Set 'number'.
14979 Make 'ext_offset' a local variable.
14980 (pc_partition_map_probe): Remove.
14981 (pc_partition_map_get_name): Remove.
14982 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
14983 Set 'number'.
14984 (sun_partition_map_probe): Remove.
14985 (sun_partition_map_get_name): Likewise.
14986 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
14987 (grub_pcpart_type): Likewise.
14988 * util/hostdisk.c (open_device): Handle new numbering scheme.
14989 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
14990 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
14991 * util/grub-probe.c (probe_partmap): Handle nested paritions.
14992 * util/grub-install.in: Insert all subpartition modules.
14993 * util/ieee1275/grub-install.in: Likewise.
14994
14995 2010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
14996
14997 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
14998 grammar.
14999
15000 2010-03-24 Colin Watson <cjwatson@ubuntu.com>
15001
15002 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
15003
15004 2010-03-21 Colin Watson <cjwatson@ubuntu.com>
15005
15006 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
15007 match where 'make install' puts them.
15008 * util/i386/efi/grub-install.in: Likewise.
15009
15010 2010-03-19 Colin Watson <cjwatson@ubuntu.com>
15011
15012 * .bzrignore: Add gentrigtables, grub-script-check,
15013 grub_script_check_init.c, grub_script_check_init.h, and
15014 trigtables.c.
15015
15016 2010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
15017
15018 * kern/parser.c: Indented.
15019
15020 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
15021
15022 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
15023
15024 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
15025
15026 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
15027 alpha_mask_size == 0 case.
15028
15029 2010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
15030
15031 GRUB shell lexer and parser improvements.
15032
15033 * conf/any-emu.rmk: Build rule updates.
15034 * conf/common.rmk: Likewise.
15035 * conf/i386-coreboot.rmk: Likewise.
15036 * conf/i386-efi.rmk: Likewise.
15037 * conf/i386-ieee1275.rmk: Likewise.
15038 * conf/i386-pc.rmk: Likewise.
15039 * conf/powerpc-ieee1275.rmk: Likewise.
15040 * conf/x86_64-efi.rmk: Likewise.
15041
15042 * configure.ac: Configure check for flex.
15043
15044 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
15045 types.
15046 (grub_lexer_param): Struct member updates.
15047 (grub_parser_param): Likewise.
15048 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
15049 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
15050 (grub_script_lexer_init): Prototype update.
15051 (grub_script_lexer_record_start): Likewise.
15052 (grub_script_lexer_record_stop): Likewise.
15053 (grub_script_lexer_yywrap): New function prototype.
15054 (grub_script_lexer_fini): Likewise.
15055 (grub_script_execute_argument_to_string): Removed by...
15056 (grub_script_execute_argument_to_argv): ...better version.
15057
15058 * script/execute.c (ROUND_UPTO): New macro.
15059 (grub_script_execute_cmdline): Out of memory fixes.
15060 (grub_script_execute_menuentry): Likewise.
15061 (grub_script_execute_argument_to_string): Removed. Update all
15062 users by...
15063 (grub_script_execute_argument_to_argv): ...better version.
15064 * script/function.c (grub_script_function_create): Use
15065 grub_script_execute_argument_to_argv instead of
15066 grub_script_execute_argument_to_string.
15067
15068 * script/lexer.c (check_varstate): Removed.
15069 (check_textstate): Removed.
15070 (grub_script_lexer_record_start): Likewise.
15071 (grub_script_lexer_record_stop): Likewise.
15072 (recordchar): Replaced with...
15073 (grub_script_lexer_record): ...new function.
15074 (nextchar): Removed.
15075 (grub_script_lexer_init): Rewritten.
15076 (grub_script_yylex): Rewritten.
15077 (append_newline): New function.
15078 (grub_script_lexer_yywrap): New function.
15079 (grub_script_lexer_fini): New function.
15080 (grub_script_yyerror): Sets error flag.
15081
15082 * script/yylex.l: New file.
15083 (grub_lexer_yyfree): Wrapper for flex yyffre.
15084 (grub_lexer_yyalloc): Likewise.
15085 (grub_lexer_yyrealloc): Likewise.
15086 * script/parser.y: Refactored.
15087
15088 * script/script.c (grub_script_arg_add): Out of memory fixes.
15089 (grub_script_add_arglist): Likewise.
15090 (grub_script_create_cmdline): Likewise.
15091 (grub_script_create_cmdmenu): Likewise.
15092 (grub_script_add_cmd): Likewise.
15093 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
15094 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
15095 unnecessary code.
15096
15097 * tests/grub_script_echo1.in: New testcase.
15098 * tests/grub_script_vars1.in: New testcase.
15099 * tests/grub_script_echo_keywords.in: New testcase.
15100
15101 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
15102
15103 Remove some redundancy in build system.
15104
15105 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
15106 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
15107 (TARGET_LDFLAGS): Add -nostdlib.
15108 (TARGET_IMG_LDFLAGS): Likewise.
15109 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
15110 anything since mmap isn't available.
15111 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
15112 Add util/time.c.
15113 (pkglib_MODULES): Remove reboot.mod.
15114 (reboot_mod_SOURCES): Removed.
15115 (reboot_mod_CFLAGS): Likewise.
15116 (reboot_mod_LDFLAGS): Likewise.
15117 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
15118 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
15119 (DEFSYMFILES): Add kernel_syms.lst.
15120 (kernel_img_HEADERS): Add common headers.
15121 (symlist.c): New target.
15122 (kernel_syms.lst): Likewise.
15123 (pkglib_MODULES): Add memdisk.mod.
15124 (memdisk_mod_SOURCES): New variable.
15125 (memdisk_mod_CFLAGS): Likewise.
15126 (memdisk_mod_LDFLAGS): Likewise.
15127 (pkglib_MODULES): Add reboot.mod.
15128 (reboot_mod_SOURCES): New variable.
15129 (reboot_mod_CFLAGS): Likewise.
15130 (reboot_mod_LDFLAGS): Likewise.
15131 (pkglib_MODULES): Add date.mod.
15132 (date_mod_SOURCES): New variable.
15133 (date_mod_CFLAGS): Likewise.
15134 (date_mod_LDFLAGS): Likewise.
15135 (pkglib_MODULES): Add datehook.mod.
15136 (datehook_mod_SOURCES): New variable.
15137 (datehook_mod_CFLAGS): Likewise.
15138 (datehook_mod_LDFLAGS): Likewise.
15139 (pkglib_MODULES): Add lsmmap.mod.
15140 (lsmmap_mod_SOURCES): New variable.
15141 (lsmmap_mod_CFLAGS): Likewise.
15142 (lsmmap_mod_LDFLAGS): Likewise.
15143 (pkglib_MODULES): Add boot.mod.
15144 (boot_mod_SOURCES): New variable.
15145 (boot_mod_CFLAGS): Likewise.
15146 (boot_mod_LDFLAGS): Likewise.
15147 * conf/i386-coreboot.rmk: Removed redundant parts.
15148 * conf/i386-ieee1275.rmk: Likewise.
15149 * conf/i386-pc.rmk: Likewise.
15150 * conf/mips-yeeloong.rmk: Likewise.
15151 * conf/mips.rmk: Likewise.
15152 * conf/powerpc-ieee1275.rmk: Likewise.
15153 * conf/sparc64-ieee1275.rmk: Likewise.
15154 * conf/x86_64-efi.rmk: Likewise.
15155 * conf/i386-coreboot.rmk: Moved qemu parts ..
15156 * conf/i386-qemu.rmk: ... here
15157 * conf/i386-efi.rmk: Moved common parts to...
15158 * conf/x86-efi.rmk: ... here.
15159 * conf/i386.rmk: Added modules common to all x86 variants.
15160 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
15161 * disk/memdisk.c: Remove grub/machine/kernel.h.
15162 * gensymlist.sh.in: Include symbol.h.
15163 * hook/datehook.c: Correct module name.
15164 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
15165 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
15166 * include/grub/i386/efi/serial.h: New file.
15167 * include/grub/x86_64/efi/serial.h: Likewise.
15168 * util/time.c: Likewise.
15169 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
15170
15171 2010-03-14 Colin King <colin.king@ubuntu.com>
15172 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
15173
15174 Shrink the pre-partition-table part of boot.img by eight bytes.
15175
15176 * boot/i386/pc/boot.S (ERR): New macro.
15177 (chs_mode): Use ERR.
15178 (geometry_error): Likewise.
15179 (hd_probe_error): Remove. This is only used once, so we wrwite
15180 it inline instead.
15181 (read_error): Instead of printing read_error_string, just set up
15182 %si and fall through to ...
15183 (error_message): ... this new function, also used by ERR.
15184
15185 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
15186
15187 Speed up consecutive hostdisk operations on the same device.
15188
15189 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
15190 (grub_util_biosdisk_open): Initialise disk->data.
15191 (struct linux_partition_cache): New structure.
15192 (linux_find_partition): Cache partition start positions; these are
15193 expensive to compute on every read and write.
15194 (open_device): Cache open file descriptor in disk->data, so that we
15195 don't have to reopen it and flush the buffer cache for consecutive
15196 operations on the same device.
15197 (grub_util_biosdisk_close): New function.
15198 (grub_util_biosdisk_dev): Set `close' member.
15199
15200 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
15201 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
15202 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
15203 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
15204 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
15205
15206 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
15207
15208 Compile parts of grub-emu as modules.
15209
15210 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
15211 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
15212 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
15213 (all-local): Add $(GRUB_EMU).
15214 (install-local): Install $(GRUB_EMU).
15215 (uninstall): Uninstall $(GRUB_EMU).
15216 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
15217 * kern/dl.c: Likewise.
15218 * commands/sleep.c: Not include machine/time.h.
15219 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
15220 (COMMON_CFLAGS): Likewise.
15221 (sbin_UTILITIES): Remove grub-emu.
15222 (grub_emu_SOURCES): Removed.
15223 (kernel_img_RELOCATABLE): New variable.
15224 (pkglib_PROGRAMS): Add kernel.img.
15225 (kernel_img_SOURCES): New variable
15226 (kernel_img_CFLAGS): Likewise.
15227 (kernel_img_LDFLAGS): Likewise.
15228 (TARGET_NO_STRIP): Likewise.
15229 (TARGET_NO_DYNAMIC_MODULES): Likewise.
15230 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
15231 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
15232 (grub-emu): New target.
15233 (GRUB_EMU): New variable.
15234 * configure.ac: Whitelist -emu as possible x86_64 architecture.
15235 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
15236 * loader/xnu.c: Likewise.
15237 * include/grub/pci.h: Likewise.
15238 * genemuinit.sh: New file.
15239 * genemuinitheader.sh: Likewise.
15240 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
15241 Support TARGET_NO_DYNAMIC_MODULES.
15242 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
15243 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
15244 * disk/loopback.c: Likewise.
15245 * font/font_cmd.c: Likewise.
15246 * partmap/acorn.c: Likewise.
15247 * partmap/amiga.c: Likewise.
15248 * partmap/apple.c: Likewise.
15249 * partmap/gpt.c: Likewise.
15250 * partmap/msdos.c: Likewise.
15251 * partmap/sun.c: Likewise.
15252 * parttool/msdospart.c: Likewise.
15253 * term/gfxterm.c: Likewise.
15254 * video/bitmap.c: Likewise.
15255 * video/readers/jpeg.c: Likewise.
15256 * video/readers/png.c: Likewise.
15257 * video/readers/tga.c: Likewise.
15258 * video/video.c: Likewise.
15259 * util/grub-emu.c (read_command_list): Removed.
15260 (main): Don't call util_init_nls.
15261 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
15262 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
15263
15264 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
15265
15266 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
15267 date.mod, datehook.mod.
15268 (datetime_mod_SOURCES): New variable.
15269 (datetime_mod_CFLAGS): Likewise.
15270 (datetime_mod_LDFLAGS): Likewise.
15271 (date_mod_SOURCES): Likewise.
15272 (date_mod_CFLAGS): Likewise.
15273 (date_mod_LDFLAGS): Likewise.
15274 (datehook_mod_SOURCES): Likewise.
15275 (datehook_mod_CFLAGS): Likewise.
15276 (datehook_mod_LDFLAGS): Likewise.
15277 * conf/sparc64-ieee1275.rmk: Likewise.
15278 * lib/ieee1275/datetime.c: New file.
15279
15280 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
15281
15282 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
15283 (ieee1275_fb_mod_SOURCES): New variable.
15284 (ieee1275_fb_mod_CFLAGS): Likewise.
15285 (ieee1275_fb_mod_LDFLAGS): Likewise.
15286 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
15287 New proto.
15288 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
15289 (HEAP_MAX_ADDR): Likewise.
15290 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
15291 type.
15292 Correct stop condition.
15293 (grub_ieee1275_devices_iterate): New function.
15294 * video/ieee1275.c: New file.
15295
15296 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
15297
15298 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
15299
15300 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
15301 as scratch.
15302 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
15303 SCRATCH_PAD_DISKBOOT as scratch.
15304 (bootit): Pass Openfirmware pointer in %o4.
15305 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
15306 of 0x200000.
15307 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
15308 with util/grub-mkrawimage.c.
15309 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
15310 * include/grub/aout.h (AOUT_MID_SUN): New definition.
15311 (grub_aout_get_type) [GRUB_UTIL]: Removed.
15312 (grub_aout_load) [GRUB_UTIL]: Likewise.
15313 * include/grub/kernel.h (grub_modules_get_end): New proto.
15314 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
15315 (SCRATCH_PAD_BOOT): New definition.
15316 (SCRATCH_PAD_DISKBOOT): Likewise.
15317 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
15318 * include/grub/sparc64/ieee1275/ieee1275.h
15319 (grub_ieee1275_original_stack): New variable
15320 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
15321 New definition
15322 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
15323 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
15324 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
15325 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
15326 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
15327 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
15328 (grub_platform_image_format_t): New type.
15329 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
15330 * kern/main.c (grub_modules_get_end)
15331 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
15332 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
15333 (codestart): Switch stacks.
15334 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
15335 variable.
15336 (grub_heap_init): Use grub_modules_get_end.
15337 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
15338 stack.
15339 * util/grub-mkrawimage.c (generate_image): Support sparc64.
15340 (main): Likewise.
15341 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
15342
15343 2010-03-14 Thorsten Glaser <tg@mirbsd.org>
15344
15345 * util/grub-mkrescue.in: Base ISO UUID on UTC.
15346
15347 2010-03-08 Matt Kraai <kraai@ftbfs.org>
15348
15349 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
15350 bug #559005).
15351
15352 2010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
15353
15354 * genmoddep.awk: Output all missing symbols and not only first.
15355
15356 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
15357
15358 * NEWS: Put the date of 1.98 release.
15359
15360 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
15361
15362 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
15363 ft2build.h.
15364
15365 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
15366
15367 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
15368 completition in the middle of string.
15369
15370 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
15371
15372 * util/grub-mkrescue.in: Use mktemp with explicit template.
15373
15374 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
15375
15376 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
15377
15378 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
15379
15380 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
15381 right pointer.
15382
15383 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
15384
15385 Fix FreeBSD compilation.
15386
15387 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
15388 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
15389
15390 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
15391
15392 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
15393
15394 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15395
15396 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
15397
15398 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15399
15400 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
15401
15402 2010-03-04 Robert Millan <rmh.grub@aybabtu.com>
15403
15404 Support relative image path in theme file.
15405
15406 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
15407 (image_set_property): Handle theme_dir and relative path.
15408
15409 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15410
15411 * configure.ac: Alias amd64 to x86_64.
15412
15413 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15414
15415 * NEWS: mention multiboot on EFI.
15416
15417 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15418
15419 * kern/main.c (grub_load_modules): Handle errors from init functions of
15420 embeded modules.
15421
15422 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15423
15424 * normal/autofs.c (autoload_fs_module): Handle errors.
15425
15426 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15427
15428 Disable linux.mod on qemu-mips since it's not functional and leads
15429 to compilation failure.
15430
15431 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
15432 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
15433 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
15434 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
15435 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
15436 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
15437 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
15438 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
15439 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
15440 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
15441 Reported by: BVK Chaitanya
15442
15443 2010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
15444
15445 * INSTALL: Add gettext as a dependency and add qemu to a new section
15446 "Prerequisites for make-check".
15447
15448 2010-03-04 Christian Franke <franke@computer.org>
15449
15450 * util/grub-pe2elf.c: Add missing include "progname.h".
15451
15452 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15453
15454 * normal/crypto.c (read_crypto_list): Fix a typo.
15455 Reported by: Seth Goldberg.
15456
15457 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15458
15459 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
15460 Reported by: Seth Goldberg.
15461
15462 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15463
15464 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
15465 ascii.bitmaps.
15466
15467 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15468
15469 * genmk.rb: Remove terminal*.lst in make clean.
15470 Reported by: Seth Goldberg.
15471
15472 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15473
15474 * util/i386/efi/grub-install.in: Copy gettext files.
15475
15476 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
15477
15478 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
15479
15480 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
15481
15482 Wait for user entry basing on presence of output rather than on errors.
15483
15484 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
15485 (grub_install_newline_hook): Likewise.
15486 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
15487 * normal/menu.c (show_menu): Check line_counter to determine presence
15488 of output.
15489 * normal/term.c (grub_normal_line_counter): New variable.
15490 (grub_normal_get_line_counter): New function.
15491 (grub_install_newline_hook): Likewise.
15492
15493 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
15494
15495 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
15496
15497 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
15498
15499 * configure.ac: Update version to 1.98.
15500
15501 2010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
15502
15503 * util/grub.d/10_linux.in (linux_entry): Don't default to
15504 gfxpayload=keep if Linux doesn't support video handover.
15505
15506 2010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
15507
15508 Don't compile video modules on yeeloong since video subsystem is part
15509 of kernel.
15510
15511 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
15512 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
15513 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
15514 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
15515 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
15516 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
15517 * include/grub/bitmap_scale.h: Likewise.
15518 * include/grub/bufio.h: Likewise.
15519 * include/grub/font.h: Likewise.
15520 * include/grub/gfxterm.h: Likewise.
15521 * include/grub/video.h: Likewise.
15522 * include/grub/vbe.h: Don't include video_fb.h.
15523 * video/i386/pc/vbe.c: Include video_fb.h.
15524 * commands/i386/pc/vbetest.c: Include video.h.
15525
15526 2010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
15527
15528 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
15529 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
15530 default entry if GRUB_SAVEDEFAULT=true. This allows using
15531 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
15532 saving a new default on every boot.
15533
15534 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
15535
15536 * normal/crypto.c (read_crypto_list): Fix a memory leak.
15537 * normal/term.c (read_terminal_list): Likewise.
15538 * normal/main.c (grub_normal_init_page): Likewise.
15539 (grub_normal_read_line_real): Likewise.
15540
15541 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
15542
15543 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
15544 memory leak.
15545 Reported by: Seth Goldberg.
15546
15547 2010-02-24 Joey Korkames <joey+lists@kidfixit.com>
15548
15549 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
15550 duplicate declaration of `start'.
15551
15552 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
15553
15554 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
15555 filename.
15556 Reported by: Georgy Buranov
15557
15558 2010-02-20 Carles Pina i Estany <carles@pina.cat>
15559
15560 * util/grub-mkrawimage.c (usage): Change string formatting to
15561 improve gettext.
15562
15563 2010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
15564
15565 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
15566 backspace keys.
15567
15568 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
15569
15570 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
15571 Reported by: Michael Suchanek.
15572
15573 2010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
15574
15575 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
15576 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
15577
15578 2010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
15579
15580 Remove any reference to non-free fonts.
15581
15582 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
15583 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
15584 uses non-free components.
15585 * font/font.c (grub_font_get_name): Remove example name.
15586 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
15587 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
15588 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
15589 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
15590
15591 2010-02-16 Georgy Buranov <gburanov@gmail.com>
15592
15593 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
15594
15595 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
15596
15597 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
15598 Double divisor.
15599 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
15600 features.
15601 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
15602
15603 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
15604
15605 * gensymlist.sh.in: Use TARGET_CC instead of CC.
15606
15607 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
15608
15609 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
15610 * docs/grub.texi (Command-line and menu entry commands): Document play
15611 command.
15612
15613 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
15614
15615 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
15616 parse arguments as inline tempo and notes. Move code for playing notes
15617 to...
15618 (play): ... new function.
15619
15620 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
15621
15622 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
15623 grub_uint16_t instead of short.
15624 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
15625 disk from little endian to cpu endianness.
15626
15627 2010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
15628
15629 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
15630 GRUB_TICKS_PER_SECOND instead of 120.
15631
15632 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
15633
15634 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
15635 escape sequence after \e.
15636
15637 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
15638
15639 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
15640 non-ASCII characters.
15641
15642 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
15643
15644 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
15645 set root in single quotes to prevent \, from being unescaped.
15646
15647 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
15648
15649 Prevent unknown commands from stopping menuentry execution.
15650
15651 * script/execute.c (grub_script_execute_cmdline): Print error after
15652 unknown command.
15653
15654 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
15655
15656 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
15657 Reported by: Pavel Pisa.
15658
15659 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15660
15661 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
15662
15663 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15664
15665 Merge grub_ieee1275_map_physical into grub_map and rename to
15666 grub_ieee1275_map
15667
15668 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
15669 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
15670 Remove.
15671 * kern/ieee1275/openfw.c (grub_map): Rename to ...
15672 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
15673 necessary.
15674 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
15675
15676 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15677
15678 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
15679 opening and not after.
15680
15681 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15682
15683 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
15684 constants.
15685
15686 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15687
15688 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
15689 (alloc_phys): Use ALIGN_UP instead of align_addr.
15690
15691 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15692
15693 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
15694
15695 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15696
15697 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
15698
15699 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15700
15701 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
15702 verbose dprintf.
15703
15704 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15705
15706 Fix over-4GiB seek on sparc64.
15707
15708 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
15709 Replace pos_i and pos_lo with pos. All users updated.
15710 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
15711 New constant.
15712 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
15713 Likewise.
15714 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
15715 and pos_lo.
15716
15717 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15718
15719 * util/grub-mkrawimage.c (main): Call set_program_name.
15720
15721 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15722
15723 Properly align 64-bit targets.
15724
15725 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
15726 (generate_image): Use ALIGN_ADDR.
15727
15728 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15729
15730 Properly create cross-endian images.
15731
15732 * include/grub/types.h (grub_host_to_target_addr): New macro
15733 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
15734
15735 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15736
15737 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
15738
15739 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
15740
15741 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
15742
15743 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
15744 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
15745 (grub_linux_boot): Divide by 64K when on VESA.
15746
15747 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
15748
15749 Support GRUB_GFXPAYLOAD_LINUX.
15750
15751 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
15752 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
15753
15754 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
15755
15756 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
15757 to show messages instead of discarding them.
15758 Process errors after executing command and not before. Keep old method
15759 too as precaution.
15760
15761 2010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
15762
15763 * configure.ac: Check for ft2build.h.
15764
15765 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
15766
15767 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
15768
15769 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
15770
15771 * genkernsyms.sh.in: Use TARGET_CC.
15772
15773 2010-02-07 Colin Watson <cjwatson@ubuntu.com>
15774
15775 * NEWS: Update.
15776
15777 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
15778
15779 * include/grub/multiboot2.h: Remove leftover file.
15780 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
15781 * include/grub/partition.h [GRUB_UTIL]: Likewise.
15782
15783 2010-02-07 Yves Blusseau <blusseau@zetam.org>
15784
15785 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
15786
15787 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
15788
15789 Fix warnings in grub-emu when compiling with maximum warning options.
15790
15791 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
15792 (grub_arch_modules_addr): Return 0 and not NULL.
15793 * util/misc.c (ENABLE_RELOCATABLE): New definition.
15794 (xstrdup): Use newstr instead of dup.
15795 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
15796 of disk to dsk to avoid shadowing.
15797 (find_free_slot): Fix prototype.
15798 * util/getroot.c (grub_util_is_dmraid): Make static.
15799 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
15800 Add missing prototype.
15801 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
15802
15803 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
15804
15805 * loader/i386/linux.c (grub_linux_setup_video): Handle error
15806 appropriately.
15807
15808 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
15809
15810 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
15811 code out.
15812
15813 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
15814
15815 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
15816 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
15817 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
15818 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
15819 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
15820 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
15821
15822 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
15823
15824 * include/grub/err.h (grub_err_printf): Don't export.
15825
15826 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
15827
15828 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
15829
15830 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
15831
15832 * include/grub/i18n.h (grub_gettext_dummy): Removed.
15833 * kern/misc.c (grub_gettext_dummy): Make static.
15834
15835 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
15836
15837 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
15838 by non-valid ones.
15839 * kern/term.c (grub_putchar): Likewise.
15840
15841 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
15842
15843 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
15844 buggy hook call and memory leak.
15845
15846 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
15847
15848 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
15849
15850 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
15851
15852 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
15853
15854 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
15855
15856 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
15857 modevar.
15858 Return grub_errno on allocation error.
15859
15860 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
15861
15862 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
15863
15864 2010-02-06 Yves Blusseau <blusseau@zetam.org>
15865
15866 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
15867 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
15868
15869 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
15870
15871 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
15872 non-pxe disk.
15873 (grub_pxefs_open): Likewise.
15874
15875 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
15876
15877 * util/grub.d/10_hurd.in: Add --class information to menuentries.
15878 * util/grub.d/10_kfreebsd.in: Likewise.
15879 * util/grub.d/10_linux.in: Likewise.
15880
15881 2010-02-06 Colin D Bennett <colin@gibibit.com>
15882
15883 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
15884 (gfxmenu_mod_SOURCES): New variable.
15885 (gfxmenu_mod_CFLAGS): Likewise.
15886 (gfxmenu_mod_LDFLAGS): Likewise.
15887 * include/grub/term.h (grub_term_set_current_output): Declare
15888 argument as const.
15889 * docs/gfxmenu-theme-example.txt: New file.
15890 * gfxmenu/gfxmenu.c: Likewise.
15891 * gfxmenu/gui_box.c: Likewise.
15892 * gfxmenu/gui_canvas.c: Likewise.
15893 * gfxmenu/gui_circular_progress.c: Likewise.
15894 * gfxmenu/gui_image.c: Likewise.
15895 * gfxmenu/gui_label.c: Likewise.
15896 * gfxmenu/gui_list.c: Likewise.
15897 * gfxmenu/gui_progress_bar.c: Likewise.
15898 * gfxmenu/gui_string_util.c: Likewise.
15899 * gfxmenu/gui_util.c: Likewise.
15900 * gfxmenu/icon_manager.c: Likewise.
15901 * gfxmenu/model.c: Likewise.
15902 * gfxmenu/named_colors.c: Likewise.
15903 * gfxmenu/theme_loader.c: Likewise.
15904 * gfxmenu/view.c: Likewise.
15905 * gfxmenu/widget-box.c: Likewise.
15906 * include/grub/gfxmenu_model.h: Likewise.
15907 * include/grub/gfxmenu_view.h: Likewise.
15908 * include/grub/gfxwidgets.h: Likewise.
15909 * include/grub/gui.h: Likewise.
15910 * include/grub/gui_string_util.h: Likewise.
15911 * include/grub/icon_manager.h: Likewise.
15912
15913 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
15914
15915 Agglomerate scrolling in gfxterm.
15916
15917 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
15918 (grub_virtual_screen_setup): Initialise 'total_screen'.
15919 (write_char): Split to ...
15920 (paint_char): ... this ...
15921 (write_char): ... and this.
15922 (paint_char): Handle delayed scrolling.
15923 (draw_cursor): Likewise.
15924 (scroll_up): Split to ...
15925 (real_scroll): ... this ...
15926 (scroll_up): ... and this.
15927 (real_scroll): Handle multi-line scroll and draw below-the-bottom
15928 characters.
15929 (grub_gfxterm_refresh): Call real_scroll.
15930
15931 2010-02-06 Colin D Bennett <colin@gibibit.com>
15932
15933 * include/grub/misc.h (grub_iscntrl): New inline function.
15934 (grub_isalnum): Likewise.
15935 (grub_strtol): Likewise.
15936
15937 2010-02-06 Colin D Bennett <colin@gibibit.com>
15938
15939 * normal/menu_text.c (get_entry_number): Move from here ...
15940 * normal/menu.c (get_entry_number): ... moved here.
15941 * include/grub/menu.h (grub_menu_get_default_entry_index):
15942 New prototype.
15943 * normal/menu.c (grub_menu_get_default_entry_index): New function.
15944 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
15945 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
15946 (grub_menu_viewer_should_return): Likewise.
15947 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
15948 * normal/menu_text.c (run_menu): Enable menu switching.
15949 * normal/menu_viewer.c (should_return): New variable.
15950 (menu_viewer_changed): Likewise.
15951 (grub_menu_viewer_show_menu): Handle menu viewer changes.
15952 (grub_menu_viewer_should_return): New function.
15953 (menuviewer_write_hook): Likewise.
15954 (grub_menu_viewer_init): Likewise.
15955
15956 2010-02-06 Colin D Bennet <colin@gibibit.com>
15957 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
15958
15959 Support for gfxterm in a window.
15960
15961 * include/grub/gfxterm.h: New file.
15962 * include/grub/video.h (struct grub_video_rect): New declaration.
15963 (grub_video_rect_t): Likewise.
15964 * term/gfxterm.c (struct grub_gfxterm_window): New type.
15965 (refcount): New variable.
15966 (render_target): Likewise.
15967 (window): Likewise.
15968 (repaint_callback): Likewise.
15969 (grub_virtual_screen_setup): Use 'render_target'.
15970 (init_window): New function.
15971 (grub_gfxterm_init_window): Likewise.
15972 (grub_gfxterm_init): Check reference counter.
15973 Use init_window.
15974 (destroy_window): New function.
15975 (grub_gfxterm_destroy_window): Likewise.
15976 (grub_gfxterm_fini): Check reference counter.
15977 Use destroy_window.
15978 (redraw_screen_rect): Restore viewport.
15979 Use 'render_target' and 'window'.
15980 Call 'repaint_callback'.
15981 (write_char): Use 'render_target'.
15982 (draw_cursor): Likewise.
15983 (scroll_up): Restore viewport.
15984 Use 'render_target' and 'window'.
15985 Call 'repaint_callback'.
15986 (grub_gfxterm_cls): Likewise.
15987 (grub_gfxterm_refresh): Use 'window'.
15988 (grub_gfxterm_set_repaint_callback): New function.
15989 (grub_gfxterm_background_image_cmd): Use 'window'.
15990 (grub_gfxterm_get_term): New function.
15991 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
15992
15993 2010-02-06 Colin D Bennett <colin@gibibit.com>
15994
15995 Bitmap scaling support.
15996
15997 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
15998 (bitmap_scale_mod_SOURCES): New variable.
15999 (bitmap_scale_mod_CFLAGS): Likewise.
16000 (bitmap_scale_mod_LDFLAGS): Likewise.
16001 * include/grub/bitmap_scale.h: New file.
16002 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
16003 (background_image_cmd_options): New variable.
16004 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
16005 (cmd): Rename and change type to ...
16006 (background_image_cmd_handle): ... this. All users updated.
16007 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
16008 * video/bitmap_scale.c: New file.
16009
16010 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
16011
16012 SDL support.
16013
16014 * Makefile.in (LIBSDL): New variable.
16015 (enable_grub_emu_sdl): Likewise.
16016 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
16017 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
16018 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
16019 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
16020 * util/sdl.c: New file.
16021
16022 2010-02-06 Colin D Bennett <colin@gibibit.com>
16023 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
16024
16025 Double buffering support.
16026
16027 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
16028 * include/grub/video.h: Update comment.
16029 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
16030 New type.
16031 (grub_video_fb_doublebuf_blit_init): New prototype.
16032 * term/gfxterm.c (scroll_up): Support double buffering.
16033 (grub_gfxterm_refresh): Likewise.
16034 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
16035 (grub_video_fb_doublebuf_blit_init): Likewise.
16036 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
16037 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
16038 'displayed_page', 'render_page' and 'update_screen'.
16039 (grub_video_vbe_fini): Free offscreen buffer.
16040 (doublebuf_pageflipping_commit): New function.
16041 (doublebuf_pageflipping_update_screen): Likewise.
16042 (doublebuf_pageflipping_init): Likewise.
16043 (double_buffering_init): Likewise.
16044 (grub_video_vbe_setup): Enable doublebuffering.
16045 (grub_video_vbe_swap_buffers): Implement.
16046 (grub_video_vbe_set_active_render_target): Handle double buffering.
16047 (grub_video_vbe_get_active_render_target): Likewise.
16048 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
16049 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
16050 (grub_video_vbe_enable_double_buffering): Likewise.
16051 (grub_video_vbe_swap_buffers): Use update_screen.
16052 (grub_video_set_mode): Use double buffering.
16053
16054 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
16055
16056 * maintainance/gentrigtables.py: Remove.
16057 * lib/trig.c: Likewise.
16058
16059 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
16060
16061 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
16062 `trigtables.c'.
16063 (trigtables.c): New rule.
16064 (gentrigtables): Likewise.
16065 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
16066
16067 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
16068
16069 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
16070 integer constants.
16071
16072 2010-02-06 Colin D Bennet <colin@gibibit.com>
16073
16074 Trigonometry support.
16075
16076 * include/grub/trig.h: New file.
16077 * lib/trig.c: Likewise.
16078 * maintainance/gentrigtables.py: Likewise.
16079 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
16080 (trig_mod_SOURCES): New variable.
16081 (trig_mod_CFLAGS): Likewise.
16082 (trig_mod_LDFLAGS): Likewise.
16083
16084 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
16085
16086 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
16087 disk devices.
16088
16089 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
16090
16091 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
16092 error.
16093
16094 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
16095
16096 * util/hostdisk.c (open_device): Don't use partition device when reading
16097 before the partition.
16098 (grub_util_biosdisk_read): Don't read from partition and before the
16099 partition in single operation.
16100 (grub_util_biosdisk_write): Don't write to partition and before the
16101 partition in single operation.
16102
16103 2010-02-03 Torsten Landschoff <torsten@debian.org>
16104
16105 * kern/disk.c (grub_disk_read): Fix offset computation when reading
16106 last sectors.
16107
16108 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
16109
16110 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
16111 CDROM reads.
16112 (grub_biosdisk_write): Refuse to write to CDROM.
16113
16114 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
16115
16116 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
16117
16118 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
16119
16120 * font/font.c (find_glyph): Check that bmp_idx is available before
16121 using it.
16122 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
16123 with (font == NULL).
16124
16125 2010-01-28 Christian Schmitt <chris@ilovelinux.de>
16126
16127 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
16128
16129 2010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
16130
16131 * include/grub/script_sh.h (sourcecode): Add const qualifier.
16132 * util/grub-script-check.c (getline): Fix empty lines case.
16133
16134 2010-01-28 Robert Millan <rmh.grub@aybabtu.com>
16135
16136 * Makefile.in (check): Exit with fail status when one of the tests
16137 fails.
16138 * tests/example_functional_test.c (example_test): Fix reversed assert.
16139 * tests/example_unit_test.c (example_test): Likewise.
16140
16141 2010-01-28 Colin Watson <cjwatson@ubuntu.com>
16142
16143 * util/grub.d/10_linux.in: This script does not use any of the
16144 contents of gettext.sh, only the external command `gettext', so stop
16145 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
16146 the same prefix as GRUB.)
16147 * util/grub.d/10_kfreebsd.in: Likewise.
16148
16149 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
16150
16151 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
16152 of the line.
16153
16154 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
16155
16156 * kern/disk.c (grub_disk_read): Fix offset computation when reading
16157 last sectors.
16158
16159 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
16160
16161 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
16162 having a 4KiB and not 32KiB buffer size.
16163
16164 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
16165
16166 * util/hostfs.c: Include `<errno.h>'.
16167 (grub_hostfs_read): Handle errors from fseeko() and fread().
16168
16169 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
16170
16171 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
16172 loop when using read hooks on files whose size isn't sector-aligned.
16173
16174 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
16175
16176 Remove unused parameter.
16177
16178 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
16179 (grub_iso9660_open): Remove initialization of `data->length'.
16180
16181 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
16182
16183 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
16184 memleak conditions.
16185
16186 2010-01-27 Carles Pina i Estany <carles@pina.cat>
16187
16188 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
16189 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
16190
16191 2010-01-26 Carles Pina i Estany <carles@pina.cat>
16192
16193 * util/bin2h.c (usage): Fix warning (space after backslash).
16194
16195 2010-01-26 Carles Pina i Estany <carles@pina.cat>
16196
16197 * font/font.c: Include `grub/fontformat.h.
16198 Remove font file format constants.
16199 (grub_font_load): Use the new macros.
16200 * include/grub/fontformat.h: New file.
16201 * util/grub-mkfont.c: Include `grub/fontformat.c'.
16202 (write_font_pf2): Use the new macros.
16203
16204 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
16205
16206 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
16207 does.
16208
16209 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
16210
16211 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
16212
16213 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
16214 (_start): Macroify `0x7F'.
16215
16216 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
16217 (make_install_device): Use "(pxe)" as fallback prefix when booting
16218 via PXE.
16219
16220 2010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
16221
16222 * configure.ac: Reset LIBS after check for libgcc symbols.
16223
16224 2010-01-25 Colin Watson <cjwatson@ubuntu.com>
16225
16226 * util/hostdisk.c (open_device): Add trailing newline to debug
16227 message.
16228
16229 2010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
16230
16231 * configure.ac: Check for `limits.h'.
16232 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
16233
16234 2010-01-24 Robert Millan <rmh.grub@aybabtu.com>
16235
16236 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
16237 capitalize error strings.
16238
16239 2010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
16240
16241 * util/grub.d/10_hurd.in: Add a recovery mode.
16242
16243 2010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
16244
16245 * configure.ac: Check for libgcc symbols with -nostdlib.
16246
16247 2010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
16248
16249 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
16250
16251 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
16252
16253 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
16254 stack since heap may be unavailable at that point.
16255 (grub_ofconsole_gotoxy): Likewise.
16256
16257 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
16258
16259 * configure.ac: Check for _restgpr_14_x.
16260 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
16261 and _savegpr_* prototypes.
16262
16263 2010-01-22 Robert Millan <rmh.grub@aybabtu.com>
16264
16265 Use generic grub_reboot() for i386-efi.
16266
16267 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
16268 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
16269 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
16270
16271 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
16272
16273 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
16274 presence of "prefix" variable as it breaks when normal.mod is
16275 embedded.
16276
16277 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
16278
16279 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
16280 stack since heap is unavailable at that point.
16281
16282 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
16283
16284 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
16285 (grub_freebsd_bootinfo): Rewritten.
16286 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
16287
16288 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
16289
16290 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
16291
16292 2010-01-21 Robert Millan <rmh.grub@aybabtu.com>
16293
16294 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
16295 domain now.
16296
16297 2010-01-20 Felix Zielcke <fzielcke@z-51.de>
16298
16299 * util/misc.c (make_system_path_relative_to_its_root): Change the work
16300 around for handling "/" to the correct fix. Fix a memory leak. Use
16301 xstrdup instead of strdup.
16302
16303 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16304
16305 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
16306
16307 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16308
16309 Optimise glyph lookup by Basic Multilingual Plane lookup array.
16310
16311 * font/font.c (struct grub_font): New member 'bmp_idx'.
16312 (font_init): Initialise 'bmp_idx'.
16313 (load_font_index): Fill 'bmp_idx'.
16314 (find_glyph): Make inline. Use bmp_idx for BMP characters.
16315
16316 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16317
16318 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
16319 unnecessary calls.
16320
16321 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16322
16323 Move context handling out of the kernel.
16324
16325 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
16326 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
16327 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
16328 * conf/i386-efi.rmk: Likewise.
16329 * conf/i386-ieee1275.rmk: Likewise.
16330 * conf/i386-pc.rmk: Likewise.
16331 * conf/powerpc-ieee1275.rmk: Likewise.
16332 * conf/sparc64-ieee1275.rmk: Likewise.
16333 * conf/x86_64-efi.rmk: Likewise.
16334 * include/grub/env.h: Include grub/menu.h.
16335 (grub_env_var_type): Removed.
16336 (grub_env_var): Replaced field 'type' with 'global'.
16337 (grub_env_find): New prototype.
16338 (grub_env_context_open): Remove EXPORT_FUNC.
16339 (grub_env_context_close): Likewise.
16340 (grub_env_export): Likewise.
16341 (grub_env_set_data_slot): Removed.
16342 (grub_env_get_data_slot): Likewise.
16343 (grub_env_unset_data_slot): Likewise.
16344 (grub_env_unset_menu): New prototype.
16345 (grub_env_set_menu): Likewise.
16346 (grub_env_get_menu): Likewise.
16347 * include/grub/env_private.h: New file.
16348 * include/grub/normal.h (grub_context_init): New prototype.
16349 (grub_context_fini): Likewise.
16350 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
16351 * normal/context.c (grub_cmd_export): ... to here.
16352 * kern/env.c: Include env_private.h.
16353 (HASHSZ): Moved to include/grub/env_private.h.
16354 (grub_env_context): Likewise.
16355 (grub_env_sorted_var): Likewise.
16356 (current_context): Renamed from this ...
16357 (grub_current_context): ...to this. 'static' removed. All users updated.
16358 (grub_env_find): Removed 'static'.
16359 (grub_env_context_open): Moved to normal/context.c.
16360 (grub_env_context_close): Likewise.
16361 (grub_env_export): Likewise.
16362 (mangle_data_slot_name): Removed.
16363 (grub_env_set_data_slot): Likewise.
16364 (grub_env_get_data_slot): Likewise.
16365 (grub_env_unset_data_slot): Likewise.
16366 * kern/main.c (grub_set_root_dev): Don't export root.
16367 It will be done later.
16368 (grub_main): Don't export prefix.
16369 It will be done later.
16370 * normal/context.c: New file.
16371 * normal/main.c (free_menu): Use grub_env_unset_menu.
16372 (grub_normal_add_menu_entry): Use grub_env_get_menu.
16373 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
16374 (GRUB_MOD_INIT(normal)): Call grub_context_init.
16375 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
16376
16377 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16378
16379 setpci support.
16380
16381 * commands/setpci.c: New file.
16382 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
16383 (setpci_mod_SOURCES): New variable.
16384 (setpci_mod_CFLAGS): Likewise.
16385 (setpci_mod_LDFLAGS): Likewise.
16386
16387 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16388
16389 Byte-addressable PCI configuration space.
16390
16391 * bus/pci.c (grub_pci_make_address): Use byte address instead of
16392 dword address.
16393 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
16394 GRUB_PCI_REG_CACHELINE.
16395 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
16396 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
16397 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
16398 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
16399 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
16400 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
16401 grub_pci_make_address.
16402 (lock_rom_area): Likewise.
16403 * commands/lspci.c (grub_lspci_iter): Use macroses
16404 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
16405 of grub_pci_make_address.
16406 * disk/ata.c (grub_ata_pciinit): Likewise.
16407 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
16408 (GRUB_PCI_REG_VENDOR): Likewise.
16409 (GRUB_PCI_REG_DEVICE): Likewise.
16410 (GRUB_PCI_REG_COMMAND): Likewise.
16411 (GRUB_PCI_REG_STATUS): Likewise.
16412 (GRUB_PCI_REG_REVISION): Likewise.
16413 (GRUB_PCI_REG_CLASS): Likewise.
16414 (GRUB_PCI_REG_CACHELINE): Likewise.
16415 (GRUB_PCI_REG_LAT_TIMER): Likewise.
16416 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
16417 (GRUB_PCI_REG_BIST): Likewise.
16418 (GRUB_PCI_REG_ADDRESSES): Likewise.
16419 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
16420 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
16421 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
16422 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
16423 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
16424 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
16425 (GRUB_PCI_REG_CIS_POINTER): Likewise.
16426 (GRUB_PCI_REG_SUBVENDOR): Likewise.
16427 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
16428 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
16429 (GRUB_PCI_REG_CAP_POINTER): Likewise.
16430 (GRUB_PCI_REG_IRQ_LINE): Likewise.
16431 (GRUB_PCI_REG_IRQ_PIN): Likewise.
16432 (GRUB_PCI_REG_MIN_GNT): Likewise.
16433 (GRUB_PCI_REG_MAX_LAT): Likewise.
16434 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
16435 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
16436 * video/efi_uga.c (find_framebuf): Likewise.
16437 * video/sm712.c (grub_video_sm712_setup): Likewise.
16438 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
16439 space.
16440
16441 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
16442
16443 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
16444 can be reliably determined to be supported.
16445
16446 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
16447
16448 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
16449 that VESA is supported.
16450 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
16451 supported.
16452
16453 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16454
16455 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
16456
16457 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
16458
16459 * util/misc.c (make_system_path_relative_to_its_root): Work around
16460 special-casing of "/", as previous incarnation of this routine did.
16461
16462 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16463
16464 Fix any-emu compilation.
16465
16466 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
16467 * grub_bin2h_SOURCES: New variable.
16468
16469 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
16470
16471 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
16472
16473 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
16474
16475 * util/grub.d/00_header.in: Fix handling of locale_dir.
16476
16477 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16478
16479 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
16480 as possible unifont location (Gentoo).
16481 Reported by: Alexander Brüning
16482
16483 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16484
16485 Don't try to generate lists for kernel.img.
16486
16487 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
16488 (pkglib_MODULES): Remove kernel.img.
16489 (kernel_img_EXPORTS): Removed.
16490 (kernel_img_RELOCATABLE): New variable.
16491 * conf/x86_64-efi.rmk: Likewise.
16492 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
16493
16494 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16495
16496 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
16497 grub_xasprintf or grub_snprintf.
16498 (grub_vsprintf): Likewise.
16499 (grub_snprintf): New proto.
16500 (grub_vsnprintf): Likewise.
16501 (grub_xasprintf): Likewise.
16502 (grub_xvasprintf): Likewise.
16503 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
16504 (grub_sprintf): Removed.
16505 (grub_vsnprintf): New function.
16506 (grub_snprintf): Likewise.
16507 (grub_xvasprintf): Likewise.
16508 (grub_xasprintf): Likewise.
16509 (grub_vsprintf): Renamed to ...
16510 (grub_vsnprintf_real): ...this. New argument max_len.
16511
16512 2010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
16513
16514 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
16515 fix grub-script-check warning.
16516
16517 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16518
16519 * include/grub/font.h (grub_font_load): Fix prototype.
16520
16521 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16522
16523 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
16524
16525 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16526
16527 * include/grub/x86_64/at_keyboard.h: New file.
16528
16529 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16530
16531 * loader/mips/linux.c: Include missing grub/i18n.h.
16532
16533 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
16534
16535 * normal/menu.c (notify_execution_failure): Clarify error message.
16536
16537 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
16538
16539 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
16540 return value (and revert all return statements). Update users.
16541
16542 2010-01-20 Dan Merillat <debian@dan.merillat.org>
16543
16544 * kern/device.c (grub_device_iterate): Allocate new part_ent
16545 structure based on sizeof (*p) rather than sizeof (p->next), to
16546 account for structure padding.
16547
16548 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
16549 disk is NULL, which might happen for LVM physical volumes with no
16550 LVM signature.
16551
16552 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
16553
16554 * loader/mips/linux.c (grub_cmd_initrd)
16555 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
16556
16557 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
16558
16559 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
16560 (grub_video_video_init, grub_video_bitmap_init)
16561 (grub_font_manager_init, grub_term_gfxterm_init)
16562 (grub_at_keyboard_init): New extern declarations.
16563 (grub_machine_init): Initialize gfxterm and at_keyboard.
16564
16565 * kern/main.c (grub_main): Revert grub_printf delay kludge.
16566
16567 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
16568 `gfxterm.mod' into core image.
16569
16570 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
16571 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
16572 (kernel_img_FORMAT): Copy to ...
16573
16574 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
16575 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
16576 (kernel_img_FORMAT): ... here, and ...
16577
16578 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
16579 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
16580 (kernel_img_FORMAT): ... here.
16581
16582 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
16583 and input (at_keyboard) terminals in kernel.
16584 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
16585
16586 (pkglib_MODULES): Remove `pci.mod'.
16587 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
16588 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
16589 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
16590 (at_keyboard_mod_LDFLAGS): Remove variables.
16591
16592 2010-01-11 Felix Zielcke <fzielcke@z-51.de>
16593
16594 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
16595
16596 2009-12-10 Robert Millan <rmh.grub@aybabtu.com>
16597
16598 * include/grub/mips/libgcc.h: Only export symbols for functions
16599 that libgcc provides.
16600
16601 2009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
16602
16603 MIPS support.
16604
16605 * bus/bonito.c: New file.
16606 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
16607 GRUB_PCI_NUM_DEVICES.
16608 * term/i386/pc/serial.c: Move to ...
16609 * term/serial.c: ... here. All users updated.
16610 * util/i386/pc/grub-mkimage.c: Move to ...
16611 * util/grub-mkrawimage.c: ... here. All users updated.
16612 * term/i386/pc/at_keyboard.c: Move to ...
16613 * term/at_keyboard.c: ... here. All users updated.
16614 * conf/mips-qemu-mips.rmk: New file.
16615 * conf/mips-yeeloong.rmk: Likewise.
16616 * conf/mips.rmk: Likewise.
16617 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
16618 mipsel-qemu-mips.
16619 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
16620 to port addresses.
16621 (grub_ata_pciinit): Support CS5536.
16622 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
16623 * font/font_cmd.c (loadfont_command): Open file before passing it to
16624 grub_font_load.
16625 (pseudo_file_read): New function.
16626 (pseudo_file_close): Likewise.
16627 (pseudo_fs): New structure.
16628 (load_font_module): New function.
16629 (GRUB_MOD_INIT(font_manager)): Load embedded font.
16630 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
16631 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
16632 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
16633 * include/grub/i386/at_keyboard.h: Split into ...
16634 * include/grub/at_keyboard.h: ... this ...
16635 * include/grub/i386/at_keyboard.h: ... and this.
16636 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
16637 New prototype.
16638 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
16639 updated.
16640 (grub_elf64_size): Likewise.
16641 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
16642 filename.
16643 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
16644 * include/grub/i386/coreboot/serial.h: Rewritten.
16645 * include/grub/i386/ieee1275/serial.h: Include
16646 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
16647 * include/grub/i386/pc/serial.h: Moved from here ...
16648 * include/grub/serial.h: ... to here. All users updated.
16649 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
16650 (GRUB_PCI_NUM_BUS): Likewise.
16651 (GRUB_PCI_NUM_DEVICES): Likewise.
16652 (grub_pci_device_map_range): Add missing volatile keyword.
16653 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
16654 * include/grub/mips/at_keyboard.h: New file.
16655 * include/grub/mips/cache.h: Likewise.
16656 * include/grub/mips/io.h: Likewise.
16657 * include/grub/mips/kernel.h: Likewise.
16658 * include/grub/mips/libgcc.h: Likewise.
16659 * include/grub/mips/pci.h: Likewise.
16660 * include/grub/mips/qemu-mips/boot.h: Likewise.
16661 * include/grub/mips/qemu-mips/kernel.h: Likewise.
16662 * include/grub/mips/qemu-mips/loader.h: Likewise.
16663 * include/grub/mips/qemu-mips/memory.h: Likewise.
16664 * include/grub/mips/qemu-mips/serial.h: Likewise.
16665 * include/grub/mips/qemu-mips/time.h: Likewise.
16666 * include/grub/mips/relocator.h: Likewise.
16667 * include/grub/mips/time.h: Likewise.
16668 * include/grub/mips/types.h: Likewise.
16669 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
16670 * include/grub/mips/yeeloong/boot.h: Likewise.
16671 * include/grub/mips/yeeloong/kernel.h: Likewise.
16672 * include/grub/mips/yeeloong/loader.h: Likewise.
16673 * include/grub/mips/yeeloong/memory.h: Likewise.
16674 * include/grub/mips/yeeloong/pci.h: Likewise.
16675 * include/grub/mips/yeeloong/serial.h: Likewise.
16676 * include/grub/mips/yeeloong/time.h: Likewise.
16677 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
16678 * kern/elf.c (grub_elf32_size): New parameter. All users
16679 updated.
16680 (grub_elf64_size): Likewise.
16681 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
16682 Load modules before saying "Welcome to GRUB!".
16683 Call grub_refresh after saying "Welcome to GRUB!".
16684 * kern/mips/cache.S: New file.
16685 * kern/mips/cache_flush.S: Likewise.
16686 * kern/mips/dl.c: Likewise.
16687 * kern/mips/init.c: Likewise.
16688 * kern/mips/qemu-mips/init.c: Likewise.
16689 * kern/mips/startup.S: Likewise.
16690 * kern/mips/yeeloong/init.c: Likewise.
16691 * kern/term.c (grub_putcode): Handle NULL terminal.
16692 (grub_getcharwidth): Likewise.
16693 (grub_getkey): Likewise.
16694 (grub_checkkey): Likewise.
16695 (grub_getkeystatus): Likewise.
16696 (grub_getxy): Likewise.
16697 (grub_getwh): Likewise.
16698 (grub_gotoxy): Likewise.
16699 (grub_cls): Likewise.
16700 (grub_setcolorstate): Likewise.
16701 (grub_setcolor): Likewise.
16702 (grub_getcolor): Likewise.
16703 (grub_refresh): Likewise.
16704 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
16705 (write_jump): Add hatch nop.
16706 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
16707 * lib/mips/setjmp.S: New file.
16708 * loader/mips/linux.c: Likewise.
16709 * term/i386/pc/at_keyboard.c: Move from here ...
16710 * term/at_keyboard.c: ... to here.
16711 * term/i386/pc/serial.c: Moved from here ...
16712 * term/serial.c: ... to here. All users updated.
16713 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
16714 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
16715 (serial_translate_key_sequence): Avoid deadlock.
16716 (grub_serial_getkey): Handle backspace.
16717 (grub_serial_putchar): Fix newline handling.
16718 * util/i386/pc/grub-mkimage.c: Move from here ...
16719 * util/grub-mkrawimage.c: ... to here. All users updated.
16720 (generate_image): New parameters 'font_path' and 'format'.
16721 Support embedding font.
16722 Use grub_host_to_target* instead of grub_cpu_to_le*.
16723 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
16724 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
16725 (options): New option "--font".
16726 (usage): Likewise.
16727 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
16728 (main): Handle "--font".
16729 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
16730 (grub_virtual_screen_setup): Set bg_color_display.
16731 (redraw_screen_rect): Use bg_color_display instead of incorrect
16732 bg_color.
16733 (grub_gfxterm_cls): Likewise.
16734 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
16735 Support embedding config file.
16736 (add_segments): Likewise.
16737 (options): New option "--config".
16738 (main): Handle "--config".
16739 * video/sm712.c: New file.
16740
16741 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
16742
16743 Fix parallel builds.
16744
16745 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
16746 font.c depend on ascii.h).
16747
16748 2010-01-12 Carles Pina i Estany <carles@pina.cat>
16749
16750 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
16751
16752 2010-01-11 Carles Pina i Estany <carles@pina.cat>
16753
16754 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
16755 By default: disabled.
16756 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
16757 parameter.
16758
16759 2010-01-10 Carles Pina i Estany <carles@pina.cat>
16760
16761 * font/font.c: Update copyright years.
16762 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
16763
16764 2010-01-10 Carles Pina i Estany <carles@pina.cat>
16765
16766 * font/font.c: Include `ascii.h'.
16767 (ASCII_BITMAP_SIZE): New macro.
16768 (ascii_font_glyph): Define.
16769 (ascii_glyph_lookup): New function.
16770 (grub_font_get_string_width): Change comment. If glyph not found, use
16771 ascii_glyph_lookup.
16772 (grub_font_get_glyph_with_fallback): If glyph not available returns
16773 ascii_glyph_lookup.
16774 * util/grub-mkfont.c (file_formats): New enum.
16775 (options): Add `ascii-bitmaps' new option.
16776 (usage): Add `asii-bitmaps' new option.
16777 (write_font_ascii_bitmap): New function.
16778 (write_font): Rename to ...
16779 (write_font_p2): ... this. Remove print_glyphs call.
16780 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
16781 used. Call print_glyphs.
16782 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
16783
16784 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
16785
16786 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
16787 (grub_bin2h_SOURCES): New variable.
16788 * util/bin2h.c: New file.
16789
16790 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16791
16792 * include/multiboot.h: Resynced with spec.
16793 * include/multiboot2.h: Likewise.
16794 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
16795 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
16796
16797 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
16798
16799 * include/grub/term.h (grub_term_register_input,
16800 grub_term_register_output): Check return of terminal init()
16801 routines, and abort if errors are raised.
16802
16803 * commands/terminal.c: Update copyright year.
16804
16805 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
16806
16807 * commands/terminal.c (grub_cmd_terminal_input)
16808 (grub_cmd_terminal_output): Check return of terminal init()
16809 routines, and abort if errors are raised.
16810
16811 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
16812
16813 * include/grub/i386/bsd.h: Fix include pathes.
16814
16815 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
16816
16817 Add missing *BSD copyright headers.
16818
16819 * include/grub/aout.h: Add BSD licence.
16820 * include/grub/i386/bsd.h: Parts under different licences moved to ...
16821 * include/grub/i386/freebsd_linker.h: ... here,
16822 * include/grub/i386/freebsd_reboot.h: ... here,
16823 * include/grub/i386/netbsd_bootinfo.h: ... here,
16824 * include/grub/i386/netbsd_reboot.h: ... here,
16825 * include/grub/i386/openbsd_bootarg.h: ... here,
16826 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
16827 licence to each file.
16828
16829 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
16830
16831 * acinclude.m4: Remove `nop' assembly instruction; it's not
16832 implemented by all architectures.
16833
16834 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
16835
16836 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
16837 ELILO. This is no longer necessary.
16838
16839 2010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
16840
16841 Added new tool, grub-scrit-check to verify grub.cfg syntax.
16842
16843 * util/grub-script-check.c: grub-script-check tool.
16844 * conf/common.rmk: Make rules for grub-script-check.
16845
16846 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
16847
16848 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
16849 spotting it back in 2008. Shame on me for forgetting he did.
16850
16851 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
16852
16853 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
16854
16855 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
16856 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
16857 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
16858 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
16859 (GRUB_VIDEO_TYPE_EFI): Rename to ...
16860 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
16861
16862 2010-01-17 Robert Millan <rmh.grub@aybabtu.com>
16863
16864 * include/grub/test.h: Add license header.
16865 * tests/example_functional_test.c: Likewise.
16866 * tests/example_unit_test.c: Likewise.
16867 * tests/lib/functional_test.c: Likewise.
16868 * tests/lib/test.c: Likewise.
16869 * tests/lib/unit_test.c: Likewise.
16870
16871 2010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
16872
16873 Use flag-based instead of hook-based video mode selection and "auto"
16874 keyword.
16875
16876 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
16877 (grub_video_set_mode): Changed prototype. All users updated.
16878 (grub_video_check_mode_flag): New inline function.
16879 * video/video.c (parse_modespec): New function.
16880 (grub_video_set_mode): Parse flags and keywords.
16881
16882 2010-01-17 Carles Pina i Estany <carles@pina.cat>
16883
16884 * util/misc.c (grub_util_info): Fix the order of the parameters in a
16885 fprintf call.
16886
16887 2010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
16888
16889 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
16890
16891 2010-01-16 Carles Pina i Estany <carles@pina.cat>
16892
16893 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
16894 string.
16895 * util/grub-emu.c (usage): Likewise.
16896 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
16897 * util/i386/efi/grub-mkimage.c (usage): Likewise.
16898 * util/i386/pc/grub-mkimage.c (usage): Likewise.
16899 * util/i386/pc/grub-setup.c (usage): Likewise.
16900
16901 2010-01-16 Carles Pina i Estany <carles@pina.cat>
16902
16903 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
16904 the message.
16905 (grub_util_info): Likewise.
16906 (grub_util_error): Likewise.
16907 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
16908 and/or new lines in `grub_util_warna', `grub_util_info',
16909 `grub_util_error' calls.
16910 * util/getroot.c: Likewise.
16911 * util/grub-editenv.c: Likewise.
16912 * util/grub-emu.c: Likewise.
16913 * util/grub-fstest.c: Likewise.
16914 * util/grub-mkdevicemap.c: Likewise.
16915 * util/grub-mkfont.c: Likewise.
16916 * util/grub-mkpasswd-pbkdf2.c: Likewise.
16917 * util/grub-mkrelpath.c: Likewise.
16918 * util/grub-pe2elf.c: Likewise.
16919 * util/grub-probe.c: Likewise.
16920 * util/hostdisk.c: Likewise.
16921 * util/i386/efi/grub-mkimage.c: Likewise.
16922 * util/i386/pc/grub-mkimage.c: Likewise.
16923 * util/i386/pc/grub-setup.c: Likewise.
16924 * util/ieee1275/ofpath.c: Likewise.
16925 * util/mkisofs/eltorito.c: Likewise.
16926 * util/mkisofs/rock.c: Likewise.
16927 * util/mkisofs/write.c: Likewise.
16928 * util/raid.c: Likewise.
16929 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
16930 * util/sparc64/ieee1275/grub-setup.c: Likewise.
16931
16932 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
16933
16934 Enable multiboot on non-pc.
16935
16936 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
16937 multiboot.mod and multiboot2.mod to ...
16938 * conf/i386.rmk (pkglib_MODULES): ... here.
16939 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
16940 Moved to ...
16941 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
16942 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
16943 Moved to ...
16944 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
16945 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
16946 Moved to ...
16947 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
16948 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
16949 Moved to ...
16950 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
16951 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
16952 relocator.mod.
16953 (ata_mod_SOURCES): Removed.
16954 (ata_mod_CFLAGS): Likewise.
16955 (ata_mod_LDFLAGS): Likewise.
16956 (relocator_mod_SOURCES): Removed.
16957 (relocator_mod_CFLAGS): Likewise.
16958 (relocator_mod_ASFLAGS): Likewise.
16959 (relocator_mod_LDFLAGS): Likewise.
16960 Include i386.mk.
16961 * include/grub/x86_64/multiboot.h: New file.
16962 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
16963 Terminate EFI.
16964
16965 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
16966
16967 Video multiboot support.
16968
16969 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
16970 New prototype.
16971 * include/multiboot.h: Resynced with multiboot specification.
16972 * include/multiboot2.h: Likewise.
16973 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
16974 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
16975 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
16976 (HAS_VGA_TEXT): Likewise.
16977 (accepts_video): New variable.
16978 (grub_multiboot_set_accepts_video): New function.
16979 (grub_multiboot_get_mbi_size): Account for video structures.
16980 (set_video_mode): New function.
16981 (retrieve_video_parameters): Likewise.
16982 (grub_multiboot_make_mbi): Fill video fields.
16983
16984 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
16985
16986 Video driver ids.
16987
16988 * include/grub/video.h (grub_video_driver_id): New type.
16989 (grub_video_adapter): New member 'id'. All users updated.
16990 (grub_video_get_driver_id): New proto.
16991 * video/video.c (grub_video_get_driver_id): New function.
16992
16993 2010-01-14 Carles Pina i Estany <carles@pina.cat>
16994
16995 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
16996 `var=val'.
16997
16998 2010-01-14 Carles Pina i Estany <carles@pina.cat>
16999
17000 * normal/cmdline.c (print_completion): Gettextizze.
17001
17002 2001-01-14 Carles Pina i Estany <carles@pina.cat>
17003
17004 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
17005
17006 2010-01-14 Carles Pina i Estany <carles@pina.cat>
17007
17008 * gettext/gettext.c (grub_gettext_translate): Push and pop
17009 grub_errno.
17010 (grub_gettext_delete_list): Change comment style.
17011 * kern/err.c (grub_error): Gettextizze.
17012 (grub_fatal): Gettextizze.
17013
17014 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
17015
17016 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
17017 (grub_linux16_real_boot): ... this.
17018 * kern/i386/loader.S: Likewise.
17019 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
17020 (grub_linux16_boot): New function. Switches to text mode and calls
17021 grub_linux16_real_boot().
17022
17023 * loader/i386/bsd.c: Include `<grub/video.h>'.
17024 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
17025 text mode before calling grub_unix_real_boot().
17026
17027 * loader/i386/multiboot.c: Include `<grub/video.h>'.
17028 (grub_multiboot_boot): Switch to text mode before calling
17029 grub_relocator32_boot().
17030
17031 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
17032 (grub_chainloader_boot): Switch to text mode before calling
17033 grub_chainloader_real_boot().
17034
17035 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
17036 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
17037
17038 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
17039 non-empty value.
17040
17041 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
17042 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
17043
17044 * util/grub.d/00_header.in: Define a "savedefault" function for use
17045 in menu entries.
17046 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
17047
17048 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
17049 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
17050
17051 * util/grub-mkconfig_lib.in (save_default_entry): Only set
17052 saved_entry if boot_once is unset.
17053 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
17054 previous saved entry (i.e. grub-reboot).
17055
17056 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
17057
17058 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
17059
17060 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
17061
17062 * util/grub.d/00_header.in: Use `set var=val' rather than plain
17063 `var=val'.
17064 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
17065
17066 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
17067
17068 * util/grub-reboot.in: Fix --version output.
17069 * util/grub-set-default.in: Likewise.
17070
17071 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
17072
17073 * util/grub.d/00_header.in: Silently ignore zero-sized environment
17074 blocks.
17075
17076 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
17077
17078 * util/grub.d/00_header.in: Quote the value assigned to `default',
17079 in case it contains spaces.
17080
17081 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
17082
17083 * util/grub.d/30_os-prober.in: Fix merge error that moved a
17084 `save_default_entry' call from the macosx case to the linux case.
17085
17086 2009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
17087 2009-10-25 Colin Watson <cjwatson@ubuntu.com>
17088
17089 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
17090 in `chosen' environment variable.
17091 * normal/menu_text.c (get_entry_number): Check if the variable
17092 matches the title of a menu entry.
17093 (run_menu): Pass menu to get_entry_number.
17094
17095 * util/grub-reboot.in: New file.
17096 * util/grub-set-default.in: New file.
17097 * conf/common.rmk (grub-reboot): New utility.
17098 (grub-set-default): New utility.
17099
17100 * util/grub-mkconfig_lib.in (save_default_entry): New function.
17101 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
17102 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
17103 move it to `saved_entry' for the next boot. Load environment on
17104 initialisation.
17105 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
17106 * util/grub.d/10_hurd.in: Likewise.
17107 * util/grub.d/10_linux.in (linux_entry): Likewise.
17108 * util/grub.d/10_windows.in: Likewise.
17109 * util/grub.d/30_os-prober.in: Likewise.
17110
17111 * util/grub-install.in: Create environment block.
17112 * util/i386/efi/grub-install.in: Likewise.
17113 * util/ieee1275/grub-install.in: Likewise.
17114 * util/sparc64/ieee1275/grub-install.in: Likewise.
17115
17116 2010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
17117
17118 Unit testing framework for GRUB.
17119
17120 * Makefile.in: Test framework build rules for 'make check'.
17121 * conf/tests.rmk: Build rules for individual tests and framework.
17122
17123 * include/grub/test.h: Header file for whitebox tests.
17124 * tests/lib/functional_test.c: Framework support for whitebox
17125 functional tests.
17126 * tests/lib/test.c: Common whitebox testing code for unit and
17127 functional tests.
17128 * tests/lib/unit_test.c: Framework support for whitebox unit
17129 tests.
17130
17131 * tests/util/grub-shell-tester.in: Support utility for grub-script
17132 tests.
17133 * tests/util/grub-shell.in: Utility to execute grub-script
17134 commands in a Qemu instance.
17135
17136 * tests/example_functional_test.c: Example whitebox functional
17137 test.
17138 * tests/example_grub_script_test.in: Example grub-script test.
17139 * tests/example_scripted_test.in: Example scripted test.
17140 * tests/example_unit_test.c: Example whitebox unit test.
17141
17142 2010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
17143
17144 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
17145 Add loader/i386/multiboot_mbi.c.
17146 (multiboot2_mod_SOURCES): Likewise.
17147 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
17148 (multiboot2_mod_SOURCES): Likewise.
17149 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
17150 (grub_multiboot_make_mbi): Likewise.
17151 (grub_multiboot_free_mbi): Likewise.
17152 (grub_multiboot_init_mbi): Likewise.
17153 (grub_multiboot_add_module): Likewise.
17154 (grub_multiboot_set_bootdev): Likewise.
17155 * loader/i386/multiboot.c (mbi): Removed.
17156 (mbi_dest): Likewise.
17157 (alloc_mbi): New variable.
17158 (grub_multiboot_payload_size): Removed. All users updated.
17159 (grub_multiboot_pure_size): New variable.
17160 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
17161 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
17162 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
17163 (grub_fill_multiboot_mmap): Likewise.
17164 (grub_multiboot_get_bootdev): Likewise.
17165 (grub_multiboot): Use multiboot_mbi functions.
17166 * loader/i386/multiboot_mbi.c: New file.
17167
17168 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
17169
17170 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
17171 it would result in module crash.
17172
17173 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
17174
17175 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
17176 (grub_ofconsole_getwh): Split to ...
17177 (grub_ofconsole_getwh): ... this.
17178 (grub_ofconsole_dimensions): ...and this.
17179 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
17180
17181 2010-01-13 Robert Millan <rmh.grub@aybabtu.com>
17182
17183 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
17184
17185 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
17186
17187 * loader/i386/pc/multiboot2.c: Removed stalled file.
17188
17189 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
17190
17191 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
17192 Reported by: Grégoire Sutre
17193
17194 2010-01-11 Robert Millan <rmh.grub@aybabtu.com>
17195
17196 * util/misc.c (canonicalize_file_name): New function.
17197 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
17198 instead of realpath().
17199
17200 2010-01-11 Colin Watson <cjwatson@ubuntu.com>
17201
17202 * util/grub-install.in (usage): Clarify meaning of --root-directory,
17203 and make it clearer that it's optional. Based on confusion
17204 witnessed on IRC.
17205
17206 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17207
17208 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
17209 in premature implicit newline.
17210
17211 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17212
17213 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
17214 which resulted in garbled command line at the end of screen.
17215
17216 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
17217
17218 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
17219 initialization with similar approach as with other Linux loaders.
17220
17221 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
17222
17223 Fix i386-ieee1275 build.
17224
17225 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
17226 and grub_term_height() for video_{width,height} initialization.
17227
17228 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
17229
17230 Fix grub-emu build.
17231
17232 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
17233
17234 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
17235 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
17236
17237 Support for multiple terminals.
17238
17239 * Makefile.in (pkglib_DATA): terminal.lst.
17240 (terminal.lst): New target.
17241 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
17242 (GRUB_MOD_INIT(handler)): Likewise.
17243 (GRUB_MOD_FINI(handler)): Likewise.
17244 * commands/help.c (grub_cmd_help): Handle multiple terminals.
17245 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
17246 * commands/sleep.c (do_print): Use grub_term_restore_pos.
17247 (grub_cmd_sleep): Use grub_term_save_pos.
17248 * commands/terminal.c: New file.
17249 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
17250 commands/terminal.c and lib/charset.c.
17251 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
17252 (pkglib_MODULES): Add terminal.mod.
17253 (terminal_mod_SOURCES): New variable.
17254 (terminal_mod_CFLAGS): Likewise.
17255 (terminal_mod_LDFLAGS): Likewise.
17256 * genhandlerlist.sh: Don't handle terminals.
17257 * genmk.rb: Generate terminal-*.lst.
17258 * genterminallist.sh: New file.
17259 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
17260 (grub_is_valid_utf8): Likewise.
17261 (grub_utf8_to_ucs4_alloc): Likewise.
17262 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
17263 (grub_menu_register_viewer): Changed argument.
17264 (grub_menu_try_text): New proto.
17265 (grub_gfxmenu_try_hook): New declaration.
17266 * include/grub/normal.h (grub_normal_exit_level): New declaration.
17267 (grub_menu_init_page): Additional argument term.
17268 (grub_normal_init_page): Likewise.
17269 (grub_cmdline_get): Arguments simplified.
17270 (grub_utf8_to_ucs4_alloc): Removed.
17271 (grub_print_ucs4): Additional argument term.
17272 (grub_getstringwidth): Likewise.
17273 (grub_print_message_indented): Likewise.
17274 (grub_menu_text_register_instances): New proto.
17275 (grub_show_menu): Likewise.
17276 (read_terminal_list): Likewise.
17277 (grub_set_more): Likewise.
17278 * include/grub/parser.h: Include handler.h.
17279 * include/grub/reader.h: Rewritten.
17280 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
17281 (GRUB_TERM_WIDTH): Changed to function.
17282 (GRUB_TERM_HEIGHT): Likewise.
17283 (GRUB_TERM_BORDER_WIDTH): Likewise.
17284 (GRUB_TERM_BORDER_HEIGHT): Likewise.
17285 (GRUB_TERM_NUM_ENTRIES): Likewise.
17286 (GRUB_TERM_ENTRY_WIDTH): Likewise.
17287 (GRUB_TERM_CURSOR_X): Likewise.
17288 (grub_term_input_class): Likewise.
17289 (grub_term_output_class): Likewise.
17290 (grub_term_outputs_disabled): New declaration.
17291 (grub_term_inputs_disabled): Likewise.
17292 (grub_term_outputs): Likewise.
17293 (grub_term_inputs): Likewise.
17294 (grub_term_register_input): Rewritten.
17295 (grub_term_register_output): Likewise.
17296 (grub_term_unregister_input): Likewise.
17297 (grub_term_unregister_output): Likewise.
17298 (FOR_ACTIVE_TERM_INPUTS): New macro.
17299 (FOR_DISABLED_TERM_INPUTS): Likewise.
17300 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
17301 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
17302 * include/grub/terminfo.h: Add oterm argument to all protypes.
17303 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
17304 Use grub_rescue_run.
17305 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
17306 All users updated.
17307 * kern/reader.c: Removed. All users updated.
17308 * kern/rescue_reader.c (grub_rescue_init): Removed.
17309 (grub_rescue_reader): Likewise.
17310 (grub_register_rescue_reader): Likewise.
17311 (grub_rescue_run): New function based on kern/reader.c.
17312 * kern/term.c: Adapted for multiterm.
17313 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
17314 (grub_is_valid_utf8): Likewise.
17315 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
17316 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
17317 right terminal.
17318 * loader/i386/linux.c (grub_linux_boot): Likewise.
17319 * normal/auth.c (grub_username_get): New function.
17320 (grub_auth_check_authentication): Use grub_username_get.
17321 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
17322 * normal/color.c: Adapt for multiterm.
17323 * normal/main.c (read_config_file): Don't use grub_reader_loop.
17324 (grub_normal_init_page): Additional argument term.
17325 (read_lists): Call read_terminal_lists.
17326 (grub_enter_normal_mode): Call grub_cmdline_run.
17327 Handle grub_normal_exit_level.
17328 (grub_cmd_normal): Make reentrant.
17329 (grub_cmd_normal_exit): New function.
17330 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
17331 * normal/menu.c: Adapt for multiterm.
17332 * normal/menu_entry.c: Likewise.
17333 * normal/menu_text.c: Likewise.
17334 * normal/menu_viewer.c: Removed. All users updated.
17335 * normal/term.c: New file.
17336 * util/console.c: Change order of includes to workaround a bug in
17337 ncurses headers.
17338 * term/terminfo.c: New argument oterm on all exported functions.
17339 All users updated.
17340 * util/grub-editenv.c (grub_term_input_class): Removed.
17341 (grub_term_output_class): Likewise.
17342
17343 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
17344
17345 Make loader output a bit more user-friendly.
17346
17347 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
17348 is being loaded. Likewise for the Hurd.
17349
17350 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
17351 that kernel of FreeBSD ${version} is being loaded.
17352
17353 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
17354 grub_dprintf().
17355 (grub_cmd_initrd): Likewise.
17356 * util/grub.d/10_linux.in (linux_entry): Print message indicating
17357 that Linux ${version} is being loaded. Likewise for initrd.
17358
17359 2010-01-09 Carles Pina i Estany <carles@pina.cat>
17360
17361 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
17362
17363 2010-01-08 Carles Pina i Estany <carles@pina.cat>
17364
17365 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
17366 (GRUB_MOD_INIT): Gettextizze.
17367 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
17368 (GRUB_MOD_INIT): Gettextizze.
17369 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
17370 (grub_cmd_linux): Capitalise Linux.
17371 (GRUB_MOD_INIT): Gettextizze.
17372 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
17373 (grub_cmd_linux): Capitalise Linux.
17374 (GRUB_MOD_INIT): Gettextizze.
17375 * loader/i386/linux.c: Include `<grub/i18n.h>'.
17376 (grub_cmd_linux): Capitalise Linux.
17377 (GRUB_MOD_INIT): Gettextizze.
17378 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
17379 (GRUB_MOD_INIT): Gettextizze.
17380 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
17381 (grub_cmd_linux): Capitalise Linux.
17382 (GRUB_MOD_INIT): Gettextizze.
17383 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
17384 (grub_cpu_xnu_init): Gettextizze.
17385 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
17386 (GRUB_MOD_INIT): Gettextizze.
17387 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
17388 (GRUB_MOD_INIT): Gettextizze.
17389 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
17390 (grub_linux_load64): Capitalise Linux.
17391 (GRUB_MOD_INIT): Gettextizze.
17392 * loader/xnu.c: Include `<grub/i18n.h>'.
17393 (GRUB_MOD_INIT): Gettextizze.
17394 * po/POTFILES: Add `loader/efi/appleloader.c',
17395 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
17396 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
17397 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
17398 `loader/i386/xnu.c', `loader/multiboot_loader.c',
17399 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
17400 and `loader/xnu.c'.
17401
17402 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
17403
17404 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
17405
17406 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
17407
17408 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
17409 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
17410 * util/mkisofs/mkisofs.c (main): Readjust --version output.
17411
17412 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
17413
17414 Reset Multiboot 2 support. New loader implements the draft in
17415 /branches/multiboot2 and shares as much code as possible with the
17416 production Multiboot 1 implementation.
17417
17418 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
17419 * loader/multiboot2.c: Likewise.
17420 * loader/i386/multiboot_helper.S: Likewise.
17421 * include/multiboot2.h: Replace with latest version from the draft
17422 in /branches/multiboot2.
17423
17424 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
17425 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
17426 and `loader/multiboot2.c'.
17427 (pkglib_MODULES): Add `multiboot2.mod'.
17428 (multiboot2_mod_SOURCES): New variable.
17429 (multiboot2_mod_LDFLAGS): Likewise.
17430 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
17431
17432 * conf/i386-pc.rmk: Likewise.
17433
17434 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
17435 (multiboot_mod_SOURCES): Remove variable.
17436 (multiboot_mod_LDFLAGS): Likewise.
17437 (multiboot_mod_CFLAGS): Likewise.
17438
17439 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
17440 `<multiboot2.h>' instead of `<multiboot.h>'.
17441 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
17442 (MULTIBOOT_HEADER_MAGIC): New macros.
17443
17444 * loader/multiboot_loader.c (module_version_status): Remove variable.
17445 (find_multi_boot2_header): Remove function.
17446 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
17447 logic. Always check for the Multiboot version we're compiling for.
17448 (grub_cmd_module_loader): Likewise.
17449 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
17450 command instead of `multiboot'.
17451
17452 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
17453
17454 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
17455 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
17456 all users.
17457
17458 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
17459 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
17460
17461 Fix breakage introduced with previous commit.
17462
17463 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
17464 commands.
17465 * normal/handler.c (read_handler_list): Revert part of previous commit
17466 affecting this file.
17467 * normal/main.c (read_lists): Move read_handler_list() call back to ...
17468 (grub_normal_execute): ... here.
17469
17470 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
17471
17472 Merge prefix-redefinition-fix branch.
17473
17474 * normal/autofs.c (read_fs_list): Make function capable of being
17475 run multiple times, gracefuly replacing the previous data
17476 structures.
17477 * normal/dyncmd.c (read_command_list): Likewise.
17478 * normal/handler.c (read_handler_list): Likewise.
17479 * normal/main.c (read_lists): New function. Calls all the
17480 list reading functions.
17481 (grub_normal_execute): Use read_lists() instead of calling all
17482 list reading functions explicitly. Register read_lists() as a
17483 variable hook attached to ${prefix}.
17484
17485 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
17486
17487 Merge crypto branch.
17488
17489 * Makefile.in (pkglib_DATA): Add crypto.lst.
17490 (crypto.lst): New target.
17491 * commands/hashsum.c: New file.
17492 * commands/password.c (check_password): Use grub_crypto_memcmp.
17493 * commands/password_pbkdf2.c: New file.
17494 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
17495 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
17496 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
17497 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
17498 -I$(srcdir)/lib/libgcrypt_wrap.
17499 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
17500 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
17501 password_pbkdf2.mod.
17502 (crypto_mod_SOURCES): New variable.
17503 (crypto_mod_CFLAGS): Likewise.
17504 (crypto_mod_LDFLAGS): Likewise.
17505 (hashsum_mod_SOURCES): New variable.
17506 (hashsum_mod_CFLAGS): Likewise.
17507 (hashsum_mod_LDFLAGS): Likewise.
17508 (pbkdf2_mod_SOURCES): New variable.
17509 (pbkdf2_mod_CFLAGS): Likewise.
17510 (pbkdf2_mod_LDFLAGS): Likewise.
17511 (password_pbkdf2_mod_SOURCES): New variable.
17512 (password_pbkdf2_mod_CFLAGS): Likewise.
17513 (password_pbkdf2_mod_LDFLAGS): Likewise.
17514 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
17515 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
17516 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
17517 Include conf/gcry.rmk.
17518 * include/grub/auth.h: Rewritten.
17519 * include/grub/crypto.h: New file.
17520 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
17521 * include/grub/normal.h (read_crypto_list): New prototype.
17522 * lib/crypto.c: New file.
17523 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
17524 * lib/pbkdf2.c: Likewise.
17525 * normal/auth.c (grub_auth_strcmp): Removed.
17526 (grub_iswordseparator): Likewise.
17527 (grub_auth_strword): Likewise.
17528 (is_authenticated): Use grub_strword.
17529 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
17530 and grub_strword. Pass entered password to authentication callback.
17531 * normal/crypto.c: New file.
17532 * normal/main.c: Call read_crypto_list.
17533 * util/grub-mkpasswd-pbkdf2.c: New file.
17534 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
17535
17536 2010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
17537
17538 Fix descent and ascent calculation.
17539
17540 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
17541 (options): New option "asce".
17542 (usage): Likewise.
17543 (add_char): Ignore invalid glyphs for descent calculation.
17544 Calculate ascent from actual content.
17545 (print_glyphs): Use 'asce'.
17546 (write_font): Likewise. Allow ascent override.
17547 (main): Handle "asce" option.
17548
17549 2010-01-06 Carles Pina i Estany <carles@pina.cat>
17550
17551 * kern/err.c: Include `<grub/i18n.h>'.
17552 (grub_print_error): Add full stop. Gettextizze.
17553 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
17554 (grub_bsd_load_elf): Capitalise ELF.
17555 (grub_cmd_freebsd_loadenv): Add `s' in error string.
17556 (grub_cmd_freebsd_module): Likewise.
17557 (grub_cmd_freebsd_module_elf): Likewise.
17558 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
17559
17560 2010-01-06 Carles Pina i Estany <carles@pina.cat>
17561
17562 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
17563 * commands/search_file.c (HELP_MESSAGE): New macro.
17564 * commands/search_label.c (HELP_MESSAGE): Likewise.
17565 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
17566 * po/POTFILES: Add `commands/search_file.c',
17567 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
17568 `commands/search.c'.
17569
17570 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
17571
17572 * config.rpath: Update from Gnulib.
17573
17574 2010-01-05 Yves Blusseau <blusseau@zetam.org>
17575
17576 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
17577
17578 2010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
17579
17580 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
17581
17582 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
17583
17584 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
17585 arguments to fread so that we get a return value in bytes, rather
17586 than something that will normally be rounded down to 0.
17587 Adjust error handling to avoid producing garbage when size_t is not
17588 the same size as long long.
17589
17590 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
17591
17592 * util/mkisofs/write.c (padblock_write): Check return value of
17593 fread.
17594
17595 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
17596
17597 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
17598 floppy images now.
17599
17600 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
17601
17602 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
17603
17604 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
17605 instead of manual alignment.
17606 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
17607 verbose). Avoid attempts to read past end of the device
17608 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
17609 but GRUB_DISK_CACHE_SIZE may exceed that).
17610
17611 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
17612
17613 * commands/crc.c (grub_cmd_crc): Abort on read errors.
17614 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
17615 it to upper layer.
17616
17617 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
17618
17619 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
17620 New constant.
17621 (grub_efi_piwg_device_path): New structure
17622 (grub_efi_piwg_device_path_t): New type.
17623 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
17624 (devpath_1): Transform to a structure. All users updated.
17625 (devpath_2): Likewise.
17626 (devpath_3): Likewise.
17627 (devpath_4): Likewise.
17628 (devpath_5): Likewise.
17629
17630 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
17631
17632 * loader/efi/appleloader.c: Restored. Update all users.
17633
17634 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
17635
17636 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
17637
17638 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
17639 (struct boot_blocklist): Move from here ...
17640 * include/grub/i386/pc/boot.h [ASM_FILE]
17641 (struct grub_boot_blocklist): ... to here. Update all users.
17642 (setup): Only initialize `start' member of `first_block'
17643 structure. Add assert() calls to verify the other members.
17644
17645 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
17646 (generate_image): Fix broken blocklist length initialization.
17647 Add assert() call to verify blocklist `segment' field.
17648
17649 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
17650
17651 * loader/efi/appleloader.c: Remove. Update all users.
17652
17653 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
17654
17655 * boot/i386/pc/boot.S: Update copyright year.
17656 * boot/i386/pc/cdboot.S: Likewise.
17657 * boot/i386/pc/diskboot.S: Likewise.
17658 * boot/i386/pc/lnxboot.S: Likewise.
17659 * boot/i386/pc/pxeboot.S: Likewise.
17660 * bus/pci.c: Likewise.
17661 * commands/cmp.c: Likewise.
17662 * commands/help.c: Likewise.
17663 * commands/hexdump.c: Likewise.
17664 * commands/i386/pc/halt.c: Likewise.
17665 * commands/i386/pc/play.c: Likewise.
17666 * commands/i386/pc/vbeinfo.c: Likewise.
17667 * commands/ls.c: Likewise.
17668 * commands/test.c: Likewise.
17669 * disk/dmraid_nvidia.c: Likewise.
17670 * disk/i386/pc/biosdisk.c: Likewise.
17671 * disk/ieee1275/nand.c: Likewise.
17672 * disk/ieee1275/ofdisk.c: Likewise.
17673 * disk/lvm.c: Likewise.
17674 * disk/raid.c: Likewise.
17675 * disk/raid6_recover.c: Likewise.
17676 * disk/scsi.c: Likewise.
17677 * fs/affs.c: Likewise.
17678 * fs/cpio.c: Likewise.
17679 * fs/ext2.c: Likewise.
17680 * fs/hfs.c: Likewise.
17681 * fs/iso9660.c: Likewise.
17682 * fs/ntfs.c: Likewise.
17683 * fs/sfs.c: Likewise.
17684 * fs/udf.c: Likewise.
17685 * fs/ufs.c: Likewise.
17686 * fs/xfs.c: Likewise.
17687 * gencmdlist.sh: Likewise.
17688 * genmk.rb: Likewise.
17689 * include/grub/disk.h: Likewise.
17690 * include/grub/efi/api.h: Likewise.
17691 * include/grub/efi/efi.h: Likewise.
17692 * include/grub/efi/pe32.h: Likewise.
17693 * include/grub/elf.h: Likewise.
17694 * include/grub/fs.h: Likewise.
17695 * include/grub/i386/at_keyboard.h: Likewise.
17696 * include/grub/i386/pc/memory.h: Likewise.
17697 * include/grub/i386/pc/vbe.h: Likewise.
17698 * include/grub/i386/pci.h: Likewise.
17699 * include/grub/i386/tsc.h: Likewise.
17700 * include/grub/ieee1275/ieee1275.h: Likewise.
17701 * include/grub/ntfs.h: Likewise.
17702 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
17703 * include/grub/sparc64/libgcc.h: Likewise.
17704 * include/grub/symbol.h: Likewise.
17705 * include/grub/types.h: Likewise.
17706 * include/multiboot2.h: Likewise.
17707 * io/gzio.c: Likewise.
17708 * kern/device.c: Likewise.
17709 * kern/disk.c: Likewise.
17710 * kern/efi/efi.c: Likewise.
17711 * kern/efi/mm.c: Likewise.
17712 * kern/elf.c: Likewise.
17713 * kern/file.c: Likewise.
17714 * kern/i386/dl.c: Likewise.
17715 * kern/i386/pc/init.c: Likewise.
17716 * kern/i386/pc/startup.S: Likewise.
17717 * kern/ieee1275/ieee1275.c: Likewise.
17718 * kern/ieee1275/init.c: Likewise.
17719 * kern/main.c: Likewise.
17720 * kern/mm.c: Likewise.
17721 * kern/powerpc/dl.c: Likewise.
17722 * kern/sparc64/dl.c: Likewise.
17723 * kern/x86_64/dl.c: Likewise.
17724 * lib/hexdump.c: Likewise.
17725 * loader/efi/appleloader.c: Likewise.
17726 * loader/i386/ieee1275/linux.c: Likewise.
17727 * loader/i386/pc/chainloader.c: Likewise.
17728 * loader/i386/pc/linux.c: Likewise.
17729 * loader/i386/pc/multiboot2.c: Likewise.
17730 * loader/ieee1275/multiboot2.c: Likewise.
17731 * loader/multiboot2.c: Likewise.
17732 * loader/multiboot_loader.c: Likewise.
17733 * loader/powerpc/ieee1275/linux.c: Likewise.
17734 * normal/completion.c: Likewise.
17735 * normal/menu_entry.c: Likewise.
17736 * partmap/apple.c: Likewise.
17737 * util/grub.d/10_hurd.in: Likewise.
17738 * util/hostfs.c: Likewise.
17739 * video/readers/png.c: Likewise.
17740
17741 2010-01-03 Colin Watson <cjwatson@ubuntu.com>
17742
17743 * include/grub/misc.h (GNUC_PREREQ): New macro.
17744 (ATTRIBUTE_ERROR): New macro.
17745 * include/grub/list.h (grub_bad_type_cast_real): Use
17746 ATTRIBUTE_ERROR.
17747
17748 2010-01-03 Carles Pina i Estany <carles@pina.cat>
17749
17750 * normal/menu_text.c (print_message): Change messages.
17751
17752 2010-01-03 Carles Pina i Estany <carles@pina.cat>
17753
17754 * normal/menu_entry.c (store_completion): Gettextizze.
17755
17756 2010-01-03 Carles Pina i Estany <carles@pina.cat>
17757
17758 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
17759
17760 2010-01-03 Carles Pina i Estany <carles@pina.cat>
17761
17762 * po/POTFILES: Sort correctly.
17763
17764 2010-01-03 Carles Pina i Estany <carles@pina.cat>
17765
17766 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
17767 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
17768 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
17769 full stop.
17770 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
17771 summary. Gettextizze the strings.
17772 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
17773 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
17774 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
17775 full stop.
17776 (GRUB_MOD_INIT): Remove command name from summary.
17777 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
17778 summary.
17779 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
17780 * term/i386/pc/serial.c (options): Add full stops.
17781 (GRUB_MOD_INIT): Remove command name from the summary.
17782
17783 2010-01-03 Carles Pina i Estany <carles@pina.cat>
17784
17785 * commands/acpi.c: Gettextizze help strings and/or options. Include
17786 `grub/i18n.h' if needed.
17787 * commands/blocklist.c: Likewise.
17788 * commands/boot.c: Likewise.
17789 * commands/cat.c: Likewise.
17790 * commands/cmp.c: Likewise.
17791 * commands/configfile.c: Likewise.
17792 * commands/crc.c: Likewise.
17793 * commands/date.c: Likewise.
17794 * commands/echo.c: Likewise.
17795 * commands/efi/fixvideo.c: Likewise.
17796 * commands/efi/loadbios.c: Likewise.
17797 * commands/gptsync.c: Likewise.
17798 * commands/halt.c: Likewise.
17799 * commands/handler.c: Likewise.
17800 * commands/hdparm.c: Likewise.
17801 * commands/hexdump.c: Likewise.
17802 * commands/i386/cpuid.c: Likewise.
17803 * commands/i386/pc/drivemap.c: Likewise.
17804 * commands/i386/pc/halt.c: Likewise.
17805 * commands/i386/pc/pxecmd.c: Likewise.
17806 * commands/i386/pc/vbeinfo.c: Likewise.
17807 * commands/i386/pc/vbetest.c: Likewise.
17808 * commands/ieee1275/suspend.c: Likewise.
17809 * commands/keystatus.c: Likewise.
17810 * commands/loadenv.c: Likewise.
17811 * commands/ls.c: Likewise.
17812 * commands/lsmmap.c: Likewise.
17813 * commands/lspci.c: Likewise.
17814 * commands/memrw.c: Likewise.
17815 * commands/minicmd.c: Likewise.
17816 * commands/parttool.c: Likewise.
17817 * commands/password.c: Likewise.
17818 * commands/probe.c: Likewise.
17819 * commands/read.c: Likewise.
17820 * commands/reboot.c: Likewise.
17821 * commands/search.c: Likewise.
17822 * commands/sleep.c: Likewise.
17823 * commands/test.c: Likewise.
17824 * commands/true.c: Likewise.
17825 * commands/usbtest.c: Likewise.
17826 * commands/videotest.c: Likewise.
17827 * commands/xnu_uuid.c: Likewise.
17828 * disk/loopback.c: Likewise.
17829 * hello/hello.c: Likewise.
17830 * loader/i386/bsd.c: Likewise.
17831 * term/i386/pc/serial.c: Likewise.
17832 * po/POTFILES: Add new files.
17833
17834 2010-01-02 Colin Watson <cjwatson@ubuntu.com>
17835
17836 * term/i386/pc/at_keyboard.c
17837 (keyboard_controller_wait_untill_ready): Rename to ...
17838 (keyboard_controller_wait_until_ready): ... this. Update all users.
17839
17840 2010-01-01 Carles Pina i Estany <carles@pina.cat>
17841
17842 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
17843 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
17844 string using string width.
17845 * normal/menu_text.c (grub_print_message_indented): Use
17846 grub_print_spaces and not print_spaces.
17847 (print_timeout): Likewise.
17848 (print_spaces): Move to...
17849 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
17850
17851 2010-01-01 Robert Millan <rmh.grub@aybabtu.com>
17852
17853 Import from Gnulib.
17854
17855 * gnulib/getdelim.c: New file.
17856 * gnulib/getline.c: Likewise.
17857
17858 2009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
17859
17860 * include/grub/list.h (grub_assert_fail): Removed.
17861 (grub_bad_type_cast_real): New function.
17862 (grub_bad_type_cast): New macro.
17863 (GRUB_AS_LIST): Use grub_bad_type_cast.
17864 (GRUB_AS_LIST_P): Likewise.
17865 (GRUB_AS_NAMED_LIST): Likewise.
17866 (GRUB_AS_NAMED_LIST_P): Likewise.
17867 (GRUB_AS_PRIO_LIST): Likewise.
17868 (GRUB_AS_PRIO_LIST_P): Likewise.
17869 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
17870
17871 2009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
17872
17873 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
17874 Fix syntax error.
17875
17876 2009-12-29 Robert Millan <rmh.grub@aybabtu.com>
17877
17878 * configure.ac: Check for TARGET_CFLAGS initialization before we
17879 initialize it ourselves (sigh).
17880 Move a few modifications to TARGET_CFLAGS to be unconditional
17881 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
17882 eh_frame)
17883
17884 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
17885 * term/i386/pc/at_keyboard.c
17886 (keyboard_controller_wait_untill_ready): Likewise.
17887 (keyboard_controller_led): Rename `led_status' paramter to avoid
17888 name conflict.
17889
17890 2009-12-28 Carles Pina i Estany <carles@pina.cat>
17891
17892 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
17893 quotes.
17894
17895 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
17896
17897 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
17898
17899 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
17900
17901 * normal/menu_text.c (grub_print_message_indented): Prevent
17902 past-the-end-of-array dereference.
17903
17904 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
17905
17906 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
17907 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
17908
17909 2009-12-27 Carles Pina i Estany <carles@pina.cat>
17910
17911 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
17912 * normal/main.c (grub_normal_read_line): Remove a space from the
17913 default prompt.
17914
17915 2009-12-27 Carles Pina i Estany <carles@pina.cat>
17916
17917 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
17918 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
17919 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
17920 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
17921 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
17922 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
17923 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
17924
17925 2009-12-26 Carles Pina i Estany <carles@pina.cat>
17926
17927 * video/readers/jpeg.c (cmd): Declare.
17928 (grub_cmd_jpegtest): Use `grub_command_t' type.
17929 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
17930 Assign to `cmd'.
17931 (GRUB_MOD_FINI): Use `cmd' to unregister.
17932 * video/readers/png.c (cmd): Declare.
17933 (grub_cmd_pngtest): Use `grub_command_t' type.
17934 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
17935 Assign to `cmd'.
17936 (GRUB_MOD_FINI): Use `cmd' to unregister.
17937 * video/readers/tga.c (cmd): Declare.
17938 (grub_cmd_tgatest): Use `grub_command_t' type.
17939 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
17940 Assign to `cmd'.
17941 (GRUB_MOD_FINI): Use `cmd' to unregister.
17942
17943 2009-12-26 Carles Pina i Estany <carles@pina.cat>
17944
17945 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
17946 stops.
17947 * kern/corecmd.c (grub_register_core_commands): Likewise.
17948 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
17949 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
17950 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
17951 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
17952 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
17953 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
17954 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
17955 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
17956 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
17957 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
17958 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
17959 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
17960 * normal/handler.c (insert_handler): Likewise.
17961 * normal/main.c (GRUB_MOD_INIT): Likewise.
17962 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
17963
17964 2009-12-26 Carles Pina i Estany <carles@pina.cat>
17965
17966 * commands/help.c (grub_cmd_help): Print the command name before the
17967 summary.
17968 (GRUB_MOD_INIT): Remove command name from the summary.
17969 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
17970 string as summary.
17971 * lib/arg.c (find_long): Print the command name before the summary.
17972 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
17973 summary.
17974 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
17975 * commands/cat.c (GRUB_MOD_INIT): Likewise.
17976 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
17977 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
17978 * commands/crc.c (GRUB_MOD_INIT): Likewise.
17979 * commands/date.c (GRUB_MOD_INIT): Likewise.
17980 * commands/echo.c (GRUB_MOD_INIT): Likewise.
17981 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
17982 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
17983 * commands/handler.c (GRUB_MOD_INIT): Likewise.
17984 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
17985 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
17986 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
17987 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
17988 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
17989 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
17990 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
17991 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
17992 * commands/ls.c (GRUB_MOD_INIT): Likewise.
17993 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
17994 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
17995 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
17996 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
17997 * commands/password.c (GRUB_MOD_INIT): Likewise.
17998 * commands/probe.c (GRUB_MOD_INIT): Likewise.
17999 * commands/read.c (GRUB_MOD_INIT): Likewise.
18000 * commands/search.c (GRUB_MOD_INIT): Likewise.
18001 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
18002 * commands/test.c (GRUB_MOD_INIT): Likewise.
18003 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
18004 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
18005 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
18006 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
18007 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
18008 * lib/arg.c (GRUB_MOD_INIT): Likewise.
18009 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
18010 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
18011 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
18012 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
18013 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
18014 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
18015 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
18016 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
18017
18018 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
18019
18020 Use search command for preliminar UUID search.
18021
18022 * commands/search.c: Split into ...
18023 * commands/search_wrap.c: ...this
18024 * commands/search.c: ...and this.
18025 * commands/search_file.c: New file.
18026 * commands/search_label.c: New file.
18027 * commands/search_uuid.c: New file.
18028 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
18029 Add commands/search_wrap.c, commands/search_file.c,
18030 commands/search_label.c and commands/search_uuid.c.
18031 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
18032 (search_mod_SOURCES): Set to commands/search_wrap.c.
18033 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
18034 search_label.mod.
18035 (search_fs_file_mod_SOURCES): New variable.
18036 (search_fs_file_mod_CFLAGS): Likewise.
18037 (search_fs_file_mod_LDFLAGS): Likewise.
18038 (search_label_mod_SOURCES): Likewise.
18039 (search_label_mod_CFLAGS): Likewise.
18040 (search_label_mod_LDFLAGS): Likewise.
18041 (search_fs_uuid_mod_SOURCES): New variable.
18042 (search_fs_uuid_mod_CFLAGS): Likewise.
18043 (search_fs_uuid_mod_LDFLAGS): Likewise.
18044 (fs_file_mod_SOURCES): Removed.
18045 (fs_file_mod_CFLAGS): Likewise.
18046 (fs_file_mod_LDFLAGS): Likewise.
18047 (fs_uuid_mod_SOURCES): Removed.
18048 (fs_uuid_mod_CFLAGS): Likewise.
18049 (fs_uuid_mod_LDFLAGS): Likewise.
18050 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
18051 Set to util/grub-install.in.
18052 * disk/fs_file.c: Removed.
18053 * disk/fs_uuid.c: Likewise.
18054 * include/grub/search.h: New file.
18055 * util/grub-install.in: Handle sparc64.
18056 Create and use load.cfg.
18057 * util/sparc64/ieee1275/grub-install.in: Removed.
18058
18059 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
18060
18061 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
18062 Ignore return status if CF is cleared.
18063 (grub_biosdisk_get_diskinfo_standard): Likewise.
18064
18065 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
18066
18067 * term/i386/pc/at_keyboard.c
18068 (keyboard_controller_wait_untill_ready): New function.
18069 (grub_keyboard_controller_write, grub_keyboard_controller_read)
18070 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
18071 for keyboard polling, rather than duplicate the same loop. This
18072 saves a few bytes in code size.
18073
18074 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
18075
18076 Support for (pxe[:server[:gateway]]) syntax and
18077 use environment variable for PXE.
18078
18079 * commands/i386/pc/pxecmd.c (options): Removed.
18080 (print_ip): Removed.
18081 (grub_cmd_pxe): Removed
18082 (grub_cmd_pxe_unload): New function.
18083 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
18084 (grub_pxe_your_ip): Made static.
18085 (grub_pxe_default_server_ip): Likewise.
18086 (grub_pxe_default_gateway_ip): Likewise.
18087 (grub_pxe_blksize): Likewise.
18088 (parse_ip): New function.
18089 (grub_pxe_open): Support server and gateway specification.
18090 (grub_pxe_close): Free disk->data.
18091 (grub_pxefs_open): Use disk->data.
18092 (grub_pxefs_read): Likewise.
18093 (grub_env_write_readonly): New function.
18094 (set_mac_env): Likewise.
18095 (set_env_limn_ro): Likewise.
18096 (parse_dhcp_vendor): Likewise.
18097 (grub_pxe_detect): Set the environment variables.
18098 (set_ip_env): New function.
18099 (write_ip_env): Likewise.
18100 (grub_env_write_pxe_default_server): Likewise.
18101 (grub_env_write_pxe_default_gateway): Likewise.
18102 (grub_env_write_pxe_blocksize): Likewise.
18103 (GRUB_MOD_INIT(pxe)): Set environment variables.
18104 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
18105 (grub_pxe_mac_addr_t): ... this. All users updated.
18106 (grub_pxe_your_ip): Removed.
18107 (grub_pxe_server_ip): Likewise.
18108 (grub_pxe_gateway_ip): Likewise.
18109 (grub_pxe_blksize): Likewise.
18110
18111 2009-12-25 Carles Pina i Estany <carles@pina.cat>
18112
18113 * commands/help.c: Include `<grub/i18n.h>'.
18114 (grub_cmd_help): Gettextizze.
18115 (GRUB_MOD_INIT): Likewise.
18116 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
18117 (GRUB_MOD_INIT): Gettextizze.
18118 * commands/search.c: Include `<grub/i18n.h>'.
18119 (options): Gettextizze.
18120 (GRUB_MOD_INIT): Gettextizze.
18121 * lib/arg.c: Include `<grub/i18n.h>'.
18122 (help_options): Gettextizze.
18123 (find_long): Likewise.
18124 (grub_arg_show_help): Likewise.
18125 * normal/dyncmd.c: Include `<grub/i18n.h>'.
18126 (read_command_list): Gettextizze.
18127 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
18128 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
18129
18130 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
18131
18132 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
18133 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
18134 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
18135 (led_status): New variable.
18136 (keyboard_controller_led): New function.
18137 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
18138 update led status for caps lock, num lock and scroll lock.
18139
18140 2009-12-25 Felix Zielcke <fzielcke@z-51.de>
18141
18142 * util/hostdisk.c (open_device): Fix a comment.
18143
18144 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
18145
18146 * util/grub-install.in (host_os): New variable.
18147 * util/i386/efi/grub-install.in (host_os): Likewise.
18148
18149 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
18150
18151 * util/mkisofs/write.c (padblock_write): Abort when given an
18152 excedingly large embed image, instead of silently truncating it.
18153
18154 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
18155
18156 * include/multiboot.h: Indentation fixes.
18157
18158 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
18159
18160 * include/multiboot.h (struct multiboot_aout_symbol_table)
18161 (struct multiboot_elf_section_header_table): New structure
18162 declarations (stolen from GRUB Legacy).
18163 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
18164 table information.
18165
18166 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
18167 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
18168 type aliases.
18169
18170 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
18171
18172 * include/multiboot.h: Make comments src2texi-friendly.
18173
18174 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
18175
18176 For consistency with [multiboot]/docs/boot.S.
18177
18178 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
18179 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
18180 (MULTIBOOT_MAGIC2): Rename from this ...
18181 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
18182
18183 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
18184
18185 * include/multiboot.h: Remove `<grub/types.h>'.
18186 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
18187 types. Update all users.
18188
18189 2009-12-25 Carles Pina i Estany <carles@pina.cat>
18190
18191 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
18192 `couldn't' and `can not' by `cannot'.
18193 * commands/i386/pc/drivemap.c: Likewise.
18194 * disk/ata.c: Likewise.
18195 * disk/ieee1275/nand.c: Likewise.
18196 * fs/affs.c: Likewise.
18197 * fs/fat.c: Likewise.
18198 * fs/hfs.c: Likewise.
18199 * fs/hfsplus.c: Likewise.
18200 * fs/iso9660.c: Likewise.
18201 * fs/jfs.c: Likewise.
18202 * fs/minix.c: Likewise.
18203 * fs/reiserfs.c: Likewise.
18204 * fs/sfs.c: Likewise.
18205 * fs/udf.c: Likewise.
18206 * fs/ufs.c: Likewise.
18207 * fs/xfs.c: Likewise.
18208 * loader/powerpc/ieee1275/linux.c: Likewise.
18209 * loader/sparc64/ieee1275/linux.c: Likewise.
18210 * util/grub-probe.c: Likewise.
18211 * util/misc.c: Likewise.
18212
18213 2009-12-24 Carles Pina i Estany <carles@pina.cat>
18214
18215 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
18216 grub_errno calls.
18217 * commands/acpi.c: Likewise.
18218 * commands/blocklist.c: Likewise.
18219 * commands/efi/loadbios.c: Likewise.
18220 * commands/i386/pc/drivemap.c: Likewise.
18221 * commands/loadenv.c: Likewise.
18222 * commands/memrw.c: Likewise.
18223 * commands/password.c: Likewise.
18224 * commands/videotest.c: Likewise.
18225 * disk/ata.c: Likewise.
18226 * disk/ata_pthru.c: Likewise.
18227 * disk/dmraid_nvidia.c: Likewise.
18228 * disk/ieee1275/nand.c: Likewise.
18229 * disk/ieee1275/ofdisk.c: Likewise.
18230 * disk/loopback.c: Likewise.
18231 * disk/lvm.c: Likewise.
18232 * disk/mdraid_linux.c: Likewise.
18233 * disk/raid.c: Likewise.
18234 * disk/raid6_recover.c: Likewise.
18235 * disk/scsi.c: Likewise.
18236 * efiemu/main.c: Likewise.
18237 * efiemu/mm.c: Likewise.
18238 * efiemu/pnvram.c: Likewise.
18239 * efiemu/symbols.c: Likewise.
18240 * font/font.c: Likewise.
18241 * fs/cpio.c: Likewise.
18242 * fs/hfsplus.c: Likewise.
18243 * fs/iso9660.c: Likewise.
18244 * fs/jfs.c: Likewise.
18245 * fs/minix.c: Likewise.
18246 * fs/ntfs.c: Likewise.
18247 * fs/ntfscomp.c: Likewise.
18248 * fs/reiserfs.c: Likewise.
18249 * fs/ufs.c: Likewise.
18250 * fs/xfs.c: Likewise.
18251 * gettext/gettext.c: Likewise.
18252 * include/grub/auth.h: Likewise.
18253 * kern/elf.c: Likewise.
18254 * kern/file.c: Likewise.
18255 * kern/ieee1275/init.c: Likewise.
18256 * kern/ieee1275/mmap.c: Likewise.
18257 * kern/ieee1275/openfw.c: Likewise.
18258 * kern/powerpc/dl.c: Likewise.
18259 * kern/sparc64/dl.c: Likewise.
18260 * lib/arg.c: Likewise.
18261 * loader/i386/bsd.c: Likewise.
18262 * loader/i386/bsdXX.c: Likewise.
18263 * loader/i386/efi/linux.c: Likewise.
18264 * loader/i386/efi/xnu.c: Likewise.
18265 * loader/i386/ieee1275/linux.c: Likewise.
18266 * loader/i386/linux.c: Likewise.
18267 * loader/i386/multiboot.c: Likewise.
18268 * loader/i386/pc/linux.c: Likewise.
18269 * loader/i386/pc/multiboot2.c: Likewise.
18270 * loader/i386/xnu.c: Likewise.
18271 * loader/ieee1275/multiboot2.c: Likewise.
18272 * loader/macho.c: Likewise.
18273 * loader/machoXX.c: Likewise.
18274 * loader/multiboot2.c: Likewise.
18275 * loader/multiboot_loader.c: Likewise.
18276 * loader/powerpc/ieee1275/linux.c: Likewise.
18277 * loader/sparc64/ieee1275/linux.c: Likewise.
18278 * loader/xnu.c: Likewise.
18279 * loader/xnu_resume.c: Likewise.
18280 * mmap/i386/pc/mmap.c: Likewise.
18281 * normal/menu_viewer.c: Likewise.
18282 * partmap/acorn.c: Likewise.
18283 * partmap/amiga.c: Likewise.
18284 * partmap/apple.c: Likewise.
18285 * script/lexer.c: Likewise.
18286 * term/gfxterm.c: Likewise.
18287 * term/i386/pc/serial.c: Likewise.
18288 * term/i386/pc/vga.c: Likewise.
18289 * term/ieee1275/ofconsole.c: Likewise.
18290 * term/terminfo.c: Likewise.
18291 * video/bitmap.c: Likewise.
18292 * video/efi_gop.c: Likewise.
18293 * video/efi_uga.c: Likewise.
18294 * video/fb/video_fb.c: Likewise.
18295 * video/i386/pc/vbe.c: Likewise.
18296 * video/readers/tga.c: Likewise.
18297 * video/video.c: Likewise.
18298
18299 2009-12-23 Felix Zielcke <fzielcke@z-51.de>
18300
18301 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
18302 * commands/lspci.c: Likewise.
18303 * commands/probe.c: Likewise.
18304 * commands/xnu_uuid.c: Likewise.
18305 * conf/i386-coreboot.rmk: Likewise.
18306 * conf/i386-efi.rmk: Likewise.
18307 * conf/i386-ieee1275.rmk: Likewise.
18308 * conf/i386-pc.rmk: Likewise.
18309 * conf/powerpc-ieee1275.rmk: Likewise.
18310 * conf/sparc64-ieee1275.rmk: Likewise.
18311 * conf/x86_64-efi.rmk: Likewise.
18312 * fs/i386/pc/pxe.c: Likewise.
18313 * gettext/gettext.c: Likewise.
18314 * include/grub/efi/graphics_output.h: Likewise.
18315 * include/grub/i386/pc/memory.h: Likewise.
18316 * kern/env.c: Likewise.
18317 * kern/i386/qemu/startup.S: Likewise.
18318 * lib/i386/pc/biosnum.c: Likewise.
18319 * lib/i386/relocator.c: Likewise.
18320 * lib/i386/relocator_asm.S: Likewise.
18321 * lib/relocator.c: Likewise.
18322 * loader/i386/bsd.c: Likewise.
18323 * loader/i386/multiboot.c: Likewise.
18324 * loader/i386/pc/chainloader.c: Likewise.
18325 * loader/i386/xnu.c: Likewise.
18326 * loader/xnu.c: Likewise.
18327 * normal/main.c: Likewise.
18328 * normal/menu_text.c: Likewise.
18329 * util/getroot.c: Likewise.
18330 * util/grub-mkconfig_lib.in: Likewise.
18331 * util/grub.d/00_header.in: Likewise.
18332 * util/i386/pc/grub-mkimage.c: Likewise.
18333 * util/mkisofs/eltorito.c: Likewise.
18334 * util/mkisofs/exclude.h: Likewise.
18335 * util/mkisofs/hash.c: Likewise.
18336 * util/mkisofs/iso9660.h: Likewise.
18337 * util/mkisofs/joliet.c: Likewise.
18338 * util/mkisofs/mkisofs.c: Likewise.
18339 * util/mkisofs/mkisofs.h: Likewise.
18340 * util/mkisofs/multi.c: Likewise.
18341 * util/mkisofs/name.c: Likewise.
18342 * util/mkisofs/rock.c: Likewise.
18343 * util/mkisofs/tree.c: Likewise.
18344 * util/mkisofs/write.c: Likewise.
18345 * video/efi_gop.c: Likewise.
18346
18347 2009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
18348
18349 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
18350 size counting.
18351
18352 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
18353
18354 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
18355 * genmk.rb (class SCRIPT): Modify the target file instead of source.
18356
18357 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
18358
18359 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
18360 (GRUB_MOD_INIT(memrw)): Update help line.
18361
18362 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
18363
18364 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
18365 Use grub_extcmd_t. All users updated.
18366 (options): New variable.
18367 (grub_cmd_read): Restructure for readability. Support "-v" option.
18368 (grub_cmd_write): Restructure for readability.
18369
18370 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
18371
18372 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
18373
18374 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
18375
18376 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
18377 with the actual contents of the correspondending make variable.
18378 * util/grub-mkrescue.in (pkglib_DATA): New variable.
18379 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
18380 specifying `*.lst' and `efiemu??.o'
18381
18382 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
18383
18384 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
18385 after function name.
18386 Noticed by Rene Engelhard <rene@debian.org>.
18387
18388 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
18389
18390 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
18391 (options): New variable.
18392 (iospace): Likewise.
18393 (grub_lspci_iter): List IO spaces if "-i" was given.
18394 (grub_cmd_lspci): Parse options.
18395 (GRUB_MOD_INIT(lspci)): Use extcmd.
18396 (GRUB_MOD_FINI(lspci)): Likewise.
18397
18398 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
18399
18400 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
18401 `function' keyword.
18402 Patch by Tony Mancill <tmancill@debian.org>.
18403
18404 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
18405
18406 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
18407 (grub_uhci_portstatus): Likewise.
18408 (grub_uhci_portstatus): Add necessary delay.
18409 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
18410
18411 2009-12-21 Carles Pina i Estany <carles@pina.cat>
18412
18413 * commands/acpi.c (options): Fix capitalizations and/or full stops.
18414 (GRUB_MOD_INIT): Likewise.
18415 * commands/boot.c (GRUB_MOD_INIT): Likewise.
18416 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
18417 * commands/echo.c (options): Fix capitalizations and/or full stops.
18418 * commands/efi/loadbios.c (enable_rom_area): Likewise.
18419 (enable_rom_area): Likewise.
18420 (GRUB_MOD_INIT): Likewise.
18421 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
18422 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
18423 * commands/handler.c (GRUB_MOD_INIT): Likewise.
18424 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
18425 * commands/hexdump.c (options): Likewise.
18426 * commands/i386/cpuid.c (options): Likewise.
18427 (GRUB_MOD_INIT): Likewise.
18428 * commands/i386/pc/drivemap.c (options): Likewise.
18429 (GRUB_MOD_INIT): Likewise.
18430 * commands/i386/pc/halt (options): Likewise.
18431 (GRUB_MOD_INIT): Likewise.
18432 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
18433 * commands/i386/pc/pxecmd.c (options): Likewise.
18434 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
18435 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
18436 * commands/keystatus.c (options): Likewise.
18437 (GRUB_MOD_INIT): Likewise.
18438 * commands/loadenv.c (options): Likewise.
18439 * commands/ls.c (options): Likewise.
18440 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
18441 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
18442 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
18443 * commands/parttool.c (helpmsg): Likewise.
18444 * commands/probe.c (options): Likewise.
18445 * commands/read.c (GRUB_MOD_INIT): Likewise.
18446 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
18447 * commands/search.c (options): Likewise.
18448 * commands/sleep.c (options): Likewise.
18449 * commands/test.c (GRUB_MOD_INIT): Likewise.
18450 * commands/true.c (GRUB_MOD_INIT): Likewise.
18451 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
18452 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
18453 * lib/arg.c (help_options): Likewise.
18454 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
18455 `$(XGETTEXT)'.
18456 * po/POTFILES: Add `commands/loadenv.c'.
18457
18458 2009-12-21 Felix Zielcke <fzielcke@z-51.de>
18459
18460 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
18461 instead of specifying them explicit.
18462
18463 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
18464
18465 * NEWS: Add grub-probe support for GNU/Hurd.
18466
18467 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
18468
18469 * NEWS: gettext was added after 1.97.
18470
18471 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
18472
18473 * util/mkisofs/msdos_partition.h: New file (based on
18474 include/grub/msdos_partition.h).
18475 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
18476 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
18477 (ld_options, main): Recognize --protective-msdos-label.
18478 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
18479 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
18480 (padblock_write): If `use_protective_msdos_label' is set, patch a
18481 protective DOS-style label in the output image.
18482
18483 * util/grub-mkrescue.in: Use --protective-msdos-label.
18484
18485 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
18486
18487 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
18488 boot.
18489
18490 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
18491
18492 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
18493 variables.
18494 (ld_options, main): Recognize `--embedded-boot'.
18495 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
18496 declarations.
18497 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
18498 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
18499 (padblock_write): Likewise. Rewrite to support embedded boot image.
18500
18501 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
18502 for BIOS-based disk boot instead of only ElTorito.
18503
18504 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
18505
18506 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
18507 build (not needed for bootstrap).
18508
18509 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
18510
18511 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
18512 from i386-pc build (not needed for bootstrap).
18513 Rewrite a pair of strings.
18514
18515 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
18516
18517 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
18518
18519 2009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
18520
18521 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
18522
18523 2009-12-21 Andreas Born <futur.andy@googlemail.com>
18524
18525 * kern/env.c (grub_env_context_open): Mark exported variable for
18526 reexport.
18527
18528 2009-12-21 Andreas Born <futur.andy@googlemail.com>
18529
18530 * kern/env.c (grub_env_export): Create nonexistent variables before
18531 exporting.
18532
18533 2009-12-20 Carles Pina i Estany <carles@pina.cat>
18534
18535 * include/grub/auth.h: Include `<grub/i18n.h>'.
18536 (GRUB_GET_PASSWORD): Gettextizze string.
18537 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
18538 menu_text.c.
18539 (grub_utf8_to_ucs4_alloc): Fix indentation.
18540 (grub_print_ucs4): Likewise.
18541 (grub_getstringwidth): Likewise.
18542 (print_message_indented): New declaration.
18543 * normal/auth.c: Include `<grub/i18n.h>'.
18544 (grub_auth_check_authentication): Gettexttize string.
18545 * normal/cmdline.c: Include `<grub/i18n.h>'.
18546 (grub_cmdline_get): Gettextizze.
18547 * normal/color.c: Include `<grub/i18n.h>'.
18548 (grub_parse_color_name_pair): Gettexttize strings.
18549 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
18550 string (use `print_message_indented').
18551 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
18552 `include/grub/normal.h'.
18553 (print_message_indented): Renamed to ...
18554 (grub_print_message_indented): ... this. Remove `static' qualifer (now
18555 used in normal/main.c).
18556 (print_message): Use `grub_print_message_indented' instead of
18557 `print_message_indented'.
18558 (print_timeout): Likewise.
18559 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
18560 (grub_normal_print_device_info): Gettexttize strings.
18561 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
18562
18563 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
18564
18565 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
18566 of arguments. Return number of tokens and not arguments. All users
18567 updated.
18568
18569 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
18570
18571 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
18572 non-MSDOS paritions.
18573
18574 2009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
18575
18576 * include/grub/types.h (UNUSED): Removed since it conflicts with
18577 NetBSD headers. All users changed to direct __attribute__ ((unused)).
18578 Reported by Grégoire Sutre.
18579
18580 2009-12-19 Carles Pina i Estany <carles@pina.cat>
18581
18582 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
18583 (grub_print_ucs4_alloc): Likewise.
18584 (grub_getstringwidth): Likewise.
18585 * normal/main.c (grub_normal_init_page): Gettextize version string.
18586 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
18587 (getstringwidth): Renamed to ...
18588 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
18589 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
18590 (grub_print_ucs4): Remove `static' qualifer (now used in
18591 normal/main.c).
18592 * po/POTFILES: Add normal/main.c.
18593
18594 2009-12-19 Carles Pina i Estany <carles@pina.cat>
18595
18596 * normal/menu_text.c (STANDARD_MARGIN): New macro.
18597 (print_message_indented): Add `margin_left' and `margin_right'
18598 parameters.
18599 (print_message): Update `print_message_indented' calls. Adds '\n' to the
18600 strings.
18601 (print_timeout): Use `print_message_indented' to print the message.
18602 Deletes `second_stage' parameter.
18603 (run_menu): Update `print_timeout' calls.
18604
18605 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
18606
18607 Fix console palette on OpenFirmware.
18608
18609 * term/ieee1275/ofconsole.c (MAX): Removed.
18610 (colors): Redone based on VGA palette.
18611 (grub_ofconsole_setcolor): Discard brightness bit since only 8
18612 colors are supported.
18613 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
18614
18615 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
18616
18617 Fix potential EfiEmu double prepare.
18618
18619 * efiemu/main.c (prepared): New variable
18620 (grub_efiemu_unload): Set prepare to '0'.
18621 (grub_efiemu_prepare): Return if already prepared. Set prepared.
18622
18623 set_virtual_address_map support.
18624
18625 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
18626 prototype.
18627 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
18628 prototype.
18629 (grub_efiemu_crc32): Likewise.
18630 (grub_efiemu_crc64): Likewise.
18631 (grub_efiemu_set_virtual_address_map): Likewise.
18632 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
18633 New definition.
18634 (grub_autoefi_set_virtual_address_map): Likewise.
18635 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
18636 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
18637 Restructure flow to accomodate it.
18638 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
18639 (grub_efiemu_crc): Recompute CRC32.
18640 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
18641 (efiemu_ptv_relocated): ... this. Made global. All users updated.
18642 * efiemu/symbols.c (relocated_handle): New variable.
18643 (grub_efiemu_free_syms): Free relocated_handle.
18644 (grub_efiemu_alloc_syms): Allocate relocated_handle.
18645 (grub_efiemu_write_sym_markers): New function.
18646 (grub_efiemu_set_virtual_address_map): Likewise.
18647
18648 Newer XNU parameters.
18649
18650 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
18651 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
18652 (grub_xnu_fill_devicetree): New prototype.
18653 (grub_xnu_heap_real_start): New variable.
18654 * loader/xnu.c (get_name_ptr): New function.
18655 (grub_xnu_load_driver): Fill namelen and name.
18656
18657 64-bit xnu support.
18658
18659 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
18660 and 'loader/macho64.c'.
18661 * conf/i386-pc.rmk: Likewise.
18662 * conf/x86_64-efi.rmk: Likewise.
18663 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
18664 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
18665 * include/grub/macho.h (grub_macho_segment64): New structure.
18666 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
18667 (grub_macho_size32): ... to this.
18668 (grub_macho32_get_entry_point): Renamed from ...
18669 (grub_macho_get_entry_point32): ... to this.
18670 (grub_macho_contains_macho64): New prototype.
18671 (grub_macho_size64): Likewise.
18672 (grub_macho_get_entry_point64): Likewise.
18673 (grub_macho32_load): Renamed from ...
18674 (grub_macho_load32): ... to this.
18675 (grub_macho32_filesize): Renamed from ...
18676 (grub_macho_filesize32): ... to this.
18677 (grub_macho32_readfile): Renamed from ...
18678 (grub_macho_readfile32): ... to this.
18679 (grub_macho_filesize64): New prototype.
18680 (grub_macho_readfile64): Likewise.
18681 (grub_macho_parse32): Likewise.
18682 (grub_macho_parse64): Likewise.
18683 * loader/macho.c: Split into ...
18684 * loader/machoXX.c: ... and this. Replace 32 with XX.
18685 * loader/macho32.c: New file.
18686 * loader/macho64.c: Likewise.
18687 * loader/xnu.c (grub_xnu_is_64bit): New variable.
18688 (grub_cmd_xnu_kernel): Make 32-bit only.
18689 (grub_cmd_xnu_kernel64): New function.
18690 (grub_xnu_load_driver): Support Mach-O 64.
18691 (grub_cmd_xnu_mkext): Likewise.
18692 * util/grub.d/30_os-prober.in (osx_entry): New function.
18693 Generate entries for 64-bit boot too.
18694
18695 Eliminate ad-hoc tree format in XNU and EfiEmu.
18696
18697 * efiemu/main.c (grub_efiemu_prepare): Update comment.
18698 * efiemu/pnvram.c: Rewritten to use environment variables.
18699 All users updated.
18700
18701 Inline utf16_to_utf8.
18702
18703 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
18704 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
18705 All users updated.
18706 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
18707
18708 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
18709 * commands/usbtest.c (grub_usb_get_string): ... move here.
18710 (usb_print_str): Fix error handling.
18711 * include/grub/usb.h (grub_usb_get_string): Remove.
18712
18713 UTF-8 to UTF-16 transformation.
18714
18715 * conf/common.rmk (pkglib_MODULES): Add charset.mod
18716 (charset_mod_SOURCES): New variable.
18717 (charset_mod_CFLAGS): Likewise.
18718 (charset_mod_LDFLAGS): Likewise.
18719 * include/grub/utf.h: New file.
18720 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
18721
18722 Support for device properties.
18723
18724 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
18725 (grub_xnu_devprop_device_header): Likewise.
18726 (grub_xnu_devprop_device_descriptor): Likewise.
18727 (grub_xnu_devprop_add_device): New prototype.
18728 (grub_xnu_devprop_remove_device): Likewise.
18729 (grub_xnu_devprop_remove_property): Likewise.
18730 (grub_xnu_devprop_add_property_utf8): Likewise.
18731 (grub_xnu_devprop_add_property_utf16): Likewise.
18732 (grub_cpu_xnu_init): Likewise.
18733 (grub_cpu_xnu_fini): Likewise.
18734 (grub_cpu_xnu_unload): Likewise.
18735 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
18736 (property_descriptor): Likewise.
18737 (devices): New variable.
18738 (grub_xnu_devprop_remove_property): New function.
18739 (grub_xnu_devprop_add_device): Likewise.
18740 (grub_xnu_devprop_remove_device): Likewise.
18741 (grub_xnu_devprop_add_property): Likewise.
18742 (grub_xnu_devprop_add_property_utf8): Likewise.
18743 (grub_xnu_devprop_add_property_utf16): Likewise.
18744 (hextoval): Likewise.
18745 (grub_cpu_xnu_fill_devprop): Likewise.
18746 (grub_cmd_devprop_load): Likewise.
18747 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
18748 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
18749 (cmd_devprop_load): New variable.
18750 (grub_cpu_xnu_init): New function.
18751 (grub_cpu_xnu_fini): Likewise.
18752 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
18753 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
18754 (grub_cmd_xnu_devtree): Likewise.
18755 (hextoval): New function.
18756 (unescape): Likewise.
18757 (grub_xnu_fill_devicetree): Likewise.
18758
18759 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
18760 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
18761
18762 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
18763
18764 Workaround for broken ATI VBE.
18765
18766 * video/i386/pc/vbe.c (last_set_mode): New variable.
18767 (grub_vbe_set_video_mode): Set 'last_set_mode'.
18768 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
18769 (grub_video_vbe_setup): Don't check for reserved flag.
18770
18771 2009-12-17 Felix Zielcke <fzielcke@z-51.de>
18772
18773 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
18774 the `find' command.
18775
18776 2009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
18777
18778 UUID support for HFS.
18779
18780 * fs/hfs.c (grub_hfs_uuid): New function.
18781 (grub_hfs_fs): New value .uuid.
18782 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
18783
18784 2009-12-14 Felix Zielcke <fzielcke@z-51.de>
18785
18786 Fix a segfault with parsing unknown long options.
18787
18788 * util/grub-mkrelpath.c (options): Zero terminate it.
18789
18790 2009-12-13 Carles Pina i Estany <carles@pina.cat>
18791
18792 * include/grub/misc.h (grub_puts): New declaration.
18793 (grub_puts_): Likewise.
18794 * kern/misc.c (grub_puts): New definition.
18795 (grub_puts_): Likewise.
18796
18797 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
18798
18799 * util/grub-probe.c (probe): Improve error message.
18800
18801 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
18802
18803 * loader/i386/multiboot_elfxx.c
18804 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
18805 initialization.
18806
18807 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
18808
18809 Relocator framework
18810
18811 * loader/i386/xnu_helper.S: Removed. All users updated.
18812 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
18813 (relocator_mod_SOURCES): New variable.
18814 (relocator_mod_CFLAGS): Likewise.
18815 (relocator_mod_LDFLAGS): Likewise.
18816 (relocator_mod_ASFLAGS): Likewise.
18817 * conf/x86_64.rmk: Likewise.
18818 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
18819 (grub_multiboot_payload_entry_offset): Likewise.
18820 (grub_multiboot_forward_relocator): Likewise.
18821 (grub_multiboot_forward_relocator_end): Likewise.
18822 (grub_multiboot_backward_relocator): Likewise.
18823 (grub_multiboot_backward_relocator_end): Likewise.
18824 (grub_multiboot_payload_eip): New variable.
18825 (grub_multiboot_payload_orig): Likewise.
18826 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
18827 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
18828 * include/grub/i386/memory.h
18829 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
18830 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
18831 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
18832 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
18833 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
18834 * include/grub/i386/relocator.h: New file.
18835 * include/grub/x86_64/relocator.h: Likewise.
18836 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
18837 (XNU_RELOCATOR): New macro.
18838 (grub_xnu_launcher_start): Remove.
18839 (grub_xnu_launcher_end): Likewise.
18840 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
18841 (grub_xnu_heap_real_start): Remove.
18842 (grub_xnu_heap_start): Change to void *. All users updated.
18843 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
18844 * lib/i386/relocator.c: New file.
18845 * lib/i386/relocator_asm.S: Likewise.
18846 * lib/i386/relocator_backward.S: Likewise.
18847 * lib/mips/relocator.c: Likewise.
18848 * lib/mips/relocator_asm.S: Likewise.
18849 * lib/relocator.c: Likewise.
18850 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
18851 (entry): Removed.
18852 (playground): Likewise.
18853 (grub_multiboot_payload_orig): New variable.
18854 (grub_multiboot_payload_dest): Likewise.
18855 (grub_multiboot_payload_size): Likewise.
18856 (grub_multiboot_payload_eip): Likewise.
18857 (grub_multiboot_payload_esp): Likewise.
18858 (grub_multiboot_boot): Use grub_relocator32_boot.
18859 (grub_multiboot_unload): Free relocators.
18860 (grub_multiboot): Setup stack. Use relocators.
18861 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
18862 (grub_multiboot_load_elfXX): Use relocators.
18863 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
18864 (grub_multiboot_payload_size): Likewise.
18865 (grub_multiboot_payload_dest): Likewise.
18866 (grub_multiboot_payload_entry_offset): Likewise.
18867 (grub_multiboot_forward_relocator): Likewise.
18868 (grub_multiboot_backward_relocator): Likewise.
18869 (grub_multiboot_real_boot): Likewise.
18870 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
18871 (grub_xnu_entry_point): Likewise.
18872 (grub_xnu_arg1): Likewise.
18873 (grub_xnu_stack): Likewise.
18874 (grub_xnu_launch): Removed.
18875 (grub_xnu_boot_resume): New function.
18876 (grub_xnu_boot): Use relocators.
18877 * loader/i386/xnu_helper.S: Removed.
18878 * loader/xnu.c (grub_xnu_heap_start): New variable.
18879 (grub_xnu_heap_size): Likewise.
18880 (grub_xnu_heap_malloc): Use relocators.
18881 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
18882
18883 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
18884
18885 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
18886 anything.
18887
18888 2009-12-13 Carles Pina i Estany <carles@pina.cat>
18889
18890 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
18891 GRUB_ERR_NONE before calling grub_env_set.
18892
18893 2009-12-12 Robert Millan <rmh@aybabtu.com>
18894
18895 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
18896 * genmk.rb (video): New variable.
18897 (CLEANFILES, VIDEOFILES): Add #{video}.
18898 (#{video}): New target rule.
18899 * genvideolist.sh: New file.
18900 * Makefile.in (pkglib_DATA): Add video.lst.
18901 (video.lst): New target rule.
18902 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
18903 `video.lst'.
18904 * util/grub.d/30_os-prober.in: Replace `vbe' with
18905 ${GRUB_VIDEO_BACKEND}.
18906
18907 2009-12-11 Robert Millan <rmh.grub@aybabtu.com>
18908
18909 * THANKS: Add David Miller.
18910
18911 2009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
18912
18913 libpciaccess support.
18914
18915 * Makefile.in (LIBPCIACCESS): New variable.
18916 (enable_grub_emu_pci): Likewise.
18917 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
18918 util/pci.c and commands/lspci.c.
18919 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
18920 * configure.ac (grub-emu-pci): New option.
18921 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
18922 (grub_pci_device_unmap_range): Likewise.
18923 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
18924 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
18925 (grub_pci_address_t) [!GRUB_UTIL]: New type.
18926 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
18927 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
18928 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
18929 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
18930 * include/grub/pciutils.h: New file.
18931 * util/pci.c: Likewise.
18932
18933 2009-12-11 Felix Zielcke <fzielcke@z-51.de>
18934
18935 * util/misc.c: Don't include <errno.h> twice.
18936
18937 2009-12-10 Felix Zielcke <fzielcke@z-51.de>
18938
18939 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
18940 name in an error message.
18941 (grub_biosdisk_rw): Likewise.
18942
18943 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
18944
18945 Eliminate NTFS 4Gib barrier.
18946
18947 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
18948 (read_run_data): Likewise.
18949 (grub_ntfs_read_run_list): Likewise.
18950 (grub_ntfs_read_block): Likewise.
18951 (grub_ntfs_iterate_dir): Likewise.
18952 (read_mft): Likewise.
18953 (read_data): Likewise.
18954 Use COM_LOG_LEN.
18955 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
18956 to avoid 64-bit division
18957 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
18958 (grub_ntfs_rlst): Use grub_disk_addr_t.
18959
18960 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
18961
18962 Eliminate grub-fstest 4Gib barrier.
18963
18964 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
18965 (read_file): Fix error reporting.
18966
18967 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
18968
18969 Eliminate hexdump 4Gib barrier.
18970
18971 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
18972 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
18973
18974 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
18975
18976 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
18977 Fixes amarsh bug.
18978
18979 2009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
18980
18981 Remove miscellaneous files in distclean target.
18982
18983 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
18984
18985 2009-12-09 Colin Watson <cjwatson@ubuntu.com>
18986
18987 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
18988 if they're already set. This resolves the conflict between my
18989 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
18990 fixing the --grub-probe option again.
18991 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
18992 change on 2009-10-06, so that we now once again source
18993 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
18994
18995 2009-12-08 Robert Millan <rmh.grub@aybabtu.com>
18996
18997 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
18998 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
18999 `util/devicemap.c'.
19000
19001 2009-12-08 Carles Pina i Estany <carles@pina.cat>
19002
19003 * include/grub/misc.h (grub_printf_): New declaration.
19004 * kern/misc.c (grub_printf_): New definition.
19005 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
19006 instead of `grub_printf' and `_'.
19007 * normal/menu_entry.c (store_completion): Likewise.
19008 (run): Likewise.
19009 (grub_menu_entry_run): Likewise.
19010 * normal/menu_text.c (grub_wait_after_message): Likewise.
19011 (notify_booting): Likewise.
19012 (notify_fallback): Likewise.
19013 (notify_execution_failure): Likewise.
19014
19015 2009-12-07 Colin Watson <cjwatson@ubuntu.com>
19016
19017 * configure.ac: Check for vasprintf.
19018 * util/misc.c (asprintf): Move allocation from here ...
19019 (vasprintf): ... to here. New function.
19020 (xasprintf): New function.
19021 * include/grub/util/misc.h (vasprintf, xasprintf): Add
19022 prototypes.
19023 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
19024 * util/grub-mkfont.c (write_font): Likewise.
19025 * util/grub-probe.c (probe): Likewise.
19026 * util/hostdisk.c (make_device_name): Likewise.
19027
19028 2009-12-06 David S. Miller <davem@sunset.davemloft.net>
19029
19030 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
19031 anything even prefixed with 'cdrom' as a cdrom.
19032
19033 2009-12-06 Felix Zielcke <fzielcke@z-51.de>
19034
19035 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
19036 mount points.
19037
19038 2009-12-05 Carles Pina i Estany <carles@pina.cat>
19039
19040 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
19041 grub_gettext_msg_list.
19042 (grub_gettext_gettranslation_from_position): Return const char *
19043 and not char *.
19044 (grub_gettext_translate): Add the translated strings into a list,
19045 returns from the list if existing there.
19046 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
19047 (grub_gettext_delete_list): Delete the list.
19048 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
19049 lang environment variable is changed.
19050 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
19051
19052 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
19053
19054 Rename kernel.mod to kernel.img.
19055
19056 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
19057 (kernel_mod_EXPORTS): Rename to ...
19058 (kernel_img_EXPORTS): ... this.
19059 (kernel_mod_SOURCES): Rename to ...
19060 (kernel_img_SOURCES): ... this.
19061 (kernel_mod_HEADERS): Rename to ...
19062 (kernel_img_HEADERS): ... this. All users updated.
19063 (kernel_mod_CFLAGS): Rename to ...
19064 (kernel_img_CFLAGS): ... this.
19065 (kernel_mod_ASFLAGS): Rename to ...
19066 (kernel_img_ASFLAGS): ... this.
19067 (kernel_mod_LDFLAGS): Rename to ...
19068 (kernel_img_LDFLAGS): ... this.
19069 * conf/x86_64-efi.rmk: Likewise.
19070 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
19071 (read_kernel_image): ... this. All users updated.
19072 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
19073
19074 2009-12-05 Carles Pina i Estany <carles@pina.cat>
19075
19076 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
19077 (print_spaces): New function.
19078 (grub_print_ucs4): New function.
19079 (getstringwidth): New function.
19080 (print_message_indented): New function.
19081 (print_message): Gettexttize strings using print_message_indented.
19082 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
19083 width.
19084 (get_entry_number): Gettextize and uses dynamic terminal width.
19085 (notify_booting, notify_fallback, notify_execution_failure):
19086 Gettextize.
19087 * normal/menu_entry.c (store_completion): Cleanup the gettextized
19088 string.
19089 (run): Likewise.
19090 (grub_menu_entry_run): Likewise.
19091 * PO/POTFILES: Add normal/menu_entry.c.
19092
19093 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
19094
19095 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
19096
19097 2009-12-05 Carles Pina i Estany <carles@pina.cat>
19098
19099 * util/grub-install.in: Install gettext .mo files.
19100 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
19101
19102 2009-12-05 Carles Pina i Estany <carles@pina.cat>
19103
19104 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
19105 grub_dprintf.
19106
19107 2009-12-05 Robert Millan <rmh.grub@aybabtu.com>
19108
19109 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
19110 non-firmware-dependant one in realmode.S takes precedence.
19111
19112 2009-12-04 Robert Millan <rmh.grub@aybabtu.com>
19113
19114 * commands/halt.c: Replace misc arch-specific headers with
19115 `<grub/misc.h>'.
19116 * commands/reboot.c: Likewise.
19117 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
19118 `<grub/misc.h>'.
19119 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
19120 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
19121 (kernel_img_SOURCES): ... to here.
19122
19123 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
19124 * include/grub/i386/pc/init.h: Likewise.
19125 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
19126 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
19127
19128 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
19129
19130 * include/grub/i386/halt.h: Remove.
19131 * include/grub/i386/reboot.h: Likewise.
19132
19133 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
19134
19135 2009-12-03 David S. Miller <davem@sunset.davemloft.net>
19136
19137 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
19138 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
19139 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
19140 "progname.h"
19141 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
19142 * util/sparc64/ieee1275/grub-setup.c: Likewise.
19143 (usage): Add missing comma in printf.
19144
19145 2009-12-02 Robert Millan <rmh.grub@aybabtu.com>
19146
19147 Use the same reboot approach on i386 coreboot and qemu as we do on
19148 BIOS.
19149
19150 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
19151 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
19152 * kern/i386/reboot.c: Remove.
19153 * include/grub/i386/reboot.h (grub_reboot): Export function.
19154 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
19155 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
19156 0xf000:0xfff0 instead of 0xffff:0x0000.
19157 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
19158 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
19159
19160 2009-11-30 Robert Millan <rmh.grub@aybabtu.com>
19161
19162 Fix $srcdir != $objdir build.
19163
19164 * Makefile.in (po/%.po): Rewrite as ...
19165 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
19166
19167 2009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
19168
19169 Fix GNU/Hurd grub-install crash.
19170 * util/grub-probe.c (probe): Try to access `path' only when it is not
19171 NULL.
19172
19173 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
19174
19175 Correct module naming.
19176
19177 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
19178 (GRUB_MOD_INIT(efi_uga)): ... to this
19179 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
19180 (GRUB_MOD_FINI(efi_uga)): ... to this
19181 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
19182 (GRUB_MOD_INIT(efi_gop)): ... to this
19183 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
19184 (GRUB_MOD_FINI(efi_gop)): ... to this
19185
19186 2009-11-28 Robert Millan <rmh.grub@aybabtu.com>
19187
19188 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
19189 translatable.
19190 (usage): Translate `arg' strings using gettext().
19191 Thanks to Jordi Mallach for the suggestion.
19192
19193 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
19194
19195 GOP support. Based on patch from Bean
19196 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
19197
19198 * video/efi_gop.c: New file.
19199 * include/grub/efi/graphics_output.h: Likewise.
19200 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
19201 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
19202 variables.
19203 * conf/x86_64-efi.rmk: Likewise.
19204
19205 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
19206
19207 Rename efi_fb to efi_uga.
19208
19209 * conf/i386-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 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
19218 'efi_uga.mod'.
19219 (efi_fb_mod_SOURCES): Rename this ...
19220 (efi_uga_mod_SOURCES): ... to this.
19221 (efi_fb_mod_CFLAGS): Rename this ...
19222 (efi_uga_mod_CFLAGS): ... to this.
19223 (efi_fb_mod_LDFLAGS): Rename this ...
19224 (efi_uga_mod_LDFLAGS): ... to this.
19225 * video/efi_fb.c: Move this ...
19226 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
19227
19228 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
19229
19230 * po/README: New file. Explain our PO file workflow.
19231
19232 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
19233
19234 * po/ChangeLog: Remove. Move relevant entries back to ...
19235 * ChangeLog: ... here.
19236 * po/ca.po: Remove (now handled by TLP).
19237 * po/id.po: Likewise.
19238 * po/zh_CN.po: Likewise.
19239 * Makefile.in (LINGUAS): Initialize in a way that supports
19240 empty set.
19241
19242 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
19243
19244 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
19245 reliing on po/LINGUAS.
19246 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
19247 (po/%.po): ... this.
19248
19249 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
19250
19251 * util/i386/efi/grub-mkimage.c: Include "progname.h".
19252 (main): Use `program_name' instead of nonexistent `progname'.
19253
19254 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
19255
19256 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
19257 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
19258
19259 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
19260
19261 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
19262 commit.
19263 * conf/i386-efi.rmk: Likewise.
19264 * conf/i386-ieee1275.rmk: Likewise.
19265 * conf/powerpc-ieee1275.rmk: Likewise.
19266 * conf/sparc64-ieee1275.rmk: Likewise.
19267 * conf/x86_64-efi.rmk: Likewise.
19268
19269 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
19270
19271 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
19272
19273 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
19274
19275 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
19276
19277 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
19278
19279 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
19280 (grub_mkdevicemap_SOURCES): New variable.
19281 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
19282 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
19283 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
19284 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
19285 (grub_mkdevicemap_SOURCES): Remove.
19286 * conf/i386-efi.rmk: Likewise.
19287 * conf/i386-ieee1275.rmk: Likewise.
19288 * conf/i386-pc.rmk: Likewise.
19289 * conf/powerpc-ieee1275.rmk: Likewise.
19290 * conf/sparc64-ieee1275.rmk: Likewise.
19291 * conf/x86_64-efi.rmk: Likewise.
19292 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
19293 (usage): Fix strings to use `program_name'.
19294 (main): Initialize gettext.
19295 * util/grub-editenv.c: Likewise.
19296 * util/grub-emu.c: Likewise.
19297 * util/grub-fstest.c: Likewise.
19298 * util/grub-mkdevicemap.c: Likewise.
19299 * util/grub-mkfont.c: Likewise.
19300 * util/grub-mkrelpath.c: Likewise.
19301 * util/grub-pe2elf.c: Likewise.
19302 * util/grub-probe.c: Likewise.
19303 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
19304 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
19305 * util/sparc64/ieee1275/grub-setup.c: Likewise.
19306
19307 * util/misc.c: Include `"progname.h"'.
19308 (progname): Remove variable.
19309 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
19310
19311 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
19312
19313 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
19314 printf and print a newline after the menuentry header line.
19315 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
19316
19317 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
19318
19319 autoconf >= 2.60 support $(localedir).
19320
19321 * INSTALL: Note that autoconf 2.60 is required.
19322 * configure.ac (AC_PREREQ): Bump to 2.60.
19323 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
19324 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
19325
19326 2009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
19327
19328 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
19329 aclocal is run.
19330
19331 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
19332
19333 * normal/main.c (grub_normal_read_line): Fix off-by-one
19334 buffer overflow.
19335
19336 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
19337
19338 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
19339 "parser.grub" in grub_command_execute() call.
19340
19341 2009-11-24 Carles Pina i Estany <carles@pina.cat>
19342
19343 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
19344 * conf/i386-efi.rmk: Likewise.
19345 * conf/i386-ieee1275.rmk: Likewise.
19346 * conf/i386-pc.rmk: Likewise.
19347 * conf/powerpc-ieee1275.rmk: Likewise.
19348 * conf/sparc64-ieee1275.rmk: Likewise.
19349 * conf/x86_64-efi.rmk: Likewise.
19350 * gettext/gettex.c: Include <grub/i18n.h>.
19351 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
19352 here ...
19353 * include/grub/i18n.h: ... to here
19354 * include/grub/i18n.h: ... to here.
19355 * kern/misc.c: Include <grub/i18n.h>
19356 (grub_gettext_dummy): Move above user.
19357
19358 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
19359
19360 * util/Makefile.in (install-local): Convert a `for' into a normal
19361 shell expansion.
19362
19363 2009-11-24 Robert Millan <rmh.grub@aybabtu.com>
19364
19365 * autogen.sh: Add automake call.
19366 * config.guess: Remove.
19367 * config.sub: Likewise.
19368 * install-sh: Likewise.
19369
19370 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
19371
19372 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
19373
19374 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
19375
19376 * util/Makefile.in (install-local): Convert a make `$(foreach)'
19377 function to a normal shell `for'.
19378
19379 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
19380
19381 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
19382
19383 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
19384
19385 * util/grub-mkrelpath.c: New file.
19386 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
19387 (grub_mkrelpath_SOURCES): New variable.
19388 * include/grub/util/misc.h: New function prototype.
19389 * util/misc.c (make_system_path_relative_to_its_root): New function.
19390
19391 * util/grub-mkconfig_lib.in (bindir): New variable.
19392 (grub_mkrelpath): Likewise.
19393 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
19394
19395 * util/probe.c (probe): Make the file path relative to its root.
19396 Change a info message to use the GRUB path. Enable again the
19397 check if we can read the file with GRUB facilities.
19398
19399 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
19400 to its root.
19401
19402 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
19403
19404 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
19405 platform.
19406
19407 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
19408
19409 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
19410 strncmp().
19411
19412 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
19413
19414 * util/getroot.c (grub_util_is_dmraid): New function.
19415 (grub_util_get_dev_abstraction): Treat dmraid and multipath
19416 devices as normal ones, not as LVM.
19417
19418 2009-11-23 Carles Pina i Estany <carles@pina.cat>
19419
19420 * conf/common.rmk: Add grub-gettext_lib target and updates
19421 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
19422 LDFLAGS.
19423 * gettext/gettext.c: New file. (Reads mo files).
19424 * include/grub/file.h (grub_file_pread): New prototype.
19425 * include/grub/i18n.h (_): New prototype.
19426 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
19427 prototypes.
19428 * kern/misc.c (grub_gettext_dummy): New function.
19429 * normal/menu_text.c: Include <grub/i18n.h>.
19430 * normal/menu_text.c (print_timeout): Gettexttize string.
19431 * normal/menu_text.c (print_message): Gettexttize string.
19432 * po/POTFILES: Add `normal/menu_text.c'.
19433 * po/ca.po: Add new translations.
19434 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
19435 gettext module and defines locale_dir and lang in grub.cfg.
19436 * NEWS: Add gettext support.
19437
19438 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
19439
19440 * util/hostdisk.c: Include `<grub/i18n.h>'.
19441 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
19442 (make_device_name): Rewrite using asprintf.
19443 (convert_system_partition_to_system_disk): Replace 0 with NULL.
19444 (find_system_device): If a device is not found, generate one just
19445 by reusing the OS path name.
19446 (read_device_map): Make it permissible for device.map not to exist.
19447
19448 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
19449
19450 * script/sh/execute.c: Move from here ...
19451 * script/execute.c: ... to here. Update all users.
19452 * script/sh/function.c: Move from here ...
19453 * script/function.c: ... to here. Update all users.
19454 * script/sh/lexer.c: Move from here ...
19455 * script/lexer.c: ... to here. Update all users.
19456 * script/sh/main.c: Move from here ...
19457 * script/main.c: ... to here. Update all users.
19458 * script/sh/parser.y: Move from here ...
19459 * script/parser.y: ... to here. Update all users.
19460 * script/sh/script.c: Move from here ...
19461 * script/script.c: ... to here. Update all users.
19462
19463 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
19464
19465 * configure.ac: Detect all `emu' platforms. Define
19466 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
19467 --enable-grub-emu logic. Disable include/grub/machine
19468 symlink on `emu' platforms.
19469
19470 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
19471 * gensymlist.sh.in: Likewise.
19472
19473 * include/grub/i386/coreboot/machine.h: Remove file.
19474 * include/grub/i386/efi/machine.h: Likewise.
19475 * include/grub/i386/ieee1275/machine.h: Likewise.
19476 * include/grub/i386/pc/machine.h: Likewise.
19477 * include/grub/i386/qemu/machine.h: Likewise.
19478 * include/grub/powerpc/ieee1275/machine.h: Likewise.
19479 * include/grub/sparc64/ieee1275/machine.h: Likewise.
19480 * include/grub/x86_64/efi/machine.h: Likewise.
19481
19482 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
19483 * commands/halt.c: Likewise.
19484 * commands/reboot.c: Likewise.
19485 * include/grub/autoefi.h: Likewise.
19486 * include/grub/i386/at_keyboard.h: Likewise.
19487 * include/grub/i386/kernel.h: Likewise.
19488 * include/grub/i386/loader.h: Likewise.
19489 * include/grub/i386/pc/memory.h: Likewise.
19490 * kern/dl.c: Likewise.
19491 * kern/i386/coreboot/init.c: Likewise.
19492 * loader/i386/bsd.c: Likewise.
19493 * loader/i386/linux.c: Likewise.
19494 * loader/multiboot_loader.c: Likewise.
19495 * term/i386/pc/serial.c: Likewise.
19496 * term/usb_keyboard.c: Likewise.
19497
19498 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
19499 `<grub/machine/machine.h>'
19500 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
19501 * util/misc.c: Remove `<grub/machine/machine.h>' and
19502 `<grub/machine/time.h>'.
19503
19504 * Makefile.in (enable_grub_emu): Remove variable.
19505 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
19506
19507 * conf/any-emu.rmk: New file.
19508 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
19509 (grub_emu_init.c): Move from here ...
19510 * conf/any-emu.rmk: ... to here.
19511
19512 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
19513 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
19514 * conf/any-emu.rmk: ... to here.
19515
19516 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
19517
19518 * include/grub/parser.h (grub_parser_register): Document need
19519 of `name' parameter.
19520 * normal/main.c (grub_normal_read_line): Simplify prompt string.
19521 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
19522 "sh" to "grub".
19523
19524 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
19525
19526 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
19527 `$(XGETTEXT)'.
19528 * include/grub/i18n.h (N_): New macro.
19529 * util/mkisofs/mkisofs.h: Likewise.
19530 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
19531 around N_().
19532 (usage): Use gettext() to translate help strings when printing them.
19533
19534 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
19535
19536 Based on patch from Bean
19537 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
19538
19539 * video/efi_fb.c: New file.
19540 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
19541 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
19542 variables.
19543 * conf/x86_64-efi.rmk: Likewise.
19544
19545 2009-11-22 Robert Millan <rmh.grub@aybabtu.com>
19546
19547 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
19548 * util/i386/pc/grub-setup.c: Likewise.
19549
19550 2009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
19551
19552 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
19553 <hurd/fs.h>
19554 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
19555 file_get_storage_info to implement grub_guess_root_device.
19556
19557 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
19558
19559 * Makefile.in (target): Use make's builtin $(shell) function
19560 instead of calling directly $(SHELL) to create the locale directories,
19561 inside the $(foreach) function.
19562
19563 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
19564
19565 * util/grub-mkrescue.in: Print an error and usage if output option
19566 has not been given.
19567
19568 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
19569
19570 Patch from Loïc Minier <loic.minier@ubuntu.com>.
19571 * util/grub.d/30_os-prober.in: Cope with Linux entries where
19572 root and /boot are on different devices.
19573
19574 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
19575
19576 Fix build for srcdir != objdir.
19577
19578 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
19579 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
19580 $(srcdir).
19581 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
19582 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
19583 reference for input.
19584
19585 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
19586
19587 * util/grub-mkrescue.in: Use source directory direcly (without copiing
19588 or hardlinking it). Remove -J option, Joliet is not compatible with
19589 multiple source directories.
19590
19591 2009-11-21 Carles Pina i Estany <carles@pina.cat>
19592 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
19593
19594 * util/grub-mkrescue.in: Recognize `--override-directory' option.
19595 (process_input_dir): New function. Process an arbitrary input
19596 directory.
19597 Misc adjustments to support both "override mode" and system-wide mode.
19598
19599 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
19600
19601 * configure.ac (UNIFONT_BDF): Rename to ...
19602 (FONT_SOURCE): ... this. Update all users.
19603
19604 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
19605
19606 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
19607 to the list of unifont files to look for.
19608
19609 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
19610
19611 Patch from Joe Auricchio <jauricchio@gmail.com>
19612 * commands/minicmd.c (grub_mini_cmd_clear): New function.
19613 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
19614 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
19615
19616 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
19617
19618 * Makefile.in (install-local): Add a missing backslash.
19619
19620 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
19621
19622 * include/grub/x86_64/io.h: New file.
19623
19624 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
19625
19626 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
19627 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
19628 Include `"progname.h"'.
19629 (main): Initialize gettext.
19630 * util/i386/pc/grub-setup.c: Gettexttize.
19631 * util/i386/pc/grub-mkimage.c: Likewise.
19632
19633 * Makefile.in (po/*.po): Redefine as ...
19634 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
19635
19636 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
19637
19638 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
19639
19640 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
19641 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
19642 (program_name): Remove.
19643 (main): Initialize gettext support.
19644 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
19645 Include `<libintl.h>'.
19646 (_): New macro.
19647
19648 * util/mkisofs/eltorito.c: Gettexttize.
19649 * util/mkisofs/joliet.c: Likewise.
19650 * util/mkisofs/mkisofs.c: Likewise.
19651 * util/mkisofs/multi.c: Likewise.
19652 * util/mkisofs/rock.c: Likewise.
19653 * util/mkisofs/tree.c: Likewise.
19654 * util/mkisofs/write.c: Likewise.
19655
19656 * po/POTFILES: Update with new files.
19657
19658 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
19659
19660 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
19661 * util/mkisofs/iso9660.h: Likewise.
19662 * util/mkisofs/joliet.c: Likewise.
19663 * util/mkisofs/mkisofs.c: Likewise.
19664 * util/mkisofs/mkisofs.h: Likewise.
19665 * util/mkisofs/rock.c: Likewise.
19666 * util/mkisofs/tree.c: Likewise.
19667 * util/mkisofs/write.c: Likewise.
19668
19669 * util/mkisofs/eltorito.c (rcsid): Remove.
19670 * util/mkisofs/hash.c: Likewise.
19671 * util/mkisofs/joliet.c: Likewise.
19672 * util/mkisofs/name.c: Likewise.
19673 * util/mkisofs/rock.c: Likewise.
19674 * util/mkisofs/tree.c: Likewise.
19675 * util/mkisofs/write.c: Likewise.
19676
19677 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
19678
19679 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
19680 instead of static allocation.
19681 * util/mkisofs/match.h: Likewise.
19682
19683 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
19684
19685 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
19686 and `util/grub.d/10_linux.in'.
19687 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
19688 translatable Shell files.
19689
19690 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
19691
19692 * Makefile.in ($(srcdir)/aclocal.m4): New target.
19693
19694 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
19695
19696 * INSTALL: Document Automake is needed for bootstrap.
19697 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
19698 * util/grub.d/10_kfreebsd.in (bindir): New variable.
19699 Add gettext initialization.
19700 (kfreebsd_entry): Make menuentry output translatable.
19701
19702 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
19703
19704 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
19705 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
19706 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
19707 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
19708 (LINGUAS): Auto-generate using `po/LINGUAS'.
19709 * po/LINGUAS: New file.
19710
19711 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
19712
19713 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
19714 other things).
19715 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
19716 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
19717 bindtextdomain() calls for gettext initialization.
19718
19719 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
19720
19721 * gnulib/progname.c: New file (imported from Gnulib).
19722 * gnulib/progname.h: Likewise.
19723 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
19724 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
19725 (usage): Replace `progname' with `program_name'.
19726 (main): Use set_program_name() for program name initialization.
19727
19728 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
19729
19730 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
19731 from here ...
19732 * Makefile.in (CPPFLAGS): ... to here.
19733
19734 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
19735
19736 * aclocal.m4: Move from here ...
19737 * acinclude.m4: ... to here.
19738 * autogen.sh: Add call to `aclocal'.
19739 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
19740
19741 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
19742
19743 * Makefile.in (CLEANFILES): Add `po/*.mo'.
19744 (LINGUAS): New variable.
19745 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
19746 (install-local): Install MO files.
19747 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
19748 * include/grub/i18n.h: New file.
19749 * po/POTFILES: New file.
19750 * po/ca.po: New file.
19751 * util/grub.d/10_linux.in (bindir): New variable.
19752 Add gettext initialization.
19753 (linux_entry): Make menuentry output translatable.
19754 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
19755 (usage): Make --help output translatable.
19756 (main): Initialize gettext.
19757
19758 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
19759
19760 * import_gcry.py: New file (written by Vladimir with minor
19761 adjustments).
19762 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
19763 ciphers.
19764 * INSTALL: Document that Python is required for bootstrap.
19765
19766 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
19767
19768 Import ciphers from libgcrypt 1.4.4.
19769
19770 * lib/libgcrypt/cipher/ChangeLog
19771 * lib/libgcrypt/cipher/ac.c
19772 * lib/libgcrypt/cipher/arcfour.c
19773 * lib/libgcrypt/cipher/bithelp.h
19774 * lib/libgcrypt/cipher/blowfish.c
19775 * lib/libgcrypt/cipher/camellia-glue.c
19776 * lib/libgcrypt/cipher/camellia.c
19777 * lib/libgcrypt/cipher/camellia.h
19778 * lib/libgcrypt/cipher/cast5.c
19779 * lib/libgcrypt/cipher/cipher.c
19780 * lib/libgcrypt/cipher/crc.c
19781 * lib/libgcrypt/cipher/des.c
19782 * lib/libgcrypt/cipher/dsa.c
19783 * lib/libgcrypt/cipher/ecc.c
19784 * lib/libgcrypt/cipher/elgamal.c
19785 * lib/libgcrypt/cipher/hash-common.c
19786 * lib/libgcrypt/cipher/hash-common.h
19787 * lib/libgcrypt/cipher/hmac-tests.c
19788 * lib/libgcrypt/cipher/md.c
19789 * lib/libgcrypt/cipher/md4.c
19790 * lib/libgcrypt/cipher/md5.c
19791 * lib/libgcrypt/cipher/primegen.c
19792 * lib/libgcrypt/cipher/pubkey.c
19793 * lib/libgcrypt/cipher/rfc2268.c
19794 * lib/libgcrypt/cipher/rijndael-tables.h
19795 * lib/libgcrypt/cipher/rijndael.c
19796 * lib/libgcrypt/cipher/rmd.h
19797 * lib/libgcrypt/cipher/rmd160.c
19798 * lib/libgcrypt/cipher/rsa.c
19799 * lib/libgcrypt/cipher/seed.c
19800 * lib/libgcrypt/cipher/serpent.c
19801 * lib/libgcrypt/cipher/sha1.c
19802 * lib/libgcrypt/cipher/sha256.c
19803 * lib/libgcrypt/cipher/sha512.c
19804 * lib/libgcrypt/cipher/tiger.c
19805 * lib/libgcrypt/cipher/twofish.c
19806 * lib/libgcrypt/cipher/whirlpool.c
19807
19808 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
19809
19810 Fix build for systems without error().
19811
19812 * gnulib/error.c: New file (imported from Gnulib).
19813 * gnulib/error.h: Likewise.
19814 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
19815 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
19816 (this variable is now used by error()).
19817
19818 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
19819
19820 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
19821 instead of relying that char is signed.
19822
19823 2009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
19824
19825 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
19826 blocksize different from specified.
19827 (grub_pxefs_read): Likewise.
19828
19829 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
19830
19831 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
19832
19833 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
19834 (grub_ata_readwrite): Likewise. Update 2 format strings.
19835 (grub_atapi_read): Likewise.
19836
19837 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
19838 * conf/i386.rmk (pkglib_MODULES): ... to here ...
19839 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
19840 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
19841 (ata_mod_LDFLAGS): Move from here ...
19842 * conf/i386.rmk: ... to here ...
19843 * conf/x86_64-efi.rmk: ... and here.
19844 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
19845 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
19846
19847 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
19848
19849 Relicense multiboot.h, with RMS' blessing.
19850
19851 * include/multiboot.h: Change to X11 license.
19852
19853 2009-11-15 Robert Millan <rmh.grub@aybabtu.com>
19854
19855 Support --version in grub-mkisofs.
19856
19857 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
19858 (OPTION_VERSION): New macro.
19859 (ld_options): Recognize --version.
19860 (usage): Move `program_name' from here ...
19861 (program_name): ... to here. Add `static' qualifier.
19862 (main): Recognize `OPTION_VERSION'.
19863
19864 2009-11-15 Felix Zielcke <fzielcke@z-51.de>
19865
19866 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
19867 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
19868
19869 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
19870
19871 Fix help2man generation for mkisofs.
19872
19873 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
19874 (usage): Send output to stdout (rather than stderr).
19875
19876 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
19877
19878 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
19879 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
19880 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
19881 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
19882 (bin_SCRIPTS): Add `grub-mkfloppy'.
19883 (grub_mkfloppy_SOURCES): New variable.
19884
19885 * util/grub-mkrescue.in: New file.
19886 * util/i386/pc/grub-mkfloppy.in: New file.
19887
19888 * util/i386/coreboot/grub-mkrescue.in: Remove.
19889 * util/i386/pc/grub-mkrescue.in: Remove.
19890
19891 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
19892
19893 * include/grub/multiboot.h (struct grub_multiboot_header): Move
19894 from here ...
19895 * include/multiboot.h (struct multiboot_header): ... to here. Update
19896 all users.
19897 * include/grub/multiboot.h (struct grub_multiboot_info): Move
19898 from here ...
19899 * include/multiboot.h (struct multiboot_info): ... to here. Update
19900 all users.
19901 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
19902 from here ...
19903 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
19904 Update all users.
19905 * include/grub/multiboot.h (struct grub_mod_list): Move
19906 from here ...
19907 * include/multiboot.h (struct multiboot_mod_list): ... to here.
19908 Update all users.
19909
19910 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
19911
19912 * include/multiboot2.h (multiboot_word): Rename from this ...
19913 (multiboot2_word): ... to this. Update all users.
19914 (multiboot_header): Rename from this ...
19915 (multiboot2_header): ... to this. Update all users.
19916 (multiboot_tag_header): Rename from this ...
19917 (multiboot2_tag_header): ... to this. Update all users.
19918 (multiboot_tag_start): Rename from this ...
19919 (multiboot2_tag_start): ... to this. Update all users.
19920 (multiboot_tag_name): Rename from this ...
19921 (multiboot2_tag_name): ... to this. Update all users.
19922 (multiboot_tag_module): Rename from this ...
19923 (multiboot2_tag_module): ... to this. Update all users.
19924 (multiboot_tag_memory): Rename from this ...
19925 (multiboot2_tag_memory): ... to this. Update all users.
19926 (multiboot_tag_unused): Rename from this ...
19927 (multiboot2_tag_unused): ... to this. Update all users.
19928 (multiboot_tag_end): Rename from this ...
19929 (multiboot2_tag_end): ... to this. Update all users.
19930
19931 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
19932
19933 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
19934 this platform we should support Multiboot1 first.
19935
19936 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
19937 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
19938 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
19939
19940 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
19941
19942 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
19943 of write calls (converting them to fwrite() if they aren't already).
19944 (get_torito_desc): Likewise.
19945 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
19946
19947 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
19948
19949 * util/i386/pc/grub-install.in: Move from here ...
19950 * util/grub-install.in: ... to here. Update all users.
19951
19952 2009-11-11 Colin Watson <cjwatson@ubuntu.com>
19953
19954 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
19955
19956 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
19957
19958 Support for El Torito without floppy emulation.
19959
19960 * util/mkisofs/eltorito.c: Include `<errno.h>'.
19961 (init_boot_catalog): Improve error handling.
19962 (get_torito_desc): Don't use floppy emulation unless requested by
19963 user. Patch boot information table when requested via
19964 `-boot-info-table'.
19965 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
19966 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
19967 (use_boot_info_table): New variables.
19968 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
19969 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
19970 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
19971 `--eltorito-emul-floppy'.
19972 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
19973 and `OPTION_ELTORITO_EMUL_FLOPPY'.
19974 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
19975 (use_boot_info_table, get_731): New prototypes.
19976 * util/mkisofs/write.c (get_731): New function.
19977
19978 2009-11-11 Felix Zielcke <fzielcke@z-51.de>
19979
19980 Fix the generation of the man page.
19981
19982 * util/pc/i386/grub-install.in: Source
19983 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
19984
19985 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
19986
19987 Large file support for grub-mkisofs.
19988
19989 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
19990 * util/mkisofs/mkisofs.c (next_extent, last_extent)
19991 (session_start): Upgrade type to `uint64_t'. Update all users.
19992 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
19993 (struct directory_entry): Upgrade type of `starting_block' and
19994 `size' to `uint64_t'. Update all users.
19995 (struct deferred): Remove unused structure.
19996 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
19997 Update all users.
19998 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
19999 file is larger than `UINT32_MAX'.
20000 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
20001 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
20002 return value.
20003 (struct deferred_write): Upgrade type of `extent' and `size' to
20004 `uint64_t'. Update all users.
20005 (last_extent_written): Upgrade type to `uint64_t'. Update all
20006 users.
20007 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
20008 Update all users. Upgrade type of `remain' to `int64_t' and
20009 `use' to `size_t'. Use error() to handle fread() errors.
20010 (write_files): Rely on write_one_file() rather than calling
20011 xfwrite() directly.
20012
20013 2009-11-09 Felix Zielcke <fzielcke@z-51.de>
20014
20015 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
20016
20017 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
20018
20019 * util/mkisofs/fnmatch.c: Remove.
20020 * util/mkisofs/getopt1.c: Likewise.
20021 * util/mkisofs/getopt.c: Likewise.
20022 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
20023 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
20024 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
20025 `gnulib/getopt1.c' and `gnulib/getopt.c'.
20026 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
20027
20028 * configure.ac: Detect `mingw32msvc' host_os.
20029 Check for lstat(), getuid() and getgid().
20030
20031 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
20032 instances of `u_char' with `uint8_t'.
20033
20034 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
20035 [!HAVE_GETUID] (getuid): New function (stub).
20036 [!HAVE_GETGID] (getgid): Likewise.
20037 [!HAVE_LSTAT] (lstat): Likewise.
20038 [!S_IROTH] (S_IROTH): New macro (dummy).
20039 [!S_IRGRP] (S_IRGRP): Likewise.
20040
20041 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
20042
20043 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
20044 conditional expression).
20045
20046 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
20047
20048 Import from Gnulib.
20049
20050 * gnulib/fnmatch.c: New file.
20051 * gnulib/fnmatch.h: Likewise.
20052 * gnulib/fnmatch_loop.c: Likewise.
20053 * gnulib/getopt.c: Likewise.
20054 * gnulib/getopt.h: Likewise.
20055 * gnulib/getopt1.c: Likewise.
20056 * gnulib/getopt_int.h: Likewise.
20057 * gnulib/gettext.h: Likewise.
20058
20059 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
20060
20061 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
20062 * normal/handler.c (read_handler_list): Likewise.
20063
20064 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
20065
20066 Misc cleanup.
20067
20068 * kern/command.c (grub_register_command_prio): Use
20069 grub_zalloc() instead of explicitly zeroing data.
20070 * kern/list.c: Include `<grub/mm.h>'.
20071 (grub_named_list_find): Replace `0' with `NULL'.
20072 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
20073 (fs_module_list): Change type to `grub_named_list_t'. Update all
20074 users.
20075 * normal/dyncmd.c (read_command_list): Add space between function
20076 call and parenthesis.
20077 * normal/handler.c (read_handler_list): Likewise.
20078
20079 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
20080
20081 * normal/auth.c (punishment_delay): Moved from here ...
20082 (grub_auth_strcmp): ... to here (inside function).
20083
20084 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
20085
20086 * include/grub/list.h (struct grub_named_list): Remove `const'
20087 qualifier from `name'.
20088 (struct grub_prio_list): Likewise.
20089
20090 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
20091
20092 * normal/auth.c: Include `<grub/time.h>'.
20093 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
20094
20095 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
20096
20097 * normal/auth.c (punishment_delay): New variable.
20098 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
20099 (grub_auth_check_authentication): Punish failed login attempts with
20100 an incremental (2^N) delay.
20101
20102 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
20103
20104 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
20105 path with $(srcdir).
20106
20107 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
20108
20109 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
20110
20111 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
20112
20113 * util/i386/coreboot/grub-mkrescue.in: New file.
20114 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
20115 variables.
20116
20117 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
20118 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
20119 * configure.ac: Add header and function checks to satisfy grub-mkisofs
20120 requirements.
20121 * util/mkisofs/defaults.h: New file.
20122 * util/mkisofs/eltorito.c: Likewise.
20123 * util/mkisofs/exclude.h: Likewise.
20124 * util/mkisofs/fnmatch.c: Likewise.
20125 * util/mkisofs/getopt.c: Likewise.
20126 * util/mkisofs/getopt1.c: Likewise.
20127 * util/mkisofs/hash.c: Likewise.
20128 * util/mkisofs/include/fctldefs.h: Likewise.
20129 * util/mkisofs/include/mconfig.h: Likewise.
20130 * util/mkisofs/include/prototyp.h: Likewise.
20131 * util/mkisofs/include/statdefs.h: Likewise.
20132 * util/mkisofs/iso9660.h: Likewise.
20133 * util/mkisofs/joliet.c: Likewise.
20134 * util/mkisofs/match.c: Likewise.
20135 * util/mkisofs/match.h: Likewise.
20136 * util/mkisofs/mkisofs.c: Likewise.
20137 * util/mkisofs/mkisofs.h: Likewise.
20138 * util/mkisofs/multi.c: Likewise.
20139 * util/mkisofs/name.c: Likewise.
20140 * util/mkisofs/rock.c: Likewise.
20141 * util/mkisofs/tree.c: Likewise.
20142 * util/mkisofs/write.c: Likewise.
20143
20144 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
20145
20146 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
20147 being insecure.
20148
20149 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
20150
20151 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
20152 `grub-mkimage' (and use $0 when possible).
20153
20154 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
20155
20156 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
20157 error message for excessively large memory map.
20158
20159 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
20160
20161 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
20162 executable bit.
20163
20164 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
20165
20166 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
20167 message for coreboot users.
20168
20169 2009-11-07 Robert Millan <rmh.grub@aybabtu.com>
20170
20171 Fix build with GNU gold.
20172
20173 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
20174 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
20175 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
20176 link addresses.
20177 * aclocal.m4: Likewise.
20178
20179 2009-11-04 Felix Zielcke <fzielcke@z-51.de>
20180
20181 * configure.ac (AC_PREREQ): Bump to 2.59d.
20182 * INSTALL: Make it more clear when Autoconf and Ruby are
20183 needed and when to run `./autogen.sh'.
20184
20185 2009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
20186
20187 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
20188 OSes.
20189
20190 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
20191
20192 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
20193
20194 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
20195
20196 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
20197 giving it to GNU Mach.
20198
20199 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
20200
20201 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
20202 GNU partition number to get internal GRUB partition number.
20203
20204 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
20205
20206 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
20207 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
20208
20209 2009-11-01 Robert Millan <rmh.grub@aybabtu.com>
20210
20211 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
20212 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
20213 case.
20214
20215 2009-11-01 Felix Zielcke <fzielcke@z-51.de>
20216
20217 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
20218
20219 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
20220
20221 Fix build problem.
20222
20223 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
20224 `-isystem=$(srcdir)/include'.
20225
20226 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
20227
20228 * util/i386/pc/grub-install.in: Remove hint that device.map should be
20229 checked (grub-install doesn't currently rely on it).
20230
20231 2009-10-29 Robert Millan <rmh.grub@aybabtu.com>
20232
20233 Revert SVN r2660.
20234
20235 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
20236 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
20237 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
20238 * conf/i386-ieee1275.rmk: Likewise.
20239 * conf/i386-pc.rmk: Likewise.
20240 * conf/powerpc-ieee1275.rmk: Likewise.
20241 * conf/sparc64-ieee1275.rmk: Likewise.
20242 * conf/x86_64-efi.rmk: Likewise.
20243
20244 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
20245
20246 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
20247
20248 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
20249
20250 * include/grub/misc.h: Stop checking for APPLE_CC.
20251
20252 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
20253
20254 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
20255 doesn't cause an infinite call loop.
20256
20257 2009-10-28 Felix Zielcke <fzielcke@z-51.de>
20258
20259 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
20260 strings.
20261
20262 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
20263
20264 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
20265 variable.
20266 * Makefile.in: Likewise.
20267
20268 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
20269
20270 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
20271
20272 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
20273
20274 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
20275
20276 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
20277
20278 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
20279
20280 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
20281
20282 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
20283 from here ...
20284 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
20285
20286 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
20287
20288 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
20289 in $(MAKEINFO) invocation. This makes it clear in output that
20290 errors are being ignored.
20291
20292 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
20293
20294 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
20295 from here ...
20296 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
20297 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
20298 * conf/i386-ieee1275.rmk: Likewise.
20299 * conf/i386-pc.rmk: Likewise.
20300 * conf/powerpc-ieee1275.rmk: Likewise.
20301 * conf/sparc64-ieee1275.rmk: Likewise.
20302 * conf/x86_64-efi.rmk: Likewise.
20303
20304 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
20305
20306 * util/grub-editenv.c (main): If only a command is given, use
20307 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
20308 (usage): FILENAME is now optional and has a default.
20309
20310 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
20311
20312 Improve grub-mkconfig performance when there are several menu
20313 entries on a single filesystem.
20314
20315 * util/grub.d/10_linux.in (linux_entry): Cache the output of
20316 prepare_grub_to_access_device.
20317 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
20318 * util/grub.d/30_os-prober.in: Likewise.
20319
20320 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
20321
20322 * util/grub.d/10_freebsd.in: Remove.
20323 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
20324 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
20325
20326 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
20327
20328 * docs/grub.cfg: Fix example usage of *BSD loaders.
20329
20330 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
20331
20332 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
20333 grub_util_error() call.
20334
20335 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
20336
20337 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
20338 `reserved_first_sector' member.
20339 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
20340 `reserved_first_sector' to 1.
20341 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
20342 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
20343 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
20344 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
20345 filesystems which begin at first sector.
20346 (options): New option --skip-fs-probe.
20347 (main): Handle --skip-fs-probe and pass it to setup().
20348
20349 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
20350
20351 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
20352 (memset): Fix function prototype.
20353
20354 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
20355 2009-10-25 Vasily Averin <vvs@parallels.com>
20356
20357 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
20358 `dirent.direntlen == 0'.
20359
20360 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
20361
20362 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
20363 `cpio'.
20364 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
20365
20366 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
20367
20368 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
20369 `__trampoline_setup' and `__ucmpdi2'.
20370 * include/grub/powerpc/libgcc.h: Only export symbols for functions
20371 that libgcc provides.
20372
20373 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
20374
20375 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
20376 * include/grub/sparc64/libgcc.h (memset): Likewise.
20377 * include/grub/misc.h (memset, memcmp): New function prototypes.
20378
20379 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
20380
20381 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
20382 `cpio'.
20383 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
20384
20385 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
20386
20387 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
20388 * docs/grub.cfg: Compensate for recent change in multiboot
20389 loader (since 2009-08-14 it won't pass filename to payload).
20390 * util/grub.d/10_hurd.in: Likewise.
20391
20392 2009-10-21 Felix Zielcke <fzielcke@z-51.de>
20393
20394 * config.guess: Update to latest version from config git
20395 repository.
20396 * config.sub: Likewise.
20397
20398 2009-10-20 Robert Millan <rmh.grub@aybabtu.com>
20399
20400 Fix build on sparc64.
20401
20402 * configure.ac: Perform checks for libgcc symbols before
20403 adding `-nostdlib' to LDFLAGS.
20404
20405 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20406
20407 Let user specify OpenBSD root device.
20408
20409 * loader/i386/bsd.c (openbsd_root): New variable.
20410 (openbsd_opts): New option 'root'.
20411 (OPENBSD_ROOT_ARG): New macro.
20412 (grub_openbsd_boot): Use 'openbsd_root'.
20413 (grub_cmd_openbsd): Fill 'openbsd_root'.
20414
20415 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
20416
20417 * NEWS: Misc adjustments.
20418
20419 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20420
20421 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
20422
20423 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
20424
20425 * configure.ac: Bump version to 1.97.
20426
20427 2009-10-16 Colin Watson <cjwatson@ubuntu.com>
20428
20429 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
20430 -mno-3dnow on x86 architectures. Some toolchains enable these
20431 features by default, but they rely on registers that aren't enabled
20432 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
20433
20434 2009-10-15 Robert Millan <rmh.grub@aybabtu.com>
20435
20436 Make entry text a bit more readable.
20437
20438 * util/grub.d/10_linux.in: Add `with' before `Linux'.
20439
20440 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
20441
20442 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
20443
20444 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
20445
20446 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
20447 operations.
20448
20449 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
20450
20451 * configure.ac: Add missing dollar.
20452
20453 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
20454
20455 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
20456
20457 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
20458 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
20459 exports.
20460 * include/grub/sparc64/libgcc.h: Likewise. Use
20461 preprocessor conditionals.
20462
20463 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
20464
20465 * conf/common.rmk (grub-dumpbios): Remove rule.
20466 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
20467 * util/grub-dumpbios.in: Remove file.
20468
20469 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
20470
20471 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
20472 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
20473
20474 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
20475 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
20476 users.
20477
20478 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
20479 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
20480 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
20481 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
20482 users.
20483
20484 2009-10-12 Robert Millan <rmh.grub@aybabtu.com>
20485
20486 * term/tparm.c: Switch to GPLv3.
20487
20488 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
20489
20490 * include/grub/i386/cpuid.h: Add header protection.
20491
20492 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
20493
20494 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
20495
20496 * include/grub/i386/cpuid.h: New file.
20497 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
20498 (has_longmode): Rename to ...
20499 (grub_cpuid_has_longmode): ... this. Update all users. Remove
20500 `static' attribute.
20501 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
20502 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
20503 on a CPU that doesn't implement AMD64 instruction set.
20504
20505 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
20506
20507 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
20508 that version.texi is rebuilt on version number changes.
20509
20510 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
20511
20512 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
20513 Fixes bug #27602.
20514
20515 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
20516
20517 * util/i386/pc/grub-install.in: Source
20518 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
20519 that the --grub-probe option will work.
20520 * util/sparc64/ieee1275/grub-install.in: Likewise.
20521
20522 2009-10-05 Robert Millan <rmh.grub@aybabtu.com>
20523
20524 * configure.ac: Bump version to 1.97~beta4.
20525
20526 2009-10-03 Robert Millan <rmh.grub@aybabtu.com>
20527
20528 Resync grub-mkdevicemap in x86_64-efi.
20529
20530 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
20531 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
20532 `util/devicemap.c'.
20533
20534 2009-10-01 Colin Watson <cjwatson@ubuntu.com>
20535
20536 * util/grub-editenv.c (create_envblk_file): Write new block with a
20537 .new suffix and then rename it into place, to ensure atomic
20538 creation.
20539
20540 2009-09-28 Robert Millan <rmh.grub@aybabtu.com>
20541
20542 Do not automatically install headers.
20543
20544 * Makefile.in (include_DATA): Remove. Update all users.
20545
20546 2009-09-26 Robert Millan <rmh.grub@aybabtu.com>
20547
20548 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
20549 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
20550
20551 * util/osdetect.lua: Remove.
20552 * script/lua/lauxlib.c: Likewise.
20553 * script/lua/ldebug.c: Likewise.
20554 * script/lua/grub_main.c: Likewise.
20555 * script/lua/lauxlib.h: Likewise.
20556 * script/lua/ldebug.h: Likewise.
20557 * script/lua/ltablib.c: Likewise.
20558 * script/lua/liolib.c: Likewise.
20559 * script/lua/lstrlib.c: Likewise.
20560 * script/lua/lualib.h: Likewise.
20561 * script/lua/ldo.c: Likewise.
20562 * script/lua/ldump.c: Likewise.
20563 * script/lua/ldo.h: Likewise.
20564 * script/lua/loslib.c: Likewise.
20565 * script/lua/lundump.c: Likewise.
20566 * script/lua/grub_lib.c: Likewise.
20567 * script/lua/ldblib.c: Likewise.
20568 * script/lua/lundump.h: Likewise.
20569 * script/lua/lmem.c: Likewise.
20570 * script/lua/grub_lib.h: Likewise.
20571 * script/lua/lmathlib.c: Likewise.
20572 * script/lua/lstate.c: Likewise.
20573 * script/lua/ltm.c: Likewise.
20574 * script/lua/lvm.c: Likewise.
20575 * script/lua/lmem.h: Likewise.
20576 * script/lua/lstate.h: Likewise.
20577 * script/lua/ltm.h: Likewise.
20578 * script/lua/ltable.c: Likewise.
20579 * script/lua/lvm.h: Likewise.
20580 * script/lua/llex.c: Likewise.
20581 * script/lua/lgc.c: Likewise.
20582 * script/lua/grub_lua.h: Likewise.
20583 * script/lua/loadlib.c: Likewise.
20584 * script/lua/lfunc.c: Likewise.
20585 * script/lua/lopcodes.c: Likewise.
20586 * script/lua/lparser.c: Likewise.
20587 * script/lua/ltable.h: Likewise.
20588 * script/lua/llex.h: Likewise.
20589 * script/lua/lgc.h: Likewise.
20590 * script/lua/lfunc.h: Likewise.
20591 * script/lua/lbaselib.c: Likewise.
20592 * script/lua/lopcodes.h: Likewise.
20593 * script/lua/lparser.h: Likewise.
20594 * script/lua/lzio.c: Likewise.
20595 * script/lua/linit.c: Likewise.
20596 * script/lua/lobject.c: Likewise.
20597 * script/lua/llimits.h: Likewise.
20598 * script/lua/lstring.c: Likewise.
20599 * script/lua/lzio.h: Likewise.
20600 * script/lua/lapi.c: Likewise.
20601 * script/lua/lcode.c: Likewise.
20602 * script/lua/lua.h: Likewise.
20603 * script/lua/lobject.h: Likewise.
20604 * script/lua/lstring.h: Likewise.
20605 * script/lua/lapi.h: Likewise.
20606 * script/lua/lcode.h: Likewise.
20607 * script/lua/luaconf.h: Likewise.
20608
20609 2009-09-26 Colin Watson <cjwatson@ubuntu.com>
20610
20611 * docs/grub.texi (Command-line and menu entry commands): Document
20612 date and echo commands.
20613
20614 2009-09-24 Pavel Roskin <proski@gnu.org>
20615
20616 * include/grub/kernel.h (struct grub_module_header): Remove
20617 `grub_module_header_types'. Make `type' unsigned. Make `size'
20618 32-bit on all platforms.
20619 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
20620 8-bit field. Use grub_host_to_target32() for `size'.
20621 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
20622 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
20623 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
20624
20625 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
20626
20627 Fix "lost keypress" bug in at_keyboard.
20628
20629 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
20630 Checks for readyness of input buffer (without flushing it).
20631 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
20632 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
20633
20634 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
20635
20636 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
20637 size check within GRUB_MACHINE_PCBIOS section.
20638
20639 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
20640
20641 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
20642 return value.
20643 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
20644 KEYBOARD_ISREADY check.
20645 (grub_at_keyboard_checkkey): Rename to ...
20646 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
20647 Remove gratuitous cast.
20648
20649 2009-09-23 Colin Watson <cjwatson@ubuntu.com>
20650
20651 * configure.ac: Call AC_PROG_MKDIR_P.
20652 * Makefile.in (docs/stamp-vti): Create docs directory. Create
20653 version.texi in $(builddir) rather than $(srcdir).
20654 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
20655 to makeinfo's @include search path.
20656
20657 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
20658
20659 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
20660
20661 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
20662
20663 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
20664 for `*.dpkg-new'.
20665
20666 2009-09-21 Colin Watson <cjwatson@ubuntu.com>
20667
20668 Build info documentation. Some code borrowed from Automake.
20669
20670 * configure.ac: Check for makeinfo.
20671 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
20672 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
20673 docs/version.texi.
20674 (MOSTLYCLEANFILES): Add vti.tmp.
20675 (docs/version.texi, docs/stamp-vti): Update automatically.
20676 (docs/grub.info): Build info documentation. Use --force and ignore
20677 errors for now.
20678 (all-local): Add $(INFOS).
20679 (install-local): Install info files.
20680 (uninstall): Uninstall info files.
20681 * docs/version.texi: Remove from revision control. This file is
20682 automatically generated on build now.
20683 * gendistlist.sh: Add `*.info'.
20684
20685 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
20686
20687 * kern/term.c: Fix indentation.
20688
20689 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
20690
20691 * util/hostdisk.c: Fix a comment.
20692
20693 2009-09-20 Robert Millan <rmh.grub@aybabtu.com>
20694
20695 Fix regression introduced in r2539.
20696
20697 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
20698 to 0xA1.
20699
20700 2009-09-19 Colin Watson <cjwatson@ubuntu.com>
20701
20702 * util/grub.d/30_os-prober.in: Don't throw away stderr from
20703 os-prober. Under normal operation, it does not print anything to
20704 stderr; if it does, we need to debug it, and throwing away stderr
20705 makes that excessively difficult.
20706
20707 2009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
20708
20709 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
20710
20711 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
20712
20713 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
20714 AC_LANG_PROGRAM from autoconf.
20715 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
20716 prototypes (fixes warning).
20717
20718 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
20719 `--disable-werror' was used.
20720
20721 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
20722
20723 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
20724 uninitialized `lastaddr'.
20725
20726 2009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
20727
20728 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
20729
20730 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
20731
20732 * commands/test.c (get_fileinfo): Return immediately if
20733 grub_fs_probe fails.
20734
20735 2009-09-14 José Martínez <xosemp@gmail.com>
20736
20737 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
20738
20739 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
20740
20741 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
20742 output.
20743
20744 2009-09-13 Robert Millan <rmh.grub@aybabtu.com>
20745
20746 * configure.ac: Remove --enable-grub-pe2elf. Only build
20747 grub-pe2elf when needed by the build system itself.
20748 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
20749
20750 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
20751
20752 * configure.ac: Bump version to 1.97~beta3.
20753 * docs/version.texi: Likewise.
20754
20755 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
20756
20757 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
20758 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
20759 from here ...
20760 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
20761 (grub_linux_setup_video): ... to here (with some adjustments).
20762
20763 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
20764
20765 Fix memory corruption issue (spotted by Colin Watson).
20766
20767 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
20768 causing returned size to be stored in an incorrect memory location.
20769 Fix use of uninitialized value when storing the returned size.
20770
20771 2009-09-12 Yves Blusseau <blusseau@zetam.org>
20772
20773 Change clean rules to properly remove files
20774
20775 * genmk.rb: add new clean rules
20776 * Makefile.in (clean): add the new targets
20777 (mostlyclean): likewise
20778
20779 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
20780
20781 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
20782 to grub_uint64_t.
20783 * fs/ntfs.c (init_file): Understand 64-bit sizes for
20784 non-resident files.
20785
20786 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
20787
20788 * configure.ac: Don't look for help2man when cross-compiling. Fixes
20789 part of bug #27349.
20790
20791 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
20792
20793 * util/grub-mkconfig.in: Make the created config mode 400 and
20794 print a warning if it fails.
20795
20796 2009-09-10 Robert Millan <rmh.grub@aybabtu.com>
20797
20798 * util/grub.d/40_custom.in: Ask user to type custom entries below
20799 comment, rather than below 'exec tail' line.
20800
20801 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
20802
20803 * util/grub.d/40_custom.in: Make sure that the explanatory text is
20804 visible in grub.cfg.
20805
20806 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
20807
20808 * util/grub.d/40_custom.in: Make it a little clearer how to use this
20809 file.
20810
20811 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
20812
20813 * docs/grub.cfg: Add an example menu entry for memtest86+.
20814
20815 2009-09-09 Felix Zielcke <fzielcke@z-51.de>
20816
20817 * config.guess: Update to latest version from config git.
20818 * config.sub: Likewise.
20819
20820 2009-09-08 Colin Watson <cjwatson@ubuntu.com>
20821
20822 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
20823 unknown-command case. Fixes bug #27320.
20824
20825 2009-09-08 Felix Zielcke <fzielcke@z-51.de>
20826
20827 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
20828 `help' if the command exists.
20829
20830 2009-09-06 Robert Millan <rmh.grub@aybabtu.com>
20831
20832 * INSTALL: Require GCC 4.1.3 or later.
20833
20834 2009-09-06 Yves Blusseau <blusseau@zetam.org>
20835
20836 * Makefile.in (RMKFILES): add i386-qemu.rmk
20837 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
20838 $(srcdir)/stamp-h.in
20839
20840 2009-09-05 Robert Millan <rmh.grub@aybabtu.com>
20841
20842 * util/grub-probe.c (probe): Comment out buggy codepath, which
20843 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
20844 should be re-enabled after 1.97.
20845
20846 2009-09-05 Felix Zielcke <fzielcke@z-51.de>
20847
20848 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
20849 find searches for.
20850
20851 2009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
20852
20853 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
20854 unnecessary calls to grub_error.
20855
20856 2009-09-04 Colin Watson <cjwatson@ubuntu.com>
20857
20858 * NEWS: Mention `keystatus' and Unicode fonts.
20859
20860 2009-09-04 Robert Millan <rmh.grub@aybabtu.com>
20861
20862 * configure.ac: Bump version to 1.97~beta2.
20863 * docs/version.texi: Likewise.
20864
20865 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
20866
20867 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
20868 containing unwind information in some cases where it previously did
20869 not. Use -fno-dwarf2-cfi-asm if available to restore the old
20870 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
20871 discussion.
20872
20873 2009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
20874
20875 Embedding loadenv module into grub-emu
20876
20877 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
20878 commands/loadenv.c
20879 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
20880 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
20881 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
20882 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
20883 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
20884 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
20885
20886 2009-09-03 Magnus Granberg <zorry@ume.nu>
20887
20888 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
20889 include -fPIE in the default specs.
20890 * configure.ac: Check if pie_possible is yes and add -fno-PIE
20891 to TARGET_CFLAGS.
20892
20893 2009-09-03 Felix Zielcke <fzielcke@z-51.de>
20894
20895 * INSTALL: Note that GNU Bison 2.3 or later is required.
20896
20897 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
20898
20899 * kern/i386/pc/startup.S: Fix typo.
20900
20901 2009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
20902
20903 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
20904 according to GCS.
20905
20906 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
20907
20908 * docs/grub.texi (Naming convention): Describe one-based partition
20909 numbering.
20910 (Device syntax): Likewise.
20911 (File name syntax): Likewise.
20912 (Block list syntax): Likewise.
20913 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
20914 menu.lst.
20915 (File name syntax): Likewise.
20916 (Command-line and menu entry commands): Document acpi, blocklist,
20917 crc, export, insmod, keystatus, ls, set, and unset commands.
20918
20919 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
20920
20921 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
20922 to avoid implying that only one of --shift, --ctrl, or --alt may be
20923 used.
20924
20925 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
20926
20927 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
20928 rather than comparing against S_IFREG, which will almost never work.
20929
20930 2009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
20931
20932 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
20933 (write_blocklists): Likewise.
20934
20935 2009-09-01 Colin Watson <cjwatson@ubuntu.com>
20936
20937 * script/lua/grub_lua.h (fputs): Supply a format string as the first
20938 argument to grub_printf.
20939
20940 2009-09-01 Felix Zielcke <fzielcke@z-51.de>
20941
20942 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
20943 non GNU test.
20944
20945 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
20946
20947 * kern/file.c (grub_file_read): Spelling fix
20948
20949 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
20950
20951 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
20952 loading of headers in some cases.
20953
20954 2009-08-30 Robert Millan <rmh.grub@aybabtu.com>
20955
20956 * configure.ac: Bump version to 1.97~beta1.
20957 * docs/version.texi: Likewise.
20958
20959 2009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
20960
20961 * include/grub/i386/xnu.h: Add license header.
20962 include grub/err.h explicitly.
20963
20964 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
20965
20966 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
20967 to `ufs' in the vfs.root.mountfrom kernel parameter.
20968
20969 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
20970
20971 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
20972
20973 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
20974 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
20975
20976 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
20977 `ARRAY_SIZE' macro.
20978
20979 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
20980
20981 * kern/file.c (grub_file_read): Check offset.
20982 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
20983 * fs/jfs.c (grub_jfs_read_file): Likewise.
20984 * fs/ntfs.c (grub_ntfs_read): Likewise.
20985 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
20986 * fs/minix.c (grub_minix_read_file): Correct offset check.
20987 * fs/ufs.c (grub_ufs_read_file): Likewise.
20988
20989 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
20990
20991 * term/i386/pc/console.c (bios_data_area): Cast
20992 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
20993
20994 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
20995
20996 1-bit optimised blitters.
20997
20998 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
20999 prototype.
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/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
21007 function.
21008 (grub_video_fbblit_replace_24bit_1bit): Likewise.
21009 (grub_video_fbblit_replace_16bit_1bit): Likewise.
21010 (grub_video_fbblit_replace_8bit_1bit): Likewise.
21011 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
21012 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
21013 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
21014 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
21015 when possible.
21016 * video/video.c (grub_video_get_blit_format): Return
21017 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
21018
21019 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
21020
21021 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
21022 the first argument to grub_printf.
21023
21024 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
21025 2009-08-28 Robert Millan <rmh.grub@aybabtu.com>
21026
21027 Add `getkeystatus' terminal method. Add a new `keystatus' command
21028 to query it.
21029
21030 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
21031 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
21032 modifier key bitmasks.
21033 (struct grub_term_input): Add `getkeystatus' member.
21034 (grub_getkeystatus): Add prototype.
21035 * kern/term.c (grub_getkeystatus): New function.
21036
21037 * include/grub/i386/pc/memory.h
21038 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
21039 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
21040 Data Area layout.
21041 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
21042 (grub_console_term_input): Set `getkeystatus' member.
21043 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
21044 constants.
21045 (grub_usb_keyboard_getreport): Likewise.
21046 (grub_usb_keyboard_checkkey): Likewise.
21047 (grub_usb_keyboard_getkeystatus): New function.
21048 (grub_usb_keyboard_term): Set `getkeystatus' member.
21049
21050 * commands/keystatus.c: New file.
21051 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
21052 (keystatus_mod_SOURCES): New variable.
21053 (keystatus_mod_CFLAGS): Likewise.
21054 (keystatus_mod_LDFLAGS): Likewise.
21055 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
21056 commands/keystatus.c.
21057 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
21058 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21059 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
21060 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21061 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21062 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
21063
21064 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
21065
21066 Split befs.mod and afs.mod into *_be.mod and *.mod
21067
21068 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
21069 (grub_fstest_SOURCES): Likewise.
21070 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
21071 (afs_be_mod_SOURCES): New variable.
21072 (afs_be_mod_CFLAGS): Likewise.
21073 (afs_be_mod_LDFLAGS): Likewise.
21074 (befs_be_mod_SOURCES): Likewise.
21075 (befs_be_mod_CFLAGS): Likewise.
21076 (befs_be_mod_LDFLAGS): Likewise.
21077 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
21078 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
21079 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21080 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
21081 (grub_emu_SOURCES): Likewise.
21082 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21083 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21084 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
21085 * fs/afs_be.c: New file.
21086 * fs/befs_be.c: New file.
21087 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
21088 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
21089 (U16): Replaced with ...
21090 (grub_afs_to_cpu16): ...this. All users updated.
21091 (U32): Replaced with ...
21092 (grub_afs_to_cpu32): ...this. All users updated.
21093 (U64): Replaced with ...
21094 (grub_afs_to_cpu64): ...this. All users updated.
21095 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
21096 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
21097 (grub_afs_validate_sblock): Check only one endianness.
21098 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
21099 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
21100 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
21101 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
21102 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
21103 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
21104 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
21105 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
21106
21107 2009-08-26 Bean <bean123ch@gmail.com>
21108
21109 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
21110 64-bit number.
21111 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
21112 (grub_xfs_inode_block): Change return type to grub_uint64_t.
21113 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
21114
21115 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
21116
21117 NetBSD memory map support.
21118
21119 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
21120 (grub_netbsd_btinfo_mmap_header): New structure.
21121 (grub_netbsd_btinfo_mmap_entry): Likewise.
21122 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
21123
21124 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
21125
21126 Enable bsd.mod on coreboot.
21127
21128 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
21129 (bsd_mod_SOURCES): New variable.
21130 (bsd_mod_CFLAGS): Likewise.
21131 (bsd_mod_LDFLAGS): Likewise.
21132 (bsd_mod_ASFLAGS): Likewise.
21133 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
21134 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
21135
21136 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
21137
21138 Cleanup NetBSD root support.
21139
21140 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
21141 grub_bsd_get_device.
21142 Fix typo.
21143
21144 2009-08-25 Felix Zielcke <fzielcke@z-51.de>
21145
21146 * util/grub.d/00_header.in: Move check for the video backend of
21147 gfxterm from here ...
21148 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
21149 a suitable video backend.
21150
21151 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
21152
21153 Fix breakage in grub-setup.
21154
21155 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
21156 "msdos_partition_map".
21157
21158 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
21159
21160 Fix breakage in normal/auth.c.
21161
21162 * normal/auth.c (grub_iswordseparator): New function.
21163
21164 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
21165
21166 Authentication support.
21167
21168 * commands/password.c: New file.
21169 * conf/common.rmk (pkglib_MODULES): Add password.mod.
21170 (password_mod_SOURCES): New variable.
21171 (password_mod_CFLAGS): Likewise.
21172 (password_mod_LDFLAGS): Likewise.
21173 (normal_mod_SOURCES): Add normal/auth.c.
21174 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
21175 normal/auth.c.
21176 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
21177 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21178 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
21179 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21180 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21181 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
21182 * include/grub/auth.h: New file.
21183 * include/grub/err.h (grub_err_t): New enum value
21184 GRUB_ERR_ACCESS_DENIED.
21185 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
21186 'users'.
21187 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
21188 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
21189 users updated.
21190 * normal/auth.c: New file.
21191 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
21192 (grub_cmdline_run): Don't allow to go to command line without
21193 authentication.
21194 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
21195 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
21196 menuentry without superuser rights.
21197 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
21198 user isn't a superuser.
21199
21200 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
21201
21202 Save space by inlining misc.c functions.
21203
21204 * kern/misc.c (grub_iswordseparator): Made static.
21205 * kern/misc.c (grub_strcat): Moved from here ...
21206 * include/grub/misc.h (grub_strcat): ... here. Inlined.
21207 * kern/misc.c (grub_strncat): Moved from here ...
21208 * include/grub/misc.h (grub_strncat): ... here. Inlined.
21209 * kern/misc.c (grub_strcasecmp): Moved from here ...
21210 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
21211 * kern/misc.c (grub_strncasecmp): Moved from here ...
21212 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
21213 * kern/misc.c (grub_isalpha): Moved from here ...
21214 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
21215 * kern/misc.c (grub_isdigit): Moved from here ...
21216 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
21217 * kern/misc.c (grub_isgraph): Moved from here ...
21218 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
21219 * kern/misc.c (grub_tolower): Moved from here ...
21220 * include/grub/misc.h (grub_tolower): ... here. Inlined.
21221
21222 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
21223
21224 * script/sh/function.c (grub_script_function_find): Cut error message
21225 not to flood terminal.
21226 * script/sh/lexer.c (grub_script_yylex): Remove command line length
21227 limit.
21228 * script/sh/script.c (grub_script_arg_add): Duplicate string.
21229
21230 2009-08-24 Colin Watson <cjwatson@ubuntu.com>
21231
21232 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
21233 `report' grub_uint8_t *.
21234 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
21235 Use a 50-millisecond timeout rather than just repeating
21236 grub_usb_keyboard_getreport 50 times.
21237 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
21238
21239 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
21240
21241 Rename *_partition_map to part_*
21242
21243 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
21244 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
21245 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
21246 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
21247 All users updated.
21248 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
21249 All users updated.
21250 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
21251 * util/grub-probe.c (probe_partmap): Don't transform partition name
21252 to get module name.
21253
21254 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
21255
21256 Fix OpenBSD and NetBSD support.
21257
21258 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
21259 memory address conflict.
21260 (OPENBSD_MMAP_ACPI): New definition.
21261 (OPENBSD_MMAP_NVS): Likewise.
21262 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
21263 and OPENBSD_MMAP_NVS.
21264 Add memory map terminator
21265 Explicit cast when calling grub_unix_real_boot.
21266 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
21267
21268 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
21269
21270 Let user specify NetBSD root device.
21271
21272 * loader/i386/bsd.c (netbsd_root): New variable.
21273 (netbsd_opts): New option 'root'.
21274 (NETBSD_ROOT_ARG): New macro.
21275 (grub_netbsd_boot): Use 'netbsd_root'.
21276 (grub_bsd_unload): Free 'netbsd_root'.
21277 (grub_cmd_netbsd): Fill 'netbsd_root'.
21278
21279 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
21280
21281 Support for 64-bit NetBSD.
21282
21283 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
21284 point when booting non-FreeBSD.
21285
21286 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
21287
21288 Support --no-smp and --no-acpi for NetBSD.
21289
21290 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
21291 (NETBSD_AB_NOACPI): Likewise.
21292 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
21293 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
21294
21295 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
21296
21297 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
21298 errors.
21299 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
21300 errors. Call grub_error when needed.
21301
21302 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
21303
21304 * commands/search.c (search_fs): Try searching without autoload first.
21305 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
21306 filesystem module explicitly for faster booting.
21307
21308 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
21309
21310 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
21311
21312 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
21313
21314 * util/grub.d/30_os-prober.in: Disable os-prober if
21315 `GRUB_DISABLE_OS_PROBER' was set to true.
21316
21317 2009-08-23 Robert Millan <rmh.grub@aybabtu.com>
21318
21319 * partmap/pc.c: Rename to ...
21320 * partmap/msdos.c: ... this. Update all users.
21321 (grub_pc_partition_map): Rename to ...
21322 (grub_msdos_partition_map): ... this. Update all users.
21323
21324 * parttool/pcpart.c: Rename to ...
21325 * parttool/msdospart.c: ... this. Update all users.
21326
21327 * include/grub/pc_partition.h: Rename to ...
21328 * include/grub/msdos_partition.h: ... this. Update all users.
21329 (grub_pc_partition_bsd_entry): Rename to ...
21330 (grub_msdos_partition_bsd_entry): ... this. Update all users.
21331 (grub_pc_partition_disk_label): Rename to ...
21332 (grub_msdos_partition_disk_label): ... this. Update all users.
21333 (grub_pc_partition_entry): Rename to ...
21334 (grub_msdos_partition_entry): ... this. Update all users.
21335 (grub_pc_partition_mbr): Rename to ...
21336 (grub_msdos_partition_mbr): ... this. Update all users.
21337 (grub_pc_partition): Rename to ...
21338 (grub_msdos_partition): ... this. Update all users.
21339 (grub_pc_partition_is_empty): Rename to ...
21340 (grub_msdos_partition_is_empty): ... this. Update all users.
21341 (grub_pc_partition_is_extended): Rename to ...
21342 (grub_msdos_partition_is_extended): ... this. Update all users.
21343 (grub_pc_partition_is_bsd): Rename to ...
21344 (grub_msdos_partition_is_bsd): ... this. Update all users.
21345
21346 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
21347 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
21348 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
21349 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
21350 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
21351 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
21352 (gpt_mod_LDFLAGS): Rename to ...
21353 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
21354 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
21355 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
21356 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
21357 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
21358 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
21359 (part_gpt_mod_LDFLAGS): ... this.
21360 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
21361 `pcpart.mod' to `msdospart.mod'.
21362 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
21363 to ...
21364 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
21365 (msdospart_mod_LDFLAGS): ... this.
21366
21367 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
21368
21369 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
21370 (openbsd_opts): Likewise.
21371 (netbsd_opts): Likewise.
21372 (freebsd_flags): Added 0 terminator.
21373 (openbsd_flags): Likewise.
21374 (netbsd_flags): Likewise.
21375 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
21376 (grub_cmd_freebsd): Transformed into extended command.
21377 (grub_cmd_openbsd): Likewise.
21378 (grub_cmd_netbsd): Likewise.
21379 (cmd_freebsd): Changed type to grub_extcmd_t.
21380 (cmd_openbsd): Likewise.
21381 (cmd_netbsd): Likewise.
21382 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
21383 grub_cmd_openbsd as extended commands.
21384 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
21385 cmd_netbsd and cmd_openbsd
21386
21387 2009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
21388
21389 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
21390
21391 2009-08-21 Pavel Roskin <proski@gnu.org>
21392
21393 * Makefile.in (install-local): When checking if a file is in the
21394 build directory, use "test -e" to detect symlinks.
21395
21396 * Makefile.in (install-local): Remove all files in
21397 $(DESTDIR)$(pkglibdir) before installing new files there.
21398
21399 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
21400
21401 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
21402 grub-mkelfimage.
21403
21404 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
21405
21406 * util/grub-mkconfig.in: Don't use gfxterm by default if not
21407 explicitly specified by the user.
21408
21409 2009-08-18 Pavel Roskin <proski@gnu.org>
21410
21411 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
21412 grub_uint8_t pointer for data.
21413 * include/grub/fbutil.h (struct grub_video_fbblit_info):
21414 Likewise.
21415 * video/fb/fbutil.c: Remove unnecessary casts.
21416
21417 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
21418
21419 VBE cleanup.
21420
21421 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
21422 (grub_vbe_set_video_mode): Save active mode info
21423 only after setting the mode.
21424 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
21425 second argument.
21426
21427 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
21428
21429 Rename variables for clarity.
21430
21431 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
21432 (active_vbe_mode_info): ... this. All users updated.
21433 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
21434 All users updated.
21435 (initial_mode): Rename to ...
21436 (initial_vbe_mode): ... this. All users updated.
21437 (mode_in_use): Rename to ..
21438 (vbe_mode_in_use): ... this. All users updated.
21439 (mode_list): Rename to ..
21440 (vbe_mode_list): ... this. All users updated.
21441 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
21442 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
21443 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
21444 'mode_list_size' to 'vbe_mode_list_size'.
21445 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
21446 'best_mode_info' to 'best_vbe_mode_info' and
21447 'best_mode' to 'best_vbe_mode'
21448
21449 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
21450
21451 Remove duplicate grub_video_fb_get_video_ptr.
21452
21453 * include/grub/fbutil.h (get_data_ptr): Rename to ...
21454 (grub_video_fb_get_video_ptr): ... this.
21455 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
21456 * video/fb/fbutil.c: Add comment about addressing.
21457 (get_data_ptr): Rename to ...
21458 (grub_video_fb_get_video_ptr): ... this. All users updated.
21459 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
21460
21461 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
21462
21463 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
21464 grub_dprintf() that was just added.
21465
21466 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
21467
21468 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
21469 (DEFAULT_VIDEO_MODE): Remove macros.
21470 (grub_linux_boot): Remove assumption that Linux has FB support,
21471 and use "text" as default video mode.
21472
21473 2009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
21474
21475 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
21476 grub_dprintf.
21477 * fs/fat.c (grub_fat_read_data): Likewise.
21478
21479 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
21480
21481 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
21482 payload.
21483 (grub_module): Likewise.
21484
21485 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
21486
21487 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
21488 mbi->cmdline but free playground.
21489
21490 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
21491
21492 Handle group offset on UFS1.
21493
21494 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
21495 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
21496
21497 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
21498
21499 Split ufs.mod into ufs1.mod and ufs2.mod.
21500
21501 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
21502 (grub_fstest_SOURCES): Likewise.
21503 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
21504 (ufs_mod_SOURCES): Remove.
21505 (ufs_mod_CFLAGS): Likewise.
21506 (ufs_mod_LDFLAGS): Likewise.
21507 (ufs1_mod_SOURCES): New variable.
21508 (ufs1_mod_CFLAGS): Likewise.
21509 (ufs1_mod_LDFLAGS): Likewise.
21510 (ufs2_mod_SOURCES): New variable.
21511 (ufs2_mod_CFLAGS): Likewise.
21512 (ufs2_mod_LDFLAGS): Likewise.
21513 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
21514 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
21515 Likewise.
21516 (grub_emu_SOURCES): Likewise.
21517 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21518 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
21519 (grub_setup_SOURCES): Likewise.
21520 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21521 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
21522 (grub_setup_SOURCES): Likewise.
21523 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
21524 Likewise.
21525 * fs/ufs2.c: New file.
21526 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
21527
21528 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
21529
21530 Framebuffer split.
21531
21532 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
21533 subsystem at the end.
21534 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
21535 (video_fb_mod_SOURCES): New variable.
21536 (video_fb_mod_CFLAGS): Likewise.
21537 (video_fb_mod_LDFLAGS): Likewise.
21538 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
21539 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
21540 * video/i386/pc/vbeblit.c: Moved from here ...
21541 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
21542 * video/i386/pc/vbefill.c: Moved from here ...
21543 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
21544 * video/i386/pc/vbeutil.c: Moved from here ...
21545 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
21546 * include/grub/i386/pc/vbeblit.h: Moved from here ...
21547 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
21548 * include/grub/i386/pc/vbefill.h: Moved from here ...
21549 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
21550 * include/grub/i386/pc/vbeutil.h: Moved from here ...
21551 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
21552 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
21553 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
21554 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
21555 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
21556 (grub_video_adapter): Added 'get_info_and_fini'.
21557 (grub_video_get_info_and_fini): New prototype.
21558 (grub_video_set_mode): make modestring const char *.
21559 * loader/i386/linux.c (grub_linux_setup_video): Use
21560 grub_video_get_info_and_fini.
21561 (grub_linux_boot): Move modesetting just before booting.
21562 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
21563 grub_video_get_info_and_fini.
21564 * video/i386/pc/vbe.c: Moved framebuffer part ...
21565 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
21566 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
21567 grub_video_fbstd_colors and grub_video_fb_set_palette.
21568 (grub_video_vbe_init): Clear 'framebuffer' variable and use
21569 grub_video_fb_init.
21570 (grub_video_vbe_fini): Use grub_video_fb_fini.
21571 (grub_video_vbe_setup): Use framebuffer.render_target instead of
21572 render_target and use grub_video_fb_set_active_render_target and
21573 grub_video_fb_set_palette.
21574 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
21575 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
21576 (grub_video_vbe_adapter): Use framebuffer.
21577 * video/video.c (grub_video_get_info_and_fini): New function.
21578 (grub_video_set_mode): Make modestring const char *.
21579 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
21580 values are already initialised.
21581
21582 2009-08-14 Pavel Roskin <proski@gnu.org>
21583
21584 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
21585 ABS and APPLE_CC.
21586 * boot/i386/pc/diskboot.S: Likewise.
21587 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
21588 sectors allow compilation on MacOSX.
21589 * conf/i386-pc.rmk: Enable unconditional compilation of
21590 lnxboot.img.
21591
21592 2009-08-13 Colin Watson <cjwatson@ubuntu.com>
21593
21594 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
21595 * util/grub.d/00_header.in: Enter interruptible sleep if
21596 GRUB_HIDDEN_TIMEOUT is set.
21597
21598 2009-08-13 Yves Blusseau <blusseau@zetam.org>
21599
21600 * include/grub/symbol.h: Add the LOCAL macro.
21601 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
21602 starting with "L_".
21603
21604 2009-08-13 Pavel Roskin <proski@gnu.org>
21605
21606 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
21607 any modern compilers we support.
21608
21609 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
21610 Use local labels starting with "L_" so that Apple assembler
21611 knows they are local.
21612
21613 2009-08-10 Robert Millan <rmh.grub@aybabtu.com>
21614
21615 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
21616 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
21617 (bsd_kernel_types): ... this enum.
21618
21619 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
21620 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
21621 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
21622
21623 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
21624 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
21625 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
21626 messages.
21627
21628 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
21629
21630 * util/grub-dumpdevtree: Moved from here ...
21631 * util/i386/efi/grub-dumpdevtree: ... to here.
21632 (hexify): New function. Converts a string to its hex version.
21633 Generate hex versions of "efi" and "device-properties" by calling
21634 hexify() on the ASCII strings rather than by hardcoding numbers.
21635
21636 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
21637
21638 * fs/jfs.c: Update copyright year.
21639
21640 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
21641
21642 * util/grub.d/00_header.in: Fix a comment.
21643 * util/grub.d/10_linux.in: Likewise.
21644 * util/grub.d/10_windows.in: Likewise.
21645 * util/grub.d/10_hurd.in: Likewise.
21646
21647 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
21648
21649 * util/grub-mkconfig.in: Allow the user to specify the used font
21650 with GRUB_FONT.
21651
21652 2009-08-08 Pavel Roskin <proski@gnu.org>
21653
21654 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
21655 available, xfs.mod needs it now.
21656
21657 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
21658 the "g" modifier in sed when the intention is to strip something
21659 once. This fixes comparison of kernels with multiple dashes.
21660
21661 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
21662 on it. Add missing space before closing bracket. Fix
21663 misleading formatting.
21664
21665 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
21666
21667 * docs/grub.texi: Major overhaul. Remove all sections that are
21668 specific to GRUB Legacy, or mostly composed of Legacy-specific
21669 information.
21670
21671 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
21672
21673 * docs/version.texi: New file. Provides version information for
21674 grub.texi.
21675
21676 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
21677
21678 * docs/grub.texi: Update CVS information to SVN.
21679 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
21680
21681 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
21682
21683 * util/grub-mkconfig.in: Remove a wrong `fi'.
21684
21685 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
21686
21687 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
21688 (grub_jfs_uuid): New function.
21689 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
21690
21691 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
21692
21693 * util/grub-mkconfig_lib.in (font_path): Move the functionality
21694 of it to ...
21695 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
21696 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
21697
21698 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
21699
21700 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
21701 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
21702 Update all users.
21703
21704 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
21705 not just "vmlinu[zx]".
21706 Moved from here ...
21707 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
21708 all users.
21709
21710 * util/grub.d/10_linux.in (find_latest): Moved from here ...
21711 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
21712 all users.
21713
21714 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
21715
21716 * util/grub.d/10_freebsd.in: Use an absolute device path for
21717 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
21718
21719 2009-08-06 Felix Zielcke <fzielcke@z-51.de>
21720
21721 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
21722 handling of multiple abstraction modules.
21723
21724 2009-08-04 Robert Millan <rmh.grub@aybabtu.com>
21725
21726 Fix a bug resulting in black screen when loading Linux using a
21727 packed video mode.
21728
21729 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
21730 function.
21731
21732 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
21733 (grub_vbe_bios_getset_dac_palette_width): New function.
21734 (grub_vbe_bios_get_dac_palette_width)
21735 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
21736 grub_vbe_bios_getset_dac_palette_width()).
21737
21738 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
21739 check for return status.
21740 (grub_vbe_get_video_mode_info): When getting information for a packed
21741 mode (<= 8 bpp), obtain DAC palette width using
21742 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
21743 {red,green,blue}_mark_size.
21744
21745 2009-08-04 Felix Zielcke <fzielcke@z-51.de>
21746
21747 * commands/search.c (options): Fix help output to match actual code.
21748
21749 2009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
21750
21751 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
21752 of homegrown code.
21753
21754 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
21755
21756 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
21757 on XFS or ReiserFS.
21758
21759 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
21760
21761 Support Apple partition map with sector size different from 512 bytes.
21762
21763 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
21764 (apple_partition_map_iterate): Respect 'aheader.blocksize'
21765 and 'apart.partmap_size'.
21766
21767 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
21768 2009-08-01 Robert Millan <rmh.grub@aybabtu.com>
21769
21770 Fix cpuid command.
21771
21772 * commands/i386/cpuid.c (options): New variable.
21773 (grub_cmd_cpuid): Return real error.
21774 (GRUB_MOD_INIT(cpuid)): Declare options.
21775
21776 2009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
21777
21778 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
21779 valid.
21780
21781 2009-07-31 Bean <bean123ch@gmail.com>
21782
21783 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
21784 log2_inode.
21785 (grub_fshelp_node): Move inode field to the end.
21786 (grub_xfs_data): Remove inode field.
21787 (grub_xfs_inode_block): Calculate inode size using sblock.
21788 (grub_xfs_inode_offset): Likewise.
21789 (grub_xfs_read_inode): Calculate inode size using sblock.
21790 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
21791 (grub_xfs_iterate_dir): Calculate inode size using sblock.
21792 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
21793 to match inode size.
21794 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
21795 not accessible when data is null.
21796 (grub_xfs_open): Likewise.
21797
21798 2009-07-31 Bean <bean123ch@gmail.com>
21799
21800 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
21801 Don't change pv->disk if it's already set.
21802
21803 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
21804 (grub_raid_register): ... here.
21805 (grub_raid_rescan): Removed.
21806
21807 * include/grub/raid.h (grub_raid_rescan): Removed.
21808
21809 * util/grub-fstest.c: Remove include file <grub/raid.h>.
21810 (fstest): Replace grub_raid_rescan with module fini function followed
21811 by init function.
21812
21813 * util/grub-probe.c: Add include file <grub/raid.h>.
21814 (probe_raid_level): New function.
21815 (probe): Detect abstraction by walking the disk device, support two
21816 level of abstraction (LVM on RAID) when detecting partition map.
21817
21818 2009-07-31 Pavel Roskin <proski@gnu.org>
21819
21820 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
21821 to grub_zalloc(), it was erroneous.
21822 Reported by Bean <bean123ch@gmail.com>
21823
21824 2009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
21825
21826 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
21827 embedding zone, not only the first one.
21828
21829 2009-07-29 Joe Auricchio <jauricchio@gmail.com>
21830
21831 * term/gfxterm.c (clear_char): New function.
21832 (grub_virtual_screen_setup): Use clear_char.
21833 (scroll_up): Likewise.
21834 (grub_virtual_screen_cls): Likewise.
21835
21836 2009-07-29 Felix Zielcke <fzielcke@z-51.de>
21837
21838 * util/deviceiter.c (get_acceleraid_disk_name): New static
21839 function.
21840 (grub_util_iterate_devices): Handle Accelraid devices.
21841 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
21842
21843 2009-07-28 Robert Millan <rmh.grub@aybabtu.com>
21844
21845 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
21846 separator for the suggested gfxpayload string (';' collides with the
21847 parser and needs escaping).
21848
21849 2009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
21850
21851 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
21852 Clear direction flag before jumping to OS.
21853 (grub_multiboot2_real_boot): Likewise.
21854
21855 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
21856
21857 * util/i386/pc/grub-install: Fix parsing of --disk-module
21858 option.
21859
21860 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
21861
21862 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
21863 when embedding.
21864
21865 2009-07-26 Felix Zielcke <fzielcke@z-51.de>
21866
21867 * util/grub-mkconfig.in (package_version): New variable.
21868 Use it do display the version.
21869
21870 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
21871
21872 * kern/file.c (grub_file_open): Revert to previous check with
21873 grub_errno.
21874
21875 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
21876
21877 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
21878 from help line. It's out of sync with code.
21879
21880 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
21881
21882 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
21883 entries on failed boot.
21884
21885 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
21886
21887 * kern/file.c (grub_file_open): Fix an error check.
21888
21889 2009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
21890
21891 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
21892 partition map couldn't be identified.
21893
21894 2009-07-23 Pavel Roskin <proski@gnu.org>
21895
21896 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
21897 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
21898 case of little endian words becomes just an optimization.
21899 Respect const modifier.
21900 (md5_final): Use code that doesn't depend on endianness.
21901
21902 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
21903 to avoid loss of upper bits if align is unsigned and shorter
21904 than addr.
21905
21906 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
21907
21908 UUID support for UFS
21909
21910 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
21911 (grub_ufs_uuid): New function.
21912 (grub_ufs_fs): add .uuid
21913
21914 2009-07-21 Pavel Roskin <proski@gnu.org>
21915
21916 * kern/dl.c (grub_dl_check_header): Make static.
21917
21918 2009-07-21 Felix Zielcke <fzielcke@z-51.de>
21919
21920 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
21921 add drivemap for Vista. It breaks Windows 7.
21922
21923 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
21924
21925 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
21926 128 bytes
21927
21928 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
21929
21930 Add BFS support
21931
21932 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
21933 (grub_fstest_SOURCES): Likewise.
21934 (pkglib_MODULES): Add befs.mod.
21935 (befs_mod_SOURCES): New variable.
21936 (befs_mod_CFLAGS): Likewise.
21937 (befs_mod_LDFLAGS): Likewise.
21938 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
21939 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
21940 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21941 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
21942 (grub_setup_SOURCES): Likewise.
21943 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21944 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21945 (grub_setup_SOURCES): Likewise.
21946 * fs/befs.c: New file.
21947 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
21948 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
21949 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
21950 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
21951 (B_KEY_INDEX_ALIGN): New declaration.
21952 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
21953 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
21954 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
21955 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
21956 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
21957 (grub_afs_mount) [MODE_BFS]: Likewise.
21958 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
21959 (grub_afs_fs): Use GRUB_AFS_FSNAME
21960 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
21961 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
21962 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
21963 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
21964
21965 2009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
21966
21967 * util/getroot.c (find_root_device): Add support for MacOSX.
21968 * util/hostdisk.c: Likewise.
21969
21970 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
21971
21972 * font/font.c (find_glyph): Check whether a font is present to avoid
21973 segmentation fault.
21974
21975 2009-07-20 Joe Auricchio <jauricchio@gmail.com>
21976
21977 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
21978
21979 2009-07-20 Pavel Roskin <proski@gnu.org>
21980
21981 * configure.ac: Trim excessively wordy excuses.
21982
21983 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
21984
21985 Add symlink, mtime and label support to AtheFS.
21986
21987 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
21988 (grub_afs_iterate_dir): Handle symlinks.
21989 (grub_afs_open): Use grub_afs_read_symlink.
21990 (grub_afs_dir): Likewise.
21991 Pass mtime.
21992 (grub_afs_label): New function.
21993 (grub_afs_fs): Add grub_afs_label.
21994 (grub_afs_read_symlink): New function.
21995
21996 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
21997
21998 Fix AtheFS support.
21999
22000 * fs/afs.c: Fix comments style.
22001 (grub_afs_blockrun): Declare as packed.
22002 (grub_afs_datastream): Likewise.
22003 (grub_afs_bnode): Likewise.
22004 (grub_afs_btree): Likewise.
22005 (grub_afs_sblock): Likewise.
22006 Declare `name' as char.
22007 (grub_afs_inode): Declare as packed.
22008 Change void *vnode to grub_uint32_t unused.
22009 (grub_afs_iterate_dir): Check that key_size is positive.
22010 (grub_afs_mount): Don't read superblock twice.
22011 (grub_afs_dir): Don't free node in case of error,
22012 grub_fshelp_find_file already handles this.
22013 (grub_afs_open): Likewise.
22014
22015 2009-07-19 Pavel Roskin <proski@gnu.org>
22016
22017 * Makefile.in: Remove LIBLZO and enable_lzo.
22018 * conf/i386-pc.rmk: Remove lzo support.
22019 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
22020 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
22021 support.
22022 * kern/i386/pc/lzo1x.S: Remove.
22023 * kern/i386/pc/startup.S: Remove lzo support.
22024 * util/i386/pc/grub-mkimage.c: Likewise.
22025
22026 2009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
22027
22028 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
22029 * fs/xfs.c (grub_xfs_dir): Likewise.
22030 * fs/afs.c (grub_afs_dir): Likewise.
22031 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
22032 (grub_iso9660_open): Likewise.
22033 * fs/jfs.c (grub_jfs_open): Likewise.
22034 * fs/ext2.c (grub_ext2_dir): Likewise.
22035 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
22036 * script/sh/lexer.c (grub_script_yylex): Likewise.
22037
22038 2009-07-16 Pavel Roskin <proski@gnu.org>
22039
22040 * configure.ac: Never add "-c" to CFLAGS.
22041
22042 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
22043
22044 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
22045 grub_cv_cc_efiemu should be used.
22046
22047 * configure.ac: Typo fixes.
22048
22049 * kern/mm.c (grub_zalloc): New function.
22050 (grub_debug_zalloc): Likewise.
22051 * include/grub/mm.h: Declare grub_zalloc() and
22052 grub_debug_zalloc().
22053 * util/misc.c (grub_zalloc): New function.
22054 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
22055 instead of grub_malloc(), remove unneeded initializations.
22056 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
22057 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
22058 * commands/parttool.c (grub_cmd_parttool): Likewise.
22059 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
22060 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
22061 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
22062 * disk/usbms.c (grub_usbms_finddevs): Likewise.
22063 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
22064 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
22065 (grub_cmd_efiemu_pnvram): Likewise.
22066 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
22067 * fs/iso9660.c (grub_iso9660_mount): Likewise.
22068 (grub_iso9660_iterate_dir): Likewise.
22069 * fs/jfs.c (grub_jfs_opendir): Likewise.
22070 * fs/ntfs.c (list_file): Likewise.
22071 (grub_ntfs_mount): Likewise.
22072 * kern/disk.c (grub_disk_open): Likewise.
22073 * kern/dl.c (grub_dl_load_core): Likewise.
22074 * kern/elf.c (grub_elf_file): Likewise.
22075 * kern/env.c (grub_env_context_open): Likewise.
22076 (grub_env_set): Likewise.
22077 (grub_env_set_data_slot): Likewise.
22078 * kern/file.c (grub_file_open): Likewise.
22079 * kern/fs.c (grub_fs_blocklist_open): Likewise.
22080 * loader/i386/multiboot.c (grub_module): Likewise.
22081 * loader/xnu.c (grub_xnu_create_key): Likewise.
22082 (grub_xnu_create_value): Likewise.
22083 * normal/main.c (grub_normal_add_menu_entry): Likewise.
22084 (read_config_file): Likewise.
22085 * normal/menu_entry.c (make_screen): Likewise.
22086 * partmap/sun.c (sun_partition_map_iterate): Likewise.
22087 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
22088 * script/sh/script.c (grub_script_parse): Likewise.
22089 * video/bitmap.c (grub_video_bitmap_create): Likewise.
22090 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
22091 * video/readers/png.c (grub_png_output_byte): Likewise.
22092 (grub_video_reader_png): Likewise.
22093
22094 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
22095
22096 Enable all targets that can be built by default
22097
22098 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
22099 grub-mkfont and grub-fstest if they can be built
22100
22101 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
22102
22103 Fix hang and segmentation fault in grub-emu-usb
22104
22105 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
22106 * util/usb.c (grub_libusb_devices): likewise
22107 (grub_libusb_init): rename to ...
22108 (GRUB_MOD_INIT (libusb)):...this
22109 (grub_libusb_fini): rename to ..
22110 (GRUB_MOD_FINI (libusb)):...this
22111 * disk/usbms.c (grub_usbms_transfer): fix retry logic
22112 * include/grub/disk.h (grub_raid_init): removed, it's useless
22113 (grub_raid_fini): likewise
22114 (grub_lvm_init): likewise
22115 (grub_lvm_fini): likewise
22116 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
22117 by grub_init_all
22118
22119 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
22120
22121 Fix libusb
22122
22123 * Makefile.in (LIBUSB): new macro
22124 * genmk.rb (Utility/print_tail): new method
22125 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
22126 (top level): call util.print_tail at the end.
22127
22128 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
22129
22130 Make FreeBSD accept zpool.cache
22131
22132 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
22133 type is /boot/zfs/zpool.cache
22134
22135 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
22136
22137 Fix 64-bit efiemu
22138
22139 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
22140 correct wrong typedef
22141 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
22142
22143 2009-07-15 Pavel Roskin <proski@gnu.org>
22144
22145 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
22146 * kern/disk.c (struct grub_disk_cache): Likewise.
22147
22148 * commands/probe.c (options): Typo fix.
22149
22150 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
22151 Increase to 0x5a to accommodate FAT32. Adjust other offsets
22152 accordingly.
22153 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
22154
22155 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
22156 the end of "Error" to make the message more readable.
22157
22158 * boot/i386/pc/boot.S (kernel_segment): Remove.
22159 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
22160 for destination.
22161
22162 * boot/i386/pc/boot.S (boot_version): Remove.
22163 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
22164 Remove.
22165
22166 * include/grub/i386/pc/boot.h: Sort all offsets.
22167 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
22168 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
22169 * boot/i386/pc/boot.S: Assert location of every offset listed in
22170 include/grub/i386/pc/boot.h.
22171
22172 2009-07-13 Pavel Roskin <proski@gnu.org>
22173
22174 * include/grub/i386/coreboot/machine.h: Rename
22175 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
22176 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
22177 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
22178
22179 * kern/dl.c: Force native word size to suppress warnings when
22180 compiling grub-emu.
22181
22182 * kern/device.c (grub_device_iterate): Change struct part_ent to
22183 hold the name, not a pointer to it. Use one grub_malloc() per
22184 partition, not two. Free partition_name if grub_malloc() fails.
22185 Set ents to NULL only before grub_partition_iterate() is called.
22186
22187 2009-07-11 Bean <bean123ch@gmail.com>
22188
22189 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
22190 childname.
22191
22192 2009-07-10 Bean <bean123ch@gmail.com>
22193 2009-07-10 Robert Millan <rmh.grub@aybabtu.com>
22194
22195 * kern/ieee1275/openfw.c (grub_children_iterate)
22196 (grub_devalias_iterate): Fix size evaluation for property or path
22197 strings, which was broken since r2132.
22198
22199 2009-07-07 Pavel Roskin <proski@gnu.org>
22200
22201 * commands/search.c (search_file): Merge into ...
22202 (search_fs): ... this. Accept search type as argument.
22203 (grub_cmd_search): Pass search type to search_fs().
22204
22205 * include/grub/util/console.h: New file.
22206 * util/console.c: Use it instead of grub/machine/console.h.
22207 * util/grub-emu.c: Likewise.
22208
22209 * lib/arg.c (find_long_option): Remove.
22210 (find_long): Add `len' argument, make `s' const char *.
22211 (grub_arg_parse): Parse long options in place, not in a
22212 temporary buffer.
22213
22214 2009-07-06 Pavel Roskin <proski@gnu.org>
22215
22216 * commands/search.c (search_fs): Fix potential NULL pointer
22217 dereference.
22218
22219 * commands/search.c (search_fs): Replace QUID macro with quid_fn
22220 function pointer.
22221
22222 2009-07-06 Daniel Mierswa <impulze@impulze.org>
22223
22224 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
22225 comparison.
22226
22227 2009-07-05 Pavel Roskin <proski@gnu.org>
22228
22229 * include/grub/i386/linux.h (struct linux_kernel_params):
22230 Restore padding3, it's still needed.
22231
22232 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
22233 FreeBSD.
22234 * util/osdetect.lua: Likewise.
22235
22236 2009-07-05 Bean <bean123ch@gmail.com>
22237
22238 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
22239
22240 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
22241 (grub_lua_getenv): Likewise.
22242 (grub_lua_setenv): Likewise.
22243 (save_errno): New function.
22244 (push_result): Likewise.
22245 (grub_lua_enum_device): Likewise.
22246 (grub_lua_enum_file): Likewise.
22247 (grub_lua_file_open): Likewise.
22248 (grub_lua_file_close): Likewise.
22249 (grub_lua_file_seek): Likewise.
22250 (grub_lua_file_read): Likewise.
22251 (grub_lua_file_getline): Likewise.
22252 (grub_lua_file_getsize): Likewise.
22253 (grub_lua_file_getpos): Likewise.
22254 (grub_lua_file_eof): Likewise.
22255 (grub_lua_file_exist): Likewise.
22256 (grub_lua_add_menu): Likewise.
22257
22258 * script/lua/grub_lua.h (isupper): New inline function.
22259 (islower): Likewise.
22260 (ispunct): Likewise.
22261 (isxdigit): Likewise.
22262 (strcspn): Change to normal function.
22263 (strpbkr): New function declaration.
22264 (memchr): Likewise.
22265
22266 * script/lua/grub_main.c (scan_str): New function.
22267 (strcspn): Likewise.
22268 (strpbrk): Likewise.
22269 (memchr): Likewise.
22270
22271 * script/lua/linit.c (lualibs): Enable the string library.
22272
22273 * util/osdetect.lua: New file.
22274
22275 2009-07-04 Robert Millan <rmh.grub@aybabtu.com>
22276
22277 * include/grub/i386/linux.h (struct linux_kernel_params): Add
22278 `capabilities' member.
22279
22280 2009-07-02 Pavel Roskin <proski@gnu.org>
22281
22282 * genparttoollist.sh: Add missing newline at the end.
22283
22284 2009-07-01 Pavel Roskin <proski@gnu.org>
22285
22286 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
22287
22288 * util/hostdisk.c (open_device): Remove `const' from
22289 `sysctl_size', as sysctlbyname() can change it (in this case it
22290 doesn't actually happen).
22291
22292 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
22293 using signed long int constants.
22294
22295 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
22296 constant to avoid a warning on FreeBSD.
22297
22298 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
22299 where it's needed.
22300
22301 * Makefile.in: Install include/grub/machine symlink.
22302
22303 * Makefile.in: When installing symlinks, use "cp -fR", which
22304 works on FreeBSD and MacOSX.
22305 From Yves Blusseau <cl7m42e02@sneakemail.com>
22306
22307 * kern/dl.c (grub_dl_resolve_symbol): Make static.
22308 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
22309
22310 * util/misc.c: Move grub_reboot() and grub_halt() ...
22311 * util/grub-emu.c: ... here. Make main_env static.
22312 * include/grub/util/misc.h: Remove main_env.
22313
22314 * kern/mm.c: Use correct format to print size_t.
22315
22316 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
22317 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
22318 * kern/powerpc/dl.c: Likewise.
22319 * kern/sparc64/dl.c: Likewise.
22320 * kern/x86_64/dl.c: Likewise.
22321
22322 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
22323
22324 Fix grub-emu build on sparc64-ieee1275.
22325
22326 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
22327 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
22328
22329 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
22330
22331 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
22332 (grub_reboot, grub_halt): New functions.
22333
22334 * util/i386/pc/misc.c: Delete. Update all users.
22335 * util/sparc64/ieee1275/misc.c: Likewise.
22336 * util/powerpc/ieee1275/misc.c: Likewise.
22337
22338 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
22339
22340 * conf/i386.rmk (setjmp_mod_SOURCES)
22341 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
22342 * conf/common.rmk (setjmp_mod_SOURCES)
22343 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
22344 to use $(target_cpu).
22345 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
22346 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
22347 * conf/powerpc-ieee1275.rmk: Likewise.
22348 * conf/sparc64-ieee1275.rmk: Likewise.
22349
22350 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
22351 $(target_cpu) for kern/$(target_cpu)/dl.c.
22352 * conf/i386-efi.rmk: Likewise.
22353 * conf/i386-ieee1275.rmk: Likewise.
22354 * conf/x86_64-efi.rmk: Likewise.
22355 * conf/i386-coreboot.rmk: Likewise.
22356 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
22357 $(target_cpu) for kern/$(target_cpu)/dl.c and for
22358 kern/$(target_cpu)/cache.S.
22359 * conf/sparc64-ieee1275.rmk: Likewise.
22360
22361 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
22362
22363 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
22364 type to `grub_uint8_t', and adjust `padding9' accordingly.
22365
22366 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
22367
22368 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
22369
22370 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
22371 assembly in final jump, using register constraints.
22372
22373 (grub_linux_boot): For text mode, initialize `have_vga' using
22374 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
22375
22376 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
22377 right before the final jump.
22378
22379 Set `video_mode' to 0x3.
22380
22381 Document initialization of `video_page', `video_mode' and
22382 `video_ega_bx'.
22383
22384 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
22385
22386 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
22387 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
22388 and set GRUB_LINUX_FLAG_QUIET appropriately.
22389
22390 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
22391
22392 Fix build on Debian / sparc.
22393
22394 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
22395
22396 2009-06-28 Pavel Roskin <proski@gnu.org>
22397
22398 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
22399 fix a warning.
22400
22401 * util/grub.d/10_linux.in: Match SUSE style initrd names.
22402
22403 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
22404
22405 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
22406 `err'.
22407
22408 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
22409
22410 Revert r2338.
22411
22412 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
22413 file can't be opened. grub_file_open() is already supposed to set
22414 grub_errno / grub_errmsg appropriately.
22415 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
22416
22417 2009-06-27 Pavel Roskin <proski@gnu.org>
22418 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
22419
22420 * include/grub/dl.h: Include grub/elf.h.
22421 (struct grub_dl): Add symtab field.
22422 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
22423 GRUB_MODULES_MACHINE_READONLY.
22424 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
22425 of the header for read-only modules.
22426 (grub_dl_unload): Free mod->symtab for read-only modules.
22427 * kern/i386/dl.c: Use mod->symtab.
22428 * kern/powerpc/dl.c: Likewise.
22429 * kern/sparc64/dl.c: Likewise.
22430 * kern/x86_64/dl.c: Likewise.
22431
22432 * conf/i386-qemu.rmk: New file.
22433 * kern/i386/qemu/startup.S: Likewise.
22434 * kern/i386/qemu/mmap.c: Likewise.
22435 * boot/i386/qemu/boot.S: Likewise.
22436 * include/grub/i386/qemu/time.h: Likewise.
22437 * include/grub/i386/qemu/serial.h: Likewise.
22438 * include/grub/i386/qemu/kernel.h: Likewise.
22439 * include/grub/i386/qemu/console.h: Likewise.
22440 * include/grub/i386/qemu/boot.h: Likewise.
22441 * include/grub/i386/qemu/init.h: Likewise.
22442 * include/grub/i386/qemu/machine.h: Likewise.
22443 * include/grub/i386/qemu/loader.h: Likewise.
22444 * include/grub/i386/qemu/memory.h: Likewise.
22445
22446 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
22447 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
22448 [qemu] (pkglib_IMAGES): Add `boot.img'.
22449 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
22450 [qemu] (boot_img_FORMAT): New variables.
22451 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
22452 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
22453 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
22454 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
22455 [qemu] (kernel_img_FORMAT): New variables.
22456
22457 * configure.ac: Recognise `i386-qemu'.
22458
22459 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
22460 (for no compression).
22461 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
22462 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
22463 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
22464 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
22465 ifdefs).
22466
22467 2009-06-27 Pavel Roskin <proski@gnu.org>
22468
22469 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
22470 read.
22471 * efiemu/prepare32.c: Likewise.
22472 * efiemu/prepare64.c: Likewise.
22473
22474 2009-06-26 Pavel Roskin <proski@gnu.org>
22475
22476 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
22477 * include/grub/elf.h: Define symbols without "32" or "64" based
22478 on GRUB_TARGET_WORDSIZE.
22479 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
22480 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
22481 ELF definitions.
22482 * efiemu/loadcore64.c: Likewise.
22483 * loader/i386/bsd32.c: Likewise.
22484 * loader/i386/bsd64.c: Likewise.
22485 * kern/dl.c: Remove own ELF definitions.
22486 * util/i386/efi/grub-mkimage.c: Likewise.
22487
22488 2009-06-23 Robert Millan <rmh.grub@aybabtu.com>
22489
22490 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
22491 segment 0x0 unconditionally, because the reference generated by
22492 GAS is an absolute address.
22493
22494 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
22495
22496 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
22497 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
22498
22499 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
22500
22501 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
22502 indexes. Check for -f explicitly.
22503 (search_file): Improve error message.
22504 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
22505
22506 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
22507
22508 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
22509 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
22510
22511 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
22512
22513 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
22514 * conf/i386-ieee1275.rmk: Likewise.
22515 * conf/i386-coreboot.rmk: Likewise.
22516
22517 * kern/i386/pc/startup.S (grub_stop): Remove function.
22518 * kern/i386/ieee1275/startup.S: Likewise.
22519 * kern/i386/coreboot/startup.S: Likewise.
22520 * kern/i386/misc.S (grub_stop): New function.
22521
22522 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
22523
22524 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
22525 * kern/i386/realmode.S (real_to_prot): ... to here.
22526
22527 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
22528
22529 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
22530 with `kernel.img'.
22531 (kernel_elf_SOURCES): Rename to ...
22532 (kernel_img_SOURCES): ... this.
22533 (kernel_elf_HEADERS): Rename to ...
22534 (kernel_img_HEADERS): ... this. Update all users.
22535 (kernel_elf_ASFLAGS): Rename to ...
22536 (kernel_img_ASFLAGS): ... this.
22537 (kernel_elf_CFLAGS): Rename to ...
22538 (kernel_img_CFLAGS): ... this.
22539 (kernel_elf_LDFLAGS): Rename to ...
22540 (kernel_img_LDFLAGS): ... this.
22541 * conf/i386-coreboot.rmk: Likewise.
22542 * conf/powerpc-ieee1275.rmk: Likewise.
22543
22544 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
22545 with "kernel.img".
22546
22547 2009-06-21 Pavel Roskin <proski@gnu.org>
22548
22549 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
22550 to match nested functions.
22551 * loader/sparc64/ieee1275/linux.c: Likewise.
22552
22553 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
22554
22555 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
22556
22557 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
22558 all i386 platforms.
22559
22560 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
22561
22562 Fix asm file handling on ELF, and remove workarounds.
22563
22564 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
22565 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
22566 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
22567 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
22568
22569 2009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
22570
22571 Load BSD ELF modules
22572
22573 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
22574 and loader/i386/bsd64.c
22575 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
22576 (FREEBSD_MODTYPE_ELF_MODULE): New definition
22577 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
22578 (grub_freebsd_load_elfmodule32): New declaration
22579 (grub_freebsd_load_elfmoduleobj64): Likewise
22580 (grub_freebsd_load_elf_meta32): Likewise
22581 (grub_freebsd_load_elf_meta64): Likewise
22582 (grub_freebsd_add_meta): Likewise
22583 (grub_freebsd_add_meta_module): Likewise
22584 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
22585 (grub_freebsd_add_meta_module): Likewise and move module-specific
22586 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
22587 (grub_cmd_freebsd): Add elf-kernel specific parts
22588 based on grub_freebsd_add_meta_module
22589 (grub_cmd_freebsd_module): Add type parsing moved from
22590 grub_freebsd_add_meta_module
22591 (grub_cmd_freebsd_module_elf): New function
22592 (cmd_freebsd_module_elf): New variable
22593 (GRUB_MOD_INIT): Register freebsd_module_elf
22594 * loader/i386/bsd32.c: New file
22595 * loader/i386/bsd64.c: Likewise
22596 * loader/i386/bsdXX.c: Likewise
22597 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
22598 (grub_elf64_load): Likewise
22599 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
22600 All users updated
22601 (grub_elf64_load_hook_t): Likewise
22602
22603 2009-06-21 Colin Watson <cjwatson@ubuntu.com>
22604
22605 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
22606 variable.
22607 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
22608 don't write a menu entry for recovery mode.
22609
22610 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
22611
22612 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
22613 after it's no longer needed.
22614
22615 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
22616
22617 * include/grub/i386/loader.h (grub_linux_prot_size)
22618 (grub_linux_tmp_addr, grub_linux_real_addr)
22619 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
22620 GRUB_MACHINE_PCBIOS.
22621 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
22622 common grub_util_info() call to ...
22623 (generate_image): ... here.
22624 Fix use of uninitialized memory, comparison of signed with
22625 unsigned integers and memory leak.
22626 Remove bogus module address message.
22627
22628 2009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
22629
22630 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
22631 grub_raid_register
22632 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
22633
22634 2009-06-19 Pavel Roskin <proski@gnu.org>
22635
22636 * configure.ac: Remove stray AC_MSG_CHECKING.
22637
22638 2009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
22639
22640 * disk/scsi.c (grub_scsi_open): use continue instead of big if
22641
22642 2009-06-18 Pavel Roskin <proski@gnu.org>
22643
22644 * conf/common.rmk: Add fs_file.mod.
22645 * disk/fs_file.c: New file.
22646 * include/grub/disk.h (enum grub_disk_dev_id): Add
22647 GRUB_DISK_DEVICE_FILE_ID.
22648
22649 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
22650
22651 Fix build with Apple's toolchain. Part 2
22652
22653 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
22654 a fake start
22655
22656 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
22657
22658 Fix build with Apple's toolchain. Part 1
22659
22660 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
22661 for long calls
22662 * configure.ac: remove a leftover AC_MSG_RESULT
22663 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
22664 Apple's toolchain
22665
22666 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
22667
22668 Fix warnings
22669
22670 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
22671 (decomp_block): initialize ch
22672 use grub_memcpy instead of memcpy
22673
22674 2009-06-17 Pavel Roskin <proski@gnu.org>
22675
22676 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
22677 version, use declarations needed to use vga_text as the startup
22678 console.
22679
22680 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
22681 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
22682 the kernel.
22683 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
22684 and grub_at_keyboard_fini(), it's done on module load and
22685 unload.
22686
22687 2009-06-17 Felix Zielcke <fzielcke@z-51.de>
22688
22689 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
22690 file can't be found.
22691 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
22692
22693 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
22694
22695 Fix newline handling
22696
22697 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
22698 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
22699 (grub_script_yylex): don't segfault on unterminated script
22700 newline terminates command and variable
22701
22702 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
22703
22704 avoid double grub_adjust_range call. Bug reported by David Simner
22705
22706 * kern/disk.c (grub_disk_write): change to raw disk access before
22707 calling disk_read
22708
22709 2009-06-17 Colin Watson <cjwatson@ubuntu.com>
22710
22711 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
22712 spaces, for the benefit of help2man.
22713 * util/i386/efi/grub-mkimage.c (usage): Likewise.
22714
22715 2009-06-16 Pavel Roskin <proski@gnu.org>
22716
22717 * kern/i386/halt.c: Include grub/machine/init.h.
22718 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
22719
22720 2009-06-16 Felix Zielcke <fzielcke@z-51.de>
22721
22722 * util/grub.d/30_os-prober.in: Use ${root} in the generated
22723 drivemap menuentry.
22724
22725 2009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
22726
22727 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
22728 `echo' command.
22729
22730 2009-06-16 Pavel Roskin <proski@gnu.org>
22731
22732 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
22733 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
22734 save %dx, we only need %dl and we never change it.
22735 * boot/i386/pc/cdboot.S: Don't set the root drive.
22736 * boot/i386/pc/pxeboot.S: Likewise.
22737 * include/grub/i386/pc/boot.h: Remove
22738 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
22739 GRUB_BOOT_MACHINE_DRIVE_CHECK.
22740 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
22741 * kern/i386/pc/init.c (make_install_device): Remove references
22742 to grub_root_drive.
22743 * kern/i386/pc/startup.S: Likewise.
22744 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
22745
22746 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
22747
22748 xnu_uuid command
22749
22750 * commands/xnu_uuid.c: new file
22751 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
22752 (xnu_uuid_mod_SOURCES): new variable
22753 (xnu_uuid_mod_CFLAGS): likewise
22754 (xnu_uuid_mod_LDFLAGS): likewise
22755 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
22756 * conf/i386-ieee1275.rmk: likewise
22757 * conf/i386-pc.rmk: likewise
22758 * conf/powerpc-ieee1275.rmk: likewise
22759 * conf/sparc64-ieee1275.rmk: likewise
22760 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
22761
22762 2009-06-16 Pavel Roskin <proski@gnu.org>
22763
22764 * configure.ac: Avoid '==' in test command, it's not portable.
22765
22766 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
22767
22768 Probe command
22769
22770 * commands/probe.c: new file
22771 * conf/common.rmk (pkglib_MODULES): add probe.mod
22772 (probe_mod_SOURCES): new variable
22773 (probe_mod_CFLAGS): likewise
22774 (probe_mod_LDFLAGS): likewise
22775 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
22776 * conf/i386-ieee1275.rmk: likewise
22777 * conf/i386-pc.rmk: likewise
22778 * conf/powerpc-ieee1275.rmk: likewise
22779 * conf/sparc64-ieee1275.rmk: likewise
22780
22781 2009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
22782
22783 Fix handling of string like \"hello\" and "a
22784 b"
22785
22786 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
22787 (grub_script_yylex): fix parsing of quoting, escaping and newline
22788
22789 2009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
22790
22791 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
22792 handling
22793
22794 2009-06-13 Jun Inoue <jun.lambda@gmail.com>
22795
22796 * util/grub-mkconfig.in: Fix parsing of --output option.
22797
22798 2009-06-12 Pavel Roskin <proski@gnu.org>
22799
22800 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
22801 genmk.rb don't need to be generated or installed.
22802
22803 2009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
22804
22805 * commands/i386/pc/drivemap_int13h.S: add more comments
22806
22807 2009-06-11 Pavel Roskin <proski@gnu.org>
22808
22809 * Makefile.in (uninstall): Uninstall manuals.
22810
22811 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
22812 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
22813 and update-grub_lib in two places.
22814 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
22815
22816 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
22817 a compiler warning.
22818
22819 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
22820 `entry_lo' to fix variable shadowing.
22821
22822 2009-06-11 Christian Franke <franke@computer.org>
22823
22824 * kern/misc.c (__enable_execute_stack): Add missing return type
22825 to prevent gcc warning.
22826
22827 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
22828
22829 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
22830
22831 2009-06-11 Pavel Roskin <proski@gnu.org>
22832
22833 * Makefile.in: Don't rely on any scripts being executable.
22834 Always use $(SHELL) to run shell scripts.
22835
22836 * configure.ac: Always define ___main if using -nostdlib. This
22837 fixes tests on Cygwin.
22838
22839 2009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
22840
22841 UDF fix
22842
22843 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
22844 is in bytes and not in blocks
22845
22846 2009-06-11 Pavel Roskin <proski@gnu.org>
22847
22848 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
22849 warning.
22850
22851 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
22852
22853 * util/grub.d/30_os-prober.in: Fix a comment. Source
22854 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
22855 to set the root device. Place drivemap command in the generated
22856 chain entry.
22857
22858 2009-06-11 Pavel Roskin <proski@gnu.org>
22859
22860 * configure.ac: Remove host_m32. Issues with 64-bit utilities
22861 have long been resolved.
22862
22863 2009-06-11 Colin Watson <cjwatson@ubuntu.com>
22864
22865 * util/grub.d/10_linux.in: Capitalise "Linux".
22866
22867 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
22868
22869 2009-06-11 Pavel Roskin <proski@gnu.org>
22870
22871 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
22872 fix a gcc warning and ensure that the function won't ever exit.
22873
22874 * kern/i386/ieee1275/init.c: Add missing prototype for
22875 grub_stop_floppy().
22876
22877 * loader/ieee1275/multiboot2.c [__i386__]: Include
22878 grub/cpu/multiboot.h.
22879
22880 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
22881 casts to short - they are not portable and cause warnings. Fix
22882 use of uninitialized values in input_buf. Use ARRAY_SIZE.
22883
22884 2009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
22885
22886 Drivemap fixes
22887
22888 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
22889 new function
22890 (grub_get_root_biosnumber_saved): new variable
22891 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
22892 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
22893 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
22894 %dx after the call if necessary
22895 * conf/common.rmk (pkglib_MODULES): remove boot.mod
22896 (boot_mod_SOURCES): remove
22897 (boot_mod_CFLAGS): remove
22898 (boot_mod_LDFLAGS): remove
22899 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
22900 (boot_mod_SOURCES): new variable
22901 (boot_mod_CFLAGS): likewise
22902 (boot_mod_LDFLAGS): likewise
22903 * conf/i386-efi.rmk: likewise
22904 * conf/i386-ieee1275.rmk: likewise
22905 * conf/i386-pc.rmk: likewise
22906 * conf/powerpc-ieee1275.rmk: likewise
22907 * conf/sparc64-ieee1275.rmk: likewise
22908 * conf/x86_64-efi.rmk: likewise
22909 * include/grub/i386/pc/biosnum.h: new file
22910 * lib/i386/pc/biosnum.c: likewise
22911 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
22912 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
22913 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
22914
22915 2009-06-10 Pavel Roskin <proski@gnu.org>
22916
22917 * io/gzio.c (test_header): Don't reuse one buffer for all data.
22918 Use separate variables. Read only the file size at the end, but
22919 not the checksum that we don't use.
22920
22921 * kern/file.c (grub_file_read): Use void pointer for the buffer.
22922 Adjust all callers.
22923
22924 * kern/ieee1275/openfw.c: Remove libc includes.
22925 * kern/ieee1275/cmain.c: Likewise.
22926 * include/grub/ieee1275/ieee1275.h: Likewise.
22927
22928 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
22929 compiler warnings.
22930
22931 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
22932
22933 * Makefile.in: Remove all trailing whitespace.
22934 * conf/i386-pc.rmk: Likewise.
22935 * conf/powerpc-ieee1275.rmk: Likewise.
22936 * conf/sparc64-ieee1275.rmk: Likewise.
22937 * docs/grub.texi: Likewise.
22938 * docs/texinfo.tex: Likewise.
22939 * disk/fs_uuid.c: Likewise.
22940 * disk/lvm.c: Likewise.
22941 * disk/scsi.c: Likewise.
22942 * disk/ata.c: Likewise.
22943 * disk/ieee1275/ofdisk.c: Likewise.
22944 * disk/i386/pc/biosdisk.c: Likewise.
22945 * disk/host.c: Likewise.
22946 * disk/raid.c: Likewise.
22947 * disk/efi/efidisk.c: Likewise.
22948 * disk/usbms.c: Likewise.
22949 * disk/memdisk.c: Likewise.
22950 * disk/loopback.c: Likewise.
22951 * kern/powerpc/dl.c: Likewise.
22952 * kern/device.c: Likewise.
22953 * kern/dl.c: Likewise.
22954 * kern/sparc64/dl.c: Likewise.
22955 * kern/ieee1275/ieee1275.c: Likewise.
22956 * kern/term.c: Likewise.
22957 * kern/fs.c: Likewise.
22958 * kern/i386/dl.c: Likewise.
22959 * kern/i386/pc/startup.S: Likewise.
22960 * kern/i386/pc/init.c: Likewise.
22961 * kern/i386/pc/mmap.c: Likewise.
22962 * kern/i386/pc/lzo1x.S: Likewise.
22963 * kern/i386/ieee1275/init.c: Likewise.
22964 * kern/i386/realmode.S: Likewise.
22965 * kern/i386/tsc.c: Likewise.
22966 * kern/partition.c: Likewise.
22967 * kern/corecmd.c: Likewise.
22968 * kern/file.c: Likewise.
22969 * kern/efi/efi.c: Likewise.
22970 * kern/efi/init.c: Likewise.
22971 * kern/efi/mm.c: Likewise.
22972 * kern/main.c: Likewise.
22973 * kern/err.c: Likewise.
22974 * kern/env.c: Likewise.
22975 * kern/disk.c: Likewise.
22976 * kern/generic/millisleep.c: Likewise.
22977 * kern/generic/rtc_get_time_ms.c: Likewise.
22978 * kern/misc.c: Likewise.
22979 * kern/parser.c: Likewise.
22980 * genmk.rb: Likewise.
22981 * configure.ac: Likewise.
22982 * boot/i386/pc/diskboot.S: Likewise.
22983 * boot/i386/pc/pxeboot.S: Likewise.
22984 * boot/i386/pc/boot.S: Likewise.
22985 * boot/i386/pc/lnxboot.S: Likewise.
22986 * boot/i386/pc/cdboot.S: Likewise.
22987 * parttool/pcpart.c: Likewise.
22988 * video/readers/tga.c: Likewise.
22989 * video/video.c: Likewise.
22990 * video/bitmap.c: Likewise.
22991 * lib/envblk.c: Likewise.
22992 * lib/i386/setjmp.S: Likewise.
22993 * fs/xfs.c: Likewise.
22994 * fs/afs.c: Likewise.
22995 * fs/fat.c: Likewise.
22996 * fs/ntfs.c: Likewise.
22997 * fs/udf.c: Likewise.
22998 * fs/affs.c: Likewise.
22999 * fs/iso9660.c: Likewise.
23000 * fs/hfs.c: Likewise.
23001 * fs/fshelp.c: Likewise.
23002 * fs/ext2.c: Likewise.
23003 * fs/jfs.c: Likewise.
23004 * fs/reiserfs.c: Likewise.
23005 * fs/hfsplus.c: Likewise.
23006 * fs/minix.c: Likewise.
23007 * fs/cpio.c: Likewise.
23008 * fs/sfs.c: Likewise.
23009 * fs/ufs.c: Likewise.
23010 * efiemu/prepare.c: Likewise.
23011 * efiemu/loadcore_common.c: Likewise.
23012 * efiemu/runtime/efiemu.sh: Likewise.
23013 * efiemu/runtime/efiemu.S: Likewise.
23014 * efiemu/runtime/efiemu.c: Likewise.
23015 * efiemu/pnvram.c: Likewise.
23016 * efiemu/main.c: Likewise.
23017 * efiemu/i386/pc/cfgtables.c: Likewise.
23018 * efiemu/i386/loadcore64.c: Likewise.
23019 * efiemu/i386/loadcore32.c: Likewise.
23020 * efiemu/loadcore.c: Likewise.
23021 * efiemu/symbols.c: Likewise.
23022 * efiemu/mm.c: Likewise.
23023 * include/grub/autoefi.h: Likewise.
23024 * include/grub/datetime.h: Likewise.
23025 * include/grub/term.h: Likewise.
23026 * include/grub/hfs.h: Likewise.
23027 * include/grub/lvm.h: Likewise.
23028 * include/grub/i386/tsc.h: Likewise.
23029 * include/grub/i386/linux.h: Likewise.
23030 * include/grub/i386/xnu.h: Likewise.
23031 * include/grub/i386/efiemu.h: Likewise.
23032 * include/grub/i386/pc/biosdisk.h: Likewise.
23033 * include/grub/i386/pc/memory.h: Likewise.
23034 * include/grub/i386/pc/vbe.h: Likewise.
23035 * include/grub/parttool.h: Likewise.
23036 * include/grub/video.h: Likewise.
23037 * include/grub/memory.h: Likewise.
23038 * include/grub/fs.h: Likewise.
23039 * include/grub/partition.h: Likewise.
23040 * include/grub/xnu.h: Likewise.
23041 * include/grub/efi/api.h: Likewise.
23042 * include/grub/efi/pe32.h: Likewise.
23043 * include/grub/efi/memory.h: Likewise.
23044 * include/grub/multiboot.h: Likewise.
23045 * include/grub/usbdesc.h: Likewise.
23046 * include/grub/multiboot2.h: Likewise.
23047 * include/grub/acpi.h: Likewise.
23048 * include/grub/efiemu/efiemu.h: Likewise.
23049 * include/grub/disk.h: Likewise.
23050 * include/grub/ieee1275/ieee1275.h: Likewise.
23051 * include/grub/net.h: Likewise.
23052 * include/grub/machoload.h: Likewise.
23053 * include/grub/macho.h: Likewise.
23054 * include/multiboot.h: Likewise.
23055 * genmoddep.awk: Likewise.
23056 * normal/main.c: Likewise.
23057 * normal/menu_entry.c: Likewise.
23058 * normal/menu_viewer.c: Likewise.
23059 * normal/completion.c: Likewise.
23060 * normal/cmdline.c: Likewise.
23061 * normal/misc.c: Likewise.
23062 * normal/datetime.c: Likewise.
23063 * bus/usb/usbtrans.c: Likewise.
23064 * bus/usb/ohci.c: Likewise.
23065 * bus/usb/uhci.c: Likewise.
23066 * bus/usb/usb.c: Likewise.
23067 * mmap/efi/mmap.c: Likewise.
23068 * mmap/i386/pc/mmap_helper.S: Likewise.
23069 * mmap/i386/pc/mmap.c: Likewise.
23070 * mmap/i386/mmap.c: Likewise.
23071 * mmap/i386/uppermem.c: Likewise.
23072 * mmap/mmap.c: Likewise.
23073 * commands/acpi.c: Likewise.
23074 * commands/echo.c: Likewise.
23075 * commands/blocklist.c: Likewise.
23076 * commands/loadenv.c: Likewise.
23077 * commands/usbtest.c: Likewise.
23078 * commands/boot.c: Likewise.
23079 * commands/parttool.c: Likewise.
23080 * commands/search.c: Likewise.
23081 * commands/cat.c: Likewise.
23082 * commands/i386/pc/play.c: Likewise.
23083 * commands/i386/pc/drivemap.c: Likewise.
23084 * commands/i386/pc/vbeinfo.c: Likewise.
23085 * commands/i386/pc/acpi.c: Likewise.
23086 * commands/i386/pc/vbetest.c: Likewise.
23087 * commands/ls.c: Likewise.
23088 * commands/cmp.c: Likewise.
23089 * commands/test.c: Likewise.
23090 * commands/efi/acpi.c: Likewise.
23091 * commands/gptsync.c: Likewise.
23092 * commands/help.c: Likewise.
23093 * partmap/amiga.c: Likewise.
23094 * partmap/apple.c: Likewise.
23095 * partmap/acorn.c: Likewise.
23096 * partmap/pc.c: Likewise.
23097 * partmap/sun.c: Likewise.
23098 * partmap/gpt.c: Likewise.
23099 * script/sh/lexer.c: Likewise.
23100 * script/sh/function.c: Likewise.
23101 * font/font.c: Likewise.
23102 * font/font_cmd.c: Likewise.
23103 * loader/powerpc/ieee1275/linux.c: Likewise.
23104 * loader/efi/chainloader.c: Likewise.
23105 * loader/multiboot_loader.c: Likewise.
23106 * loader/macho.c: Likewise.
23107 * loader/i386/multiboot.c: Likewise.
23108 * loader/i386/linux.c: Likewise.
23109 * loader/i386/pc/linux.c: Likewise.
23110 * loader/i386/pc/multiboot2.c: Likewise.
23111 * loader/i386/pc/chainloader.c: Likewise.
23112 * loader/i386/pc/xnu.c: Likewise.
23113 * loader/i386/bsd_trampoline.S: Likewise.
23114 * loader/i386/efi/linux.c: Likewise.
23115 * loader/i386/multiboot_elfxx.c: Likewise.
23116 * loader/i386/bsd_helper.S: Likewise.
23117 * loader/i386/bsd.c: Likewise.
23118 * loader/i386/linux_trampoline.S: Likewise.
23119 * loader/i386/xnu_helper.S: Likewise.
23120 * loader/i386/xnu.c: Likewise.
23121 * loader/i386/bsd_pagetable.c: Likewise.
23122 * loader/i386/multiboot_helper.S: Likewise.
23123 * loader/xnu.c: Likewise.
23124 * loader/xnu_resume.c: Likewise.
23125 * io/gzio.c: Likewise.
23126 * term/efi/console.c: Likewise.
23127 * term/terminfo.c: Likewise.
23128 * term/ieee1275/ofconsole.c: Likewise.
23129 * term/i386/pc/serial.c: Likewise.
23130 * term/i386/pc/vesafb.c: Likewise.
23131 * term/i386/pc/vga.c: Likewise.
23132 * term/usb_keyboard.c: Likewise.
23133 * term/gfxterm.c: Likewise.
23134 * aclocal.m4: Likewise.
23135 * util/lvm.c: Likewise.
23136 * util/grub.d/30_os-prober.in: Likewise.
23137 * util/grub.d/10_hurd.in: Likewise.
23138 * util/console.c: Likewise.
23139 * util/grub-macho2img.c: Likewise.
23140 * util/grub-probe.c: Likewise.
23141 * util/hostfs.c: Likewise.
23142 * util/i386/pc/grub-mkimage.c: Likewise.
23143 * util/i386/pc/grub-setup.c: Likewise.
23144 * util/i386/efi/grub-mkimage.c: Likewise.
23145 * util/grub-mkconfig.in: Likewise.
23146 * util/raid.c: Likewise.
23147 * util/resolve.c: Likewise.
23148 * util/grub-mkdevicemap.c: Likewise.
23149 * util/grub-emu.c: Likewise.
23150 * util/getroot.c: Likewise.
23151 * util/hostdisk.c: Likewise.
23152 * util/usb.c: Likewise.
23153 * util/grub-editenv.c: Likewise.
23154 * util/misc.c: Likewise.
23155
23156 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
23157
23158 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
23159 `genparttoollist.sh'.
23160 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
23161 Add `*.sh' to the list find searches for and change `mdate.sh'
23162 to `mdate-sh'.
23163
23164 2009-06-10 Pavel Roskin <proski@gnu.org>
23165
23166 * include/grub/multiboot2.h: Provide compatibility defines for
23167 multiboot2.h.
23168 * include/multiboot2.h: Include stdint.h only if needed, using
23169 angle brackets.
23170 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
23171 grub/multiboot2.h.
23172 * loader/ieee1275/multiboot2.c: Likewise.
23173 * loader/multiboot2.c: Likewise.
23174 * loader/multiboot_loader.c: Likewise.
23175
23176 * configure.ac: Use -nostdlib when probing for the target. It
23177 should not be required to have libc for the target.
23178
23179 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
23180 they fail without libc headers for the target.
23181 * include/grub/powerpc/libgcc.h: Use weak attribute for all
23182 exports.
23183 * include/grub/sparc64/libgcc.h: Likewise. Don't use
23184 preprocessor conditionals.
23185
23186 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
23187 build system doesn't need to be aware of the tar.c internals.
23188
23189 2009-06-09 Michel Hermier <michel.hermier@gmail.com>
23190
23191 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
23192
23193 2009-06-09 Robert Millan <rmh.grub@aybabtu.com>
23194
23195 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
23196 disk limit to 26 for IDE, Virtio, Xen and SCSI.
23197
23198 2009-06-09 Felix Zielcke <fzielcke@z-51.de>
23199
23200 * util/i386/pc/grub-install.in: Change the error message if UUIDs
23201 aren't available if ata.mod gets used.
23202
23203 2009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
23204
23205 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
23206 initialising controller.
23207 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
23208
23209 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
23210
23211 * util/i386/pc/grub-install.in: Add a parameter --disk-module
23212 to choose between ata and biosdisk module on i386-pc.
23213
23214 2009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
23215
23216 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
23217 Subclass and Programming Interface fields in terms of the 3 byte
23218 Class Code register.
23219 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
23220
23221 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
23222 interface is OHCI. Add grub_dprintf for symmetry with
23223 bus/usb/uhci.c.
23224 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
23225 interface is UHCI. Add interf variable for programming
23226 interface. Print interface with class/subclass.
23227
23228 * bus/usb/ohci.c: Set interf with correct field.
23229
23230 * bus/usb/uhci.c: Remove unneeded doubled lines.
23231 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
23232 Remove whitespace inside comment.
23233
23234 2009-06-08 Robert Millan <rmh.grub@aybabtu.com>
23235
23236 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
23237 as fallback an equivalent option without depth.
23238
23239 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
23240
23241 Not fail if unable to retrieve C/H/S on LBA disks
23242
23243 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
23244 if unable to retrieve C/H/S on LBA disks
23245
23246 2009-06-08 Pavel Roskin <proski@gnu.org>
23247
23248 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
23249 about aliasing.
23250
23251 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
23252
23253 * Makefile.in (uninstall): Remove all $lib_DATA files.
23254
23255 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
23256
23257 Bugfix: install on partitionless device
23258
23259 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
23260 is a whole disk
23261
23262 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
23263
23264 * Makefile.in (uninstall): Remove all $include_DATA files.
23265
23266 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
23267
23268 * commands/true.c: New file. Implement the true and false commands.
23269 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
23270 (true_mod_SOURCES): New variable.
23271 (true_mod_CFLAGS): Likewise.
23272 (true_mod_LDFLAGS): Likewise.
23273
23274 2009-06-05 Colin D Bennett <colin@gibibit.com>
23275
23276 Optimized font character lookup using binary search instead of linear
23277 search. Fonts now are required to have the character index ordered by
23278 code point.
23279
23280 * font/font.c (load_font_index): Verify that fonts have ordered
23281 character indices.
23282 (find_glyph): Use binary search instead of linear search to find a
23283 character in a font.
23284
23285 2009-06-05 Michael Scherer <misc@mandriva.org>
23286
23287 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
23288 uses case sensitive btree.
23289 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
23290 only for case insensitive filesystems.
23291
23292 2009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
23293
23294 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
23295 * conf/common.rmk (search_mod_CFLAGS): likewise
23296
23297 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23298
23299 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
23300 compensate a compiler bug
23301
23302 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23303
23304 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
23305 instead of '\b'
23306
23307 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23308
23309 Definitions for creating asm symbols with Apple's CC
23310
23311 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
23312 [APPLE_CC] (VARIABLE): likewise
23313
23314 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23315
23316 Disable lnxboot.img when compiled
23317 with Apple's CC
23318
23319 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
23320 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
23321 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
23322 [! APPLE_CC] (CODE_LENG): skip
23323 [! APPLE_CC] (setup_sects): likewise
23324 [! APPLE_CC]: skip filling
23325
23326 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23327
23328 Address in trampolines based on 32-bit registers when compiled
23329 with Apple's CC
23330
23331 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
23332 for addresses
23333 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
23334
23335 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23336
23337 Avoid aliases when compiling with Apple's CC for PCBIOS machine
23338
23339 * kern/misc.c [APPLE_CC] (memcpy): new function
23340 [APPLE_CC] (memmove): likewise
23341 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
23342 (memcpy): define alias conditionally on !APPLE_CC
23343 (memset): likewise
23344 (abort): likewise
23345 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
23346 APPLE_CC are defined
23347 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
23348 (grub_assert_fail): make prototype conditional
23349
23350 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23351
23352 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
23353
23354 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
23355 grub-macho2img
23356 (CLEANFILES): add grub-macho2img
23357 (grub_macho2img_SOURCES): new variable
23358 * kern/i386/pc/startup.S (bss_start): new variable
23359 (bss_end): likewise
23360 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
23361 * util/grub-macho2img.c: new file
23362
23363 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23364
23365 Use objconv when compiling with Apple's CC
23366
23367 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
23368 (efiemu64.o): likewise
23369 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
23370 when compiling with Apple's CC
23371 (efiemu64_s.o): likewise
23372 * configure.ac: check for objconv when compiling with Apple's CC
23373 * genmk.rb: use objconv for modules when compiled with Apple's CC
23374
23375 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23376
23377 Define segment as well as section when compiling with
23378 Apple's CC
23379
23380 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
23381 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
23382 (efiemu_convert_pointer): likewise
23383 (efiemu_set_virtual_address_map): likewise
23384 (efiemu_convert_pointer): likewise
23385 (efiemu_getcrc32): likewise
23386 (init_crc32_table): likewise
23387 (reflect): likewise
23388 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
23389 (GRUB_MOD_DEP): likewise
23390
23391 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23392
23393 Allow a compilation without -mcmodel=large
23394
23395 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
23396 when compiled without -mcmodel=large
23397 (filter_memory_map): remove memory post 4 GiB when compiled
23398 without -mcmodel=large
23399 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
23400 TARGET_CFLAGS when -mcmodel=large isn't supported
23401
23402 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23403
23404 Remove nested functions in efiemu core
23405
23406 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
23407
23408 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23409
23410 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
23411
23412 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
23413 temporary storage
23414 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
23415 using Apple's CC
23416 (grub_cpu_is_tsc_supported): likewise
23417 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
23418
23419 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23420
23421 Absolute addressing through constant with Apple's cc
23422
23423 * kern/i386/pc/startup.S: Define necessary constants
23424 and address through it when using ABS with Apple's CC
23425 * boot/i386/pc/diskboot.S: likewise
23426 * boot/i386/pc/boot.S: likewise
23427 * boot/i386/pc/lnxboot.S: likewise
23428 * boot/i386/pc/cdboot.S: likewise
23429 * mmap/i386/pc/mmap_helper.S: likewise
23430 * commands/i386/pc/drivemap_int13h.S: likewise
23431
23432 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23433
23434 Check if compiler is apple cc
23435
23436 * Makefile.in (ASFLAGS): new variable
23437 (TARGET_ASFLAGS): likewise
23438 (TARGET_MODULE_FORMAT): likewise
23439 (TARGET_APPLE_CC): likewise
23440 (OBJCONV): likewise
23441 (TARGET_IMG_CFLAGS): likewise
23442 (TARGET_CPPFLAGS): add includedir
23443 * configure.ac: call grub_apple_cc and grub_apple_target_cc
23444 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
23445 Check for linker script only if compiler isn't Apple's CC
23446 (TARGET_MODULE_FORMAT): set
23447 (TARGET_APPLE_CC): likewise
23448 (TARGET_ASFLAGS): likewise
23449 (ASFLAGS): likewise
23450 Check for objcopy only if compiler isn't Apple's CC
23451 Check for BSS symbol only if compiler isn't Apple's CC
23452 * genmk.rb: adapt nm options if we use Apple's utils
23453 * aclocal.m4 (grub_apple_cc): new test
23454 (grub_apple_target_cc): likewise
23455
23456 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23457
23458 Simplify sed expressions and improve awk
23459
23460 * Makefile.in (install-local): simplify sed expression
23461 * gencmdlist.sh: likewise
23462 * genmoddep.awk: avoid adding module as a dependency of itself
23463
23464 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23465
23466 Add missing start symbols
23467
23468 * boot/i386/pc/boot.S: add start
23469 * boot/i386/pc/pxeboot.S: likewise
23470
23471 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23472
23473 Fix wrong assumptions with grub-mkimage on EFI
23474
23475 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
23476 (relocate_addresses): consider both r_addend and value at offset
23477 (make_mods_section): zerofill modinfo and header
23478 (convert_elf): write prefix here
23479
23480 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23481
23482 Use .asciz instead of .string
23483
23484 * i386/pc/diskboot.S: use .asciz instead of .string
23485 * i386/pc/boot.S: likewise
23486 * include/grub/dl.h (GRUB_MOD_DEP): likewise
23487 (GRUB_MOD_NAME): likewise
23488
23489 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23490
23491 gfxpayload support
23492
23493 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
23494 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
23495 (grub_video_setup): remove
23496 (grub_video_set_mode): new prototype
23497 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
23498 (vid_mode): remove
23499 (linux_vesafb_res): compile only on PCBIOS
23500 (grub_linux_boot): support gfxpayload
23501 * loader/i386/pc/xnu.c (video_hook): new function
23502 (grub_xnu_set_video): support gfxpayload
23503 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
23504 (DEFAULT_VIDEO_HEIGHT): likewise
23505 (DEFAULT_VIDEO_FLAGS): likewise
23506 (DEFAULT_VIDEO_MODE): new definition
23507 (video_hook): new function
23508 (grub_gfxterm_init): use grub_video_set_mode
23509 * util/grub.d/30_os-prober.in: remove explicit modesetting before
23510 loading xnu
23511 * video/video.c (grub_video_setup): removed
23512 (grub_video_set_mode): new function based on grub_gfxterm_init and
23513 grub_video_setup
23514
23515 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23516
23517 Avoid calling biosdisk in drivemap
23518
23519 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
23520 (revparse_biosdisk): likewise
23521 (list_mappings): derive name from id directly
23522 (grub_cmd_drivemap): use tryparse_diskstring
23523
23524 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23525
23526 Script fixes
23527
23528 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
23529 (grub_lexer_param): add tokenonhold
23530 (grub_script_create_cmdline): remove cmdline. All callers updated
23531 (grub_script_function_create): make functionname
23532 grub_script_arg. All callers updated
23533 (grub_script_execute_argument_to_string): new prototype
23534 * kern/parser.c (state_transitions): reorder
23535 (grub_parser_cmdline_state): fix a bug and make more compact
23536 * script/sh/execute.c (grub_script_execute_argument_to_string):
23537 make global
23538 (grub_script_execute_cmdline): use new format
23539 * script/sh/function.c (grub_script_function_create): make functionname
23540 grub_script_arg. All callers updated
23541 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
23542 (grub_script_yylex): remove
23543 (grub_script_yylex2): renamed to ...
23544 (grub_script_yylex): ...renamed
23545 parse the expressions like a${b}c
23546 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
23547 (GRUB_PARSER_TOKEN_VAR): remove
23548 (GRUB_PARSER_TOKEN_NAME): likewise
23549 ("if"): declare as typeless
23550 ("while"): likewise
23551 ("function"): likewise
23552 ("else"): likewise
23553 ("then"): likewise
23554 ("fi"): likewise
23555 (text): remove
23556 (argument): likewise
23557 (script): accept empty scripts and make exit on error
23558 (arguments): use GRUB_PARSER_TOKEN_ARG
23559 (function): likewise
23560 (command): move error handling to script
23561 (menuentry): move grub_script_lexer_ref before
23562 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
23563 argument. All callers updated
23564
23565 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
23566
23567 Prevent GRUB from probing floppies during boot.
23568
23569 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
23570 * commands/search.c (options): Add --no-floppy.
23571 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
23572 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
23573 --no-floppy when searching for UUIDs.
23574
23575 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
23576
23577 Simplify the code duplication in commands/search.c.
23578
23579 * commands/search.c (search_label, search_fs_uuid): Merge into ...
23580 (search_fs): ... this. Update all users.
23581
23582 2009-06-03 Felix Zielcke <fzielcke@z-51.de>
23583
23584 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
23585
23586 2009-05-28 Pavel Roskin <proski@gnu.org>
23587
23588 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
23589 Remove the original symlink explicitly.
23590
23591 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
23592 just one slash. That's how grub_fshelp_find_file() does it.
23593
23594 2009-05-26 Pavel Roskin <proski@gnu.org>
23595
23596 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
23597 to `str'.
23598
23599 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
23600 possibly unused.
23601
23602 2009-05-25 Christian Franke <franke@computer.org>
23603
23604 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
23605 register.
23606 (grub_atapi_identify): Add wait after drive select.
23607 (grub_ata_identify): Do more strict status register check before
23608 calling grub_atapi_identify (). Suppress error message if status
23609 register is 0x00 after command failure. Add status register
23610 check after PIO read to avoid bogus identify due to stuck DRQ.
23611 Thanks to Pavel Roskin for testing.
23612 (grub_device_initialize): Remove unsafe status register check.
23613 Thanks to 'phcoder' for problem report and patch.
23614 Prevent sign extension in debug message.
23615
23616 2009-05-23 Colin D Bennett <colin@gibibit.com>
23617
23618 Cleaned up `include/grub/normal.h'. Grouped prototypes by
23619 definition file, and functions defined in `normal/menu.c' have had
23620 their prototypes moved to `include/grub/menu.h' for consistency.
23621
23622 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
23623 from normal.h.
23624 (grub_menu_get_entry): Likewise.
23625 (grub_menu_get_timeout): Likewise.
23626 (grub_menu_set_timeout): Likewise.
23627 (grub_menu_execute_entry): Likewise.
23628 (grub_menu_execute_with_fallback): Likewise.
23629 (grub_menu_entry_run): Likewise.
23630
23631 * include/grub/normal.h: Re-ordered and grouped function
23632 prototypes by file that the function is defined in.
23633 (grub_menu_execute_callback): Removed; moved to menu.h.
23634 (grub_menu_get_entry): Likewise.
23635 (grub_menu_get_timeout): Likewise.
23636 (grub_menu_set_timeout): Likewise.
23637 (grub_menu_execute_entry): Likewise.
23638 (grub_menu_execute_with_fallback): Likewise.
23639 (grub_menu_entry_run): Likewise.
23640 (grub_menu_addentry): Renamed from this ...
23641 (grub_normal_add_menu_entry): ... to this.
23642
23643 * normal/main.c (grub_menu_addentry): Renamed from this ...
23644 (grub_normal_add_menu_entry): ... to this.
23645
23646 * script/sh/execute.c (grub_script_execute_menuentry): Update
23647 reference to renamed grub_menu_addentry function.
23648
23649 2009-05-23 Felix Zielcke <fzielcke@z-51.de>
23650
23651 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
23652
23653 2009-05-22 Pavel Roskin <proski@gnu.org>
23654
23655 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
23656 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
23657 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
23658 compiling for the i386 targets, but not for the utilities.
23659
23660 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
23661 to grub_uint8_t.
23662 (grub_root_drive): Likewise.
23663 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
23664 remove alignment.
23665 (grub_root_drive): Change size to byte.
23666 (grub_start_addr): Remove.
23667 (grub_end_addr): Likewise.
23668 (grub_apm_bios_info): Likewise.
23669
23670 2009-05-21 Felix Zielcke <fzielcke@z-51.de>
23671
23672 * normal/i386: Remove.
23673 * normal/powerpc: Likewise.
23674 * normal/sparc64: Likewise.
23675 * normal/x86_64: Likewise.
23676
23677 2009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
23678
23679 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
23680 * loader/i386/linux_trampoline.S: Fix indentation
23681 * loader/i386/xnu_helper.S: Likewise
23682
23683 2009-05-18 Colin D Bennett <colin@gibibit.com>
23684
23685 Display error messages when parsing a Lua statement fails.
23686 Previously, executing a syntactically invalid statement like
23687 ")foo" or "bar;" would silently fail.
23688
23689 * script/lua/grub_main.c (handle_lua_error): New function.
23690 (grub_lua_parse_line): Improved reporting of Lua parser and
23691 execution errors.
23692
23693 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
23694
23695 Remove -Werror which causes build to fail on some systems
23696
23697 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
23698 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
23699 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
23700
23701 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
23702
23703 trampoline for linux on 64-bit platform
23704
23705 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
23706 loader/i386/efi/linux_trampoline.S
23707 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
23708 declaration
23709 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
23710 here
23711 * loader/i386/linux_trampoline.S: moved here
23712 * loader/i386/efi/linux.c (allocate_pages): reserve space for
23713 trampoline
23714 (jumpvector): removed
23715 (grub_linux_trampoline_start): new declaration
23716 (grub_linux_trampoline_end): likewise
23717 (grub_linux_boot): use trampoline when on 64-bit platform
23718 * loader/i386/linux.c: likewise
23719
23720 2009-05-16 Pavel Roskin <proski@gnu.org>
23721
23722 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
23723 const to avoid a warning.
23724 (grub_lua_setenv): Likewise.
23725 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
23726 lmsg to fix a warning.
23727
23728 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
23729
23730 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
23731 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
23732 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
23733 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
23734 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
23735 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
23736 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
23737 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
23738
23739 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
23740
23741 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
23742
23743 2009-05-16 Bean <bean123ch@gmail.com>
23744
23745 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
23746 (lua_mod_SOURCES): New variable.
23747 (lua_mod_CFLAGS): Likewise.
23748 (lua_mod_LDFLAGS): Likewise.
23749
23750 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
23751 (setjmp_mod_SOURCES): New variable.
23752 (setjmp_mod_CFLAGS): Likewise.
23753 (setjmp_LDFLAGS): Likewise.
23754
23755 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
23756 (setjmp_mod_SOURCES): New variable.
23757 (setjmp_mod_CFLAGS): Likewise.
23758 (setjmp_LDFLAGS): Likewise.
23759
23760 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
23761 (setjmp_mod_SOURCES): New variable.
23762 (setjmp_mod_CFLAGS): Likewise.
23763 (setjmp_LDFLAGS): Likewise.
23764
23765 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
23766 (setjmp_mod_SOURCES): New variable.
23767 (setjmp_mod_CFLAGS): Likewise.
23768 (setjmp_LDFLAGS): Likewise.
23769
23770 * normal/i386/setjmp.S: Moved from here ...
23771 * lib/i386/setjmp.S: ... Moved here
23772 * normal/x86_64/setjmp.S: Moved from here ...
23773 * lib/x86_64/setjmp.S: ... Moved here
23774 * normal/powerpc/setjmp.S: Moved from here ...
23775 * lib/powerpc/setjmp.S: ... Moved here
23776 * normal/sparc64/setjmp.S: Moved from here ...
23777 * lib/sparc64/setjmp.S: ... Moved here
23778
23779 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
23780 returns_twice in mingw.
23781
23782 * script/lua/grub_lib.c: New file.
23783 * script/lua/grub_lib.h: Likewise.
23784 * script/lua/grub_lua.h: Likewise.
23785 * script/lua/grub_main.c: Likewise.
23786 * script/lua/lapi.c: Likewise.
23787 * script/lua/lapi.h: Likewise.
23788 * script/lua/lauxlib.c: Likewise.
23789 * script/lua/lauxlib.h: Likewise.
23790 * script/lua/lbaselib.c: Likewise.
23791 * script/lua/lcode.c: Likewise.
23792 * script/lua/lcode.h: Likewise.
23793 * script/lua/ldblib.c: Likewise.
23794 * script/lua/ldebug.c: Likewise.
23795 * script/lua/ldebug.h: Likewise.
23796 * script/lua/ldo.c: Likewise.
23797 * script/lua/ldo.h: Likewise.
23798 * script/lua/ldump.c: Likewise.
23799 * script/lua/lfunc.c: Likewise.
23800 * script/lua/lfunc.h: Likewise.
23801 * script/lua/lgc.c: Likewise.
23802 * script/lua/lgc.h: Likewise.
23803 * script/lua/linit.c: Likewise.
23804 * script/lua/liolib.c: Likewise.
23805 * script/lua/llex.c: Likewise.
23806 * script/lua/llex.h: Likewise.
23807 * script/lua/llimits.h: Likewise.
23808 * script/lua/lmathlib.c: Likewise.
23809 * script/lua/lmem.c: Likewise.
23810 * script/lua/lmem.h: Likewise.
23811 * script/lua/loadlib.c: Likewise.
23812 * script/lua/lobject.c: Likewise.
23813 * script/lua/lobject.h: Likewise.
23814 * script/lua/lopcodes.c: Likewise.
23815 * script/lua/lopcodes.h: Likewise.
23816 * script/lua/loslib.c: Likewise.
23817 * script/lua/lparser.c: Likewise.
23818 * script/lua/lparser.h: Likewise.
23819 * script/lua/lstate.c: Likewise.
23820 * script/lua/lstate.h: Likewise.
23821 * script/lua/lstring.c: Likewise.
23822 * script/lua/lstring.h: Likewise.
23823 * script/lua/lstrlib.c: Likewise.
23824 * script/lua/ltable.c: Likewise.
23825 * script/lua/ltable.h: Likewise.
23826 * script/lua/ltablib.c: Likewise.
23827 * script/lua/ltm.c: Likewise.
23828 * script/lua/ltm.h: Likewise.
23829 * script/lua/lua.h: Likewise.
23830 * script/lua/luaconf.h: Likewise.
23831 * script/lua/lualib.h: Likewise.
23832 * script/lua/lundump.c: Likewise.
23833 * script/lua/lundump.h: Likewise.
23834 * script/lua/lvm.c: Likewise.
23835 * script/lua/lvm.h: Likewise.
23836 * script/lua/lzio.c: Likewise.
23837 * script/lua/lzio.h: Likewise.
23838
23839 2009-05-16 Bean <bean123ch@gmail.com>
23840
23841 * include/grub/kernel.h (grub_module_header_types): Add type
23842 OBJ_TYPE_CONFIG.
23843
23844 * kern/main.c (grub_load_config): New function.
23845 (grub_main): Call grub_load_config to read boot config.
23846
23847 * grub-mkimage (generate_image): New parameter config_path.
23848 (options): New option --config.
23849 (main): Parse --config option, and pass it to generate_image.
23850
23851 2009-05-14 Christian Franke <franke@computer.org>
23852
23853 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
23854 This fixes build on Cygwin.
23855
23856 2009-05-14 Pavel Roskin <proski@gnu.org>
23857
23858 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
23859 jump. This saves two bytes, so the typical case of 2 swapped
23860 drives would fit 32 bytes.
23861
23862 2009-05-13 Pavel Roskin <proski@gnu.org>
23863
23864 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
23865 grub_uint32_t to avoid a warning.
23866
23867 * loader/i386/linux.c (allocate_pages): When assigning
23868 real_mode_mem, cast through grub_size_t to fix a warning. The
23869 code already makes sure that the value would fit a pointer.
23870 (grub_linux_setup_video): Cast render_target->data to
23871 grub_size_t to fix a warning.
23872
23873 2009-05-13 Javier Martín <lordhabbit@gmail.com>
23874
23875 * commands/i386/pc/drivemap.c: New file - implement drivemap
23876 command.
23877 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
23878 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
23879
23880 2009-05-13 Pavel Roskin <proski@gnu.org>
23881
23882 * util/i386/pc/grub-setup.c (setup): Remove unused variable
23883 embedding_area_exists.
23884
23885 2009-05-13 Robert Millan <rmh.grub@aybabtu.com>
23886
23887 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
23888 it easier to understand / work with.
23889 Improve warning messages for cases where there's no embedding area,
23890 or when it is too small (or core.img too large).
23891
23892 2009-05-13 Pavel Roskin <proski@gnu.org>
23893
23894 * loader/i386/pc/multiboot2.c: Add necessary includes for
23895 grub_multiboot2_real_boot().
23896
23897 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
23898 PX record is always little-endian. We only need the lower 2
23899 bytes of the mode.
23900
23901 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
23902 facilitate code reuse.
23903 (grub_cpio_mount): Use "struct head", not a char buffer. This
23904 fixes a warning reported by gcc 4.4.
23905
23906 * kernel/disk.c (grub_disk_read): Use void pointer for the
23907 buffer.
23908 (grub_disk_write): Use const void pointer for the buffer.
23909 Adjust all callers. Remove unnecessary casts.
23910
23911 2009-05-10 Robert Millan <rmh.grub@aybabtu.com>
23912
23913 * util/i386/pc/grub-install.in: Update copyright year.
23914
23915 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
23916
23917 gptsync
23918
23919 * commands/gptsync.c: new file
23920 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
23921 (gptsync_mod_SOURCES): new variable
23922 (gptsync_mod_CFLAGS): likewise
23923 (gptsync_mod_LDFLAGS): likewise
23924 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
23925 new definition
23926 (GRUB_PC_PARTITION_TYPE_HFS): likewise
23927 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
23928 * conf/i386-ieee1275.rmk: likewise
23929 * conf/i386-pc.rmk: likewise
23930 * conf/powerpc-ieee1275.rmk: likewise
23931
23932 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
23933
23934 Fixed grub-emu
23935
23936 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
23937 (grub_dl_ref): likewise
23938
23939 2009-05-08 Robert Millan <rmh.grub@aybabtu.com>
23940
23941 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
23942 split in two functions (one for msdos and one for gpt).
23943
23944 2009-05-08 Pavel Roskin <proski@gnu.org>
23945
23946 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
23947 not modified.
23948
23949 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
23950 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
23951 Initialize them with -1. Add sanity check for bad1. Eliminate
23952 nerr variable.
23953
23954 2009-05-08 David S. Miller <davem@davemloft.net>
23955
23956 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
23957
23958 2009-05-06 Robert Millan <rmh.grub@aybabtu.com>
23959
23960 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
23961 existence.
23962
23963 2009-05-05 Felix Zielcke <fzielcke@z-51.de>
23964
23965 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
23966 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
23967
23968 2009-05-05 David S. Miller <davem@davemloft.net>
23969
23970 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
23971
23972 2009-05-05 Pavel Roskin <proski@gnu.org>
23973
23974 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
23975 of grub_dl_ref() and grub_dl_unref().
23976 * commands/parttool.c: Remove preprocessor conditionals around
23977 grub_dl_ref() and grub_dl_unref().
23978 * fs/affs.c: Likewise.
23979 * fs/afs.c: Likewise.
23980 * fs/cpio.c: Likewise.
23981 * fs/ext2.c: Likewise.
23982 * fs/fat.c: Likewise.
23983 * fs/hfs.c: Likewise.
23984 * fs/hfsplus.c: Likewise.
23985 * fs/iso9660.c: Likewise.
23986 * fs/jfs.c: Likewise.
23987 * fs/minix.c: Likewise.
23988 * fs/ntfs.c: Likewise.
23989 * fs/reiserfs.c: Likewise.
23990 * fs/sfs.c: Likewise.
23991 * fs/udf.c: Likewise.
23992 * fs/ufs.c: Likewise.
23993 * fs/xfs.c: Likewise.
23994 * include/grub/dl.h: Likewise.
23995 * loader/xnu.c: Likewise.
23996
23997 2009-05-04 Pavel Roskin <proski@gnu.org>
23998
23999 * commands/acpi.c: Remove unused variable my_mod.
24000 * partmap/amiga.c: Likewise.
24001 * partmap/apple.c: Likewise.
24002 * partmap/gpt.c: Likewise.
24003 * partmap/pc.c: Likewise.
24004 * partmap/sun.c: Likewise.
24005 * term/gfxterm.c: Likewise.
24006 * term/i386/pc/vesafb.c: Likewise.
24007 * term/i386/pc/vga.c: Likewise.
24008
24009 2009-05-04 David S. Miller <davem@davemloft.net>
24010
24011 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
24012 pointer args to grub_ieee1275_get_property().
24013
24014 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
24015
24016 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
24017 devices, and do not traverse down under controller nodes.
24018
24019 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
24020 (grub_ofdisk_open): Use it to un-escape "," characters.
24021 * kern/disk.c (find_part_sep): New.
24022 (grub_disk_open): Use it to find the first non-escaped ','
24023 character in the disk name.
24024 * util/ieee1275/devicemap.c (escape_of_path): New.
24025 (grub_util_emit_devicemap_entry): Use it.
24026 * util/sparc64/ieee1275/grub-install.in: Update script to
24027 strip partition specifiers properly by not triggering on
24028 '\' escaped ',' characters.
24029
24030 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
24031
24032 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
24033 to 0x300.
24034 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
24035 resolutions.
24036 (linux_vesafb_modes): Add a lot of additional modes to the list (based
24037 on documentation from Wikipedia).
24038
24039 2009-05-04 Pavel Roskin <proski@gnu.org>
24040
24041 * disk/ata.c: Spelling fixes.
24042 * disk/raid.c: Likewise.
24043 * disk/usbms.c: Likewise.
24044 * disk/dmraid_nvidia.c: Likewise.
24045 * kern/ieee1275/openfw.c: Likewise.
24046 * kern/ieee1275/init.c: Likewise.
24047 * kern/ieee1275/cmain.c: Likewise.
24048 * boot/i386/pc/cdboot.S: Likewise.
24049 * video/readers/png.c: Likewise.
24050 * video/i386/pc/vbe.c: Likewise.
24051 * fs/udf.c: Likewise.
24052 * fs/hfs.c: Likewise.
24053 * fs/reiserfs.c: Likewise.
24054 * efiemu/runtime/efiemu.c: Likewise.
24055 * efiemu/main.c: Likewise.
24056 * efiemu/mm.c: Likewise.
24057 * include/grub/elf.h: Likewise.
24058 * include/grub/xnu.h: Likewise.
24059 * include/grub/usbdesc.h: Likewise.
24060 * include/grub/usb.h: Likewise.
24061 * include/grub/script_sh.h: Likewise.
24062 * include/grub/lib/LzmaEnc.h: Likewise.
24063 * include/grub/efiemu/efiemu.h: Likewise.
24064 * include/grub/command.h: Likewise.
24065 * normal/menu.c: Likewise.
24066 * normal/main.c: Likewise.
24067 * normal/datetime.c: Likewise.
24068 * bus/usb/uhci.c: Likewise.
24069 * mmap/i386/uppermem.c: Likewise.
24070 * mmap/mmap.c: Likewise.
24071 * commands/acpi.c: Likewise.
24072 * commands/test.c: Likewise.
24073 * partmap/apple.c: Likewise.
24074 * font/font.c: Likewise.
24075 * loader/sparc64/ieee1275/linux.c: Likewise.
24076 * loader/macho.c: Likewise.
24077 * loader/i386/bsd_trampoline.S: Likewise.
24078 * loader/i386/bsd.c: Likewise.
24079 * loader/xnu.c: Likewise.
24080 * term/i386/pc/vesafb.c: Likewise.
24081 * term/usb_keyboard.c: Likewise.
24082 * util/resolve.c: Likewise.
24083 * util/getroot.c: Likewise.
24084
24085 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
24086
24087 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
24088
24089 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
24090
24091 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
24092 build error.
24093
24094 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
24095
24096 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
24097 parameter only available on BIOS.
24098
24099 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
24100
24101 Removed wrong semicolon in declaration
24102
24103 * grub/misc.h (grub_dprintf): remove semicolon
24104
24105 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
24106
24107 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
24108 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
24109 is done by grub_cmd_linux() now).
24110 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
24111 restore video to text mode.
24112 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
24113 indicates lack of "vga=" parameter. "vga=0" is mapped to
24114 `GRUB_LINUX_VID_MODE_NORMAL'.
24115
24116 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
24117
24118 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
24119 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
24120 and `normal/script.c'. Add `kern/rescue_reader.c',
24121 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
24122 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
24123 `grub_script.tab.c'.
24124
24125 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24126 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
24127 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24128 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
24129 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24130
24131 * Makefile.in: Remove duplicated 2008 in Copyright line.
24132
24133 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
24134
24135 * util/misc.c (grub_util_warn): New function. Emits a warning
24136 unconditionally.
24137 * include/grub/util/misc.h (grub_util_warn): New declaration.
24138
24139 * util/i386/pc/grub-install.in: Understand --force and pass it down
24140 to grub-setup.
24141
24142 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
24143 down to setup().
24144 (setup): Improve error messages and add warnings when requested to
24145 install in odd layouts. Refuse to install using blocklists unless
24146 --force was set.
24147
24148 2009-05-04 martin f. krafft <madduck@madduck.net>
24149
24150 * disk/raid.c (grub_raid_scan_device): Improve debug message.
24151
24152 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
24153
24154 Updated copyright year
24155
24156 * fs/hfsplus.c: updated copyright year
24157
24158 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
24159
24160 HFS+ UUID
24161
24162 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
24163 in the space previously used by unused3
24164 (grub_hfsplus_uuid): new function
24165 (grub_hfsplus_fs): added uuid field
24166
24167 2009-05-03 Pavel Roskin <proski@gnu.org>
24168
24169 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
24170 suppress warnings. It's no longer needed.
24171 * disk/host.c: Likewise.
24172 * disk/ata_pthru.c: Likewise.
24173 * disk/loopback.c: Likewise.
24174 * hook/datehook.c: Likewise.
24175 * parttool/pcpart.c: Likewise.
24176 * fs/i386/pc/pxe.c: Likewise.
24177 * fs/ntfscomp.c: Likewise.
24178 * efiemu/main.c: Likewise.
24179 * mmap/mmap.c: Likewise.
24180 * commands/crc.c: Likewise.
24181 * commands/hexdump.c: Likewise.
24182 * commands/hdparm.c: Likewise.
24183 * commands/acpi.c: Likewise.
24184 * commands/echo.c: Likewise.
24185 * commands/minicmd.c: Likewise.
24186 * commands/blocklist.c: Likewise.
24187 * commands/memrw.c: Likewise.
24188 * commands/loadenv.c: Likewise.
24189 * commands/usbtest.c: Likewise.
24190 * commands/lsmmap.c: Likewise.
24191 * commands/boot.c: Likewise.
24192 * commands/parttool.c: Likewise.
24193 * commands/configfile.c: Likewise.
24194 * commands/search.c: Likewise.
24195 * commands/ieee1275/suspend.c: Likewise.
24196 * commands/cat.c: Likewise.
24197 * commands/i386/pc/pxecmd.c: Likewise.
24198 * commands/i386/pc/play.c: Likewise.
24199 * commands/i386/pc/halt.c: Likewise.
24200 * commands/i386/pc/vbeinfo.c: Likewise.
24201 * commands/i386/pc/vbetest.c: Likewise.
24202 * commands/lspci.c: Likewise.
24203 * commands/date.c: Likewise.
24204 * commands/handler.c: Likewise.
24205 * commands/ls.c: Likewise.
24206 * commands/test.c: Likewise.
24207 * commands/cmp.c: Likewise.
24208 * commands/efi/loadbios.c: Likewise.
24209 * commands/efi/fixvideo.c: Likewise.
24210 * commands/halt.c: Likewise.
24211 * commands/help.c: Likewise.
24212 * commands/reboot.c: Likewise.
24213 * hello/hello.c: Likewise.
24214 * script/sh/main.c: Likewise.
24215 * loader/xnu.c: Likewise.
24216 * term/terminfo.c: Likewise.
24217 * term/i386/pc/serial.c: Likewise.
24218 * term/usb_keyboard.c: Likewise.
24219
24220 2009-05-03 David S. Miller <davem@davemloft.net>
24221
24222 * normal/menu.c: Include grub/parser.h
24223
24224 2009-05-03 Pavel Roskin <proski@gnu.org>
24225
24226 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
24227 not char*.
24228 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
24229 Suggested by Javier Martín <lordhabbit@gmail.com>
24230
24231 * util/i386/pc/grub-mkrescue.in: Allow for the case when
24232 efiemu??.o doesn't exist.
24233 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
24234 copying.
24235
24236 2009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
24237
24238 FreeBSD 64-bit support
24239
24240 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
24241 and loader/i386/bsd_trampoline.S
24242 (bsd_mod_ASFLAGS): new variable
24243 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
24244 (FREEBSD_MODTYPE_KERNEL64): likewise
24245 (grub_bsd64_trampoline_start): likewise
24246 (grub_bsd64_trampoline_end): likewise
24247 (grub_bsd64_trampoline_selfjump): likewise
24248 (grub_bsd64_trampoline_gdt): likewise
24249 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
24250 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
24251 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
24252 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
24253 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
24254 of "attrib" member
24255 * loader/i386/bsd_pagetable.c: new file
24256 * loader/i386/bsd_trampoline.S: likewise
24257 * loader/i386/bsd.c (ALIGN_QWORD): new macro
24258 (ALIGN_VAR): likewise
24259 (entry_hi): new variable
24260 (kern_end_mdofs): likewise
24261 (is_64bit): likewise
24262 (grub_freebsd_add_meta): use ALIGN_VAR
24263 (grub_e820_mmap): new declaration
24264 (grub_freebsd_add_mmap): new function
24265 (grub_freebsd_add_meta_module): support 64 bit kernels
24266 (grub_freebsd_list_modules): use ALIGN_VAR
24267 (gdt_descriptor): new declaration
24268 (grub_freebsd_boot): support 64 bit kernels
24269 (grub_bsd_elf64_hook): new function
24270 (grub_bsd_load_elf): support elf64
24271
24272 2009-05-03 Bean <bean123ch@gmail.com>
24273
24274 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
24275 after we get the result of if statement.
24276
24277 2009-05-03 Bean <bean123ch@gmail.com>
24278
24279 * Makefile.in (enable_efiemu): New variable.
24280
24281 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
24282 set.
24283 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
24284 path.
24285 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
24286 path, add -mno-red-zone option.
24287 (efiemu64_s.o): Likewise.
24288 (efiemu64.o): Use macro $^ for source file.
24289
24290 * configure.ac (--enable-efiemu): New option.
24291
24292 2009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
24293
24294 xnu support
24295
24296 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
24297 (pkglib_MODULES): add xnu.mod
24298 (xnu_mod_SOURCES): new variable
24299 (xnu_mod_CFLAGS): likewise
24300 (xnu_mod_LDFLAGS): likewise
24301 (xnu_mod_ASFLAGS): likewise
24302 * conf/i386-pc.rmk: likewise
24303 * conf/x86_64-efi.rmk: likewise
24304 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
24305 new declaration
24306 * include/grub/i386/macho.h: new file
24307 * include/grub/i386/xnu.h: likewise
24308 * include/grub/macho.h: likewise
24309 * include/grub/machoload.h: likewise
24310 * include/grub/x86_64/macho.h: likewise
24311 * include/grub/x86_64/xnu.h: likewise
24312 * include/grub/xnu.h: likewise
24313 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
24314 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
24315 * loader/i386/efi/xnu.c: new file
24316 * loader/i386/pc/xnu.c: likewise
24317 * loader/i386/xnu.c: likewise
24318 * loader/i386/xnu_helper.S: likewise
24319 * loader/macho.c: likewise
24320 * loader/xnu.c: likewise
24321 * loader/xnu_resume.c: likewise
24322 * util/grub-dumpdevtree: likewise
24323 * include/grub/i386/pit.h: include grub/err.h
24324 (grub_pit_wait): export
24325 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
24326
24327 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
24328
24329 Efiemu
24330
24331 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
24332 _linux_efi, linux_efi.
24333 new files in grub-emu
24334 new targets efiemu32.o and efiemu64.o
24335 * loader/linux_normal_efiemu.c: likewise
24336 * loader/i386/efi/linux.c: added preliminary efiemu support
24337 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
24338 files to copy
24339 * include/grub/autoefi.h: new file
24340 * include/grub/i386/efiemu.h: likewise
24341 * include/grub/i386/pc/efiemu.h: likewise
24342 * include/grub/efi/api.h: add LL suffix when necessary
24343 new definitions relating to tables
24344 * include/grub/efiemu/efiemu.h: new file
24345 * include/grub/efiemu/runtime.h: likewise
24346 * efiemu/prepare.c: likewise
24347 * efiemu/loadcore_common.c: likewise
24348 * efiemu/loadcore64.c: likewise
24349 * efiemu/runtime/efiemu.sh: likewise
24350 * efiemu/runtime/efiemu.S: likewise
24351 * efiemu/runtime/efiemu.c: likewise
24352 * efiemu/runtime/config.h: likewise
24353 * efiemu/prepare32.c: likewise
24354 * efiemu/main.c: likewise
24355 * efiemu/modules/pnvram.c: likewise
24356 * efiemu/modules/i386: likewise
24357 * efiemu/modules/i386/pc: likewise
24358 * efiemu/modules/acpi.c: likewise
24359 * efiemu/i386/pc/cfgtables.c: likewise
24360 * efiemu/i386/loadcore64.c: likewise
24361 * efiemu/i386/loadcore32.c: likewise
24362 * efiemu/prepare64.c: likewise
24363 * efiemu/loadcore.c: likewise
24364 * efiemu/symbols.c: likewise
24365 * efiemu/mm.c: likewise
24366 * efiemu/loadcore32.c: likewise
24367
24368 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
24369
24370 ACPI spoofing
24371
24372 * commands/acpi.c: new file
24373 * commands/i386/pc/acpi.c: likewise
24374 * commands/efi/acpi.c: likewise
24375 * include/grub/acpi.h: likewise
24376 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
24377 (acpi_mod_SOURCES): new variable
24378 (acpi_mod_CFLAGS): likewise
24379 (acpi_mod_LDFLAGS): likewise
24380 * conf/i386-efi.rmk: likewise
24381 * conf/x86_64-efi.rmk: likewise
24382
24383 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
24384
24385 Missing part from mmap patch
24386
24387 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
24388 (grub_mmap_unregister)
24389 (grub_mmap_free_and_unregister): use grub_mmap_register
24390
24391 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
24392
24393 Mmap services
24394
24395 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
24396 * loader/i386/linux.c (find_mmap_size): likewise
24397 (allocate_pages): likewise
24398 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
24399 (grub_fill_multiboot_mmap): likewise
24400 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
24401 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
24402 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
24403 (OPENBSD_MMAP_RESERVED): likewise
24404 * include/grub/i386/pc/memory.h: include grub/memory.h
24405 (grub_lower_mem): removed
24406 (grub_upper_mem): likewise
24407 (GRUB_MACHINE_MEMORY_ACPI): new definition
24408 (GRUB_MACHINE_MEMORY_NVS): likewise
24409 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
24410 (GRUB_MACHINE_MEMORY_HOLE): likewise
24411 (grub_machine_mmap_register): likewise
24412 (grub_machine_mmap_unregister): likewise
24413 (grub_machine_get_upper): likewise
24414 (grub_machine_get_lower): likewise
24415 (grub_machine_get_post64): likewise
24416 * include/grub/i386/efi/memory.h: new file
24417 * include/grub/x86_64/efi/memory.h: likewise
24418 * include/grub/efi/memory.h: likewise
24419 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
24420 (mmap_mod_SOURCES): new variable
24421 (mmap_mod_LDFLAGS): likewise
24422 (mmap_mod_ASFLAGS): likewise
24423 * conf/i386-coreboot.rmk: likewise
24424 * conf/i386-ieee1275.rmk: likewise
24425 * conf/i386-efi.rmk: likewise
24426 * conf/x86_64-efi.rmk: likewise
24427 * include/grub/types.h (UINT_TO_PTR): new macro
24428 (PTR_TO_UINT32): likewise
24429 (PTR_TO_UINT64): likewise
24430 * include/grub/memory.h: new file
24431 * mmap/i386/pc/mmap.c: likewise
24432 * mmap/i386/pc/mmap_helper.S: likewise
24433 * mmap/i386/uppermem.c: likewise
24434 * mmap/mmap.c: likewise
24435 * mmap/efi/mmap.c: likewise
24436 * kern/i386/coreboot/init.c (grub_machine_init): don't use
24437 grub_upper_mem
24438 * kern/i386/pc/init.c (grub_lower_mem): removed variable
24439 (grub_upper_mem): likewise
24440 (grub_machine_init): don't use grub_upper_mem,
24441 make grub_lower_mem local
24442 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
24443 grub_mmap_iterate and grub_mmap_get_upper
24444 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
24445
24446 2009-05-02 Bean <bean123ch@gmail.com>
24447
24448 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
24449 script/sh/parser.y.
24450 (pkglib_MODULES): Add normal.mod and sh.mod.
24451 (normal_SOURCES): New variable.
24452 (normal_mod_CFLAGS): Likewise.
24453 (normal_mod_LDFLAGS): Likewise.
24454 (sh_mod_SOURCES): Likewise.
24455 (sh_mod_CFLAGS): Likewise.
24456 (sh_mod_LDFLAGS): Likewise.
24457
24458 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
24459 script/sh/lexer.c_DEPENDENCIES.
24460 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
24461 kern/rescue_reader.c and kern/rescue_parser.c.
24462 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
24463 (grub_emu_SOURCES): Change source files.
24464 (pkglib_MODULES): Remove normal.mod.
24465 (normal_SOURCES): Removed.
24466 (normal_mod_CFLAGS): Likewise.
24467 (normal_mod_LDFLAGS): Likewise.
24468 * conf/i386-coreboot.rmk: Likewise.
24469 * conf/i386-efi.rmk: Likewise.
24470 * conf/i386-ieee1276.rmk: Likewise.
24471 * conf/powerpc-ieee1275.rmk: Likewise.
24472 * conf/sparc64-ieee1275.rmk: Likewise.
24473 * conf/x86_64-efi.rmk: Likewise.
24474
24475 * include/grub/command.h (grub_command_execute): New inline function.
24476
24477 * include/grub/menu.h (grub_menu_entry): Removed commands field.
24478
24479 * include/grub/normal.h: Remove <grub/setjmp.h>.
24480 (grub_fs_module_list): Moved to normal/autofs.c.
24481 (grub_exit_env): Removed.
24482 (grub_command_execute): Likewise.
24483 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
24484 parameter script.
24485 (read_command_list): New function declaration.
24486 (read_fs_list): Likewise.
24487
24488 * include/parser.h: Include <grub/reader.h>.
24489 (grub_parser_split_cmdline): Change type of getline parameter.
24490 (grub_parser): New structure.
24491 (grub_parser_class): New variable.
24492 (grub_parser_execute): New function declaration.
24493 (grub_register_rescue_parser): Likewise.
24494 (grub_parser_register): New inline function.
24495 (grub_parser_unregister): Likewise.
24496 (grub_parser_get_current): Likewise.
24497 (grub_parser_set_current): Likewise.
24498
24499 * include/grub/reader.h: New file.
24500 * kern/reader.c: Likewise.
24501 * kern/rescue_parser.c: Likewise.
24502 * kern/rescue_reader.c: Likewise.
24503 * normal/autofs.c: Likewise.
24504 * normal/dyncmd.c: Likewise.
24505
24506 * include/grub/rescue.h: Removed.
24507 * normal/command.h: Likewise.
24508
24509 * include/grub/script.h: Moved to ...
24510 * include/grub/script_sh.h: ... Moved here.
24511 * normal/execute.c: Moved to ...
24512 * script/sh/execute.c: ... Moved here.
24513 * normal/function.c: Moved to ...
24514 * script/sh/function.c: ... Moved here.
24515 * normal/lexer.c: Moved to ...
24516 * script/sh/lexer.c: ... Moved here.
24517 * normal/parser.y: Moved to ...
24518 * script/sh/parser.y: ... Moved here.
24519 * normal/script.c: Moved to ...
24520 * script/sh/script.c: ... Moved here.
24521
24522 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
24523 <grub/reader.h>.
24524 (grub_exit_env): Removed.
24525 (fs_module_list): Moved to normal/autofs.c.
24526 (grub_file_getline): Don't handle comment here.
24527 (free_menu): Skip removed field entry->commands.
24528 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
24529 script parameter.
24530 (read_config_file): Removed nested parameter, change getline function.
24531 (grub_enter_normal_mode): Removed.
24532 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
24533 (read_command_list): Likewise.
24534 (autoload_fs_module): Moved to normal/autofs.c.
24535 (read_fs_list): Likewise.
24536 (reader_nested): New variable.
24537 (grub_normal_execute): Run parser.sh to switch to sh parser.
24538 (grub_cmd_rescue): Removed.
24539 (cmd_normal): Removed.
24540 (grub_cmd_normal): Unregister itself at the beginning. Don't register
24541 rescue command.
24542 (grub_cmdline_run): New function.
24543 (grub_normal_reader_init): Likewise.
24544 (grub_normal_read_line): Likewise.
24545 (grub_env_write_pager): Likewise.
24546 (cmdline): New variable.
24547 (grub_normal_reader): Likewise.
24548 (GRUB_MOD_INIT): Register normal reader and set as current, register
24549 pager hook, register normal command with grub_register_command_prio,
24550 so that it won't show up in command.lst.
24551 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
24552 grub_fs_autoload_hook.
24553
24554 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
24555 (grub_menu_execute_entry): Replace grub_script_execute with
24556 grub_parser_execute, change parameter to grub_command_execute.
24557
24558 * normal/menu_text.c: Remove <grub/script.h>.
24559
24560 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
24561 and <grub/parser.h>.
24562 (run): Change editor_getline to use new parser interface. Change
24563 parameter to grub_command_execute.
24564
24565 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
24566 <grub/reader.h> and <grub/parser.h>.
24567 (grub_load_normal_mode): Execute normal command.
24568 (grub_main): Call grub_register_core_commands,
24569 grub_register_rescue_parser and grub_register_rescue_reader, use
24570 grub_reader_loop to enter input loop.
24571
24572 * kern/parser.c (grub_parser_split_cmdline): Change type of
24573 getline parameter.
24574 (grub_parser_class): New variable.
24575 (grub_parser_execute): New function.
24576
24577 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
24578 * loader/multiboot2.c: Likewise.
24579 * loader/sparc64/ieee1275/linux.c: Likewise.
24580
24581 * util/grub-emu.c (read_command_list): New dummy function.
24582
24583 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
24584
24585 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
24586 count to 16 for CCISS and IDA.
24587
24588 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
24589
24590 * normal/menu_text.c (grub_wait_after_message): Print a newline
24591 after waiting for user input.
24592
24593 * loader/i386/linux.c: Include `<grub/normal.h>'.
24594 (grub_cmd_linux): Improve the error message about `ask' mode, by
24595 waiting for user input so it's not missed (we can do this, since
24596 user requested interaction).
24597
24598 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
24599
24600 Added missing lst to grub-mkrescue
24601
24602 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
24603 and ${input_dir}/parttool.lst
24604
24605 2009-04-30 David S. Miller <davem@davemloft.net>
24606
24607 * util/hostdisk.c (device_is_wholedisk): New function.
24608 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
24609 zero only if device_is_wholedisk() returns true.
24610
24611 * util/hostdisk.c (convert_system_partition_to_system_disk):
24612 Handle virtual disk devices named /dev/vdiskX as found on sparc
24613 and powerpc.
24614
24615 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
24616 lettered partition specifier is found, convert to numbered.
24617
24618 2009-04-29 David S. Miller <davem@davemloft.net>
24619
24620 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
24621 * include/grub/sparc64/ieee1275/memory.h: Likewise.
24622
24623 * normal/command.c: Add missing newline at end of file.
24624
24625 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
24626 warnings.
24627 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
24628 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
24629 grub_ofdisk_read): Likewise, and deal similarly with the fact that
24630 ihandles have a 32-bit type but need to be stored in a "void *".
24631
24632 2009-04-28 Pavel Roskin <proski@gnu.org>
24633
24634 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
24635 not disk. Adjust all dependencies.
24636 (grub_fs_uuid_close): Use grub_device_close(), not
24637 grub_disk_close().
24638
24639 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
24640 parent's partition, don't copy it by reference, as it gets freed
24641 on close.
24642
24643 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
24644
24645 Preboot hooks support
24646
24647 * commands/boot.c (struct grub_preboot_t): new declaration
24648 (preboots_head): new variable
24649 (preboots_tail): likewise
24650 (grub_loader_register_preboot_hook): new function
24651 (grub_loader_unregister_preboot_hook): likewise
24652 (grub_loader_set): launch preboot hooks
24653 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
24654 (grub_loader_register_preboot_hook): new declaration
24655 (grub_loader_unregister_preboot_hook): likewise
24656
24657 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
24658
24659 Warning fix
24660
24661 * disk/scsi.c (grub_scsi_open): added missing cast when
24662 calling grub_dprintf
24663
24664 2009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
24665
24666 Bug and warning fixes
24667
24668 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
24669 declaration
24670 * commands/test.c (test_parse): fixed bug with file tests and corrected
24671 declaration of find_file
24672
24673 2009-04-26 Pavel Roskin <proski@gnu.org>
24674
24675 * Makefile.in: Don't install empty manual pages if help2man is
24676 missing. Use help2man option for output, not shell redirection.
24677
24678 2009-04-26 David S. Miller <davem@davemloft.net>
24679
24680 * util/grub-mkdevicemap.c (make_device_map): Add missing
24681 NESTED_FUNC_ATTR to process_device().
24682
24683 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
24684
24685 Test command
24686
24687 * commands/test.c: rewritten to use bash-like test
24688
24689 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
24690
24691 Parttool autoloading and improvements
24692
24693 * Makefile.in (pkglib_DATA): add parttool.lst
24694 (parttool.lst): new target
24695 * genmk.rb: generate parttool-*
24696 (CLEANFILES): add #{parttool}
24697 (PARTTOOLFILES): new variable
24698 * genparttoollist.sh: new file
24699 * parttool/pcpart.c (grub_pcpart_boot): more feedback
24700 (grub_pcpart_type): likewise
24701 * commands/parttool.c (helpmsg): new variable
24702 (grub_cmd_parttool): output help if not enough arguments are supplied
24703 autoload modules
24704 (GRUB_MOD_INIT(parttool)): use helpmsg
24705
24706 2009-04-24 David S. Miller <davem@davemloft.net>
24707
24708 Avoiding opening same device multiple times in device iterator.
24709
24710 * kern/device.c: (grub_device_iterate): Define struct part_ent,
24711 and use it to build a list of partitions in iterate_disk() and
24712 iterate_partition().
24713
24714 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
24715 on disk->data.
24716
24717 * disk/ieee1275/nand.c (grub_nand_iterate): Return
24718 grub_devalias_iterate() result instead of unconditional 0.
24719 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
24720 Also, capture hook return value, either directly or via
24721 grub_children_iterate(), and propagate to caller.
24722 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
24723 grub_children_iterate): Return value is now 'int' instead of
24724 'grub_err_t'.
24725 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
24726 like a proper iterator, stopping when hooks return non-zero.
24727 (grub_devalias_iterate): Likewise.
24728
24729 2009-04-23 David S. Miller <davem@davemloft.net>
24730
24731 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
24732
24733 2009-04-22 David S. Miller <davem@davemloft.net>
24734
24735 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
24736 is larger than address_cells, use that value for address_cells too.
24737
24738 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
24739 IEEE1275_MAX_PATH_LEN): Define.
24740 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
24741 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
24742 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
24743 'devtype'. Explicitly NULL terminate devalias expansion.
24744
24745 * util/sparc64/ieee1275/misc.c: New file.
24746 * util/sparc64/ieee1275/grub-setup.c: New file.
24747 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
24748 * util/sparc64/ieee1275/grub-mkimage.c: New file.
24749 * util/sparc64/ieee1275/grub-install.in: New file.
24750 * util/ieee1275/ofpath.c: New file.
24751 * util/ieee1275/devicemap.c: New file.
24752 * util/devicemap.c: New file.
24753 * util/deviceiter.c: New file.
24754 * kern/sparc64/ieee1275/init.c: New file.
24755 * include/grub/util/ofpath.h: New file.
24756 * include/grub/util/deviceiter.h: New file.
24757 * util/grub-mkdevicemap.c: Include deviceiter.h.
24758 Implement using grub_util_emit_devicemap_entry and
24759 grub_util_iterate_devices.
24760 * conf/i386-corebook.rmk: Build util/deviceiter.c and
24761 util/devicemap.c into grub-mkdevicemap
24762 * conf/i386-efi.rmk: Likewise.
24763 * conf/i386-ieee1275.rmk: Likewise.
24764 * conf/i386-pc.rmk: Likewise.
24765 * conf/powerpc-ieee1275.rmk: Likewise.
24766 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
24767 images and installation utilities. Build kernel as image
24768 instead of as elf binary. Use common rules as much as possible.
24769
24770 2009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
24771
24772 Correct GPT definition
24773
24774 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
24775 of "attrib" member
24776
24777 2009-04-19 Felix Zielcke <fzielcke@z-51.de>
24778
24779 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
24780
24781 2009-04-19 David S. Miller <davem@davemloft.net>
24782
24783 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
24784 (grub_rescue_cmd_linux): Rename to...
24785 (grub_cmd_linux): and fix prototype.
24786 (grub_rescue_cmd_initrd): Rename to...
24787 (grub_cmd_initrd): and fix prototype.
24788 (cmd_linux, cmd_initrd): New.
24789 (GRUB_MOD_INIT(linux)): Use grub_register_command().
24790 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
24791
24792 2009-04-17 Pavel Roskin <proski@gnu.org>
24793
24794 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
24795 format.
24796 (grub_ohci_transfer): Likewise.
24797
24798 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
24799
24800 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
24801 return without a value. Fix inconsistent indentation.
24802
24803 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
24804 match struct grub_fs.
24805
24806 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
24807 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
24808 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
24809 * commands/lspci.c (grub_lspci_iter): Likewise.
24810
24811 2009-04-16 Bean <bean123ch@gmail.com>
24812
24813 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
24814 value.
24815
24816 2009-04-15 Pavel Roskin <proski@gnu.org>
24817
24818 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
24819 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
24820 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
24821 definitions.
24822
24823 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
24824
24825 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
24826 that no multiple data or metadata areas are supported and `Unknown
24827 metadata header'.
24828
24829 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
24830
24831 Move loader out of the kernel
24832
24833 * kern/loader.c: moved to ...
24834 * commands/boot.c: ... moved here
24835 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
24836 * commands/boot.c (grub_cmd_boot): moved here. All users updated
24837 * include/grub/kernel.h (grub_machine_fini): export
24838 * include/grub/loader.h (grub_loader_is_loaded): update declaration
24839 (grub_loader_set): likewise
24840 (grub_loader_unset): likewise
24841 (grub_loader_boot): likewise
24842 * conf/common.rmk: new module boot.mod
24843 (pkglib_MODULES): add boot.mod
24844 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
24845 (grub_emu_SOURCES): likewise
24846 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
24847 (grub_emu_SOURCES): likewise
24848 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
24849 (grub_emu_SOURCES): likewise
24850 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
24851 (grub_emu_SOURCES): likewise
24852 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
24853 (grub_emu_SOURCES): likewise
24854 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
24855 (grub_emu_SOURCES): likewise
24856 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
24857 (grub_emu_SOURCES): likewise
24858
24859 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
24860
24861 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
24862
24863 * kern/misc.c (grub_itoa): Removed function
24864 (grub_ltoa): likewise
24865 (grub_vsprintf): use grub_lltoa
24866
24867 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
24868
24869 Restore grub-emu
24870
24871 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
24872 * conf/i386-coreboot.rmk: likewise
24873 * conf/i386-ieee1275.rmk: likewise
24874 * conf/powerpc-ieee1275.rmk: likewise
24875
24876 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
24877
24878 * INSTALL: Add that `./autogen.sh' needs to be run before
24879 `./configure.'.
24880
24881 2009-04-14 Bean <bean123ch@gmail.com>
24882
24883 * Makefile.in (pkglib_DATA): Add handler.lst.
24884 (handler.lst): New rule.
24885
24886 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
24887 * conf/i386-coreboot.rmk: Likewise.
24888 * conf/i386-ieee1275.rmk: Likewise.
24889 * conf/i386-efi.rmk: Likewise.
24890 * conf/x86_64-efi.rmk: Likewise.
24891 * conf/powerpc-ieee1275.rmk: Likewise.
24892 * conf/sparc64-ieee1275.rmk: Likewise.
24893
24894 * genhandlerlist.sh: New file.
24895
24896 * genmk.rb: Add rules to generate handler.lst.
24897
24898 * include/grub/normal.h (grub_file_getline): New function definition.
24899 (read_handler_list): Likewise.
24900 (free_handler_list): Likewise.
24901
24902 * include/grub/term.h (grub_term_register_input): Add name parameter
24903 for auto generation of handler.lst.
24904 (grub_term_register_output): Likewise.
24905
24906 * normal/handler.c: New file.
24907
24908 * normal/main.c (get_line): Renamed to grub_file_getline.
24909 (read_config_file): Use the newly renamed grub_file_getline.
24910 (read_command_list): Likewise.
24911 (read_fs_list): Likewise.
24912 (grub_normal_execute): Call read_handler_list to parse handler.lst.
24913 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
24914
24915 * term/efi/console.c (grub_console_init): Add name parameter for auto
24916 generation of handler.lst.
24917 * term/gfxterm.c: Likewise.
24918 * term/i386/pc/at_keyboard.c: Likewise.
24919 * term/i386/pc/console.c: Likewise.
24920 * term/i386/pc/serial.c: Likewise.
24921 * term/i386/pc/vesafb.c: Likewise.
24922 * term/i386/pc/vga.c: Likewise.
24923 * term/i386/pc/vga_text.c: Likewise.
24924 * term/ieee1275/ofconsole.c: Likewise.
24925 * term/usb_keyboard.c: Likewise.
24926
24927 2009-04-14 Bean <bean123ch@gmail.com>
24928
24929 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
24930 properly with null character.
24931
24932 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
24933
24934 * configure: Remove.
24935 * config.h.in: Likewise.
24936 * stamp-h.in: Likewise.
24937 * DISTLIST: Likewise.
24938 * conf/common.mk: Likewise.
24939 * conf/i386-coreboot.mk: Likewise.
24940 * conf/i386-efi.mk: Likewise.
24941 * conf/i386-ieee1275.mk: Likewise.
24942 * conf/i386.mk: Likewise.
24943 * conf/i386-pc.mk: Likewise.
24944 * conf/powerpc-ieee1275.mk: Likewise.
24945 * conf/sparc64-ieee1275.mk: Likewise.
24946 * conf/x86_64-efi.mk: Likewise.
24947
24948 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
24949 develop on GRUB.
24950
24951 2009-04-14 John Stanley <jpsinthemix@verizon.net>
24952 David S. Miller <davem@davemloft.net>
24953
24954 * util/hostdisk.c (make_device_name): Fix buffer length
24955 calculations.
24956
24957 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
24958
24959 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
24960 <sys/param.h> and <sys/sysctl.h>.
24961 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
24962 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
24963 opening the device and reset them afterwards.
24964
24965 2009-04-13 Pavel Roskin <proski@gnu.org>
24966
24967 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
24968 Reported by John Stanley <jpsinthemix@verizon.net>
24969
24970 2009-04-13 Robert Millan <rmh@aybabtu.com>
24971
24972 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
24973 that name for menuentries when appropriate.
24974
24975 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
24976
24977 * util/grub.d/10_freebsd.in: Add a missing `fi'.
24978
24979 2009-04-13 Robert Millan <rmh@aybabtu.com>
24980
24981 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
24982 to Linux, simply abort telling the user it's no longer supported.
24983
24984 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
24985
24986 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
24987 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
24988 `freebsd_loadenv' only when devices.hints exist.
24989
24990 2009-04-13 Pavel Roskin <proski@gnu.org>
24991
24992 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
24993
24994 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
24995
24996 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
24997 partition number.
24998 (grub_drive): Likewise.
24999
25000 2009-04-13 David S. Miller <davem@davemloft.net>
25001
25002 * kern/sparc64/ieee1275/ieee1275.c: New file.
25003 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
25004 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
25005 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
25006 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
25007 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
25008 grub_ieee1275_alloc_physmem): Declare new exported functions.
25009
25010 * include/grub/sparc64/ieee1275/loader.h: New file.
25011 * include/grub/sparc64/ieee1275/memory.h: Likewise.
25012 * include/grub/sparc64/kernel.h: Likewise.
25013 * loader/sparc64/ieee1275/linux.c: Likewise.
25014
25015 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
25016 (grub_fstest_SOURCES): Likewise.
25017
25018 * util/hostdisk.c (make_device_name): Do not make any assumptions
25019 about the length of drive names.
25020
25021 * kern/dl.c (grub_dl_load_file): Close file immediately when
25022 we are done using it.
25023
25024 2009-04-12 David S. Miller <davem@davemloft.net>
25025
25026 * kern/misc.c (grub_ltoa): Fix cast when handling negative
25027 values. Noticed by Pavel Roskin.
25028
25029 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
25030 target compiler.
25031
25032 * genmk.rb: Add more flexible image type specification, also
25033 pass --strip-unneeded to objcopy.
25034 * conf/i386-pc.rmk: Use *_FORMAT.
25035 * conf/i386-pc.mk: Rebuilt.
25036
25037 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
25038 (OFDISK_HASH_SZ): Define.
25039 (ofdisk_hash): New hash table.
25040 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
25041 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
25042 instead of device phandle which is not unique.
25043
25044 * kern/sparc64/ieee1275/init.c: Delete, replace with...
25045 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
25046 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
25047 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
25048 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
25049 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
25050 GRUB_KERNEL_MACHINE_DATA_END): Define.
25051 (grub_kernel_image_size, grub_total_module_size): Declare.
25052
25053 2009-04-12 Pavel Roskin <proski@gnu.org>
25054
25055 * configure.ac: Change the logic when we check for target tools.
25056 Do it when the target is specified and it's different from the
25057 specified value of the host.
25058
25059 2009-04-11 Felix Zielcke <fzielcke@z-51.de>
25060
25061 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
25062 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
25063 GNU/kFreeBSD. Check if a device is a character device. Use
25064 DIOCGMEDIASIZE to get the size.
25065 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
25066 support for GNU/kFreeBSD.
25067 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
25068 is a character device instead of a block device. Add support for
25069 FreeBSD device names.
25070
25071 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
25072 is a character device instead of a block device.
25073
25074 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
25075 is a character device instead of a block device.
25076
25077 2009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
25078
25079 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
25080 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
25081 FreeBSD. Check if a device is a character device. Use
25082 DIOCGMEDIASIZE to get the size.
25083 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
25084 support for FreeBSD.
25085 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
25086 is a character device instead of a block device. Add support for
25087 FreeBSD device names.
25088
25089 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
25090 a character device instead of a block device.
25091 (grub_util_check_char_device): New function.
25092
25093 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
25094 a character device instead of a block device.
25095
25096 * include/grub/util/getroot.h (grub_util_check_char_device): New
25097 prototype.
25098
25099 2009-04-11 David S. Miller <davem@davemloft.net>
25100
25101 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
25102 static libgcc.
25103 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
25104 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
25105 function, if present.
25106 (__bswapdi2): Likewise.
25107
25108 * include/grub/sparc64/ieee1275/boot.h: New file.
25109 * boot/sparc64/ieee1275/boot.S: Likewise.
25110 * boot/sparc64/ieee1275/diskboot.S: Likewise.
25111
25112 * kern/misc.c (grub_ltoa): New function.
25113 (grub_vsprintf): Use it to format 'long' integers.
25114
25115 2009-04-10 David S. Miller <davem@davemloft.net>
25116
25117 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
25118 slots are of type grub_ieee1275_cell_t.
25119 (grub_nand_read): Likewise.
25120 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
25121 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
25122 macros are used to compare values in arg/ret block of the call.
25123 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
25124 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
25125 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
25126 grub_ieee1275_instance_to_path, grub_ieee1275_write,
25127 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
25128 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
25129 grub_ieee1275_close, grub_ieee1275_set_property,
25130 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
25131 grub_ieee1275_cell_t.
25132 * kern/ieee1275/openfw.c (grub_map): Likewise.
25133 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
25134 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
25135
25136 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
25137 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
25138 (grub_devalias_iterate): Likewise.
25139
25140 2009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
25141
25142 UFS improvements
25143
25144 * fs/ufs.c (INODE_NBLOCKS): new definition
25145 (struct grub_ufs_dirent): added fields for non-BSD dirents
25146 (grub_ufs_get_file_block): fixed double indirect handling
25147 (grub_ufs_lookup_symlink): use more robust way to determine whether
25148 symlink is inline
25149 (grub_ufs_find_file): support for non-BSD dirents
25150 (grub_ufs_dir): support for non-BSD dirents
25151
25152 2009-04-10 Bean <bean123ch@gnail.com>
25153
25154 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
25155 attribute, otherwise the size would be wrong for i386 platform.
25156
25157 * include/grub/pci.h (grub_pci_read_word): New inline function.
25158 (grub_pci_read_byte): Likewise.
25159 (grub_pci_write): Likewise.
25160 (grub_pci_write_word): Likewise.
25161 (grub_pci_write_byte): Likewise.
25162
25163 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
25164
25165 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
25166 (find_framebuf): Scan pci to locate the frame buffer address.
25167
25168 * commands/efi/fixvideo.c: New file.
25169
25170 * commands/efi/loadbios.c: Likewise.
25171
25172 * commands/memrw.c: Likewise.
25173
25174 * util/grub-dumpbios.in: Likewise.
25175
25176 * conf/common.rmk (grub-dumpbios): New utility.
25177 (pkglib_MODULES): New module memrw.mod.
25178 (memrw_mod_SOURCE): New macro.
25179 (memrw_mod_CFLAGS): Likewise.
25180 (memrw_mod_LDFLAGS): Likewise.
25181
25182 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
25183 fixvideo.mod.
25184 (loadbios_mod_SOURCE): New macro.
25185 (loadbios_mod_CFLAGS): Likewise.
25186 (loadbios_mod_LDFLAGS): Likewise.
25187 (fixvideo_mod_SOURCE): Likewise.
25188 (fixvideo_mod_CFLAGS): Likewise.
25189 (fixvideo_mod_LDFLAGS): Likewise.
25190
25191 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
25192 fixvideo.mod.
25193 (loadbios_mod_SOURCE): New macro.
25194 (loadbios_mod_CFLAGS): Likewise.
25195 (loadbios_mod_LDFLAGS): Likewise.
25196 (fixvideo_mod_SOURCE): Likewise.
25197 (fixvideo_mod_CFLAGS): Likewise.
25198 (fixvideo_mod_LDFLAGS): Likewise.
25199
25200 2009-04-08 Felix Zielcke <fzielcke@z-51.de>
25201
25202 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
25203
25204 2009-04-07 David S. Miller <davem@davemloft.net>
25205
25206 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
25207 support for R_SPARC_OLO10 relocations. Fix compile warning for
25208 R_SPARC_WDISP30 case.
25209 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
25210
25211 2009-04-06 Pavel Roskin <proski@gnu.org>
25212
25213 * include/grub/misc.h (ARRAY_SIZE): New macro.
25214 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
25215 New macro.
25216 * loader/i386/linux.c (allocate_pages): Use free_pages().
25217 (grub_linux_unload): Don't use free_pages().
25218 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
25219 wrong index. Treat all other modes as text modes.
25220 (grub_cmd_linux): Initialize vid_mode unconditionally to
25221 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
25222
25223 * commands/help.c (print_command_help): Use cmd->prio, not
25224 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
25225
25226 2009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
25227
25228 Parttool
25229
25230 * parttool/pcpart.c: new file
25231 * commands/parttool.c: likewise
25232 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
25233 (parttool_mod_SOURCES): new variable
25234 (parttool_mod_CFLAGS): likewise
25235 (parttool_mod_LDFLAGS): likewise
25236 (pcpart_mod_SOURCES): likewise
25237 (pcpart_mod_CFLAGS): likewise
25238 (pcpart_mod_LDFLAGS): likewise
25239 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
25240 and parttool/pcpart.c
25241 * conf/i386-efi.rmk: likewise
25242 * conf/i386-ieee1275.rmk: likewise
25243 * conf/i386-pc.rmk: likewise
25244 * conf/powerpc-ieee1275.rmk: likewise
25245 * conf/sparc64-ieee1275.rmk: likewise
25246 * conf/x86_64-ieee1275.rmk: likewise
25247
25248 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
25249
25250 Support for mtime and further expandability of dir command
25251
25252 * include/grub/lib/datetime.h: moved to ...
25253 * include/grub/datetime.h: ... moved here and added
25254 declaration of grub_unixtime2datetime. All users updated
25255 * include/grub/fs.h: new syntax for dir and mtime functions in
25256 struct grub_fs
25257 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
25258 and GRUB_FSHELP_FLAGS_MASK
25259 * commands/ls.c (grub_ls_list_files): Write mtime in long format
25260 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
25261 (grub_ext2_mtime): new function
25262 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
25263 (grub_hfsplus_mtime): new function
25264 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
25265 (GRUB_UFS_ATTR_FILE): likewise
25266 (GRUB_UFS_ATTR_LNK): likewise
25267 (struct grub_ufs_sblock): new fields mtime
25268 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
25269 all users updated
25270 (grub_ufs_dir): mtime support
25271 (grub_ufs_mtime): new function
25272 * fs/affs.c (grub_affs_dir): use new dir syntax
25273 * fs/afs.c (grub_afs_dir): likewise
25274 * fs/cpio.c (grub_cpio_dir): likewise
25275 * fs/fat.c (grub_fat_find_dir): likewise
25276 * fs/hfs.c (grub_hfs_dir): likewise
25277 * fs/iso9660.c (grub_iso9660_dir): likewise
25278 * fs/jfs.c (grub_jfs_dir): likewise
25279 * fs/minix.c (grub_minix_dir): likewise
25280 * fs/ntfs.c (grub_ntfs_dir): likewise
25281 * fs/reiserfs.c (grub_reiserfs_dir): likewise
25282 * fs/sfs.c (grub_sfs_dir): likewise
25283 * fs/xfs.c (grub_xfs_dir): likewise
25284 * util/hostfs.c (grub_hostfs_dir): likewise
25285 * lib/datetime.c: moved to ...
25286 * normal/datetime.c: ... moved here
25287 (grub_unixtime2datetime): new function
25288 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
25289 * normal/completion.c (iterate_dir): use new dir syntax
25290 * normal/misc.c (grub_normal_print_device_info): tell the
25291 last modification time of a volume
25292 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
25293 * conf/common.rmk: added lib/datetime.c to ls.mod
25294 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
25295 (normal_mod_SOURCES): likewise
25296 (datetime_mod_SOURCES): Removed lib/datetime.c
25297 * conf/i386-efi.rmk: likewise
25298 * conf/i386-ieee1275.rmk: likewise
25299 * conf/i386-pc.rmk: likewise
25300 * conf/powerpc-ieee1275.rmk: likewise
25301 * conf/sparc64-ieee1275.rmk: likewise
25302 * conf/x86_64-efi.rmk: likewise
25303
25304 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
25305
25306 Trim trailing spaces in FAT label and support mtools-like labels
25307
25308 * fs/fat.c (grub_fat_iterate_dir): New function based
25309 on grub_fat_find_dir
25310 (grub_fat_find_dir): use grub_fat_iterate_dir
25311 (grub_fat_label): likewise
25312
25313 2009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
25314
25315 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
25316 and command.h
25317 remove extraneous kernel_elf_HEADERS
25318
25319 2009-04-04 Bean <bean123ch@gnail.com>
25320
25321 * include/grub/util/misc.h: Add dummy function fsync for mingw.
25322
25323 * util/misc.c: Likewise.
25324
25325 2009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
25326
25327 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
25328 instead of grub_printf.
25329
25330 2009-04-03 Robert Millan <rmh@aybabtu.com>
25331
25332 * loader/i386/linux.c (grub_linux_setup_video): Fill
25333 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
25334 values from `mode info' structure instead of hardcoded
25335 values.
25336
25337 2009-04-01 Pavel Roskin <proski@gnu.org>
25338
25339 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
25340 unused now.
25341 * genmk.rb: Likewise.
25342 * configure.ac: Likewise.
25343
25344 2009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
25345
25346 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
25347 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
25348
25349 2009-04-01 David S. Miller <davem@davemloft.net>
25350
25351 * normal/sparc64/setjmp.S: Fix setjmp implementation.
25352 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
25353 (grub_setjmp): Mark with 'returns_twice' attribute.
25354 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
25355 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
25356 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
25357
25358 2009-04-01 Robert Millan <rmh@aybabtu.com>
25359
25360 Reapply fix from 2008-07-28 which was accidentally reverted; also
25361 perform the same fix to a similar check in same function.
25362
25363 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
25364 with the same number are found, just use issue a warning with
25365 grub_dprintf(), as this error has been reported to be non-fatal.
25366
25367 2009-03-31 Pavel Roskin <proski@gnu.org>
25368
25369 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
25370 for cross-compilation.
25371
25372 2009-03-30 Robert Millan <rmh@aybabtu.com>
25373
25374 Fix i386-ieee1275 build.
25375
25376 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
25377 Remove declaration.
25378
25379 2009-03-30 Pavel Roskin <proski@gnu.org>
25380
25381 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
25382 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
25383 zero-terminated, rely only on the strlen value. Fix comparison
25384 of strings differing in length.
25385
25386 2009-03-30 Robert Millan <rmh@aybabtu.com>
25387
25388 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
25389 checking for abi version. Improve error messages on BIOS to notify
25390 user about `linux16' command.
25391
25392 2009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
25393
25394 Leak fixes
25395
25396 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
25397 in case of collision
25398 * disk/scsi.c (grub_scsi_open): free scsi in case of error
25399
25400 2009-03-29 Robert Millan <rmh@aybabtu.com>
25401
25402 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
25403 set `vid_mode' accordingly.
25404 (grub_linux_boot): Process `vid_mode' and set video mode.
25405
25406 2009-03-29 Robert Millan <rmh@aybabtu.com>
25407
25408 * util/grub.d/10_linux.in (linux_entry): New function.
25409 Factorize generation of Linux boot entries.
25410
25411 2009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
25412
25413 Make the format of Environment Block plain text. The boot loader
25414 part is not tested well yet.
25415
25416 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
25417 (buffer): Removed.
25418 (envblk): Likewise.
25419 (usage): Remove "info" and "clear". Add "unset". Update the
25420 description of "set", as this does not delete variables any
25421 longer.
25422 (create_envblk_file): Complete rewrite.
25423 (open_envblk_file): Likewise.
25424 (cmd_info): Removed.
25425 (cmd_list): Likewise.
25426 (cmd_set): Likewise.
25427 (cmd_clear): Likewise.
25428 (list_variables): New function.
25429 (write_envblk): Likewise.
25430 (set_variables): Likewise.
25431 (unset_variables): Likewise.
25432 (main): Complete rewrite.
25433
25434 * commands/loadenv.c (buffer): Removed.
25435 (envblk): Likewise.
25436 (open_envblk_file): New function.
25437 (read_envblk_file): Complete rewrite.
25438 (grub_cmd_load_env): Likewise.
25439 (grub_cmd_list_env): Likewise.
25440 (struct blocklist): New struct.
25441 (free_blocklists): New function.
25442 (check_blocklists): Likewise.
25443 (write_blocklists): Likewise.
25444 (grub_cmd_save_env): Complete rewrite.
25445
25446 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
25447 a plain text signature.
25448 (GRUB_ENVBLK_MAXLEN): Removed.
25449 (struct grub_envblk): Complete rewrite.
25450 (grub_envblk_find): Removed.
25451 (grub_envblk_insert): Likewise.
25452 (grub_envblk_open): New prototype.
25453 (grub_envblk_set): Likewise.
25454 (grub_envblk_delete): Put const to VALUE.
25455 (grub_envblk_iterate): Put const to NAME and VALUE.
25456 (grub_envblk_close): New prototype.
25457 (grub_envblk_buffer): New inline function.
25458 (grub_envblk_size): Likewise.
25459
25460 * lib/envblk.c: Include grub/mm.h.
25461 (grub_env_find): Removed.
25462 (grub_envblk_open): New function.
25463 (grub_envblk_close): Likewise.
25464 (escaped_value_len): Likewise.
25465 (find_next_line): Likewise.
25466 (grub_envblk_insert): Removed.
25467 (grub_envblk_set): New function.
25468 (grub_envblk_delete): Complete rewrite.
25469 (grub_envblk_iterate): Likewise.
25470
25471 2009-03-28 Robert Millan <rmh@aybabtu.com>
25472
25473 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
25474 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
25475 variables. Use 16-bit loader.
25476 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
25477 loader.
25478 * kern/i386/loader.S (grub_linux_boot): Rename to ...
25479 (grub_linux16_boot): ... this. Update all users.
25480 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
25481 (grub_linux_boot): ... this. Update all users.
25482
25483 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
25484 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
25485 commands to `linux16' and `initrd16'.
25486 (GRUB_MOD_FINI(linux)): Rename to ...
25487 (GRUB_MOD_FINI(linux16)): ... this.
25488
25489 2009-03-24 Pavel Roskin <proski@gnu.org>
25490
25491 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
25492 not just for compilation.
25493
25494 2009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
25495
25496 Move multiboot helper out of kernel
25497
25498 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
25499 `loader/i386/multiboot_helper.S'.
25500 * conf/i386-coreboot.rmk: Likewise
25501 * conf/i386-ieee1275.rmk: Likewise
25502
25503 * kern/i386/loader.S: Move multiboot helpers from here...
25504 * loader/i386/multiboot_helper.S: ...moved here
25505 * include/grub/i386/loader.h: Move declarations of multiboot
25506 helpers from here...
25507 * include/grub/i386/multiboot.h: ...moved here
25508 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
25509
25510 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
25511
25512 * kern/env.c (grub_env_context_open): Added an argument to specify
25513 whether a new context inherits exported variables from current
25514 one. This is useful when making a sandbox to interpret a config
25515 file.
25516 All callers updated.
25517
25518 * include/grub/env.h (grub_env_context_open): Updated the prototype.
25519
25520 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
25521
25522 * kern/env.c (grub_env_context_close): Fix memory leaks.
25523
25524 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
25525
25526 * normal/main.c (grub_normal_execute): Added an argument
25527 BATCH to specify if an interactive interface should be provided
25528 after reading a config file.
25529 All callers updated.
25530 (read_command_list): Prevent being executed twice.
25531 (read_fs_list): Likewise.
25532
25533 * include/grub/normal.h (grub_normal_execute): Updated the
25534 prototype.
25535
25536 2009-03-22 Pavel Roskin <proski@gno.org>
25537
25538 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
25539 _start.
25540 * kern/i386/pc/startup.S: Likewise.
25541 * kern/i386/efi/startup.S: Likewise.
25542 * kern/i386/ieee1275/startup.S: Likewise.
25543 * kern/i386/coreboot/startup.S: Likewise.
25544 * kern/x86_64/efi/startup.S: Likewise.
25545
25546 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
25547 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
25548 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
25549
25550 2009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
25551
25552 Bugfixes in multiboot for bugs uncovered by solaris kernel.
25553
25554 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
25555 limit detection.
25556 Use vaddr of correct segment for entry_point.
25557
25558 2009-03-21 Bean <bean123ch@gmail.com>
25559
25560 * commands/blocklist.c: Add include file <grub/command.h>, remove
25561 <grub/normal.h> and <grub/arg.h>.
25562 (grub_cmd_blocklist): Use the new command interface.
25563 (GRUB_MOD_INIT): Likewise.
25564 (GRUB_MOD_FINI): Likewise.
25565 * commands/boot.c: Likewise.
25566 * commands/cat.c: Likewise.
25567 * commands/cmp.c: Likewise.
25568 * commands/configfile.c: Likewise.
25569 * commands/crc.c: Likewise.
25570 * commands/echo.c: Likewise.
25571 * commands/halt.c: Likewise.
25572 * commands/handler.c: Likewise.
25573 * commands/hdparm.c: Likewise.
25574 * commands/help.c: Likewise.
25575 * commands/hexdump.c: Likewise.
25576 * commands/loadenv.c: Likewise.
25577 * commands/ls.c: Likewise.
25578 * commands/lsmmap.c: Likewise.
25579 * commands/lspci.c: Likewise.
25580 * commands/loadenv.c: Likewise.
25581 * commands/read.c: Likewise.
25582 * commands/reboot.c: Likewise.
25583 * commands/search.c: Likewise.
25584 * commands/sleep.c: Likewise.
25585 * commands/test.c: Likewise.
25586 * commands/usbtest.c: Likewise.
25587 * commands/videotest.c: Likewise.
25588 * commands/i386/cpuid.c: Likewise.
25589 * commands/i386/pc/halt.c: Likewise.
25590 * commands/i386/pc/play.c: Likewise.
25591 * commands/i386/pc/pxecmd.c: Likewise.
25592 * commands/i386/pc/vbeinfo.c: Likewise.
25593 * commands/i386/pc/vbetest.c: Likewise.
25594 * commands/ieee1275/suspend.c: Likewise.
25595 * disk/loopback.c: Likewise.
25596 * font/font_cmd.c: Likewise.
25597 * hello/hello.c: Likewise.
25598 * loader/efi/appleloader.c: Likewise.
25599 * loader/efi/chainloader.c: Likewise.
25600 * loader/i386/bsd.c: Likewise.
25601 * loader/i386/efi/linux.c: Likewise.
25602 * loader/i386/ieee1275/linux.c: Likewise.
25603 * loader/i386/linux.c: Likewise.
25604 * loader/i386/pc/chainloader.c: Likewise.
25605 * loader/i386/pc/linux.c: Likewise.
25606 * loader/powerpc/ieee1275/linux.c: Likewise.
25607 * loader/multiboot_loader.c: Likewise.
25608 * term/gfxterm.c: Likewise.
25609 * term/i386/pc/serial.c: Likewise.
25610 * term/terminfo.c: Likewise.
25611
25612 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
25613 * term/i386/pc/vga.c: Likewise.
25614 * video/readers/jpeg.c: Likewise.
25615 * video/readers/png.c: Likewise.
25616 * video/readers/tga.c: Likewise.
25617
25618 * util/grub-fstest (cmd_loopback): Removed.
25619 (cmd_blocklist): Likewise.
25620 (cmd_ls): Likewise.
25621 (grub_register_command): Likewise.
25622 (grub_unregister_command): Likewise.
25623 (execute_command): Use grub_command_find to locate command and execute
25624 it.
25625
25626 * include/grub/efi/chainloader.h: Removed.
25627 * loader/efi/chainloader_normal.c: Likewise.
25628 * loader/i386/bsd_normal.c: Likewise.
25629 * loader/i386/pc/chainloader_normal.c: Likewise.
25630 * loader/i386/pc/multiboot_normal.c: Likewise.
25631 * loader/linux_normal.c: Likewise.
25632 * loader/multiboot_loader_normal.c: Likewise.
25633 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
25634
25635 * gencmdlist.sh: Scan new registration command grub_register_extcmd
25636 and grub_register_command_p1.
25637
25638 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
25639 kern/command.c, lib/arg.c and commands/extcmd.c.
25640 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
25641 (minicmd_mod_SOURCES): New variable.
25642 (minicmd_mod_CFLAGS): Likewise.
25643 (minicmd_mod_LDFLAGS): Likewise.
25644 (extcmd_mod_SOURCES): Likewise.
25645 (extcmd_mod_CFLAGS): Likewise.
25646 (extcmd_mod_LDFLAGS): Likewise.
25647 (boot_mod_SOURCES): Removed.
25648 (boot_mod_CFLAGS): Likewise.
25649 (boot_mod_LDFLAGS): Likewise.
25650
25651 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
25652 kern/corecmd.c.
25653 (kernel_img_HEADERS): Add command.h.
25654 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
25655 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
25656 and lib/arg.c.
25657 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
25658 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
25659 remove the corresponding normal mode command.
25660 (normal_mod_SOURCES): Remove normal/arg.c.
25661 * conf/i386-coreboot.rmk: Likewise.
25662 * conf/i386-efi.rmk: Likewise.
25663 * conf/i386-ieee1275.rmk: Likewise.
25664 * conf/powerpc-ieee1275.rmk: Likewise.
25665 * conf/x86_64-efi.rmk: Likewise.
25666
25667 * include/grub/arg.h: Move from here ...
25668 * include/grub/lib/arg.h: ... to here.
25669
25670 * normal/arg.c: Move from here ...
25671 * lib/arg.c: ... to here.
25672
25673 * commands/extcmd.c: New file.
25674 * commands/minicmd.c: Likewise.
25675 * include/grub/command.h: Likewise.
25676 * include/grub/extcmd.h: Likewise.
25677 * kern/command.c: Likewise.
25678 * kern/corecmd.c: Likewise.
25679
25680 * kern/list.c (grub_list_iterate): Return int instead of void.
25681 (grub_list_insert): New function.
25682 (grub_prio_list_insert): Likewise.
25683
25684 * kern/rescue.c (grub_rescue_command): Removed.
25685 (grub_rescue_command_list): Likewise.
25686 (grub_rescue_register_command): Likewise.
25687 (grub_rescue_unregister_command): Likewise.
25688 (grub_rescue_cmd_boot): Move to minicmd.c
25689 (grub_rescue_cmd_help): Likewise.
25690 (grub_rescue_cmd_info): Likewise.
25691 (grub_rescue_cmd_boot): Likewise.
25692 (grub_rescue_cmd_testload): Likewise.
25693 (grub_rescue_cmd_dump): Likewise.
25694 (grub_rescue_cmd_rmmod): Likewise.
25695 (grub_rescue_cmd_lsmod): Likewise.
25696 (grub_rescue_cmd_exit): Likewise.
25697 (grub_rescue_print_devices): Moved to corecmd.c.
25698 (grub_rescue_print_files): Likewise.
25699 (grub_rescue_cmd_ls): Likewise.
25700 (grub_rescue_cmd_insmod): Likewise.
25701 (grub_rescue_cmd_set): Likewise.
25702 (grub_rescue_cmd_unset): Likewise.
25703 (attempt_normal_mode): Use grub_command_find to get normal module.
25704 (grub_enter_rescue_mode): Use grub_register_core_commands to register
25705 commands, remove grub_rescue_register_command calls.
25706
25707 * normal/command.c (grub_register_command): Removed.
25708 (grub_unregister_command): Likewise.
25709 (grub_command_find): Likewise.
25710 (grub_iterate_commands): Likewise.
25711 (rescue_command): Likewise.
25712 (export_command): Moved to corecmd.c.
25713 (set_command): Removed.
25714 (unset_command): Likewise.
25715 (insmod_command): Likewise.
25716 (rmmod_command): Likewise.
25717 (lsmod_command): Likewise.
25718 (grub_command_init): Likewise.
25719
25720 * normal/completion.c (iterate_command): Use cmd->prio to check for
25721 active command.
25722 (complete_arguments): Use grub_extcmd_t structure to find options.
25723 (grub_normal_do_completion): Change function grub_iterate_commands to
25724 grub_command_iterate.
25725
25726 * normal/execute.c (grub_script_execute_cmd): No need to parse
25727 argument here.
25728
25729 * normal/main.c (grub_dyncmd_dispatcher): New function.
25730 (read_command_list): Register unload commands as dyncmd.
25731 (grub_cmd_normal): Use new command interface, register rescue,
25732 unregister normal at entry, register normal, unregister rescue at exit.
25733
25734 * include/grub/list.h (grub_list_test_t): New type.
25735 (grub_list_iterate): Return int instead of void.
25736 (grub_list_insert): New function.
25737 (GRUB_AS_NAMED_LIST_P): New macro.
25738 (GRUB_AS_PRIO_LIST): Likewise.
25739 (GRUB_AS_PRIO_LIST_P): Likewise.
25740 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
25741 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
25742 (grub_prio_list): New structure.
25743 (grub_prio_list_insert): New function.
25744 (grub_prio_list_remove): New inline function.
25745
25746 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
25747 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
25748 (GRUB_COMMAND_FLAG_MENU): Likewise.
25749 (GRUB_COMMAND_FLAG_BOTH): Likewise.
25750 (GRUB_COMMAND_FLAG_TITLE): Likewise.
25751 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
25752 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
25753 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
25754 (grub_command): Likewise.
25755 (grub_register_command): Likewise.
25756 (grub_command_find): Likewise.
25757 (grub_iterate_commands): Likewise.
25758 (grub_command_init): Likewise.
25759 (grub_arg_parse): Likewise.
25760 (grub_arg_show_help): Likewise.
25761
25762 * include/grub/rescue.h (grub_rescue_register_command): Removed.
25763 (grub_rescue_unregister_command): Likewise.
25764
25765 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
25766 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
25767 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
25768
25769 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
25770 grub_rescue_cmd_initrd.
25771 * include/grub/i386/loader.h: Likewise.
25772 * include/grub/x86_64/loader.h: Likewise.
25773
25774 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
25775
25776 2009-03-21 Bean <bean123ch@gmail.com>
25777
25778 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
25779 instead of stat in mingw environment.
25780
25781 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
25782
25783 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
25784
25785 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
25786 AC_CONFIG_LINKS.
25787
25788 2009-03-21 Bean <bean123ch@gmail.com>
25789
25790 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
25791 out of range error.
25792
25793 2009-03-18 Michel Dänzer <michel@daenzer.net>
25794
25795 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
25796 checking inode flags for EXT4_EXTENTS_FLAG.
25797
25798 2009-03-18 Robert Millan <rmh@aybabtu.com>
25799
25800 * loader/i386/linux.c: Include `<grub/video.h>' and
25801 `<grub/i386/pc/vbe.h>'..
25802 (grub_linux_setup_video): New function. Loosely based on the EFI one.
25803 (grub_linux32_boot): Attempt to configure video settings with
25804 grub_linux_setup_video().
25805 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
25806 to avoid grub_console_fini() which would step out of graphical mode
25807 unconditionally.
25808
25809 2009-03-14 Robert Millan <rmh@aybabtu.com>
25810
25811 Fix build on powerpc.
25812 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
25813
25814 2009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
25815
25816 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
25817 background image command.
25818
25819 2009-03-12 Colin D Bennett <colin@gibibit.com>
25820
25821 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
25822 (grub_gfxterm_putchar): Extract pairs of identical calls to
25823 draw_cursor out of conditional blocks.
25824
25825 2009-03-11 Pavel Roskin <proski@gnu.org>
25826
25827 * fs/hfs.c (grub_hfs_strncasecmp): New function.
25828 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
25829
25830 2009-03-11 Robert Millan <rmh@aybabtu.com>
25831
25832 * loader/i386/multiboot_elfxx.c
25833 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
25834
25835 2009-03-11 Felix Zielcke <fzielcke@z-51.de>
25836
25837 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
25838 `kern/handler.c'.
25839
25840 2009-03-11 Robert Millan <rmh@aybabtu.com>
25841
25842 * loader/i386/multiboot.c (code_size): New variable.
25843 (grub_multiboot): Define offsets by adding to `code_size' rather
25844 than subtracting from `grub_multiboot_payload_size'. Provide
25845 4-byte alignment to MBI and others by increasing
25846 `boot_loader_name_length' appropriately.
25847
25848 * loader/i386/multiboot_elfxx.c
25849 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
25850
25851 2009-03-09 Felix Zielcke <fzielcke@z-51.de>
25852
25853 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
25854 `fs/ext2.c'.
25855
25856 2009-03-08 Robert Millan <rmh@aybabtu.com>
25857
25858 Make loader/i386/linux.c usable on i386-pc again.
25859
25860 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
25861 memory to heap.
25862 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
25863 `#error' stanza.
25864
25865 2009-03-07 Bean <bean123ch@gmail.com>
25866
25867 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
25868 allocation.
25869
25870 2009-03-06 Robert Millan <rmh@aybabtu.com>
25871
25872 Fix display issue on terminals with screen size other than 80x25
25873 (e.g. gfxterm with resolution higher than 640x480).
25874
25875 * normal/main.c (grub_normal_init_page): Display title text in a
25876 position relative to the center of the terminal instead of relying
25877 on a hardcoded offset.
25878
25879 2009-03-04 Robert Millan <rmh@aybabtu.com>
25880
25881 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
25882 installed.
25883
25884 * Makefile.in (host_kernel): New variable.
25885 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
25886 scripts instead of just the windows one.
25887 * configure.ac: Initialize and AC_SUBST `host_kernel'.
25888
25889 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
25890
25891 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
25892 `kern/handler.c'.
25893 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
25894 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
25895 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
25896 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25897 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25898 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25899
25900 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
25901
25902 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
25903 or if there's no space for the disk label and print the partition number on a
25904 invalid magic.
25905
25906 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
25907
25908 * util/misc.c: Include <time.h>.
25909 (grub_millisleep): New function.
25910
25911 2009-03-04 Bean <bean123ch@gmail.com>
25912
25913 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
25914 another option -mno-red-zone.
25915
25916 * commands/handler.c: Change module description.
25917
25918 * kern/handler.c: Add missing space at the end of description line.
25919
25920 * kern/list.c: Likewise.
25921
25922 2009-03-03 Robert Millan <rmh@aybabtu.com>
25923
25924 Move more components to the relocation area, and fix mbi pointer
25925 handling to use the destination rather than the origin (thanks to
25926 Vladimir Serbinenko for spotting).
25927
25928 * loader/i386/multiboot.c (mbi_dest): New variable.
25929 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
25930 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
25931 relocation area.
25932
25933 2009-03-01 Bean <bean123ch@gmail.com>
25934
25935 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
25936 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
25937 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
25938 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
25939
25940 * loader/i386/efi/linux.c (acpi_guid): New variable.
25941 (acpi_guid): Likewise.
25942 (EBDA_SEG_ADDR): New constant.
25943 (LOW_MEM_ADDR): Likewise.
25944 (FAKE_EBDA_SEG): Likewise.
25945 (fake_bios_data): New function.
25946 (grub_linux_boot): Call fake_bios_data.
25947
25948 2009-03-01 Bean <bean123ch@gmail.com>
25949
25950 * commands/terminal.c: Removed.
25951
25952 * commands/handler.c: New file.
25953
25954 * include/grub/list.h: Likewise.
25955
25956 * include/grub/handler.h: Likewise.
25957
25958 * kern/list.c: Likewise.
25959
25960 * kern/handler.c: Likewise.
25961
25962 * kern/term.h: Include header file <grub/handler.h>.
25963 (grub_term_input): Move next field to the beginning.
25964 (grub_term_output): Likewise.
25965 (grub_term_input_class): New variable.
25966 (grub_term_output_class): Likewise.
25967 (grub_term_register_input): Changed to inline function.
25968 (grub_term_register_output): Likewise.
25969 (grub_term_unregister_input): Likewise.
25970 (grub_term_unregister_output): Likewise.
25971 (grub_term_set_current_input): Likewise.
25972 (grub_term_set_current_output): Likewise.
25973 (grub_term_get_current_input): Likewise.
25974 (grub_term_get_current_output): Likewise.
25975 (grub_term_iterate_input): Removed.
25976 (grub_term_iterate_output): Likewise.
25977
25978 * kern/term.c (grub_term_list_input): Removed.
25979 (grub_term_list_output): Likewise.
25980 (grub_term_input_class): New variable.
25981 (grub_term_output_class): Likewise.
25982 (grub_cur_term_input): Change variable as macro.
25983 (grub_cur_term_output): Likewise.
25984 (grub_term_register_input): Removed.
25985 (grub_term_register_output): Likewise.
25986 (grub_term_unregister_input): Likewise.
25987 (grub_term_unregister_output): Likewise.
25988 (grub_term_set_current_input): Likewise.
25989 (grub_term_set_current_output): Likewise.
25990 (grub_term_iterate_input): Likewise.
25991 (grub_term_iterate_output): Likewise.
25992 (grub_term_get_current_input): Likewise.
25993 (grub_term_get_current_output): Likewise.
25994
25995 * util/grub-editenv.c: Include header file <grub/handler.h>.
25996 (grub_term_get_current_input): Removed.
25997 (grub_term_get_current_output): Likewise.
25998 (grub_term_input_class): New variable.
25999 (grub_term_output_class): Likewise.
26000
26001 * util/grub-fstest.c (grub_term_get_current_input): Removed.
26002 (grub_term_get_current_output): Likewise.
26003 (grub_term_input_class): New variable.
26004 (grub_term_output_class): Likewise.
26005
26006 * util/grub-probe.c (grub_term_get_current_input): Removed.
26007 (grub_term_get_current_output): Likewise.
26008 (grub_term_input_class): New variable.
26009 (grub_term_output_class): Likewise.
26010
26011 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
26012 (grub_term_get_current_output): Likewise.
26013 (grub_term_input_class): New variable.
26014 (grub_term_output_class): Likewise.
26015
26016 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
26017 (terminal_mod_SOURCES): Likewise.
26018 (terminal_mod_CFLAGS): Likewise.
26019 (terminal_mod_LDFLAGS): Likewise.
26020
26021 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
26022 handler.c.
26023 (kernel_img_SOURCES): Add list.c and handler.c.
26024 (kernel_img_HEADERS): Add list.h and handler.h.
26025
26026 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
26027 handler.c.
26028 (kernel_mod_SOURCES): Add list.c and handler.c.
26029 (kernel_mod_HEADERS): Add list.h and handler.h.
26030
26031 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
26032 handler.c.
26033 (kernel_elf_SOURCES): Add list.c and handler.c.
26034 (kernel_elf_HEADERS): Add list.h and handler.h.
26035
26036 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
26037 handler.c.
26038 (kernel_elf_SOURCES): Add list.c and handler.c.
26039 (kernel_elf_HEADERS): Add list.h and handler.h.
26040
26041 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
26042 handler.c.
26043 (kernel_mod_SOURCES): Add list.c and handler.c.
26044 (kernel_mod_HEADERS): Add list.h and handler.h.
26045
26046 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
26047 handler.c.
26048 (kernel_elf_SOURCES): Add list.c and handler.c.
26049 (kernel_elf_HEADERS): Add list.h and handler.h.
26050
26051 2009-02-27 Robert Millan <rmh@aybabtu.com>
26052
26053 Factorize elf32 / elf64 code in Multiboot loader. This will
26054 prevent it from getting out of sync again.
26055
26056 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
26057 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
26058 grub_multiboot_load_elf64): Move from here ...
26059 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
26060 grub_multiboot_load_elf): ... to here (new file).
26061
26062 2009-02-27 Robert Millan <rmh@aybabtu.com>
26063
26064 * util/grub.d/10_linux.in: Rename "single-user mode" to
26065 "recovery mode".
26066
26067 2009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
26068
26069 Don't leak in SCSI code.
26070 * disk/scsi.c (grub_scsi_close): free `scsi'.
26071
26072 2009-02-27 Robert Millan <rmh@aybabtu.com>
26073
26074 * loader/i386/pc/multiboot.c: Move from here ...
26075 * loader/i386/multiboot.c: ... to here. Update all users.
26076
26077 2009-02-27 Robert Millan <rmh@aybabtu.com>
26078
26079 Patch from Alexandre Bique <bique.alexandre@gmail.com>
26080 * util/i386/pc/grub-setup.c (setup): Fix directory path.
26081
26082 2009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
26083
26084 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
26085 b-tree.
26086
26087 2009-02-27 Robert Millan <rmh@aybabtu.com>
26088
26089 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
26090 `0x' qualifier as 0 when base is specified as parameter).
26091
26092 2009-02-24 Bean <bean123ch@gmail.com>
26093
26094 * configure.ac: Check for -mcmodel=large in x86_64 target.
26095
26096 * include/grub/efi/api.h (efi_call_10): New macro.
26097 (efi_wrap_10): New function.
26098
26099 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
26100 (GRUB_PE32_REL_BASED_HIGH): Likewise.
26101 (GRUB_PE32_REL_BASED_LOW): Likewise.
26102 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
26103 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
26104 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
26105 (GRUB_PE32_REL_BASED_SECTION): Likewise.
26106 (GRUB_PE32_REL_BASED_REL): Likewise.
26107 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
26108 (GRUB_PE32_REL_BASED_DIR64): Likewise.
26109 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
26110
26111 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
26112 issue.
26113
26114 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
26115 (efi_wrap_10): New function.
26116
26117 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
26118
26119 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
26120 MB/MBP model (NV chipset).
26121 (devdata_devs): Add devpath_5 to the list.
26122
26123 * load/i386/efi/linux.c (video_base): Remove variable.
26124 (RGB_MASK): New macro.
26125 (RGB_MAGIC): Likewise.
26126 (LINE_MIN): Likewise.
26127 (LINE_MAX): Likewise.
26128 (FBTEST_STEP): Likewise.
26129 (FBTEST_COUNT): Likewise.
26130 (fb_list): New variable.
26131 (grub_find_video_card): Remove function.
26132 (find_framebuf): New function.
26133 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
26134 line length.
26135
26136 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
26137 problem for x86_64.
26138
26139 2009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
26140
26141 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
26142
26143 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
26144 coding tool name.
26145
26146 2009-02-22 Robert Millan <rmh@aybabtu.com>
26147
26148 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
26149 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
26150 in our relocation, instead of using it directly from heap. Also
26151 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
26152
26153 2009-02-21 Robert Millan <rmh@aybabtu.com>
26154
26155 Implement USB keyboard support (based on patch by Marco Gerards)
26156
26157 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
26158 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
26159 (usb_keyboard_mod_LDFLAGS): New variables.
26160
26161 * term/usb_keyboard.c: New file.
26162
26163 2009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
26164
26165 Corrected wrong declaration
26166
26167 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
26168
26169 2009-02-14 Christian Franke <franke@computer.org>
26170
26171 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
26172 (grub_lspci_iter): Print class code and programming interface byte.
26173
26174 2009-02-14 Christian Franke <franke@computer.org>
26175
26176 * gendistlist.sh: Ignore `.svn' directories.
26177
26178 2009-02-14 Felix Zielcke <fzielcke@z-51.de>
26179
26180 * fs/fat.c: Add 2009 to Copyright line.
26181
26182 2009-02-14 Christian Franke <franke@computer.org>
26183
26184 * commands/hdparm.c: New file. Provides `hdparm' command
26185 which sends ATA commands via grub_disk_ata_pass_through ().
26186
26187 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
26188
26189 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
26190 and <grub/cpu/io.h> to include/grub/ata.h.
26191 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
26192 (GRUB_CDROM_SECTOR_SIZE): Remove.
26193 (GRUB_ATA_*): Move to include/grub/ata.h.
26194 (GRUB_ATAPI_*): Likewise.
26195 (enum grub_ata_commands): Likewise.
26196 (enum grub_ata_timeout_milliseconds): Likewise.
26197 (struct grub_ata_device): Likewise.
26198 (grub_ata_regset): Likewise.
26199 (grub_ata_regget): Likewise.
26200 (grub_ata_regset2): Likewise.
26201 (grub_ata_regget2): Likewise.
26202 (grub_ata_check_ready): Likewise.
26203 (grub_ata_wait_not_busy): Remove static, exported in
26204 include/grub/ata.h.
26205 (grub_ata_wait_drq): Likewise.
26206 (grub_ata_pio_read): Likewise.
26207
26208 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
26209 function for hdparm.mod.
26210
26211 * include/grub/ata.h: New file, contains declarations from
26212 disk/ata.c.
26213 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
26214
26215 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
26216 (grub_disk_ata_pass_through): New exported variable.
26217
26218 * kern/disk.c (grub_disk_ata_pass_through): New variable.
26219
26220 2009-02-13 Colin D Bennett <colin@gibibit.com>
26221
26222 Support multiple fallback entries, and provide an API to support
26223 executing default+fallback menu entries. Renamed the `terminal' menu
26224 viewer to `text'.
26225
26226 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
26227 variable declaration.
26228 (grub_menu_execute_callback): New structure declaration.
26229 (grub_menu_execute_callback_t): New typedef.
26230 (grub_menu_execute_with_fallback): New function declaration.
26231 (grub_menu_get_entry): Likewise.
26232 (grub_menu_get_timeout): Likewise.
26233 (grub_menu_set_timeout): Likewise.
26234
26235 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
26236
26237 * normal/menu.c (grub_wait_after_message): Moved to
26238 `normal/menu_text.c'.
26239 (draw_border): Likewise.
26240 (print_message): Likewise.
26241 (print_entry): Likewise.
26242 (print_entries): Likewise.
26243 (grub_menu_init_page): Likewise.
26244 (get_entry_number): Likewise.
26245 (print_timeout): Likewise.
26246 (run_menu): Likewise.
26247 (grub_menu_execute_entry): Likewise.
26248 (show_text_menu): Likewise.
26249 (get_and_remove_first_entry_number): New function.
26250 (grub_menu_execute_with_fallback): Likewise.
26251 (get_entry): Renamed to ...
26252 (grub_menu_get_entry): .. this and made it global.
26253 (get_timeout): Renamed to ...
26254 (grub_menu_get_timeout): ... this and made it global.
26255 (set_timeout): Renamed to ...
26256 (grub_menu_set_timeout): ... this and made it global.
26257 (grub_normal_terminal_menu_viewer): Renamed to ...
26258 (grub_normal_text_menu_viewer): ... this.
26259
26260 * normal/menu_text.c: New file. Extracted text-menu-specific code
26261 from normal/menu.c.
26262
26263 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
26264 (normal_mod_SOURCES): Likewise.
26265
26266 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
26267 (normal_mod_SOURCES): Likewise.
26268
26269 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26270 (normal_mod_SOURCES): Likewise.
26271
26272 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
26273 (normal_mod_SOURCES): Likewise.
26274
26275 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26276 (normal_mod_SOURCES): Likewise.
26277
26278 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26279 (normal_mod_SOURCES): Likewise.
26280
26281 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
26282 (normal_mod_SOURCES): Likewise.
26283
26284 2009-02-11 Robert Millan <rmh@aybabtu.com>
26285
26286 * util/grub.d/00_header.in: Update old reference to `font' command.
26287
26288 2009-02-10 Felix Zielcke <fzielcke@z-51.de>
26289
26290 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
26291
26292 Based on patch from Javier Martín.
26293
26294 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
26295
26296 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
26297 to avoid false positives with FAT.
26298 (grub_fstest_SOURCES): Likewise.
26299 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
26300 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
26301 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26302 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
26303 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26304 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26305
26306 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
26307
26308 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
26309 bpb.version_specific.fat12_or_fat16.fstype and
26310 bpb.version_specific.fat32.fstype.
26311
26312 2009-02-08 Robert Millan <rmh@aybabtu.com>
26313
26314 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
26315
26316 2009-02-08 Robert Millan <rmh@aybabtu.com>
26317
26318 * Makefile.in (host_os, host_cpu): New variables.
26319 (target_os): Remove. Update all users.
26320
26321 2009-02-08 Marco Gerards <marco@gnu.org>
26322
26323 * Makefile.in (enable_grub_emu_usb): New variable.
26324 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
26325 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
26326 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
26327 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
26328 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
26329 `usbtest.mod' and `usbms.mod'.
26330 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
26331 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
26332 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
26333 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
26334 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
26335 variables.
26336
26337 * disk/usbms.c: New file.
26338
26339 * include/grub/usb.h: Likewise.
26340
26341 * include/grub/usbtrans.h: Likewise.
26342
26343 * include/grub/usbdesc.h: Likewise.
26344
26345 * bus/usb/usbtrans.c: Likewise.
26346
26347 * bus/usb/ohci.c: Likewise.
26348
26349 * bus/usb/uhci.c: Likewise.
26350
26351 * bus/usb/usbhub.c: Likewise.
26352
26353 * bus/usb/usb.c: Likewise.
26354
26355 * commands/usbtest.c: Likewise.
26356
26357 * util/usb.c: Likewise.
26358
26359 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
26360
26361 * configure.ac: Test for libusb presence.
26362
26363 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
26364
26365 2009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
26366
26367 * kern/mm.c: Add more comments.
26368
26369 2009-02-08 Robert Millan <rmh@aybabtu.com>
26370
26371 Patch from Javier Martín.
26372 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
26373 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
26374
26375 2009-02-08 Robert Millan <rmh@aybabtu.com>
26376
26377 * fs/cpio.c: Split tar functionality to ...
26378 * fs/tar.c: ... here (new file). Update all users.
26379
26380 2009-02-07 Robert Millan <rmh@aybabtu.com>
26381
26382 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
26383 backward-incompatible features.
26384
26385 Based on patch from Javier Martín, with some adjustments.
26386
26387 2009-02-07 Michael Scherer <misc@mandriva.org>
26388
26389 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
26390
26391 2009-02-07 Robert Millan <rmh@aybabtu.com>
26392
26393 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
26394 position of `disk/lvm.c' to ensure grub_init_all() always picks it
26395 after the RAID stuff.
26396
26397 2009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
26398
26399 Fixes problem when running vbetest command as reported by
26400 Vladimir Serbinenko <phcoder@gmail.com>.
26401
26402 * (grub_vbe_set_video_mode): Fixed problem with text modes.
26403
26404 2009-02-04 Felix Zielcke <fzielcke@z-51.de>
26405
26406 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
26407 /dev/md/NpN style mdraid devices.
26408
26409 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
26410
26411 * util/unifont2pff.rb: Remove.
26412
26413 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
26414
26415 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
26416 `#'.
26417
26418 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
26419
26420 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
26421 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
26422 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
26423 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
26424 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26425 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26426 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26427
26428 2009-02-02 Christian Franke <franke@computer.org>
26429
26430 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
26431
26432 2009-02-01 Felix Zielcke <fzielcke@z-51.de>
26433
26434 * INSTALL: Note that we now require at least autoconf 2.59 and
26435 that LZO is optional.
26436
26437 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
26438
26439 Base on patch on bug #24154 created by Tomas Tintera
26440 <trosos@seznam.cz>.
26441
26442 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
26443
26444 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
26445
26446 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
26447 <bero@arklinux.org>.
26448
26449 * normal/parser.y (script_init): Add missing semicolon.
26450
26451 2009-01-31 Colin D Bennett <colin@gibibit.com>
26452
26453 * normal/main.c: Add include to grub/menu_viewer.h.
26454 (free_menu_entry_classes): Added.
26455 (grub_normal_menu_addentry): Added class property handling.
26456 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
26457 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
26458
26459 * normal/menu_viewer.c: New file.
26460
26461 * normal/menu.c (run_menu_entry): Renamed to ...
26462 (grub_menu_execute_entry): ... this and made it as global.
26463 (grub_menu_run): Renamed to ...
26464 (show_text_menu): ... this and made it local.
26465 (show_text_menu): Adapt to new function names.
26466 (grub_normal_terminal_menu_viewer): New global variable.
26467
26468 * include/grub/menu.h: New file.
26469
26470 * include/grub/menu_viewer.h: New file.
26471
26472 * include/grub/normal.h: Added include to grub/menu.h.
26473 (grub_menu_entry): Moved to include/grub/menu.h.
26474 (grub_menu_entry_t): Likewise.
26475 (grub_menu): Likewise.
26476 (grub_menu_t): Likewise.
26477 (grub_normal_terminal_menu_viewer): Added.
26478 (grub_menu_execute_entry): Likewise.
26479 (grub_menu_run): Removed.
26480
26481 * DISTLIST: Added include/grub/menu.h.
26482 Added include/grub/menu_viewer.h.
26483 Added normal/menu_viewer.c.
26484
26485 2009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
26486
26487 * normal/execute.c (grub_script_execute_menuentry): Changed to use
26488 arglist for menutitle arguments.
26489
26490 * normal/main.c (grub_normal_menu_addentry): Likewise.
26491
26492 * normal/parser.y (menuentry): Likewise.
26493
26494 * normal/script.c (grub_script_create_cmdmenu): Likewise.
26495
26496 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
26497 (grub_script_create_cmdmenu): Likewise.
26498
26499 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
26500
26501 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
26502 changes.
26503
26504 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
26505
26506 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
26507
26508 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
26509
26510 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
26511
26512 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
26513
26514 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
26515
26516 2009-01-30 Christian Franke <franke@computer.org>
26517
26518 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
26519 in option help text.
26520
26521 2009-01-27 Pavel Roskin <proski@gnu.org>
26522
26523 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
26524
26525 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
26526
26527 * commands/lsmmap.c: Add include to grub/machine/memory.h.
26528
26529 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
26530
26531 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
26532 unregister function.
26533
26534 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
26535
26536 * disk/scsi.c (grub_scsi_read): Fix sign problem.
26537
26538 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
26539
26540 * util/grub-mkfont.c (usage): Fix typo.
26541
26542 * util/elf/grub-mkimage.c (load_modules): Fix warning.
26543
26544 2009-01-26 Daniel Mierswa <impulze@impulze.org>
26545
26546 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
26547
26548 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
26549
26550 * kern/misc.c (grub_strcasecmp): New function.
26551 (grub_strcasecmp): Use grub_size_t instead of int for length.
26552 Fix return value.
26553 * include/grub/misc.h: Update function prototypes.
26554
26555 2009-01-26 Robert Millan <rmh@aybabtu.com>
26556
26557 * configure.ac: Fix cross-compilation check.
26558
26559 2009-01-22 Christian Franke <franke@computer.org>
26560
26561 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
26562 (precision) digit string. Allow `.format2' without `format1' (width).
26563 Limit input chars for `%s' output to `format2' if specified. This is
26564 compatible with standard printf ().
26565
26566 2009-01-22 Christian Franke <franke@computer.org>
26567
26568 * disk/ata.c (grub_ata_wait_status): Replace by ...
26569 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
26570 other status bits may be invalid while BSY is asserted.
26571 (grub_ata_check_ready): New function.
26572 (grub_ata_cmd): Removed.
26573 (grub_ata_wait_drq): New function.
26574 (grub_ata_strncpy): Remove inline.
26575 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
26576 and error check now done by grub_ata_wait_drq ().
26577 (grub_ata_pio_write): Likewise.
26578 (grub_atapi_identify): Set DEV before check for !BSY. Use
26579 grub_ata_wait_drq () to wait for data.
26580 (grub_ata_device_initialize): Add status register check to
26581 detect missing SATA slave devices. Add debug messages.
26582 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
26583 (grub_atapi_packet): Set DEV before check for !BSY. Replace
26584 transfer loop by grub_ata_pio_write ().
26585 (grub_ata_identify): Set DEV before check for !BSY. Use
26586 grub_ata_wait_drq () to wait for data.
26587 (grub_ata_setaddress): Set DEV before check for !BSY.
26588 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
26589 read/write in one loop. Fix invalid command on write. Fix incomplete
26590 command on (size % batch) == 0. Add missing error check after write of
26591 last block. Add debug messages.
26592 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
26593
26594 2009-01-19 Christian Franke <franke@computer.org>
26595
26596 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
26597 (GRUB_ATAPI_IREASON_*): Likewise.
26598 (grub_ata_pio_write): Fix timeout error return.
26599 (grub_atapi_identify): Add grub_ata_wait () after cmd.
26600 (grub_atapi_wait_drq): New function.
26601 (grub_atapi_packet): New parameter `size'.
26602 Use grub_atapi_wait_drq () and direct write instead of
26603 grub_ata_pio_write ().
26604 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
26605 reads the number of bytes requested by the device for each DRQ
26606 assertion.
26607 (grub_atapi_write): Remove old implementation, return not
26608 implemented instead.
26609
26610 2009-01-19 Christian Franke <franke@computer.org>
26611
26612 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
26613 of 512 to calculate data size.
26614 (grub_scsi_read12): Likewise.
26615 (grub_scsi_write10): Likewise.
26616 (grub_scsi_write12): Likewise.
26617 (grub_scsi_read): Adjust size according to blocksize.
26618 Add checks for invalid blocksize and unaligned transfer.
26619
26620 2009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
26621
26622 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
26623
26624 * term/gfxterm.c (write_char): Fix background rendering for wide
26625 width glyphs.
26626
26627 2009-01-19 Robert Millan <rmh@aybabtu.com>
26628
26629 * config.guess: Update to latest version from config git.
26630 * config.sub: Likewise.
26631
26632 2009-01-17 Felix Zielcke <fzielcke@z-51.de>
26633
26634 * Makefile.in: Change font compilation to use new grub-mkfont instead
26635 of java version.
26636
26637 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
26638 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
26639 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
26640 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
26641 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
26642 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
26643 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
26644 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
26645 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
26646
26647 2009-01-16 Christian Franke <franke@computer.org>
26648
26649 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
26650 (enum grub_ata_timeout_milliseconds): New enum.
26651 (grub_ata_wait_status): Add parameter milliseconds.
26652 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
26653 recovery from timed-out commands.
26654 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
26655 return grub_errno instead of REG_ERROR.
26656 (grub_ata_pio_write): Add parameter milliseconds.
26657 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
26658 Pass milliseconds to grub_ata_wait_status () and
26659 grub_ata_pio_read ().
26660 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
26661 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
26662 grub_ata_wait_status (). Fix IDENTIFY timeout check.
26663 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
26664 It is not suitable for device detection, because DEV bit is ignored,
26665 the command may run too long, and not all devices set the signature
26666 properly.
26667 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
26668 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
26669 Fix device selection, DEV bit must be set first to address the registers
26670 of the correct device.
26671 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
26672 grub_ata_pio_read/write ().
26673 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
26674 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
26675
26676 2009-01-13 Carles Pina i Estany <carles@pina.cat>
26677
26678 * util/grub-editenv.c (main): Use fseeko(), not fseek().
26679
26680 2009-01-13 Bean <bean123ch@gmail.com>
26681
26682 * util/grub-mkfont.c (write_font): forget to remove some debug code.
26683
26684 2009-01-13 Bean <bean123ch@gmail.com>
26685
26686 * Makefile.in: (enable_grub_mkfont): New variable.
26687 (freetype_cflags): Likewise.
26688 (freetype_libs): Likewise.
26689
26690 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
26691 (grub_mkfont_SOURCES): New variable.
26692 (grub_mkfont_CFLAGS): Likewise.
26693 (grub_mkfont_LDFLAGS): Likewise.
26694
26695 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
26696 library if `--enable-grub-mkfont' is requested.
26697 (enable_grub_mkfont): New variable.
26698 (freetype_cflags): Likewise.
26699 (freetype_libs): Likewise.
26700
26701 * util/grub-mkfont.c: New file.
26702
26703 2009-01-12 Christian Franke <franke@computer.org>
26704
26705 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
26706 mode check. Fix setting of compat_use[].
26707
26708 2009-01-10 Robert Millan <rmh@aybabtu.com>
26709
26710 Update a few copyright years which we forgot to do in 2008 (only for
26711 files whose changes made in 2008 were copyright-significant)
26712
26713 * Makefile.in: Add 2008 to Copyright line.
26714 * disk/ieee1275/ofdisk.c: Likewise.
26715 * disk/efi/efidisk.c: Likewise.
26716 * kern/dl.c: Likewise.
26717 * kern/sparc64/ieee1275/init.c: Likewise.
26718 * kern/mm.c: Likewise.
26719 * kern/efi/mm.c: Likewise.
26720 * boot/i386/pc/boot.S: Likewise.
26721 * genfslist.sh: Likewise.
26722 * fs/iso9660.c: Likewise.
26723 * fs/hfs.c: Likewise.
26724 * fs/jfs.c: Likewise.
26725 * fs/minix.c: Likewise.
26726 * fs/ufs.c: Likewise.
26727 * gensymlist.sh.in: Likewise.
26728 * genkernsyms.sh.in: Likewise.
26729 * include/grub/misc.h: Likewise.
26730 * include/grub/types.h: Likewise.
26731 * include/grub/symbol.h: Likewise.
26732 * include/grub/elf.h: Likewise.
26733 * include/grub/kernel.h: Likewise.
26734 * include/grub/disk.h: Likewise.
26735 * include/grub/dl.h: Likewise.
26736 * include/grub/i386/linux.h: Likewise.
26737 * include/grub/i386/pc/biosdisk.h: Likewise.
26738 * include/grub/efi/api.h: Likewise.
26739 * include/grub/efi/pe32.h: Likewise.
26740 * include/grub/util/misc.h: Likewise.
26741 * normal/execute.c: Likewise.
26742 * normal/arg.c: Likewise.
26743 * normal/completion.c: Likewise.
26744 * normal/lexer.c: Likewise.
26745 * normal/parser.y: Likewise.
26746 * normal/misc.c: Likewise.
26747 * commands/i386/pc/vbeinfo.c: Likewise.
26748 * commands/hexdump.c: Likewise.
26749 * commands/terminal.c: Likewise.
26750 * commands/ls.c: Likewise.
26751 * commands/help.c: Likewise.
26752 * partmap/pc.c: Likewise.
26753 * loader/efi/chainloader.c: Likewise.
26754 * loader/multiboot_loader.c: Likewise.
26755 * loader/i386/pc/multiboot2.c: Likewise.
26756 * term/efi/console.c: Likewise.
26757 * term/i386/pc/serial.c: Likewise.
26758 * util/lvm.c: Likewise.
26759 * util/console.c: Likewise.
26760 * util/i386/efi/grub-mkimage.c: Likewise.
26761 * util/raid.c: Likewise.
26762
26763 2009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
26764
26765 * commands/videotest.c: Removed include to grub/machine/memory.h.
26766
26767 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
26768 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
26769 (video_mod_SOURCES): Removed.
26770 (video_mod_CFLAGS): Likewise.
26771 (video_mod_LDFLAGS): Likewise.
26772 (gfxterm_mod_SOURCES): Likewise.
26773 (gfxterm_mod_CFLAGS): Likewise.
26774 (gfxterm_mod_LDFLAGS): Likewise.
26775 (videotest_mod_SOURCES): Likewise.
26776 (videotest_mod_CFLAGS): Likewise.
26777 (videotest_mod_LDFLAGS): Likewise.
26778 (bitmap_mod_SOURCES): Likewise.
26779 (bitmap_mod_CFLAGS): Likewise.
26780 (bitmap_mod_LDFLAGS): Likewise.
26781 (tga_mod_SOURCES): Likewise.
26782 (tga_mod_CFLAGS): Likewise.
26783 (tga_mod_LDFLAGS): Likewise.
26784 (jpeg_mod_SOURCES): Likewise.
26785 (jpeg_mod_CFLAGS): Likewise.
26786 (jpeg_mod_LDFLAGS): Likewise.
26787 (png_mod_SOURCES): Likewise.
26788 (png_mod_CFLAGS): Likewise.
26789 (png_mod_LDFLAGS): Likewise.
26790
26791 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
26792 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
26793 (video_mod_SOURCES): Added.
26794 (video_mod_CFLAGS): Likewise.
26795 (video_mod_LDFLAGS): Likewise.
26796 (videotest_mod_SOURCES): Likewise.
26797 (videotest_mod_CFLAGS): Likewise.
26798 (videotest_mod_LDFLAGS): Likewise.
26799 (bitmap_mod_SOURCES): Likewise.
26800 (bitmap_mod_CFLAGS): Likewise.
26801 (bitmap_mod_LDFLAGS): Likewise.
26802 (tga_mod_SOURCES): Likewise.
26803 (tga_mod_CFLAGS): Likewise.
26804 (tga_mod_LDFLAGS): Likewise.
26805 (jpeg_mod_SOURCES): Likewise.
26806 (jpeg_mod_CFLAGS): Likewise.
26807 (jpeg_mod_LDFLAGS): Likewise.
26808 (png_mod_SOURCES): Likewise.
26809 (png_mod_CFLAGS): Likewise.
26810 (png_mod_LDFLAGS): Likewise.
26811 (gfxterm_mod_SOURCES): Likewise.
26812 (gfxterm_mod_CFLAGS): Likewise.
26813 (gfxterm_mod_LDFLAGS): Likewise.
26814
26815 * term/gfxterm.c: Removed include to grub/machine/memory.h,
26816 grub/machine/console.h.
26817
26818 2009-01-04 Jerone Young <jerone@gmail.com>
26819
26820 Make on screen instructions clearer
26821
26822 Based on patch created by Jidanni <jidanni@jidanni.org>
26823
26824 * normal/menu.c: print clearer instructions on the screen
26825
26826 2009-01-02 Colin D Bennett <colin@gibibit.com>
26827
26828 New font engine.
26829
26830 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
26831 build system and fixed gfxterm.c to work with different sized fonts.
26832
26833 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
26834
26835 * configure: Re-generated.
26836
26837 * DISTLIST: Removed font/manager.c.
26838 Added font/font.c.
26839 Added font/font_cmd.c.
26840
26841 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
26842 compilation.
26843
26844 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
26845
26846 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
26847
26848 * kern/term.c: Changed users of grub_utf8_to_ucs4.
26849
26850 * normal/menu.c: Likewise.
26851
26852 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
26853 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
26854
26855 * include/grub/font.h: Replaced with new file.
26856
26857 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
26858 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
26859 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
26860 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
26861 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
26862 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
26863 fg_red, fg_green, fg_blue, fg_alpha.
26864 (grub_video_adapter): Removed blit_glyph.
26865 (grub_video_blit_glyph): Removed.
26866
26867 * font/manager.c: Removed file.
26868
26869 * font/font.c: New file.
26870
26871 * font/font_cmd.c: Likewise.
26872
26873 * video/video.c (grub_video_blit_glyph): Removed.
26874
26875 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
26876 (grub_video_vbe_map_rgba): Likewise.
26877 (grub_video_vbe_unmap_color_int): Likewise.
26878 (grub_video_vbe_blit_glyph): Removed.
26879 (grub_video_vbe_adapter): Removed blit_glyph.
26880
26881 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
26882 (get_pixel): Likewise.
26883 (set_pixel): Likewise.
26884
26885 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
26886
26887 * term/gfxterm.c: Adapted to new font engine.
26888
26889 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
26890
26891 * term/i386/pc/vga.c: Likewise.
26892
26893 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
26894
26895 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
26896
26897 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
26898
26899 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
26900
26901 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
26902
26903 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
26904
26905 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
26906
26907 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
26908
26909 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
26910
26911 * util/grub.d/00_header.in: Changed to use new loadfont command.
26912
26913 * util/grub-mkconfig_lib.in: Changed font extension.
26914
26915 2008-12-28 Felix Zielcke <fzielcke@z-51.de>
26916
26917 * util/getroot.c (grub_util_get_grub_dev): Add support for
26918 /dev/md/dNNpNN style partitionable mdraid devices.
26919
26920 2008-12-12 Alex Smith <alex@alex-smith.me.uk>
26921
26922 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
26923 at a time limit of the PXE TFTP API correctly.
26924 (grub_pxefs_close): Likewise.
26925
26926 2008-11-29 Robert Millan <rmh@aybabtu.com>
26927
26928 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
26929 grub_ata_device_initialize() calls.
26930
26931 2008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
26932
26933 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
26934 iteration failed.
26935 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
26936
26937 2008-11-28 Robert Millan <rmh@aybabtu.com>
26938
26939 Fix build on powerpc-ieee1275. Based on patch created by
26940 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
26941 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
26942 `kern/ieee1275/mmap.c'.
26943 * include/grub/powerpc/ieee1275/memory.h: New file.
26944
26945 Provide grub-install on coreboot.
26946 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
26947 (grub_install_SOURCES): New variable.
26948 * util/i386/pc/grub-install.in: Add a few condition checks to make it
26949 usable on coreboot.
26950
26951 2008-11-25 Felix Zielcke <fzielcke@z-51.de>
26952
26953 * util/grub-fstest.c (grub_term_get_current_input): Change return type
26954 to `grub_term_input_t'.
26955 (grub_term_get_current_output): Change return type to
26956 `grub_term_output_t'.
26957
26958 2008-11-22 Robert Millan <rmh@aybabtu.com>
26959
26960 Fix breakage on coreboot due to declaration mismatch.
26961 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
26962 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
26963 grub_vga_text_cls().
26964
26965 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
26966 comments. Avoid copying one more byte than necessary (just in case).
26967
26968 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
26969 to 0x200000 (avoids trouble with some OFW implementations, and matches
26970 with the one in Yaboot).
26971 Reported by Manoel Abranches
26972
26973 2008-11-20 Robert Millan <rmh@aybabtu.com>
26974
26975 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
26976 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
26977
26978 * util/grub-mkconfig_lib.in (grub_warn): New function.
26979 (convert_system_path_to_grub_path): Use grub_warn() when issuing
26980 warnings, to obtain consistent formatting.
26981 * util/grub.d/00_header.in: Likewise.
26982 * util/update-grub_lib.in: Likewise.
26983
26984 * loader/i386/linux.c (allocate_pages): Fix a warning.
26985 Move comment text to `#error' stanza.
26986
26987 Harmonize ieee1275's grub_available_iterate() with the generic
26988 grub_machine_mmap_iterate() interface (fixes a recently-introduced
26989 build problem on i386-ieee1275):
26990 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
26991 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
26992 parameter `type'. Update all users of this function.
26993 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
26994 `kern/ieee1275/mmap.c'.
26995 * kern/ieee1275/init.c
26996 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
26997 with ...
26998 (grub_machine_mmap_iterate): ... this.
26999 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
27000 return type to `grub_err_t'. Update all implementations of this
27001 function prototype.
27002 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
27003 Likewise.
27004
27005 Add `lsmmap' command (lists firmware-provided memory map):
27006 * commands/lsmmap.c: New file.
27007 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
27008 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
27009 variables.
27010 * conf/powerpc-ieee1275.rmk: Likewise.
27011 * conf/i386-coreboot.rmk: Likewise.
27012 * conf/i386-ieee1275.rmk: Likewise.
27013
27014 2008-11-19 Robert Millan <rmh@aybabtu.com>
27015
27016 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
27017 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
27018 constraints to initrd allocation (based on code from
27019 loader/i386/pc/linux.c). Without them, initrd was allocated too high
27020 for Linux to find it.
27021
27022 2008-11-14 Robert Millan <rmh@aybabtu.com>
27023
27024 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
27025 order to cope with duplicate slashes.
27026
27027 2008-11-14 Robert Millan <rmh@aybabtu.com>
27028
27029 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
27030 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
27031 don't want to mess with lower memory, because it is used in the Linux
27032 loader.
27033
27034 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
27035 an appropriate place in lower memory, between 0x10000 and 0x90000,
27036 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
27037 is in our heap (probably as a result of it being corrupted during
27038 decompression). Add #error instance with comment to explain why this
27039 loader isn't currently usable on PC/BIOS.
27040
27041 2008-11-14 Robert Millan <rmh@aybabtu.com>
27042
27043 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
27044 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
27045
27046 2008-11-12 Robert Millan <rmh@aybabtu.com>
27047
27048 Make loader/i386/linux.c buildable on i386-pc (although disabled).
27049
27050 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
27051 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
27052 from here ...
27053 * include/grub/i386/pc/memory.h: ... to here.
27054
27055 2008-11-12 Robert Millan <rmh@aybabtu.com>
27056
27057 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
27058 split).
27059
27060 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
27061 (grub_console_cur_color, grub_console_real_putchar)
27062 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
27063 (grub_console_setcolorstate, grub_console_setcolor)
27064 (grub_console_getcolor): Move from here ...
27065 * include/grub/i386/vga_common.h: ... to here (new file).
27066
27067 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
27068 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
27069 `<grub/i386/io.h>'.
27070 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
27071 `<grub/i386/vga_common.h>'.
27072
27073 2008-11-12 Robert Millan <rmh@aybabtu.com>
27074
27075 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
27076 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
27077 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
27078 variables.
27079 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
27080 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
27081
27082 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
27083 grub_console_init() with call to grub_vga_text_init().
27084 (grub_machine_fini): Replace call to
27085 grub_console_fini() with call to grub_vga_text_fini() and
27086 grub_at_keyboard_fini().
27087
27088 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
27089 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
27090 (grub_console_setcolorstate, grub_console_setcolor)
27091 (grub_console_getcolor): New function prototypes.
27092
27093 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
27094 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
27095 (grub_vga_text_setcursor): Static-ize.
27096 (grub_vga_text_term): New structure.
27097 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
27098
27099 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
27100 (grub_console_cur_color, grub_console_standard_color)
27101 (grub_console_normal_color, grub_console_highlight_color)
27102 (map_char, grub_console_putchar, grub_console_getcharwidth)
27103 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
27104 (grub_console_getcolor): Move from here ...
27105 * term/i386/vga_common.c: ... to here (same function names).
27106
27107 2008-11-12 Robert Millan <rmh@aybabtu.com>
27108
27109 Use newly-added Multiboot support in coreboot.
27110
27111 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
27112 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
27113
27114 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
27115 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
27116 (codestart): Store the MBI in `startup_multiboot_info' when we're
27117 being loaded using Multiboot.
27118
27119 * kern/i386/coreboot/init.c (grub_machine_init): Move
27120 grub_at_keyboard_init() call to beginning of function (useful for
27121 debugging). Call grub_machine_mmap_init() before attempting to use
27122 grub_machine_mmap_iterate().
27123 (grub_lower_mem, grub_upper_mem): Move from here ...
27124 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
27125 here (new file).
27126
27127 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
27128 function prototype.
27129
27130 2008-11-12 Robert Millan <rmh@aybabtu.com>
27131
27132 Fix a regression introduced by the at_keyboard.mod split. Because
27133 some terminals are default on some platforms and non-default on
27134 others, the first terminal being registered determines which is
27135 going to be default.
27136
27137 * kern/term.c (grub_term_register_input): If this is the first
27138 terminal being registered, set it as the current one.
27139 (grub_term_register_output): Likewise.
27140
27141 * term/efi/console.c (grub_console_init): Do not call
27142 grub_term_set_current_output() or grub_term_set_current_input().
27143 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
27144 * term/i386/pc/console.c (grub_console_init): Likewise.
27145 (grub_console_fini): Do not call grub_term_set_current_input()
27146 (but leave grub_term_set_current_output() to restore text mode).
27147
27148 2008-11-10 Robert Millan <rmh@aybabtu.com>
27149
27150 * util/grub.d/00_header.in: Add backward compatibility check for
27151 versions of terminal.mod that don't understand `terminal_input' or
27152 `terminal_output'.
27153
27154 2008-11-09 Robert Millan <rmh@aybabtu.com>
27155
27156 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
27157 `terminal_input' / `terminal_output', not `terminal'.
27158
27159 2008-11-08 Robert Millan <rmh@aybabtu.com>
27160
27161 * Makefile.in (include_DATA): Fix srcdir=. assumption.
27162 (DISTCLEANFILES): Add `build_env.mk'.
27163
27164 2008-11-08 Robert Millan <rmh@aybabtu.com>
27165
27166 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
27167 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
27168 members. Update all users.
27169 * util/console.c (grub_ncurses_term): Split in ...
27170 (grub_ncurses_term_input): ... this, and ...
27171 (grub_ncurses_term_output): ... this. Update all users.
27172 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
27173
27174 2008-11-08 Robert Millan <rmh@aybabtu.com>
27175
27176 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
27177 (PKGDATA): Add $(pkgdata_SRCDIR).
27178 (pkglib_BUILDDIR): New variable.
27179 (pkgdata_SRCDIR): New variable.
27180 (build_env.mk): New target.
27181 (include_DATA): New variable.
27182 (install-local): Install $(include_DATA) files in $(includedir).
27183
27184 2008-11-07 Pavel Roskin <proski@gnu.org>
27185
27186 * gendistlist.sh: Use C locale for sorting to ensure consistent
27187 output on all systems.
27188
27189 * util/grub.d/00_header.in: Remove incorrect space before
27190 "serial".
27191
27192 2008-11-07 Robert Millan <rmh@aybabtu.com>
27193
27194 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
27195 per specification.
27196 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
27197 * loader/multiboot_loader.c (find_multi_boot2_header): New function
27198 (based on find_multi_boot1_header).
27199 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
27200 using find_multi_boot2_header(), and abort if neither Multiboot or
27201 Multiboot headers were found.
27202
27203 2008-11-07 Robert Millan <rmh@aybabtu.com>
27204
27205 Modularize at_keyboard.mod:
27206
27207 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
27208 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
27209 (at_keyboard_mod_LDFLAGS): New variables.
27210
27211 Actual terminal split:
27212
27213 * include/grub/term.h (struct grub_term): Split in ...
27214 (struct grub_term_input): ... this, and ...
27215 (struct grub_term_output): ... this. Update all users.
27216 (grub_term_set_current): Split in ...
27217 (grub_term_set_current_input): ... this, and ...
27218 (grub_term_set_current_output): ... this.
27219 (grub_term_get_current): Split in ...
27220 (grub_term_get_current_input): ... this, and ...
27221 (grub_term_get_current_output): ... this.
27222 (grub_term_register): Split in ...
27223 (grub_term_register_input): ... this, and ...
27224 (grub_term_register_output): ... this.
27225 (grub_term_unregister): Split in ...
27226 (grub_term_unregister_input): ... this, and ...
27227 (grub_term_unregister_output): ... this.
27228 (grub_term_iterate): Split in ...
27229 (grub_term_iterate_input): ... this, and ...
27230 (grub_term_iterate_output): ... this.
27231
27232 * kern/term.c (grub_term_list): Split in ...
27233 (grub_term_list_input): ... this, and ...
27234 (grub_term_list_output): ... this. Update all users.
27235 (grub_cur_term): Split in ...
27236 (grub_cur_term_input): ... this, and ...
27237 (grub_cur_term_output): ... this. Update all users.
27238 (grub_term_set_current): Split in ...
27239 (grub_term_set_current_input): ... this, and ...
27240 (grub_term_set_current_output): ... this.
27241 (grub_term_get_current): Split in ...
27242 (grub_term_get_current_input): ... this, and ...
27243 (grub_term_get_current_output): ... this.
27244 (grub_term_register): Split in ...
27245 (grub_term_register_input): ... this, and ...
27246 (grub_term_register_output): ... this.
27247 (grub_term_unregister): Split in ...
27248 (grub_term_unregister_input): ... this, and ...
27249 (grub_term_unregister_output): ... this.
27250 (grub_term_iterate): Split in ...
27251 (grub_term_iterate_input): ... this, and ...
27252 (grub_term_iterate_output): ... this.
27253
27254 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
27255 a check for input and one for output (and only attempt to get keys
27256 from user when input works).
27257
27258 * util/grub-probe.c (grub_term_get_current): Split in ...
27259 (grub_term_get_current_input): ... this, and ...
27260 (grub_term_get_current_output): ... this.
27261 * util/grub-fstest.c: Likewise.
27262 * util/i386/pc/grub-setup.c: Likewise.
27263 * util/grub-editenv.c: Likewise.
27264
27265 Portability adjustments:
27266
27267 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
27268 `term/i386/pc/at_keyboard.c'.
27269 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
27270 grub_keyboard_controller_init() (now handled by terminal .init).
27271 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
27272 grub_at_keyboard_init().
27273 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
27274 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
27275 at_keyboard.mod via input terminal interface).
27276 * include/grub/i386/coreboot/console.h: Convert into a stub for
27277 `<grub/i386/pc/console.h>'.
27278
27279 Migrate full terminals to new API:
27280
27281 * term/efi/console.c (grub_console_term): Split into ...
27282 (grub_console_term_input): ... this, and ...
27283 (grub_console_term_output): ... this. Update all users.
27284 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
27285 (grub_ofconsole_init): Split into ...
27286 (grub_ofconsole_init_input): ... this, and ...
27287 (grub_ofconsole_init_output): ... this.
27288 (grub_ofconsole_term): Split into ...
27289 (grub_ofconsole_term_input): ... this, and ...
27290 (grub_ofconsole_term_output): ... this. Update all users.
27291 * term/i386/pc/serial.c (grub_serial_term): Split into ...
27292 (grub_serial_term_input): ... this, and ...
27293 (grub_serial_term_output): ... this. Update all users.
27294 * term/i386/pc/console.c (grub_console_term): Split into ...
27295 (grub_console_term_input): ... this, and ...
27296 (grub_console_term_output): ... this. Update all users.
27297 (grub_console_term_input): Only enable it on PC/BIOS platform.
27298 (grub_console_init): Remove grub_keyboard_controller_init() call.
27299
27300 Migrate input terminals to new API:
27301
27302 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
27303 `i386' and `i386/pc' to enable build on x86_64 (this driver is
27304 i386-specific anyway).
27305 (grub_console_checkkey): Rename to ...
27306 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
27307 users.
27308 (grub_keyboard_controller_orig): New variable.
27309 (grub_console_getkey): Rename to ...
27310 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
27311 users.
27312 (grub_keyboard_controller_init): Static-ize. Save original
27313 controller value so that it can be restored ...
27314 (grub_keyboard_controller_fini): ... here (new function).
27315 (grub_at_keyboard_term): New structure.
27316 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
27317 functions.
27318
27319 Migrate output terminals to new API:
27320
27321 * term/i386/pc/vga.c (grub_vga_term): Change type to
27322 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
27323 members. Update all users.
27324 * term/gfxterm.c (grub_video_term): Change type to
27325 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
27326 members. Update all users.
27327 * include/grub/i386/pc/console.h (grub_console_checkkey)
27328 (grub_console_getkey): Do not export (no longer needed by gfxterm,
27329 etc).
27330
27331 Migrate `terminal' command and userland tools to new API:
27332
27333 * commands/terminal.c (grub_cmd_terminal): Split into ...
27334 (grub_cmd_terminal_input): ... this, and ...
27335 (grub_cmd_terminal_output): ... this.
27336 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
27337 `terminal_input' and `terminal_output'.
27338 * util/grub.d/00_header.in: Adjust `terminal' calls to new
27339 `terminal_input' / `terminal_output' API.
27340 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
27341 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
27342 provided ${GRUB_TERMINAL}, convert it).
27343
27344 2008-11-04 Robert Millan <rmh@aybabtu.com>
27345
27346 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
27347 for FreeBSD.
27348 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
27349
27350 2008-11-03 Bean <bean123ch@gmail.com>
27351
27352 * kern/elf.c (grub_elf32_load): Revert to previous code.
27353 (grub_elf64_load): Likewise.
27354
27355 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
27356
27357 2008-11-01 Robert Millan <rmh@aybabtu.com>
27358
27359 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
27360 (TARGET_CPPFLAGS): Likewise.
27361 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
27362
27363 2008-11-01 Carles Pina i Estany <carles@pina.cat>
27364
27365 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
27366
27367 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
27368
27369 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
27370 addition of objects until the code is not going to be able to fail.
27371
27372 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
27373
27374 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
27375 (add a missing NULL check, and correct them by moving the pointer
27376 operations after the actual check).
27377
27378 2008-10-29 Robert Millan <rmh@aybabtu.com>
27379
27380 * util/i386/pc/grub-install.in: Handle empty string as output from
27381 make_system_path_relative_to_its_root().
27382
27383 2008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
27384
27385 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
27386 circular metadata worst case scenario. If the metadata is circular
27387 then copy the wrap in place.
27388 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
27389 project lib/format_text/layout.h
27390 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
27391
27392 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
27393
27394 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
27395
27396 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
27397
27398 * util/update-grub_lib.in: Mention filename in warning message.
27399
27400 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
27401
27402 * NEWS: Update for rename of update-grub to grub-mkconfig.
27403
27404 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
27405
27406 * util/update-grub_lib.in: Copy to ...
27407 * util/grub-mkconfig_lib.in: ... this. Update all users.
27408 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
27409 * util/update-grub.in: Rename to ...
27410 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
27411 option. Add `--output' option to allow users to specify the generated
27412 configuration file. Default to stdout.
27413 (update_grub_dir): Rename to ...
27414 (grub_mkconfig_dir): ... this.
27415 (grub_cfg): Default to an empty string.
27416 * conf/common.rmk (update-grub): Rename to ...
27417 (grub-mkconfig): ... this.
27418 (update-grub_lib): Copy to ...
27419 (grub-mkconfig_lib): ... this.
27420 (update-grub_SCRIPTS): Copy to ...
27421 (grub-mkconfig_SCRIPTS): ... this. Update all users.
27422 (update-grub_DATA): Rename to ...
27423 (grub-mkconfig_DATA): ... this.
27424
27425 2008-09-28 Robert Millan <rmh@aybabtu.com>
27426
27427 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
27428 to `modified'. Add the real `created' field.
27429 (grub_iso9660_uuid): Use `modified' rather than `created' for
27430 constructing the UUID.
27431
27432 2008-09-28 Felix Zielcke <fzielcke@z-51.de>
27433
27434 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
27435 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
27436
27437 2008-09-28 Bean <bean123ch@gmail.com>
27438
27439 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
27440 Thanks to Christian Franke for finding this bug.
27441
27442 2008-09-25 Robert Millan <rmh@aybabtu.com>
27443
27444 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
27445 instances of grub_util_get_disk_name() (see previous commit).
27446
27447 2008-09-25 Robert Millan <rmh@aybabtu.com>
27448
27449 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
27450 `util/i386/get_disk_name.c'.
27451 * conf/i386-efi.rmk: Likewise.
27452 * conf/x86_64-efi.rmk: Likewise.
27453 * conf/i386-coreboot.rmk: Likewise.
27454 * conf/i386-ieee1275.rmk: Likewise.
27455 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
27456 `util/ieee1275/get_disk_name.c'.
27457 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
27458 * util/ieee1275/get_disk_name.c: Remove file.
27459 * util/i386/get_disk_name.c: Remove file.
27460 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
27461 "hd%d" for device.map entries, rather than using
27462 grub_util_get_disk_name().
27463
27464 2008-09-24 Carles Pina i Estany <carles@pina.cat>
27465
27466 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
27467 warning.
27468 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
27469
27470 2008-09-24 Carles Pina i Estany <carles@pina.cat>
27471
27472 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
27473 Changed to 0x5100.
27474 (GRUB_TERM_PPAGE): Changed to 0x4900.
27475
27476 2008-09-24 Robert Millan <rmh@aybabtu.com>
27477
27478 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
27479 macros (they were i386-pc specific).
27480 * include/grub/sparc64/ieee1275/console.h: Likewise.
27481 * include/grub/efi/console.h: Likewise.
27482
27483 2008-09-22 Bean <bean123ch@gmail.com>
27484
27485 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
27486 resident and in attribute list.
27487
27488 * include/grub/ntfs.h (BMP_LEN): Removed.
27489
27490 2008-09-22 Bean <bean123ch@gmail.com>
27491
27492 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
27493 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
27494
27495 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
27496 error occurs, as grub_disk_open will call grub_disk_close, which will
27497 call p->close (scsi).
27498
27499 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
27500
27501 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
27502 (AC_PREREQ): Bumped to 2.59.
27503 (AC_TRY_COMPILE): Replace obsolete macro with ...
27504 (AC_COMPILE_IFELSE): ... this.
27505 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
27506 (AC_LINK_IFELSE): ... this.
27507
27508 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
27509
27510 * autogen.sh: Add a call to `gendistlist.sh'.
27511
27512 2008-09-19 Christian Franke <franke@computer.org>
27513
27514 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
27515 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
27516 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
27517 Export __enable_execute_stack() to modules.
27518 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
27519 New function.
27520
27521 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
27522
27523 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
27524 Sort the list.
27525
27526 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
27527
27528 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
27529 #include <grub/util/hostdisk.h>.
27530
27531 2008-09-08 Robert Millan <rmh@aybabtu.com>
27532
27533 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
27534 segments when their filesz is zero (grub_file_read() interprets
27535 zero-size as "read until EOF", which results in memory corruption).
27536 Use `lowest_segment' rather than 0 for calculating the current
27537 segment load address.
27538
27539 2008-09-08 Robert Millan <rmh@aybabtu.com>
27540
27541 * util/hostdisk.c (open_device): Replace a grub_util_info() call
27542 with grub_dprintf("hostdisk", ...), as it was so verbose that it
27543 clobbered useful information.
27544
27545 2008-09-08 Robert Millan <rmh@aybabtu.com>
27546
27547 * include/grub/util/biosdisk.h: Move to ...
27548 * include/grub/util/hostdisk.h: ... here. Update all users.
27549 * util/biosdisk.c: Move to ...
27550 * util/hostdisk.c: ... here. Update all users.
27551
27552 2008-09-07 Robert Millan <rmh@aybabtu.com>
27553
27554 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
27555 variables.
27556 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
27557 and length can be stored directly in the `mbi->mmap_addr' and
27558 `mbi->mmap_length' struct fields.
27559
27560 2008-09-07 Robert Millan <rmh@aybabtu.com>
27561
27562 * conf/i386.rmk: New file. Provides declaration for building
27563 `cpuid.mod'.
27564 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
27565 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
27566 variables.
27567 Include `conf/i386.mk'.
27568 * conf/i386-efi.rmk: Likewise.
27569 * conf/x86_64-efi.rmk: Likewise.
27570 * conf/i386-coreboot.rmk: Likewise.
27571 * conf/i386-ieee1275.rmk: Likewise.
27572
27573 2008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
27574
27575 Based on patch created by Colin D Bennett <colin@gibibit.com>.
27576 Adds optimization support for BGR based modes.
27577
27578 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
27579 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
27580 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
27581 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
27582 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
27583 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
27584 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
27585 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
27586 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
27587 (grub_video_i386_vbeblit_index_index): Likewise.
27588 (grub_video_i386_vbeblit_replace_directN): Added.
27589 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
27590 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
27591 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
27592 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
27593 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
27594 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
27595 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
27596 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
27597 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
27598 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
27599 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
27600 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
27601 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
27602
27603 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
27604 (grub_video_i386_vbefill_R8G8B8): Likewise.
27605 (grub_video_i386_vbefill_index): Likewise.
27606 (grub_video_i386_vbefill_direct32): Added.
27607 (grub_video_i386_vbefill_direct24): Likewise.
27608 (grub_video_i386_vbefill_direct16): Likewise.
27609 (grub_video_i386_vbefill_direct8): Likewise.
27610
27611 * include/grub/video.h (grub_video_blit_format): Removed
27612 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
27613 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
27614 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
27615 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
27616 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
27617
27618 * video/video.c (grub_video_get_blit_format): Updated to use new
27619 blit formats. Added handling for 16 bit color modes.
27620
27621 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
27622 fillers.
27623 (common_blitter): Updated to use new blitters.
27624
27625 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
27626 Removed.
27627 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
27628 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
27629 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
27630 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
27631 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
27632 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
27633 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
27634 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
27635 (grub_video_i386_vbeblit_index_index): Likewise.
27636 (grub_video_i386_vbeblit_replace_directN): Added.
27637 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
27638 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
27639 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
27640 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
27641 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
27642 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
27643 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
27644 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
27645 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
27646 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
27647 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
27648 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
27649 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
27650
27651 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
27652 (grub_video_i386_vbefill_R8G8B8): Likewise.
27653 (grub_video_i386_vbefill_index): Likewise.
27654 (grub_video_i386_vbefill_direct32): Added.
27655 (grub_video_i386_vbefill_direct24): Likewise.
27656 (grub_video_i386_vbefill_direct16): Likewise.
27657 (grub_video_i386_vbefill_direct8): Likewise.
27658
27659 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
27660 types.
27661
27662 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
27663 types.
27664
27665 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
27666 blitter types.
27667
27668 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
27669 types.
27670
27671 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
27672
27673 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
27674 RAID level 1.
27675
27676 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
27677
27678 * fs/iso9660.c (grub_iso9660_date): New structure.
27679 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
27680 (grub_iso9660_uuid): New function.
27681
27682 2008-09-05 Bean <bean123ch@gmail.com>
27683
27684 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
27685
27686 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
27687 insensitive bit for names in Win32 and Win32 & DOS namespace.
27688
27689 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
27690
27691 * include/grub/types.h (LONG_MAX): Likewise.
27692
27693 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
27694
27695 * util/getroot.c: Include <config.h>.
27696 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
27697 add support for /dev/md/N devices and handle LVM double dash escaping.
27698
27699 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
27700
27701 * config.guess: Update to latest version from config git.
27702 * config.sub: Likewise.
27703
27704 2008-09-03 Robert Millan <rmh@aybabtu.com>
27705
27706 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
27707 `disk->total_sectors'.
27708
27709 2008-09-01 Colin D Bennett <colin@gibibit.com>
27710
27711 * include/grub/normal.h: Fixed incorrect comment for
27712 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
27713
27714 2008-09-01 Colin D Bennett <colin@gibibit.com>
27715
27716 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
27717 values with defines.
27718
27719 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
27720 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
27721 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
27722 (GRUB_VBE_MODEATTR_COLOR): Likewise.
27723 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
27724 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
27725 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
27726 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
27727 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
27728 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
27729 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
27730 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
27731 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
27732 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
27733 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
27734 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
27735 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
27736 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
27737 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
27738
27739 2008-08-31 Robert Millan <rmh@aybabtu.com>
27740
27741 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
27742 declaration.
27743 (grub_multiboot): Fix a few warnings.
27744
27745 2008-08-31 Robert Millan <rmh@aybabtu.com>
27746
27747 * loader/i386/pc/multiboot.c: Update comment not to say that
27748 boot_device support is unimplemented.
27749
27750 2008-08-31 Robert Millan <rmh@aybabtu.com>
27751
27752 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
27753 or memory map support are unimplemented.
27754
27755 2008-08-31 Colin D Bennett <colin@gibibit.com>
27756
27757 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
27758
27759 2008-08-31 Colin D Bennett <colin@gibibit.com>
27760
27761 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
27762 total video memory in 'vbeinfo' output; show color format details for
27763 each video mode.
27764
27765 2008-08-30 Pavel Roskin <proski@gnu.org>
27766
27767 * util/genmoddep.c: Remove for real this time.
27768 * DISTLIST: Remove util/genmoddep.c.
27769
27770 2008-08-30 Robert Millan <rmh@aybabtu.com>
27771
27772 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
27773 as required by Multiboot spec (it was already 4-byte aligned, but
27774 only by chance).
27775
27776 2008-08-29 Pavel Roskin <proski@gnu.org>
27777
27778 * kern/powerpc/ieee1275/crt0.S: Rename to ...
27779 * kern/powerpc/ieee1275/startup.S: ... this.
27780 * conf/powerpc-ieee1275.rmk: Adjust for the above.
27781 * DISTLIST: Likewise.
27782
27783 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
27784 grub/cpu/kernel.h. Add start label for consistency with other
27785 platforms. Add grub_prefix immediately after start. Add jump
27786 to the code after grub_prefix.
27787 * include/grub/powerpc/kernel.h: Provide valid values for
27788 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
27789
27790 2008-08-29 Bean <bean123ch@gmail.com>
27791
27792 * configure.ac: Change host_os to cygwin for mingw.
27793 (asprintf): New check for function.
27794
27795 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
27796 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
27797
27798 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
27799 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
27800 sync, sleep and grub_util_get_disk_size for mingw.
27801
27802 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
27803 to get size in mingw.
27804 (open_device): Use flag O_BINARY if it's defined.
27805 (find_root_device): Add dummy code for mingw.
27806
27807 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
27808 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
27809 (get_scsi_disk_name): Return 0 for mingw.
27810
27811 * util/hostfs.c: #include <grub/util/misc.h>.
27812 (grub_hostfs_open): Use "rb" flag to open file, use
27813 grub_util_get_disk_size to get disk size for mingw.
27814
27815 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
27816 (asprintf): New function if HAVE_ASPRINTF is not set.
27817 (sync): New function for mingw.
27818 (sleep): Likewise.
27819 (grub_util_get_disk_size): Likewise.
27820
27821 2008-08-28 Pavel Roskin <proski@gnu.org>
27822
27823 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
27824 kern/time.c.
27825
27826 2008-08-28 Robert Millan <rmh@aybabtu.com>
27827
27828 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
27829
27830 2008-08-28 Robert Millan <rmh@aybabtu.com>
27831
27832 Change find_grub_drive() syntax so it doesn't prevent it from
27833 detecting NULL names as errors.
27834
27835 * util/biosdisk.c (find_grub_drive): Move free slot search code
27836 from here ...
27837 (find_free_slot): ... to here.
27838 (read_device_map): Use find_free_slot() to search for free slots.
27839
27840 2008-08-27 Marco Gerards <marco@gnu.org>
27841
27842 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
27843 (scsi_mod_SOURCES): New variable.
27844 (scsi_mod_CFLAGS): Likewise
27845 (scsi_mod_LDFLAGS): Likewise.
27846
27847 * disk/scsi.c: New file.
27848
27849 * include/grub/scsi.h: Likewise.
27850
27851 * include/grub/scsicmd.h: Likewise.
27852
27853 * disk/ata.c: Include <grub/scsi.h>.
27854 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
27855 instead.
27856 (grub_ata_iterate): Skip ATAPI devices.
27857 (grub_ata_open): Only handle ATAPI devices.
27858 (struct grub_atapi_read): Removed.
27859 (grub_atapi_readsector): Likewise.
27860 (grub_ata_read): No longer handle ATAPI devices.
27861 (grub_ata_write): Likewise.
27862 (grub_atapi_iterate): New function.
27863 (grub_atapi_read): Likewise.
27864 (grub_atapi_write): Likewise.
27865 (grub_atapi_open): Likewise.
27866 (grub_atapi_close): Likewise.
27867 (grub_atapi_dev): New variable.
27868 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
27869 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
27870
27871 * include/grub/disk.h (enum grub_disk_dev_id): Add
27872 `GRUB_DISK_DEVICE_SCSI_ID'.
27873
27874 2008-08-26 Robert Millan <rmh@aybabtu.com>
27875
27876 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
27877 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
27878 descriptive.
27879
27880 2008-08-23 Bean <bean123ch@gmail.com>
27881
27882 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
27883 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
27884 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
27885 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
27886 dm_nv.mod.
27887 (raid5rec_mod_SOURCES): New macro.
27888 (raid5rec_mod_CFLAGS): Likewise.
27889 (raid5rec_mod_LDFLAGS): Likewise.
27890 (raid6rec_mod_SOURCES): Likewise.
27891 (raid6rec_mod_CFLAGS): Likewise.
27892 (raid6rec_mod_LDFLAGS): Likewise.
27893 (mdraid_mod_SOURCES): Likewise.
27894 (mdraid_mod_CFLAGS): Likewise.
27895 (mdraid_mod_LDFLAGS): Likewise.
27896 (dm_nv_mod_SOURCES): Likewise.
27897 (dm_nv_mod_CFLAGS): Likewise.
27898 (dm_nv_mod_LDFLAGS): Likewise.
27899
27900 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
27901 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
27902 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
27903
27904 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
27905 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
27906
27907 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
27908
27909 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
27910
27911 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27912
27913 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27914
27915 * disk/raid5_recover.c: New file.
27916
27917 * disk/raid6_recover.c: Likewise.
27918
27919 * disk/mdraid_linux.c: Likewise.
27920
27921 * disk/dmraid_nvidia.c: Likewise.
27922
27923 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
27924 ULONG_MAX.
27925
27926 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
27927 calculate the size of raid device.
27928 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
27929 different layout of raid5.
27930 (grub_raid_scan_device): Remove code specific to mdraid.
27931 (grub_raid_list): New variable.
27932 (free_array): New function.
27933 (grub_raid_register): Likewise.
27934 (grub_raid_unregister): Likewise.
27935 (grub_raid_rescan): Likewise.
27936 (GRUB_MOD_INIT): Don't iterate device here.
27937 (GRUB_MOD_FINI): Use free_array to release resource.
27938
27939 * include/grub/raid.h: Remove macro and structure specific to mdraid.
27940 (grub_raid5_recover_func_t): New function variable type.
27941 (grub_raid6_recover_func_t): Likewise.
27942 (grub_raid5_recover_func): New variable.
27943 (grub_raid6_recover_func): Likewise.
27944 (grub_raid_register): New function.
27945 (grub_raid_unregister): Likewise.
27946 (grub_raid_rescan): Likewise.
27947 (grub_raid_block_xor): Likewise.
27948
27949 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
27950 (CMD_CRC): New macro.
27951 (part): Removed.
27952 (read_file): Handle device as well as file.
27953 (cmd_crc): New function.
27954 (fstest): Handle multiple disks.
27955 (options): Remove part, raw and long, add root and diskcount.
27956 (usage): Add crc, remove -p, -r, -l, add -r and -c.
27957 (main): Find the first non option entry and ignore subsequent options,
27958 add handling for the new options, support multiple disks.
27959
27960 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
27961
27962 2008-08-23 Bean <bean123ch@gmail.com>
27963
27964 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
27965
27966 * genfslist.sh: Ignore kernel.mod.
27967
27968 * genpartmaplist.sh: Likewise.
27969
27970 2008-08-23 Robert Millan <rmh@aybabtu.com>
27971
27972 * util/getroot.c (find_root_device): Skip anything that starts with
27973 a dot, not just directories. This avoids things like /dev/.tmp.md0.
27974
27975 2008-08-22 Felix Zielcke <fzielcke@z-51.de>
27976
27977 * util/update-grub.in (GRUB_GFXMODE): Export variable.
27978 * util/grub.d/00_header.in: Allow the administrator to change default
27979 gfxmode via ${GRUB_GFXMODE}.
27980
27981 2008-08-21 Felix Zielcke <fzielcke@z-51.de>
27982
27983 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
27984
27985 2008-08-21 Robert Millan <rmh@aybabtu.com>
27986
27987 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
27988 loader.
27989 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
27990 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
27991
27992 2008-08-20 Carles Pina i Estany <carles@pina.cat>
27993
27994 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
27995 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
27996
27997 2008-08-19 Robert Millan <rmh@aybabtu.com>
27998
27999 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
28000 (struct grub_virtual_screen): Remove `cursor_color'.
28001 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
28002 initialization.
28003 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
28004
28005 2008-08-18 Robert Millan <rmh@aybabtu.com>
28006
28007 Unify (identical) linux_normal.c files.
28008 * loader/i386/efi/linux_normal.c: Move from here ...
28009 * loader/linux_normal.c: ... to here. Update all users.
28010 * loader/i386/pc/linux_normal.c: Delete. Update all users.
28011 * loader/i386/ieee1275/linux_normal.c: Likewise.
28012
28013 2008-08-18 Robert Millan <rmh@aybabtu.com>
28014
28015 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
28016 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
28017 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
28018 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
28019 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
28020 New macros.
28021 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
28022 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
28023 (GRUB_LINUX_CL_END_OFFSET): ... to here.
28024 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
28025 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
28026 (GRUB_EFI_CL_END_OFFSET): Rename to ...
28027 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
28028 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
28029 Initialize `params->video_cursor_x' and `params->video_cursor_y'
28030 portably using grub_getxy().
28031 Replace `-EFI' with `-bzImage' in boot message.
28032
28033 2008-08-17 Robert Millan <rmh@aybabtu.com>
28034
28035 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
28036
28037 2008-08-17 Robert Millan <rmh@aybabtu.com>
28038
28039 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
28040
28041 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
28042 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
28043 (grub_machine_mmap_iterate): New function declaration.
28044 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
28045 structure.
28046 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
28047 macros.
28048
28049 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
28050 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
28051 Move e820 parsing from here ...
28052 * kern/i386/pc/mmap.c: New file.
28053 (grub_machine_mmap_iterate): ... to here.
28054
28055 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
28056 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
28057 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
28058 (grub_available_iterate): Redeclare to return `void', and redeclare
28059 its hook to use grub_uint64_t as addr and size parameters, and rename
28060 to ...
28061 (grub_machine_mmap_iterate): ... this. Update all users.
28062
28063 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
28064 to make it more readable. Rename to ...
28065 (grub_machine_mmap_iterate): ... this.
28066
28067 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
28068 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
28069 (grub_multiboot): Allocate an extra region after the payload, and fill
28070 it with a Multiboot memory map. Adjust a.out loader to calculate size
28071 with the extra space.
28072 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
28073 with the extra space.
28074
28075 2008-08-17 Carles Pina i Estany <carles@pina.cat>
28076
28077 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
28078
28079 2008-08-17 Felix Zielcke <fzielcke@z-51.de>
28080
28081 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
28082 mdate-sh to the list `find' searches for.
28083 * DISTLIST: Regenerated.
28084
28085 2008-08-16 Felix Zielcke <fzielcke@z-51.de>
28086
28087 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
28088 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
28089 genmoddep.awk, gensymlist.sh.in.
28090 (DISTDIRS): Add bus, docs, hook, lib.
28091 * DISTLIST: Regenerated.
28092 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
28093
28094 2008-08-16 Robert Millan <rmh@aybabtu.com>
28095
28096 * disk/raid.c (grub_raid_init): Handle/report errors set by
28097 grub_device_iterate().
28098 * disk/lvm.c (grub_lvm_init): Likewise.
28099
28100 2008-08-15 Bean <bean123ch@gmail.com>
28101
28102 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
28103 and datehook.mod.
28104 (datetime_mod_SOURCES): New macro.
28105 (datetime_mod_CFLAGS): Likewise.
28106 (datetime_mod_LDFLAGS): Likewise.
28107 (date_mod_SOURCES): Likewise.
28108 (date_mod_CFLAGS): Likewise.
28109 (date_mod_LDFLAGS): Likewise.
28110 (datehook_mod_SOURCES): Likewise.
28111 (datehook_mod_CFLAGS): Likewise.
28112 (datehook_mod_LDFLAGS): Likewise.
28113
28114 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
28115 and datehook.mod.
28116 (datetime_mod_SOURCES): New macro.
28117 (datetime_mod_CFLAGS): Likewise.
28118 (datetime_mod_LDFLAGS): Likewise.
28119 (date_mod_SOURCES): Likewise.
28120 (date_mod_CFLAGS): Likewise.
28121 (date_mod_LDFLAGS): Likewise.
28122 (datehook_mod_SOURCES): Likewise.
28123 (datehook_mod_CFLAGS): Likewise.
28124 (datehook_mod_LDFLAGS): Likewise.
28125
28126 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
28127 and datehook.mod.
28128 (datetime_mod_SOURCES): New macro.
28129 (datetime_mod_CFLAGS): Likewise.
28130 (datetime_mod_LDFLAGS): Likewise.
28131 (date_mod_SOURCES): Likewise.
28132 (date_mod_CFLAGS): Likewise.
28133 (date_mod_LDFLAGS): Likewise.
28134 (datehook_mod_SOURCES): Likewise.
28135 (datehook_mod_CFLAGS): Likewise.
28136 (datehook_mod_LDFLAGS): Likewise.
28137
28138 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
28139 and datehook.mod.
28140 (datetime_mod_SOURCES): New macro.
28141 (datetime_mod_CFLAGS): Likewise.
28142 (datetime_mod_LDFLAGS): Likewise.
28143 (date_mod_SOURCES): Likewise.
28144 (date_mod_CFLAGS): Likewise.
28145 (date_mod_LDFLAGS): Likewise.
28146 (datehook_mod_SOURCES): Likewise.
28147 (datehook_mod_CFLAGS): Likewise.
28148 (datehook_mod_LDFLAGS): Likewise.
28149
28150 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
28151 and datehook.mod.
28152 (datetime_mod_SOURCES): New macro.
28153 (datetime_mod_CFLAGS): Likewise.
28154 (datetime_mod_LDFLAGS): Likewise.
28155 (date_mod_SOURCES): Likewise.
28156 (date_mod_CFLAGS): Likewise.
28157 (date_mod_LDFLAGS): Likewise.
28158 (datehook_mod_SOURCES): Likewise.
28159 (datehook_mod_CFLAGS): Likewise.
28160 (datehook_mod_LDFLAGS): Likewise.
28161
28162 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
28163
28164 * commands/date.c: New file.
28165
28166 * hook/datehook.c: Likewise.
28167
28168 * include/grub/lib/datetime.h: Likewise.
28169
28170 * include/grub/i386/cmos.h: Likewise.
28171
28172 * lib/datetime.c: Likewise.
28173
28174 * lib/i386/datetime.c: Likewise.
28175
28176 * lib/efi/datetime.c: Likewise.
28177
28178 2008-08-14 Robert Millan <rmh@aybabtu.com>
28179
28180 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
28181 (grub_mkelfimage_SOURCES): New variable.
28182 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
28183
28184 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
28185 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
28186 * conf/powerpc-ieee1275.rmk: Likewise.
28187 * conf/i386-ieee1275.rmk: Likewise.
28188
28189 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
28190 * kern/i386/coreboot/init.c: Likewise.
28191
28192 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
28193 with `<grub/cpu/kernel.h>'.
28194 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
28195 to ...
28196 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
28197 * kern/i386/coreboot/startup.S: Likewise.
28198
28199 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
28200 (GRUB_MOD_GAP): Remove.
28201 * include/grub/powerpc/kernel.h: New file.
28202 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
28203 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
28204 * include/grub/i386/kernel.h: New file.
28205 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
28206 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
28207 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
28208
28209 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
28210 `grub-mkelfimage'.
28211 Use --directory when invoking grub_mkimage.
28212
28213 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
28214 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
28215 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
28216 and GRUB_KERNEL_CPU_PREFIX.
28217
28218 2008-08-14 Felix Zielcke <fzielcke@z-51.de>
28219
28220 * include/grub/err.h (grub_err_printf): New function prototype.
28221 * util/misc.c (grub_err_printf): New function.
28222 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
28223 grub_printf.
28224 * kern/err.c (grub_print_error): Use grub_err_printf.
28225
28226 2008-08-13 Robert Millan <rmh@aybabtu.com>
28227
28228 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
28229
28230 2008-08-13 Robert Millan <rmh@aybabtu.com>
28231
28232 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
28233 boot entry.
28234
28235 2008-08-12 Robert Millan <rmh@aybabtu.com>
28236
28237 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
28238 of the relocation code from here ...
28239 (grub_multiboot): ... to here.
28240 (forward_relocator, backward_relocator): Move from here ...
28241 * kern/i386/loader.S (grub_multiboot_forward_relocator)
28242 (grub_multiboot_backward_relocator): ... to here.
28243 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
28244 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
28245 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
28246 (grub_multiboot_forward_relocator_end)
28247 (grub_multiboot_backward_relocator)
28248 (grub_multiboot_backward_relocator_end): New variables.
28249
28250 2008-08-12 Bean <bean123ch@gmail.com>
28251
28252 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
28253
28254 2008-08-11 Robert Millan <rmh@aybabtu.com>
28255
28256 * kern/i386/linuxbios/startup.S: Move from here ...
28257 * kern/i386/coreboot/startup.S: ... to here.
28258
28259 * kern/i386/linuxbios/init.c: Move from here ...
28260 * kern/i386/coreboot/init.c: ... to here.
28261
28262 * kern/i386/linuxbios/table.c: Move from here ...
28263 * kern/i386/coreboot/mmap.c: ... to here.
28264
28265 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
28266
28267 2008-08-11 Robert Millan <rmh@aybabtu.com>
28268
28269 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
28270 errors. Leave it to the upper layer to handle them.
28271
28272 2008-08-09 Christian Franke <franke@computer.org>
28273
28274 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
28275 * conf/common.rmk: Install `grub-pe2elf' only if requested.
28276 Install `grub.d/10_windows' only on Cygwin.
28277 * configure.ac: Add subst of `target_os'.
28278 Check `target_os' also before setting TARGET_OBJ2ELF.
28279 Add `--enable-grub-pe2elf'.
28280
28281 2008-08-08 Robert Millan <rmh@aybabtu.com>
28282
28283 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
28284 (grub_last_time): Change type to grub_uint64_t.
28285 (grub_disk_open): Migrate code from to using grub_get_time_ms().
28286 (grub_disk_close): Likewise.
28287
28288 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
28289 (run_menu): Migrate code from to using grub_get_time_ms().
28290
28291 * util/misc.c (grub_get_time_ms): New function.
28292
28293 2008-08-08 Marco Gerards <marco@gnu.org>
28294
28295 * disk/ata.c (grub_ata_regget): Change return type to
28296 `grub_uint8_t'.
28297 (grub_ata_regget2): Likewise.
28298 (grub_ata_wait_status): New function.
28299 (grub_ata_wait_busy): Removed function, updated all users to use
28300 `grub_ata_wait_status'.
28301 (grub_ata_wait_drq): Likewise.
28302 (grub_ata_cmd): New function.
28303 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
28304 error handling.
28305 (grub_ata_pio_write): Add error handling.
28306 (grub_atapi_identify): Likewise.
28307 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
28308 handling.
28309 (grub_ata_identify): Use `grub_ata_cmd' and improve error
28310 handling. Actually use the detected registers. Reorder the
28311 detection logic such that it is easier to read.
28312 (grub_ata_pciinit): Do not assign the same ID to each controller.
28313 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
28314 handling.
28315 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
28316
28317 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
28318
28319 2008-08-08 Marco Gerards <marco@gnu.org>
28320
28321 * NEWS: Update.
28322
28323 2008-08-07 Bean <bean123ch@gmail.com>
28324
28325 * include/grub/x86_64/pci.h: New file.
28326
28327 2008-08-07 Christian Franke <franke@computer.org>
28328
28329 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
28330 (TIMER2_GATE): Likewise.
28331 (grub_pit_wait): Add enable/disable of the timer2 gate
28332 bit of port 0x61. This fixes a possible infinite loop.
28333
28334 2008-08-07 Bean <bean123ch@gmail.com>
28335
28336 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
28337 kern/i386/tsc.c and kern/i386/pit.c.
28338
28339 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
28340 x86_64 platform.
28341
28342 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
28343 <grub/i386/tsc.h>.
28344
28345 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
28346
28347 2008-08-07 Bean <bean123ch@gmail.com>
28348
28349 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
28350
28351 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
28352
28353 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
28354 multiple inclusion. Add #include <grub/types.h>.
28355
28356 2008-08-06 Christian Franke <franke@computer.org>
28357
28358 * conf/common.rmk: Build and install `10_windows'.
28359 * util/grub.d/10_windows.in: New script.
28360
28361 2008-08-06 Pavel Roskin <proski@gnu.org>
28362
28363 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
28364
28365 2008-08-06 Robert Millan <rmh@aybabtu.com>
28366
28367 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
28368 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
28369
28370 2008-08-06 Bean <bean123ch@gmail.com>
28371
28372 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
28373 (grub_pxefs_fs_int): Remove dummy definition.
28374 (grub_pxefs_open): Use data->block_size to store the current block
28375 size setting.
28376 (grub_pxefs_read): Use block size stored in data->block_size. As the
28377 value of grub_pxe_blksize can be changed after the file is opened.
28378
28379 2008-08-06 Bean <bean123ch@gmail.com>
28380
28381 * fs/i386/pc/pxe.c (curr_file): new variable.
28382 (grub_pxefs_open): Simply the handling of pxe file system. Don't
28383 require the dummy internal file system anymore.
28384 (grub_pxefs_read): Removed.
28385 (grub_pxefs_close): Likewise.
28386 (grub_pxefs_fs_int): Likewise.
28387 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
28388 connection when we switch file.
28389 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
28390
28391 2008-08-06 Robert Millan <rmh@aybabtu.com>
28392
28393 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
28394 `halt.mod'.
28395 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
28396 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
28397
28398 * kern/i386/halt.c: New file.
28399 * kern/i386/reboot.c: Likewise.
28400 * include/grub/i386/reboot.h: Likewise.
28401 * include/grub/i386/halt.h: Likewise.
28402
28403 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
28404 Include `<grub/cpu/halt.h>'.
28405 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
28406 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
28407
28408 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
28409 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
28410 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
28411 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
28412 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
28413 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
28414 from here ...
28415 * include/grub/i386/at_keyboard.h: ... to here.
28416
28417 2008-08-05 Robert Millan <rmh@aybabtu.com>
28418
28419 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
28420 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
28421 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
28422 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
28423 `kern/generic/millisleep.c'.
28424
28425 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
28426 instead of grub_get_rtc().
28427 (grub_tsc_init): Initialize `tsc_boot_time'.
28428
28429 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
28430 (grub_machine_init): Use grub_tsc_init() rather than
28431 installing an RTC-based handler via grub_install_get_time_ms().
28432
28433 * kern/i386/pit.c: New file.
28434 * include/grub/i386/pit.h: Likewise.
28435
28436 2008-08-05 Bean <bean123ch@gmail.com>
28437
28438 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
28439
28440 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
28441 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
28442 (pxe_mod_SOURCES): New macro.
28443 (pxe_mod_CFLAGS): Likewise.
28444 (pxe_mod_LDFLAGS): Likewise.
28445 (pxecmd_mod_SOURCES): Likewise.
28446 (pxecmd_mod_CFLAGS): Likewise.
28447 (pxecmd_mod_LDFLAGS): Likewise.
28448
28449 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
28450 (grub_pxe_call): Likewise.
28451
28452 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
28453
28454 * commands/i386/pc/pxecmd.c: New file.
28455
28456 * fs/i386/pc/pxe.c: Likewise.
28457
28458 * include/grub/i386/pc/pxe.h: Likewise.
28459
28460 2008-08-05 Bean <bean123ch@gmail.com>
28461
28462 * util/console.c (grub_console_cur_color): New variable.
28463 (grub_console_standard_color): Likewise.
28464 (grub_console_normal_color): Likewise.
28465 (grub_console_highlight_color): Likewise.
28466 (color_map): Likewise.
28467 (use_color): Likewise.
28468 (NUM_COLORS): New macro.
28469 (grub_ncurses_setcolorstate): Handle color properly.
28470 (grub_ncurses_setcolor): Don't change color here, just remember the
28471 settings, color will be set in grub_ncurses_setcolorstate.
28472 (grub_ncurses_getcolor): New function.
28473 (grub_ncurses_init): Initialize color pairs.
28474 (grub_ncurses_term): New member grub_ncurses_getcolor.
28475
28476 2008-08-05 Colin D Bennett <colin@gibibit.com>
28477
28478 High resolution timer support. Implemented for x86 CPUs using TSC.
28479 Extracted generic grub_millisleep() so it's linked in only as needed.
28480 This requires a Pentium compatible CPU; if the RDTSC instruction is
28481 not supported, then it falls back on the generic grub_get_time_ms()
28482 implementation that uses the machine's RTC.
28483
28484 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
28485 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
28486 `kern/generic/millisleep.c'.
28487
28488 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
28489 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
28490
28491 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
28492 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
28493
28494 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
28495
28496 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
28497 `kern/generic/millisleep.c'.
28498
28499 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
28500
28501 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
28502
28503 * kern/generic/rtc_get_time_ms.c: New file.
28504
28505 * kern/generic/millisleep.c: New file.
28506
28507 * kern/misc.c: Don't include
28508 <kern/time.h> anymore.
28509 (grub_millisleep_generic): Removed.
28510
28511 * commands/sleep.c (grub_interruptible_millisleep): Uses
28512 grub_get_time_ms() instead of grub_get_rtc().
28513
28514 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
28515 function.
28516 (grub_cpu_is_cpuid_supported): New inline function.
28517 (grub_cpu_is_tsc_supported): New inline function.
28518 (grub_tsc_init): New function prototype.
28519 (grub_tsc_get_time_ms): New function prototype.
28520
28521 * kern/i386/tsc.c (grub_get_time_ms): New file.
28522
28523 * include/grub/time.h: Include <grub/types.h.
28524 (grub_millisleep_generic): Removed.
28525 (grub_get_time_ms): New prototype.
28526 (grub_install_get_time_ms): New prototype.
28527 (grub_rtc_get_time_ms): New prototype.
28528
28529 * kern/time.c (grub_get_time_ms): New function.
28530 (grub_install_get_time_ms): New function.
28531
28532 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
28533 <grub/time.h> anymore.
28534 (grub_millisleep): Removed.
28535 (grub_machine_init): Call grub_tsc_init.
28536
28537 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
28538 get_time_ms() implementation.
28539
28540 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
28541 (ieee1275_get_time_ms): New function.
28542 (grub_machine_init): Install get_time_ms() implementation.
28543
28544 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
28545 (grub_machine_init): Call grub_tsc_init().
28546 (grub_millisleep): Removed.
28547
28548 * kern/ieee1275/init.c (grub_millisleep): Removed.
28549 (grub_machine_init): Install ieee1275_get_time_ms()
28550 implementation.
28551 (ieee1275_get_time_ms): New function.
28552 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
28553 real work.
28554
28555 2008-08-05 Marco Gerards <marco@gnu.org>
28556
28557 * disk/ata.c: Include <grub/pci.h>.
28558 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
28559 (grub_ata_initialize): Rewritten.
28560 (grub_ata_device_initialize): New function.
28561
28562 2008-08-04 Pavel Roskin <proski@gnu.org>
28563
28564 * kern/main.c: Include grub/mm.h.
28565
28566 2008-08-04 Robert Millan <rmh@aybabtu.com>
28567
28568 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
28569 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
28570 corruption problem).
28571
28572 2008-08-04 Robert Millan <rmh@aybabtu.com>
28573
28574 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
28575 warnings introduced in my last commit.
28576
28577 2008-08-03 Robert Millan <rmh@aybabtu.com>
28578
28579 Make PCI available on all i386 architectures.
28580
28581 * include/grub/i386/pc/pci.h: Move from here ...
28582 * include/grub/i386/pci.h: ... to here.
28583
28584 * include/grub/i386/pc/pci.h: Remove.
28585 * include/grub/i386/efi/pci.h: Remove.
28586 * include/grub/x86_64/efi/pci.h: Remove.
28587
28588 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
28589 `<grub/cpu/pci.h>'.
28590
28591 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
28592 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
28593 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
28594
28595 * conf/i386-ieee1275.rmk: Likewise.
28596
28597 2008-08-03 Robert Millan <rmh@aybabtu.com>
28598
28599 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
28600 (grub_console_setcursor): Make it possible to set cursor off.
28601
28602 2008-08-03 Robert Millan <rmh@aybabtu.com>
28603
28604 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
28605 of modules instead of assuming which platform provides what.
28606 * util/update-grub.in: Likewise.
28607
28608 2008-08-03 Robert Millan <rmh@aybabtu.com>
28609
28610 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
28611 instead of `grub_install_dos_part' to determine whether a drive needs
28612 to be prepended to prefix (`grub_install_dos_part' is not reliable,
28613 because it can be overridden when loading GRUB via Multiboot).
28614
28615 2008-08-02 Robert Millan <rmh@aybabtu.com>
28616
28617 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
28618
28619 2008-08-02 Robert Millan <rmh@aybabtu.com>
28620
28621 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
28622 of informational grub_dprintf() calls.
28623
28624 2008-08-02 Robert Millan <rmh@aybabtu.com>
28625
28626 * disk/memdisk.c (memdisk_size): Don't initialize.
28627 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
28628
28629 * include/grub/i386/pc/kernel.h
28630 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
28631 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
28632 (grub_memdisk_image_size, grub_arch_memdisk_addr)
28633 (grub_arch_memdisk_size): Remove.
28634
28635 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
28636 field (was only used to transfer a constant). Add `type' field to
28637 support multiple module types.
28638 (grub_module_iterate): New function.
28639
28640 * kern/device.c (grub_device_open): Do not hide error messages
28641 when grub_disk_open() fails. Use grub_print_error() instead.
28642
28643 * kern/i386/pc/init.c (grub_arch_modules_addr)
28644 (grub_arch_memdisk_size): Remove functions.
28645 (grub_arch_modules_addr): Return the module address in high memory
28646 (now that it isn't copied anymore).
28647
28648 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
28649 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
28650 decompression routine (grub_total_module_size already includes that
28651 now). Don't copy modules back to low memory.
28652
28653 * kern/main.c: Include `<grub/mm.h>'.
28654 (grub_load_modules): Split out (and use) ...
28655 (grub_module_iterate): ... this function, which iterates through
28656 module objects and runs a hook.
28657 Comment out grub_mm_init_region() call, as it would cause non-ELF
28658 modules to be overwritten.
28659
28660 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
28661 the memdisk image in its own region, make it part of the module list.
28662 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
28663 (main): Parse --memdisk|-m option, and pass user-provided path as
28664 parameter to generate_image().
28665 (add_segments): Pass `memdisk_path' down to load_modules().
28666 (load_modules): Embed memdisk image in module section when requested.
28667 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
28668 `header.type' instead of `header.offset'.
28669
28670 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
28671 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
28672 (memdisk_mod_LDFLAGS): New variables.
28673 * conf/i386-coreboot.rmk: Likewise.
28674 * conf/i386-ieee1275.rmk: Likewise.
28675
28676 2008-08-02 Robert Millan <rmh@aybabtu.com>
28677
28678 * loader/i386/pc/multiboot.c (playground, forward_relocator)
28679 (backward_relocator): New variables. Used to allocate and relocate
28680 the payload, respectively.
28681 (grub_multiboot_load_elf32): Load into heap instead of requested
28682 address, install the appropriate relocator code in each bound of
28683 the payload, and set the entry point such that
28684 grub_multiboot_real_boot() will jump to one of them.
28685
28686 * kern/i386/loader.S (grub_multiboot_payload_size)
28687 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
28688 (grub_multiboot_payload_entry_offset): New variables.
28689 (grub_multiboot_real_boot): Set cpu context to what the relocator
28690 expects, and jump to the relocator instead of the payload.
28691
28692 * include/grub/i386/loader.h (grub_multiboot_payload_size)
28693 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
28694 (grub_multiboot_payload_entry_offset): Export.
28695
28696 2008-08-01 Bean <bean123ch@gmail.com>
28697
28698 * normal/menu_entry.c (editor_getline): Don't return the original
28699 string as result, as it will be released by lexer once it has done
28700 using it.
28701
28702 2008-08-01 Robert Millan <rmh@aybabtu.com>
28703
28704 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
28705 within menuentries, not before them.
28706 util/grub.d/10_hurd.in: Likewise.
28707
28708 2008-08-01 Bean <bean123ch@gmail.com>
28709
28710 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
28711 (bufio_mod_SOURCES): New macro.
28712 (bufio_mod_CFLAGS): Likewise.
28713 (bufio_mod_LDFLAGS): Likewise.
28714
28715 * include/grub/bufio.h: New file.
28716
28717 * io/bufio.c: Likewise.
28718
28719 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
28720 (grub_video_reader_png): Use grub_buffile_open to open file.
28721
28722 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
28723 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
28724
28725 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
28726 (grub_video_reader_tga): Use grub_buffile_open to open file.
28727
28728 * font/manager.c: Include <grub/bufio.h>.
28729 (add_font): Use grub_buffile_open to open file.
28730
28731 2008-07-31 Robert Millan <rmh@aybabtu.com>
28732
28733 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
28734 ELF segments, use a macro for arbitrarily accessing any of them instead
28735 of preparing a pointer that allows access to one at a time.
28736 (grub_multiboot_load_elf64): Likewise.
28737
28738 2008-07-31 Bean <bean123ch@gmail.com>
28739
28740 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
28741 GRUB_KERNEL_MACHINE_DATA_END.
28742
28743 2008-07-30 Robert Millan <rmh@aybabtu.com>
28744
28745 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
28746 Increase from 0x50 to 0x60.
28747 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
28748 use UUIDs to identify the root drive for them. If that's not
28749 possible, abort.
28750 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
28751 check, for cross-disk installs.
28752
28753 2008-07-30 Robert Millan <rmh@aybabtu.com>
28754
28755 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
28756 is non-empty, use it to set the `prefix' environment variable instead
28757 of the usual approach.
28758 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
28759 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
28760 environment variable instead of dummy make_install_device().
28761
28762 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
28763 (start): Insert a data section, with `grub_prefix' variable.
28764 * kern/i386/linuxbios/startup.S: Likewise.
28765
28766 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
28767 New variable reference.
28768 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
28769 New macro. Defines offset of `grub_prefix' within startup.S (relative
28770 to `start').
28771 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
28772 section within startup.S (relative to `start').
28773 * include/grub/i386/coreboot/kernel.h: Likewise.
28774
28775 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
28776 Overwrite grub_prefix with its contents, at the beginning of the
28777 first segment.
28778 (main): Understand -p|--prefix.
28779
28780 2008-07-30 Robert Millan <rmh@aybabtu.com>
28781
28782 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
28783
28784 2008-07-30 Robert Millan <rmh@aybabtu.com>
28785
28786 * term/i386/pc/vga_text.c (grub_console_cls): Use
28787 grub_console_gotoxy() to go back to beginning of the screen.
28788 Found by Patrick Georgi <patrick.georgi@coresystems.de>
28789
28790 2008-07-29 Christian Franke <franke@computer.org>
28791
28792 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
28793 Add conversion of emulated mount points on Cygwin.
28794
28795 2008-07-29 Christian Franke <franke@computer.org>
28796
28797 * util/update-grub.in: Add a check for admin
28798 group on Cygwin.
28799 Remove old `grub.cfg.new' before creation.
28800 Add `-f' to `mv' to handle the different filesystem
28801 semantics of Windows.
28802
28803 2008-07-29 Bean <bean123ch@gmail.com>
28804
28805 * normal/main.c (get_line): Fix buffer overflow bug.
28806
28807 2008-07-28 Robert Millan <rmh@aybabtu.com>
28808
28809 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
28810 (struct grub_apple_header): New struct. Describes the layout of
28811 the partmap header.
28812 (apple_partition_map_iterate): Check the header magic as well as the
28813 partition magic (which was already being checked).
28814
28815 2008-07-28 Pavel Roskin <proski@gnu.org>
28816
28817 * genmk.rb: Add a warning to the beginning of the output that
28818 it's a generated file and should not be edited.
28819
28820 2008-07-28 Robert Millan <rmh@aybabtu.com>
28821
28822 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
28823 with the same number are found, just use issue a warning with
28824 grub_dprintf(), as this error has been reported to be non-fatal.
28825
28826 2008-07-27 Robert Millan <rmh@aybabtu.com>
28827
28828 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
28829 information.
28830
28831 2008-07-27 Bean <bean123ch@gmail.com>
28832
28833 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
28834 (grub_fat_find_dir): Ignore case when comparing filename.
28835
28836 2008-07-27 Bean <bean123ch@gmail.com>
28837
28838 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
28839 smallino, as it's more descriptive, and i8count can be confused with
28840 the other field count.
28841 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
28842 inode type.
28843
28844 2008-07-27 Bean <bean123ch@gmail.com>
28845
28846 * commands/crc.c: New file.
28847
28848 * lib/crc.c: Likewise.
28849
28850 * include/grub/lib/crc.h: Likewise.
28851
28852 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
28853
28854 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
28855 (hexdump): Move this function to ...
28856
28857 * lib/hexdump.c: ... here.
28858
28859 * include/grub/hexdump.h: Renamed to ...
28860
28861 * include/grub/lib/hexdump.h: ... this.
28862
28863 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
28864
28865 * util/grub-editenv.c: Likewise.
28866
28867 * include/envblk.h: Renamed to ...
28868
28869 * include/lib/envblk.h: ... this.
28870
28871 * util/envblk.c: Renamed to ...
28872
28873 * lib/envblk.c: ... this.
28874
28875 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
28876 lib/hexdump.c.
28877 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
28878 (pkglib_MODULES): Add crc.mod.
28879 (hexdump_mod_SOURCES): Add lib/hexdump.c.
28880 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
28881 (crc_mod_SOURCES): New macro.
28882 (crc_mod_CFLAGS): Likewise.
28883 (crc_mod_LDFLAGS): Likewise.
28884
28885 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
28886
28887 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
28888
28889 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
28890
28891 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28892
28893 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
28894
28895 2008-07-27 Felix Zielcke <fzielcke@z-51.de>
28896
28897 * commands/help.c: Include <grub/term.h>.
28898 (TERM_WIDTH): Removed. Updated all users.
28899
28900 2008-07-27 Pavel Roskin <proski@gnu.org>
28901
28902 * util/getroot.c (find_root_device): Rephrase a comment to avoid
28903 spurious warnings about a comment within a comment.
28904
28905 2008-07-25 Robert Millan <rmh@aybabtu.com>
28906
28907 * util/getroot.c (find_root_device): Skip devices that match
28908 /dev/dm-[0-9]. This lets the real device be found for any type of
28909 abstraction (LVM, EVMS, RAID..).
28910 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
28911 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
28912 device is found first, find_root_device() will now skip it.
28913
28914 2008-07-24 Pavel Roskin <proski@gnu.org>
28915
28916 * include/grub/types.h: Use __builtin_bswap32() and
28917 __builtin_bswap64() with gcc 4.3 and newer.
28918
28919 2008-07-24 Christian Franke <franke@computer.org>
28920
28921 * util/i386/pc/grub-install.in: If `--debug' is specified,
28922 pass `--verbose' to grub-setup.
28923 Abort script if make_system_path_relative_to_its_root() fails.
28924
28925 2008-07-24 Bean <bean123ch@gmail.com>
28926
28927 * configure.ac: Fixed a bug caused by the previous cygwin patch,
28928 variable `target_platform' should be `platform'.
28929
28930 2008-07-24 Bean <bean123ch@gmail.com>
28931
28932 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
28933 (grub_png_init_fixed_block): New function.
28934 (grub_png_decode_image_data): Handle fixed huffman code compression.
28935
28936 2008-07-24 Bean <bean123ch@gmail.com>
28937
28938 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
28939 (grub_pe2elf_SOURCES): New macro.
28940 (CLEANFILES): Add grub-pe2elf.
28941
28942 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
28943 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
28944 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
28945 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
28946 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
28947 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
28948 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
28949 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
28950 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
28951 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
28952 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
28953 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
28954 (GRUB_PE32_DT_FUNCTION): Likewise.
28955 (GRUB_PE32_REL_I386_DIR32): Likewise.
28956 (GRUB_PE32_REL_I386_REL32): Likewise.
28957 (grub_pe32_symbol): New structure.
28958 (grub_pe32_reloc): Likewise.
28959
28960 * util/grub-pe2elf.c: New file.
28961
28962 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
28963 start symbol in non pc platform.
28964
28965 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
28966
28967 The following patches are from Christian Franke.
28968
28969 * include/grub/dl.h: Remove .previous, gas supports this only
28970 for ELF format.
28971
28972 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
28973 Remove .type, gas supports this only for ELF format.
28974
28975 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
28976 nullbytes in symbol table. This fixes an infinite loop if table is
28977 zero filled.
28978
28979 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
28980 TARGET_IMG_LDFLAGS and EXEEXT.
28981
28982 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
28983 TARGET_IMG_LDFLAGS_AC.
28984 (grub_CHECK_STACK_ARG_PROBE): New function.
28985
28986 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
28987
28988 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
28989
28990 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
28991 to set TARGET_IMG_LD* accordingly.
28992 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
28993 Add call to grub_CHECK_STACK_ARG_PROBE.
28994 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
28995
28996 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
28997
28998 * genmk.rb: Add EXEEXT to CLEANFILES.
28999
29000 2008-07-23 Robert Millan <rmh@aybabtu.com>
29001
29002 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
29003 define the codes for arrows and lines used for the menu).
29004 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
29005 as well.
29006
29007 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
29008 fonts, because the latter are too slow.
29009
29010 2008-07-21 Bean <bean123ch@gmail.com>
29011
29012 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
29013 a20. Run keyboard test last, as it will cause macbook to halt.
29014
29015 2008-07-18 Pavel Roskin <proski@gnu.org>
29016
29017 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
29018 load foreign architecture modules correctly anyway. Keep
29019 support for loading host architecture modules, whether we
29020 compile them or not.
29021
29022 2008-07-17 Pavel Roskin <proski@gnu.org>
29023
29024 * configure.ac: Use -m32 or -m64 regardless of whether we had to
29025 change target_cpu. The compiler default can mismatch target_cpu
29026 in any case.
29027
29028 * disk/efi/efidisk.c: Fix format warnings on x86_64.
29029 * kern/efi/efi.c: Likewise.
29030
29031 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
29032 target compiler is functional.
29033 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
29034 are set up.
29035
29036 * configure.ac: Default to efi platform for x86_64-apple. Allow
29037 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
29038 adjustments from the rest, only do them if target is not
29039 explicitly given. Merge other adjustments with the final sanity
29040 check. Remove an extraneous check for supported CPU. Be
29041 specific which CPU and which platform is not supported.
29042
29043 * configure.ac: Default to pc platform for x86_64.
29044
29045 2008-07-17 Robert Millan <rmh@aybabtu.com>
29046
29047 Partial LinuxBIOS -> Coreboot rename.
29048
29049 * conf/i386-linuxbios.rmk: Renamed to ...
29050 * conf/i386-coreboot.rmk: ... this.
29051 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
29052 * configure.ac: Accept "coreboot" as input platform (but maintain
29053 compatibility with "linuxbios").
29054 * include/grub/i386/linuxbios: Renamed to ...
29055 * include/grub/i386/coreboot: ... this.
29056
29057 2008-07-17 Bean <bean123ch@gmail.com>
29058
29059 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
29060 (appleldr_mod_SOURCE): New variable.
29061 (appleldr_mod_CFLAGS): Likewise.
29062 (appleldr_mod_LDFLAGS): Likewise.
29063 (pci_mod_SOURCES): Likewise.
29064 (pci_mod_CFLAGS): Likewise.
29065 (pci_mod_LDFLAGS): Likewise.
29066 (lspci_mod_SOURCES): Likewise.
29067 (lspci_mod_CFLAGS): Likewise.
29068 (lspci_mod_LDFLAGS): Likewise.
29069
29070 * conf/x86_64-efi.rmk: New file.
29071
29072 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
29073 macro.
29074 (grub_efidisk_write): Likewise.
29075
29076 * include/efi/api.h (efi_call_0): New macro.
29077 (efi_call_1): Likewise.
29078 (efi_call_2): Likewise.
29079 (efi_call_3): Likewise.
29080 (efi_call_4): Likewise.
29081 (efi_call_5): Likewise.
29082 (efi_call_6): Likewise.
29083
29084 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
29085 grub_rescue_cmd_chainloader.
29086
29087 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
29088 (grub_pe32_optional_header): Change some fields based on i386 or
29089 x86_64 platform.
29090 (GRUB_PE32_PE32_MAGIC): Likewise.
29091
29092 * include/grub/efi/uga_draw.h: New file.
29093
29094 * include/grub/elf.h (STN_ABS): New constant.
29095 (R_X86_64_NONE): Relocation constant for x86_64.
29096 (R_X86_64_64): Likewise.
29097 (R_X86_64_PC32): Likewise.
29098 (R_X86_64_GOT32): Likewise.
29099 (R_X86_64_PLT32): Likewise.
29100 (R_X86_64_COPY): Likewise.
29101 (R_X86_64_GLOB_DAT): Likewise.
29102 (R_X86_64_JUMP_SLOT): Likewise.
29103 (R_X86_64_RELATIVE): Likewise.
29104 (R_X86_64_GOTPCREL): Likewise.
29105 (R_X86_64_32): Likewise.
29106 (R_X86_64_32S): Likewise.
29107 (R_X86_64_16): Likewise.
29108 (R_X86_64_PC16): Likewise.
29109 (R_X86_64_8): Likewise.
29110 (R_X86_64_PC8): Likewise.
29111
29112 * include/grub/i386/efi/pci.h: New file.
29113
29114 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
29115 Change it value based on platform.
29116 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
29117 (GRUB_E820_RAM): Likewise.
29118 (GRUB_E820_RESERVED): Likewise.
29119 (GRUB_E820_ACPI): Likewise.
29120 (GRUB_E820_NVS): Likewise.
29121 (GRUB_E820_EXEC_CODE): Likewise.
29122 (GRUB_E820_MAX_ENTRY): Likewise.
29123 (grub_e820_mmap): New structure.
29124 (linux_kernel_header): Change the efi field according to different
29125 kernel version, also field from linux_kernel_header.
29126
29127 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
29128
29129 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
29130 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
29131 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
29132 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
29133 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
29134 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
29135 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
29136 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
29137 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
29138 (GRUB_PCI_ADDR_IO_MASK): Likewise.
29139
29140 * include/grub/x86_64/efi/kernel.h: New file.
29141
29142 * include/grub/x86_64/efi/loader.h: Likewise.
29143
29144 * include/grub/x86_64/efi/machine.h: Likewise.
29145
29146 * include/grub/x86_64/efi/pci.h: Likewise.
29147
29148 * include/grub/x86_64/efi/time.h: Likewise.
29149
29150 * include/grub/x86_64/linux.h: Likewise.
29151
29152 * include/grub/x86_64/setjmp.h: Likewise.
29153
29154 * include/grub/x86_64/time.h: Likewise.
29155
29156 * include/grub/x86_64/types.h: Likewise.
29157
29158 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
29159 GRUB_TARGET_SIZEOF_VOID_P.
29160
29161 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
29162 (grub_efi_locate_handle): Likewise.
29163 (grub_efi_open_protocol): Likewise.
29164 (grub_efi_set_text_mode): Likewise.
29165 (grub_efi_stall): Likewise.
29166 (grub_exit): Likewise.
29167 (grub_reboot): Likewise.
29168 (grub_halt): Likewise.
29169 (grub_efi_exit_boot_services): Likewise.
29170 (grub_get_rtc): Likewise.
29171
29172 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
29173 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
29174 (grub_efi_allocate_pages): Wrap efi calls.
29175 (grub_efi_free_pages): Wrap efi calls.
29176 (grub_efi_get_memory_map): Wrap efi calls.
29177
29178 * kern/x86_64/dl.c: New file.
29179
29180 * kern/x86_64/efi/callwrap.S: Likewise.
29181
29182 * kern/x86_64/efi/startup.S: Likewise.
29183
29184 * loader/efi/appleloader.c: Likewise.
29185
29186 * loader/efi/chainloader.c (cmdline): New variable.
29187 (grub_chainloader_unload): Wrap efi calls.
29188 (grub_chainloader_boot): Likewise.
29189 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
29190 command line.
29191
29192 * loader/efi/chainloader_normal.c (chainloader_command):
29193 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
29194 command line.
29195
29196 * loader/i386/efi/linux.c (allocate_pages): Change allocation
29197 method.
29198 (grub_e820_add_region): New function.
29199 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
29200 booting.
29201 (grub_find_video_card): New function.
29202 (grub_linux_setup_video): New function.
29203 (grub_rescue_cmd_linux): Probe for video information.
29204
29205 * normal/x86_64/setjmp.S: New file.
29206
29207 * term/efi/console.c (map_char): New function.
29208 (grub_console_putchar): Map unicode char.
29209 (grub_console_checkkey): Wrap efi calls.
29210 (grub_console_getkey): Likewise.
29211 (grub_console_getwh): Likewise.
29212 (grub_console_gotoxy): Likewise.
29213 (grub_console_cls): Likewise.
29214 (grub_console_setcolorstate): Likewise.
29215 (grub_console_setcursor): Likewise.
29216
29217 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
29218
29219 2008-07-16 Pavel Roskin <proski@gnu.org>
29220
29221 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
29222 format strings.
29223
29224 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
29225 pointer, not an integer. This fixes a warning and prevents
29226 precision loss on 64-bit systems.
29227 (relocate_addresses): Remove unneeded cast.
29228
29229 2008-07-15 Pavel Roskin <proski@gnu.org>
29230
29231 * kern/i386/ieee1275/init.c: Include grub/cache.h.
29232
29233 * term/ieee1275/ofconsole.c: Disable code unused on i386.
29234
29235 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
29236 Fix comparison between signed and unsigned.
29237
29238 * include/grub/i386/ieee1275/console.h: Declare
29239 grub_console_init() and grub_console_fini().
29240
29241 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
29242 It's empty and unused.
29243
29244 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
29245 beginning to avoid warnings with some compilers.
29246
29247 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
29248 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
29249
29250 2008-07-14 Pavel Roskin <proski@gnu.org>
29251
29252 * kern/env.c (grub_register_variable_hook): Don't copy empty
29253 string, it leaks memory. Pass "" to grub_env_set(), it should
29254 handle constant strings.
29255
29256 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
29257 * commands/cmp.c (grub_cmd_cmp): Likewise.
29258 * kern/dl.c (grub_dl_flush_cache): Likewise.
29259 (grub_dl_load_core): Likewise.
29260 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
29261 (grub_elf64_load_phdrs): Likewise.
29262
29263 2008-07-13 Pavel Roskin <proski@gnu.org>
29264
29265 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
29266 between signed and unsigned.
29267 (LzmaEnc_Finish): Fix warning about an unused parameter.
29268
29269 2008-07-13 Bean <bean123ch@gmail.com>
29270
29271 * Makefile.in (enable_lzo): New rule.
29272
29273 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
29274
29275 * configure.ac (ENABLE_LZO): New option --enable-lzo.
29276
29277 * boot/i386/pc/lnxboot.S: #include <config.h>.
29278
29279 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
29280 its value according to the compression algorithm used, lzo or lzma.
29281
29282 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
29283 compression algorithm according to configure macro.
29284
29285 * kern/i386/pc/startup.S (codestart): Likewise.
29286
29287 * kern/i386/pc/lzma_decode.S: New file.
29288
29289 * include/grub/lib/LzFind.h: Likewise.
29290
29291 * include/grub/lib/LzHash.h: Likewise.
29292
29293 * include/grub/lib/LzmaDec.h: Likewise.
29294
29295 * include/grub/lib/LzmaEnc.h: Likewise.
29296
29297 * include/grub/lib/LzmaTypes.h: Likewise.
29298
29299 * lib/LzFind.c: Likewise.
29300
29301 * lib/LzmaDec.c: Likewise.
29302
29303 * lib/LzmaEnc.c: Likewise.
29304
29305 2008-07-13 Bean <bean123ch@gmail.com>
29306
29307 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
29308 (grub_ext4_extent_header): New structure.
29309 (grub_ext4_extent): Likewise.
29310 (grub_ext4_extent_idx): Likewise.
29311 (grub_ext4_find_leaf): New function.
29312 (grub_ext2_read_block): Handle extents.
29313
29314 2008-07-12 Robert Millan <rmh@aybabtu.com>
29315
29316 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
29317
29318 2008-07-11 Robert Millan <rmh@aybabtu.com>
29319
29320 * util/grub.d/40_custom.in: New file. Example on how to add custom
29321 entries to /etc/grub.d.
29322 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
29323 40_custom (implicitly, by merging all the grub.d rules).
29324
29325 2008-07-11 Pavel Roskin <proski@gnu.org>
29326
29327 * commands/read.c (grub_getline): Fix invalid memory access.
29328 Don't add newline to the variable value.
29329
29330 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
29331 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
29332 (serial_hw_get_port): Check validity of the port number.
29333 (grub_cmd_serial): Check return value of serial_hw_get_port().
29334
29335 2008-07-07 Pavel Roskin <proski@gnu.org>
29336
29337 * boot/i386/pc/diskboot.S (notification_string): Replace
29338 "Loading kernel" with just "loading". This is shorter, less
29339 confusing and saves a few bytes for possible future changes.
29340
29341 2008-07-05 Pavel Roskin <proski@gnu.org>
29342
29343 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
29344 size for ATAPI devices, they are undefined. Output sector
29345 number in decimal form.
29346
29347 * disk/ata.c: Use named constants for status bits.
29348
29349 2008-07-04 Pavel Roskin <proski@gnu.org>
29350
29351 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
29352 grub_addr_t before casting it to the void pointer to fix a
29353 warning. Non-addressable regions are discarded earlier.
29354 (grub_arch_modules_addr): Cast _end to grub_addr_t.
29355 * kern/i386/linuxbios/table.c: Include grub/misc.h.
29356 (check_signature): Don't shadow table_header.
29357 (grub_linuxbios_table_iterate): Cast numeric constants to
29358 grub_linuxbios_table_header_t.
29359 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
29360 grub_stop().
29361
29362 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
29363 prevent warnings.
29364
29365 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
29366 pointer, which can cause warnings. Support 64-bit addresses.
29367
29368 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
29369 of sizeof(long). This fixes PowerPC image generation on x86_64.
29370
29371 2008-07-04 Robert Millan <rmh@aybabtu.com>
29372
29373 This fixes a performance issue when pc & gpt partmap iterators
29374 didn't abort iteration even after our hook found what it was
29375 looking for (often causing expensive probes of non-existent drives).
29376
29377 Some callers relied on previous buggy behaviour, since they would
29378 raise an error when their own hooks caused early abortion of its
29379 iteration.
29380
29381 * kern/device.c (grub_device_open): Improve error message.
29382 * disk/lvm.c (grub_lvm_open): Likewise.
29383 * disk/raid.c (grub_raid_open): Likewise.
29384
29385 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
29386 when hook requests it, independently of grub_errno.
29387 (pc_partition_map_probe): Do not fail when find_func() caused
29388 early abortion of pc_partition_map_iterate().
29389
29390 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
29391 when hook requests it, independently of grub_errno.
29392 (gpt_partition_map_probe): Do not fail when find_func() caused
29393 early abortion of gpt_partition_map_iterate().
29394
29395 * kern/partition.c (grub_partition_iterate): Abort parent iteration
29396 when hook requests it, independently of grub_errno. Do not fail when
29397 part_map_iterate_hook() caused early abortion of p->iterate().
29398
29399 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
29400 when grub_partition_iterate() returned with non-zero.
29401
29402 2008-07-03 Pavel Roskin <proski@gnu.org>
29403
29404 * disk/ata.c (grub_ata_pio_write): Check status before writing,
29405 like we do in grub_ata_pio_read().
29406 (grub_ata_readwrite): Always write individual sectors. Fix the
29407 sector count for the remainder.
29408 (grub_ata_write): Enable writing to ATA devices. Correctly
29409 report error for ATAPI devices.
29410
29411 2008-07-02 Pavel Roskin <proski@gnu.org>
29412
29413 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
29414 warning.
29415
29416 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
29417 for every read sector, we already increment it for the whole
29418 batch. This fixes reading more than 256 sectors at once.
29419
29420 * util/grub-editenv.c (cmd_info): Cast argument to long
29421 explicitly. ptrdiff_t reduces to int on i386.
29422
29423 * util/grub-editenv.c (main): Be specific which parameter is
29424 missing.
29425
29426 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
29427 (memdisk): Make memdisk_orig_addr a pointer.
29428
29429 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
29430 for file offsets, use grub_off_t instead. Fix printf format
29431 warnings.
29432
29433 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
29434 there. Real unexpected warnings should not drown in the noise
29435 about known problems.
29436
29437 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
29438 grub_disk_addr_t for memory addresses.
29439
29440 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
29441 explicitly to fix a warning.
29442
29443 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
29444
29445 * Makefile.in (MODULE_LDFLAGS): New variable.
29446 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
29447 the linker accepts --build-id=none.
29448 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
29449 MODULE_LDFLAGS.
29450 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
29451
29452 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
29453 those in Linux XFS code. Provide a way to access 64-bit parent
29454 inode.
29455 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
29456 the end of struct grub_xfs_dir_header.
29457
29458 2008-07-02 Bean <bean123ch@gmail.com>
29459
29460 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
29461 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
29462 and GRUB_IEEE1275_FLAG_NO_ANSI.
29463
29464 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
29465 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
29466 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
29467
29468 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
29469 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
29470
29471 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
29472 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
29473
29474 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
29475 esc sequence on non ANSI terminal.
29476 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
29477
29478 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
29479 beginning of file.
29480
29481 2008-07-02 Bean <bean123ch@gmail.com>
29482
29483 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
29484 (grub_editenv_SOURCES): New variable.
29485 (pkglib_MODULES): Add loadenv.mod.
29486 (loadenv_mod_SOURCES): New variable.
29487 (loadenv_mod_CFLAGS): Likewise.
29488 (loadenv_mod_LDFLAGS): Likewise.
29489
29490 * include/grub/envblk.h: New file.
29491
29492 * util/envblk.c: New file.
29493
29494 * util/grub-editenv.c: New file.
29495
29496 * commands/loadenv.c: New file.
29497
29498 2008-07-01 Pavel Roskin <proski@gnu.org>
29499
29500 * include/multiboot2.h (struct multiboot_tag_module): Use char,
29501 not unsigned char. This fixes warnings and is consistent with
29502 other tags.
29503
29504 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
29505
29506 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
29507
29508 * term/tparm.c (analyze): Always set *popcount.
29509
29510 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
29511 cast to fix a warning.
29512
29513 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
29514 cast to suppress a warning.
29515
29516 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
29517 grub_fshelp_read_file() expects.
29518
29519 * fs/fat.c: Fix UUID calculation on big-endian systems. We
29520 write uuid as a 32-bit value in CPU byte order, so declare and
29521 use it as such.
29522
29523 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
29524 long if the format specifier expects it.
29525 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
29526 * partmap/pc.c (pc_partition_map_iterate): Likewise.
29527 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
29528 long to fix a warning.
29529 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
29530 grub_dprintf() arguments to fix warnings.
29531
29532 2008-06-30 Pavel Roskin <proski@gnu.org>
29533
29534 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
29535 install_bsd_part immediately before core.img is embedded or
29536 modified on disk. This fixes core.img verification if core.img
29537 cannot be embedded.
29538
29539 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
29540 core_path to calculate the blocklist.
29541 Patch from Javier Martín <lordhabbit@gmail.com>
29542
29543 2008-06-29 Robert Millan <rmh@aybabtu.com>
29544
29545 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
29546 block to disk block.
29547 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
29548 Patch from Niels Böhm <bitbucket@arcor.de>
29549
29550 2008-06-29 Robert Millan <rmh@aybabtu.com>
29551
29552 * util/update-grub_lib.in (font_path): Search for fonts in
29553 /boot/grub first, which is more likely to be readable (we aren't
29554 deciding where fonts live, just looking for them).
29555
29556 2008-06-26 Pavel Roskin <proski@gnu.org>
29557
29558 * util/biosdisk.c (read_device_map): Don't leave dead map
29559 entries for devices failing stat() check.
29560
29561 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
29562 core_path_dev for the core.img path on the target device.
29563
29564 2008-06-26 Robert Millan <rmh@aybabtu.com>
29565
29566 * disk/fs_uuid.c: New file.
29567 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
29568 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
29569 (fs_uuid_mod_LDFLAGS): New variables.
29570 * include/grub/disk.h (grub_disk_dev_id): Add
29571 `GRUB_DISK_DEVICE_UUID_ID'.
29572 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
29573 implement iterate().
29574
29575 2008-06-26 Robert Millan <rmh@aybabtu.com>
29576
29577 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
29578 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
29579 Linux image includes no initrd.
29580
29581 2008-06-21 Javier Martín <lordhabbit@gmail.com>
29582
29583 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
29584 call to resolve the core image location that effectively appended the
29585 name twice.
29586
29587 2008-06-21 Robert Millan <rmh@aybabtu.com>
29588
29589 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
29590 call from here ...
29591
29592 * util/grub.d/10_hurd.in: ... to here ...
29593 * util/grub.d/10_linux.in: ... and here.
29594
29595 2008-06-19 Robert Millan <rmh@aybabtu.com>
29596
29597 * kern/main.c (grub_main): Export `prefix' variable immediately
29598 after it has been set by grub_machine_set_prefix().
29599
29600 2008-06-19 Robert Millan <rmh@aybabtu.com>
29601
29602 * commands/search.c (search_label, search_fs_uuid, search_file): Print
29603 search result when not saving to variable, not the other way around.
29604 When saving to variable, abort iteration as soon as a match is found.
29605
29606 2008-06-19 Robert Millan <rmh@aybabtu.com>
29607
29608 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
29609 check for partition that provides /boot/grub. Its logic is flawed,
29610 as it prevents prepare_grub_to_access_device() from being called
29611 multiple times.
29612
29613 2008-06-19 Robert Millan <rmh@aybabtu.com>
29614
29615 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
29616 "insmod" command directly when abstraction modules are needed,
29617 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
29618 since it had already been processed).
29619
29620 2008-06-19 Pavel Roskin <proski@gnu.org>
29621
29622 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
29623 changed. This is needed in case GRUB_LIBDIR changes.
29624 * conf/i386-ieee1275.rmk: Likewise.
29625 * conf/i386-linuxbios.rmk: Likewise.
29626 * conf/i386-pc.rmk: Likewise.
29627 * conf/powerpc-ieee1275.rmk: Likewise.
29628
29629 2008-06-18 Pavel Roskin <proski@gnu.org>
29630
29631 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
29632 kernel_elf_symlist.c to symlist.c for consistency with other
29633 architectures. Update all users.
29634 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
29635
29636 2008-06-18 Robert Millan <rmh@aybabtu.com>
29637
29638 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
29639 it in prefix.
29640
29641 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
29642 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
29643 a RAID device, run setup() for all members independently on whether
29644 LVM abstraction is being used.
29645 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
29646 If grub-mkimage has set `*install_dos_part == -2', don't override this
29647 value.
29648 Perform *install_dos_part adjustments independently on whether
29649 we're embedding or not.
29650 Clarify error message when image is too big for embedding.
29651 Remove duplicate *install_dos_part stanza.
29652
29653 2008-06-17 Robert Millan <rmh@aybabtu.com>
29654
29655 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
29656 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
29657 variables.
29658 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
29659 values in grub_ofconsole_normal_color and
29660 grub_ofconsole_highlight_color (they're not directly related to
29661 background and foreground).
29662 (grub_ofconsole_setcolorstate): Extract background and foreground
29663 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
29664
29665 2008-06-17 Robert Millan <rmh@aybabtu.com>
29666
29667 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
29668 /boot/grub for the check in last commit, not /boot (they could be
29669 different partitions).
29670
29671 2008-06-16 Robert Millan <rmh@aybabtu.com>
29672
29673 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
29674 asked to setup access for the same partition that provides /boot,
29675 don't bother using UUIDs since our root already has the value we
29676 want.
29677
29678 2008-06-16 Robert Millan <rmh@aybabtu.com>
29679
29680 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
29681 I2O devices.
29682 Patch from Sven Mueller <sven@debian.org>.
29683
29684 2008-06-16 Robert Millan <rmh@aybabtu.com>
29685
29686 * util/update-grub.in: Check for $EUID instead of $UID.
29687 Reported by Vincent Zweije.
29688
29689 2008-06-16 Bean <bean123ch@gmail.com>
29690
29691 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
29692 (grub_ext2_read_block): Likewise.
29693 (grub_ext2_read_inode): Likewise.
29694 (grub_ext2_mount): Likewise.
29695 (grub_ext2_close): Likewise.
29696 (grub_ext3_get_journal): Removed.
29697
29698 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
29699 (grub_reiserfs_read_symlink): Likewise.
29700 (grub_reiserfs_mount): Likewise.
29701 (grub_reiserfs_open): Likewise.
29702 (grub_reiserfs_read): Likewise.
29703 (grub_reiserfs_close): Likewise.
29704 (grub_reiserfs_get_journal): Removed.
29705
29706 * fs/fshelp.c (grub_fshelp_read): Removed.
29707 (grub_fshelp_map_block): Likewise.
29708
29709 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
29710 (grub_fshelp_journal): Likewise.
29711 (grub_fshelp_read): Likewise.
29712 (grub_fshelp_map_block): Likewise.
29713
29714 2008-06-16 Pavel Roskin <proski@gnu.org>
29715
29716 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
29717 floating point anymore.
29718 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
29719
29720 2008-06-15 Pavel Roskin <proski@gnu.org>
29721
29722 * commands/ls.c (grub_ls_list_files): Use integer calculations
29723 for human readable format, avoid floating point use.
29724 * kern/misc.c (grub_ftoa): Remove.
29725 (grub_vsprintf): Remove floating point support.
29726
29727 2008-06-15 Robert Millan <rmh@aybabtu.com>
29728
29729 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
29730 devices.
29731 Reported by Max Vozeler.
29732
29733 2008-06-15 Robert Millan <rmh@aybabtu.com>
29734
29735 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
29736 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
29737 skipped later.
29738 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
29739 the beginning of the prefix.
29740
29741 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
29742 It is assumed that if we have a memdisk, grub-mkimage has set
29743 grub_prefix to include the "(memdisk)" drive in it.
29744
29745 2008-06-15 Robert Millan <rmh@aybabtu.com>
29746
29747 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
29748 Initialize keyboard controller after registering the terminal, so that
29749 grub_printf() can be called from grub_keyboard_controller_init().
29750
29751 2008-06-15 Robert Millan <rmh@aybabtu.com>
29752
29753 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
29754 extent-btree which is written as big endian on disk.
29755 Reported by Alain Greppin <al@chilibi.org>.
29756
29757 2008-06-14 Robert Millan <rmh@aybabtu.com>
29758
29759 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
29760 * util/i386/pc/grub-install.in (modules): Likewise.
29761
29762 2008-06-13 Pavel Roskin <proski@gnu.org>
29763
29764 * commands/ls.c (grub_ls_list_files): Fix format warnings.
29765
29766 2008-06-13 Bean <bean123ch@gmail.com>
29767
29768 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
29769
29770 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
29771
29772 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
29773 to indicate sparse block.
29774
29775 2008-06-12 Pavel Roskin <proski@gnu.org>
29776
29777 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
29778 number, grub_fshelp_read() does it for us.
29779
29780 * fs/fshelp.c (grub_fshelp_read): New function. Implement
29781 linear disk read with journal translation.
29782 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
29783 * include/grub/fshelp.h: Declare grub_fshelp_read().
29784
29785 2008-06-09 Pavel Roskin <proski@gnu.org>
29786
29787 * fs/minix.c (grub_minix_mount): Handle error reading
29788 superblock.
29789
29790 2008-06-08 Robert Millan <rmh@aybabtu.com>
29791
29792 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
29793 don't append the RAID prefix afterwards.
29794 Reported by Clint Adams.
29795
29796 2008-06-08 Robert Millan <rmh@aybabtu.com>
29797
29798 Based on description from Pavel:
29799 * kern/disk.c (grub_disk_check_range): Rename to ...
29800 (grub_disk_adjust_range): ... this. Add a comment explaining the
29801 tasks performed by this function.
29802
29803 2008-06-08 Robert Millan <rmh@aybabtu.com>
29804
29805 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
29806 `num_serial' (for consistency with other variables).
29807 (struct grub_ntfs_data): Add `uuid' member.
29808 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
29809 (grub_ntfs_uuid): New function.
29810 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
29811
29812 2008-06-07 Pavel Roskin <proski@gnu.org>
29813
29814 * util/biosdisk.c (open_device): Revert last change to the
29815 function, it broke installation. The sector needs to be
29816 different dependent on which device is opened.
29817
29818 2008-06-06 Robert Millan <rmh@aybabtu.com>
29819
29820 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
29821 rest of GRUB, and breakage doesn't happen if its value were modified.
29822
29823 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
29824 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
29825 a constant (same value).
29826 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
29827 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
29828
29829 2008-06-06 Robert Millan <rmh@aybabtu.com>
29830
29831 * util/biosdisk.c (open_device): Do not modify sector offset when
29832 accessing a partition. kern/disk.c already handles this for us.
29833
29834 2008-06-06 Robert Millan <rmh@aybabtu.com>
29835
29836 * util/grub-emu.c (grub_machine_init): Move code in this function from
29837 here ...
29838 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
29839 segfault in case grub_printf() is called).
29840
29841 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
29842 grub_probe. Update all users not to explicitly add it again.
29843 (grub_device): New variable; contains corresponding device for grubdir.
29844 (fs_module, partmap_module, devabstraction_module): Pass
29845 `--device ${grub_device}' to grub_probe to avoid traversing /dev
29846 every time.
29847
29848 2008-06-05 Robert Millan <rmh@aybabtu.com>
29849
29850 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
29851 is found, print it (same layout as with labels).
29852
29853 2008-06-04 Robert Millan <rmh@aybabtu.com>
29854
29855 * util/biosdisk.c (get_drive): Rename to ...
29856 (find_grub_drive): ... this. Update all users.
29857
29858 (get_os_disk): Rename to ...
29859 (convert_system_partition_to_system_disk): ... this. Update all users.
29860
29861 (find_drive): Rename to ...
29862 (find_system_device): ... this. Update all users.
29863
29864 2008-06-04 Robert Millan <rmh@aybabtu.com>
29865
29866 * util/biosdisk.c (get_os_disk): Handle IDA devices.
29867 * util/grub-mkdevicemap.c (get_mmc_disk_name)
29868 (make_device_map): Likewise.
29869
29870 2008-06-01 Robert Millan <rmh@aybabtu.com>
29871
29872 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
29873 before dereferencing it.
29874
29875 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
29876 union with fat12/fat16-specific ones. Add some new fields, including
29877 `num_serial' for both versions.
29878 (struct grub_fat_data): Add `uuid' member.
29879 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
29880 names. Initialize `data->uuid' using `num_serial'.
29881 (grub_fat_uuid): New function.
29882 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
29883
29884 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
29885 (grub_reiserfs_uuid): New function.
29886 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
29887 member.
29888
29889 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
29890 (grub_xfs_uuid): New function.
29891 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
29892
29893 2008-06-01 Robert Millan <rmh@aybabtu.com>
29894
29895 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
29896 code that is backward compatible with pre-uuid search command.
29897
29898 2008-05-31 Robert Millan <rmh@aybabtu.com>
29899
29900 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
29901 floppies after everything else, to ensure floppy drive isn't accessed
29902 unnecessarily (patch from Bean).
29903
29904 2008-05-31 Robert Millan <rmh@aybabtu.com>
29905
29906 * commands/search.c (search_label, search_fs_uuid, search_file): Do
29907 not print device names when we were asked to set a variable.
29908
29909 2008-05-31 Robert Millan <rmh@aybabtu.com>
29910
29911 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
29912 using "cursor-on" and "cursor-off" commands (understood at least by
29913 the Open Firmware flavour on OLPC).
29914
29915 2008-05-31 Michael Gorven <michael@gorven.za.net>
29916
29917 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
29918 on and off sequences.
29919
29920 2008-05-31 Robert Millan <rmh@aybabtu.com>
29921
29922 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
29923 * util/update-grub.in: Likewise.
29924
29925 2008-05-30 Pavel Roskin <proski@gnu.org>
29926
29927 * util/biosdisk.c (linux_find_partition): Simplify logic and
29928 make the code more universal. Keep special processing for
29929 devfs, but use a simple rule for all other devices. If the
29930 device ends with a number, append 'p' and the partition number.
29931 Otherwise, append only the partition number.
29932
29933 2008-05-30 Robert Millan <rmh@aybabtu.com>
29934
29935 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
29936 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
29937 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
29938 the `root' parameter to Linux.
29939
29940 2008-05-30 Robert Millan <rmh@aybabtu.com>
29941
29942 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
29943 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
29944 --fs_uuid with --fs-uuid.
29945 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
29946 all filesystems support them).
29947
29948 2008-05-30 Robert Millan <rmh@aybabtu.com>
29949
29950 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
29951 grub_printf() flags, since we're printing in units of 2 bytes.
29952
29953 2008-05-30 Robert Millan <rmh@aybabtu.com>
29954
29955 * util/grub.d/00_header.in: Remove obsolete comment referencing
29956 convert_system_path_to_grub_path().
29957 * util/update-grub.in: Likewise.
29958 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
29959 (convert_system_path_to_grub_path): Add a warning message explaining
29960 that this function is deprecated. Rely on is_path_readable_by_grub()
29961 for the readability checks.
29962 (font_path): Use is_path_readable_by_grub() for the readability
29963 check rather than convert_system_path_to_grub_path().
29964
29965 2008-05-30 Robert Millan <rmh@aybabtu.com>
29966
29967 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
29968 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
29969 converting it first.
29970 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
29971 grub.cfg for access to font file, and afterwards call it again to set
29972 the root device.
29973
29974 2008-05-30 Robert Millan <rmh@aybabtu.com>
29975
29976 * commands/search.c (options): Add --fs_uuid option.
29977 (search_fs_uuid): New function.
29978 (grub_cmd_search): Fix --set argument passing.
29979 Use search_fs_uuid() when requested via --fs_uuid.
29980 (grub_search_init): Update help message.
29981 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
29982 and redeclare it as an array of 16-bit words.
29983 (grub_ext2_uuid): New function.
29984 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
29985 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
29986 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
29987 (GRUB_DEVICE_BOOT_UUID): New variables.
29988 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
29989 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
29990 whenever possible.
29991 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
29992 just assume `root' variable has the right value.
29993 * util/grub.d/10_linux.in: Likewise.
29994 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
29995 via PRINT_FS_UUID.
29996 (main): Recognise `-t fs_uuid' argument.
29997
29998 2008-05-30 Robert Millan <rmh@aybabtu.com>
29999
30000 * util/biosdisk.c (map): Redefine structure to hold information
30001 about GRUB drive name.
30002 (get_drive): Reimplement without assuming (and verifying) BIOS-like
30003 drive names.
30004 (call_hook): Remove.
30005 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
30006 member. Assume drive has partitions.
30007 (grub_util_biosdisk_open): Access device names via `.device' struct
30008 member.
30009 (open_device): Likewise.
30010 (find_drive): Likewise.
30011 (read_device_map): Adjust map[] usage to match the new struct
30012 definition. Don't check for duplicates (still possible, but not cheap
30013 anymore).
30014 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
30015 (make_device_name): Remove assumption of BIOS-like drive names.
30016
30017 2008-05-30 Pavel Roskin <proski@gnu.org>
30018
30019 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
30020 compiling execute.c doesn't need grub_script.tab.h anymore.
30021 (normal/command.c_DEPENDENCIES): Likewise.
30022 (normal/function.c_DEPENDENCIES): Likewise.
30023 * conf/i386-ieee1275.rmk: Likewise.
30024 * conf/i386-linuxbios.rmk: Likewise.
30025 * conf/i386-pc.rmk: Likewise.
30026 * conf/powerpc-ieee1275.rmk: Likewise.
30027 * conf/sparc64-ieee1275.rmk: Likewise.
30028
30029 2008-05-29 Pavel Roskin <proski@gnu.org>
30030
30031 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
30032 when scanning metadata for volume group name.
30033
30034 * include/grub/script.h: Don't include grub_script.tab.h. It's
30035 a generated file, which may only be included from the files with
30036 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
30037 use union YYSTYPE, as the later allows forward declaration.
30038 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
30039
30040 2008-05-29 Robert Millan <rmh@aybabtu.com>
30041
30042 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
30043 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
30044 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
30045 (grub_console_checkkey): Add grub_dprintf() call to report unknown
30046 scan codes.
30047
30048 2008-05-29 Robert Millan <rmh@aybabtu.com>
30049
30050 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
30051 control key combinations.
30052
30053 2008-05-29 Robert Millan <rmh@aybabtu.com>
30054
30055 * util/powerpc/ieee1275/grub-install.in: Move from here ...
30056 * util/ieee1275/grub-install.in: ... to here.
30057 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
30058 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
30059 (grub_install_SOURCES): Likewise.
30060
30061 2008-05-29 Robert Millan <rmh@aybabtu.com>
30062
30063 * fs/affs.c: Update copyright year.
30064 * fs/ext2.c: Likewise.
30065 * fs/fshelp.c: Likewise.
30066 * fs/hfsplus.c: Likewise.
30067 * fs/ntfs.c: Likewise.
30068 * fs/xfs.c: Likewise.
30069 * include/grub/fshelp.h: Likewise.
30070 * util/grub-mkdevicemap.c: Likewise.
30071
30072 2008-05-28 Robert Millan <rmh@aybabtu.com>
30073
30074 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
30075 might need to be fatfs to support some firmware implementations
30076 (e.g. OFW or EFI).
30077
30078 2008-05-28 Robert Millan <rmh@aybabtu.com>
30079
30080 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
30081 devices.
30082 * util/grub-mkdevicemap.c (get_mmc_disk_name)
30083 (make_device_map): Likewise.
30084
30085 2008-05-20 Bean <bean123ch@gmail.com>
30086
30087 * fs/fshelp.c (grub_fshelp_map_block): New function.
30088 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
30089 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
30090
30091 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
30092 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
30093 (grub_fshelp_journal): New structure.
30094 (grub_fshelp_map_block): New function prototype.
30095 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
30096 (grub_fshelp_map_block): Likewise.
30097
30098 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
30099 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
30100 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
30101 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
30102 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
30103 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
30104 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
30105 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
30106 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
30107 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
30108 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
30109 (grub_ext2_sblock): New members for journal support.
30110 (grub_ext3_journal_header): New structure.
30111 (grub_ext3_journal_revoke_header): Likewise.
30112 (grub_ext3_journal_block_tag): Likewise.
30113 (grub_ext3_journal_sblock): Likewise.
30114 (grub_fshelp_node): New members logfile and journal.
30115 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
30116 grub_fshelp_map_block to get real block number.
30117 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
30118 number.
30119 (grub_ext2_read_inode): Likewise.
30120 (grub_ext3_get_journal): New function.
30121 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
30122 (grub_ext2_close): Release memory used by journal.
30123
30124 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
30125 (REISERFS_MAGIC_DESC_BLOCK): New macro.
30126 (grub_reiserfs_transaction_header): Renamed to
30127 grub_reiserfs_description_block, replace field data with real_blocks.
30128 (grub_reiserfs_commit_block): New structure.
30129 (grub_reiserfs_data): New member journal.
30130 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
30131 number.
30132 (grub_reiserfs_read_symlink): Likewise.
30133 (grub_reiserfs_iterate_dir): Likewise.
30134 (grub_reiserfs_open): Likewise.
30135 (grub_reiserfs_read): Likewise.
30136 (grub_reiserfs_get_journal): New function.
30137 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
30138 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
30139 using grub_reiserfs_get_journal.
30140 (grub_reiserfs_close): Release memory used by journal.
30141
30142 * fs/affs.c (grub_affs_read_block): Change block type to
30143 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
30144
30145 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
30146
30147 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
30148
30149 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
30150
30151 * fs/udf.c (grub_udf_read_block): Change block type to
30152 grub_disk_addr_t. Use type cast to avoid warning.
30153
30154 * fs/xfs.c (grub_xfs_read_block): Likewise.
30155
30156 2008-05-16 Christian Franke <franke@computer.org>
30157
30158 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
30159 to ensure that break with ESC will always work.
30160 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
30161 Remove ESC from keyboard queue.
30162
30163 2008-05-16 Christian Franke <franke@computer.org>
30164
30165 * util/biosdisk.c: [__CYGWIN__] Add includes.
30166 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
30167 (get_os_disk): Move variable declarations to OS specific
30168 parts to avoid warning.
30169 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
30170 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
30171 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
30172 Cygwin.
30173 * util/getroot.c: [__CYGWIN__] Add includes.
30174 (strip_extra_slashes): Fix "/" case.
30175 [__CYGWIN__] (get_win32_path): New function.
30176 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
30177 [__CYGWIN__] (find_root_device): Disable.
30178 [__CYGWIN__] (get_bootsec_serial): New function.
30179 [__CYGWIN__] (find_cygwin_root_device): Likewise.
30180 [__linux__] (grub_guess_root_device): Add early returns to simplify
30181 structure.
30182 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
30183 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
30184 check for Linux only.
30185
30186 2008-05-15 Bean <bean123ch@gmail.com>
30187
30188 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
30189 keyboard hang problem in apple's intel mac.
30190
30191 2008-05-09 Robert Millan <rmh@aybabtu.com>
30192
30193 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
30194 devices.
30195 * util/grub-mkdevicemap.c (get_virtio_disk_name)
30196 (make_device_map): Likewise.
30197 Reported by Aurelien Jarno <aurel32@debian.org>
30198
30199 2008-05-07 Ian Campbell <ijc@hellion.org.uk>
30200
30201 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
30202 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
30203 (make_device_map): Output entries for xvd type disks.
30204
30205 2008-05-07 Robert Millan <rmh@aybabtu.com>
30206
30207 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
30208 devices.
30209 * util/grub-mkdevicemap.c (get_cciss_disk_name)
30210 (make_device_map): Likewise.
30211 Reported by Roland Dreier <rdreier@cisco.com>
30212
30213 2008-05-07 Robert Millan <rmh@aybabtu.com>
30214
30215 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
30216 grub_strstr() call. Correct a few mistakes in failure path handling.
30217
30218 2008-05-06 Robert Millan <rmh@aybabtu.com>
30219
30220 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
30221 Do not print a trailing slash (therefore, the root directory is an
30222 empty string).
30223 (convert_system_path_to_grub_path): Do not remove trailing slash
30224 from make_system_path_relative_to_its_root() output.
30225
30226 * util/i386/pc/grub-install.in: Add trailing slash to output from
30227 make_system_path_relative_to_its_root().
30228
30229 2008-05-06 Robert Millan <rmh@aybabtu.com>
30230
30231 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
30232 ensures that output lines aren't intermangled with those sent to
30233 stderr (via grub_util_info()).
30234 * util/grub-probe.c (grub_refresh): Likewise.
30235 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
30236
30237 2008-05-05 Christian Franke <franke@computer.org>
30238
30239 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
30240 Add Cygwin device names.
30241 (get_ide_disk_name) [__CYGWIN__]: Likewise.
30242 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
30243 (check_device): Return error instead of success on empty name.
30244 (make_device_map): Move label inside linux specific code to
30245 prevent compiler warning.
30246
30247 2008-04-30 Robert Millan <rmh@aybabtu.com>
30248
30249 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
30250 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
30251 first boot option.
30252 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
30253
30254 2008-04-29 Robert Millan <rmh@aybabtu.com>
30255
30256 * docs/grub.cfg: New file (example GRUB configuration).
30257
30258 2008-04-26 Robert Millan <rmh@aybabtu.com>
30259
30260 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
30261 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
30262 and `disk/ieee1275/nand.c'.
30263
30264 2008-04-25 Bean <bean123ch@gmail.com>
30265
30266 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
30267 i386-linuxbios.
30268
30269 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
30270 change the buffer size to 4096 for cdrom device.
30271
30272 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
30273 and nand.mod.
30274 (_linux_mod_SOURCES): New variable.
30275 (_linux_mod_CFLAGS): Likewise.
30276 (_linux_mod_LDFLAGS): Likewise.
30277 (linux_mod_SOURCES): Likewise.
30278 (linux_mod_CFLAGS): Likewise.
30279 (linux_mod_LDFLAGS): Likewise.
30280 (nand_mod_SOURCES): Likewise.
30281 (nand_mod_CFLAGS): Likewise.
30282 (nand_mod_LDFLAGS): Likewise.
30283
30284 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
30285 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
30286 type property. (nand device in olpc don't have this property)
30287
30288 * include/grub/disk.h (grub_disk_dev_id): New macro
30289 GRUB_DISK_DEVICE_NAND_ID.
30290
30291 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
30292 function prototype.
30293 (grub_rescue_cmd_initrd): Likewise.
30294
30295 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
30296 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
30297 ofw_cif_handler and ofw_idt, adjust padding number.
30298
30299 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
30300 GRUB_MACHINE_IEEE1275 is defined.
30301
30302 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
30303 Use NESTED_FUNC_ATTR attribute on the hook parameter.
30304
30305 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
30306 on nested function heap_init.
30307 (grub_upper_mem): New variable for i386-ieee1275.
30308 (grub_get_extended_memory): New function for i386-ieee1275.
30309 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
30310
30311 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
30312 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
30313 property.
30314
30315 * loader/i386/ieee1275/linux.c: New file.
30316
30317 * loader/i386/ieee1275/linux_normal.c: New file.
30318
30319 * disk/ieee1275/nand.c: New file.
30320
30321 2008-04-18 Thomas Schwinge <tschwinge@gnu.org>
30322
30323 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
30324 value.
30325 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
30326
30327 2008-04-18 Robert Millan <rmh@aybabtu.com>
30328
30329 Restructures early code path on ieee1275 to unify grub_main() as
30330 the first C function that is executed in every platform.
30331
30332 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
30333 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
30334 cmain().
30335 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
30336 * kern/ieee1275/cmain.c (cmain): Rename to ...
30337 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
30338 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
30339 at the beginning.
30340
30341 2008-04-18 Robert Millan <rmh@aybabtu.com>
30342
30343 * util/update-grub.in: Fix syntax error when setting
30344 `GRUB_PRELOAD_MODULES'.
30345 Reported by Stephane Chazelas <stephane@artesyncp.com>
30346
30347 2008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
30348
30349 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
30350 section into account, newer toolchains generate unique build ids
30351 * configure.ac: remove the test for --build-id=none acceptance,
30352 we want build ids to be preserved
30353 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
30354 far from other sections don't cause the raw binary images grow
30355 size
30356
30357 2008-04-15 Robert Millan <rmh@aybabtu.com>
30358
30359 * disk/lvm.c: Update copyright year.
30360 * kern/misc.c: Likewise.
30361
30362 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
30363
30364 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
30365 there is no memory left for physical volume name.
30366
30367 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
30368
30369 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
30370 volume name mapping to support bigger than 9 character names properly.
30371
30372 2008-04-13 Robert Millan <rmh@aybabtu.com>
30373
30374 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
30375 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
30376
30377 2008-04-13 Christian Franke <franke@computer.org>
30378
30379 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
30380 to create a floppy emulation boot CD when non emulation mode
30381 does not work.
30382 Enable Joliet CD filesystem extension.
30383
30384 2008-04-13 Robert Millan <rmh@aybabtu.com>
30385
30386 * kern/misc.c (grub_strncat): Fix off-by-one error.
30387 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
30388
30389 * kern/env.c (grub_env_context_close): Clear current context, not
30390 previous one.
30391 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
30392
30393 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
30394
30395 2008-04-13 Robert Millan <rmh@aybabtu.com>
30396
30397 Improve robustness when handling LVM.
30398
30399 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
30400 (and leave `*p' unmodified).
30401 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
30402 through it.
30403 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
30404 iterating through it.
30405 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
30406 through it.
30407 (grub_lvm_scan_device): Check the return value (and fail gracefully
30408 when due) on each grub_lvm_getvalue() or grub_strstr() call.
30409 Don't assume `vg->pvs != NULL' when iterating through it.
30410
30411 2008-04-13 Robert Millan <rmh@aybabtu.com>
30412
30413 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
30414 * genmk.rb (partmap): New variable.
30415 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
30416 (#{partmap}): New target rule.
30417 * genpartmaplist.sh: New file.
30418 * Makefile.in (pkglib_DATA): Add partmap.lst.
30419 (partmap.lst): New target rule.
30420 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
30421 modules (including all partition maps), instead of preloading them.
30422
30423 2007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
30424
30425 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
30426 `linux-boot-prober' (if installed) to detect other operating
30427 systems which are installed on the computer and add them to
30428 the boot menu.
30429 * conf/common.rmk: Build and install 30_os-prober.
30430
30431 2008-04-12 Robert Millan <rmh@aybabtu.com>
30432
30433 * kern/powerpc/ieee1275/init.c: Move from here ...
30434 * kern/ieee1275/init.c: ... to here. Update all users.
30435
30436 * kern/powerpc/ieee1275/cmain.c: Move from here ...
30437 * kern/ieee1275/cmain.c: ... to here. Update all users.
30438
30439 * kern/powerpc/ieee1275/openfw.c: Move from here ...
30440 * kern/ieee1275/openfw.c: ... to here. Update all users.
30441
30442 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
30443 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
30444
30445 2008-04-10 Pavel Roskin <proski@gnu.org>
30446
30447 * configure.ac: Always use "_cv_" in cache variables for
30448 compatibility with Autoconf 2.62.
30449
30450 2008-04-07 Robert Millan <rmh@aybabtu.com>
30451
30452 Revert grub/machine/init.h addition by Pavel (since it breaks on
30453 i386-ieee1275 and others):
30454 * util/i386/pc/misc.c: Remove grub/machine/init.h.
30455 * util/powerpc/ieee1275/misc.c: Likewise.
30456
30457 2008-04-07 Robert Millan <rmh@aybabtu.com>
30458
30459 * util/grub-probe.c (probe): Improve error message.
30460
30461 2008-04-07 Robert Millan <rmh@aybabtu.com>
30462
30463 * util/biosdisk.c (read_device_map): Skip devices that don't exist
30464 (this prevents the presence of a bogus entry from ruining the whole
30465 thing).
30466
30467 2008-04-06 Pavel Roskin <proski@gnu.org>
30468
30469 * util/biosdisk.c: Include grub/util/biosdisk.h.
30470 * util/grub-fstest.c (execute_command): Make static.
30471 * util/grub-mkdevicemap.c (check_device): Likewise.
30472 * util/i386/pc/misc.c: Include grub/machine/init.h.
30473 * util/powerpc/ieee1275/misc.c: Likewise.
30474 * util/lvm.c: Include grub/util/lvm.h.
30475 * util/misc.c: Include grub/kernel.h, grub/misc.h and
30476 grub/cache.h.
30477 * util/raid.c: Include grub/util/raid.h.
30478 (grub_util_getdiskname): Make static.
30479
30480 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
30481 grub_hostfs_fini(), as they are called from grub_init_all() and
30482 grub_fini_all() respectively. This fixes an infinite loop in
30483 grub-fstest due to double registration of hostfs.
30484 Reported by Christian Franke <Christian.Franke@t-online.de>
30485
30486 2008-04-05 Pavel Roskin <proski@gnu.org>
30487
30488 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
30489 all 8 functions. Otherwise, probe function 0 only.
30490
30491 2008-04-04 Pavel Roskin <proski@gnu.org>
30492
30493 * commands/lspci.c (grub_lspci_iter): Print the bus number
30494 correctly.
30495
30496 * commands/lspci.c (grub_pci_classes): Fix typos.
30497 (grub_lspci_iter): Don't print func twice. Print vendor ID
30498 before device ID, as it's normally done.
30499
30500 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
30501 Fix signedness warnings.
30502 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
30503 Likewise.
30504 * util/ieee1275/get_disk_name.c: Include config.h so that
30505 _GNU_SOURCE is defined and getline() is declared. Mark an
30506 unused argument as such. Fix a signedness warning.
30507
30508 2008-04-02 Pavel Roskin <proski@gnu.org>
30509
30510 * genkernsyms.sh.in: Use more robust assignments for CC and
30511 srcdir. Quote srcdir.
30512 * gensymlist.sh.in: Likewise. Assert at the compile time that
30513 the symbol table is not empty.
30514
30515 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
30516 * fs/cpio.c (grub_cpio_read): Likewise.
30517
30518 2008-04-01 Pavel Roskin <proski@gnu.org>
30519
30520 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
30521 * disk/host.c (grub_host_open): Likewise.
30522 * disk/loopback.c (grub_loopback_open): Likewise.
30523 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
30524 disk->id as in disk/host.c, not a multi-character constant.
30525
30526 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
30527 later is obsolete, potentially dangerous and sets a bad example.
30528 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
30529 * util/misc.c (grub_util_get_image_size): Likewise.
30530
30531 * disk/loopback.c (options): Improve help for "--partitions".
30532
30533 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
30534 options to align them with the short options, e.g. "echo -e".
30535
30536 2008-03-31 Bean <bean123ch@gmail.com>
30537
30538 * video/reader/png.c (grub_png_data): New member is_16bit and
30539 image_data.
30540 (grub_png_decode_image_header): Detect 16 bit png image.
30541 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
30542 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
30543 (grub_video_reader_png): Release memory occupied by image_data.
30544
30545 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
30546 4096 bytes.
30547 (grub_nfs_mount): Skip the test for sector per cluster.
30548
30549 * include/grub/ntfs.h (MAX_SPC): Removed.
30550
30551 2008-03-31 Bean <bean123ch@gmail.com>
30552
30553 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
30554 (grub_probe_SOURCES): Add fs/afs.c.
30555 (grub_fstest_SOURCES): Likewise.
30556 (afs_mod_SOURCES): New variable.
30557 (afs_mod_CFLAGS): Likewise.
30558 (afs_mod_LDFLAGS): Likewise.
30559
30560 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
30561 (grub_emu_SOURCES): Likewise.
30562
30563 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
30564
30565 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30566
30567 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
30568
30569 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30570
30571 * fs/afs.c: New file.
30572
30573 2008-03-30 Pavel Roskin <proski@gnu.org>
30574
30575 * disk/host.c: Include grub/misc.h to fix a warning.
30576 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
30577 warnings about implicit declarations.
30578
30579 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
30580 variable.
30581 * include/grub/i386/loader.h: Change declaration of
30582 grub_linux_boot() to match what grub_loader_set() expects.
30583 * util/getroot.c (grub_guess_root_device): Return const char* to
30584 fix a warning.
30585 * util/grub-probe.c (probe): Fix a warning about uninitialized
30586 abstraction_name variable.
30587 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
30588 second argument as unused to fix a warning.
30589
30590 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
30591 missing grub_error() call.
30592
30593 * util/update-grub_lib.in: Define datarootdir, since Autoconf
30594 2.60 and newer uses it to define datadir.
30595
30596 * commands/sleep.c: Fix warning about implicit declaration.
30597 * disk/memdisk.c: Likewise.
30598 * loader/aout.c: Likewise.
30599 * loader/i386/bsd_normal.c: Likewise.
30600 * util/grub-probe.c: Likewise.
30601
30602 * commands/i386/cpuid.c (has_longmode): Make static.
30603 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
30604 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
30605
30606 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
30607 GDT. This is more robust, as %ds can change.
30608 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
30609 calling real_to_prot().
30610 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
30611
30612 2008-03-28 Pavel Roskin <proski@gnu.org>
30613
30614 * kern/i386/pc/startup.S: Assert that uncompressed functions
30615 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
30616 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
30617 code, as they push parts of the code (error handlers) beyond
30618 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
30619 code as correctness and size.
30620
30621 2008-03-28 Pavel Roskin <proski@gnu.org>
30622
30623 * kern/i386/pc/startup.S
30624 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
30625 data block address to the real mode, keep offset minimal. This
30626 works around a bug in AWARD BIOS on old Athlon systems, which
30627 makes CD detection hang.
30628
30629 2008-03-26 Pavel Roskin <proski@gnu.org>
30630
30631 * normal/color.c (grub_parse_color_name_pair): Make `name' a
30632 const.
30633 * include/grub/normal.h: Add grub_parse_color_name_pair()
30634 declaration.
30635
30636 2008-03-24 Bean <bean123ch@gmail.com>
30637
30638 * disk/i386/pc/biosdisk.c (cd_start): Removed.
30639 (cd_count): Removed.
30640 (cd_drive): New variable.
30641 (grub_biosdisk_get_drive): Don't check for (cdN) device.
30642 (grub_biosdisk_call_hook): Likewise.
30643 (grub_biosdisk_iterate): Change cdrom detection method.
30644 (grub_biosdisk_open): Replace cd_start with cd_drive.
30645 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
30646 detect cdrom device.
30647
30648 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
30649 Removed.
30650 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
30651 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
30652 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
30653 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
30654 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
30655 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
30656 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
30657 (grub_biosdisk_cdrp): New structure.
30658 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
30659
30660 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
30661
30662 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
30663 device.
30664
30665 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
30666 New function.
30667
30668 2008-03-20 Robert Millan <rmh@aybabtu.com>
30669
30670 Remove 2 TiB limit in ata.mod.
30671 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
30672 (grub_ata_dumpinfo): Print sector count with 0x%llx.
30673 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
30674 grub_uint64_t instead of grub_uint32_t.
30675
30676 2008-03-05 Bean <bean123ch@gmail.com>
30677
30678 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
30679 (grub_multiboot): Set boot device.
30680
30681 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
30682
30683 2008-03-02 Bean <bean123ch@gmail.com>
30684
30685 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
30686 symlink_buffer.
30687
30688 2008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
30689
30690 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
30691 texinfo.tex.
30692
30693 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
30694 modified.
30695
30696 * docs/fdl.texi: New file.
30697
30698 * docs/mdate-sh: New file. Copied from gnulib.
30699 * docs/texinfo.tex: Likewise.
30700
30701 * config.guess: Updated from gnulib.
30702 * install-sh: Likewise.
30703
30704 2008-02-28 Robert Millan <rmh@aybabtu.com>
30705
30706 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
30707 (aout_mod_SOURCES): New variable.
30708 (aout_mod_CFLAGS): Likewise.
30709 (aout_mod_LDFLAGS): Likewise.
30710
30711 * conf/i386-ieee1275.rmk: Likewise.
30712
30713 2008-02-28 Robert Millan <rmh@aybabtu.com>
30714
30715 * util/update-grub.in: Reorganise terminal validity check. Accept
30716 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
30717 Based on suggestion by Franklin PIAT.
30718
30719 2008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
30720
30721 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
30722 function.
30723 * util/getroot.c (grub_util_check_block_device): New function that
30724 returns the given argument if it is a block device and returns NULL else.
30725 * util/grub-probe.c (argument_is_device): New variable.
30726 (probe): Promote device_name from a variable to an argument. Receive
30727 device_name from grub_util_check_block_device() if path is NULL and from
30728 grub_guess_root_device() else. Do not free() device_name anymore.
30729 (options): Introduce new parameter '-d, --device'.
30730 (main): Add description of the new parameter to the help screen.
30731 Rename path variable to argument. Set argument_is_device if the '-d'
30732 option is given. Pass argument to probe() depending on
30733 argument_is_device.
30734
30735 2008-02-24 Bean <bean123ch@gmail.com>
30736
30737 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
30738 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
30739 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
30740 (GRUB_ISO9660_VOLDESC_PART): Likewise.
30741 (GRUB_ISO9660_VOLDESC_END): Likewise.
30742 (grub_iso9660_primary_voldesc): New member escape.
30743 (grub_iso9660_data): New member joliet.
30744 (grub_iso9660_convert_string): New function.
30745 (grub_iso9660_mount): Detect joliet extension.
30746 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
30747 (grub_iso9660_iso9660_label): Likewise.
30748
30749 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
30750 (grub_setup_SOURCES): Add fs/udf.c.
30751 (grub_fstest_SOURCES): Likewise.
30752 (udf_mod_SOURCES): New variable.
30753 (udf_mod_CFLAGS): Likewise.
30754 (udf_mod_LDFLAGS): Likewise.
30755
30756 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
30757 (grub_emu_SOURCES): Likewise.
30758
30759 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
30760
30761 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30762
30763 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
30764
30765 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30766
30767 * fs/udf.c: New file.
30768
30769 2008-02-24 Robert Millan <rmh@aybabtu.com>
30770
30771 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
30772 (normal/lexer.c_DEPENDENCIES): New variables.
30773 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
30774 (normal/lexer.c_DEPENDENCIES): Likewise.
30775 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
30776 (normal/lexer.c_DEPENDENCIES): Likewise.
30777 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
30778 (normal/lexer.c_DEPENDENCIES): Likewise.
30779 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
30780 (normal/lexer.c_DEPENDENCIES): Likewise.
30781 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
30782 (normal/lexer.c_DEPENDENCIES): Likewise.
30783
30784 2008-02-23 Robert Millan <rmh@aybabtu.com>
30785
30786 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
30787 since they were intended to be in hex. This didn't break previously
30788 because of a bug in gpt_partition_map_iterate() (see below).
30789
30790 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
30791 when checking the validity of GPT header.
30792 Remove `partno', since it always provides the same information as `i'.
30793
30794 2008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
30795
30796 * include/grub/efi/time.h: Fix a wrong comment.
30797
30798 2008-02-19 Pavel Roskin <proski@gnu.org>
30799
30800 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
30801 message.
30802
30803 2008-02-19 Bean <bean123ch@gmail.com>
30804
30805 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
30806 (aout_mod_SOURCES): New variable.
30807 (aout_mod_CFLAGS): Likewise.
30808 (aout_mod_LDFLAGS): Likewise.
30809 (_bsd_mod_SOURCES): New variable.
30810 (_bsd_mod_CFLAGS): Likewise.
30811 (_bsd_mod_LDFLAGS): Likewise.
30812 (bsd_mod_SOURCES): New variable.
30813 (bsd_mod_CFLAGS): Likewise.
30814 (bsd_mod_LDFLAGS): Likewise.
30815
30816 * include/grub/aout.h: New file.
30817
30818 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
30819
30820 * include/grub/i386/bsd.h: New file.
30821
30822 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
30823 to make it public.
30824
30825 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
30826 function is called, so that it's possible to change it inside the hook.
30827 (grub_elf64_load): Likewise.
30828 (grub_elf_file): Don't close the file if elf header is not found.
30829 (grub_elf_close): Close the file if grub_elf_file fails (The new
30830 grub_elf_file won't close it).
30831 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
30832 (grub_elf64_size): Likewise.
30833
30834 * kern/i386/loader.S (grub_unix_real_boot): New function.
30835
30836 * loader/aout.c: New file.
30837
30838 * loader/i386/bsd.c: New file.
30839
30840 * loader/i386/bsd_normal.c: New file.
30841
30842 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
30843
30844 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
30845 can test other formats.
30846
30847 2008-02-19 Robert Millan <rmh@aybabtu.com>
30848
30849 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
30850 (grub_gpt_partition_type_empty): Redefine with macro from
30851 `<grub/gpt_partition.h>'.
30852 (gpt_partition_map_iterate): Adjust partition type comparison.
30853
30854 Export `entry' as partmap-specific `part.data' struct.
30855 (grub_gpt_header, grub_gpt_partentry): Move from here ...
30856
30857 * include/grub/gpt_partition.h (grub_gpt_header)
30858 (grub_gpt_partentry): ... to here (new file).
30859
30860 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
30861
30862 (grub_gpt_partition_type_bios_boot): New const variable, defined
30863 with macro from `<grub/gpt_partition.h>'.
30864
30865 (setup): Replace `first_start' with `embed_region', which keeps
30866 track of the embed region (and is partmap-agnostic).
30867
30868 Replace find_first_partition_start() with find_usable_region(),
30869 which finds a usable region for embedding using partmap-specific
30870 knowledge (supports PC/MSDOS and GPT).
30871
30872 Fix all assumptions that the embed region start at sector 1, using
30873 `embed_region.start' from now on. Similarly, use `embed_region.end'
30874 rather than `first_start' to calculate available size.
30875
30876 In grub_util_info() message, replace "into after the MBR" with an
30877 indication of the specific sector our embed region starts at.
30878
30879 2008-02-19 Robert Millan <rmh@aybabtu.com>
30880
30881 * DISTLIST: Replace `commands/ieee1275/halt.c' and
30882 `commands/ieee1275/reboot.c' with `commands/halt.c' and
30883 `commands/reboot.c'.
30884 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
30885 (halt_mod_SOURCES): Likewise.
30886 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
30887 (halt_mod_SOURCES): Likewise.
30888
30889 2008-02-17 Christian Franke <franke@computer.org>
30890
30891 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
30892
30893 2008-02-17 Robert Millan <rmh@aybabtu.com>
30894
30895 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
30896 set `first_start' to 0 for non-PC/MSDOS partition maps.
30897
30898 2008-02-16 Robert Millan <rmh@aybabtu.com>
30899
30900 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
30901 do not assume partition map is PC/MSDOS before performing checks that
30902 are specific to that layout.
30903
30904 2008-02-13 Robert Millan <rmh@aybabtu.com>
30905
30906 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
30907 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
30908 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
30909
30910 2008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
30911
30912 * configure.ac: Only a cosmetic change on the handling of
30913 -fno-stack-protector.
30914
30915 2008-02-12 Alexandre Boeglin <alex@boeglin.org>
30916
30917 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
30918 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
30919 reboot.c.
30920 (grub_install_SOURCES): Add halt.mod and reboot.mod.
30921 (halt_mod_SOURCES): New variable.
30922 (halt_mod_CFLAGS): Likewise.
30923 (halt_mod_LDFLAGS): Likewise.
30924 (reboot_mod_SOURCES): Likewise.
30925 (reboot_mod_CFLAGS): Likewise.
30926 (reboot_mod_LDFLAGS): Likewise.
30927
30928 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
30929 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
30930 reboot.c.
30931 (halt_mod_SOURCES): Likewise.
30932 (reboot_mod_SOURCES): Likewise.
30933
30934 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
30935 commands/i386/pc/reboot.c by commands/reboot.c.
30936 (reboot_mod_SOURCES): Likewise.
30937
30938 * commands/i386/pc/reboot.c: merge this file ...
30939
30940 * commands/ieee1275/reboot.c: ... and this file ...
30941
30942 * commands/reboot.c: ... to this file.
30943 Add some precompiler directive to include the correct header for
30944 each machine.
30945
30946 * commands/ieee1275/halt.c: move this file ...
30947
30948 * commands/halt.c: ... to here.
30949 Add some precompiler directive to include the correct header for
30950 each machine.
30951
30952 * include/grub/efi/efi.h (grub_reboot): New function declaration.
30953 (grub_halt): Likewise.
30954
30955 * kern/efi/efi.c (grub_reboot): New function.
30956 (grub_halt): Likewise.
30957
30958 2008-02-12 Robert Millan <rmh@aybabtu.com>
30959
30960 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
30961 /dev (like it is done for /dev/mapper). This doesn't provide support
30962 for EVMS, but at least it is now easy to identify the problem when it
30963 arises.
30964
30965 2008-02-11 Robert Millan <rmh@aybabtu.com>
30966
30967 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
30968 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
30969 comparing it with -1, not 0.
30970
30971 2008-02-10 Robert Millan <rmh@aybabtu.com>
30972
30973 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
30974 `disk/lvm.c'.
30975 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30976 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
30977
30978 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
30979 `disk/lvm.c' to the end of the list.
30980 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
30981 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
30982
30983 2008-02-10 Robert Millan <rmh@aybabtu.com>
30984
30985 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
30986 grub_print_error() instead. This will let user know why we're entering
30987 rescue mode.
30988 Based on suggestions from Sam Morris.
30989
30990 2008-02-10 Alexandre Boeglin <alex@boeglin.org>
30991
30992 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
30993 on remaining N args, instead of "--" arg N times.
30994
30995 2008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
30996
30997 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
30998 (fill_with_default_glyph): Changed to use unknown_glyph for fill
30999 pattern for unknown glyphs.
31000
31001 2008-02-09 Robert Millan <rmh@aybabtu.com>
31002
31003 * configure.ac: Probe for `help2man'.
31004 * Makefile.in (builddir): New variable.
31005 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
31006 or otherwise add a few flags/options to it.
31007 (install-local): For every executable utility or script that is
31008 installed, invoke $(HELP2MAN) to install a manpage based on --help
31009 output.
31010
31011 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
31012 that it doesn't prevent --help from working in build tree.
31013
31014 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
31015 with `bug-grub@gnu.org'.
31016 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
31017 * util/update-grub.in (usage): New function.
31018 Implement proper argument check, with support for --help and --version
31019 (as well as existing -y).
31020
31021 2008-02-09 Christian Franke <franke@computer.org>
31022
31023 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
31024 avoid overwriting previous output.
31025 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
31026
31027 2008-02-09 Robert Millan <rmh@aybabtu.com>
31028
31029 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
31030 drawing the menu.
31031
31032 2008-02-09 Robert Millan <rmh@aybabtu.com>
31033
31034 * commands/sleep.c: New file.
31035 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
31036 (sleep_mod_SOURCES): New variable.
31037 (sleep_mod_CFLAGS): Likewise.
31038 (sleep_mod_LDFLAGS): Likewise.
31039
31040 2008-02-09 Robert Millan <rmh@aybabtu.com>
31041
31042 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
31043 situations in which we can deduce the RAID size and the superblock
31044 doesn't match it.
31045
31046 2008-02-09 Robert Millan <rmh@aybabtu.com>
31047
31048 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
31049 and return a grub_diskmemberlist_t composed of LVM physical volumes.
31050 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
31051
31052 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
31053 and return a grub_diskmemberlist_t composed of physical array members.
31054 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
31055
31056 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
31057 prototype.
31058 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
31059 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
31060 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
31061
31062 * util/grub-probe.c (probe): Move partmap probing code from here ...
31063 (probe_partmap): ... to here.
31064 (probe): Use probe_partmap() once for the disk we're probing, and
31065 additionally, when such disk contains a memberlist() struct member,
31066 once for each disk that is contained in the structure returned by
31067 memberlist().
31068
31069 2008-02-09 Robert Millan <rmh@aybabtu.com>
31070
31071 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
31072 environment variable to 'all' in order to obtain debug output from
31073 non-util/ code.
31074 * util/i386/pc/grub-setup.c (main): Likewise.
31075
31076 2008-02-08 Robert Millan <rmh@aybabtu.com>
31077
31078 * disk/raid.c (grub_raid_scan_device): Check for
31079 `array->device[sb.this_disk.number]' rather than for
31080 `array->device[sb.this_disk.number]->name', since the latter is not
31081 guaranteed to be accessible.
31082
31083 2008-02-08 Robert Millan <rmh@aybabtu.com>
31084
31085 * disk/raid.c: Update copyright.
31086 * fs/cpio.c: Likewise.
31087 * include/grub/raid.h: Likewise.
31088 * loader/i386/pc/multiboot.c: Likewise.
31089 * util/hostfs.c: Likewise.
31090
31091 2008-02-08 Robert Millan <rmh@aybabtu.com>
31092
31093 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
31094 to a grub_disk_t array.
31095 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
31096 `device[x]'.
31097 (grub_raid_scan_device): Replace `device[x].name' accesses with
31098 `device[x]->name'. Simplify initialization of `array->device[x]'.
31099
31100 2008-02-08 Robert Millan <rmh@aybabtu.com>
31101
31102 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
31103 grub_dprintf() calls.
31104 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
31105 error message.
31106
31107 2008-02-07 Christian Franke <franke@computer.org>
31108
31109 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
31110 instead of fseek and ftell to support large files.
31111 (grub_hostfs_read): Likewise.
31112
31113 2008-02-07 Robert Millan <rmh@aybabtu.com>
31114
31115 Patch from Jeroen Dekkers.
31116 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
31117 failure, since successfully reading all array members might not be
31118 required.
31119
31120 2008-02-06 Robert Millan <rmh@aybabtu.com>
31121
31122 * util/grub-probe.c (probe): Simplify partmap probing (with the
31123 assumption that the first word up to the underscore equals to
31124 the module name).
31125
31126 2008-02-06 Christian Franke <franke@computer.org>
31127
31128 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
31129 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
31130 last block of a cpio or tar stream.
31131 Check for "TRAILER!!!" instead of any empty data
31132 block to detect last block of a cpio stream.
31133 (grub_cpio_dir): Fix constness of variable np.
31134 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
31135 cpio or tar trailer is detected. This fixes a crash
31136 on open of a non existing file.
31137
31138 2008-02-05 Bean <bean123ch@gmail.com>
31139
31140 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
31141 address of entry.
31142 (grub_multiboot_load_elf64): Likewise.
31143 (grub_multiboot): Initialize mbi structure.
31144
31145 * util/grub-fstest.c: Don't include unused header file script.h.
31146
31147 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
31148 of file.
31149 (grub_fstest_SOURCES): Likewise.
31150
31151 2008-02-05 Robert Millan <rmh@aybabtu.com>
31152
31153 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
31154 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
31155 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
31156 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
31157
31158 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
31159 (translation_table): Replace hardcoded values with macros
31160 provided by `<grub/term.h>'.
31161
31162 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
31163 (keyboard_map): Correct/add a few values, with macros provided
31164 by `<grub/term.h>'.
31165 (keyboard_map_shift): Zero values that don't differ from their
31166 `keyboard_map' equivalents.
31167 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
31168 Discard the second scan code that is always sent by Caps lock.
31169 Only use `keyboard_map_shift' when it provides a non-zero value,
31170 otherwise fallback to `keyboard_map'.
31171
31172 2008-02-04 Bean <bean123ch@gmail.com>
31173
31174 * Makefile.in (enable_grub_fstest): New variable.
31175
31176 * conf/common.rmk (grub_fstest_init.lst): New rule.
31177 (grub_fstest_init.h): Likewise.
31178 (grub_fstest_init.c): Likewise.
31179 (util/grub-fstest.c_DEPENDENCIES): New variable.
31180 (grub_fstest_SOURCES): Likewise.
31181
31182 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
31183
31184 * util/grub-fstest.c: New file.
31185
31186 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
31187
31188 Make grub-setup handle a separate root device.
31189
31190 * util/i386/pc/grub-setup.c (setup): Always open the root device,
31191 so that the root device can be compared with the destination
31192 device.
31193 When embedding the core image, if the root and destination devices
31194 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
31195 0xFF.
31196 When not embedding, set ROOT_DRIVE to 0xFF.
31197
31198 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
31199
31200 Add support for having a grub directory in a different drive. This
31201 is still only the data handling part.
31202
31203 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
31204 (codestart): Save %dh in GRUB_ROOT_DRIVE.
31205 (grub_root_drive): New variable.
31206
31207 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
31208 instead of GRUB_BOOT_DRIVE to construct a device name. Set
31209 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
31210 as it was.
31211
31212 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
31213
31214 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
31215 macro.
31216 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
31217
31218 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
31219 is bogus, because PXE booting does not specify any drive
31220 correctly.
31221
31222 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
31223 am not sure if this is really correct.
31224
31225 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
31226 is always identical to the boot drive when booting from a CD.
31227
31228 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
31229 longer.
31230 (root_drive): New variable.
31231 (real_start): Unconditionally set %dh to ROOT_DRIVE.
31232 (setup_sectors): Push %dx right after popping it, because %dh will
31233 be modified later.
31234 (copy_buffer): Restore %dx.
31235
31236 2008-02-03 Robert Millan <rmh@aybabtu.com>
31237
31238 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
31239 use `cdboot.img' for cdrom images.
31240
31241 2008-02-03 Robert Millan <rmh@aybabtu.com>
31242
31243 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
31244 only setup gfxterm when `font' command has succeeded.
31245
31246 2008-02-03 Robert Millan <rmh@aybabtu.com>
31247
31248 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
31249 (grub_rescue_cmd_multiboot_loader)
31250 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
31251
31252 2008-02-03 Pavel Roskin <proski@gnu.org>
31253
31254 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
31255 %edx and %esi from stack only after grub_gate_a20() is called.
31256 grub_gate_a20() clobbers %edx.
31257
31258 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
31259
31260 * configure.ac (AC_INIT): Bumped to 1.96.
31261
31262 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
31263 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
31264 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
31265 video/readers/png.c.
31266
31267 2008-02-03 Bean <bean123ch@gmail.com>
31268
31269 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
31270 (cdboot_img_SOURCES): New variable.
31271 (cdboot_img_ASFLAGS): New variable.
31272 (cdboot_img_LDFLAGS): New variable.
31273
31274 * boot/i386/pc/cdboot.S: New file.
31275
31276 * disk/i386/pc/biosdisk.c (cd_start): New variable.
31277 (cd_count): Likewise.
31278 (grub_biosdisk_get_drive): Add support for cd device.
31279 (grub_biosdisk_call_hook): Likewise.
31280 (grub_biosdisk_iterate): Likewise.
31281 (grub_biosdisk_open): Likewise.
31282 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
31283 (grub_biosdisk_rw): Support reading from cd device.
31284 (GRUB_MOD_INIT): Iterate cd devices.
31285
31286 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
31287 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
31288 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
31289
31290 * kern/i386/pc/init.c (make_install_device): Check for cd device.
31291
31292 2008-02-02 Robert Millan <rmh@aybabtu.com>
31293
31294 * commands/read.c: New file.
31295 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
31296 (read_mod_SOURCES): New variable.
31297 (read_mod_CFLAGS): Likewise.
31298 (read_mod_LDFLAGS): Likewise.
31299
31300 2008-02-02 Robert Millan <rmh@aybabtu.com>
31301
31302 * normal/main.c (grub_normal_execute): Check for `menu->size' when
31303 determining whether menu has to be displayed.
31304
31305 2008-02-02 Marco Gerards <marco@gnu.org>
31306
31307 * bus/pci.c: New file.
31308
31309 * include/grub/pci.h: Likewise.
31310
31311 * include/grub/i386/pc/pci.h: Likewise.
31312
31313 * commands/lspci.c: Likewise.
31314
31315 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
31316 `lspci.mod'.
31317 (pci_mod_SOURCES): New variable.
31318 (pci_mod_CFLAGS): Likewise.
31319 (pci_mod_LDFLAGS): Likewise.
31320 (lspci_mod_SOURCES): Likewise.
31321 (lspci_mod_CFLAGS): Likewise.
31322 (lspci_mod_LDFLAGS): Likewise.
31323
31324 2008-02-02 Bean <bean123ch@gmail.com>
31325
31326 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
31327 (grub_ufs_get_file_block): Fix indirect block calculation problem.
31328
31329 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
31330 (grub_xfs_btree_node): New structure.
31331 (grub_xfs_btree_root): New structure.
31332 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
31333 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
31334 (GRUB_XFS_EXTENT_BLOCK): Likewise.
31335 (GRUB_XFS_EXTENT_SIZE): Likewise.
31336 (grub_xfs_read_block): Support btree format type.
31337 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
31338 Use directory block as basic unit.
31339
31340 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
31341
31342 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
31343 __attribute__ ((__regparm__ (1))).
31344
31345 2008-02-01 Robert Millan <rmh@aybabtu.com>
31346
31347 Correct a mistake in previous commit.
31348
31349 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
31350 top.
31351 (normal/command.c_DEPENDENCIES): New variable.
31352
31353 2008-02-01 Robert Millan <rmh@aybabtu.com>
31354
31355 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
31356 top.
31357 (normal/command.c_DEPENDENCIES): New variable.
31358 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
31359 * conf/i386-ieee1275.rmk: Likewise.
31360 * conf/i386-linuxbios.rmk: Likewise.
31361 * conf/i386-pc.rmk: Likewise.
31362 * conf/sparc64-ieee1275.rmk: Likewise.
31363 * conf/powerpc-ieee1275.rmk: Likewise.
31364 (grub_emu_SOURCES): Add `fs/fshelp.c'.
31365
31366 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
31367
31368 2008-02-01 Robert Millan <rmh@aybabtu.com>
31369
31370 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
31371 call at beginning of function.
31372
31373 2008-01-31 Pavel Roskin <proski@gnu.org>
31374
31375 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
31376 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
31377 (grub_mkrescue_SOURCES): Likewise.
31378 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
31379
31380 2008-01-30 Robert Millan <rmh@aybabtu.com>
31381
31382 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
31383 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
31384 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
31385 (grub_probe_SOURCES): ... to here.
31386
31387 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
31388 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
31389 * conf/i386-ieee1275.rmk: Likewise.
31390 * conf/i386-linuxbios.rmk: Likewise.
31391 * conf/powerpc-ieee1275.rmk: Likewise.
31392
31393 2008-01-30 Tristan Gingold <gingold@free.fr>
31394
31395 * kern/rescue.c: Silently accept empty lines.
31396
31397 2008-01-29 Bean <bean123ch@gmail.com>
31398
31399 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
31400 (real_code_2): Code cleanup and change comment style.
31401 (move_memory): Avoid using 32-bit address mode.
31402
31403 2008-01-29 Bean <bean123ch@gmail.com>
31404
31405 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
31406 (png_mod_SOURCES): New variable.
31407 (png_mod_CFLAGS): Likewise.
31408 (png_mod_LDFLAGS): Likewise.
31409
31410 * video/readers/png.c: New file.
31411
31412 2008-01-28 Robert Millan <rmh@aybabtu.com>
31413
31414 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
31415 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
31416 `ifndef GRUB_MOD_GAP' hack.
31417 * util/elf/grub-mkimage.c (add_segments): Likewise.
31418
31419 2008-01-27 Robert Millan <rmh@aybabtu.com>
31420
31421 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
31422 `GRUB_MOD_GAP' for platforms in which it's not defined.
31423 * util/elf/grub-mkimage.c (add_segments): Likewise.
31424
31425 2008-01-27 Robert Millan <rmh@aybabtu.com>
31426
31427 Get grub-emu to build again (including parallel builds).
31428
31429 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
31430 Split into ...
31431 (util/grub-emu.c_DEPENDENCIES): ... this, ...
31432 (normal/execute.c_DEPENDENCIES): ... this, ...
31433 (grub-emu_DEPENDENCIES): ... and this.
31434
31435 * conf/i386-efi.rmk: Likewise.
31436 * conf/i386-linuxbios.rmk: Likewise.
31437 * conf/i386-ieee1275.rmk: Likewise.
31438 * conf/powerpc-ieee1275.rmk: Likewise.
31439 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
31440
31441 2008-01-27 Robert Millan <rmh@aybabtu.com>
31442
31443 * NEWS: Add a few items.
31444
31445 2008-01-27 Robert Millan <rmh@aybabtu.com>
31446
31447 Fix parallel builds with grub-emu. Based on earlier commit for
31448 grub-probe and grub-setup.
31449
31450 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
31451 (util/grub-emu.c_DEPENDENCIES): ... this.
31452 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
31453 (util/grub-emu.c_DEPENDENCIES): ... this.
31454 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
31455 (util/grub-emu.c_DEPENDENCIES): ... this.
31456 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
31457 (util/grub-emu.c_DEPENDENCIES): ... this.
31458 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
31459 (util/grub-emu.c_DEPENDENCIES): ... this.
31460
31461 2008-01-27 Pavel Roskin <proski@gnu.org>
31462
31463 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
31464 to create a gap between _end and the modules added to the image
31465 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
31466 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
31467 * util/elf/grub-mkimage.c (add_segments): Likewise.
31468
31469 2008-01-26 Pavel Roskin <proski@gnu.org>
31470
31471 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
31472 just return an error.
31473
31474 2008-01-26 Bean <bean123ch@gmail.com>
31475
31476 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
31477 (grub_reiserfs_get_item): Save offset of the next item.
31478 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
31479
31480 2008-01-25 Robert Millan <rmh@aybabtu.com>
31481
31482 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
31483 make all filesystem sources appear together (possibly fixing omissions
31484 while at it).
31485 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
31486 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31487 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
31488 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31489
31490 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
31491 add `kern/file.c'.
31492 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
31493 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
31494 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
31495 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
31496
31497 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
31498 (probe): Add a sanity check to make sure of our ability to read
31499 requested files when probing for filesystem type.
31500
31501 * genmk.rb: Update copyright year (2007).
31502
31503 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
31504 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
31505 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
31506 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
31507 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
31508 : Remove function prototypes.
31509
31510 2008-01-25 Robert Millan <rmh@aybabtu.com>
31511
31512 Revert my previous commits (based on wrong assumption of how grub_errno
31513 works).
31514
31515 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
31516 * kern/file.c (grub_file_open): Likewise.
31517
31518 2008-01-24 Pavel Roskin <proski@gnu.org>
31519
31520 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
31521 that hang if GRUB tries to setup colors.
31522 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
31523 colors for firmwares that don't support it.
31524 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
31525 Recognize Open Hack'Ware, set flags to work around its
31526 limitations.
31527
31528 2008-01-24 Robert Millan <rmh@aybabtu.com>
31529
31530 * kern/file.c (grub_file_open): Do not account previous failures of
31531 unrelated functions when grub_errno is checked for.
31532 Reported by Oleg Strikov.
31533
31534 2008-01-24 Bean <bean123ch@gmail.com>
31535
31536 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
31537 (grub_ufs_sblock): New member volume name.
31538 (grub_ufs_find_file): Fix string copy bug.
31539 (grub_ufs_label): Implement this function properly.
31540
31541 * fs/hfs.c (grub_hfs_cnid_type): New enum.
31542 (grub_hfs_iterate_records): Use the correct file number for extents
31543 and catalog file. Fix problem in next index calculation.
31544 (grub_hfs_find_node): Replace recursive function call with loop.
31545 (grub_hfs_iterate_dir): Replace recursive function call with loop.
31546
31547 2008-01-23 Robert Millan <rmh@aybabtu.com>
31548
31549 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
31550 `<grub/symbol.h>' and `<grub/multiboot.h>'.
31551 (grub_multiboot2_real_boot): New function prototype.
31552
31553 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
31554 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
31555
31556 * kern/i386/ieee1275/init.c (grub_os_area_addr)
31557 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
31558
31559 2008-01-23 Robert Millan <rmh@aybabtu.com>
31560
31561 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
31562 #ifdef'ed out grub_printf().
31563
31564 2008-01-23 Robert Millan <rmh@aybabtu.com>
31565
31566 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
31567 grub_dprintf calls, since they make "debug=all" mode unusable.
31568 (grub_console_checkkey): Likewise.
31569
31570 2008-01-23 Robert Millan <rmh@aybabtu.com>
31571
31572 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
31573 `term/i386/pc/at_keyboard.c'.
31574 (pkglib_MODULES): Add `serial.mod'.
31575 (serial_mod_SOURCES): New variable.
31576 (serial_mod_CFLAGS): Likewise.
31577 (serial_mod_LDFLAGS): Likewise.
31578
31579 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
31580 `<grub/powerpc/ieee1275/console.h>'.
31581 (grub_keyboard_controller_init): New function prototype.
31582 (grub_console_checkkey): Likewise.
31583 (grub_console_getkey): Likewise.
31584
31585 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
31586 keyboard on i386.
31587
31588 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
31589 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
31590
31591 2008-01-23 Robert Millan <rmh@aybabtu.com>
31592
31593 * kern/i386/pc/init.c (make_install_device): When memdisk image is
31594 present, "(memdisk)/boot/grub" becomes the default prefix.
31595
31596 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
31597 a memdisk tarball with all the modules. Add --overlay=DIR option that
31598 allows users to overlay additional files into the image.
31599
31600 2008-01-23 Robert Millan <rmh@aybabtu.com>
31601
31602 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
31603 and `machine/memory.h'.
31604 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
31605 (_multiboot_mod_SOURCES): New variable.
31606 (_multiboot_mod_CFLAGS): Likewise.
31607 (_multiboot_mod_LDFLAGS): Likewise.
31608 (multiboot_mod_SOURCES): Likewise.
31609 (multiboot_mod_CFLAGS): Likewise.
31610 (multiboot_mod_LDFLAGS): Likewise.
31611
31612 * include/grub/i386/ieee1275/loader.h: New file.
31613
31614 * include/grub/i386/ieee1275/machine.h: Likewise.
31615
31616 * include/grub/i386/ieee1275/memory.h: Likewise.
31617
31618 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
31619 variable declaration.
31620 (grub_os_area_size): Likewise.
31621
31622 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
31623 (grub_lower_mem, grub_upper_mem): New variables.
31624 (grub_stop_floppy): New function (just to make
31625 grub_multiboot2_real_boot() happy).
31626
31627 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
31628 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
31629 (grub_stop): New function.
31630 Include `"../realmode.S"' and `"../loader.S"'.
31631
31632 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
31633 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
31634
31635 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
31636 rely on grub_multiboot2_real_boot() for final boot.
31637
31638 2008-01-22 Robert Millan <rmh@aybabtu.com>
31639
31640 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
31641 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
31642 device that doesn't look like an SD card.
31643 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
31644 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
31645 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
31646 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
31647 found.
31648
31649 2008-01-22 Robert Millan <rmh@aybabtu.com>
31650
31651 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
31652 avoid claiming over our own code.
31653
31654 2008-01-22 Bean <bean123ch@gmail.com>
31655
31656 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
31657 (jpeg_mod_SOURCES): New variable.
31658 (jpeg_mod_CFLAGS): Likewise.
31659 (jpeg_mod_LDFLAGS): Likewise.
31660
31661 * video/readers/jpeg.c : New file.
31662
31663 2008-01-22 Bean <bean123ch@gmail.com>
31664
31665 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
31666 there are no more items.
31667
31668 2008-01-21 Robert Millan <rmh@aybabtu.com>
31669
31670 * kern/mm.c (grub_mm_init_region): Improve debug message.
31671
31672 2008-01-21 Robert Millan <rmh@aybabtu.com>
31673
31674 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
31675 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
31676 address.
31677 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
31678 a C macro.
31679 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
31680 Indicates start of upper memory.
31681 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
31682 (generate_image): Abort when image size is big enough to corrupt
31683 upper memory.
31684
31685 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
31686 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
31687 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
31688 instead of hardcoding 0xA0000.
31689 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
31690 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
31691 instead of hardcoding 0xA0000.
31692
31693 2008-01-21 Robert Millan <rmh@aybabtu.com>
31694
31695 * disk/memdisk.c (memdisk_size): New variable.
31696 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
31697 `memdisk_size'.
31698 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
31699 image to dynamic memory.
31700 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
31701 `memdisk_size'. Free memdisk block.
31702
31703 2008-01-21 Robert Millan <rmh@aybabtu.com>
31704
31705 Fix detection of very small filesystems (like tar).
31706
31707 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
31708 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
31709 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
31710 a problem with this disk).
31711
31712 2008-01-21 Robert Millan <rmh@aybabtu.com>
31713
31714 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
31715 on grub_biosdisk_rw_standard() error.
31716
31717 2008-01-21 Robert Millan <rmh@aybabtu.com>
31718
31719 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
31720 recent changes.
31721 * kern/elf.c: Likewise.
31722 * kern/ieee1275/ieee1275.c: Likewise.
31723 * kern/powerpc/ieee1275/openfw.c: Likewise.
31724 * term/ieee1275/ofconsole.c: Likewise.
31725
31726 2008-01-21 Robert Millan <rmh@aybabtu.com>
31727
31728 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
31729
31730 * include/grub/kernel.h (grub_arch_memdisk_addr)
31731 (grub_arch_memdisk_size): Moved from here ...
31732
31733 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
31734 (grub_arch_memdisk_size): ... to here.
31735
31736 2008-01-21 Robert Millan <rmh@aybabtu.com>
31737
31738 Mostly based on bugfix from Bean.
31739
31740 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
31741 attribute with hook() parameter.
31742 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
31743 declaration.
31744 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
31745 attribute with hook() parameter.
31746 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
31747 declaration.
31748
31749 2008-01-21 Robert Millan <rmh@aybabtu.com>
31750
31751 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
31752 (pkglib_MODULES): Add `memdisk.mod'.
31753 (memdisk_mod_SOURCES): New variable.
31754 (memdisk_mod_CFLAGS): Likewise.
31755 (memdisk_mod_LDFLAGS): Likewise.
31756
31757 * disk/memdisk.c: New file.
31758
31759 * include/grub/disk.h (grub_disk_dev_id): Add
31760 `GRUB_DISK_DEVICE_MEMDISK_ID'.
31761
31762 * include/grub/i386/pc/kernel.h
31763 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
31764 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
31765 (grub_kernel_image_size): New variable declaration.
31766 (grub_total_module_size): Likewise.
31767 (grub_memdisk_image_size): Likewise.
31768
31769 * include/grub/i386/pc/memory.h
31770 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
31771
31772 * include/grub/kernel.h: Include `<grub/symbol.h>'.
31773 (grub_arch_memdisk_addr): New variable declaration.
31774 (grub_arch_memdisk_size): Likewise.
31775
31776 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
31777 (grub_arch_memdisk_size): Likewise.
31778
31779 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
31780 (codestart): Replace hardcoded `0x100000' with
31781 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
31782
31783 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
31784 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
31785 not NULL, append the contents of the file it refers to, at the end of
31786 the compressed kernel image. Initialize `grub_memdisk_image_size'
31787 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
31788 (options): Add "memdisk"|'m' option.
31789 (main): Parse --memdisk|-m option, and pass user-provided path as
31790 parameter to generate_image().
31791
31792 2008-01-20 Robert Millan <rmh@aybabtu.com>
31793
31794 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
31795 grub_dprintf() calls from here ...
31796 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
31797
31798 2008-01-20 Robert Millan <rmh@aybabtu.com>
31799
31800 Fix detection of "real mode" when /options/real-mode? doesn't exist.
31801
31802 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
31803 declaration.
31804 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
31805 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
31806 `GRUB_IEEE1275_FLAG_REAL_MODE'.
31807 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
31808 property).
31809 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
31810 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
31811
31812 2008-01-19 Robert Millan <rmh@aybabtu.com>
31813
31814 Get rid of confusing function (superseded by
31815 `grub_ieee1275_get_integer_property')
31816 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
31817 prototype.
31818 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
31819 function.
31820 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
31821 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
31822 in native endianness from grub_ieee1275_get_integer_property().
31823
31824 2008-01-19 Robert Millan <rmh@aybabtu.com>
31825
31826 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
31827 command after "shut-down", since implementations differ on which
31828 the command for halt is.
31829
31830 2008-01-19 Robert Millan <rmh@aybabtu.com>
31831
31832 * include/grub/i386/linuxbios/console.h: Add header protection.
31833 (grub_keyboard_controller_init): New function prototype.
31834 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
31835 (KEYBOARD_COMMAND_READ): Likewise.
31836 (KEYBOARD_COMMAND_WRITE): Likewise.
31837 (KEYBOARD_SCANCODE_SET1): Likewise.
31838 (grub_keyboard_controller_write): New function.
31839 (grub_keyboard_controller_read): Likewise.
31840 (grub_keyboard_controller_init): Likewise.
31841
31842 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
31843 (grub_console_init): On coreboot/LinuxBIOS, call
31844 grub_keyboard_controller_init().
31845
31846 2008-01-19 Robert Millan <rmh@aybabtu.com>
31847
31848 PowerPC changes provided by Pavel Roskin.
31849
31850 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
31851 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
31852 don't rely on cmain() doing it.
31853 * kern/i386/ieee1275/startup.S (_start): Store %eax in
31854 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
31855
31856 2008-01-16 Robert Millan <rmh@aybabtu.com>
31857
31858 * include/grub/i386/linuxbios/memory.h
31859 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
31860 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
31861 receive `table_header' as argument. Instead, probe for it in the
31862 known memory ranges where it can be present.
31863 (grub_available_iterate): Do not pass a fixed `table_header' address
31864 to grub_linuxbios_table_iterate().
31865
31866 2008-01-15 Robert Millan <rmh@aybabtu.com>
31867
31868 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
31869 * conf/i386-ieee1275.rmk: New file.
31870 * include/grub/i386/ieee1275/console.h: Likewise.
31871 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
31872 * include/grub/i386/ieee1275/kernel.h: Likewise.
31873 * include/grub/i386/ieee1275/time.h: Likewise.
31874 * kern/i386/ieee1275/init.c: Likewise.
31875 * kern/i386/ieee1275/startup.S: Likewise.
31876
31877 2008-01-15 Robert Millan <rmh@aybabtu.com>
31878
31879 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
31880 when pointers are 32-bit (but still do set it to one when they are
31881 64-bit).
31882
31883 2008-01-15 Robert Millan <rmh@aybabtu.com>
31884
31885 * include/grub/ieee1275/ieee1275.h
31886 (grub_ieee1275_get_integer_property): New function prototype.
31887
31888 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
31889 (grub_ieee1275_get_integer_property): New function. Wraps around
31890 grub_ieee1275_get_property() to handle endianness.
31891
31892 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
31893 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
31894 where appropriate.
31895 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
31896 (grub_map): Likewise.
31897 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
31898
31899 2008-01-15 Bean <bean123ch@gmail.com>
31900
31901 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
31902 (grub_script_execute_cmdline): Reset grub_errno.
31903
31904 * normal/main.c (read_config_file): Reset grub_errno.
31905
31906 * normal/parse.y (script_init): New.
31907 (script): Move function and menuentry here.
31908 (delimiter): New.
31909 (command): Add delimiter at the end of command.
31910 (commands): Adjust to match the new command.
31911 (commandblock): Remove grub_script_lexer_record_start.
31912 (menuentry): Add grub_script_lexer_record_start, use the new commands.
31913 (if): Use the new commands.
31914
31915 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
31916
31917 2008-01-15 Robert Millan <rmh@aybabtu.com>
31918
31919 * normal/menu.c (run_menu): Move timeout message from here ...
31920 (print_timeout): ... to here.
31921 (run_menu): Use print_timeout() once during initial draw to print
31922 the whole message, and again in every clock tick to update only
31923 the number of seconds.
31924
31925 2008-01-15 Robert Millan <rmh@aybabtu.com>
31926
31927 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
31928 actual size of `available' from grub_ieee1275_get_property(), and
31929 restrict parsing to that bound.
31930
31931 2008-01-15 Christian Franke <franke@computer.org>
31932
31933 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
31934 (argp_program_version): Remove variable.
31935 (argp_program_bug_address): Likewise.
31936 (options): Convert from struct argp_option to struct option.
31937 (struct arguments): Remove.
31938 (parse_opt): Remove.
31939 (usage): New function.
31940 (main): Replace struct args members by simple variables.
31941 Replace argp_parse() by getopt_long().
31942 Add switch to evaluate options.
31943 Add missing "(...)" around root_dev in prefix string.
31944
31945 2008-01-14 Robert Millan <rmh@aybabtu.com>
31946
31947 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
31948 for grub_ieee1275_exit(), in order to improve portability.
31949
31950 2008-01-14 Robert Millan <rmh@aybabtu.com>
31951
31952 * util/grub.d/10_linux.in (prefix): Define.
31953 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
31954
31955 2008-01-13 Pavel Roskin <proski@gnu.org>
31956
31957 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
31958 grub_errno if no errors have been detected.
31959
31960 2008-01-12 Robert Millan <rmh@aybabtu.com>
31961
31962 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
31963 (grub_util_get_dev_abstraction): New function prototype.
31964
31965 * util/getroot.c: Include `<grub/util/getroot.h>'
31966 (grub_util_get_grub_dev): Move detection of abstraction type to ...
31967 (grub_util_get_dev_abstraction): ... here (new function).
31968
31969 * util/grub-probe.c: Convert PRINT_* to an enum. Add
31970 `PRINT_ABSTRACTION'.
31971 (probe): Probe for abstraction type when requested.
31972 (main): Understand `--target=abstraction'.
31973
31974 * util/i386/efi/grub-install.in: Add abstraction module to core
31975 image when it is found to be necessary.
31976 * util/i386/pc/grub-install.in: Likewise.
31977 * util/powerpc/ieee1275/grub-install.in: Likewise.
31978
31979 * util/update-grub_lib.in (font_path): Return system path without
31980 converting to GRUB path.
31981 * util/update-grub.in: Convert system path returned by font_path()
31982 to a GRUB path. Use `grub-probe -t abstraction' to determine what
31983 abstraction module is needed for loading fonts (if any). Export
31984 that as `GRUB_PRELOAD_MODULES'.
31985 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
31986 insmod commands).
31987
31988 2008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
31989
31990 Remove some unused code from reiserfs.
31991
31992 * fs/reiserfs.c (struct grub_reiserfs_key)
31993 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
31994 (struct grub_reiserfs_node_body): Removed.
31995 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
31996 Likewise.
31997 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
31998 Likewise.
31999 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
32000 Likewise.
32001 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
32002 Likewise.
32003 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
32004 Likewise.
32005 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
32006 Likewise.
32007 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
32008 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
32009 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
32010
32011 2008-01-10 Robert Millan <rmh@aybabtu.com>
32012
32013 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
32014 Determines if a file is garbage left by packaging systems, etc.
32015 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
32016 for processing /etc/grub.d scripts.
32017 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
32018 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
32019 as a condition for processing Linux images.
32020
32021 2008-01-10 Pavel Roskin <proski@gnu.org>
32022
32023 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
32024 to compile reiserfs.c on PowerPC.
32025
32026 2008-01-10 Robert Millan <rmh@aybabtu.com>
32027
32028 * kern/device.c (grub_device_iterate): Do not abort device iteration
32029 when one of the devices cannot be opened.
32030 * kern/disk.c (grub_disk_open): Do not account previous failures of
32031 unrelated functions when grub_errno is checked for.
32032
32033 2008-01-08 Robert Millan <rmh@aybabtu.com>
32034
32035 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
32036 `! grub_linux_is_bzimage', change order of address comparison to make
32037 it more intuitive, and improve "too big zImage" error message.
32038
32039 2008-01-08 Robert Millan <rmh@aybabtu.com>
32040
32041 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
32042 `$(update-grub_DATA)'.
32043 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
32044 targets.
32045
32046 2008-01-07 Robert Millan <rmh@aybabtu.com>
32047
32048 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
32049 which instruction is modified by grub-setup during installation
32050 (since it wasn't obvious by only looking at this file).
32051
32052 2008-01-07 Robert Millan <rmh@aybabtu.com>
32053
32054 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
32055 listing actual TODO items.
32056
32057 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
32058
32059 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
32060 correctly.
32061 (grub_reiserfs_get_key_offset): Likewise.
32062 (grub_reiserfs_set_key_offset): Likewise.
32063 (grub_reiserfs_set_key_type): Likewise.
32064 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
32065
32066 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
32067 better to remove the bitfield version completely.
32068
32069 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
32070
32071 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
32072 allocated from the heap, due to the fshelp implementation.
32073 (grub_reiserfs_dir): Free NODE, due to the same reason.
32074
32075 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
32076
32077 Mostly from Vincent Pelletier:
32078
32079 * fs/reiserfs.c: New file.
32080
32081 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
32082 (reiserfs_mod_SOURCES): New variable.
32083 (reiserfs_mod_CFLAGS): Likewise.
32084 (reiserfs_mod_LDFLAGS): Likewise.
32085
32086 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
32087 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
32088 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
32089 normal/color.c.
32090
32091 2008-01-06 Robert Millan <rmh@aybabtu.com>
32092
32093 * normal/color.c: Remove `<grub/env.h>'.
32094
32095 2008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
32096
32097 * include/grub/normal.h: Include <grub/env.h>.
32098
32099 2008-01-05 Robert Millan <rmh@aybabtu.com>
32100
32101 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
32102 usage example with `(hd0,1)'.
32103 Reported by Samuel Thibault.
32104
32105 2008-01-05 Robert Millan <rmh@aybabtu.com>
32106
32107 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
32108 (grub_linux_boot_zimage): Rename to ...
32109 (grub_linux_boot): ... this.
32110 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
32111 (grub_linux_boot_zimage): Conditionalize zImage copy.
32112
32113 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
32114 (grub_linux_boot_bzimage): Remove prototype.
32115 (grub_linux_boot_zimage): Rename to ...
32116 (grub_linux_boot): ... this.
32117
32118 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
32119 (grub_linux_boot): Remove function.
32120
32121 2008-01-05 Robert Millan <rmh@aybabtu.com>
32122
32123 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
32124 (grub_env_write_color_highlight): Likewise.
32125 (grub_wait_after_message): Likewise.
32126
32127 * normal/color.c: New file.
32128
32129 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
32130 (normal_mod_DEPENDENCIES): Likewise.
32131
32132 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
32133 (normal_mod_DEPENDENCIES): Likewise.
32134
32135 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
32136 (normal_mod_DEPENDENCIES): Likewise.
32137
32138 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
32139 (normal_mod_DEPENDENCIES): Likewise.
32140
32141 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
32142 for waiting after a message is printed.
32143 * normal/main.c (read_config_file): Likewise.
32144 (grub_normal_init): Register grub_env_write_color_normal() and
32145 grub_env_write_color_highlight() hooks. Mark `color_normal' and
32146 `color_highlight' variables as global.
32147
32148 * normal/menu.c (grub_wait_after_message): New function.
32149 (grub_color_menu_normal): New variable. Replaces ...
32150 (GRUB_COLOR_MENU_NORMAL): ... this macro.
32151 (grub_color_menu_highlight): New variable. Replaces ...
32152 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
32153 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
32154 `GRUB_TERM_COLOR_STANDARD'.
32155 (print_message): Use `grub_setcolorstate' to reload colors. Rename
32156 `normal_code' and `highlight_code' to `old_color_normal' and
32157 `old_color_highlight', respectively.
32158 (grub_menu_init_page): Update colors when drawing the menu, based on
32159 `menu_color_normal' and `menu_color_highlight' variables.
32160 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
32161 a message is printed.
32162
32163 2008-01-05 Robert Millan <rmh@aybabtu.com>
32164
32165 * kern/env.c (grub_env_context_open): Propagate hooks for global
32166 variables to new context.
32167
32168 * kern/main.c (grub_set_root_dev): Export `root' variable.
32169
32170 2008-01-05 Robert Millan <rmh@aybabtu.com>
32171
32172 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
32173 discs unconditionally, since udev and others have options to provide
32174 them.
32175
32176 2008-01-05 Robert Millan <rmh@aybabtu.com>
32177
32178 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
32179
32180 2008-01-04 Christian Franke <franke@computer.org>
32181
32182 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
32183 of eisa_mmap.
32184
32185 2008-01-03 Pavel Roskin <proski@gnu.org>
32186
32187 * kern/i386/linuxbios/init.c: Put "void" to all function
32188 declarations with no arguments.
32189 * kern/powerpc/ieee1275/init.c: Likewise.
32190 * term/i386/pc/at_keyboard.c: Likewise.
32191 * term/i386/pc/vga_text.c: Likewise.
32192 * util/grub-mkdevicemap.c: Likewise.
32193
32194 2008-01-02 Robert Millan <rmh@aybabtu.com>
32195
32196 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
32197 message when loaded image is out of bounds.
32198 (grub_multiboot_load_elf64): Likewise.
32199
32200 2008-01-02 Pavel Roskin <proski@gnu.org>
32201
32202 * util/grub.d/10_linux.in: Try version without ".old" when
32203 looking for initrd. It's better to use initrd from the newer
32204 kernel of the same version than no initrd at all.
32205
32206 2008-01-01 Robert Millan <rmh@aybabtu.com>
32207
32208 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
32209
32210 2008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
32211
32212 * include/grub/video.h: Added grub_video_unmap_color and
32213 grub_video_get_active_render_target.
32214 (grub_video_adapter): Added unmap_color and get_active_render_target.
32215
32216 * video/video.c: Added grub_video_unmap_color and
32217 grub_video_get_active_render_target.
32218 (grub_video_get_info): Changed method to accept NULL pointer as an
32219 argument to allow detection of active video adapter.
32220
32221 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
32222 grub_video_vbe_unmap_color_int.
32223 Added grub_video_vbe_unmap_color and
32224 grub_video_vbe_get_active_render_target.
32225 (grub_video_vbe_adapter): Added unmap_color and
32226 get_active_render_target.
32227
32228 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
32229 with grub_video_vbe_unmap_color_int.
32230
32231 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
32232 (DEFAULT_NORMAL_COLOR): Likewise.
32233 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
32234 (DEFAULT_FG_COLOR): Removed.
32235 (DEFAULT_BG_COLOR): Likewise.
32236 (DEFAULT_CURSOR_COLOR): Changed value.
32237 (grub_virtual_screen): Added standard_color_setting,
32238 normal_color_setting, highlight_color_setting and term_color.
32239 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
32240 (bitmap_width): Added.
32241 (bitmap_height): Likewise.
32242 (bitmap): Likewise.
32243 (set_term_color): Likewise.
32244 (grub_virtual_screen_setup): Changed to use new terminal coloring
32245 settings.
32246 (grub_gfxterm_init): Added init for bitmap.
32247 (grub_gfxterm_fini): Added destroy for bitmap.
32248 (redraw_screen_rect): Updated to use background bitmap and new
32249 terminal coloring.
32250 (scroll_up): Added optimization for case when there is no bitmap.
32251 (grub_gfxterm_cls): Fixed to use correct background color.
32252 (grub_virtual_screen_setcolorstate): Changed to use new terminal
32253 coloring.
32254 (grub_virtual_screen_setcolor): Likewise.
32255 (grub_virtual_screen_getcolor): Added.
32256 (grub_gfxterm_background_image_cmd): Likewise.
32257 (grub_video_term): Added setcolor and getcolor.
32258 (MOD_INIT): Added registration of background_image command.
32259 (MOD_TERM): Added unregistration for background_image command.
32260
32261 2007-12-30 Pavel Roskin <proski@gnu.org>
32262
32263 * loader/multiboot_loader.c: Fix multiboot command
32264 unregistration. Fix all typos in the word "multiboot".
32265
32266 2007-12-29 Pavel Roskin <proski@gnu.org>
32267
32268 * util/grub.d/10_linux.in: Refactor search for initrd. Add
32269 support for initrd names used in Fedora.
32270
32271 2007-12-26 Bean <bean123ch@gmail.com>
32272
32273 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
32274 (cpio_mod_SOURCES): New variable.
32275 (cpio_mod_CFLAGS): Likewise.
32276 (cpio_mod_LDFLAGS): Likewise.
32277
32278 * fs/cpio.c: New file.
32279
32280 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
32281
32282 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32283
32284 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
32285
32286 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32287
32288 2007-12-25 Robert Millan <rmh@aybabtu.com>
32289
32290 * include/grub/term.h (struct grub_term): Add `getcolor' function.
32291 (grub_getcolor): New function.
32292
32293 * kern/term.c (grub_getcolor): New function.
32294 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
32295 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
32296 (print_entry): Set normal and highlight colors to
32297 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
32298 respectively, before printing and restore them to old
32299 values afterwards.
32300 (grub_menu_init_page): Likewise. Fill an additional colored space
32301 that would otherwise be left blank.
32302
32303 * term/efi/console.c (grub_console_getcolor): New function.
32304 (struct grub_console_term.getcolor): New variable.
32305 * term/i386/pc/console.c (grub_console_getcolor): New function.
32306 (struct grub_console_term.getcolor): New variable.
32307 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
32308 (struct grub_console_term.getcolor): New variable.
32309
32310 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
32311 (struct grub_console_term.setcolor): Remove variable.
32312 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
32313 (struct grub_console_term.setcolor): Remove variable.
32314 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
32315 (struct grub_console_term.setcolor): Remove variable.
32316 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
32317 (struct grub_console_term.setcolor): Remove variable.
32318
32319 2007-12-25 Robert Millan <rmh@aybabtu.com>
32320
32321 * configure.ac: Search for possible unifont.hex locations, and
32322 define UNIFONT_HEX if found.
32323
32324 * Makefile.in (UNIFONT_HEX): Define variable.
32325 (DATA): Rename to ...
32326 (PKGLIB): ... this. Update all users.
32327 (PKGDATA): New variable.
32328 (pkgdata_IMAGES): Rename to ...
32329 (pkglib_IMAGES): ... this. Update all users.
32330 (pkgdata_MODULES): Rename to ...
32331 (pkglib_MODULES): ... this. Update all users.
32332 (pkgdata_PROGRAMS): Rename to ...
32333 (pkglib_PROGRAMS): ... this. Update all users.
32334 (pkgdata_DATA): Rename to ...
32335 (pkglib_DATA): ... this. Update all users.
32336 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
32337 (unicode.pff, ascii.pff): New rules.
32338 (all-local): Add `$(PKGDATA)' dependency.
32339 (install-local): Process `$(PKGDATA)'.
32340
32341 * util/update-grub_lib.in (font_path): Search for *.pff files in
32342 a few more locations, including `${pkgdata}'.
32343
32344 2007-12-23 Robert Millan <rmh@aybabtu.com>
32345
32346 Patch from Bean <bean123ch@gmail.com>:
32347 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
32348 `size'.
32349
32350 2007-12-21 Bean <bean123ch@gmail.com>
32351
32352 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
32353 (ntfscomp_mod_SOURCES): New variable.
32354 (ntfscomp_mod_CFLAGS): Likewise.
32355 (ntfscomp_mod_LDFLAGS): Likewise.
32356
32357 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
32358 (grub_probe_SOURCES): Likewise.
32359 (grub_emu_SOURCES): Likewise.
32360
32361 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
32362 (grub_emu_SOURCES): Likewise.
32363
32364 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
32365 (grub_emu_SOURCES): Likewise.
32366
32367 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
32368 (grub_emu_SOURCES): Likewise.
32369
32370 * fs/ntfs.c (grub_ntfscomp_func): New variable.
32371 (read_run_list): Renamed to grub_ntfs_read_run_list.
32372 (decomp_nextvcn): Moved to ntfscomp.c.
32373 (decomp_getch): Likewise.
32374 (decomp_get16): Likewise.
32375 (decomp_block): Likewise.
32376 (read_block): Likewise.
32377 (read_data): Partially moved to ntfscomp.c.
32378 (fixup): Change unsigned to grub_uint16_t.
32379 (read_mft): Change unsigned long to grub_uint32_t.
32380 (read_attr): Likewise.
32381 (read_data): Likewise.
32382 (read_run_data): Likewise.
32383 (read_run_list): Likewise.
32384 (read_mft): Likewise.
32385
32386 * fs/ntfscomp.c: New file.
32387
32388 * include/grub/ntfs.h: New file.
32389
32390 2007-12-16 Robert Millan <rmh@aybabtu.com>
32391
32392 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
32393 IDE disk check, since Linux is known to support 20 IDE disks.
32394 Reported by Colin Watson.
32395
32396 2007-12-15 Bean <bean123ch@gmail.com>
32397
32398 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
32399 (lnxboot_img_SOURCES): New variable.
32400 (lnxboot_img_ASFLAGS): Likewise.
32401 (lnxboot_img_LDFLAGS): Likewise.
32402
32403 * boot/i386/pc/lnxboot.S: New file.
32404
32405 2007-11-24 Pavel Roskin <proski@gnu.org>
32406
32407 * configure.ac: Test if '--build-id=none' is supported by the
32408 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
32409 objcopy to generate incorrect binary files (binutils
32410 2.17.50.0.18-1 as shipped by Fedora 8).
32411 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
32412 linking, so that build ID doesn't break the test.
32413
32414 2007-11-24 Pavel Roskin <proski@gnu.org>
32415
32416 * include/grub/i386/time.h: use "void" in the argument list
32417 of grub_cpu_idle().
32418 * include/grub/powerpc/time.h: Likewise.
32419 * include/grub/sparc64/time.h: Likewise.
32420
32421 2007-11-18 Christian Franke <franke@computer.org>
32422
32423 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
32424 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
32425 This fixes the problem that function keys did not work in grub-emu.
32426
32427 2007-11-18 Christian Franke <franke@computer.org>
32428
32429 * disk/host.c (grub_host_open): Remove attribute unused from
32430 name parameter. Add check for "host". This fixes the problem
32431 that grub-emu does not find partitions.
32432
32433 2007-11-18 Christian Franke <franke@computer.org>
32434
32435 * util/hostfs.c (is_dir): New function.
32436 (grub_hostfs_dir): Handle missing dirent.d_type case.
32437 (grub_hostfs_read): Add missing fseek().
32438 (grub_hostfs_label): Clear label pointer. This fixes a crash
32439 of grub-emu on "ls (host)".
32440
32441 2007-11-18 Christian Franke <franke@computer.org>
32442
32443 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
32444 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
32445 to 64 bit boundary by default.
32446
32447 2007-11-18 Bean <bean123ch@gmail.com>
32448
32449 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
32450 (hexdump_mod_SOURCES): New variable.
32451 (hexdump_mod_CFLAGS): Likewise.
32452 (hexdump_mod_LDFLAGS): Likewise.
32453
32454 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
32455
32456 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
32457
32458 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
32459
32460 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
32461
32462 * include/grub/hexdump.h: New file.
32463
32464 * commands/hexdump.c: New file.
32465
32466 2007-11-10 Robert Millan <rmh@aybabtu.com>
32467
32468 * commands/i386/pc/play.c (beep_off): Switch order of arguments
32469 in grub_outb() calls.
32470 (beep_on): Likewise.
32471
32472 2007-11-10 Christian Franke <franke@computer.org>
32473
32474 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
32475 (grub_menu_run): Likewise.
32476
32477 2007-11-10 Robert Millan <rmh@aybabtu.com>
32478
32479 * include/grub/i386/efi/machine.h: New file.
32480 * include/grub/i386/linuxbios/machine.h: Likewise.
32481 * include/grub/i386/pc/machine.h: Likewise.
32482 * include/grub/powerpc/ieee1275/machine.h: Likewise.
32483 * include/grub/sparc64/ieee1275/machine.h: Likewise.
32484
32485 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
32486 (serial_hw_io_addr): New variable.
32487 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
32488 instead of `(unsigned short *) 0x400'.
32489
32490 2007-11-10 Bean <bean123ch@gmail.com>
32491
32492 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
32493
32494 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
32495
32496 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
32497 (vga_mod_SOURCES): Added.
32498 (vga_mod_CFLAGS): Likewise.
32499 (vga_mod_LDFLAGS): Likewise.
32500
32501 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
32502 grub_outb() calls.
32503 (set_map_mask): Likewise.
32504 (set_read_map): Likewise.
32505 (set_read_address): Likewise.
32506 (vga_font): Removed variable.
32507 (get_vga_glyph): Removed function.
32508 (invalidate_char): Likewise.
32509 (write_char): Changed to use grub_font_get_glyph() for font
32510 information.
32511 (grub_vga_putchar): Likewise.
32512 (grub_vga_getcharwidth): Likewise.
32513
32514 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
32515
32516 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
32517 flags.
32518 (pxeboot_img_LDFLAGS): Likewise.
32519 (diskboot_img_LDFLAGS): Likewise.
32520 (kernel_img_LDFLAGS): Likewise.
32521
32522 2007-11-06 Robert Millan <rmh@aybabtu.com>
32523
32524 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
32525 in grub_outb() calls.
32526 (serial_hw_init): Likewise.
32527
32528 2007-11-05 Robert Millan <rmh@aybabtu.com>
32529
32530 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
32531 spaces. Skip non-regular files.
32532
32533 2007-11-05 Robert Millan <rmh@aybabtu.com>
32534
32535 * kern/disk.c (grub_disk_firmware_fini)
32536 (grub_disk_firmware_is_tainted): New variables.
32537
32538 * include/grub/disk.h (grub_disk_firmware_fini)
32539 (grub_disk_firmware_is_tainted): Likewise.
32540
32541 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
32542 (grub_disk_biosdisk_fini): ... to here.
32543 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
32544 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
32545 is set. Register grub_disk_biosdisk_fini() in
32546 `grub_disk_firmware_fini'.
32547
32548 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
32549 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
32550 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
32551 to finish existing firmware disk interface.
32552
32553 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
32554 (ata_mod_SOURCES): New variable.
32555 (ata_mod_CFLAGS): Likewise.
32556 (ata_mod_LDFLAGS): Likewise.
32557
32558 2007-11-05 Robert Millan <rmh@aybabtu.com>
32559
32560 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
32561 (grub_ata_wait): Reimplement using grub_millisleep().
32562
32563 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
32564 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
32565
32566 2007-11-03 Marco Gerards <marco@gnu.org>
32567
32568 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
32569 (CRTC_ADDR_PORT): New macro.
32570 (CRTC_DATA_PORT): Likewise.
32571 (CRTC_CURSOR): Likewise.
32572 (CRTC_CURSOR_ADDR_HIGH): Likewise.
32573 (CRTC_CURSOR_ADDR_LOW): Likewise.
32574 (update_cursor): New function.
32575 (grub_console_real_putchar): Call `update_cursor'.
32576 (grub_console_gotoxy): Likewise.
32577 (grub_console_cls): Set the default color when clearing the
32578 screen.
32579 (grub_console_setcursor): Implemented.
32580
32581 2007-11-03 Marco Gerards <marco@gnu.org>
32582
32583 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
32584 become activate.
32585 (grub_ata_pio_write): Likewise.
32586
32587 (grub_atapi_identify): Wait after issuing an ATA command.
32588 (grub_atapi_packet): Likewise.
32589 (grub_ata_identify): Likewise.
32590 (grub_ata_readwrite): Likewise.
32591
32592 2007-11-03 Marco Gerards <marco@gnu.org>
32593
32594 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
32595 (grub_ata_pio_write): Likewise.
32596 (grub_ata_readwrite): Use `grub_error', instead of
32597 returning `grub_errno'.
32598
32599 2007-11-03 Marco Gerards <marco@gnu.org>
32600
32601 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
32602 grub_ata_pio_write once for every single sector, instead of for
32603 multiple sectors.
32604
32605 2007-10-31 Robert Millan <rmh@aybabtu.com>
32606
32607 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
32608
32609 * conf/i386-linuxbios.rmk: New file.
32610
32611 * kern/i386/pc/hardware.c: Likewise.
32612 * term/i386/pc/at_keyboard.c: Likewise.
32613 * term/i386/pc/vga_text.c: Likewise.
32614
32615 * include/grub/i386/linuxbios/boot.h: Likewise.
32616 * include/grub/i386/linuxbios/console.h: Likewise.
32617 * include/grub/i386/linuxbios/init.h: Likewise.
32618 * include/grub/i386/linuxbios/kernel.h: Likewise.
32619 * include/grub/i386/linuxbios/loader.h: Likewise.
32620 * include/grub/i386/linuxbios/memory.h: Likewise.
32621 * include/grub/i386/linuxbios/serial.h: Likewise.
32622 * include/grub/i386/linuxbios/time.h: Likewise.
32623
32624 * kern/i386/linuxbios/init.c: Likewise.
32625 * kern/i386/linuxbios/startup.S: Likewise.
32626 * kern/i386/linuxbios/table.c: Likewise.
32627
32628 2007-10-31 Marco Gerards <marco@gnu.org>
32629
32630 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
32631 (ata_mod_SOURCES): New variable.
32632 (ata_mod_CFLAGS): Likewise.
32633 (ata_mod_LDFLAGS): Likewise.
32634
32635 * disk/ata.c: New file.
32636
32637 * include/grub/disk.h (grub_disk_dev_id): Add
32638 `GRUB_DISK_DEV_ATA_ID'.
32639
32640 2007-10-31 Robert Millan <rmh@aybabtu.com>
32641
32642 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
32643 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
32644
32645 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
32646 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
32647
32648 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
32649 `<grub/types.h>'.
32650
32651 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
32652
32653 2007-10-27 Robert Millan <rmh@aybabtu.com>
32654
32655 * include/grub/types.h (ULONG_MAX): Define macro.
32656
32657 2007-10-22 Robert Millan <rmh@aybabtu.com>
32658
32659 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
32660 `"../realmode.S"'.
32661 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
32662
32663 2007-10-22 Robert Millan <rmh@aybabtu.com>
32664
32665 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
32666 (pkgdata_MODULES): Add `biosdisk.mod'.
32667 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
32668 variables.
32669
32670 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
32671 (grub_biosdisk_init): Replace with ...
32672 (GRUB_MOD_INIT(biosdisk)): ... this.
32673 (grub_biosdisk_fini): Replace with ...
32674 (GRUB_MOD_FINI(biosdisk)): ... this.
32675
32676 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
32677 (grub_machine_init): Remove call to grub_biosdisk_init().
32678 (grub_machine_fini): Remove call to grub_machine_fini().
32679
32680 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
32681
32682 2007-10-22 Robert Millan <rmh@aybabtu.com>
32683
32684 * include/grub/time.h: New file.
32685 * include/grub/i386/time.h: Likewise.
32686 * include/grub/powerpc/time.h: Likewise.
32687 * include/grub/sparc64/time.h: Likewise.
32688
32689 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
32690 instances to ...
32691 (KERNEL_MACHINE_TIME_HEADER): ... this.
32692 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
32693 instances to ...
32694 (KERNEL_MACHINE_TIME_HEADER): ... this.
32695 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
32696 instances to ...
32697 (KERNEL_MACHINE_TIME_HEADER): ... this.
32698
32699 * kern/i386/efi/init.c: Include `<grub/time.h>'.
32700 (grub_millisleep): New function.
32701 * kern/i386/pc/init.c: Include `<grub/time.h>'.
32702 (grub_millisleep): New function.
32703 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
32704 Remove `grub/machine/time.h' include.
32705 (grub_millisleep): New function.
32706 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
32707 Remove `grub/machine/time.h' include.
32708 (grub_millisleep): New function.
32709
32710 * include/grub/misc.h (grub_div_roundup): New function.
32711
32712 * kern/misc.c: Include `<grub/time.h>'.
32713 (grub_millisleep_generic): New function.
32714
32715 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
32716 Add `time.h'.
32717 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
32718 Add `time.h'.
32719 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
32720 `machine/time.h'. Add `time.h'.
32721 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
32722
32723 2007-10-21 Robert Millan <rmh@aybabtu.com>
32724
32725 * include/grub/misc.h (grub_max): New function.
32726
32727 2007-10-21 Robert Millan <rmh@aybabtu.com>
32728
32729 * util/misc.c (grub_util_info): Call fflush() before returning.
32730
32731 2007-10-20 Robert Millan <rmh@aybabtu.com>
32732
32733 * genmk.rb (Image): Copy `extra_flags' from here ...
32734 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
32735
32736 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
32737 to `argc' and `args' arguments.
32738
32739 2007-10-17 Robert Millan <rmh@aybabtu.com>
32740
32741 * kern/i386/loader.S: New file.
32742
32743 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
32744 * kern/i386/loader.S (grub_linux_prot_size)... to here.
32745 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
32746 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
32747 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
32748 * kern/i386/loader.S (grub_linux_real_addr)... to here.
32749 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
32750 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
32751 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
32752 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
32753 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
32754 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
32755 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
32756 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
32757
32758 * kern/i386/realmode.S: New file.
32759
32760 * kern/i386/pc/startup.S (protstack): Moved from here ...
32761 * kern/i386/realmode.S (protstack)... to here.
32762 * kern/i386/pc/startup.S (gdt): Moved from here ...
32763 * kern/i386/realmode.S (gdt)... to here.
32764 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
32765 * kern/i386/realmode.S (prot_to_real)... to here.
32766
32767 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
32768 `kern/i386/realmode.S'.
32769
32770 2007-10-17 Robert Millan <rmh@aybabtu.com>
32771
32772 * include/grub/i386/loader.h: New file.
32773
32774 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
32775 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
32776 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
32777 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
32778 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
32779 * include/grub/i386/loader.h (grub_linux_prot_size)
32780 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
32781 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
32782 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
32783 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
32784
32785 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
32786
32787 2007-10-15 Robert Millan <rmh@aybabtu.com>
32788
32789 * normal/misc.c (grub_normal_print_device_info): Do not probe for
32790 filesystem when dev->disk is unset.
32791 Do probe for filesystem even when dev->disk->has_partitions is set.
32792 In case a filesystem is found, always report it.
32793 In case it isn't, if dev->disk->has_partitions is set, report that
32794 a partition table was found instead of reporting that no filesystem
32795 could be identified.
32796
32797 2007-10-12 Robert Millan <rmh@aybabtu.com>
32798
32799 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
32800 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
32801
32802 * include/grub/types.h (grub_host_to_target16): New macro.
32803 (grub_host_to_target32): Likewise.
32804 (grub_host_to_target64): Likewise.
32805 (grub_target_to_host16): Likewise.
32806 (grub_target_to_host32): Likewise.
32807 (grub_target_to_host64): Likewise.
32808
32809 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
32810 Renamed from to ...
32811 (GRUB_MOD_ALIGN): ...this. Update all users.
32812
32813 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
32814 grub_host_to_target32.
32815 Replace grub_be_to_cpu32 with grub_target_to_host32.
32816 (load_modules): Likewise.
32817 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
32818 Replace grub_be_to_cpu32 with grub_target_to_host32.
32819 Replace grub_cpu_to_be16 with grub_host_to_target16.
32820 Replace grub_cpu_to_be32 grub_host_to_target32.
32821
32822 2007-10-12 Robert Millan <rmh@aybabtu.com>
32823
32824 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
32825 * util/elf/grub-mkimage.c: ... here.
32826
32827 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
32828 `util/powerpc/ieee1275/grub-mkimage.c'.
32829
32830 2007-10-07 Robert Millan <rmh@aybabtu.com>
32831
32832 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
32833 and make it easier to figure out.
32834 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
32835 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
32836 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
32837 leave us with less than HEAP_MIN_SIZE total heap.
32838 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
32839
32840 2007-10-03 Robert Millan <rmh@aybabtu.com>
32841
32842 * include/grub/i386/io.h: New file.
32843 * commands/i386/pc/play.c (inb): Removed.
32844 (outb): Removed.
32845 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
32846 with grub_outb().
32847 * term/i386/pc/serial.c (inb): Removed.
32848 (outb): Removed.
32849 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
32850 with grub_outb().
32851 * term/i386/pc/vga.c (inb): Removed.
32852 (outb): Removed.
32853 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
32854 with grub_outb().
32855
32856 2007-10-02 Robert Millan <rmh@aybabtu.com>
32857
32858 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
32859 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32860 Reported by Marcin Kurek.
32861
32862 2007-09-07 Robert Millan <rmh@aybabtu.com>
32863
32864 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
32865 SmartFirmware version updates (as released by Sven Luther), and avoid
32866 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
32867 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
32868 known broken.
32869
32870 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
32871
32872 From Hitoshi Ozeki:
32873 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
32874 when merging two regions.
32875
32876 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
32877
32878 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
32879 * normal/completion.c (grub_normal_do_completion): Likewise.
32880 Reported by Hitoshi Ozeki.
32881
32882 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
32883
32884 Do not use devices at boot in chainloading.
32885
32886 * loader/i386/pc/chainloader.c (boot_drive): New variable.
32887 (boot_part_addr): Likewise.
32888 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
32889 with BOOT_DRIVE and BOOT_PART_ADDR.
32890 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
32891 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
32892
32893 2007-08-29 Robert Millan <rmh@aybabtu.com>
32894
32895 Patch from Simon Peter <dn.tlp@gmx.net>:
32896 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
32897 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
32898 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
32899 util/i386/pc/grub-setup.c_DEPENDENCIES.
32900 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
32901 util/grub-probe.c_DEPENDENCIES.
32902 * conf/powerpc-ieee1275.rmk: Likewise.
32903
32904 2007-08-28 Robert Millan <rmh@aybabtu.com>
32905
32906 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
32907 to tell grub-mkdevicemap how to name devices.
32908 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
32909 feature).
32910
32911 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
32912 util/i386/get_disk_name.c.
32913 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
32914 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
32915 util/ieee1275/get_disk_name.c.
32916
32917 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
32918
32919 * DISTLIST: Add util/i386/get_disk_name.c and
32920 util/ieee1275/get_disk_name.c.
32921
32922 * util/grub-mkdevicemap.c: Replace device naming logic with
32923 grub_util_get_disk_name() calls.
32924
32925 2007-08-20 Robert Millan <rmh@aybabtu.com>
32926
32927 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
32928 (so that it works for both plural and singular quantities).
32929
32930 2007-08-05 Robert Millan <rmh@aybabtu.com>
32931
32932 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
32933 so that [xz] isn't taken into account when determining order.
32934
32935 2007-08-02 Marco Gerards <marco@gnu.org>
32936
32937 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
32938 `include/multiboot2.h', `include/grub/elfload.h',
32939 `include/multiboot.h', `include/grub/multiboot.h',
32940 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
32941 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
32942 `kern/elf.c', `loader/multiboot_loader.c',
32943 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
32944 `loader/i386/pc/multiboot2.c',
32945 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
32946 `util/i386/pc/grub-mkrescue.in'. Remove
32947 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
32948 `include/grub/i386/pc/util/biosdisk.h' and
32949 `include/grub/powerpc/ieee1275/multiboot.h'.
32950
32951 2007-08-02 Bean <bean123ch@gmail.com>
32952
32953 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
32954 (ntfs_mod_SOURCES): New variable.
32955 (ntfs_mod_CFLAGS): Likewise.
32956 (ntfs_mod_LDFLAGS): Likewise.
32957
32958 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
32959 (grub_probe_SOURCES): Likewise.
32960 (grub_emu_SOURCES): Likewise.
32961
32962 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
32963 (grub_emu_SOURCES): Likewise.
32964
32965 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
32966 (grub_emu_SOURCES): Likewise.
32967
32968 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
32969
32970 * fs/ntfs.c: New file.
32971
32972 2007-08-02 Bean <bean123ch@gmail.com>
32973
32974 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
32975
32976 * file.h (grub_file): Likewise.
32977
32978 * fshelp.h (grub_fshelp_read_file): Likewise.
32979
32980 * util/i386/pc/grub-setup.c (setup): Likewise.
32981 (save_first_sector): Likewise.
32982 (save_blocklists): Likewise.
32983
32984 * fs/affs.c (grub_affs_read_file): Likewise.
32985
32986 * fs/ext2.c (grub_ext2_read_file): Likewise.
32987
32988 * fs/fat.c (grub_fat_read_data): Likewise.
32989
32990 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
32991
32992 * fs/hfs.c (grub_hfs_read_file): Likewise.
32993
32994 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
32995
32996 * fs/jfs.c (grub_jfs_read_file): Likewise.
32997
32998 * fs/minix.c (grub_minix_read_file): Likewise.
32999
33000 * fs/sfs.c (grub_sfs_read_file): Likewise.
33001
33002 * fs/ufs.c (grub_ufs_read_file): Likewise.
33003
33004 * fs/xfs.c (grub_xfs_read_file): Likewise.
33005
33006 * command/blocklist.c (read_blocklist): Likewise.
33007 (print_blocklist): Likewise.
33008
33009 2007-08-02 Marco Gerards <marco@gnu.org>
33010
33011 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
33012 `util/hostfs.c'.
33013
33014 * disk/host.c: New file.
33015
33016 * util/hostfs.c: Likewise.
33017
33018 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
33019 return `GRUB_ERR_BAD_FS'.
33020 * fs/sfs.c (grub_sfs_mount): Likewise.
33021 * fs/xfs.c (grub_xfs_mount): Likewise.
33022
33023 * include/grub/disk.h (enum grub_disk_dev_id): Add
33024 `GRUB_DISK_DEVICE_HOST_ID'.
33025
33026 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
33027
33028 2007-07-24 Jerone Young <jerone@gmail.com>
33029
33030 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
33031 modules for compilation.
33032 * conf/powerpc-ieee1275.rmk: Likewise.
33033
33034 * include/multiboot.h: Move multiboot definitions to one file. Rename
33035 many definitions to not get grub specific.
33036 * include/multiboot2.h: Create header with multiboot 2 definitions.
33037 * include/grub/multiboot.h: Header for grub specific function
33038 prototypes and definitions.
33039 * include/grub/multiboot2.h: Likewise.
33040 * include/grub/multiboot_loader.h: Likewise.
33041 * include/grub/i386/pc/multiboot.h: Removed.
33042 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
33043
33044 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
33045 and 2 to allow for one multiboot and module commands.
33046 * loader/multiboot2.c: Add multiboot2 functionality.
33047 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
33048 and definition names.
33049 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
33050 2 functions.
33051 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
33052 ieee1275 specific multiboot2 code.
33053
33054 * kern/i386/pc/startup.S: Change headers and definition names for
33055 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
33056
33057 2007-07-22 Robert Millan <rmh@aybabtu.com>
33058
33059 * geninitheader.sh: Process file specified in first parameter rather
33060 than hardcoding grub_modules_init.lst.
33061 * geninit.sh: Likewise. Also, construct header name dynamically rather
33062 than hardcoding grub_modules_init.h.
33063
33064 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
33065 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
33066 grub_probe_init.[ch] and grub_setup_init.[ch].
33067
33068 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
33069 grub_modules_init.h with grub_emu_init.h.
33070 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
33071 grub_probe_init.[ch] files.
33072 * conf/i386-efi.rmk: Likewise.
33073 * conf/i386-pc.rmk: Likewise.
33074 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
33075 grub_setup_init.[ch] files.
33076
33077 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
33078 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
33079 to initialize modules rather than a list of hardcoded functions.
33080 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
33081 grub_init_all() to initialize modules rather than a list of hardcoded
33082 functions.
33083
33084 2007-07-22 Robert Millan <rmh@aybabtu.com>
33085
33086 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
33087 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
33088
33089 2007-07-22 Robert Millan <rmh@aybabtu.com>
33090
33091 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
33092 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
33093 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
33094 flag when running on SmartFirmware.
33095 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
33096 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
33097 was set.
33098
33099 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
33100 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
33101 rather than decreasing it.
33102
33103 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
33104 there's not enough space to do it, fail in the same way as when it
33105 can't be done because there are no partitions.
33106
33107 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
33108 when nvsetenv failed.
33109
33110 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
33111
33112 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
33113 because this rule is automatically generated.
33114 (grub-mkrescue): Removed for the same reason as above.
33115
33116 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
33117
33118 Migrate to GNU General Public License Version 3.
33119
33120 * COPYING: Replaced with the plain text version of GPLv3.
33121
33122 * config.guess: Updated from gnulib.
33123 * config.sub: Likewise.
33124
33125 * geninit.sh: Output a GPLv3 copyright notice.
33126 * geninitheader.sh: Likewise.
33127 * genmodsrc.sh: Likewise.
33128 * gensymlist.sh.in: Likewise.
33129
33130 * boot/i386/pc/boot.S: Upgraded to GPLv3.
33131 * boot/i386/pc/diskboot.S: Likewise.
33132 * boot/i386/pc/pxeboot.S: Likewise.
33133 * commands/blocklist.c: Likewise.
33134 * commands/boot.c: Likewise.
33135 * commands/cat.c: Likewise.
33136 * commands/cmp.c: Likewise.
33137 * commands/configfile.c: Likewise.
33138 * commands/echo.c: Likewise.
33139 * commands/help.c: Likewise.
33140 * commands/ls.c: Likewise.
33141 * commands/search.c: Likewise.
33142 * commands/terminal.c: Likewise.
33143 * commands/test.c: Likewise.
33144 * commands/videotest.c: Likewise.
33145 * commands/i386/cpuid.c: Likewise.
33146 * commands/i386/pc/halt.c: Likewise.
33147 * commands/i386/pc/play.c: Likewise.
33148 * commands/i386/pc/reboot.c: Likewise.
33149 * commands/i386/pc/vbeinfo.c: Likewise.
33150 * commands/i386/pc/vbetest.c: Likewise.
33151 * commands/ieee1275/halt.c: Likewise.
33152 * commands/ieee1275/reboot.c: Likewise.
33153 * commands/ieee1275/suspend.c: Likewise.
33154 * disk/loopback.c: Likewise.
33155 * disk/lvm.c: Likewise.
33156 * disk/raid.c: Likewise.
33157 * disk/efi/efidisk.c: Likewise.
33158 * disk/i386/pc/biosdisk.c: Likewise.
33159 * disk/ieee1275/ofdisk.c: Likewise.
33160 * font/manager.c: Likewise.
33161 * fs/affs.c: Likewise.
33162 * fs/ext2.c: Likewise.
33163 * fs/fat.c: Likewise.
33164 * fs/fshelp.c: Likewise.
33165 * fs/hfs.c: Likewise.
33166 * fs/hfsplus.c: Likewise.
33167 * fs/iso9660.c: Likewise.
33168 * fs/jfs.c: Likewise.
33169 * fs/minix.c: Likewise.
33170 * fs/sfs.c: Likewise.
33171 * fs/ufs.c: Likewise.
33172 * fs/xfs.c: Likewise.
33173 * hello/hello.c: Likewise.
33174 * include/grub/acorn_filecore.h: Likewise.
33175 * include/grub/arg.h: Likewise.
33176 * include/grub/bitmap.h: Likewise.
33177 * include/grub/boot.h: Likewise.
33178 * include/grub/cache.h: Likewise.
33179 * include/grub/device.h: Likewise.
33180 * include/grub/disk.h: Likewise.
33181 * include/grub/dl.h: Likewise.
33182 * include/grub/elfload.h: Likewise.
33183 * include/grub/env.h: Likewise.
33184 * include/grub/err.h: Likewise.
33185 * include/grub/file.h: Likewise.
33186 * include/grub/font.h: Likewise.
33187 * include/grub/fs.h: Likewise.
33188 * include/grub/fshelp.h: Likewise.
33189 * include/grub/gzio.h: Likewise.
33190 * include/grub/hfs.h: Likewise.
33191 * include/grub/kernel.h: Likewise.
33192 * include/grub/loader.h: Likewise.
33193 * include/grub/lvm.h: Likewise.
33194 * include/grub/misc.h: Likewise.
33195 * include/grub/mm.h: Likewise.
33196 * include/grub/net.h: Likewise.
33197 * include/grub/normal.h: Likewise.
33198 * include/grub/parser.h: Likewise.
33199 * include/grub/partition.h: Likewise.
33200 * include/grub/pc_partition.h: Likewise.
33201 * include/grub/raid.h: Likewise.
33202 * include/grub/rescue.h: Likewise.
33203 * include/grub/script.h: Likewise.
33204 * include/grub/setjmp.h: Likewise.
33205 * include/grub/symbol.h: Likewise.
33206 * include/grub/term.h: Likewise.
33207 * include/grub/terminfo.h: Likewise.
33208 * include/grub/tparm.h: Likewise.
33209 * include/grub/types.h: Likewise.
33210 * include/grub/video.h: Likewise.
33211 * include/grub/efi/api.h: Likewise.
33212 * include/grub/efi/chainloader.h: Likewise.
33213 * include/grub/efi/console.h: Likewise.
33214 * include/grub/efi/console_control.h: Likewise.
33215 * include/grub/efi/disk.h: Likewise.
33216 * include/grub/efi/efi.h: Likewise.
33217 * include/grub/efi/pe32.h: Likewise.
33218 * include/grub/efi/time.h: Likewise.
33219 * include/grub/i386/linux.h: Likewise.
33220 * include/grub/i386/setjmp.h: Likewise.
33221 * include/grub/i386/types.h: Likewise.
33222 * include/grub/i386/efi/kernel.h: Likewise.
33223 * include/grub/i386/efi/loader.h: Likewise.
33224 * include/grub/i386/efi/time.h: Likewise.
33225 * include/grub/i386/pc/biosdisk.h: Likewise.
33226 * include/grub/i386/pc/boot.h: Likewise.
33227 * include/grub/i386/pc/chainloader.h: Likewise.
33228 * include/grub/i386/pc/console.h: Likewise.
33229 * include/grub/i386/pc/init.h: Likewise.
33230 * include/grub/i386/pc/kernel.h: Likewise.
33231 * include/grub/i386/pc/loader.h: Likewise.
33232 * include/grub/i386/pc/memory.h: Likewise.
33233 * include/grub/i386/pc/multiboot.h: Likewise.
33234 * include/grub/i386/pc/serial.h: Likewise.
33235 * include/grub/i386/pc/time.h: Likewise.
33236 * include/grub/i386/pc/vbe.h: Likewise.
33237 * include/grub/i386/pc/vbeblit.h: Likewise.
33238 * include/grub/i386/pc/vbefill.h: Likewise.
33239 * include/grub/i386/pc/vbeutil.h: Likewise.
33240 * include/grub/i386/pc/vga.h: Likewise.
33241 * include/grub/ieee1275/ieee1275.h: Likewise.
33242 * include/grub/ieee1275/ofdisk.h: Likewise.
33243 * include/grub/powerpc/libgcc.h: Likewise.
33244 * include/grub/powerpc/setjmp.h: Likewise.
33245 * include/grub/powerpc/types.h: Likewise.
33246 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
33247 * include/grub/powerpc/ieee1275/console.h: Likewise.
33248 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
33249 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
33250 * include/grub/powerpc/ieee1275/loader.h: Likewise.
33251 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
33252 * include/grub/powerpc/ieee1275/time.h: Likewise.
33253 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
33254 * include/grub/sparc64/libgcc.h: Likewise.
33255 * include/grub/sparc64/setjmp.h: Likewise.
33256 * include/grub/sparc64/types.h: Likewise.
33257 * include/grub/sparc64/ieee1275/console.h: Likewise.
33258 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
33259 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
33260 * include/grub/sparc64/ieee1275/time.h: Likewise.
33261 * include/grub/util/biosdisk.h: Likewise.
33262 * include/grub/util/getroot.h: Likewise.
33263 * include/grub/util/lvm.h: Likewise.
33264 * include/grub/util/misc.h: Likewise.
33265 * include/grub/util/raid.h: Likewise.
33266 * include/grub/util/resolve.h: Likewise.
33267 * io/gzio.c: Likewise.
33268 * kern/device.c: Likewise.
33269 * kern/disk.c: Likewise.
33270 * kern/dl.c: Likewise.
33271 * kern/elf.c: Likewise.
33272 * kern/env.c: Likewise.
33273 * kern/err.c: Likewise.
33274 * kern/file.c: Likewise.
33275 * kern/fs.c: Likewise.
33276 * kern/loader.c: Likewise.
33277 * kern/main.c: Likewise.
33278 * kern/misc.c: Likewise.
33279 * kern/mm.c: Likewise.
33280 * kern/parser.c: Likewise.
33281 * kern/partition.c: Likewise.
33282 * kern/rescue.c: Likewise.
33283 * kern/term.c: Likewise.
33284 * kern/efi/efi.c: Likewise.
33285 * kern/efi/init.c: Likewise.
33286 * kern/efi/mm.c: Likewise.
33287 * kern/i386/dl.c: Likewise.
33288 * kern/i386/efi/init.c: Likewise.
33289 * kern/i386/efi/startup.S: Likewise.
33290 * kern/i386/pc/init.c: Likewise.
33291 * kern/i386/pc/lzo1x.S: Likewise.
33292 * kern/i386/pc/startup.S: Likewise.
33293 * kern/ieee1275/ieee1275.c: Likewise.
33294 * kern/powerpc/cache.S: Likewise.
33295 * kern/powerpc/dl.c: Likewise.
33296 * kern/powerpc/ieee1275/cmain.c: Likewise.
33297 * kern/powerpc/ieee1275/crt0.S: Likewise.
33298 * kern/powerpc/ieee1275/init.c: Likewise.
33299 * kern/powerpc/ieee1275/openfw.c: Likewise.
33300 * kern/sparc64/cache.S: Likewise.
33301 * kern/sparc64/dl.c: Likewise.
33302 * kern/sparc64/ieee1275/init.c: Likewise.
33303 * kern/sparc64/ieee1275/openfw.c: Likewise.
33304 * loader/efi/chainloader.c: Likewise.
33305 * loader/efi/chainloader_normal.c: Likewise.
33306 * loader/i386/efi/linux.c: Likewise.
33307 * loader/i386/efi/linux_normal.c: Likewise.
33308 * loader/i386/pc/chainloader.c: Likewise.
33309 * loader/i386/pc/chainloader_normal.c: Likewise.
33310 * loader/i386/pc/linux.c: Likewise.
33311 * loader/i386/pc/linux_normal.c: Likewise.
33312 * loader/i386/pc/multiboot.c: Likewise.
33313 * loader/i386/pc/multiboot_normal.c: Likewise.
33314 * loader/powerpc/ieee1275/linux.c: Likewise.
33315 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
33316 * normal/arg.c: Likewise.
33317 * normal/cmdline.c: Likewise.
33318 * normal/command.c: Likewise.
33319 * normal/completion.c: Likewise.
33320 * normal/execute.c: Likewise.
33321 * normal/function.c: Likewise.
33322 * normal/lexer.c: Likewise.
33323 * normal/main.c: Likewise.
33324 * normal/menu.c: Likewise.
33325 * normal/menu_entry.c: Likewise.
33326 * normal/misc.c: Likewise.
33327 * normal/parser.y: Likewise.
33328 * normal/script.c: Likewise.
33329 * normal/i386/setjmp.S: Likewise.
33330 * normal/powerpc/setjmp.S: Likewise.
33331 * normal/sparc64/setjmp.S: Likewise.
33332 * partmap/acorn.c: Likewise.
33333 * partmap/amiga.c: Likewise.
33334 * partmap/apple.c: Likewise.
33335 * partmap/gpt.c: Likewise.
33336 * partmap/pc.c: Likewise.
33337 * partmap/sun.c: Likewise.
33338 * term/gfxterm.c: Likewise.
33339 * term/terminfo.c: Likewise.
33340 * term/efi/console.c: Likewise.
33341 * term/i386/pc/console.c: Likewise.
33342 * term/i386/pc/serial.c: Likewise.
33343 * term/i386/pc/vesafb.c: Likewise.
33344 * term/i386/pc/vga.c: Likewise.
33345 * term/ieee1275/ofconsole.c: Likewise.
33346 * util/biosdisk.c: Likewise.
33347 * util/console.c: Likewise.
33348 * util/genmoddep.c: Likewise.
33349 * util/getroot.c: Likewise.
33350 * util/grub-emu.c: Likewise.
33351 * util/grub-mkdevicemap.c: Likewise.
33352 * util/grub-probe.c: Likewise.
33353 * util/lvm.c: Likewise.
33354 * util/misc.c: Likewise.
33355 * util/raid.c: Likewise.
33356 * util/resolve.c: Likewise.
33357 * util/update-grub.in: Likewise.
33358 * util/update-grub_lib.in: Likewise.
33359 * util/grub.d/00_header.in: Likewise.
33360 * util/grub.d/10_hurd.in: Likewise.
33361 * util/grub.d/10_linux.in: Likewise.
33362 * util/i386/efi/grub-install.in: Likewise.
33363 * util/i386/efi/grub-mkimage.c: Likewise.
33364 * util/i386/pc/grub-install.in: Likewise.
33365 * util/i386/pc/grub-mkimage.c: Likewise.
33366 * util/i386/pc/grub-mkrescue.in: Likewise.
33367 * util/i386/pc/grub-setup.c: Likewise.
33368 * util/i386/pc/misc.c: Likewise.
33369 * util/powerpc/ieee1275/grub-install.in: Likewise.
33370 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
33371 * util/powerpc/ieee1275/misc.c: Likewise.
33372 * video/bitmap.c: Likewise.
33373 * video/video.c: Likewise.
33374 * video/i386/pc/vbe.c: Likewise.
33375 * video/i386/pc/vbeblit.c: Likewise.
33376 * video/i386/pc/vbefill.c: Likewise.
33377 * video/i386/pc/vbeutil.c: Likewise.
33378 * video/readers/tga.c: Likewise.
33379
33380 2007-07-02 Robert Millan <rmh@aybabtu.com>
33381
33382 * conf/i386-efi.rmk: Replace obsolete reference to
33383 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
33384 with util/getroot.c.
33385 * conf/powerpc-ieee1275.rmk: Likewise.
33386 * conf/sparc64-ieee1275.rmk: Likewise.
33387
33388 * util/grub-emu.c (main): Fix unchecked pointer handling.
33389
33390 2007-07-02 Robert Millan <rmh@aybabtu.com>
33391
33392 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
33393 invocation to fail, in order to support partition-less media.
33394
33395 * util/i386/pc/grub-install.in: Likewise.
33396
33397 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
33398 which fs or partmap modules are needed (akin to its sister scripts).
33399
33400 Also use grub-probe to get rid of unportable /proc/mounts check.
33401
33402 Print the same informational message that the other scripts do, before
33403 exiting.
33404
33405 2007-06-23 Robert Millan <rmh@aybabtu.com>
33406
33407 * util/update-grub_lib.in (font_path): New function. Determine whether
33408 a font file can be found and, if so, echo the GRUB path to it.
33409
33410 * util/update-grub.in: Handle multiple terminals depending on user
33411 input, platform availability and font file presence. Propagate
33412 variables of our findings to /etc/grub.d/ children.
33413
33414 * util/grub.d/00_header.in: Handle multiple terminals, based on
33415 environment setup by update-grub.
33416
33417 2007-06-23 Robert Millan <rmh@aybabtu.com>
33418
33419 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
33420
33421 2007-06-21 Robert Millan <rmh@aybabtu.com>
33422
33423 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
33424 indicate end of data section in kernel image.
33425 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
33426 GRUB_KERNEL_MACHINE_DATA_END.
33427
33428 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
33429 space for it.
33430 * kern/i386/efi/startup.S: Likewise.
33431
33432 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
33433 during image generation. Implement --prefix option to override this
33434 patch.
33435 * util/i386/efi/grub-mkimage.c: Likewise.
33436
33437 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
33438 code to make path relative to its root into a separate function.
33439
33440 * util/i386/pc/grub-install.in: Use newly provided
33441 make_system_path_relative_to_its_root() to convert ${grubdir}, then
33442 pass the result to grub-install --prefix.
33443
33444 2007-06-13 Robert Millan <rmh@aybabtu.com>
33445
33446 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
33447 DEFAULT_DEVICE_MAP.
33448 * util/grub-emu.c: Use above definitions from misc.h instead of
33449 defining them.
33450 * util/grub-mkdevicemap.c: Likewise.
33451 * util/i386/pc/grub-setup.c: Likewise.
33452 * util/grub-probe.c: Likewise.
33453 (probe): Abort with grub_util_error() when either
33454 grub_guess_root_device or grub_util_get_grub_dev fails.
33455
33456 2007-06-12 Robert Millan <rmh@aybabtu.com>
33457
33458 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
33459 "pager" assignment.
33460 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
33461 "pcdata".
33462 * util/grub-probe.c (probe): Likewise for "drive_name".
33463
33464 2007-06-11 Robert Millan <rmh@aybabtu.com>
33465
33466 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
33467 not just the cdrom one.
33468
33469 2007-06-11 Robert Millan <rmh@aybabtu.com>
33470
33471 * util/i386/pc/grub-mkrescue.in: Add "set -e".
33472 Add --pkglibdir=DIR option to override pkglibdir.
33473 Mention --image-type=TYPE in help output.
33474 Fix --grub-mkimage (it was a no-op).
33475 Abort gracefully when no parameter is given.
33476
33477 2007-06-11 Robert Millan <rmh@aybabtu.com>
33478
33479 * util/i386/pc/grub-mkrescue.in: New file.
33480 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
33481 * Makefile.in: Handle bin_SCRIPTS.
33482
33483 2007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
33484
33485 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
33486 list of video modes.
33487
33488 2007-06-06 Robert Millan <rmh@aybabtu.com>
33489
33490 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
33491 file doesn't exist, or if it is in a filesystem grub can't read.
33492
33493 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
33494 not abort if GRUB_DRIVE could not be defined. Rearrange generated
33495 header comment to fit in 80 columns when the variables are resolved.
33496
33497 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
33498 could be identified by update-grub. Remove redundant check for
33499 unifont.pff existence (since convert_system_path_to_grub_path now
33500 handles that).
33501
33502 2007-06-04 Robert Millan <rmh@aybabtu.com>
33503
33504 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
33505
33506 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
33507
33508 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
33509
33510 2007-06-04 Robert Millan <rmh@aybabtu.com>
33511
33512 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
33513
33514 * include/grub/partition.h: Declare grub_apple_partition_map_init and
33515 grub_apple_partition_map_fini.
33516
33517 * util/biosdisk.c
33518 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
33519 to access >2 TiB disks).
33520
33521 Print disk->total_sectors with %llu instead of %lu, since this
33522 variable is always 64-bit (prevents wrong disk size from being displayed
33523 on either >2 TiB disk or big-endian CPU).
33524
33525 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
33526 into a generic case that supports all (sane) partition maps.
33527
33528 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
33529 breaks big-endian.
33530
33531 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
33532 and grub_apple_partition_map_fini() after that.
33533
33534 2007-06-01 Robert Millan <rmh@aybabtu.com>
33535
33536 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
33537
33538 * util/grub.d/00_header.in: Only enable gfxterm when
33539 convert_system_path_to_grub_path() succeeds.
33540
33541 2007-05-20 Robert Millan <rmh@aybabtu.com>
33542
33543 * util/update-grub_lib.in: New file.
33544 * DISTLIST: Add update-grub_lib.in.
33545 * conf/common.rmk: Generate update-grub_lib and install it in
33546 $(lib_DATA).
33547 * Makefile.in: Add install routine for $(lib_DATA).
33548
33549 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
33550 function provided by update-grub_lib to support arbitrary paths of
33551 unifont.pff.
33552 * util/update-grub.in: Use convert_system_path_to_grub_path() to
33553 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
33554
33555 2007-05-19 Robert Millan <rmh@aybabtu.com>
33556
33557 * commands/i386/cpuid.c: New module.
33558 * DISTLIST: Add it.
33559 * conf/i386-efi.rmk: Enable cpuid.mod.
33560 * conf/i386-pc.rmk: Likewise.
33561
33562 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
33563
33564 * kern/disk.c (grub_disk_read): Check return value of
33565 grub_realloc().
33566
33567 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
33568
33569 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
33570 arrays.
33571 * disk/raid.c (grub_raid_open): Likewise.
33572
33573 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
33574
33575 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
33576 stack instead of on the heap.
33577
33578 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
33579 before doing a read on it.
33580
33581 * configure.ac: Only use -fno-stack-protector for the target
33582 environment.
33583
33584 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
33585
33586 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
33587 __attribute_ ((unused)) to mode_type argument.
33588
33589 * util/getroot.c (grub_guess_root_device): Fix #endif.
33590
33591 * kern/misc.c (memcmp): Fix prototype.
33592
33593 * include/grub/partition.h [GRUB_UTIL]
33594 (grub_gpt_partition_map_init): Add prototype.
33595 (grub_gpt_partition_map_fini): Likewise.
33596
33597 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
33598 at the right place.
33599
33600 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
33601 (grub_fat_read_data): Likewise.
33602 (grub_fat_find_dir): Likewise.
33603
33604 * font/manager.c (find_glyph): Make table a const.
33605 (grub_font_get_glyph): Remove bitmap from if statement.
33606
33607 2007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
33608
33609 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
33610 code, first search for device in /dev/mapper, then in /dev.
33611 (grub_util_get_grub_dev): New function.
33612 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
33613 prototype.
33614 * util/grub-probe.c (probe): Remove check for RAID, call
33615 grub_util_get_grub_dev() instead of
33616 grub_util_biosdisk_get_grub_dev().
33617 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
33618 grub_util_biosdisk_get_grub_dev().
33619 * util/i386/pc/grub-setup.c (main): Likewise.
33620
33621 2007-05-16 Robert Millan <rmh@aybabtu.com>
33622
33623 * DISTLIST: Update for the latest changes.
33624 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
33625 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
33626 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
33627 grub/util/biosdisk.h.
33628 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
33629 grub/util/biosdisk.h.
33630
33631 2007-05-16 Robert Millan <rmh@aybabtu.com>
33632
33633 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
33634
33635 2007-05-16 Robert Millan <rmh@aybabtu.com>
33636
33637 * util/i386/efi/grub-install.in: New.
33638 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
33639 newly added grub-install.
33640 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
33641 include.
33642 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
33643 grub/util/biosdisk.h.
33644 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
33645 grub/util/biosdisk.h.
33646
33647 2007-05-16 Robert Millan <rmh@aybabtu.com>
33648
33649 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
33650 * include/grub/util/biosdisk.h: ... here.
33651 * util/i386/pc/biosdisk.c: Moved to ...
33652 * util/biosdisk.c: ... here.
33653 * util/i386/pc/getroot.c: Moved to ...
33654 * util/getroot.c: ... here.
33655 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
33656 * util/grub-mkdevicemap.c: ... here.
33657 * util/i386/pc/grub-probe.c: Moved to ...
33658 * util/grub-probe.c: ... here.
33659
33660 2007-05-15 Robert Millan <rmh@aybabtu.com>
33661
33662 * util/update-grub.in: Remove duplicated line in grub.cfg header
33663 message.
33664
33665 2007-05-13 Robert Millan <rmh@aybabtu.com>
33666
33667 * util/update-grub.in: Fix a few assumptions about the devices holding
33668 /, /boot and /boot/grub being the same.
33669 * util/grub.d/00_header.in: Likewise.
33670 * util/grub.d/10_hurd.in: Likewise.
33671 * util/grub.d/10_linux.in: Likewise.
33672
33673 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
33674 patterns. Use that to define the `.old' suffix as older than `'.
33675
33676 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
33677
33678 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
33679 the grub.cfg header message.
33680
33681 2007-05-11 Robert Millan <rmh@aybabtu.com>
33682
33683 * util/update-grub.in: Create device.map if it doesn't already exist,
33684 before attempting to run grub-probe.
33685 Check for grub-probe and grub-mkdevicemap with the same code
33686 grub-install is using.
33687 Remove test mode.
33688
33689 2007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
33690
33691 * Makefile.in: Add the datarootdir autoconf variable.
33692
33693 2007-05-09 Robert Millan <rmh@aybabtu.com>
33694
33695 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
33696 fail gracefully if dev->disk->partition == NULL.
33697
33698 2007-05-07 Robert Millan <rmh@aybabtu.com>
33699
33700 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
33701 determine partition map module.
33702 * util/i386/pc/grub-install.in: Use this feature to decide which
33703 partition module to load, instead of hardcoding pc and gpt.
33704
33705 2007-05-07 Robert Millan <rmh@aybabtu.com>
33706
33707 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
33708 source directory differs from build directory.
33709
33710 2007-05-05 Robert Millan <rmh@aybabtu.com>
33711
33712 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
33713 initialisation.
33714
33715 2007-05-05 Robert Millan <rmh@aybabtu.com>
33716
33717 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
33718
33719 2007-05-05 Robert Millan <rmh@aybabtu.com>
33720
33721 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
33722 command-line arguments via ${GRUB_CMDLINE_LINUX}.
33723
33724 2007-05-05 Robert Millan <rmh@aybabtu.com>
33725
33726 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
33727 (grub_probe_SOURCES): Likewise.
33728 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
33729 GPT and initialize dos_part and bsd_part accordingly.
33730 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
33731 install_bsd_part.
33732 (main): Activate gpt module for use during partition identification,
33733 and deactivate it afterwards.
33734 * util/i386/pc/grub-install.in: Add gpt module to core.img.
33735 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
33736 partition identification, and deactivate it afterwards.
33737
33738 2007-05-05 Robert Millan <rmh@aybabtu.com>
33739
33740 * term/i386/pc/console.c (grub_console_fini): Call
33741 grub_term_set_current() before grub_term_unregister().
33742
33743 2007-05-04 Robert Millan <rmh@aybabtu.com>
33744
33745 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
33746 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
33747 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
33748 and update-grub_DATA.
33749 * conf/common.rmk: Build and install update-grub components.
33750 * conf/common.mk: Regenerate.
33751 * util/update-grub.in: New. Core of update-grub.
33752 * util/grub.d/00_header.in: New. Generates grub.cfg header.
33753 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
33754 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
33755 * util/grub.d/README: New. Document grub.d directory layout.
33756
33757 2007-05-01 Robert Millan <rmh@aybabtu.com>
33758
33759 * util/grub-emu.c: Move initialization functions
33760 grub_util_biosdisk_init() and grub_init_all() before
33761 grub_util_biosdisk_get_grub_dev(), which relies on them.
33762
33763 2007-04-19 Robert Millan <rmh@aybabtu.com>
33764
33765 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
33766 it is used later.
33767
33768 2007-04-18 Jerone Young <jerone@gmail.com>
33769
33770 * kernel/elf.c: Add missing parenthesis for conditional statement
33771 stanza.
33772
33773 2007-04-10 Jerone Young <jerone@gmail.com>
33774
33775 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
33776 continue on and look for device node with real device name.
33777
33778 2007-04-10 Jerone Young <jerone@gmail.com>
33779
33780 * configure.ac: Add argument for autoconf to use transformation
33781 ability.
33782 * Makefile.in: Add autoconf package transformation code.
33783 * util/i386/pc/grub-install.in: Likewise.
33784 * util/powerpc/ieee1275/grub-install.in: Likewise.
33785
33786 2007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
33787
33788 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
33789 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
33790 (EXT2_REVISION): Likewise.
33791 (EXT2_INODE_SIZE): Likewise.
33792 (struct grub_ext2_block_group): Added a missing member
33793 "used_dirs".
33794 (grub_ext2_read_inode): Divide by the inode size in a superblock
33795 instead of 128 to obtain INODES_PER_BLOCK.
33796 Use the macro EXT2_INODE_SIZE instead of directly using
33797 SBLOCK->INODE_SIZE.
33798
33799 2007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
33800
33801 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
33802 superblock instead of the structure size to compute an
33803 offset. This fixes the problem that GRUB could not read a
33804 filesystem when inode size is different from 128-byte.
33805
33806 2007-03-05 Marco Gerards <marco@gnu.org>
33807
33808 * normal/main.c (read_config_file): When "menu" is not set, create
33809 an initial context.
33810
33811 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
33812
33813 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
33814 (HEAP_LIMIT): New macro.
33815 (grub_claim_heap): Claim memory up to `heaplimit'.
33816
33817 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
33818
33819 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
33820 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
33821 (_start): Likewise.
33822 (grub_arch_modules_addr): Return address after `_end'.
33823 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
33824 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
33825 (add_segments): Calculate `_end' from phdr size and location.
33826 (ALIGN_UP): Moved to ...
33827 * include/grub/misc.h: here.
33828 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
33829 New macro.
33830 (GRUB_IEEE1275_MODULE_BASE): Removed.
33831
33832 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
33833
33834 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
33835 loop boundary.
33836
33837 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
33838
33839 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
33840 All users updated.
33841 (grub_elf64_load_hook_t): Likewise.
33842 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
33843 debug output.
33844
33845 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
33846
33847 * kern/mm.c: Update copyright.
33848 (grub_mm_debug): Correct syntax error.
33849 (grub_mm_dump_free): New function.
33850 (grub_debug_free): Call `grub_free'.
33851 * include/grub/mm.h: Update copyright.
33852 (grub_mm_dump_free): Add declaration.
33853
33854 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
33855
33856 * include/grub/ieee1275/ieee1275.h: Update copyright.
33857 * kern/powerpc/ieee1275/init.c: Likewise.
33858 * kern/powerpc/ieee1275/openfw.c: Likewise.
33859
33860 * loader/powerpc/ieee1275/linux.c: Likewise.
33861 * include/grub/elfload.h: Likewise.
33862 * kern/elf.c: Likewise.
33863 (grub_elf32_load): Pass `base' and `size' parameters. Update all
33864 callers.
33865 (grub_elf64_load): Likewise.
33866 (grub_elf32_load_segment): Move to a nested function.
33867 (grub_elf64_load_segment): Likewise.
33868
33869 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
33870
33871 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
33872 prototype.
33873 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
33874 (grub_heap_len): Likewise.
33875 (HEAP_SIZE): New macro.
33876 (grub_claim_heap): New function.
33877 (grub_machine_init): Don't claim heap directly. Call
33878 `grub_claim_heap'.
33879 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
33880 (grub_available_iterate): New function.
33881
33882 2007-02-03 Thomas Schwinge <tschwinge@gnu.org>
33883
33884 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
33885 * configure.ac: Use it for testing the HOST and TARGET compilers.
33886
33887 2006-12-13 Thomas Schwinge <tschwinge@gnu.org>
33888
33889 * Makefile.in (enable_grub_emu): New variable.
33890 * configure.ac (--enable-grub-emu): New option.
33891 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
33892 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
33893 * conf/i386-pc.rmk: Likewise.
33894 * conf/powerpc-ieee1275.rmk: Likewise.
33895 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
33896
33897 2006-12-12 Marco Gerards <marco@gnu.org>
33898
33899 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
33900
33901 * kern/env.c (grub_env_unset): Don't free the member `value' when
33902 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
33903 pointer.
33904
33905 * normal/main.c (current_menu): Removed.
33906 (free_menu): Unset the `menu' environment variable.
33907 (grub_normal_menu_addentry): Make use of the environment variable
33908 `menu', instead of using the global `current_menu'. Allocate
33909 memory for the sourcecode of this entry.
33910 (read_config_file): New argument `nested', changed all callers.
33911 Only in the case of a new context, initialize a new menu. Set the
33912 `menu' environment variable.
33913 (grub_normal_execute): Don't set and unset the environment
33914 variable `menu' here anymore. Only free the menu when leaving the
33915 context.
33916
33917 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
33918 leak.
33919
33920 2006-12-11 Marco Gerards <marco@gnu.org>
33921
33922 * normal/menu_entry.c (run): Fix off by one bug so the last line
33923 is executed. Move the loader check to outside the loop.
33924
33925 2006-12-08 Hollis Blanchard <hollis@penguinppc.org>
33926
33927 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
33928
33929 2006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
33930
33931 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
33932 the number of sectors. Reported by Andrey Shuvikov
33933 <mr_hyro@yahoo.com>.
33934
33935 2006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
33936
33937 * kern/disk.c (grub_disk_read): When there is a read error, always
33938 try to read only the necessary data.
33939
33940 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
33941 disk/raid.c.
33942 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
33943 prototype.
33944 [GRUB_UTIL] (grub_raid_fini): Likewise.
33945 [GRUB_UTIL] (grub_lvm_init): Likewise.
33946 [GRUB_UTIL] (grub_lvm_fini): Likewise.
33947 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
33948 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
33949 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
33950 and grub_raid_fini().
33951
33952 2006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
33953
33954 * include/grub/types.h (__unused): Rename to UNUSED.
33955 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
33956 (grub_elf64_size): Likewise.
33957
33958 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
33959
33960 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
33961 grub_error_push and grub_error_pop in the error-handling path.
33962 (grub_elf32_load_segment): Only call grub_file_read with non-zero
33963 length.
33964
33965 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
33966
33967 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
33968 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
33969 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33970 (kernel_elf_SOURCES): Likewise.
33971 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
33972 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
33973 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
33974 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
33975 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
33976 (elf_mod_SOURCES): New variable.
33977 (elf_mod_CFLAGS): Likewise.
33978 (elf_mod_LDFLAGS): Likewise.
33979 * include/grub/types.h (__unused): New macro.
33980 * include/grub/elfload.h: New file.
33981 * kern/elf.c: Likewise.
33982 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
33983 (ELF32_LOADMASK): New macro.
33984 (ELF64_LOADMASK): Likewise.
33985 (vmlinux): Removed.
33986 (grub_linux_load32): New function.
33987 (grub_linux_load64): Likewise.
33988 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
33989 Use grub_elf_t instead of grub_file_t.
33990
33991 2006-11-02 Hollis Blanchard <hollis@penguinppc.org>
33992
33993 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
33994 `catch_result' to struct set_color_args.
33995
33996 2006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
33997
33998 * normal/menu.c: Include grub/script.h.
33999 * normal/menu_entry.c: Likewise.
34000 * include/grub/normal.h: Do not include grub/script.h.
34001
34002 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
34003
34004 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
34005
34006 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
34007
34008 * kern/disk.c (grub_disk_open): Print debug messages when opening a
34009 disk.
34010 (grub_disk_close): Print debug messages when closing a disk.
34011 (grub_disk_read): Print debug messages when disk read fails.
34012 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
34013 filesystem type.
34014 * kern/partition.c: Include misc.h.
34015 (grub_partition_iterate): Print debug messages when detecting
34016 partition type.
34017
34018 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
34019
34020 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
34021 is negative.
34022 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
34023
34024 2006-10-26 Hollis Blanchard <hollis@penguinppc.org>
34025
34026 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
34027 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
34028
34029 2006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
34030
34031 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
34032 instead of sizeof(lv). Patch by Michael Guntsche.
34033
34034 2006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
34035
34036 * disk/lvm.c: Rename VGS to VG_LIST.
34037 (grub_lvm_iterate): Change VGS->LV to VG-LV.
34038 (grub_lvm_open): Likewise.
34039 Thanks to Michael Guntsche for finding this bug.
34040
34041 2006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
34042
34043 * configure.ac (AC_INIT): Bumped to 1.95.
34044
34045 2006-10-14 Robert Millan <rmh@aybabtu.com>
34046
34047 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
34048 with "/dev/.static/dev/md".
34049
34050 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
34051
34052 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
34053 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
34054 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
34055 DRIVE_NAME are always freed.
34056
34057 * util/i386/pc/biosdisk.c (make_device_name): Add one into
34058 DOS_PART, as a DOS partition is counted from one instead of zero
34059 now. Reported by Robert Millan.
34060
34061 2006-10-14 Robert Millan <rmh@aybabtu.com>
34062
34063 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
34064 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
34065 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
34066 string returned by grub_guess_root_device.
34067 * util/i386/pc/grub-setup.c: Likewise.
34068 * util/i386/pc/grub-probefs.c: Likewise.
34069
34070 * util/i386/pc/grub-probefs.c: Rename to ...
34071 * util/i386/pc/grub-probe.c: ... this.
34072 * DISTLIST: Remove grub-probefs, add grub-probe.
34073 * conf/i386-efi.rmk: Likewise.
34074 * conf/i386-pc.rmk: Likewise.
34075 * util/i386/pc/grub-install.in: Likewise.
34076
34077 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
34078 choose which information we want to print.
34079
34080 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
34081
34082 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
34083 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
34084 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
34085 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
34086 video/readers/tga.c and video/i386/pc/vbeutil.c.
34087
34088 2006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
34089
34090 Added support for RAID and LVM.
34091
34092 * disk/lvm.c: New file.
34093 * disk/raid.c: Likewise.
34094 * include/grub/lvm.h: Likewise.
34095 * include/grub/raid.h: Likewise.
34096 * include/grub/util/lvm.h: Likewise.
34097 * include/grub/util/raid.h: Likewise.
34098 * util/lvm.c: Likewise.
34099 * util/raid.c: Likewise.
34100
34101 * include/grub/disk.h (grub_disk_dev_id): Add
34102 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
34103 (grub_disk_get_size): New prototype.
34104 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
34105 returns a partition.
34106 (grub_disk_get_size): New function.
34107
34108 * kern/i386/pc/init.c (make_install_device): Copy the prefix
34109 verbatim if grub_install_dos_part is -2.
34110
34111 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
34112 and LVM devices.
34113
34114 * util/i386/pc/grub-setup.c (setup): New argument
34115 MUST_EMBED. Force embedding of GRUB when the argument is
34116 true. Close FILE before returning.
34117 (main): Add support for RAID and LVM.
34118
34119 * conf/common.rmk: Add RAID and LVM modules.
34120 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
34121 util/lvm.c.
34122 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
34123
34124 * kern/misc.c (grub_strstr): New function.
34125 * include/grub/misc.h (grub_strstr): New prototype.
34126
34127 2006-10-10 Tristan Gingold <tristan.gingold@bull.net>
34128
34129 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
34130
34131 2006-10-05 Tristan Gingold <tristan.gingold@bull.net>
34132
34133 * kern/misc.c (grub_strtoull): Guess the base only if not
34134 specified.
34135
34136 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
34137
34138 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
34139 PowerMac support.
34140
34141 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
34142
34143 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
34144
34145 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
34146 Remove `flags' argument. All callers changed.
34147 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
34148 (IEEE1275_IHANDLE_INVALID): New variable.
34149 (IEEE1275_CELL_INVALID): New variable.
34150 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
34151 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
34152 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
34153 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
34154 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
34155 codes from Open Firmware. All callers updated.
34156 (grub_ieee1275_next_property): Directly return Open Firmware return
34157 code.
34158 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
34159 Standardize error checking from `grub_ieee1275_get_property'.
34160 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
34161 `devalias' to `aliases'. Correct comments. Consolidate error paths.
34162
34163 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
34164
34165 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
34166 `instance_to_package_args' to `instance_to_path_args'.
34167
34168 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
34169 `grub_ieee1275_chosen'.
34170
34171 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
34172 `grub_ieee1275_interpret'.
34173
34174 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
34175
34176 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
34177
34178 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
34179
34180 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
34181 (__cmpdi): Likewise.
34182
34183 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
34184 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
34185 `grub_ssize_t'.
34186
34187 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
34188
34189 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
34190 to type `grub_ssize_t'.
34191 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
34192
34193 2006-09-22 Marco Gerards <marco@gnu.org>
34194
34195 * normal/script.c (grub_script_create_cmdmenu): Skip leading
34196 newlines.
34197
34198 2006-09-22 Marco Gerards <marco@gnu.org>
34199
34200 * commands/echo.c: New file.
34201
34202 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
34203
34204 * conf/common.rmk (echo_mod_SOURCES): New variable.
34205 (echo_mod_CFLAGS): Likewise.
34206 (echo_mod_LDFLAGS): Likewise.
34207
34208 2006-09-22 Marco Gerards <marco@gnu.org>
34209
34210 * normal/main.c (get_line): Malloc memory instead of using
34211 preallocated memory. Removed the arguments `cmdline' and
34212 `max_len'. Updated all callers.
34213
34214 2006-09-22 Marco Gerards <marco@gnu.org>
34215
34216 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
34217 (normal_mod_DEPENDENCIES): Likewise.
34218
34219 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
34220 (normal_mod_DEPENDENCIES): Likewise.
34221
34222 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
34223
34224 2006-09-22 Johan Rydberg <jrydberg@gnu.org>
34225
34226 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
34227 programs.
34228 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
34229 (normal_mod_DEPENDENCIES): Likewise.
34230 * conf/i386-pc.mk: Regenerate.
34231 * conf/i386-efi.mk: Likewise
34232 * conf/common.mk: Likewise.
34233 * conf/powerpc-ieee1275.mk: Likewise.
34234 * conf/sparc64-ieee1275.mk: Likewise.
34235
34236 2006-09-22 Robert Millan <rmh@aybabtu.com>
34237
34238 Sync with i386 version.
34239 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
34240 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
34241
34242 2006-09-21 Robert Millan <rmh@aybabtu.com>
34243
34244 Import from GRUB Legacy (lib/device.c):
34245 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
34246 (init_device_map) [__linux__]: Add support for I2O devices.
34247
34248 2006-09-14 Marco Gerards <marco@gnu.org>
34249
34250 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
34251 `-melf_i386'.
34252
34253 2006-09-14 Robert Millan <rmh@aybabtu.com>
34254
34255 * util/i386/pc/grub-install.in: Skip menu.lst when removing
34256 /boot/grub/*.lst.
34257
34258 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
34259
34260 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
34261 before adding it to device.map.
34262
34263 2006-08-15 Johan Rydberg <jrydberg@gnu.org>
34264
34265 * genmk.rb: Let GCC generate dependencies the first time it
34266 compiles a file; using the -MD option.
34267 * conf/common.mk: Regenerate.
34268 * conf/i386-pc.mk: Likewise.
34269 * conf/i386-efi.mk: Likewise.
34270 * conf/powerpc-ieee1275.mk: Likewise.
34271 * conf/sparc64-ieee1275.mk: Likewise.
34272
34273 2006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
34274
34275 Move the prototypes of grub_setjmp and grub_longjmp to
34276 cpu/setjmp.h, so that each architecture may specify different
34277 attributes.
34278
34279 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
34280 (grub_longjmp): Likewise.
34281 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
34282 (grub_longjmp): Likewise.
34283 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
34284 (grub_longjmp): Likewise.
34285
34286 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
34287 [!GRUB_UTIL] (grub_longjmp): Removed.
34288
34289 2006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
34290
34291 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
34292 "color!" method does not return any value.
34293
34294 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
34295
34296 * include/grub/bitmap.h: New file.
34297
34298 * include/grub/i386/pc/vbeutil.h: Likewise.
34299
34300 * video/bitmap.c: Likewise.
34301
34302 * video/readers/tga.c: Likewise.
34303
34304 * video/i386/pc/vbeutil.c: Likewise.
34305
34306 * commands/videotest.c: Code cleanup and updated to reflect to new
34307 video API.
34308
34309 * term/gfxterm.c: Likewise.
34310
34311 * video/video.c: Likewise.
34312
34313 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
34314 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
34315 (bitmap_mod_SOURCES): New entry.
34316 (bitmap_mod_CFLAGS): Likewise.
34317 (bitmap_mod_LDFLAGS): Likewise.
34318 (tga_mod_SOURCES): Likewise.
34319 (tga_mod_CFLAGS): Likewise.
34320 (tga_mod_LDFLAGS): Likewise.
34321
34322 * include/grub/video.h (grub_video_blit_operators): New enum type.
34323 (grub_video_render_target): Changed as forward declaration and moved
34324 actual definition to be video driver specific.
34325 (grub_video_adapter.blit_bitmap): Added blitting operator.
34326 (grub_video_adapter.blit_render_target): Likewise.
34327 (grub_video_blit_bitmap): Likewise.
34328 (grub_video_blit_render_target): Likewise.
34329
34330 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
34331 driver specific render target definition.
34332 (grub_video_vbe_map_rgba): Added driver internal helper.
34333 (grub_video_vbe_unmap_color): Updated to use
34334 grub_video_i386_vbeblit_info.
34335 (grub_video_vbe_get_video_ptr): Likewise.
34336
34337 * include/grub/i386/pc/vbeblit.h
34338 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
34339 grub_video_i386_vbeblit_info.
34340 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
34341 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
34342 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
34343 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
34344 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
34345 (grub_video_i386_vbeblit_index_index): Likewise.
34346 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
34347 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
34348 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
34349 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
34350 operator.
34351 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
34352 operator.
34353
34354 * video/i386/pc/vbeblit.c: Updated to reflect changes on
34355 include/grub/i386/pc/vbeblit.h.
34356
34357 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
34358 Updated to use grub_video_i386_vbeblit_info.
34359 (grub_video_i386_vbefill_R8G8B8): Likewise.
34360 (grub_video_i386_vbefill_index): Likewise.
34361 (grub_video_i386_vbefill): Added generic filler.
34362
34363 * video/i386/pc/vbefill.c: Updated to reflect changes on
34364 include/grub/i386/pc/vbefill.h.
34365
34366 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
34367 grub_video_i386_vbeblit_info.
34368 (grub_video_vbe_unmap_color): Likewise.
34369 (grub_video_vbe_blit_glyph): Likewise.
34370 (grub_video_vbe_scroll): Likewise.
34371 (grub_video_vbe_draw_pixel): Removed function.
34372 (grub_video_vbe_get_pixel): Likewise.
34373 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
34374 updated code to use it.
34375 (common_blitter): Added common blitter for render target and bitmap.
34376 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
34377 (grub_video_vbe_blit_render_target): Likewise.
34378
34379 2006-07-30 Johan Rydberg <jrydberg@gnu.org>
34380
34381 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
34382 is in text mode if there is no console control protocol instance
34383 available.
34384
34385 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
34386
34387 * include/grub/video.h: Code cleanup.
34388
34389 * include/grub/i386/pc/vbe.h: Likewise.
34390
34391 * video/i386/pc/vbe.c: Likewise.
34392
34393 * video/i386/pc/vbeblit.c: Likewise.
34394
34395 * video/i386/pc/vbefill.c: Likewise.
34396
34397 * video/video.c: Likewise. Also added more comments.
34398
34399 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
34400
34401 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
34402 (struct grub_biosdisk_dap): Likewise.
34403
34404 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
34405 linkage settings for all functions.
34406
34407 2006-07-12 Marco Gerards <marco@gnu.org>
34408
34409 * configure.ac (--enable-mm-debug): Fix typo.
34410
34411 * genkernsyms.sh.in: Use proper quoting for `CC'.
34412
34413 2006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
34414
34415 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
34416 (normal_mod_ASFLAGS): Remove "-m32".
34417
34418 2006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
34419
34420 * util/misc.c: Include config.h.
34421 [!HAVE_MEMALIGN]: Do not include malloc.h.
34422 (grub_memalign): Use posix_memalign, if present. Then, use
34423 memalign, if present. Otherwise, emit an error.
34424
34425 * util/grub-emu.c: Do not include malloc.h.
34426
34427 * include/grub/util/misc.h: Include unistd.h. This is required for
34428 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
34429 D. Eades III <hde@foobar-qux.org>.
34430
34431 * configure.ac (AC_GNU_SOURCE): Added.
34432 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
34433 type.
34434
34435 2006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
34436
34437 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
34438 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
34439
34440 2006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
34441
34442 * include/grub/types.h (grub_host_addr_t): Rename to
34443 grub_target_addr_t.
34444 (grub_host_off_t): Rename to grub_target_off_t.
34445 (grub_host_size_t): Rename to grub_target_size_t.
34446 (grub_host_ssize_t): Rename to grub_target_ssize_t.
34447 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
34448
34449 * include/grub/kernel.h (struct grub_module_header): Change type
34450 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
34451 (grub_module_info): Likewise.
34452
34453 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
34454
34455 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
34456 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
34457 Velazquez <jesus.velazquez@gmail.com>.
34458
34459 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
34460
34461 Count partitions from 1 instead of 0 in the string representation
34462 of partitions. Still use 0-based internally.
34463
34464 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
34465 (sun_partition_map_iterate): Use grub_partition_t instead of
34466 struct grub_partition *. Cast DESC->START_CYLINDER to
34467 grub_uint64_t after converting the endian.
34468 (sun_partition_map_probe): Subtract 1 for PARTNUM.
34469 (sun_partition_map_get_name): Add 1 to P->INDEX.
34470
34471 * partmap/pc.c (grub_partition_parse): Subtract 1 for
34472 PCDATA->DOS_PART.
34473 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
34474
34475 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
34476 zero instead of one.
34477 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
34478 (gpt_partition_map_get_name): Add 1 into P->INDEX.
34479
34480 * partmap/apple.c (apple_partition_map_iterate): Change the type
34481 of POS to unsigned.
34482 (apple_partition_map_probe): Subtract 1 for PARTNUM.
34483 (apple_partition_map_get_name): Add 1 into P->INDEX.
34484
34485 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
34486 of POS to unsigned.
34487 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
34488 calculate the offset of a partition.
34489 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
34490 (amiga_partition_map_get_name): Add 1 into P->INDEX.
34491
34492 * partmap/acorn.c (acorn_partition_map_find): Change the type of
34493 SECTOR to grub_disk_addr_t.
34494 (acorn_partition_map_iterate): Likewise.
34495 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
34496 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
34497 top.
34498 (acorn_partition_map_get_name): Add 1 into P->INDEX.
34499
34500 * kern/i386/pc/init.c (make_install_device): Add 1 into
34501 GRUB_INSTALL_DOS_PART.
34502
34503 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
34504 conditional.
34505
34506 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
34507
34508 Clean up the code to support 64-bit addressing in disks and
34509 files. This change is not enough for filesystems yet.
34510
34511 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
34512 type of "start" to grub_uint64_t.
34513 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
34514 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
34515 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
34516 convert addresses.
34517
34518 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
34519 to grub_disk_addr_t.
34520
34521 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
34522 string.
34523
34524 * partmap/pc.c (pc_partition_map_iterate): Likewise.
34525
34526 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
34527 to char *.
34528
34529 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
34530
34531 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
34532
34533 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
34534
34535 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
34536 to grub_off_t, to detect an error from grub_file_seek.
34537 (grub_multiboot_load_elf32): Likewise.
34538
34539 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
34540 maximum unsigned long value when an overflow is detected.
34541 (grub_strtoull): New function.
34542 (grub_divmod64): Likewise.
34543 (grub_lltoa): use grub_divmod64.
34544
34545 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
34546 grub_disk_addr_t.
34547 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
34548 the pointer to next character. Use grub_strtoull instead of
34549 grub_strtoul.
34550 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
34551 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
34552 respectively.
34553
34554 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
34555 return value is signed.
34556 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
34557 test if OFFSET is less than zero, as OFFSET is unsigned now.
34558
34559 * kern/disk.c (struct grub_disk_cache): Change the type of
34560 "sector" to grub_disk_addr_t.
34561 (grub_disk_cache_get_index): Change the type of SECTOR to
34562 grub_disk_addr_t. Calculate the hash with SECTOR casted to
34563 unsigned after shifting.
34564 (grub_disk_cache_invalidate): Change the type of SECTOR to
34565 grub_disk_addr_t.
34566 (grub_disk_cache_unlock): Likewise.
34567 (grub_disk_cache_store): Likewise.
34568 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
34569 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
34570 grub_disk_addr_t and grub_uint64_t, respectively.
34571 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
34572 body, as the value of OFFSET is tweaked by
34573 grub_disk_check_range. Change the types of START_SECTOR, LEN and
34574 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
34575 respectively.
34576 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
34577 body, as the value of OFFSET is tweaked by
34578 grub_disk_check_range. Change the types of LEN and N to
34579 grub_size_t.
34580
34581 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
34582 and "saved_offset" to grub_off_t.
34583 (test_header): Cast BUF to char *.
34584 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
34585 to char *.
34586 (grub_gzio_read): Change the types of OFFSET and SIZE to
34587 grub_off_t and grub_size_t, respectively.
34588
34589 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
34590 Removed.
34591 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
34592 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
34593 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
34594 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
34595 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
34596
34597 * include/grub/types.h (grub_off_t): Unconditionally set to
34598 grub_uint64_t.
34599 (grub_disk_addr_t): Changed to grub_uint64_t.
34600
34601 * include/grub/partition.h (struct grub_partition): Change the
34602 types of "start", "len" and "offset" to grub_disk_addr_t,
34603 grub_uint64_t and grub_disk_addr_t, respectively.
34604 (grub_partition_get_start): Return grub_disk_addr_t.
34605 (grub_partition_get_len): Return grub_uint64_t.
34606
34607 * include/grub/misc.h (grub_strtoull): New prototype.
34608 (grub_divmod64): Likewise.
34609
34610 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
34611 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
34612 grub_off_t, respectively.
34613 All callers and references changed.
34614
34615 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
34616 grub_size_t in "read".
34617 All callers and references changed.
34618
34619 * include/grub/file.h (struct grub_file): Change the types of
34620 "offset" and "size" to grub_off_t and grub_off_t,
34621 respectively. Change the type of SECTOR to grub_disk_addr_t in
34622 "read_hook".
34623 (grub_file_read): Change the type of LEN to grub_size_t.
34624 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
34625 grub_off_t.
34626 (grub_file_size): Return grub_off_t.
34627 (grub_file_tell): Likewise.
34628 All callers and references changed.
34629
34630 * include/grub/disk.h (struct grub_disk_dev): Change the types of
34631 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
34632 "write".
34633 (struct grub_disk): Change the type of "total_sectors" to
34634 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
34635 "read_hook".
34636 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
34637 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
34638 (grub_disk_write): Likewise.
34639 All callers and references changed.
34640
34641 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
34642 char * for grub_strncmp to silence gcc.
34643 (grub_iso9660_mount): Likewise.
34644 (grub_iso9660_mount): Likewise.
34645 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
34646 return statement.
34647 (grub_iso9660_iterate_dir): Likewise.
34648 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
34649
34650 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
34651 LEN to grub_disk_addr_t and grub_size_t, respectively.
34652
34653 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
34654
34655 * fs/jfs.c (grub_jfs_read_file): Likewise.
34656
34657 * fs/minix.c (grub_jfs_read_file): Likewise.
34658
34659 * fs/sfs.c (grub_jfs_read_file): Likewise.
34660
34661 * fs/ufs.c (grub_jfs_read_file): Likewise.
34662
34663 * fs/xfs.c (grub_jfs_read_file): Likewise.
34664
34665 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
34666 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
34667 respectively.
34668
34669 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
34670 BLKNR to -1 instead of returning GRUB_ERRNO.
34671 (grub_ext2_read_file): Change the types of SECTOR and
34672 LEN to grub_disk_addr_t and grub_size_t, respectively.
34673
34674 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
34675 LEN to grub_disk_addr_t and grub_size_t, respectively.
34676
34677 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
34678 grub_file_read.
34679
34680 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
34681 string. Do not cast SECTOR explicitly.
34682
34683 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
34684 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
34685 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
34686 grub_disk_addr_t and grub_size_t, respectively. If the sector is
34687 over 2TB and LBA mode is not supported, raise an error.
34688 (get_safe_sectors): New function.
34689 (grub_biosdisk_read): Use get_safe_sectors.
34690 (grub_biosdisk_write): Likewise.
34691
34692 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
34693 (grub_efidisk_write): Likewise.
34694
34695 * disk/loopback.c (delete_loopback): Cosmetic changes.
34696 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
34697 correctly.
34698 (grub_loopback_open): Likewise.
34699 (grub_loopback_read): Likewise. Also, change the type of POS to
34700 grub_off_t, and fix the usage of grub_memset.
34701
34702 * commands/i386/pc/play.c: Include grub/machine/time.h.
34703
34704 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
34705 print FILE->SIZE.
34706
34707 * commands/configfile.c: Include grub/env.h.
34708
34709 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
34710 GRUB_ERRNO directly instead. Change the type of POS to
34711 grub_off_t. Follow the coding standard.
34712
34713 * commands/blocklist.c: Include grub/partition.h.
34714 (grub_cmd_blocklist): Return an error if the underlying device is
34715 not a disk. Take the starting sector of a partition into account,
34716 if a partition is used.
34717
34718 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
34719 a length field.
34720 (lba_mode): Support 64-bit addresses.
34721 (chs_mode): Likewise.
34722 (copy_buffer): Adapted to the new offsets of a length field and a
34723 segment field.
34724 (blocklist_default_start): Allocate 64-bit space.
34725
34726 * boot/i386/pc/boot.S (force_lba): Removed.
34727 (boot_drive): Moved to under KERNEL_SECTOR.
34728 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
34729 space.
34730 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
34731 is useless.
34732 (lba_mode): Refactored to support a 64-bit address. More size
34733 optimization.
34734 (setup_sectors): Likewise.
34735
34736 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
34737
34738 * DISTLIST: Added include/grub/i386/linux.h. Removed
34739 include/grub/i386/pc/linux.h
34740
34741 * configure.ac (AC_INIT): Bumped to 1.94.
34742
34743 * config.guess: Updated from gnulib.
34744 * config.sub: Likewise.
34745 * install-sh: Likewise.
34746 * mkinstalldirs: Likewise.
34747
34748 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
34749
34750 * conf/common.rmk (grub_modules_init.lst): Depended on
34751 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
34752 MODSRCFILES.
34753
34754 * genmk.rb (PModule::rule): Reverted the previous change.
34755
34756 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
34757
34758 * conf/common.rmk (grub_modules_init.lst): Depends on
34759 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
34760 that the target does not exist before producing.
34761 (grub_modules_init.h): Remove the target before generating.
34762 (grub_emu_init.c): Likewise.
34763
34764 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
34765
34766 2006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
34767
34768 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
34769 for the target-specific tests. Make sure that we also have the
34770 up-to-date target variables for those tests.
34771
34772 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
34773
34774 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
34775 (PModule::rule): Likewise.
34776
34777 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
34778
34779 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
34780 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
34781 target-specific flags should be prefixed.
34782 (PModule::rule): Likewise.
34783
34784 2006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
34785
34786 * configure.ac (CMP): Check if cmp is available explicitly.
34787
34788 2006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
34789
34790 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
34791 (target_cpu): New variable.
34792 (pkglibdir): Use target_cpu instead of host_cpu.
34793
34794 * util/i386/pc/grub-install.in (host_cpu): Removed.
34795 (target_cpu): New variable.
34796 (pkglibdir): Use target_cpu instead of host_cpu.
34797
34798 * util/genmoddep.c: Removed.
34799
34800 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
34801 instead of GRUB_HOST_SIZEOF_VOID_P.
34802 * kern/dl.c: Likewise.
34803
34804 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
34805 ...
34806 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
34807 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
34808 (GRUB_TARGET_SIZEOF_LONG): ... this.
34809 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
34810 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
34811 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
34812 to ...
34813 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
34814 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
34815 (GRUB_TARGET_SIZEOF_LONG): ... this.
34816 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
34817 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
34818 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
34819 to ...
34820 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
34821 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
34822 (GRUB_TARGET_SIZEOF_LONG): ... this.
34823 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
34824 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
34825
34826 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
34827 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
34828 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
34829 instead of GRUB_HOST_SIZEOF_LONG.
34830 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
34831 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
34832 GRUB_CPU_WORDS_BIGENDIAN.
34833 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
34834 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
34835 grub_host_ssize_t.
34836
34837 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
34838 (genmoddep_SOURCES): Likewise.
34839 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
34840 (genmoddep_SOURCES): Likewise.
34841 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
34842 (genmoddep_SOURCES): Likewise.
34843 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
34844 Likewise.
34845 (genmoddep_SOURCES): Likewise.
34846
34847 * genmoddep.awk: New file.
34848
34849 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
34850 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
34851 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
34852 (PModule::rule): Likewise.
34853 (Program::rule): Likewise.
34854 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
34855 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
34856 respectively.
34857
34858 * configure.ac: Rewritten intensively to use host and target
34859 instead of build and host, respectively.
34860
34861 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
34862 (host_cpu): Removed.
34863 (target_cpu): New variable.
34864 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
34865 (BUILD_CC): Removed.
34866 (BUILD_CFLAGS): Likewise.
34867 (BUILD_CPPFLAGS): Likewise.
34868 (TARGET_CC): New variable.
34869 (TARGET_CFLAGS): Likewise.
34870 (TARGET_CPPFLAGS): Likewise.
34871 (TARGET_LDFLAGS): Likewise.
34872 (AWK): Likewise.
34873 (include): Use target_cpu instead of host_cpu.
34874 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
34875
34876 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
34877
34878 2006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
34879
34880 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
34881 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
34882 field 'false' to 'exec_on_false'.
34883 (grub_script_create_cmdif): Renamed argument names to reflect above
34884 changes.
34885
34886 * normal/execute.c (grub_script_execute_cmdif): Likewise.
34887
34888 * normal/script.c (grub_script_create_cmdif): Likewise.
34889
34890 2006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
34891
34892 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
34893 top.
34894 (grub_hfsplus_btree_recptr): Likewise.
34895 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
34896 FILEBLOCK both to pass a block number and store next block
34897 number.
34898 (grub_hfsplus_read_block): Rewritten heavily to support an extent
34899 overflow file correctly. Specify errors appropriately, because
34900 fshelp expects that GRUB_ERRNO is set when fails. Reuse
34901 grub_hfsplus_btree_recptr to get the pointer to a found key.
34902 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
34903 is found.
34904
34905 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
34906 linux.mod.
34907 (_linux_mod_SOURCES): New variable.
34908 (_linux_mod_CFLAGS): Likewise.
34909 (_linux_mod_LDFLAGS): Likewise.
34910 (linux_mod_SOURCES): Likewise.
34911 (linux_mod_CFLAGS): Likewise.
34912 (linux_mod_LDFLAGS): Likewise.
34913
34914 * DISTLIST: Added loader/i386/efi/linux.c,
34915 loader/i386/efi/linux_normal.c and
34916 include/grub/i386/efi/loader.h.
34917
34918 * loader/i386/efi/linux.c: New file.
34919 * loader/i386/efi/linux_normal.c: Likewise.
34920 * include/grub/i386/efi/loader.h: Likewise.
34921
34922 2006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
34923
34924 * commands/blocklist.c: New file.
34925
34926 * DISTLIST: Added commands/blocklist.c.
34927
34928 * term/efi/console.c (grub_console_highlight_color): Use a lighter
34929 color for the background, and a darker color for the foreground.
34930 (grub_console_checkkey): Return READ_KEY.
34931 (grub_console_cls): Set the background to
34932 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
34933
34934 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
34935
34936 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
34937 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
34938
34939 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
34940 prototype.
34941
34942 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
34943 BG. The spec is wrong again.
34944
34945 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
34946 prototype.
34947 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
34948
34949 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
34950 commands/blocklist.c.
34951 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34952
34953 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
34954 (blocklist_mod_SOURCES): New variable.
34955 (blocklist_mod_CFLAGS): Likewise.
34956 (blocklist_mod_LDFLAGS): Likewise.
34957
34958 2006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
34959
34960 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
34961 duplication.
34962 (lba_mode): Use %eax more intensively to reduce the code size.
34963
34964 2006-05-20 Marco Gerards <marco@gnu.org>
34965
34966 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
34967
34968 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
34969 for `menuentry'.
34970 (script): Accept leading newlines.
34971 (newlines): New rule to describe 0 or more newlines.
34972 (commands): Accept `command' with trailing newline. Fixed the
34973 order in which arguments were passed to `grub_script_add_cmd'.
34974 Accept commands separated by newlines.
34975 (function): Changed to accept newlines.
34976 (menuentry) Rewritten.
34977
34978 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
34979 front of the list, instead of to the end.
34980
34981 2006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
34982
34983 * util/i386/pc/grub-install.in (bindir): New variable.
34984 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
34985 Shaver <lbgwjl@gmail.com>.
34986
34987 2006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
34988
34989 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
34990 grub/machine/linux.h
34991 * loader/i386/pc/linux.c: Likewise.
34992
34993 * include/grub/i386/pc/linux.h: Moved to ...
34994 * include/grub/i386/linux.h: ... here.
34995
34996 * include/grub/i386/linux.h (struct linux_kernel_params): New
34997 struct.
34998
34999 2006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
35000
35001 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
35002 checking.
35003 (grub_video_vbe_blit_glyph): Likewise.
35004 (grub_video_vbe_blit_bitmap): Likewise.
35005 (grub_video_vbe_blit_render_target): Likewise.
35006
35007 2006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
35008
35009 * configure.ac (--with-platform): Properly quote the square
35010 brackets.
35011
35012 2006-05-08 Marco Gerards <marco@gnu.org>
35013
35014 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
35015 this...
35016 (kernel_elf_HEADERS): ...to this. Updated all users.
35017 (grubof_symlist.c): Renamed from this...
35018 (kernel_elf_symlist.c): ...to this. Updated all users.
35019 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
35020 (grubof_SOURCES): Renamed from this...
35021 (kernel_elf_SOURCES): ...to this.
35022 (grubof_HEADERS): Renamed from this...
35023 (kernel_elf_HEADERS): ...to this.
35024 (grubof_CFLAGS): Renamed from this...
35025 (kernel_elf_CFLAGS): ...to this.
35026 (grubof_ASFLAGS): Renamed from this...
35027 (kernel_elf_ASFLAGS): ...to this.
35028 (grubof_LDFLAGS): Renamed from this...
35029 (kernel_elf_LDFLAGS): ...to this.
35030
35031 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
35032 this...
35033 (kernel_elf_HEADERS): ...to this. Updated all users.
35034 (grubof_symlist.c): Renamed from this...
35035 (kernel_elf_symlist.c): ...to this. Updated all users.
35036 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
35037 (grubof_SOURCES): Renamed from this...
35038 (kernel_elf_SOURCES): ...to this.
35039 (grubof_HEADERS): Renamed from this...
35040 (kernel_elf_HEADERS): ...to this.
35041 (grubof_CFLAGS): Renamed from this...
35042 (kernel_elf_CFLAGS): ...to this.
35043 (grubof_ASFLAGS): Renamed from this...
35044 (kernel_elf_ASFLAGS): ...to this.
35045 (grubof_LDFLAGS): Renamed from this...
35046 (kernel_elf_LDFLAGS): ...to this.
35047
35048 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
35049 `kernel.elf' instead of `grubof'.
35050
35051 2006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
35052
35053 Add --with-platform to configure. Use pkglibdir instead of
35054 pkgdatadir. This is reported by Roger Leigh.
35055
35056 * util/powerpc/ieee1275/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/i386/pc/grub-install.in (datadir): Removed.
35065 (host_vendor): Likewise.
35066 (host_os): Likewise.
35067 (pkgdatadir): Likewise.
35068 (platform): New variable.
35069 (pkglibdir): Likewise.
35070 Use PKGLIBDIR instead of PKGDATADIR.
35071
35072 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
35073 instead of GRUB_DATADIR.
35074 (main): Likewise.
35075 * util/i386/pc/grub-mkimage.c (usage): Likewise.
35076 (main): Likewise.
35077 * util/i386/efi/grub-mkimage.c (usage): Likewise.
35078 (main): Likewise.
35079
35080 * configure.ac (--with-platform): New option.
35081 Use PLATFORM instead of HOST_VENDOR to specify a platform.
35082
35083 * Makefile.in: Include a makefile based on PLATFORM instead of
35084 HOST_VENDOR.
35085 (pkgdatadir): Not appended by the machine type.
35086 (pkglibdir): Appended by the machine type.
35087 (host_vendor): Removed.
35088 (platform): New variable.
35089 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
35090 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
35091 (uninstall): Likewise.
35092
35093 2006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
35094
35095 Use the environment context in the menu. Remove the commands
35096 "default" and "timeout", and use variables instead.
35097
35098 * normal/menu.c: Include grub/env.h.
35099 (print_entry): Cast TITLE to silence gcc.
35100 (get_timeout): New function.
35101 (set_timeout): Likewise.
35102 (get_entry_number): Likewise.
35103 (run_menu): Use a default entry, a fallback entry and a timeout
35104 in the environment variables "default", "fallback" and
35105 "timeout". Also, tweak the default entry if it is not within the
35106 current menu entries.
35107 (grub_menu_run): Use a fallback entry in the environment variable
35108 "fallback".
35109
35110 * normal/main.c (read_config_file): Do not initialize
35111 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
35112 NEWMENU->TIMEOUT.
35113 (grub_normal_execute): Use a data slot to store the menu.
35114
35115 * include/grub/normal.h (struct grub_menu): Removed default_entry,
35116 fallback_entry and timeout.
35117 (struct grub_menu_list): Removed.
35118 (grub_menu_list_t): Likewise.
35119 (struct grub_context): Likewise.
35120 (grub_context_t): Likewise.
35121 (grub_context_get): Likewise.
35122 (grub_context_get_current_menu): Likewise.
35123 (grub_context_push_menu): Likewise.
35124 (grub_context_pop_menu): Likewise.
35125 (grub_default_init): Likewise.
35126 (grub_default_fini): Likewise.
35127 (grub_timeout_init): Likewise.
35128 (grub_timeout_fini): Likewise.
35129
35130 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
35131 and timeout.mod.
35132 (normal_mod_SOURCES): Removed normal/context.c.
35133
35134 * conf/powerpc-ieee1275.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/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
35139 commands/timeout.c and normal/context.c.
35140 (normal_mod_SOURCES): Removed normal/context.c.
35141
35142 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
35143 commands/default.c, commands/timeout.c and normal/context.c.
35144 (normal_mod_SOURCES): Removed normal/context.c.
35145
35146 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
35147 timeout.mod.
35148 (default_mod_SOURCES): Removed.
35149 (default_mod_CFLAGS): Likewise.
35150 (default_mod_LDFLAGS): Likewise.
35151 (timeout_mod_SOURCES): Removed.
35152 (timeout_mod_CFLAGS): Likewise.
35153 (timeout_mod_LDFLAGS): Likewise.
35154
35155 * DISTLIST: Removed commands/default.c, commands/timeout.c and
35156 normal/context.c.
35157
35158 * commands/default.c: Removed.
35159 * commands/timeout.c: Likewise.
35160 * normal/context.c: Likewise.
35161
35162 2006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
35163
35164 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
35165
35166 2006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
35167
35168 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
35169 "next" to "prev" for readability.
35170 (struct grub_env_sorted_var): New struct.
35171 (grub_env_context): Renamed to ...
35172 (initial_context): ... this.
35173 (grub_env_var_context): Renamed to ...
35174 (current_context): ... this.
35175 (grub_env_find): Look only at CURRENT_CONTEXT.
35176 (grub_env_context_open): Rewritten to copy exported variables from
35177 previous context.
35178 (grub_env_context_close): Rewritten according to the new
35179 scheme. Also, add an assertion to prevent the initial context from
35180 removed.
35181 (grub_env_insert): Removed the code for the sorted list.
35182 (grub_env_remove): Likewise.
35183 (grub_env_export): Simply mark the variable with
35184 GRUB_ENV_VAR_GLOBAL.
35185 (grub_env_set): A cosmetic change for naming consistency.
35186 (grub_env_get): Likewise.
35187 (grub_env_unset): Likewise.
35188 (grub_env_iterate): Rewritten to sort variables within this
35189 function.
35190 (grub_register_variable_hook): Fixed for naming consistency. Call
35191 grub_env_find again, only if NAME is not found at the first time.
35192 (mangle_data_slot_name): New function.
35193 (grub_env_set_data_slot): Likewise.
35194 (grub_env_get_data_slot): Likewise.
35195 (grub_env_unset_data_slot): Likewise.
35196
35197 * include/grub/env.h (grub_env_var_type): New enum.
35198 (GRUB_ENV_VAR_LOCAL): New constant.
35199 (GRUB_ENV_VAR_GLOBAL): Likewise.
35200 (GRUB_ENV_VAR_DATA): Likewise.
35201 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
35202 "type".
35203 (grub_env_set): Replace VAR with NAME for consistency.
35204 (grub_register_variable_hook): Likewise.
35205 (grub_env_export): Specify the name of the argument.
35206 (grub_env_set_data_slot): New prototype.
35207 (grub_env_get_data_slot): Likewise.
35208 (grub_env_unset_data_slot): Likewise.
35209
35210 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
35211
35212 Extend the loader so that GRUB can accept a loader which comes
35213 back to GRUB when a loaded image exits. Also, this change adds
35214 support for a chainloader on EFI.
35215
35216 * term/efi/console.c: Include grub/misc.h.
35217 (grub_console_checkkey): Display a scan code on the top for
35218 debugging. This will be removed once the EFI port gets stable.
35219 Correct the scan code mapping.
35220
35221 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
35222 allocate memory from larger regions, in order to reduce the number
35223 of allocated regions. Otherwise, the MacOSX loader panics.
35224 (filter_memory_map): Avoid less than 1MB for compatibility with
35225 other loaders.
35226 (add_memory_regions): Allocate from the tail of a region, if
35227 possible, to avoid allocating a region near to 1MB, for the MacOSX
35228 loader.
35229
35230 * kern/efi/init.c (grub_efi_set_prefix): Specify
35231 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
35232
35233 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
35234 argument IMAGE_HANDLE and specify it to get a loaded image.
35235 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
35236 grub_efi_get_loaded_image.
35237 (grub_efi_get_filename): Divide the length by the size of
35238 grub_efi_char16_t.
35239 (grub_efi_get_device_path): New function.
35240 (grub_efi_print_device_path): Print End Device Path nodes. Divide
35241 the length by the size of grub_efi_char16_t for a file path device
35242 path node.
35243
35244 * kern/loader.c (grub_loader_noreturn): New variable.
35245 (grub_loader_set): Accept a new argument NORETURN. Set
35246 GRUB_LOADER_NORETURN to NORETURN.
35247 All callers changed.
35248 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
35249 grub_machine_fini.
35250
35251 * include/grub/efi/efi.h (grub_efi_get_device_path): New
35252 prototype.
35253 (grub_efi_get_loaded_image): Take an argument to specify an image
35254 handle.
35255
35256 * include/grub/loader.h (grub_loader_set): Added one more argument
35257 NORETURN.
35258
35259 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
35260 instead of grub_efi_open_protocol.
35261 (grub_efidisk_get_device_name): Likewise.
35262 (grub_efidisk_close): Print a newline.
35263 (grub_efidisk_get_device_handle): Fixed to use
35264 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
35265 GRUB_EFI_DEVICE_PATH_TYPE.
35266
35267 * disk/efi/efidisk.c (device_path_guid): Moved to ...
35268 * kern/efi/efi.c (device_path_guid): ... here.
35269
35270 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
35271 chain.mod.
35272 (kernel_mod_HEADERS): Added efi/disk.h.
35273 (_chain_mod_SOURCES): New variable.
35274 (_chain_mod_CFLAGS): Likewise.
35275 (_chain_mod_LDFLAGS): Likewise.
35276 (chain_mod_SOURCES): Likewise.
35277 (chain_mod_CFLAGS): Likewise.
35278 (chain_mod_LDFLAGS): Likewise.
35279
35280 * DISTLIST: Added include/grub/efi/chainloader.h,
35281 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
35282
35283 * include/grub/efi/chainloader.h: New file.
35284 * loader/efi/chainloader.c: Likewise.
35285 * loader/efi/chainloader_normal.c: Likewise.
35286
35287 2006-04-30 Marco Gerards <marco@gnu.org>
35288
35289 * commands/configfile.c (grub_cmd_source): New function.
35290 (GRUB_MOD_INIT): Register the commands `source' and `.'.
35291 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
35292
35293 2006-04-30 Marco Gerards <marco@gnu.org>
35294
35295 * normal/execute.c (grub_script_execute_cmd): Change the return
35296 type to `grub_err_t'. Correctly return the error.
35297 (grub_script_execute_cmdline): In case a command line is not a
35298 command or a function, try to interpret it as an assignment.
35299
35300 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
35301
35302 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
35303 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
35304 skip a node whose name is obviously invalid as UTF-16,
35305 i.e. contains a NUL character. Stop the iteration when the last
35306 directory entry is found. Instead of using the return value of
35307 grub_hfsplus_btree_iterate_node, store the value in RET and use
35308 it, because the iterator can be stopped by the last directory
35309 entry.
35310
35311 2006-04-30 Marco Gerards <marco@gnu.org>
35312
35313 * include/grub/env.h (grub_env_export): New prototype. Reported
35314 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
35315
35316 2006-04-30 Marco Gerards <marco@gnu.org>
35317
35318 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
35319 size of the extents in a catalog file record.
35320
35321 2006-04-29 Marco Gerards <marco@gnu.org>
35322
35323 * commands/configfile.c (grub_cmd_configfile): Execute the
35324 configfile within its own context.
35325
35326 * include/grub/env.h (grub_env_context_open): New prototype.
35327 (grub_env_context_close): Likewise.
35328
35329 * kern/env.c (grub_env): Removed.
35330 (grub_env_sorted): Likewise.
35331 (grub_env_context): New variable.
35332 (grub_env_var_context): Likewise.
35333 (grub_env_find): Search both the active context and the global
35334 context.
35335 (grub_env_context_open): New function.
35336 (grub_env_context_close): Likewise.
35337 (grub_env_insert): Likewise.
35338 (grub_env_remove): Likewise.
35339 (grub_env_export): Likewise.
35340 (grub_env_set): Changed to use helper functions to avoid code
35341 duplication.
35342 (grub_env_iterate): Rewritten so both the current context and the
35343 global context are being used.
35344
35345 * normal/command.c (export_command): New function.
35346 (grub_command_init): Register the `export' function.
35347
35348 2006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
35349
35350 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
35351 explicitly to suppress gcc's warnings.
35352 * fs/fat.c (grub_fat_find_dir): Likewise.
35353 (grub_fat_label): Likewise.
35354 * fs/xfs.c (grub_xfs_read_inode): Likewise.
35355 (grub_xfs_mount): Likewise.
35356 (grub_xfs_label): Likewise.
35357 * fs/affs.c (grub_affs_mount): Likewise.
35358 (grub_affs_label): Likewise.
35359 (grub_affs_iterate_dir): Likewise.
35360 * fs/sfs.c (grub_sfs_mount): Likewise.
35361 (grub_sfs_iterate_dir): Likewise.
35362 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
35363 * fs/hfs.c (grub_hfs_mount): Likewise.
35364 (grub_hfs_cmp_catkeys): Likewise.
35365 (grub_hfs_find_dir): Likewise.
35366 (grub_hfs_dir): Likewise.
35367 (grub_hfs_label): Likewise.
35368 * fs/jfs.c (grub_jfs_mount): Likewise.
35369 (grub_jfs_opendir): Likewise.
35370 (grub_jfs_getent): Likewise.
35371 (grub_jfs_lookup_symlink): Likewise.
35372 (grub_jfs_label): Likewise.
35373 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
35374 (grub_hfsplus_iterate_dir): Likewise.
35375 (grub_hfsplus_btree_iterate_node): Made static.
35376
35377 * util/grub-emu.c (prefix): New variable.
35378 (grub_machine_set_prefix): New function.
35379 (main): Do not set the environment variable "prefix" here. Only
35380 set PREFIX, which is used later by grub_machine_set_prefix.
35381
35382 * include/grub/video.h: Do not include grub/symbol.h.
35383 (grub_video_register): Not exported. This symbol is not defined in
35384 the kernel.
35385 (grub_video_unregister): Likewise.
35386 (grub_video_iterate): Likewise.
35387 (grub_video_setup): Likewise.
35388 (grub_video_restore): Likewise.
35389 (grub_video_get_info): Likewise.
35390 (grub_video_get_blit_format): Likewise.
35391 (grub_video_set_palette): Likewise.
35392 (grub_video_get_palette): Likewise.
35393 (grub_video_set_viewport): Likewise.
35394 (grub_video_get_viewport): Likewise.
35395 (grub_video_map_color): Likewise.
35396 (grub_video_map_rgb): Likewise.
35397 (grub_video_map_rgba): Likewise.
35398 (grub_video_fill_rect): Likewise.
35399 (grub_video_blit_glyph): Likewise.
35400 (grub_video_blit_bitmap): Likewise.
35401 (grub_video_blit_render_target): Likewise.
35402 (grub_video_scroll): Likewise.
35403 (grub_video_swap_buffers): Likewise.
35404 (grub_video_create_render_target): Likewise.
35405 (grub_video_delete_render_target): Likewise.
35406 (grub_video_set_active_render_target): Likewise.
35407
35408 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
35409 Undefined.
35410 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
35411
35412 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
35413 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
35414 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
35415 instead of $(srcdir)/genkernsyms.sh.
35416
35417 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
35418 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
35419 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
35420 instead of $(srcdir)/genkernsyms.sh.
35421
35422 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
35423 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
35424 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
35425 instead of $(srcdir)/genkernsyms.sh.
35426
35427 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
35428 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
35429 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
35430 instead of $(srcdir)/genkernsyms.sh.
35431
35432 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
35433 genkernsyms.sh.
35434
35435 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
35436 genkernsyms.sh.
35437 (gensymlist.sh): New target.
35438 (genkernsyms.sh): Likewise.
35439
35440 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
35441 genkernsyms.sh.in and gensymlist.sh.in.
35442
35443 * genkernsyms.sh: Removed.
35444 * gensymlist.sh: Likewise.
35445
35446 * genkernsyms.sh.in: New file.
35447 * gensymlist.sh.in: Likewise.
35448
35449 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
35450
35451 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
35452 clobber "prefix", since we may have already set it manually.
35453
35454 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
35455
35456 * kern/misc.c (abort): New alias for grub_abort.
35457
35458 2006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
35459
35460 A new machine-specific function "grub_machine_set_prefix" is
35461 defined. This is called after loading modules, so that a prefix
35462 initialization can use modules. Also, this change adds an
35463 intensive debugging feature for the memory manager via the
35464 configure option "--enable-mm-debug".
35465
35466 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
35467 PART.LEN.
35468
35469 * kern/sparc64/ieee1275/init.c (abort): Removed.
35470 (grub_stop): Likewise.
35471 (grub_exit): New function.
35472 (grub_set_prefix): Renamed to ...
35473 (grub_machine_set_prefix): ... this.
35474 (grub_machine_init): Do not call grub_set_prefix.
35475
35476 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
35477 (grub_machine_set_prefix): ... this.
35478 (grub_machine_init): Do not call grub_set_prefix.
35479
35480 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
35481 (grub_machine_init): Do not set the prefix here.
35482
35483 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
35484
35485 * kern/efi/init.c: Include grub/mm.h.
35486 (grub_efi_set_prefix): New function.
35487
35488 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
35489 (grub_efi_get_filename): New function.
35490 (grub_print_device_path): Renamed to ...
35491 (grub_efi_print_device_path): ... this.
35492
35493 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
35494 [MM_DEBUG] (grub_realloc): Likewise.
35495 [MM_DEBUG] (grub_free): Likewise.
35496 [MM_DEBUG] (grub_memalign): Likewise.
35497 [MM_DEBUG] (grub_mm_debug): New variable.
35498 [MM_DEBUG] (grub_debug_malloc): New function.
35499 [MM_DEBUG] (grub_debug_free): New function.
35500 [MM_DEBUG] (grub_debug_realloc): New function.
35501 [MM_DEBUG] (grub_debug_memalign): New function.
35502
35503 * kern/misc.c (grub_abort): Print a newline to distinguish
35504 the message.
35505
35506 * kern/main.c (grub_main): Call grub_machine_set_prefix and
35507 grub_set_root_dev after loading modules. This is necessary when
35508 setting a prefix depends on modules.
35509
35510 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
35511 (grub_efi_print_device_path): ... this.
35512 (grub_efi_get_filename): New prototype.
35513 (grub_efi_set_prefix): Likewise.
35514
35515 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
35516 and grub/disk.h.
35517 (grub_efidisk_get_device_handle): New prototype.
35518 (grub_efidisk_get_device_name): Likewise.
35519
35520 * include/grub/mm.h: Include config.h.
35521 (MM_DEBUG): Removed.
35522 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
35523 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
35524 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
35525 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
35526 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
35527 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
35528 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
35529 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
35530 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
35531
35532 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
35533
35534 * disk/efi/efidisk.c: Include grub/partition.h.
35535 (iterate_child_devices): New function.
35536 (add_device): First, compare only last device path nodes, so that
35537 devices are sorted by the types.
35538 (grub_efidisk_get_device_handle): New function.
35539 (grub_efidisk_get_device_name): Likewise.
35540
35541 * configure.ac (--enable-mm-debug): New option to enable the
35542 memory manager debugging feature. This makes the binary much
35543 bigger, so is disabled by default.
35544
35545 2006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
35546
35547 Use grub_abort instead of grub_stop, and grub_exit must be
35548 define in each architecture now. Also, this change adds support
35549 for EFI disks.
35550
35551 * util/i386/pc/grub-probefs.c: Include grub/term.h.
35552 (grub_getkey): New function.
35553 (grub_term_get_current): Likewise.
35554
35555 * util/i386/pc/grub-setup.c: Include grub/term.h.
35556 (grub_getkey): New function.
35557 (grub_term_get_current): Likewise.
35558
35559 * util/misc.c (grub_stop): Renamed to ...
35560 (grub_exit): ... this.
35561
35562 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
35563 (grub_exit): ... this.
35564 (grub_machine_init): Use grub_abort instead of abort.
35565 (grub_stop): Removed.
35566
35567 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
35568 abort.
35569
35570 * kern/i386/pc/startup.S (grub_exit): New function.
35571 (cold_reboot): New label.
35572
35573 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
35574 (grub_efi_init): Call grub_efidisk_init.
35575 (grub_efi_fini): Call grub_efidisk_fini.
35576
35577 * kern/efi/efi.c: Include grub/mm.h.
35578 (grub_efi_console_control_guid): Renamed to ...
35579 (console_control_guid): ... this.
35580 (grub_efi_loaded_image_guid): Renamed to ...
35581 (loaded_image_guid): ... this.
35582 (grub_efi_locate_handle): New function.
35583 (grub_efi_open_protocol): Likewise.
35584 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
35585 GRUB_EFI_CONSOLE_CONTROL_GUID.
35586 (grub_efi_exit): Removed.
35587 (grub_stop): Likewise.
35588 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
35589 (grub_exit): New function.
35590 (grub_print_device_path): Likewise.
35591
35592 * kern/rescue.c (grub_rescue_cmd_exit): New function.
35593 (grub_enter_rescue_mode): Register "exit".
35594
35595 * kern/misc.c (grub_real_dprintf): A cosmetic change.
35596 (grub_abort): New function.
35597
35598 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
35599
35600 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
35601
35602 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
35603
35604 * include/grub/efi/efi.h (grub_efi_exit): Removed.
35605 (grub_print_device_path): New prototype.
35606 (grub_efi_locate_handle): Likewise.
35607 (grub_efi_open_protocol): Likewise.
35608
35609 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
35610 * disk/efi/efidisk.c: Likewise.
35611
35612 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
35613
35614 * include/grub/efi/console_control.h
35615 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
35616
35617 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
35618 last 8 bytes as an array.
35619 (GRUB_EFI_DISK_IO_GUID): New macro.
35620 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
35621 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
35622 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
35623 grub_uint8_t.
35624 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
35625 (struct grub_efi_device_path): Rename the member "sub_type" to
35626 "subtype".
35627 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
35628 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
35629 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
35630 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
35631 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
35632 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
35633 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
35634 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
35635 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
35636 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
35637 (struct grub_efi_pci_device_path): New structure.
35638 (grub_efi_pci_device_path_t): New type.
35639 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
35640 (struct grub_efi_pccard_device_path): New structure.
35641 (grub_efi_pccard_device_path_t): New type.
35642 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
35643 (struct grub_efi_memory_mapped_device_path): New structure.
35644 (grub_efi_memory_mapped_device_path_t): New type.
35645 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
35646 (struct grub_efi_vendor_device_path): New structure.
35647 (grub_efi_vendor_device_path_t): New type.
35648 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
35649 (struct grub_efi_controller_device_path): New structure.
35650 (grub_efi_controller_device_path_t): New type.
35651 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
35652 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
35653 (struct grub_efi_acpi_device_path): New structure.
35654 (grub_efi_acpi_device_path_t): New type.
35655 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
35656 (struct grub_efi_expanded_acpi_device_path): New structure.
35657 (grub_efi_expanded_acpi_device_path_t): New type.
35658 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
35659 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
35660 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
35661 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
35662 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
35663 (struct grub_efi_atapi_device_path): New structure.
35664 (grub_efi_atapi_device_path_t): New type.
35665 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
35666 (struct grub_efi_fibre_channel_device_path): New structure.
35667 (grub_efi_fibre_channel_device_path_t): New type.
35668 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
35669 (struct grub_efi_1394_device_path): New structure.
35670 (grub_efi_1394_device_path_t): New type.
35671 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
35672 (struct grub_efi_usb_device_path): New structure.
35673 (grub_efi_usb_device_path_t): New type.
35674 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
35675 (struct grub_efi_usb_class_device_path): New structure.
35676 (grub_efi_usb_class_device_path_t): New type.
35677 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
35678 (struct grub_efi_i2o_device_path): New structure.
35679 (grub_efi_i2o_device_path_t): New type.
35680 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
35681 (struct grub_efi_mac_address_device_path): New structure.
35682 (grub_efi_mac_address_device_path_t): New type.
35683 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
35684 (struct grub_efi_ipv4_device_path): New structure.
35685 (grub_efi_ipv4_device_path_t): New type.
35686 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
35687 (struct grub_efi_ipv6_device_path): New structure.
35688 (grub_efi_ipv6_device_path_t): New type.
35689 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
35690 (struct grub_efi_infiniband_device_path): New structure.
35691 (grub_efi_infiniband_device_path_t): New type.
35692 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
35693 (struct grub_efi_uart_device_path): New structure.
35694 (grub_efi_uart_device_path_t): New type.
35695 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
35696 (struct grub_efi_vendor_messaging_device_path): New structure.
35697 (grub_efi_vendor_messaging_device_path_t): New type.
35698 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
35699 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
35700 (struct grub_efi_hard_drive_device_path): New structure.
35701 (grub_efi_hard_drive_device_path_t): New type.
35702 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
35703 (struct grub_efi_cdrom_device_path): New structure.
35704 (grub_efi_cdrom_device_path_t): New type.
35705 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
35706 (struct grub_efi_vendor_media_device_path): New structure.
35707 (grub_efi_vendor_media_device_path_t): New type.
35708 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
35709 (struct grub_efi_file_path_device_path): New structure.
35710 (grub_efi_file_path_device_path_t): New type.
35711 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
35712 (struct grub_efi_protocol_device_path): New structure.
35713 (grub_efi_protocol_device_path_t): New type.
35714 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
35715 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
35716 (struct grub_efi_bios_device_path): New structure.
35717 (grub_efi_bios_device_path_t): New type.
35718 (struct grub_efi_disk_io): New structure.
35719 (grub_efi_disk_io_t): New type.
35720 (struct grub_efi_block_io_media): New structure.
35721 (grub_efi_block_io_media_t): New type.
35722 (struct grub_efi_block_io): New structure.
35723 (grub_efi_block_io_t): New type.
35724
35725 * include/grub/misc.h (grub_stop): Removed.
35726 (grub_exit): New prototype.
35727 (grub_abort): Likewise.
35728
35729 * include/grub/disk.h (enum grub_disk_dev_id): Added
35730 GRUB_DISK_DEVICE_EFIDISK_ID.
35731
35732 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
35733 disk/efi/efidisk.c.
35734 (kernel_syms.lst): Remove the target if an error occurs.
35735
35736 2006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
35737
35738 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
35739 as it was simply too buggy.
35740
35741 2006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
35742
35743 * kern/misc.c (grub_lltoa): New function.
35744 (grub_vsprintf): Added support for the long long suffix,
35745 i.e. "ll".
35746
35747 2006-04-20 Hollis Blanchard <hollis@penguinppc.org>
35748
35749 * Makefile.in (LDFLAGS): Add variable.
35750 (LD): Remove variable.
35751 * configure.ac: Add -m32 to LDFLAGS.
35752 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
35753 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
35754 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
35755 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
35756 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
35757 variables.
35758 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
35759 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
35760 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
35761
35762 2006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
35763
35764 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
35765 length for unknown glyph.
35766
35767 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
35768
35769 Add support for pre-loaded modules into the EFI port.
35770
35771 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
35772 completely. Accept one more argument DIR. The caller has changed.
35773
35774 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
35775
35776 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
35777 (grub_efi_loaded_image_guid): New variable.
35778 (grub_efi_get_loaded_image): New function.
35779 (grub_arch_modules_addr): Likewise.
35780
35781 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
35782 prototype.
35783
35784 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
35785 (struct grub_efi_loaded_image): New structure.
35786 (grub_efi_loaded_image_t): New type.
35787
35788 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
35789
35790 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
35791 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
35792 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
35793
35794 2006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
35795
35796 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
35797
35798 2006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
35799
35800 * DISTLIST: Added include/grub/efi/console.h,
35801 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
35802 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
35803
35804 * include/grub/efi/console.h: New file.
35805 * include/grub/efi/time.h: Likewise.
35806 * include/grub/i386/efi/kernel.h: Likewise.
35807 * kern/efi/init.c: Likewise.
35808 * kern/efi/mm.c: Likewise.
35809 * term/efi/console.c: Likewise.
35810
35811 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
35812 (grub_stop): Removed.
35813 (grub_get_rtc): Likewise.
35814 (grub_machine_init): Simply call grub_efi_init.
35815 (grub_machine_fini): Call grub_efi_fini.
35816
35817 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
35818 (grub_efi_output_string): Removed.
35819 (grub_efi_stall): New function.
35820 (grub_stop): Likewise.
35821 (grub_get_rtc): Likewise.
35822
35823 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
35824 (grub_efi_stall): New prototype.
35825 (grub_efi_allocate_pages): Likewise.
35826 (grub_efi_free_pages): Likewise.
35827 (grub_efi_get_memory_map): Likewise.
35828 (grub_efi_mm_init): Likewise.
35829 (grub_efi_mm_fini): Likewise.
35830 (grub_efi_init): Likewise.
35831 (grub_efi_fini): Likewise.
35832
35833 * include/grub/i386/efi/time.h: Do not include
35834 grub/symbol.h. Include grub/efi/time.h.
35835 (GRUB_TICKS_PER_SECOND): Removed.
35836 (grub_get_rtc): Likewise.
35837
35838 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
35839 Added padding. The EFI spec is buggy.
35840 (GRUB_EFI_BLACK): New macro.
35841 (GRUB_EFI_BLUE): Likewise.
35842 (GRUB_EFI_GREEN): Likewise.
35843 (GRUB_EFI_CYAN): Likewise.
35844 (GRUB_EFI_RED): Likewise.
35845 (GRUB_EFI_MAGENTA): Likewise.
35846 (GRUB_EFI_BROWN): Likewise.
35847 (GRUB_EFI_LIGHTGRAY): Likewise.
35848 (GRUB_EFI_BRIGHT): Likewise.
35849 (GRUB_EFI_DARKGRAY): Likewise.
35850 (GRUB_EFI_LIGHTBLUE): Likewise.
35851 (GRUB_EFI_LIGHTGREEN): Likewise.
35852 (GRUB_EFI_LIGHTCYAN): Likewise.
35853 (GRUB_EFI_LIGHTRED): Likewise.
35854 (GRUB_EFI_LIGHTMAGENTA): Likewise.
35855 (GRUB_EFI_YELLOW): Likewise.
35856 (GRUB_EFI_WHITE): Likewise.
35857 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
35858 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
35859 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
35860 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
35861 (GRUB_EFI_BACKGROUND_RED): Likewise.
35862 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
35863 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
35864 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
35865 (GRUB_EFI_TEXT_ATTR): Likewise.
35866
35867 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
35868 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
35869 (kernel_mod_HEADERS): Added efi/time.h.
35870
35871 2006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
35872
35873 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
35874 include/grub/efi/api.h, include/grub/efi/console_control.h,
35875 include/grub/efi/efi.h, include/grub/efi/pe32.h,
35876 include/grub/i386/efi/time.h, kern/efi/efi.c,
35877 kern/i386/efi/init.c, kern/i386/efi/startup.S,
35878 and util/i386/efi/grub-mkimage.c.
35879
35880 * Makefile.in (RMKFILES): Added i386-efi.rmk.
35881
35882 * genmk.rb (PModule#rule): Do not export symbols if
35883 #{prefix}_EXPORTS is set to "no".
35884
35885 * conf/i386-efi.mk: New file.
35886 * conf/i386-efi.rmk: Likewise.
35887 * include/grub/efi/api.h: Likewise.
35888 * include/grub/efi/console_control.h: Likewise.
35889 * include/grub/efi/efi.h: Likewise.
35890 * include/grub/efi/pe32.h: Likewise.
35891 * include/grub/i386/efi/time.h: Likewise.
35892 * kern/efi/efi.c: Likewise.
35893 * kern/i386/efi/init.c: Likewise.
35894 * kern/i386/efi/startup.S: Likewise.
35895 * util/i386/efi/grub-mkimage.c: Likewise.
35896
35897 2006-04-17 Marco Gerards <marco@gnu.org>
35898
35899 * include/grub/script.h: Include <grub/parser.h> and
35900 "grub_script.tab.h".
35901 (struct grub_lexer_param): New struct.
35902 (struct grub_parser_param): Likewise.
35903 (grub_script_create_arglist): Pass the state in an argument.
35904 (grub_script_add_arglist): Likewise.
35905 (grub_script_create_cmdline): Likewise.
35906 (grub_script_create_cmdblock): Likewise.
35907 (grub_script_create_cmdif): Likewise.
35908 (grub_script_create_cmdmenu): Likewise.
35909 (grub_script_add_cmd): Likewise.
35910 (grub_script_arg_add): Likewise.
35911 (grub_script_lexer_ref): Likewise.
35912 (grub_script_lexer_deref): Likewise.
35913 (grub_script_lexer_record_start): Likewise.
35914 (grub_script_lexer_record_stop): Likewise.
35915 (grub_script_mem_record): Likewise.
35916 (grub_script_mem_record_stop): Likewise.
35917 (grub_script_malloc): Likewise.
35918 (grub_script_yylex): Likewise.
35919 (grub_script_yyparse): Likewise.
35920 (grub_script_yyerror): Likewise.
35921 (grub_script_yylex): Likewise.
35922 (grub_script_lexer_init): Return the state.
35923
35924 * normal/lexer.c (grub_script_lexer_state): Removed variable.
35925 (grub_script_lexer_done): Likewise.
35926 (grub_script_lexer_getline): Likewise.
35927 (grub_script_lexer_refs): Likewise.
35928 (script): Likewise.
35929 (newscript): Likewise.
35930 (record): Likewise.
35931 (recording): Likewise.
35932 (recordpos): Likewise.
35933 (recordlen): Likewise.
35934 (grub_script_lexer_init): Return the state instead of setting
35935 global variables.
35936 (grub_script_lexer_ref): Use the newly added argument for state
35937 instead of globals.
35938 (grub_script_lexer_deref): Likewise.
35939 (grub_script_lexer_record_start): Likewise.
35940 (grub_script_lexer_record_stop): Likewise.
35941 (recordchar): Likewise.
35942 (nextchar): Likewise.
35943 (grub_script_yylex2): Likewise.
35944 (grub_script_yylex): Likewise.
35945 (grub_script_yyerror): Likewise.
35946
35947 * normal/parser.y (func_mem): Removed variable.
35948 (menu_entry): Likewise.
35949 (err): Likewise.
35950 (%lex-param): New parser option.
35951 (%parse-param): Likewise.
35952 (script): Always return the AST.
35953 (argument): Pass the state around.
35954 (arguments): Likewise.
35955 (grubcmd): Likewise.
35956 (commands): Likewise.
35957 (function): Likewise.
35958 (menuentry): Likewise.
35959 (if_statement): Likewise.
35960 (if): Likewise.
35961
35962 * normal/script.c (grub_script_memused): Removed variable.
35963 (grub_script_parsed): Likewise.
35964 (grub_script_malloc): Added a state argument. Use that instead of
35965 global variables.
35966 (grub_script_mem_record): Likewise.
35967 (grub_script_mem_record_stop): Likewise.
35968 (grub_script_arg_add): Likewise.
35969 (grub_script_add_arglist): Likewise.
35970 (grub_script_create_cmdline): Likewise.
35971 (grub_script_create_cmdif): Likewise.
35972 (grub_script_create_cmdmenu): Likewise.
35973 (grub_script_add_cmd): Likewise.
35974 (grub_script_parse): Setup the state before calling the parser.
35975
35976 2006-04-16 Marco Gerards <marco@gnu.org>
35977
35978 * normal/command.c (grub_command_init): Remove the title command.
35979
35980 * normal/lexer.c (grub_script_yylex): Renamed from this...
35981 (grub_script_yylex2): ... to this.
35982 (grub_script_yylex): New function. Temporary
35983 introduced to filter some tokens.
35984 (grub_script_yyerror): Print a newline.
35985
35986 * normal/main.c (read_config_file): Output information about the
35987 lines that contain errors. Wait for a key after all lines have
35988 been processed. Don't return an empty menu.
35989
35990 * normal/parser.y (func_mem): Don't initialize.
35991 (menu_entry): Likewise.
35992 (err): New variable.
35993 (script): Don't return anything when an error was encountered.
35994 (ws, returns): Removed rules.
35995 (argument): Disabled concatenated variable support.
35996 (arguments): Remove explicit separators.
35997 (grubcmd): Likewise.
35998 (function): Likewise.
35999 (menuentry): Likewise.
36000 (if): Likewise.
36001 (commands): Likewise. Add error handling.
36002
36003 * normal/script.c (grub_script_create_cmdline): If
36004 `grub_script_parsed' is 0, assume the parser encountered an error.
36005
36006 2006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
36007
36008 * configure.ac: Add support for EFI. Fix the typo
36009 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
36010
36011 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
36012
36013 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
36014 foreign multibyte characters should be shown correctly.
36015
36016 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
36017
36018 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
36019 calculation.
36020 (read_config_file): Made it to close file before returning.
36021
36022 2006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
36023
36024 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
36025 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
36026 video/i386/pc/vbefill.c.
36027
36028 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
36029 video/i386/pc/vbefill.c.
36030
36031 * include/grub/video.h (grub_video_blit_format): New enum.
36032 (grub_video_mode_info): Added new member blit_format.
36033 (grub_video_get_blit_format): New function prototype.
36034
36035 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
36036 function prototype.
36037 (grub_video_vbe_map_rgb): Likewise.
36038 (grub_video_vbe_unmap_color): Likewise.
36039
36040 * include/grub/i386/pc/vbeblit.h: New file.
36041
36042 * include/grub/i386/pc/vbefill.h: New file.
36043
36044 * video/video.c (grub_video_get_blit_format): New function.
36045 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
36046 (grub_video_vbe_map_rgb): Likewise.
36047 (grub_video_vbe_unmap_color): Likewise.
36048
36049 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
36050 optimized fills.
36051 (grub_video_vbe_blit_render_target): Changed to use more optimized
36052 blits.
36053 (grub_video_vbe_setup): Added detection for optimized settings.
36054 (grub_video_vbe_create_render_target): Likewise.
36055
36056 * video/i386/pc/vbeblit.c: New file.
36057
36058 * video/i386/pc/vbefill.c: New file.
36059
36060 2006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
36061
36062 * font/manager.c (grub_font_get_glyph): Removed font fixup from
36063 here...
36064
36065 * util/unifont2pff.rb: ... and moved it to here. Improved argument
36066 parsing to support both hex and dec ranges. If filename was missing
36067 show usage information.
36068
36069 2006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
36070
36071 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
36072 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
36073
36074 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
36075 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
36076 (video_mod_SOURCES): Added.
36077 (video_mod_CFLAGS): Likewise.
36078 (video_mod_LDFLAGS): Likewise.
36079 (gfxterm_mod_SOURCES): Likewise.
36080 (gfxterm_mod_CFLAGS): Likewise.
36081 (gfxterm_mod_LDFLAGS): Likewise.
36082 (videotest_mod_SOURCES): Likewise.
36083 (videotest_mod_CFLAGS): Likewise.
36084 (videotest_mod_LDFLAGS): Likewise.
36085 (vesafb_mod_SOURCES): Removed.
36086 (vesafb_mod_CFLAGS): Likewise.
36087 (vesafb_mod_LDFLAGS): Likewise.
36088 (vga_mod_SOURCES): Likewise.
36089 (vga_mod_CFLAGS): Likewise.
36090 (vga_mod_LDFLAGS): Likewise.
36091
36092 * commands/videotest.c: New file.
36093
36094 * font/manager.c (fill_with_default_glyph): Modified to use
36095 grub_font_glyph.
36096 (grub_font_get_glyph): Likewise.
36097 (fontmanager): Renamed from this...
36098 (font_manager): ... to this.
36099
36100 * include/grub/font.h (grub_font_glyph): Added new structure.
36101 (grub_font_get_glyph): Modified to use grub_font_glyph.
36102
36103 * include/grub/misc.h (grub_abs): Added as inline function.
36104
36105 * include/grub/video.h: New file.
36106
36107 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
36108 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
36109 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
36110 (grub_vbe_get_controller_info): Renamed from this...
36111 (grub_vbe_bios_get_controller_info): ... to this.
36112 (grub_vbe_get_mode_info): Renamed from this...
36113 (grub_vbe_bios_get_mode_info): ... to this.
36114 (grub_vbe_set_mode): Renamed from this...
36115 (grub_vbe_bios_set_mode): ... to this.
36116 (grub_vbe_get_mode): Renamed from this...
36117 (grub_vbe_bios_get_mode): ... to this.
36118 (grub_vbe_set_memory_window): Renamed from this...
36119 (grub_vbe_bios_set_memory_window): ... to this.
36120 (grub_vbe_get_memory_window): Renamed from this...
36121 (grub_vbe_bios_get_memory_window): ... to this.
36122 (grub_vbe_set_scanline_length): Renamed from this...
36123 (grub_vbe_set_scanline_length): ... to this.
36124 (grub_vbe_get_scanline_length): Renamed from this...
36125 (grub_vbe_bios_get_scanline_length): ... to this.
36126 (grub_vbe_set_display_start): Renamed from this...
36127 (grub_vbe_bios_set_display_start): ... to this.
36128 (grub_vbe_get_display_start): Renamed from this...
36129 (grub_vbe_bios_get_display_start): ... to this.
36130 (grub_vbe_set_palette_data): Renamed from this...
36131 (grub_vbe_bios_set_palette_data): ... to this.
36132 (grub_vbe_set_pixel_rgb): Removed.
36133 (grub_vbe_set_pixel_index): Likewise.
36134
36135 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
36136 from this...
36137 (grub_vbe_bios_get_controller_info): ... to this.
36138 (grub_vbe_get_mode_info): Renamed from this...
36139 (grub_vbe_bios_get_mode_info): ... to this.
36140 (grub_vbe_set_mode): Renamed from this...
36141 (grub_vbe_bios_set_mode): ... to this.
36142 (grub_vbe_get_mode): Renamed from this...
36143 (grub_vbe_bios_get_mode): ... to this.
36144 (grub_vbe_set_memory_window): Renamed from this...
36145 (grub_vbe_bios_set_memory_window): ... to this.
36146 (grub_vbe_get_memory_window): Renamed from this...
36147 (grub_vbe_bios_get_memory_window): ... to this.
36148 (grub_vbe_set_scanline_length): Renamed from this...
36149 (grub_vbe_set_scanline_length): ... to this.
36150 (grub_vbe_get_scanline_length): Renamed from this...
36151 (grub_vbe_bios_get_scanline_length): ... to this.
36152 (grub_vbe_set_display_start): Renamed from this...
36153 (grub_vbe_bios_set_display_start): ... to this.
36154 (grub_vbe_get_display_start): Renamed from this...
36155 (grub_vbe_bios_get_display_start): ... to this.
36156 (grub_vbe_set_palette_data): Renamed from this...
36157 (grub_vbe_bios_set_palette_data): ... to this.
36158 (grub_vbe_bios_get_controller_info): Fixed problem with registers
36159 getting corrupted after calling it. Added more pushes and pops.
36160 (grub_vbe_bios_set_mode): Likewise.
36161 (grub_vbe_bios_get_mode): Likewise.
36162 (grub_vbe_bios_get_memory_window): Likewise.
36163 (grub_vbe_bios_set_scanline_length): Likewise.
36164 (grub_vbe_bios_get_scanline_length): Likewise.
36165 (grub_vbe_bios_get_display_start): Likewise.
36166 (grub_vbe_bios_set_palette_data): Likewise.
36167
36168 * normal/cmdline.c (cl_set_pos): Refresh the screen.
36169 (cl_insert): Likewise.
36170 (cl_delete): Likewise.
36171
36172 * term/gfxterm.c: New file.
36173
36174 * term/i386/pc/vesafb.c: Removed file.
36175
36176 * video/video.c: New file.
36177
36178 * video/i386/pc/vbe.c (real2pm): Added new function.
36179 (grub_video_vbe_draw_pixel): Likewise.
36180 (grub_video_vbe_get_video_ptr): Likewise.
36181 (grub_video_vbe_get_pixel): Likewise
36182 (grub_video_vbe_init): Likewise.
36183 (grub_video_vbe_fini): Likewise.
36184 (grub_video_vbe_setup): Likewise.
36185 (grub_video_vbe_get_info): Likewise.
36186 (grub_video_vbe_set_palette): Likewise.
36187 (grub_video_vbe_get_palette): Likewise.
36188 (grub_video_vbe_set_viewport): Likewise.
36189 (grub_video_vbe_get_viewport): Likewise.
36190 (grub_video_vbe_map_color): Likewise.
36191 (grub_video_vbe_map_rgb): Likewise.
36192 (grub_video_vbe_map_rgba): Likewise.
36193 (grub_video_vbe_unmap_color): Likewise.
36194 (grub_video_vbe_fill_rect): Likewise.
36195 (grub_video_vbe_blit_glyph): Likewise.
36196 (grub_video_vbe_blit_bitmap): Likewise.
36197 (grub_video_vbe_blit_render_target): Likewise.
36198 (grub_video_vbe_scroll): Likewise.
36199 (grub_video_vbe_swap_buffers): Likewise.
36200 (grub_video_vbe_create_render_target): Likewise.
36201 (grub_video_vbe_delete_render_target): Likewise.
36202 (grub_video_vbe_set_active_render_target): Likewise.
36203 (grub_vbe_set_pixel_rgb): Remove function.
36204 (grub_vbe_set_pixel_index): Likewise.
36205 (index_color_mode): Remove static variable.
36206 (active_mode): Likewise.
36207 (framebuffer): Likewise.
36208 (bytes_per_scan_line): Likewise.
36209 (grub_video_vbe_adapter): Added new static variable.
36210 (framebuffer): Likewise.
36211 (render_target): Likewise.
36212 (initial_mode): Likewise.
36213 (mode_in_use): Likewise.
36214 (mode_list): Likewise.
36215
36216 2006-03-10 Marco Gerards <marco@gnu.org>
36217
36218 * configure.ac (AC_INIT): Bumped to 1.93.
36219
36220 * DISTLIST: Added `include/grub/hfs.h'.
36221
36222 2006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
36223
36224 * boot/i386/pc/boot.S (general_error): Before looping, try INT
36225 18H, which might help the BIOS falling back to next boot media.
36226
36227 2006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
36228
36229 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
36230 Poe Chen <poe.poechen@gmail.com>.
36231
36232 2006-01-17 Marco Gerards <marco@gnu.org>
36233
36234 * include/grub/normal.h: Include <grub/script.h>.
36235 (grub_command_list): Removed struct.
36236 (grub_command_list_t): Removed type.
36237 (grub_menu_entry): Remove members `num' and `command_list'. Add
36238 members `commands' and `sourcecode'.
36239 * include/grub/script.h: Add inclusion guards.
36240 (grub_script_cmd_menuentry): New struct.
36241 (grub_script_execute_menuentry): New prototype.
36242 (grub_script_lexer_record_start): Likewise.
36243 (grub_script_lexer_record_stop): Likewise.
36244 * normal/execute.c (grub_script_execute_menuentry): New function.
36245 * normal/lexer.c (record, recording, recordpos, recordlen): New
36246 variables.
36247 (grub_script_lexer_record_start): New function.
36248 (grub_script_lexer_record_stop): Likewise.
36249 (recordchar): Likewise.
36250 (nextchar): Likewise.
36251 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
36252 2048 as the buffer size. Add the tokens `menuentry' and `@'.
36253 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
36254 (current_menu): New variable.
36255 (free_menu): Mainly rewritten.
36256 (grub_normal_menu_addentry): New function.
36257 (read_config_file): Rewritten.
36258 * normal/menu.c (run_menu_entry): Mainly rewritten.
36259 * normal/menu_entry.c (make_screen): Rewritten the code to insert
36260 the menu entry.
36261 (run): Mainly rewritten.
36262 * normal/parser.y (menu_entry): New variable.
36263 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
36264 (menuentry): New rule.
36265 (command): Add `menuentry'.
36266 (if_statement): Allow additional returns before `fi'.
36267 * normal/script.c (grub_script_create_cmdmenu): New function.
36268
36269 2006-01-03 Marco Gerards <marco@gnu.org>
36270
36271 * INSTALL: GNU Bison is required.
36272 * configure.ac: Rewritten the test to detect Bison.
36273 * Makefile.in (YACC): New variable. Reported by Xun Sun
36274 <xun.sun.cn@gmail.com>.
36275
36276 2006-01-03 Marco Gerards <marco@gnu.org>
36277
36278 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
36279 the HFS+ filesystem to filesystem blocks.
36280 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
36281 GCC warning is silenced.
36282
36283 2006-01-03 Marco Gerards <marco@gnu.org>
36284
36285 * partmap/apple.c (apple_partition_map_iterate): Convert the data
36286 read from disk from big endian to host byte order.
36287
36288 2006-01-03 Hollis Blanchard <hollis@penguinppc.org>
36289
36290 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
36291 documentation.
36292 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
36293 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
36294 embedded HFS+ filesystem.
36295 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
36296 (grub_hfs_sblock): Move from here...
36297 * include/grub/hfs.h: To here... New file.
36298 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
36299 documentation.
36300 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
36301 New macros.
36302 (grub_hfsplus_volheader): Change type of member `magic' to
36303 `grub_uint16_t'.
36304 (grub_hfsplus_data): Add new member `embedded_offset'.
36305 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
36306 returned block.
36307 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
36308 Calculate the offset.
36309
36310 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
36311
36312 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
36313 Removed.
36314 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
36315
36316 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
36317
36318 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
36319 ENV->NAME is NULL after allocating ENV->VALUE.
36320
36321 2005-12-25 Marco Gerards <marco@gnu.org>
36322
36323 * kern/env.c (grub_env_set): Rewritten the error handling code.
36324
36325 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
36326
36327 * geninit.sh: Made more robust, and more portable.
36328
36329 2005-12-25 Marco Gerards <marco@gnu.org>
36330
36331 Add support for Apple HFS+ filesystems.
36332
36333 * fs/hfsplus.c: New file.
36334
36335 * DISTLIST: Added `fs/hfsplus.c'.
36336
36337 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
36338 (hfsplus_mod_SOURCES): New variable.
36339 (hfsplus_mod_CFLAGS): Likewise.
36340 (hfsplus_mod_LDFLAGS): Likewise.
36341 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
36342 (grub_setup_SOURCES): Likewise.
36343 (grub_mkdevicemap_SOURCES): Likewise.
36344 (grub_emu_SOURCES): Likewise.
36345 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36346
36347 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
36348
36349 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
36350
36351 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
36352
36353 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
36354 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
36355 include/grub/parser.h, include/grub/script.h, kern/parser.c,
36356 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
36357 normal/lexer.c, normal/parser.y, normal/script.c, and
36358 partmap/gpt.c.
36359 Removed kern/sparc64/cache.c.
36360
36361 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
36362 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
36363 grub_emu_init.c.
36364
36365 * configure.ac (AC_INIT): Bumped to 1.92.
36366
36367 2005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
36368
36369 * kern/err.c (grub_error_push): Added new function to support error
36370 stacks.
36371 (grub_error_pop): Likewise.
36372 (grub_error_stack_items): New local variable to support error stacks.
36373 (grub_error_stack_pos): Likewise.
36374 (grub_error_stack_assert): Likewise.
36375 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
36376 stack depth.
36377 (grub_print_error): Added support to print errors from error stack.
36378
36379 * include/grub/err.h (grub_error_push): Added function prototype.
36380 (grub_error_pop): Likewise.
36381
36382 2005-12-09 Hollis Blanchard <hollis@penguinppc.org>
36383
36384 * configure.ac: Accept `powerpc64' as host_cpu.
36385 (amd64): Rename to `biarch32'.
36386
36387 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
36388 non-cacheline-aligned addresses.
36389
36390 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
36391 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
36392 if `size' is non-zero.
36393
36394 2005-12-03 Marco Gerards <mgerards@xs4all.nl>
36395
36396 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
36397 and `cd' to make sure the filename is not prefixed with a
36398 directory name.
36399 (pkgdata_MODULES): Add `gpt.mod'.
36400 (gpt_mod_SOURCES): New variable.
36401 (gpt_mod_CFLAGS): Likewise.
36402 (gpt_mod_LDFLAGS): Likewise.
36403
36404 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
36405
36406 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
36407 New macro.
36408
36409 * partmap/gpt.c: New file.
36410
36411 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
36412 GPT partition map is detected.
36413
36414 2005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
36415
36416 * commands/i386/pc/play.c: New file.
36417 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
36418 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
36419 macros.
36420
36421 2005-11-27 Marco Gerards <mgerards@xs4all.nl>
36422
36423 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
36424 ((unused))' to silence gcc warning.
36425
36426 2005-11-26 Hollis Blanchard <hollis@penguinppc.org>
36427
36428 * configure.ac: Correct `AC_PROG_YACC' test.
36429
36430 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
36431
36432 * util/powerpc/ieee1275/grub-install.in: Run the mount point
36433 check before installing files.
36434
36435 2005-11-22 Mike Small <smallm@panix.com>
36436
36437 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
36438 number regex so multidigit numbers are recognized correctly.
36439
36440 2005-11-22 Mike Small <smallm@panix.com>
36441
36442 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
36443 debugging message before attempting to claim memory.
36444 (grub_rescue_cmd_initrd): Add a claim debugging message and try
36445 multiple addresses in case of failure.
36446
36447 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
36448
36449 * term/tparm.c (get_space): Remove empty `if' statement.
36450
36451 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
36452
36453 * kern/parser.c (check_varstate): Rename `state' to 's'.
36454
36455 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
36456
36457 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
36458 variable definitions to the beginning of each function. Sort stack
36459 variables by size.
36460 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
36461 `buf' argument to `char *'.
36462
36463 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
36464
36465 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
36466 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
36467 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
36468 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
36469 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
36470 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
36471 configfile.mod, search.mod, gzio.mod and test.mod.
36472 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
36473 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
36474 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
36475 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
36476 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
36477 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
36478 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
36479 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
36480 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
36481 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
36482 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
36483 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
36484 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
36485 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
36486 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
36487 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
36488 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
36489 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
36490 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
36491 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
36492 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
36493 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
36494 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
36495
36496 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
36497 `grep --include'.
36498 (pkgdata_MODULES): Add test.mod.
36499
36500 2005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
36501
36502 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
36503 appending to variables with "+=".
36504 (PModule): Use full pathname to generate *.lst filenames.
36505
36506 * Makefile.in: Fixed list rules moved from genmk.rb.
36507 (.DELETE_ON_ERROR): New special target.
36508 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
36509
36510 * conf/i386-pc.rmk: Include conf/common.mk.
36511 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
36512 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
36513 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
36514 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
36515 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
36516 configfile.mod, search.mod, gzio.mod and test.mod.
36517 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
36518 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
36519 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
36520 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
36521 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
36522 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
36523 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
36524 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
36525 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
36526 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
36527 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
36528 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
36529 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
36530 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
36531 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
36532 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
36533 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
36534 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
36535 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
36536 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
36537 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
36538 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
36539 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
36540 here...
36541 * conf/common.rmk: ... to here. New file.
36542
36543 * conf/common.mk: New file.
36544
36545 2005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
36546
36547 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
36548 (grub_script.tab.c): ... here.
36549
36550 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
36551 (grub_script.tab.c): ... here.
36552
36553 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
36554 (grub_script.tab.c): ... here.
36555
36556 * normal/command.c (grub_command_find): Fixed a memory leak of
36557 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
36558
36559 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
36560
36561 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
36562 "@" which marks the start of a comment on ARM.
36563 (VARIABLE): Likewise.
36564
36565 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
36566
36567 Add support for Linux/ADFS partition tables.
36568
36569 * partmap/acorn.c: New file.
36570
36571 * include/grub/acorn_filecore.h: Likewise.
36572
36573 * DISTLIST: Added `partmap/acorn.c' and
36574 `include/grub/acorn_filecore.h'.
36575
36576 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
36577 `partmap/acorn.c'.
36578 (pkgdata_MODULES): Add `acorn.mod'.
36579 (acorn_mod_SOURCES): New variable.
36580 (acorn_mod_CFLAGS): Likewise.
36581
36582 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
36583 `partmap/acorn.c'.
36584 (pkgdata_MODULES): Add `acorn.mod'.
36585 (acorn_mod_SOURCES): New variable.
36586 (acorn_mod_CFLAGS): Likewise.
36587
36588 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
36589 (pkgdata_MODULES): Add `acorn.mod'.
36590 (acorn_mod_SOURCES): New variable.
36591 (acorn_mod_CFLAGS): Likewise.
36592 (acorn_mod_LDFLAGS): Likewise.
36593
36594 * include/types.h (grub_disk_addr_t): New typedef.
36595
36596 2005-11-13 Marco Gerards <mgerards@xs4all.nl>
36597
36598 * geninit.sh: New file.
36599
36600 * geninitheader.sh: Likewise.
36601
36602 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
36603 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
36604 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
36605 * commands/configfile.c (grub_configfile_init)
36606 (grub_configfile_fini): Likewise.
36607 * commands/default.c (grub_default_init, grub_default_fini):
36608 Likewise.
36609 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
36610 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
36611 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
36612 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
36613 Likewise.
36614 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
36615 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
36616 Likewise.
36617 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
36618 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
36619 Likewise.
36620 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
36621 Likewise.
36622 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
36623 Likewise.
36624 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
36625 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
36626 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
36627 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
36628 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
36629 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
36630 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
36631 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
36632 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
36633 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
36634 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
36635 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
36636 * partmap/amiga.c (grub_amiga_partition_map_init)
36637 (grub_amiga_partition_map_fini): Likewise.
36638 * partmap/apple.c (grub_apple_partition_map_init)
36639 (grub_apple_partition_map_fini): Likewise.
36640 * partmap/pc.c (grub_pc_partition_map_init)
36641 (grub_pc_partition_map_fini): Likewise.
36642 * partmap/sun.c (grub_sun_partition_map_init,
36643 grub_sun_partition_map_fini): Likewise.
36644 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
36645 Likewise.
36646
36647 * util/grub-emu.c: Include <grub_modules_init.h>.
36648 (main): Don't initialize and de-initialize any modules directly,
36649 use `grub_init_all' and `grub_fini_all' instead.
36650
36651 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
36652 `grub_vesafb_mod_init'.
36653 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
36654 all users.
36655 * term/i386/pc/vga.c (grub_vga_init): Renamed to
36656 `grub_vga_mod_init'. Updated all users.
36657 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
36658
36659 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
36660 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
36661 rules.
36662
36663 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
36664 Generate a function to initialize the module in utilities.
36665 Updated all callers.
36666 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
36667 initialize the module in utilities. Updated all callers.
36668
36669 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
36670
36671 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
36672 escape sequence and a literal ^L to clear the screen.
36673
36674 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
36675 when returning from Open Firmware.
36676
36677 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
36678
36679 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
36680 (grub_ofconsole_height): Likewise.
36681 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
36682 manually insert a '\n'.
36683 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
36684 `grub_ofconsole_height'. Return early if these are already set.
36685
36686 2005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
36687
36688 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
36689 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
36690 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
36691 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
36692 and `normal/script.c'.
36693 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
36694 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
36695 (test_mod_SOURCES): New variable.
36696 (test_mod_CFLAGS): Likewise.
36697 (test_mod_LDFLAGS): Likewise.
36698 (pkgdata_MODULES): Add `test.mod'.
36699 (grub_script.tab.c): New rule.
36700 (grub_script.tab.h): Likewise.
36701
36702 2005-11-07 Marco Gerards <mgerards@xs4all.nl>
36703
36704 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
36705 `commands/test.c', `normal/execute.c', `normal/lexer.c',
36706 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
36707 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
36708 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
36709 (test_mod_SOURCES): New variable.
36710 (test_mod_CFLAGS): Likewise.
36711 (pkgdata_MODULES): Add `test.mod'.
36712 (grub_script.tab.c): New rule.
36713 (grub_script.tab.h): Likewise.
36714
36715 2005-11-06 Marco Gerards <mgerards@xs4all.nl>
36716
36717 Add initial scripting support.
36718
36719 * commands/test.c: New file.
36720 * include/grub/script.h: Likewise.
36721 * normal/execute.c: Likewise.
36722 * normal/function.c: Likewise.
36723 * normal/lexer.c: Likewise.
36724 * normal/parser.y: Likewise.
36725 * normal/script.c: Likewise.
36726
36727 * configure.ac: Add `AC_PROG_YACC' test.
36728
36729 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
36730 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
36731 `normal/function.c' and `normal/script.c'.
36732 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
36733 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
36734 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
36735 variables.
36736 (pkgdata_MODULES): Add `test.mod'.
36737 (grub_script.tab.c): New rule.
36738 (grub_script.tab.h): Likewise.
36739
36740 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
36741
36742 * include/grub/normal.h (grub_test_init): New prototype.
36743 (grub_test_fini): Likewise.
36744
36745 * normal/command.c: Include <grub/script.h>.
36746 (grub_command_execute): Rewritten.
36747
36748 * util/grub-emu.c (main): Call `grub_test_init' and
36749 `grub_test_fini'.
36750
36751 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
36752
36753 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
36754 to 0.
36755 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
36756 there are no pending characters.
36757
36758 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
36759
36760 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
36761 `grub_strndup' to drop device arguments. Replace unnecessary
36762 `grub_strndup' with `grub_strdup'.
36763
36764 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
36765
36766 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
36767 `debug' environment variable has been set.
36768
36769 2005-11-02 Hollis Blanchard <hollis@penguinppc.org>
36770
36771 * Makefile.in (install-local): Use $(DATA).
36772 (uninstall): Likewise.
36773 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
36774 (sbin_UTILITIES): ... to here.
36775 (sbin_SCRIPTS): New variable.
36776 (grub_install_SOURCES): New variable.
36777 * util/powerpc/ieee1275/grub-install.in: New file.
36778 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
36779 variable.
36780 (add_segments): Call `grub_util_get_path'.
36781
36782 2005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
36783
36784 From Timothy Baldwin:
36785 * commands/ls.c (grub_ls_list_files): Close FILE with
36786 grub_file_close.
36787 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
36788
36789 2005-10-24 Marco Gerards <mgerards@xs4all.nl>
36790
36791 * include/grub/parser.h: New file.
36792
36793 * kern/parser.c: Likewise.
36794
36795 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
36796 (grub_setup_SOURCES): Likewise.
36797 (grub_probefs_SOURCES): Likewise.
36798 (grub_emu_SOURCES): Likewise.
36799 (kernel_img_HEADERS): Add `parser.h'.
36800
36801 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
36802 (grub_emu_SOURCES): Add `kern/parser.c'.
36803 (grubof_SOURCES): Likewise.
36804
36805 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
36806 (grubof_SOURCES): Add `kern/parser.c'.
36807
36808 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
36809
36810 * kern/misc.c (grub_split_cmdline): Removed function.
36811
36812 * kern/rescue.c: Include <grub/parser.h>.
36813 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
36814 of `grub_split_cmdline'.
36815
36816 * normal/command.c: Include <grub/parser.h>.
36817 (grub_command_execute): Use `grub_parser_split_cmdline' instead
36818 of `grub_split_cmdline'.
36819
36820 * normal/completion.c: Include <grub/parser.h>.
36821 (cmdline_state): New variable.
36822 (iterate_dir): End the filename with a quote depending on the
36823 command line state.
36824 (get_state): new function.
36825 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
36826 split the arguments and determine the current argument. When the
36827 argument string is not quoted, escape all spaces.
36828
36829 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
36830
36831 * normal/sparc64/setjmp.S: New file.
36832
36833 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
36834
36835 * include/grub/sparc64/libgcc.h: New file.
36836 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
36837 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
36838 normal/sparc64/setjmp.c.
36839
36840 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
36841
36842 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
36843 * kern/sparc64/cache.S: New file.
36844 * kern/sparc64/cache.c: Removed.
36845 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
36846 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
36847 -mtune=ultrasparc.
36848 (COMMON_LDFLAGS): Add -melf64_sparc.
36849 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
36850 (grubof_SOURCES): Use cache.S instead of cache.c.
36851 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
36852 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
36853 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
36854 commented though.
36855 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
36856 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
36857 (linux_mod_CFLAGS): Commented out.
36858 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
36859 out because module isn't built.
36860 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
36861 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
36862 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
36863 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
36864 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
36865 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
36866 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
36867 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
36868 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
36869 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
36870 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
36871 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
36872 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
36873 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
36874
36875 2005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
36876
36877 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
36878 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
36879 longer, because HFS should not be used on PC.
36880
36881 2005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
36882
36883 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
36884 consistently within the loop.
36885
36886 2005-10-15 Marco Gerards <mgerards@xs4all.nl>
36887
36888 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
36889 directory can not be read.
36890
36891 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
36892
36893 * configure.ac (AC_INIT): Increase the version number to 1.91.
36894
36895 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
36896 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
36897 term/i386/pc/serial.c.
36898
36899 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
36900
36901 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
36902 file size must be permitted.
36903
36904 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
36905 between %ah and %al.
36906
36907 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
36908
36909 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
36910 grub_uint64_t.
36911 Call the hook with a NUL-terminated filename.
36912 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
36913 grub_cpu_to_be32.
36914
36915 * kern/term.c (cursor_state): New variable.
36916 (grub_term_set_current): Reset the cursor state on a new
36917 terminal.
36918 (grub_setcursor): Rewritten to use CURSOR_STATE.
36919 (grub_getcursor): New function.
36920
36921 * include/grub/term.h (grub_getcursor): New prototype.
36922
36923 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
36924 integers on ARM. Reported by Timothy Baldwin
36925 <T.E.Baldwin99@members.leeds.ac.uk>.
36926
36927 2005-10-11 Marco Gerards <mgerards@xs4all.nl>
36928
36929 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
36930 allocated.
36931 (grub_sfs_dir): Likewise.
36932
36933 2005-10-09 Marco Gerards <mgerards@xs4all.nl>
36934
36935 Add support for the SFS filesystem.
36936
36937 * fs/sfs.c: New file.
36938
36939 * DISTLIST: Added `fs/sfs.c'.
36940
36941 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
36942 (grub_probefs_SOURCES): Likewise.
36943 (grub_emu_SOURCES): Likewise.
36944 (pkgdata_MODULES): Add `sfs.mod'.
36945 (sfs_mod_SOURCES): New variable.
36946 (sfs_mod_CFLAGS): Likewise.
36947 (sfs_mod_LDFLAGS): Likewise.
36948
36949 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
36950 (pkgdata_MODULES): Add `sfs.mod'.
36951 (sfs_mod_SOURCES): New variable.
36952 (sfs_mod_CFLAGS): Likewise.
36953
36954 * util/grub-emu.c (main): Call `grub_sfs_init' and
36955 `grub_sfs_fini'.
36956
36957 * include/grub/fs.h (grub_sfs_init): New prototype.
36958 (grub_sfs_fini): Likewise.
36959
36960 2005-10-07 Marco Gerards <mgerards@xs4all.nl>
36961
36962 Add support for the AFFS filesystem.
36963
36964 * fs/affs.c: New file.
36965
36966 * DISTLIST: Added `fs/affs.c'.
36967
36968 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
36969 (grub_probefs_SOURCES): Likewise.
36970 (grub_emu_SOURCES): Likewise.
36971 (pkgdata_MODULES): Add `affs.mod'.
36972 (affs_mod_SOURCES): New variable.
36973 (affs_mod_CFLAGS): Likewise.
36974 (affs_mod_LDFLAGS): Likewise.
36975
36976 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
36977 (pkgdata_MODULES): Add `affs.mod'.
36978 (affs_mod_SOURCES): New variable.
36979 (affs_mod_CFLAGS): Likewise.
36980
36981 * util/grub-emu.c (main): Call `grub_affs_init' and
36982 `grub_affs_fini'.
36983
36984 * include/grub/fs.h (grub_affs_init): New prototype.
36985 (grub_affs_fini): Likewise.
36986
36987 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
36988
36989 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
36990
36991 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
36992
36993 * configure.ac: Accept `x86_64' as host_cpu. In that case add
36994 `-m32' to CFLAGS.
36995
36996 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
36997 linking.
36998
36999 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
37000 (COMMON_LDFLAGS): New variable.
37001 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
37002 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
37003 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
37004 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
37005 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
37006 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
37007 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
37008 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
37009 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
37010 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
37011 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
37012 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
37013 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
37014 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
37015 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
37016 variables.
37017 (normal_mod_ASFLAGS): Add `-m32'.
37018
37019 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
37020 (grub_host_size_t, grub_host_ssize_t): New types.
37021 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
37022 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
37023 `GRUB_HOST_SIZEOF_VOID_P'.
37024
37025 * include/grub/kernel.h (struct grub_module_header): Type of
37026 member offset changed to `grub_host_off_t'. Type of member size
37027 changed to `grub_host_size_t'.
37028 (struct grub_module_info): Type of member offset changed to
37029 `grub_host_off_t'. Type of member size changed to
37030 `grub_host_size_t'.
37031
37032 2005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
37033
37034 Make GRUB's kernel compliant to Multiboot Specification.
37035
37036 * kern/i386/pc/startup.S (multiboot_header): New label.
37037 (multiboot_entry): Likewise.
37038 (multiboot_trampoline): Likewise.
37039
37040 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
37041 Increased to 0x4A0.
37042
37043 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
37044 put parentheses after a question mark.
37045 [!GRUB_UTIL] (my_mod): New variable.
37046
37047 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
37048
37049 2005-09-28 Marco Gerards <mgerards@xs4all.nl>
37050
37051 Adds support for the XFS filesystem. Btrees are not supported
37052 yet.
37053
37054 * fs/xfs.c: New file.
37055
37056 * DISTLIST: Added `fs/xfs.c'.
37057
37058 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
37059 (grub_probefs_SOURCES): Likewise.
37060 (grub_emu_SOURCES): Likewise.
37061 (pkgdata_MODULES): Add `xfs.mod'.
37062 (xfs_mod_SOURCES): New variable.
37063 (xfs_mod_CFLAGS): Likewise.
37064
37065 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
37066 (pkgdata_MODULES): Add `xfs.mod'.
37067 (xfs_mod_SOURCES): New variable.
37068 (xfs_mod_CFLAGS): Likewise.
37069
37070 * util/grub-emu.c (main): Call `grub_xfs_init' and
37071 `grub_xfs_fini'.
37072
37073 * include/grub/fs.h (grub_xfs_init): New prototype.
37074 (grub_xfs_fini): Likewise.
37075
37076
37077 2005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
37078
37079 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
37080 color modes, allow greater than 16 colors to be configured as
37081 a default palette.
37082
37083 2005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
37084
37085 * normal/completion.c (complete_arguments): Add the qualifier
37086 const into OPTIONS.
37087
37088 From Omniflux <omniflux+lists@omniflux.com>:
37089 * include/grub/terminfo.h: New file.
37090 * include/grub/tparm.h: Likewise.
37091 * include/grub/i386/pc/serial.h: Likewise.
37092 * term/terminfo.c: Likewise.
37093 * term/tparm.c: Likewise.
37094 * term/i386/pc/serial.c: Likewise.
37095 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
37096 serial.mod.
37097 (terminfo_mod_SOURCES): New variable.
37098 (terminfo_mod_CFLAGS): Likewise.
37099 (serial_mod_SOURCES): Likewise.
37100 (serial_mod_CFLAGS): Likewise.
37101
37102 2005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
37103
37104 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
37105 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
37106 and kern/powerpc/ieee1275/cmain.c, respectively.
37107
37108 * boot/powerpc/ieee1275/crt0.S: Moved to ...
37109 * kern/powerpc/ieee1275/crt0.S: ... here.
37110
37111 * boot/powerpc/ieee1275/cmain.c: Moved to ...
37112 * kern/powerpc/ieee1275/cmain.c: ... here.
37113
37114 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
37115 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
37116 instead of boot/powerpc/ieee1275/crt0.S and
37117 boot/powerpc/ieee1275/cmain.c, respectively.
37118
37119 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
37120 sectors. It was not used anyway.
37121
37122 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
37123
37124 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
37125 `unused parameter' warning.
37126
37127 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
37128
37129 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
37130 function.
37131 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
37132 getcharwidth.
37133
37134 2005-08-28 Marco Gerards <metgerards@student.han.nl>
37135
37136 * include/grub/normal.h (enum grub_completion_type): Added
37137 `GRUB_COMPLETION_TYPE_ARGUMENT'.
37138
37139 * normal/cmdline.c (print_completion): Handle
37140 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
37141 * normal/menu_entry.c (store_completion): Likewise.
37142
37143 * normal/completion.c (complete_arguments): New function.
37144 (grub_normal_do_completion): Call `complete_arguments' when the
37145 current words start with a dash.
37146
37147 2005-08-27 Marco Gerards <metgerards@student.han.nl>
37148
37149 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
37150 `gzio.mod' instead of `io.mod').
37151
37152 2005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
37153
37154 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
37155 (DISTDIRS): Added io and video.
37156 Rewrite the search routine to make an output consistently.
37157
37158 * DISTLIST: Added conf/sparc64-ieee1275.mk,
37159 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
37160 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
37161 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
37162 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
37163 util/powerpc/ieee1275/misc.c.
37164
37165 * include/grub/gzio.h: New file.
37166 * io/gzio.c: Likewise.
37167
37168 * kern/file.c (grub_file_close): Call grub_device_close only if
37169 FILE->DEVICE is not NULL.
37170
37171 * include/grub/mm.h [!NULL] (NULL): New macro.
37172
37173 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
37174
37175 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
37176 (pkgdata_MODULES): Added gzio.mod.
37177 (gzio_mod_SOURCES): New variable.
37178 (gzio_mod_CFLAGS): Likewise.
37179
37180 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
37181 (pkgdata_MODULES): Added gzio.mod.
37182 (gzio_mod_SOURCES): New variable.
37183 (gzio_mod_CFLAGS): Likewise.
37184
37185 * commands/cat.c: Include grub/gzio.h.
37186 (grub_cmd_cat): Use grub_gzfile_open instead of
37187 grub_file_open.
37188
37189 * commands/cmp.c: Include grub/gzio.h.
37190 (grub_cmd_cmp): Use grub_gzfile_open instead of
37191 grub_file_open.
37192
37193 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
37194 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
37195 grub_file_open.
37196 (grub_rescue_cmd_module): Likewise.
37197
37198 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
37199
37200 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
37201 kern/sparc64/ieee1275/init.c because it contains _start.
37202 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
37203
37204 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
37205
37206 * configure.ac: Add support for sparc64 host with ieee1275
37207 firmware.
37208 * configure: Generated from configure.ac.
37209 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
37210 instead of int.
37211 (grub_ofdisk_read): Likewise.
37212 (grub_ofdisk_open): Use %p to print pointer values, and cast the
37213 pointers as (void *) to remove a warning.
37214 (grub_ofdisk_close): Likewise.
37215 (grub_ofdisk_read): Likewise.
37216 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
37217 returns, so make it return void to remove a warning.
37218 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
37219 Corresponding prototype change.
37220 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
37221 values, and cast the pointers as (void *) to remove a warning.
37222 (grub_mm_dump): Likewise.
37223 * conf/sparc64-ieee1275.mk: New file.
37224 * conf/sparc64-ieee1275.rmk: Likewise.
37225 * include/grub/sparc64/setjmp.h: Likewise.
37226 * include/grub/sparc64/types.h: Likewise.
37227 * include/grub/sparc64/ieee1275/console.h: Likewise.
37228 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
37229 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
37230 * include/grub/sparc64/ieee1275/time.h: Likewise.
37231 * kern/sparc64/cache.c: Likewise.
37232 * kern/sparc64/dl.c: Likewise.
37233 * kern/sparc64/ieee1275/init.c: Likewise.
37234 * kern/sparc64/ieee1275/openfw.c: Likewise.
37235
37236 2005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
37237
37238 * util/console.c (grub_ncurses_putchar): If C is greater than
37239 0x7f, set C to a question mark.
37240 (grub_ncurses_getcharwidth): New function.
37241 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
37242 getcharwidth.
37243
37244 * normal/menu.c (print_entry): Made aware of Unicode. First,
37245 convert TITLE to UCS-4, and predict the cursor position by
37246 grub_getcharwidth.
37247
37248 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
37249 const to SRC.
37250 * kern/misc.c (grub_utf16_to_utf8): Likewise.
37251
37252 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
37253
37254 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
37255 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
37256 grub_strcat.
37257
37258 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
37259 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
37260 grub_strcpy and grub_strlen. Take it into account that a space
37261 character is inserted as a delimiter.
37262
37263 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
37264
37265 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
37266 invalid magic in the error.
37267
37268 * commands/search.c: New file.
37269
37270 * util/grub-emu.c (main): Call grub_search_init and
37271 grub_search_fini.
37272
37273 * kern/rescue.c (grub_rescue_print_disks): Removed.
37274 (grub_rescue_print_devices): New function.
37275 (grub_rescue_cmd_ls): Use grub_device_iterate with
37276 grub_rescue_print_devices instead of grub_disk_dev_iterate with
37277 grub_rescue_print_disks.
37278
37279 * kern/partition.c (grub_partition_iterate): Return the result of
37280 PARTMAP->ITERATE instead of GRUB_ERRNO.
37281
37282 * kern/device.c: Include grub/partition.h.
37283 (grub_device_iterate): New function.
37284
37285 * include/grub/partition.h (grub_partition_iterate): Return int
37286 instead of grub_err_t.
37287
37288 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
37289 prototype.
37290 [GRUB_UTIL] (grub_search_fini): Likewise.
37291
37292 * include/grub/device.h (grub_device_iterate): New prototype.
37293
37294 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
37295 commands/search.c.
37296 (pkgdata_MODULES): Added search.mod.
37297 (search_mod_SOURCES): New variable.
37298 (search_mod_CFLAGS): Likewise.
37299
37300 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
37301 (pkgdata_MODULES): Added search.mod.
37302 (search_mod_SOURCES): New variable.
37303 (search_mod_CFLAGS): Likewise.
37304
37305 * commands/ls.c (grub_ls_list_disks): Renamed to ...
37306 (grub_ls_list_devices): ... this, and use grub_device_iterate.
37307 All callers changed.
37308
37309 * DISTLIST: Added commands/search.c.
37310
37311 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
37312
37313 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
37314 conversion.
37315 (grub_getcharwidth): New function.
37316
37317 * kern/misc.c (grub_utf8_to_ucs4): New function.
37318
37319 * include/grub/term.h (struct grub_term): Added a new member
37320 "getcharwidth".
37321 (grub_getcharwidth): New prototype.
37322
37323 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
37324
37325 * term/i386/pc/console.c (map_char): New function. Segregated from
37326 grub_console_putchar.
37327 (grub_console_putchar): Use map_char.
37328 (grub_console_getcharwidth): New function.
37329 (grub_console_term): Specified grub_console_getcharwidth as
37330 getcharwidth.
37331
37332 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
37333 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
37334
37335 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
37336 GRUB_ERRNO.
37337 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
37338 on grub_strtoul completely.
37339 (write_char): Declare local variables in the beginning of the
37340 function.
37341 (grub_vesafb_getcharwidth): New function.
37342 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
37343 getcharwidth.
37344
37345 2005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
37346
37347 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
37348 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
37349 commands/i386/pc/vbetest.c.
37350
37351 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
37352 call grub_vbe_get_controller_info again, because the returned
37353 information is volatile.
37354 (grub_vbe_set_video_mode): Mostly rewritten.
37355 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
37356 grub_vbe_status_t correctly.
37357 (grub_vbe_get_video_mode_info): Likewise.
37358 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
37359 several if statements.
37360
37361 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
37362 * commands/i386/pc/vbeinfo.c: ... this.
37363
37364 * commands/i386/pc/vbe_test.c: Renamed to ...
37365 * commands/i386/pc/vbetest.c: ... this.
37366
37367 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
37368 ...
37369 (grub_cmd_vbeinfo): ... this. Save video modes before
37370 iterating. Skip a video mode, if it is not available, not enough
37371 information is given or it is monochrome. Show the memory
37372 model. Leave the interpretation of MODEVAR to grub_strtoul
37373 completely.
37374 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
37375 (GRUB_MOD_FINI): Likewise.
37376
37377 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
37378 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
37379 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
37380 duplicated grub_env_get. Leave the interpretation of MODEVAR to
37381 grub_strtoul completely.
37382 (real2pm): Removed.
37383 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
37384 (GRUB_MOD_FINI): Likewise.
37385
37386 * normal/misc.c: Include grub/mm.h.
37387
37388 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
37389 vbe_list_modes with vbetest.mod and vbeinfo.mod.
37390 (vbe_list_modes_mod_SOURCES): Removed.
37391 (vbe_list_modes_mod_CFLAGS): Likewise.
37392 (vbe_test_mod_SOURCES): Likewise.
37393 (vbe_test_mod_CFLAGS): Likewise.
37394 (vbeinfo_mod_SOURCES): New variable.
37395 (vbeinfo_mod_CFLAGS): Likewise.
37396 (vbetest_mod_SOURCES): Likewise.
37397 (vbetest_mod_CFLAGS): Likewise.
37398
37399 2005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
37400
37401 * normal/misc.c: New file.
37402
37403 * DISTLIST: Added normal/misc.c.
37404
37405 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
37406 DISK to HOOK. Call HOOK with DISK.
37407 * partmap/apple.c (apple_partition_map_iterate): Likewise.
37408 * partmap/pc.c (pc_partition_map_iterate): Likewise.
37409 * partmap/sun.c (sun_partition_map_iterate): Likewise.
37410
37411 * normal/menu_entry.c (struct screen): Added a new member
37412 "completion_shown".
37413 (completion_buffer): New global variable.
37414 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
37415 (store_completion): New function.
37416 (complete): Likewise.
37417 (clear_completions): Likewise.
37418 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
37419 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
37420 a tab, call complete.
37421
37422 * normal/completion.c (disk_dev): Removed.
37423 (print_simple_completion): Likewise.
37424 (print_partition_completion): Likewise.
37425 (print_func): New global variable.
37426 (add_completion): Do not take the arguments WHAT or PRINT any
37427 longer. Added a new argument TYPE. Instead of printing directly,
37428 call PRINT_FUNC if not NULL.
37429 All callers changed.
37430 (complete_device): Use a local variable DEV instead of
37431 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
37432 (grub_normal_do_completion): Take a new argument HOOK. Do not
37433 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
37434 empty string, return NULL instead.
37435 All callers changed.
37436
37437 * normal/cmdline.c (print_completion): New function.
37438
37439 * kern/partition.c (grub_partition_iterate): Add an argument DISK
37440 to HOOK.
37441 All callers changed.
37442
37443 * kern/disk.c (grub_print_partinfo): Removed.
37444
37445 * include/grub/partition.h (struct grub_partition_map): Add a new
37446 argument DISK into HOOK of ITERATE.
37447 (grub_partition_iterate): Add a new argument DISK to HOOK.
37448
37449 * include/grub/normal.h (enum grub_completion_type): New enum.
37450 (grub_completion_type_t): New type.
37451 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
37452 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
37453 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
37454 (GRUB_COMPLETION_TYPE_FILE): Likewise.
37455 (grub_normal_do_completion): Added a new argument HOOK.
37456 (grub_normal_print_device_info): New prototype.
37457
37458 * include/grub/disk.h (grub_print_partinfo): Removed.
37459
37460 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
37461 (normal_mod_SOURCES): Likewise.
37462 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37463 (normal_mod_SOURCES): Likewise.
37464
37465 * commands/ls.c (grub_ls_list_disks): Use
37466 grub_normal_print_device_info instead of grub_print_partinfo. Free
37467 PNAME.
37468 (grub_ls_list_files): Use grub_normal_print_device_info instead of
37469 duplicating the code.
37470
37471 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
37472
37473 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
37474 follow GCS more precisely.
37475 * commands/i386/pc/vbe_test.c: Likewise.
37476 * include/grub/i386/pc/vbe.h: Likewise.
37477 * term/i386/pc/vesafb.c: Likewise.
37478 * video/i386/pc/vbe.c: Likewise.
37479
37480 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
37481
37482 * DISTLIST: Added term/i386/pc/vesafb.c
37483 DISTLIST: Added video/i386/pc/vbe.c
37484 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
37485 DISTLIST: Added commands/i386/pc/vbe_test.c.
37486 * commands/i386/pc/vbe_list_modes.c: New file.
37487 * commands/i386/pc/vbe_test.c: Likewise.
37488 * term/i386/pc/vesafb.c: Likewise.
37489 * video/i386/pc/vbe.c: Likewise.
37490 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
37491 (grub_vbe_probe) Added prototype.
37492 (grub_vbe_set_video_mode) Likewise.
37493 (grub_vbe_get_video_mode) Likewise.
37494 (grub_vbe_get_video_mode_info) Likewise.
37495 (grub_vbe_set_pixel_rgb) Likewise.
37496 (grub_vbe_set_pixel_index) Likewise.
37497 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
37498 (pkgdata_MODULES): Added vesafb.mod.
37499 (pkgdata_MODULES): Added vbe_list_modes.mod.
37500 (pkgdata_MODULES): Added vbe_test.mod.
37501 (vbe_mod_SOURCES): Added.
37502 (vbe_mod_CFLAGS): Likewise.
37503 (vesafb_mod_SOURCES): Likewise.
37504 (vesafb_mod_CFLAGS): Likewise.
37505 (vbe_list_modes_mod_SOURCES): Likewise.
37506 (vbe_list_modes_mod_CFLAGS): Likewise.
37507 (vbe_test_mod_SOURCES): Likewise.
37508 (vbe_test_mod_CFLAGS): Likewise.
37509
37510 2005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
37511
37512 * normal/command.c (grub_command_execute): If INTERACTIVE is
37513 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
37514 CMDLINE. Disable the pager if INTERACTIVE is true.
37515 All callers are changed.
37516
37517 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
37518 before reading a config file.
37519 * normal/main.c (read_config_file): Even if a command is not
37520 found, register it if it is within an entry.
37521
37522 * util/grub-emu.c: Include sys/types.h and unistd.h.
37523 (options): Added --hold.
37524 (struct arguments): Added a new member "hold".
37525 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
37526 missing.
37527 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
37528 cleared by a debugger, if it is not zero.
37529
37530 * include/grub/normal.h (grub_command_execute): Add an argument
37531 INTERACTIVE.
37532
37533 2005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
37534
37535 * DISTLIST: Added include/grub/i386/pc/vbe.h.
37536
37537 2005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
37538
37539 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
37540 program with another one, because the old one didn't detect a bug
37541 in gcc-3.4. Always use regparm 2, because the new test is still
37542 not enough for gcc-4.0. Someone must investigate a simple test
37543 case which detects a bug in gcc-4.0.
37544
37545 2005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
37546
37547 * DISTLIST: Added normal/completion.c.
37548
37549 * normal/completion.c: New file.
37550
37551 * term/i386/pc/console.c (grub_console_getwh): New function.
37552 (grub_console_term): Assign grub_console_getwh to getwh.
37553
37554 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
37555 function is defined in normal/completion.c as
37556 grub_normal_do_completion.
37557 (grub_cmdline_get): Use grub_normal_do_completion instead of
37558 grub_tab_complete.
37559
37560 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
37561 returns non-zero, otherwise return 0.
37562 (grub_partition_iterate): First, probe the partition map. Then,
37563 call ITERATE only for this partition map.
37564
37565 * kern/misc.c (grub_strncmp): Rewritten.
37566
37567 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
37568 returns non-zero. Otherwise return 0.
37569
37570 * include/grub/partition.h (grub_partition_map_iterate): Return
37571 int instead of void.
37572
37573 * include/grub/normal.h (grub_normal_do_completion): New prototype.
37574
37575 * include/grub/misc.h (grub_strncmp): Change the type of N to
37576 grub_size_t.
37577
37578 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
37579 of void.
37580
37581 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
37582 unsigned explicitly before comparing it with I.
37583
37584 * kern/main.c (grub_env_write_root): Add the attribute unused into
37585 VAR.
37586
37587 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
37588 normal/completion.c.
37589 (normal_mod_SOURCES): Likewise.
37590 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
37591 (normal_mod_SOURCES): Likewise.
37592
37593 * normal/command.c (grub_iterate_commands): If ITERATE returns
37594 non-zero, return one immediately.
37595
37596 2005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
37597
37598 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
37599 * kern/i386/pc/startup.S: Updated Global Descriptor table's
37600 descriptions.
37601 (grub_vbe_get_controller_info): New function.
37602 (grub_vbe_get_mode_info): Likewise.
37603 (grub_vbe_set_mode): Likewise.
37604 (grub_vbe_get_mode): Likewise.
37605 (grub_vbe_set_memory_window): Likewise.
37606 (grub_vbe_get_memory_window): Likewise.
37607 (grub_vbe_set_scanline_length): Likewise.
37608 (grub_vbe_get_scanline_length): Likewise.
37609 (grub_vbe_set_display_start): Likewise.
37610 (grub_vbe_get_display_start): Likewise.
37611 (grub_vbe_set_palette_data): Likewise.
37612 * include/grub/i386/pc/vbe.h: New file.
37613
37614 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
37615
37616 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
37617 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
37618 * DISTLIST: Likewise.
37619 * kern/ieee1275/of.c: Moved to ...
37620 * kern/ieee1275/ieee1275.c: ... here.
37621
37622 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
37623
37624 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
37625 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
37626 Pass 0 as `end' parameter to grub_strtoul().
37627
37628 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
37629
37630 * include/grub/powerpc/ieee1275/console.h: Do not include
37631 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
37632 ifdef.
37633 (grub_console_cur_color): Remove i386-specific prototype.
37634 (grub_console_real_putchar): Likewise.
37635 (grub_console_checkkey): Likewise.
37636 (grub_console_getkey): Likewise.
37637 (grub_console_getxy): Likewise.
37638 (grub_console_gotoxy): Likewise.
37639 (grub_console_cls): Likewise.
37640 (grub_console_setcursor): Likewise.
37641 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
37642 Include <grub/machine/console.h>.
37643 * term/ieee1275/ofconsole.c: Likewise.
37644
37645 2005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
37646
37647 * Makefile.in (LIBLZO): New variable.
37648
37649 * configure.ac: Check for LZO version 2.
37650
37651 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
37652 lzo/lzo1x.h instead of lzo1x.h.
37653
37654 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
37655 of -llzo.
37656
37657 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
37658 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
37659
37660 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
37661 copying the data from PARTITION to P.
37662
37663 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
37664
37665 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
37666 negative, unload the module.
37667
37668 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
37669 map is "pc_partition_map" but not "pc".
37670 (usage): Fix the description. The options are --boot-image and
37671 --core-image but not --boot-file or --core-file.
37672 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
37673 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
37674 DEFAULT_DIRECTORY.
37675
37676 * util/i386/pc/grub-install.in: Do not specify --boot-file or
37677 --core-file. Specify INSTALL_DEVICE as an argument.
37678
37679 * util/console.c: Include config.h.
37680 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
37681 [HAVE_NCURSES_H]: Include ncurses.h.
37682 [HAVE_CURSES_H]: Include curses.h.
37683 [!A_NORMAL] (A_NORMAL): Defined as zero.
37684 [!A_STANDOUT] (A_STANDOUT): Likewise.
37685
37686 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
37687 -lncurses.
37688 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
37689
37690 * configure.ac: Check for curses libraries and headers.
37691
37692 * Makefile.in (LIBCURSES): New variable.
37693
37694 * genmk.rb (Script::rule): Set the executable bits.
37695
37696 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
37697 name of the PC partition map is "pc_partition_map" but not "pc".
37698
37699 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
37700
37701 * util/i386/pc/grub-install.in (grub_probefs): New variable.
37702 (modules): Likewise.
37703 (usage): Added descriptions for --modules and --grub-probefs.
37704 Handle --modules and --grub-probefs. Save the arguments in MODULES
37705 and GRUB_PROBEFS, respectively.
37706 Auto-detect a filesystem module against GRUBDIR. If the result is
37707 empty and modules are not specified explicitly, abort the
37708 installation. Add the result to MODULES.
37709
37710 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
37711 disk/powerpc/ieee1275/ofdisk.c,
37712 include/grub/powerpc/ieee1275/init.h and
37713 term/powerpc/ieee1275/ofconsole.c.
37714 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
37715 term/ieee1275/ofconsole.c.
37716
37717 * include/grub/powerpc/ieee1275/console.h: Resurrected.
37718
37719 * COPYING: Upgraded to the latest version. Only the address of the
37720 FSF office has changed.
37721
37722 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
37723
37724 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
37725 kern/ieee1275.c with kern/ieee1275/of.c.
37726
37727 * kern/ieee1275.c: Moved to ...
37728 * kern/ieee1275/of.c: ... here.
37729
37730 2005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
37731
37732 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
37733 readability.
37734
37735 * config.guess: Updated to the latest version from gnulib.
37736 * config.sub: Likewise.
37737 * install.sh: Likewise.
37738 * mkinstalldirs: Likewise.
37739
37740 * include/grub/console.h: Removed. This file is arch-specific. Do
37741 not put this in include/grub.
37742
37743 * include/grub/i386/pc/console.h: Resurrected.
37744
37745 * util/console.c: Include grub/machine/console.h instead of
37746 grub/console.h.
37747 * util/grub-emu.c: Likewise.
37748
37749 2005-08-04 Marco Gerards <metgerards@student.han.nl>
37750
37751 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
37752 hardcoded value.
37753
37754 From Vincent Pelletier <subdino2004@yahoo.fr>
37755 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
37756 Redefined to use grub_getwh.
37757 (grub_term): New member named getwh.
37758 (grub_getwh): New prototype.
37759 * kern/term.c (grub_getwh): New function.
37760 * term/i386/pc/console.c (grub_console_getwh): New function.
37761 (grub_console_term): New member `getwh'.
37762 * term/i386/pc/vga.c (grub_vga_getwh): New function.
37763 (grub_vga_term): New member `getwh'.
37764 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
37765 grub_ssize_t.
37766 (grub_ofconsole_getw): New function.
37767 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
37768 (grub_ofconsole_term): New field named getwh and new initial
37769 value.
37770
37771 2005-08-03 Hollis Blanchard <hollis@penguinppc.org>
37772
37773 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
37774 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
37775 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
37776 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
37777 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
37778 of <grub/machine/ieee1275.h>.
37779 * commands/ieee1275/reboot.c: Likewise.
37780 * boot/powerpc/ieee1275/ieee1275.c: Move ...
37781 * kern/ieee1275.c: ... to here. All users updated. Change all
37782 parameter structs to use new type `grub_ieee1275_cell_t'.
37783 * term/powerpc/ieee1275/ofconsole.c: Move ...
37784 * term/ieee1275/ofconsole.c: ... to here. All users updated.
37785 * disk/powerpc/ieee1275/ofdisk.c: Move ...
37786 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
37787 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
37788 to return int.
37789 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
37790 Remove unused prototypes. All users updated.
37791 * include/grub/powerpc/ieee1275/console.h: Removed.
37792 * include/grub/powerpc/ieee1275/ieee1275.h: Define
37793 `grub_ieee1275_cell_t'.
37794 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
37795 Cast comparisons with -1 to the correct type.
37796 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
37797 type to match `grub_ieee1275_entry_fn'.
37798
37799 2005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
37800
37801 * DISTLIST: Added util/i386/pc/grub-probefs.c.
37802
37803 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
37804 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
37805 partmap/sun.c.
37806 (grub_probefs_SOURCES): New variable.
37807
37808 * util/i386/pc/grub-probefs.c: New file.
37809
37810 * util/i386/pc/grub-setup.c (main): Call
37811 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
37812 grub_hfs_init and grub_jfs_init to initialize the system. Call
37813 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
37814 grub_pc_partition_map_fini to finish the system.
37815
37816 2005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
37817
37818 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
37819 function.
37820 (grub_multiboot_load_elf32): Likewise.
37821 (grub_multiboot_is_elf64): Likewise.
37822 (grub_multiboot_load_elf64): Likewise.
37823 (grub_multiboot_load_elf): Likewise.
37824 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
37825 an ELF32 or ELF64 file.
37826 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
37827
37828 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
37829 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
37830 NULL before calling FS->LABEL.
37831 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
37832 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
37833 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
37834 before calling FS->LABEL.
37835
37836 2005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
37837
37838 * util/i386/pc/grub-install.in (datadir): New variable.
37839 (libdir): Removed.
37840 (pkgdatadir): New variable.
37841 (pkglibdir): Removed.
37842
37843 2005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
37844
37845 * DISTLIST: Added util/i386/pc/grub-install.in.
37846
37847 * util/i386/pc/grub-install.in: New file.
37848
37849 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
37850 (grub_install_SOURCES): Likewise.
37851
37852 * genmk.rb: Added support for scripts.
37853 (Script): New class.
37854 (scripts): New variable.
37855
37856 * Makefile.in (install-local): Install sbin_SCRIPTS by
37857 INSTALL_SCRIPT.
37858 (uninstall): Remove sbin_SCRIPTS.
37859
37860 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
37861 device, try to get a GRUB device by
37862 grub_util_biosdisk_get_grub_dev.
37863 Free DEST_DEV.
37864
37865 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
37866 description for --device-map.
37867
37868 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
37869
37870 Change the semantics of variable hooks. They now return strings
37871 instead of error values.
37872
37873 * util/i386/pc/grub-setup.c: Include grub/env.h.
37874 (setup): Use grub_device_set_root instead of grub_env_set.
37875
37876 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
37877 grub_env_get instead of grub_device_set_root and
37878 grub_device_get_root, respectively.
37879
37880 * kern/main.c (grub_env_write_root): New function.
37881 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
37882 grub_env_set instead of grub_device_set_root.
37883
37884 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
37885 many variables.
37886 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
37887 rather than calling ENV->WRITE_HOOK afterwards.
37888 (grub_env_get): Return the result of ENV->READ_HOOK rather than
37889 passing a pointer of a pointer.
37890 (grub_register_variable_hook): Change the types of "read_hook" and
37891 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
37892 respectively.
37893 Allocate the default empty string on the heap, because this string
37894 may be freed later.
37895
37896 * kern/device.c: Include grub/env.h.
37897 (grub_device_set_root): Removed.
37898 (grub_device_get_root): Likewise.
37899 (grub_device_open): Use grub_env_get instead of
37900 grub_device_get_root.
37901
37902 * include/grub/env.h (grub_env_read_hook_t): New type.
37903 (grub_env_write_hook_t): Likewise.
37904 (grub_env_var): Change the types of "read_hook" and "write_hook"
37905 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
37906 (grub_register_variable_hook): Likewise.
37907
37908 * include/grub/device.h (grub_device_set_root): Removed.
37909 (grub_device_set_root): Likewise.
37910
37911 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
37912 make sure that DIRNAME terminates with '/', so that
37913 grub_fat_find_dir will fail if PATH is not a directory.
37914
37915 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
37916 from DIRNAME.
37917 Use the qualifier auto for print_files and print_files_long.
37918 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
37919 as a regular file.
37920 Put a newline only if there is no error.
37921 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
37922 used.
37923
37924 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
37925
37926 * kern/partition.c (grub_partition_probe): Initialize PART to
37927 NULL. Otherwise, when no partition map is registered, this returns
37928 a garbage.
37929
37930 2005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
37931
37932 * partmap/apple.c (apple_partition_map_iterate): Check if POS
37933 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
37934 valid.
37935
37936 2005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
37937
37938 * commands/ls.c (grub_ls_list_disks): Print the filesystem
37939 information on each device, if it does not have partitions. Print
37940 "Device" instead of "Disk", because this function is not specific
37941 to disk devices.
37942
37943 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
37944 static to ensure that it is put on the memory rather than a
37945 register.
37946
37947 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
37948
37949 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
37950 (grub_cat_init): Likewise.
37951 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
37952 (options): Likewise.
37953 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
37954 (grub_configfile_init): Likewise.
37955 * font/manager.c (GRUB_MOD_INIT): Likewise.
37956 * commands/help.c (GRUB_MOD_INIT): Likewise.
37957 (grub_help_init): Likewise.
37958 * normal/command.c (grub_command_init): Likewise.
37959 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
37960 * disk/loopback.c (grub_loop_init): Likewise.
37961 (GRUB_MOD_INIT): Likewise.
37962 * commands/ls.c (grub_ls_init): Likewise.
37963 (GRUB_MOD_INIT): Likewise.
37964 (options): Likewise.
37965 * commands/boot.c (grub_boot_init): Likewise.
37966 (GRUB_MOD_INIT): Likewise.
37967 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
37968 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
37969 (GRUB_MOD_INIT): Likewise.
37970 * commands/cmp.c (grub_cmp_init): Likewise.
37971 (GRUB_MOD_INIT): Likewise.
37972
37973 * normal/arg.c: Use <> instead of "" to include header files.
37974 (SHORT_ARG_HELP): New macro.
37975 (SHORT_ARG_USAGE): Likewise.
37976 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
37977 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
37978 descriptions.
37979 (find_short): Check if C is 'h' or 'u' explicitly.
37980 (grub_arg_show_help): Use space characters instead of tabs. Treat
37981 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
37982 are shown with --help and --usage only if they are not used for
37983 the command itself.
37984 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
37985 'h' and 'u'.
37986
37987 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
37988 const into "longarg". Change the type of "shortarg" to int.
37989
37990 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
37991
37992 * boot/i386/pc/boot.S (boot_drive_check): New label.
37993
37994 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
37995 macro.
37996
37997 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
37998 which do not pass a boot drive correctly. Copied from GRUB Legacy.
37999
38000 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
38001
38002 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
38003 When turning off Gate A20, skip the check and return immediately,
38004 because this is not fatal usually.
38005
38006 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
38007
38008 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
38009 be 0x7C00 instead of 0x8000.
38010
38011 * boot/i386/pc/pxeboot.S: Rewritten.
38012
38013 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
38014 EXT_C.
38015 (gate_a20_check_state): Read a byte from 0x108000. Invert the
38016 result.
38017
38018 2005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
38019
38020 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
38021 robustness. This routine now supports a BIOS call and System
38022 Control Port A to modify the gate A20.
38023
38024 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
38025 Increased to 0x440.
38026
38027 2005-07-12 Hollis Blanchard <hollis@penguinppc.org>
38028
38029 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
38030 device path and resulting ihandle.
38031 (grub_ofdisk_close): dprintf the ihandle being closed.
38032 (grub_ofdisk_read): dprintf function parameters.
38033 * kern/mm.c (grub_mm_init_region): Likewise.
38034 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
38035 (grub_linux_boot): dprintf the Linux entry point, initrd address and
38036 size, and boot arguments.
38037 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
38038 before loading into memory.
38039 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
38040 before loading into memory.
38041
38042 2005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
38043
38044 * kern/mm.c: Added much documentation.
38045 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
38046 8, set to 5 instead of 8.
38047
38048 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
38049
38050 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
38051
38052 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
38053 (grub_mkdevicemap_SOURCES): New variable.
38054
38055 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
38056 lib/device.c of GRUB Legacy.
38057
38058 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
38059
38060 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
38061 instead of PATH is NULL.
38062
38063 2005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
38064
38065 * commands/cmp.c (BUFFER_SIZE): New macro.
38066 (grub_cmd_cmp): Close the right file at the right time. Compare
38067 only data just read. Don't report files of different size as
38068 identical. Dynamically allocate buffers. Move variable
38069 declarations at the beginning of function.
38070
38071 2005-07-09 Yoshinori Okuji <okuji@enbug.org>
38072
38073 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
38074 reverse.
38075
38076 2004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
38077
38078 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
38079 when backspace is pressed at beginning of line.
38080
38081 2005-07-03 Yoshinori Okuji <okuji@enbug.org>
38082
38083 * DISTLIST: Added genfslist.sh.
38084
38085 * normal/main.c (fs_module_list): New variable.
38086 (autoload_fs_module): New function.
38087 (read_fs_list): Likewise.
38088 (grub_normal_execute): Call read_fs_list.
38089
38090 * kern/fs.c (grub_fs_autoload_hook): New variable.
38091 (grub_fs_probe): Added support for auto-loading.
38092
38093 * include/grub/normal.h (struct grub_fs_module_list): New struct.
38094 (grub_fs_module_list_t): New type.
38095
38096 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
38097 (grub_fs_autoload_hook): New prototype.
38098
38099 * genfslist.sh: New file.
38100
38101 * genmk.rb: Added a rule to generate a filesystem list.
38102
38103 2005-06-30 Marco Gerards <metgerards@student.han.nl>
38104
38105 * configure.ac: Fix the test for cross-compiling.
38106
38107 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
38108 define GRUB_UTIL anymore.
38109
38110 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
38111 so this function works on other systems than just big endian.
38112 (load_modules): Likewise.
38113 (add_segments): Likewise.
38114
38115 2005-06-23 Hollis Blanchard <hollis@penguinppc.org>
38116
38117 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
38118 contains `l' modifier, get a long from va_arg().
38119
38120 2005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
38121
38122 * kern/mm.c (grub_free): If the next free block which is being
38123 merged is the first free block, set the first block to the block
38124 being freed.
38125 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
38126
38127 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
38128
38129 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
38130 `grub_ieee1275_chosen'.
38131
38132 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
38133
38134 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
38135 (grub_ieee1275_chosen): New variable.
38136 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
38137 `chosen'.
38138 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
38139 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
38140 Rename first argument to `phandle' for consistency.
38141 (grub_ieee1275_get_property_length): Likewise.
38142 (grub_ieee1275_next_property): Likewise. Change type of first argument
38143 to grub_ieee1275_phandle_t.
38144 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
38145 Move export next to declaration.
38146 (grub_ieee1275_chosen): New variable.
38147 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
38148 Correct cosmetic typo.
38149 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
38150 `grub_ieee1275_chosen'.
38151 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
38152 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
38153 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
38154 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
38155 `grub_ieee1275_chosen'.
38156
38157 2005-05-10 Hollis Blanchard <hollis@penguinppc.org>
38158
38159 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
38160 /chosen/bootargs.
38161 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
38162 /chosen/bootargs as "variable=value" pairs.
38163
38164 2005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
38165
38166 * include/grub/misc.h (grub_dprintf): New macro.
38167 (grub_real_dprintf): New prototype.
38168 (grub_strword): Likewise.
38169 (grub_iswordseparator): Likewise.
38170 * kern/misc.c (grub_real_dprintf): New function.
38171 (grub_strword): Likewise.
38172 (grub_iswordseparator): Likewise.
38173
38174 2005-04-30 Hollis Blanchard <hollis@penguinppc.org>
38175
38176 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
38177 (roundup): Remove macro.
38178 (grub_ieee1275_flags): Make static.
38179 (grub_ieee1275_realmode): Remove.
38180 (grub_ieee1275_test_flag): New function.
38181 (grub_ieee1275_set_flag): Likewise.
38182 (find_options): Rename to `grub_ieee1275_find_options'; update
38183 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
38184 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
38185 (cmain): New prototype.
38186 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
38187 `grub_ieee1275_flags' directly.
38188 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
38189 machine/biosdisk.h.
38190 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
38191 Don't include grub/machine/init.h.
38192 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
38193 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
38194 Remove prototype.
38195 (grub_ieee1275_realmode): Likewise.
38196 (grub_ieee1275_flag): New enum.
38197 (grub_ieee1275_test_flag): New prototype.
38198 (grub_ieee1275_set_flag): New prototype.
38199 * include/grub/powerpc/ieee1275/init.h: Remove file.
38200 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
38201 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
38202 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
38203 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
38204 comment.
38205 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
38206 `grub_ieee1275_test_flag'.
38207 (grub_ieee1275_encode_devname): Likewise.
38208
38209 2005-04-21 Hollis Blanchard <hollis@penguinppc.org>
38210
38211 * include/grub/powerpc/ieee1275/ieee1275.h
38212 (grub_ieee1275_encode_devname): New prototype.
38213 (grub_ieee1275_get_filename): Likewise.
38214 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
38215 function.
38216 (grub_set_prefix): Likewise.
38217 (grub_machine_init): Call grub_set_prefix.
38218 * kern/powerpc/ieee1275/openfw.c: Fix typos.
38219 (grub_parse_type): New enum.
38220 (grub_ieee1275_get_devargs): New function.
38221 (grub_ieee1275_get_devname): Likewise.
38222 (grub_ieee1275_parse_args): Likewise.
38223 (grub_ieee1275_get_filename): Likewise.
38224 (grub_ieee1275_encode_devname): Likewise.
38225
38226 2005-03-30 Marco Gerards <metgerards@student.han.nl>
38227
38228 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
38229 `grub_loader_unset'.
38230
38231 2005-03-26 Hollis Blanchard <hollis@penguinppc.org>
38232
38233 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
38234 instead of grub_ieee1275_interpret.
38235 (grub_halt_init): New function.
38236 (grub_halt_fini): Likewise.
38237 (GRUB_MOD_INIT): Correct message grammar.
38238 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
38239 instead of grub_ieee1275_interpret.
38240 (grub_reboot_init): New function.
38241 (grub_reboot_fini): Likewise.
38242 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
38243 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
38244 util/i386/pc/misc.c with commands/ieee1275/halt.c,
38245 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
38246 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
38247 function.
38248 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
38249 Add prototype.
38250 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
38251 prototype.
38252 (grub_halt): Likewise.
38253 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
38254 (cmain): Remove __attribute__((unused)).
38255 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
38256 (grub_heap_len): Likewise.
38257 (grub_machine_fini): New function.
38258 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
38259 (grub_halt): Likewise.
38260 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
38261 function.
38262 * util/powerpc/ieee1275/misc.c: New file.
38263
38264 2005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
38265
38266 * DISTLIST: New file.
38267 * gendistlist.sh: Likewise.
38268
38269 * Makefile.in (COMMON_DISTFILES): Removed.
38270 (BOOT_DISTFILES): Likewise.
38271 (CONF_DISTFILES): Likewise.
38272 (DISK_DISTFILES): Likewise.
38273 (FS_DISTFILES): Likewise.
38274 (INCLUDE_DISTFILES): Likewise.
38275 (KERN_DISTFILES): Likewise.
38276 (LOADER_DISTFILES): Likewise.
38277 (TERM_DISTFILES): Likewise.
38278 (UTIL_DISTFILES): Likewise.
38279 (DISTFILES): Likewise.
38280 (uninstall): Uninstall files in $(pkgdata_DATA).
38281 (DISTLIST): New target.
38282 (distdir): Use the contents of the file DISTLIST to get a list of
38283 distributed files.
38284
38285 2005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
38286
38287 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
38288 descriptor. This is ported from GRUB Legacy.
38289
38290 * gencmdlist.sh: Added an extra semicolon to make it work with
38291 old sed versions. Reported by Robert Bihlmeyer
38292 <robbe@orcus.priv.at>.
38293
38294 2005-03-08 Yoshinori Okuji <okuji@enbug.org>
38295
38296 Automatic loading of commands is supported.
38297
38298 * normal/main.c (read_command_list): New function.
38299 (grub_normal_execute): Call read_command_list.
38300
38301 * normal/command.c (grub_register_command): Return zero or CMD.
38302 Allocate CMD->NAME from the heap.
38303 Initialize CMD->MODULE_NAME to zero.
38304 Find the same name as well. If the same command is found and it is
38305 a dummy command, overwrite members. If it is not a dummy command,
38306 return zero.
38307 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
38308 (grub_command_find): If a dummy command is found, load a module
38309 and retry to find a command only once.
38310
38311 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
38312 make sure that each command is loaded.
38313
38314 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
38315 macro.
38316 (struct grub_command): Remove const from the member `name'.
38317 Add a new member `module_name'.
38318 (grub_register_command): Return grub_command_t.
38319
38320 * commands/help.c (grub_cmd_help): Call grub_command_find to make
38321 sure that each command is loaded.
38322
38323 * genmk.rb (PModule::rule): Specify a module name without the
38324 suffix ".mod" to gencmdlist.sh.
38325
38326 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
38327
38328 * gencmdlist.sh: New file.
38329
38330 * genmk.rb (PModule::rule): Generate a rule for a command list.
38331 Clean command.lst.
38332 Generate command.lst from $(COMMANDFILES).
38333
38334 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
38335 (DATA): Added $(pkgdata_DATA).
38336 (install-local): Install files in $(pkgdata_DATA).
38337
38338 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
38339
38340 * term/i386/pc/vga.c (debug_command): Removed.
38341 (GRUB_MOD_INIT): Do not register the command "debug".
38342
38343 From Hollis Blanchard:
38344 * commands/configfile.c: New file.
38345 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
38346 commands/configfile.c.
38347 (pkgdata_MODULES): Added configfile.mod.
38348 (configfile_mod_SOURCES): New variable.
38349 (configfile_mod_CFLAGS): Likewise.
38350 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
38351 commands/configfile.c.
38352 (pkgdata_MODULES): Added configfile.mod.
38353 (configfile_mod_SOURCES): New variable.
38354 (configfile_mod_CFLAGS): Likewise.
38355 * util/grub-emu.c (main): Call grub_configfile_init and
38356 grub_configfile_fini.
38357 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
38358 prototype.
38359 [GRUB_UTIL] (grub_configfile_fini): Likewise.
38360
38361 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
38362
38363 * normal/arg.c (grub_arg_show_help): Do not show the bug report
38364 address.
38365
38366 * commands/help.c (grub_cmd_help): Do not print newlines after
38367 the last command in print_command_help.
38368
38369 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
38370
38371 * commands/default.h: New file.
38372 * commands/timeout.h: Likewise.
38373 * normal/context.c: Likewise.
38374
38375 * util/misc.c: Do not include sys/times.h.
38376 Include sys/time.h and grub/machine/time.h.
38377 (grub_get_rtc): Rewritten with gettimeofday.
38378
38379 * util/grub-emu.c (main): Call grub_default_init and
38380 grub_timeout_init before grub_normal_init, and call
38381 grub_timeout_fini and grub_default_fini after grub_main.
38382
38383 * util/console.c (grub_ncurses_checkkey): Return the read
38384 character or -1.
38385
38386 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
38387 timeouts.
38388
38389 * normal/main.c (read_config_file): Push MENU. If this fails,
38390 print an error and wait for a user input.
38391 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
38392 If a menu is empty or an error occurs, pop MENU.
38393 (grub_normal_execute): Pop and free MENU after grub_menu_run
38394 returns.
38395
38396 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
38397
38398 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
38399 include time.h.
38400 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
38401 without GRUB_UTIL.
38402 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
38403 time.h.
38404 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
38405 without GRUB_UTIL.
38406
38407 * include/grub/normal.h (struct grub_menu_list): New struct.
38408 (grub_menu_list_t): New type.
38409 (struct grub_context): New struct.
38410 (grub_context_t): New type.
38411 (grub_register_command): Got rid of EXPORT_FUNC.
38412 (grub_unregister_command): Likewise.
38413 (grub_context_get): New prototype.
38414 (grub_context_get_current_menu): Likewise.
38415 (grub_context_push_menu): Likewise.
38416 (grub_context_pop_menu): Likewise.
38417 [GRUB_UTIL] (grub_default_init): Likewise.
38418 [GRUB_UTIL] (grub_default_fini): Likewise.
38419 [GRUB_UTIL] (grub_timeout_init): Likewise.
38420 [GRUB_UTIL] (grub_timeout_fini): Likewise.
38421
38422 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
38423 commands/timeout.c and normal/context.c.
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 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
38431 conf/i386-pc.rmk.
38432 (pkgdata_MODULES): Added default.mod and timeout.mod.
38433 (normal_mod_SOURCES): Added normal/context.c.
38434 (default_mod_SOURCES): New variable.
38435 (default_mod_CFLAGS): Likewise.
38436 (timeout_mod_SOURCES): Likewise.
38437 (timeout_mod_CFLAGS): Likewise.
38438
38439 * Makefile.in (all-local): Added $(MKFILES).
38440
38441 2005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
38442
38443 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
38444 (grub_emu_SOURCES): Likewise.
38445 (pkgdata_MODULES): Add `sun.mod'.
38446 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
38447 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
38448 `partmap/sun.c'.
38449 (pkgdata_MODULES): Add `sun.mod'.
38450 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
38451 * include/grub/partition.h (grub_sun_partition_map_init): New
38452 prototype.
38453 (grub_sun_partition_map_fini): Likewise.
38454 * partmap/sun.c: New file.
38455 * util/grub-emu.c (main): Initialize and de-initialize the sun
38456 partitionmap support.
38457
38458 2005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
38459
38460 This implements an Emacs-like menu entry editor.
38461
38462 * normal/menu_entry.c: New file.
38463
38464 * util/console.c (grub_ncurses_putchar): Translate some Unicode
38465 characters to ASCII.
38466 (saved_char): New variable.
38467 (grub_ncurses_checkkey): Rewritten completely.
38468 (grub_ncurses_getkey): Likewise.
38469 (grub_ncurses_init): Call raw instead of cbreak.
38470
38471 * normal/menu.c (print_entry): Do not put a space.
38472 (init_page): Renamed to ...
38473 (grub_menu_init_page): ... this. All callers changed.
38474 (edit_menu_entry): Removed.
38475 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
38476
38477 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
38478
38479 * kern/misc.c (grub_vprintf): Call grub_refresh.
38480
38481 * normal/menu.c (DISP_LEFT): Renamed to ...
38482 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
38483 * normal/menu.c (DISP_UP): Renamed to ...
38484 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
38485 * normal/menu.c (DISP_RIGHT): Renamed to ...
38486 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
38487 * normal/menu.c (DISP_DOWN): Renamed to ...
38488 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
38489 * normal/menu.c (DISP_HLINE): Renamed to ...
38490 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
38491 * normal/menu.c (DISP_VLINE): Renamed to ...
38492 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
38493 * normal/menu.c (DISP_UL): Renamed to ...
38494 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
38495 * normal/menu.c (DISP_UR): Renamed to ...
38496 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
38497 * normal/menu.c (DISP_LL): Renamed to ...
38498 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
38499 * normal/menu.c (DISP_LR): Renamed to ...
38500 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
38501 * normal/menu.c (TERM_WIDTH): Renamed to ...
38502 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
38503 * normal/menu.c (TERM_HEIGHT): Renamed to ...
38504 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
38505 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
38506 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
38507 * normal/menu.c (TERM_MARGIN): Renamed to ...
38508 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
38509 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
38510 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
38511 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
38512 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
38513 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
38514 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
38515 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
38516 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
38517 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
38518 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
38519 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
38520 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
38521 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
38522 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
38523 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
38524 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
38525 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
38526 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
38527 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
38528 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
38529 All callers changed.
38530
38531 * include/grub/normal.h: New prototype.
38532
38533 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
38534 normal/menu_entry.c.
38535 (normal_mod_SOURCES): Likewise.
38536 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38537 (normal_mod_SOURCES): Likewise.
38538
38539 2005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
38540
38541 * include/grub/normal.h (grub_halt_init): New prototype.
38542 (grub_halt_fini): Likewise.
38543 (grub_reboot_init): Likewise.
38544 (grub_reboot_fini): Likewise.
38545
38546 * util/grub-emu.c: Include signal.h.
38547 (main_env): New global variable.
38548 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
38549 catch C-c.
38550 (grub_machine_fini): New function.
38551 (main): Call grub_halt_init and grub_reboot_init before
38552 grub_main, and grub_reboot_fini and grub_halt_fini after it.
38553 Call setjmp with MAIN_ENV to go back afterwards.
38554 Call grub_machine_fini right before return.
38555
38556 * include/grub/util/misc.h: Include setjmp.h.
38557 (main_env): New prototype.
38558
38559 * include/grub/kernel.h (grub_machine_fini): New prototype.
38560 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
38561 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
38562
38563 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
38564 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
38565 * term/i386/pc/console.c (grub_console_fini): Likewise.
38566
38567 * util/i386/pc/misc.c: New file.
38568
38569 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
38570 util/i386/pc/misc.c, commands/i386/pc/halt.c and
38571 commands/i386/pc/reboot.c.
38572
38573 2005-02-14 Guillem Jover <guillem@hadrons.org>
38574
38575 * include/grub/dl.h (grub_dl_check_header): New prototype.
38576 (grub_arch_dl_check_header): Change return type to grub_err_t,
38577 remove size parameter and export function. Update all callers.
38578 * kern/dl.c (grub_dl_check_header): New function.
38579 (grub_dl_load_core): Use `grub_dl_check_header' instead of
38580 `grub_arch_dl_check_header'. Check ELF type. Check if sections
38581 are inside the core.
38582 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
38583 independent ELF header checks.
38584 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
38585 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
38586 `grub_dl_check_header' instead of explicit checks. Check for the
38587 ELF type.
38588 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
38589 `grub_dl_check_header' instead of explicit checks. Remove arch
38590 specific ELF header checks.
38591
38592 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
38593 argument SIZE.
38594
38595 2005-02-13 Hollis Blanchard <hollis@penguinppc.org>
38596
38597 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
38598 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
38599
38600 2005-02-12 Hollis Blanchard <hollis@penguinppc.org>
38601
38602 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
38603 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
38604 (part_map_iterate): Clear `grub_errno' and return 0 if
38605 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
38606 * partmap/amiga.c (amiga_partition_map_iterate): Return
38607 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
38608 * partmap/apple.c (apple_partition_map_iterate): Likewise.
38609
38610 2005-02-01 Guillem Jover <guillem@hadrons.org>
38611
38612 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
38613 help info.
38614
38615 2005-01-31 Marco Gerards <metgerards@student.han.nl>
38616
38617 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
38618 Removed prototype.
38619 (grub_rescue_cmd_linux): New prototype.
38620 (grub_rescue_cmd_initrd): Likewise.
38621 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
38622 `bi_rec'.
38623 (grub_linux_release_mem): Release the memory for the initrd.
38624 (grub_load_linux): Renamed from this...
38625 (grub_rescue_cmd_linux): ...To this. Changed all callers.
38626 Changed `entry' not to be static. Loop over memory regions to
38627 find another one when the default fails.
38628 (grub_rescue_cmd_initrd): New function.
38629 (grub_linux_init): Remove function.
38630 (grub_linux_fini): Likewise.
38631 (GRUB_MOD_INIT): Register `initrd'.
38632 (GRUB_MOD_FINI): Unregister `initrd'.
38633 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
38634 Function removed.
38635 (grub_linux_normal_fini): Likewise.
38636 (GRUB_MOD_INIT): Register `initrd'.
38637 (GRUB_MOD_FINI): Unregister `initrd'.
38638
38639 2005-01-31 Marco Gerards <metgerards@student.han.nl>
38640
38641 * commands/help.c: New file.
38642 * normal/arg.c (show_help): Renamed to...
38643 (grub_arg_show_help): ... this.
38644 * commands/i386/pc/halt.c: New file.
38645 * commands/i386/pc/reboot.c: Likewise.
38646 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
38647 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
38648 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
38649 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
38650 variables.
38651 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
38652 `commands/help.c'.
38653 (pkgdata_MODULES): Add `help.mod'.
38654 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
38655 * grub/i386/pc/init.h (grub_reboot): New prototype.
38656 (grub_halt): Likewise.
38657 * include/grub/normal.h (grub_arg_show_help): New prototype.
38658 (grub_help_init): Likewise.
38659 (grub_help_fini): Likewise.
38660 * util/grub-emu.c (main): Initialize and deinitialize the help
38661 command.
38662
38663 * normal/cmdline.c (grub_cmdline_get): Doc fix.
38664
38665 * normal/command.c (grub_command_init): Fixed the description of
38666 the `set' and `unset' commands.
38667
38668 2005-01-31 Marco Gerards <metgerards@student.han.nl>
38669
38670 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
38671 function.
38672 * commands/ieee1275/halt.c: New file.
38673 * commands/ieee1275/reboot.c: Likewise.
38674 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
38675 `__attribute__ ((unused))'. Some GCS related fixed.
38676 (grub_suspend_init) [GRUB_UTIL]: Function removed.
38677 (grub_suspend_fini): Likewise.
38678 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
38679 and `halt.mod'.
38680 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
38681 (halt_mod_CFLAGS): New variables.
38682 * include/grub/powerpc/ieee1275/ieee1275.h
38683 (grub_ieee1275_interpret): New prototype.
38684
38685 2005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
38686
38687 * include/grub/misc.h (memmove): New prototype.
38688 (memcpy): Likewise.
38689
38690 2005-01-22 Hollis Blanchard <hollis@penguinppc.org>
38691
38692 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
38693 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
38694
38695 2005-01-22 Marco Gerards <metgerards@student.han.nl>
38696
38697 * kern/misc.c (grub_strndup): Function rewritten.
38698
38699 2005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
38700
38701 * normal/menu.c (TERM_WIDTH): Macro redefined.
38702 (TERM_TOP_BORDER_Y): Likewise.
38703 (draw_border): Replaced while-loop by a for-loop. Make the number
38704 of lines consistent with the number of lines displayed in
38705 print_entries. Added a margin below the rectangle.
38706 (print_entry): Make the entry fit in the rectangle.
38707 (print_entries): Display the scroll arrows next to the right
38708 border.
38709
38710 2005-01-21 Marco Gerards <metgerards@student.han.nl>
38711
38712 * fs/minix.c (grub_minix_find_file): Reserve more space for
38713 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
38714 `grub_strncpy' to copy `path' into it.
38715
38716 2005-01-21 Marco Gerards <metgerards@student.han.nl>
38717
38718 Add the loopback device, a device via which files can be accessed
38719 as devices.
38720
38721 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
38722 (pkgdata_MODULES): Add loopback.mod.
38723 (loopback_mod_SOURCES): New variable.
38724 (loopback_mod_CFLAGS): Likewise.
38725 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
38726 `disk/loopback.c'.
38727 (pkgdata_MODULES): Add loopback.mod.
38728 (loopback_mod_SOURCES): New variable.
38729 (loopback_mod_CFLAGS): Likewise.
38730 * disk/loopback.c: new file.
38731 * include/grub/normal.h (grub_loop_init): New prototype.
38732 (grub_loop_fini): New prototype.
38733 * util/grub-emu.c (main): Initialize and de-initialize loopback
38734 support.
38735 * include/grub/disk.h (grub_disk_dev_id): Add
38736 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
38737
38738 2005-01-20 Hollis Blanchard <hollis@penguinppc.org>
38739
38740 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
38741 function.
38742 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
38743 (suspend_mod_SOURCES): New variable.
38744 (suspend_mod_CFLAGS): Likewise.
38745 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
38746 New prototype.
38747 * commands/ieee1275/suspend.c: New file.
38748
38749 2005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
38750
38751 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
38752 ((unused))' to `__attribute__ ((used))'.
38753 (GRUB_MOD_FINI): Likewise.
38754 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
38755 * genmk.rb (PModule): Assign space to common symbols when linking
38756 modules.
38757
38758 2005-01-20 Marco Gerards <metgerards@student.han.nl>
38759
38760 * include/grub/mm.h (grub_mm_init_region): Change the type of the
38761 `unsigned' arguments to `grub_size_t'.
38762 (grub_malloc): Likewise.
38763 (grub_realloc): Likewise.
38764 (grub_memalign): Likewise.
38765 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
38766 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
38767 * util/misc.c (grub_malloc): Likewise.
38768 (grub_realloc): Likewise.
38769 * kern/mm.c (get_header_from_pointer): Change the casts to
38770 `unsigned' into a cast to `grub_size_t'.
38771
38772 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
38773 point to `currnode' when `currnode' is changed.
38774
38775 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
38776 Schottelius <nico-linux@schottelius.org>.
38777
38778 2005-01-09 Hollis Blanchard <hollis@penguinppc.org>
38779
38780 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
38781 (note_path): Remove variable.
38782 (GRUB_IEEE1275_NOTE_NAME): New macro.
38783 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
38784 (grub_ieee1275_note_hdr): New structure.
38785 (grub_ieee1275_note_desc): Likewise.
38786 (grub_ieee1275_note): Likewise.
38787 (load_note): Remove `dir' argument. All callers updated. Remove
38788 `note_img' and `path'. Do not load a file from `note_path'.
38789 Initialize a struct grub_ieee1275_note and write that to `out'.
38790 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
38791
38792 2005-01-05 Marco Gerards <metgerards@student.han.nl>
38793
38794 * util/misc.c (grub_util_read_image): Revert last change. It
38795 called `grub_util_read_at', which seeks from the beginning of the
38796 file.
38797
38798 2005-01-04 Hollis Blanchard <hollis@penguinppc.org>
38799
38800 * TODO: Add note about endianness in grub-mkimage.
38801 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
38802 section.
38803 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
38804 (grub_mkimage_SOURCES): New target.
38805 * include/grub/kernel.h (grub_start_addr): Remove variable.
38806 (grub_end_addr): Likewise.
38807 (grub_total_module_size): Likewise.
38808 (grub_kernel_image_size): Likewise.
38809 (GRUB_MODULE_MAGIC): New constant.
38810 (grub_module_info): New structure.
38811 (grub_arch_modules_addr): New prototype.
38812 (grub_get_end_addr): Remove prototype.
38813 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
38814 * include/grub/powerpc/ieee1275/kernel.h: New file.
38815 * include/grub/util/misc.h (grub_util_get_fp_size): New
38816 prototype.
38817 (grub_util_read_at): Likewise.
38818 (grub_util_write_image_at): Likewise.
38819 * kern/main.c (grub_get_end_addr): Remove function.
38820 (grub_load_modules): Call grub_arch_modules_addr instead of using
38821 grub_end_addr. Look for a grub_module_info struct in memory. Use
38822 the grub_module_info fields instead of calling grub_get_end_addr
38823 as loop conditions. Move grub_add_unused_region code here.
38824 (grub_add_unused_region): Remove function.
38825 * kern/i386/pc/init.c: Include grub/cache.h.
38826 (grub_machine_init): Remove call to grub_get_end_addr. Remove
38827 one call to add_mem_region.
38828 (grub_arch_modules_addr): New function.
38829 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
38830 (grub_total_module_size): Likewise.
38831 Include grub/machine/kernel.h.
38832 (grub_arch_modules_addr): New function.
38833 * util/grub-emu.c (grub_end_addr): Remove variable.
38834 (grub_total_module_size): Likewise.
38835 (grub_arch_modules_addr): New function.
38836 * util/misc.c: Include unistd.h.
38837 (grub_util_get_fp_size): New function.
38838 (grub_util_read_at): Likewise.
38839 (grub_util_write_image_at): Likewise.
38840 (grub_util_read_image): Call grub_util_read_at.
38841 (grub_util_write_image): Call grub_util_write_image_at.
38842 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
38843 additional memory in kernel_img for a struct grub_module_info.
38844 Fill in that grub_module_info.
38845 * util/powerpc/ieee1275/grub-mkimage.c: New file.
38846
38847 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
38848
38849 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
38850 New function.
38851 * include/grub/powerpc/ieee1275/ieee1275.h
38852 (grub_ieee1275_milliseconds): New prototype.
38853 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
38854 Change to 1000.
38855 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
38856 grub_ieee1275_milliseconds.
38857
38858 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
38859
38860 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
38861 variable.
38862 (find_options): New function.
38863 (cmain): Call find_options.
38864 * include/grub/powerpc/ieee1275/ieee1275.h
38865 (grub_ieee1275_realmode): New extern variable.
38866 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
38867 grub_map if grub_ieee1275_realmode is false.
38868
38869 2004-12-29 Marco Gerards <metgerards@student.han.nl>
38870
38871 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
38872 lines are inserted and make it work like readline. Reported by
38873 Vincent Pelletier <subdino2004@yahoo.fr>.
38874
38875 2004-12-28 Marco Gerards <metgerards@student.han.nl>
38876
38877 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
38878
38879 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
38880 `kern/powerpc/cache.S'.
38881
38882 2004-12-27 Marco Gerards <metgerards@student.han.nl>
38883
38884 * genmk.rb: Handle the `Program' class in the main loop. Written
38885 by Johan Rydberg <jrydberg@gnu.org>.
38886 (Program): New class.
38887 (programs): New variable.
38888 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
38889 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
38890 instead of "grub/kernel.h". Include <grub/machine/init.h>.
38891 (help_arch): Function removed.
38892 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
38893 `powerpc/libgcc.h' and `loader.h'.
38894 (pkgdata_PROGRAMS): New variable.
38895 (sbin_UTILITIES): Variable removed.
38896 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
38897 (grubof_SOURCES): Variable re-defined so it only includes the
38898 core functionality.
38899 (grubof_CFLAGS): Remove `-DGRUBOF'.
38900 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
38901 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
38902 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
38903 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
38904 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
38905 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
38906 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
38907 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
38908 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
38909 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
38910 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
38911 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
38912 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
38913 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
38914 (pc_mod_CFLAGS): New variables.
38915 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
38916 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
38917 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
38918 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
38919 Moved from here...
38920 * include/grub/i386/pc/init.h (grub_os_area_addr)
38921 (rub_os_area_size): ... to here.
38922 * include/grub/powerpc/ieee1275/ieee1275.h
38923 (grub_ieee1275_entry_fn): Export symbol.
38924 * include/grub/powerpc/ieee1275/init.h: New file.
38925 * include/grub/powerpc/libgcc.h: Likewise.
38926 * include/grub/cache.h: Likewise.
38927 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
38928 <hollis@penguinppc.org>.
38929 * kern/dl.c: Include <grub/cache.h>.
38930 (grub_dl_flush_cache): New function.
38931 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
38932 for this module.
38933 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
38934 (grub_console_init): Removed prototypes.
38935 (grub_machine_init): Don't initialize the modules anymore.
38936 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
38937 static.
38938 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
38939 Macro undef removed.
38940 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
38941 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
38942 relocation `R_PPC_REL32'. Return an error when the relocation is
38943 unknown.
38944 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
38945 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
38946 * util/misc.c (grub_arch_sync_caches): Likewise.
38947
38948 2004-12-19 Marco Gerards <metgerards@student.han.nl>
38949
38950 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
38951 `symlist.c', add `grubof_symlist.c'.
38952 (symlist.c): Variable removed.
38953 (grubof_HEADERS): Variable added.
38954 (grubof_symlist.c): New target.
38955 (kernel_syms.lst): Use `grubof_HEADERS' instead of
38956 `kernel_img_HEADERS'.
38957 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
38958 * kern/powerpc/dl.c: New file.
38959 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
38960 Function removed.
38961 (grub_arch_dl_relocate_symbols): Likewise.
38962 (grub_register_exported_symbols): Likewise.
38963
38964 2004-12-13 Marco Gerards <metgerards@student.han.nl>
38965
38966 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
38967 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
38968 to fail instead. Reported by Vincent Pelletier
38969 <subdino2004@yahoo.fr>.
38970
38971 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
38972 it is not allocated. Reported by Vincent Pelletier
38973 <subdino2004@yahoo.fr>.
38974
38975 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
38976 output so the output looks better.
38977
38978 2004-12-04 Marco Gerards <metgerards@student.han.nl>
38979
38980 Modulize the partition map support and add support for the amiga
38981 partition map.
38982
38983 * commands/ls.c: Include <grub/partition.h> instead of
38984 <grub/machine/partition.h>.
38985 * kern/disk.c: Likewise.
38986 * kern/rescue.c: Likewise.
38987 * loader/i386/pc/chainloader.c: Likewise.
38988 * normal/cmdline.c: Likewise.
38989 * kern/powerpc/ieee1275/init.c: Likewise.
38990 (grub_machine_init): Call `grub_pc_partition_map_init',
38991 `grub_amiga_partition_map_init' and
38992 `grub_apple_partition_map_init'.
38993 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
38994 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
38995 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
38996 `partition.h' and `pc_partition.h'.
38997 (grub_setup_SOURCES): Remove
38998 `disk/i386/pc/partition.c'. Add `kern/partition.c',
38999 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
39000 (grub_emu_SOURCES): Likewise.
39001 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
39002 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
39003 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
39004 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
39005 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
39006 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
39007 (grubof_SOURCES): Likewise.
39008 * disk/i386/pc/partition.c: File removed.
39009 * disk/powerpc/ieee1275/partition.c: Likewise.
39010 * include/grub/powerpc/ieee1275/partition.h: Likewise.
39011 * include/grub/i386/pc/partition.h: Likewise.
39012 * kern/partition.c: New file.
39013 * partmap/amiga.c: Likewise.
39014 * partmap/apple.c: Likewise.
39015 * partmap/pc.c: Likewise.
39016 * include/grub/partition.h: Likewise..
39017 * include/grub/pc_partition.h: Likewise.
39018 * util/grub-emu.c: Include <grub/partition.h> instead of
39019 <grub/machine/partition.h>.
39020 (main): Call `grub_pc_partition_map_init',
39021 `grub_amiga_partition_map_init' and
39022 `grub_apple_partition_map_init' and deinitialize afterwards.
39023 * util/i386/pc/biosdisk.c: Include `#include
39024 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
39025 `<grub/machine/partition.h>'.
39026 * util/i386/pc/grub-setup.c: Likewise.
39027 * util/i386/pc/biosdisk.c: Likewise.
39028 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
39029 partition information in case of a PC partition.
39030 * util/i386/pc/grub-setup.c: Include `#include
39031 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
39032 `<grub/machine/partition.h>'.
39033 (setup): Only access the PC specific partition information in case
39034 of a PC partition.
39035
39036 2004-11-17 Hollis Blanchard <hollis@penguinppc.org>
39037
39038 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
39039 (grub_longjmp): Likewise.
39040 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
39041 20.
39042 * normal/powerpc/setjmp.S: New file.
39043 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
39044 `normal/powerpc/setjmp.S'.
39045 (grubof_CFLAGS): Add `-DGRUBOF'.
39046 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
39047 [GRUB_UTIL && !GRUBOF].
39048
39049 2004-11-16 Marco Gerards <metgerards@student.han.nl>
39050
39051 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
39052 property named `name'. Correctly handle the error returned by
39053 `grub_ieee1275_finddevice' if a device can not be opened.
39054
39055 2004-11-02 Hollis Blanchard <hollis@penguinppc.org>
39056
39057 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
39058 `actual' for negativity.
39059 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
39060 kern/fshelp.c.
39061
39062 2004-11-01 Marco Gerards <metgerards@student.han.nl>
39063
39064 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
39065 (PAGE_OFFSET): New macro.
39066 (CRTC_ADDR_PORT): Likewise.
39067 (CRTC_DATA_PORT): Likewise.
39068 (START_ADDR_HIGH_REGISTER): Likewise.
39069 (START_ADDR_LOW_REGISTER): Likewise.
39070 (GRAPHICS_ADDR_PORT): Likewise.
39071 (GRAPHICS_DATA_PORT): Likewise.
39072 (READ_MAP_REGISTER): Likewise.
39073 (INPUT_STATUS1_REGISTER): Likewise.
39074 (INPUT_STATUS1_VERTR_BIT): Likewise.
39075 (page): New variable.
39076 (wait_vretrace): New function.
39077 (set_read_map): Likewise.
39078 (set_start_address): Likewise.
39079 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
39080 the right page.
39081 (check_vga_mem): Take the page into account.
39082 (write_char): Likewise.
39083 (write_cursor): Likewise.
39084 (scroll_up): Likewise. Copy the page to the page that is not
39085 shown and switch between both pages.
39086 (grub_vga_putchar): Fix off by one error.
39087 (grub_vga_cls): Wait for the vertical retrace. Take the page into
39088 account.
39089
39090 2004-11-01 Marco Gerards <metgerards@student.han.nl>
39091
39092 Add support for iso9660 (including rockridge).
39093
39094 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
39095 (iso9660_mod_SOURCES): New variable.
39096 (iso9660_mod_CFLAGS): Likewise.
39097 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
39098 * include/grub/fs.h (grub_iso9660_init): New prototype.
39099 * util/grub-emu.c (main): Call `grub_iso9660_init'.
39100 * fs/iso9660.c: New file.
39101
39102 * include/grub/misc.h (grub_strncat): New prototype.
39103 * kern/misc.c (grub_strncat): New function.
39104
39105 * fs/hfs.c (grub_hfs_mount): Translate the error
39106 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
39107 * fs/jfs.c (grub_jfs_mount): Likewise.
39108 * fs/ufs.c (grub_ufs_mount): Likewise.
39109
39110 2004-10-28 Hollis Blanchard <hollis@penguinppc.org>
39111
39112 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
39113 which initialized BAT registers.
39114 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
39115 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
39116 Move from here...
39117 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
39118 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
39119 ... to here.
39120 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
39121 (grub_mapclaim): Likewise.
39122 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
39123 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
39124 hand.
39125
39126 2004-10-19 Hollis Blanchard <hollis@penguinppc.org>
39127
39128 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
39129 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
39130 -ffreestanding and -msoft-float.
39131
39132 2004-10-15 Hollis Blanchard <hollis@penguinppc.org>
39133
39134 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
39135 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
39136 set in grub_ieee1275_flags.
39137
39138 2004-10-14 Hollis Blanchard <hollis@penguinppc.org>
39139
39140 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
39141 prototype.
39142 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
39143 grub_console_init first.
39144 Change the memory range used for grub_ieee1275_claim and
39145 grub_mm_init_region.
39146 Print an error message if the claim fails.
39147 Include <grub/misc.h>.
39148
39149 2004-10-13 Hollis Blanchard <hollis@penguinppc.org>
39150
39151 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
39152 Call grub_children_iterate for device nodes of type `scsi',
39153 `ide', or `ata'.
39154 (grub_ofdisk_open): Remove manual device alias resolution.
39155 Fix memory leak when device cannot be opened.
39156 * include/grub/powerpc/ieee1275/ieee1275.h
39157 (grub_children_iterate): New prototype.
39158 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
39159 New function.
39160 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
39161 Return -1 if args.size was -1.
39162
39163 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
39164
39165 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
39166 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
39167 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
39168 Open Firmware's memory for it; claim memory from _start to _end.
39169 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
39170 (_end): New extern.
39171 (_start): Zero BSS from __bss_start to _end.
39172 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
39173 New extern.
39174 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
39175
39176 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
39177
39178 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
39179 -1 if args.base was -1.
39180
39181 2004-10-08 Hollis Blanchard <hollis@penguinppc.org>
39182
39183 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
39184 escape sequence instead of a literal ^L. Also call
39185 grub_ofconsole_gotoxy.
39186
39187 2004-10-03 Hollis Blanchard <hollis@penguinppc.org>
39188
39189 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
39190 void * arguments to grub_addr_t. All callers updated. Also make
39191 the `result' argument optional.
39192 (grub_ieee1275_release): change void * arguments to grub_addr_t.
39193 All callers updated.
39194
39195 2004-09-22 Hollis Blanchard <hollis@penguinppc.org>
39196
39197 * commands/ls.c (grub_ls_list_files): Use the string following the
39198 initial ')', if present, as the filesystem path.
39199 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
39200
39201 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
39202
39203 2004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
39204
39205 Make the source code of the menu interface more readable.
39206
39207 * normal/menu.c: Include grub/mm.h.
39208 (TERM_WIDTH): New macro.
39209 (TERM_HEIGHT): Likewise.
39210 (TERM_INFO_HEIGHT): Likewise.
39211 (TERM_MARGIN): Likewise.
39212 (TERM_SCROLL_WIDTH): Likewise.
39213 (TERM_TOP_BORDER_Y): Likewise.
39214 (TERM_LEFT_BORDER_X): Likewise.
39215 (TERM_BORDER_WIDTH): Likewise.
39216 (TERM_MESSAGE_HEIGHT): Likewise.
39217 (TERM_BORDER_HEIGHT): Likewise.
39218 (TERM_NUM_ENTRIES): Likewise.
39219 (TERM_FIRST_ENTRY_Y): Likewise.
39220 (TERM_ENTRY_WIDTH): Likewise.
39221 (TERM_CURSOR_X): Likewise.
39222 (draw_border): Use macros instead of magic numbers.
39223 (print_entry): Likewise.
39224 (print_entries): Likewise.
39225 (run_menu): Likewise. Also, handle the key 'e'.
39226 (run_menu_entry): Ignore empty command lines.
39227 (print_message): Added a new argument EDIT. If EDIT is true,
39228 print a different message.
39229 (init_page): Likewise.
39230 (edit_menu_entry): New function. Not implemented yet.
39231
39232 2004-09-17 Marco Gerards <metgerards@student.han.nl>
39233
39234 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
39235 can be loaded from normal mode.
39236
39237 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
39238 `multiboot.mod'.
39239 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
39240 (multiboot_mod_CFLAGS): New variables.
39241 * loader/i386/pc/linux_normal.c: New file.
39242 * loader/i386/pc/multiboot_normal.c: Likewise.
39243
39244 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
39245 attribute `unused'.
39246
39247 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
39248 `fdiro' to read the mode information from instead of `diro'.
39249
39250 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
39251 looking up a symlink.
39252
39253 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
39254 macro.
39255 * normal/command.c (grub_command_execute): Don't parse the
39256 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
39257 flags of the command.
39258
39259 * normal/menu.c (grub_menu_run): Fix typo.
39260
39261 2004-09-14 Hollis Blanchard <hollis@penguinppc.org>
39262
39263 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
39264
39265 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
39266 `y + 1' instead of `y - 1'.
39267
39268 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
39269
39270 2004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
39271
39272 From Hollis Blanchard <hollis@penguinppc.org>:
39273 * kern/misc.c (memmove): New alias for grub_memmove.
39274 (memcmp): New alias for grub_memcmp.
39275 (memset): New alias for grub_memset.
39276 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
39277 Change "int handle" to "grub_ieee1275_phandle_t handle".
39278 * include/grub/powerpc/ieee1275/ieee1275.h
39279 (grub_ieee1275_get_property): Likewise.
39280
39281 2004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
39282
39283 Added normal mode command `chainloader' as module chain.mod, which
39284 depends on normal.mod and _chain.mod.
39285
39286 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
39287 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
39288 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
39289 Deleted prototype.
39290 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
39291 but arguments parsing moved to ...
39292 (grub_chainloader_cmd): ... here. New function.
39293 * include/grub/i386/pc/chainloader.h: New file.
39294 * loader/i386/pc/chainloader_normal.c: Likewise.
39295
39296 2004-09-11 Marco Gerards <metgerards@student.han.nl>
39297
39298 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
39299 (grub_mkimage_LDFLAGS): Likewise.
39300 (grub_emu_SOURCES): Likewise.
39301 (kernel_img_HEADERS): Added fshelp.h.
39302 * fs/ext2.c: Include <grub/fshelp.h>.
39303 (FILETYPE_REG): New macro.
39304 (FILETYPE_INO_REG): Likewise.
39305 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
39306 Changed all users.
39307 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
39308 all users.
39309 (grub_fshelp_node): New struct.
39310 (grub_ext2_data): Added member `diropen'. Changed member `inode'
39311 to a pointer.
39312 (grub_ext2_get_file_block): Removed function.
39313 (grub_ext2_read_block): New function.
39314 (grub_ext2_read_file): Replaced parameter `data' by `node'.
39315 This function was written.
39316 (grub_ext2_mount): Read the root inode. Create a diropen struct.
39317 (grub_ext2_find_file): Removed function.
39318 (grub_ext2_read_symlink): New function.
39319 (grub_ext2_iterate_dir): Likewise.
39320 (grub_ext2_open): Rewritten.
39321 (grub_ext2_dir): Rewritten.
39322 * include/grub/fshelp.h: New file.
39323 * fs/fshelp.c: Likewise.
39324
39325 2004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
39326
39327 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
39328 (print_message): Add a missing newline.
39329 (run_menu): Added timeout support.
39330 (run_menu_entry): New local function.
39331 (grub_menu_run): Added support for booting.
39332
39333 * kern/loader.c (grub_loader_is_loaded): New function.
39334
39335 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
39336 (grub_get_rtc): Exported.
39337
39338 * include/grub/i386/pc/time.h: Include grub/symbol.h.
39339 (grub_get_rtc): Exported.
39340
39341 * include/grub/normal.h (struct grub_command_list): Remove
39342 constant from the member `command'.
39343
39344 * include/grub/loader.h (grub_loader_is_loaded): Declared.
39345
39346 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
39347
39348 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
39349
39350 2004-08-28 Marco Gerards <metgerards@student.han.nl>
39351
39352 Add support for the JFS filesystem.
39353
39354 * fs/jfs.c: New file.
39355 * include/grub/fs.h (grub_jfs_init): New prototype.
39356 (grub_jfs_fini): New prototype.
39357 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
39358 (grub_emu_SOURCES): Likewise.
39359 (pkgdata_MODULES): Add jfs.mod.
39360 (jfs_mod_SOURCES): New variable.
39361 (jfs_mod_CFLAGS): Likewise.
39362 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
39363 (grubof_SOURCES): Likewise.
39364 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
39365
39366 * fs/fat.c (grub_fat_find_dir): Convert the filename little
39367 endian to the host endian.
39368 (grub_fat_utf16_to_utf8): Move function from there...
39369 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
39370 the endianness of the source string anymore.
39371 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
39372
39373 2004-08-24 Marco Gerards <metgerards@student.han.nl>
39374
39375 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
39376 (grub_boot_fini) [GRUB_UTIL]: Likewise.
39377 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
39378 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
39379
39380 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
39381 (grub_hfs_iterate_dir): Make the function static. Add prototypes
39382 for `node_found' and `it_dir'.
39383 (grub_hfs_dir): Add prototype for `dir_hook'.
39384
39385 * fs/minix.c (grub_minix_get_file_block): Add prototype for
39386 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
39387 and `indir32' to silence a gcc warning.
39388
39389 * include/grub/fs.h (grub_hfs_init): New prototype.
39390 (grub_hfs_fini): Likewise.
39391
39392
39393 2004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
39394
39395 Each disk device has its own id now. This is useful to make use
39396 of multiple disk devices.
39397
39398 * include/grub/disk.h (grub_disk_dev_id): New enum.
39399 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
39400 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
39401
39402 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
39403 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
39404
39405 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
39406 GRUB_DISK_DEVICE_OFDISK_ID as an id.
39407
39408 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
39409 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
39410
39411 * include/grub/disk.h (struct grub_disk_dev): Added a new member
39412 "id" which is used by the cache manager.
39413
39414 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
39415 of just "GRUB".
39416
39417 2004-08-18 Marco Gerards <metgerards@student.han.nl>
39418
39419 * fs/hfs.c: New file.
39420 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
39421 (grub_emu_SOURCES): Likewise.
39422 (pkgdata_MODULES): Add hfs.mod.
39423 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
39424 (grubof_SOURCES): Likewise.
39425 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
39426
39427 * include/grub/misc.h (grub_strncasecmp): Add prototype.
39428 * kern/misc.c (grub_strncasecmp): Add function.
39429
39430 2004-08-14 Marco Gerards <metgerards@student.han.nl>
39431
39432 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
39433 with parentheses.
39434
39435 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
39436 (grub_ext2_dir): In case the directory entry type is unknown, read
39437 it from the inode.
39438
39439 2004-08-02 Peter Bruin <pjbruin@dds.nl>
39440
39441 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
39442 grub_load_linux instead of grub_rescue_cmd_linux as second
39443 argument of grub_rescue_register_command.
39444
39445 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
39446
39447 2004-07-27 Marco Gerards <metgerards@student.han.nl>
39448
39449 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
39450 function.
39451 * commands/boot.c: Remove the check for `GRUB_UTIL'.
39452 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
39453 `loader/powerpc/ieee1275/linux.c',
39454 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
39455 * include/grub/powerpc/ieee1275/ieee1275.h
39456 (grub_ieee1275_release): New prototype.
39457 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
39458 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
39459 normal, boot, linux and linux_normal.
39460 * loader/powerpc/ieee1275/linux.c: New file.
39461 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
39462
39463 2004-07-12 Marco Gerards <metgerards@student.han.nl>
39464
39465 * normal/arg.c (grub_arg_parse): Correct error handling after
39466 reallocating the argumentlist (check if `argl' is not null instead
39467 of checking if `args' is not null).
39468 * kern/mm.c (grub_realloc): Return the same pointer when using the
39469 same region, instead of returning the header address.
39470
39471 2004-07-11 Marco Gerards <metgerards@student.han.nl>
39472
39473 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
39474 one block instead of two when looking for the initial partition.
39475 (grub_partition_probe): Initialize the local variable `p' with 0.
39476 Use base 10 for the grub_strtoul call.
39477 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
39478 need for one local variable.
39479 (grub_strtoul): Don't add the new value to `num', instead of that
39480 just assign it.
39481
39482 2004-07-11 Marco Gerards <metgerards@student.han.nl>
39483
39484 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
39485 (pxeboot_img_SOURCES): New variable.
39486 (pxeboot_img_ASFLAGS): Likewise.
39487 (pxeboot_img_LDFLAGS): Likewise.
39488 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
39489 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
39490 <lode_leroy@hotmail.com>.
39491
39492 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
39493
39494 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
39495 there was no input.
39496
39497 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
39498
39499 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
39500 the history buffer logic.
39501
39502 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
39503
39504 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
39505 (FILETYPE_INO_SYMLINK): New macros.
39506 (grub_ext2_find_file): Check if the node is a directory using the
39507 inode stat information instead of using the filetype in the
39508 dirent. Exclude the first character of an absolute symlink.
39509 (grub_ext2_dir): Mask out the filetype part of the mode member of
39510 the inode.
39511
39512 2004-05-24 Marco Gerards <metgerards@student.han.nl>
39513
39514 Add support for UFS version 1 and 2. Add support for the minix
39515 filesystem version 1 and 2, both the variants with 14 and 30 long
39516 filenames.
39517
39518 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
39519 fs/minix.c.
39520 (grub_emu_SOURCES): Likewise.
39521 (pkgdata_MODULES): Add ufs.mod and minix.mod.
39522 (ufs_mod_SOURCES): New variable.
39523 (ufs_mod_CFLAGS): Likewise.
39524 (minix_mod_SOURCES): Likewise.
39525 (minix_mod_CFLAGS): Likewise.
39526 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
39527 fs/minix.c.
39528 (grubof_SOURCES): Likewise.
39529 * fs/ufs.c: New file.
39530 * fs/minix.c: New file.
39531 * include/grub/fs.h (grub_ufs_init): New prototype.
39532 (grub_ufs_fini): Likewise.
39533 (grub_minix_init): Likewise.
39534 (grub_minix_fini): Likewise.
39535 * util/grub-emu.c (main): Initialize and deinitialize UFS and
39536 minix fs.
39537
39538 2004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
39539
39540 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
39541 commands/ls.c, commands/terminal.c, commands/boot.c,
39542 commands/cmp.c and commands/cat.c.
39543 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
39544
39545 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
39546 "env.h"
39547
39548 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
39549
39550 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
39551 and grub_, respectively. Because the conversion is trivial and
39552 mechanical, I omit the details here. Please refer to the CVS
39553 if you need more information.
39554
39555 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
39556
39557 * include/pupa: Renamed to ...
39558 * include/grub: ... this.
39559 * util/i386/pc/pupa-mkimage.c: Renamed to ...
39560 * util/i386/pc/grub-mkimage.c: ... this.
39561 * util/i386/pc/pupa-setup.c: Renamed to ...
39562 * util/i386/pc/grub-setup.c: ... this.
39563 * util/pupa-emu.c: Renamed to ...
39564 * util/grub-emu.c: ... this.
39565
39566 2004-03-29 Marco Gerards <metgerards@student.han.nl>
39567
39568 Add support for the newworld apple macintosh (PPC). This has been
39569 tested on the powerbook 2000 only. It only adds support for
39570 generic ieee1275 functions, console and disk support. This should
39571 be easy to port to other architectures with support for Open
39572 Firmware.
39573
39574 * configure.ac: Accept the powerpc as host_cpu. In the case of
39575 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
39576 specific tests are only executed while building for the i386.
39577 Inverse test for crosscompile.
39578 * genmk.rb (Utility): Allow assembler files.
39579 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
39580 * conf/powerpc-ieee1275.rmk: New file.
39581 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
39582 * disk/powerpc/ieee1275/partition.c: Likewise.
39583 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
39584 * include/pupa/powerpc/ieee1275/console.h: Likewise.
39585 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
39586 * include/pupa/powerpc/ieee1275/time.h: Likewise.
39587 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
39588 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
39589 * include/pupa/powerpc/ieee1275/loader.h
39590 * include/pupa/powerpc/setjmp.h: Likewise.
39591 * include/pupa/powerpc/types.h: Likewise.
39592 * kern/powerpc/ieee1275/init.c: Likewise.
39593 * kern/powerpc/ieee1275/openfw.c: Likewise.
39594 * term/powerpc/ieee1275/ofconsole.c: Likewise.
39595
39596 These files were written by Johan Rydberg
39597 (jrydberg@night.trouble.net) and I only modified them slightly.
39598
39599 * boot/powerpc/ieee1275/cmain.c: New file.
39600 * boot/powerpc/ieee1275/crt0.S: Likewise.
39601 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
39602 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
39603
39604 2004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
39605
39606 * Makefile.in: Update copyright.
39607 * genmodsrc.sh: Likewise.
39608 * gensymlist.sh: Likewise.
39609 * term/i386/pc/vga.c: Indent correctly.
39610
39611 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
39612 bugreporting address.
39613 * util/i386/pc/pupa-setup.c (usage): Likewise,
39614 (main): Call pupa_ext2_init and pupa_ext2_fini.
39615
39616 * fs/fat.c (log2): Renamed to ...
39617 (fat_log2): ... this.
39618 All callers changed.
39619 * kern/misc.c (memcpy): Alias to pupa_memmove.
39620 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
39621 lvalue cast.
39622 * util/console.c (pupa_ncurses_fini): Return 0.
39623
39624 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
39625 Move fail label here.
39626 [__GNU__]: Don't warn when using stat.
39627 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
39628 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
39629 long int. Use strtol instead of strtoul.
39630
39631 2004-03-14 Marco Gerards <metgerards@student.han.nl>
39632
39633 * commands/boot.c: New file.
39634 * commands/cat.c: Likewise.
39635 * commands/cmp.c: Likewise.
39636 * commands/ls.c: Likewise.
39637 * commands/terminal.c: Likewise.
39638 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
39639 (pupa_register_command): Changed interface to match the new
39640 argument parser.
39641 (pupa_command_execute): Changed (almost rewritten) so it uses
39642 pupa_split_command. Added support for setting variables using the
39643 syntax `foo=bar'.
39644 (rescue_command): Changed to work with the new argument parser.
39645 (terminal_command): Moved from here to commands/terminal.c.
39646 (set_command): New function.
39647 (unset_command): New function.
39648 (insmod_command): New function.
39649 (rmmod_command): New function.
39650 (lsmod_command): New function.
39651 (pupa_command_init): Don't initialize the command terminal
39652 anymore. Initialize the commands set, unset, insmod, rmmod and
39653 lsmod.
39654 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
39655 (kernel_img_HEADERS): Add arg.h and env.h.
39656 (pupa_mkimage_LDFLAGS): Add kern/env.c.
39657 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
39658 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
39659 normal/arg.c.
39660 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
39661 terminal.mod.
39662 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
39663 (boot_mod_SOURCES): New variable.
39664 (terminal_mod_SOURCES): Likewise.
39665 (ls_mod_SOURCES): Likewise.
39666 (cmp_mod_SOURCES): Likewise.
39667 (cat_mod_SOURCES): Likewise.
39668
39669 * normal/arg.c: New file.
39670 * kern/env.c: Likewise.
39671 * include/pupa/arg.h: Likewise.
39672 * include/pupa/env.h: Likewise.
39673 * font/manager.c (font_command): Changed to match argument parsing
39674 interface changes.
39675 (PUPA_MOD_INIT): Likewise.
39676 * hello/hello.c (pupa_cmd_hello): Likewise.
39677 (PUPA_MOD_INIT): Likewise.
39678 * include/pupa/disk.h: Include <pupa/device.h>.
39679 (pupa_print_partinfo): New prototype.
39680 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
39681 (pupa_dl_get_prefix): Likewise.
39682 * include/pupa/misc.h: Include <pupa/err.h>.
39683 (pupa_isgraph): New prototype.
39684 (pupa_isdigit): Likewise.
39685 (pupa_split_cmdline): Likewise.
39686 * include/pupa/normal.h: Include <pupa/arg.h>.
39687 (pupa_command): Changed the prototype of the member `func' to
39688 match the argument parsing interface. Added member `options'.
39689 (pupa_register_command): Updated to match function.
39690 (pupa_arg_parse): New prototype.
39691 (pupa_hello_init) [PUPA_UTIL]: New prototype.
39692 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
39693 (pupa_ls_init) [PUPA_UTIL]: Likewise.
39694 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
39695 (pupa_cat_init) [PUPA_UTIL]: Likewise.
39696 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
39697 (pupa_boot_init) [PUPA_UTIL]: Likewise.
39698 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
39699 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
39700 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
39701 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
39702 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
39703 * kern/disk.c: Include <pupa/file.h>.
39704 (pupa_print_partinfo): New function.
39705 * kern/dl.c: Include <pupa/env.h>.
39706 (pupa_dl_dir): Variable removed.
39707 (pupa_dl_load): Use the environment variable `prefix' instead of
39708 the variable pupa_dl_dir.
39709 (pupa_dl_set_prefix): Function removed.
39710 (pupa_dl_get_prefix): Likewise.
39711 * kern/i386/pc/init.c: Include <pupa/env.h>.
39712 (pupa_machine_init): Use the environment variable `prefix' instead of
39713 using pupa_dl_set_prefix to set the prefix.
39714 * kern/main.c: Include <pupa/env.h>.
39715 (pupa_set_root_dev): Use the environment variable `prefix' instead of
39716 using pupa_dl_get_prefix to get the prefix.
39717 * kern/misc.c: Include <pupa/env.h>.
39718 (pupa_isdigit): New function.
39719 (pupa_isgraph): Likewise.
39720 (pupa_ftoa): Likewise.
39721 (pupa_vsprintf): Added support for printing values of the type
39722 `double'. Make it possible to format variable output when using
39723 formatting like `%1.2%f'.
39724 (pupa_split_cmdline): New function.
39725 * kern/rescue.c: Include <pupa/env.h>.
39726 (next_word): Removed function.
39727 (pupa_rescue_cmd_prefix): Likewise.
39728 (pupa_rescue_cmd_set): New function.
39729 (pupa_rescue_cmd_unset): New function.
39730 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
39731 split the command line instead of splitting it here. Added
39732 support for setting variables using the syntax `foo=bar'. Don't
39733 initialize the prefix command anymore. Initialized the set and
39734 unset commands.
39735 * normal/cmdline.c: Include <pupa/env.h>.
39736 (pupa_tab_complete): Added prototypes for print_simple_completion,
39737 print_partition_completion, add_completion, iterate_commands,
39738 iterate_dev, iterate_part and iterate_dir. Moved code to print
39739 partition information from here to kern/disk.c.
39740 (pupa_cmdline_run): Don't check if the function exists anymore.
39741 * normal/main.c: Include <pupa/env.h>.
39742 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
39743 instead of using pupa_dl_get_prefix to get the prefix.
39744 * term/i386/pc/vga.c: Include <pupa/arg.h>.
39745 (check_vga_mem): Cast pointers to `void *' to silence a gcc
39746 warning.
39747 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
39748 (pupa_vga_setcolor): Declare unused variables with `__attribute__
39749 ((unused))' to silence a gcc warning.
39750 (pupa_vga_setcolor): Likewise.
39751 (debug_command): Changed to match argument parsing
39752 interface changes.
39753 * util/pupa-emu.c: Include <pupa/env.h>.
39754 (options): Added 0's for unused fields to silence a gcc warning.
39755 (argp): Likewise.
39756 (main): Use the environment variable `prefix' instead of using
39757 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
39758 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
39759 and terminal.
39760
39761 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
39762 * util/misc.c: Include <malloc.h>.
39763 (pupa_malloc): Rewritten so errors are correctly reported.
39764 (pupa_realloc): Likewise.
39765 (pupa_memalign): Likewise.
39766 (pupa_mm_init_region): Declare unused variables with
39767 `__attribute__ ((unused))' to silence a gcc warning.
39768 * normal/i386/setjmp.S: Remove tab at the end of the file to
39769 silence a gcc warning.
39770 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
39771 variables with `__attribute__ ((unused))' to silence a gcc
39772 warning.
39773 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
39774 local variable i unsigned to silence a gcc warning.
39775
39776 * kern/term.c: Include <pupa/misc.h>.
39777 (pupa_more_lines): New variable.
39778 (pupa_more): Likewise.
39779 (pupa_putcode): When the pager is active pause at the end of every
39780 screen.
39781 (pupa_set_more): New function.
39782 * include/pupa/term.h (pupa_set_more): New prototype.
39783
39784
39785 2004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
39786
39787 Now this project is GRUB 2 rather than PUPA. The location of
39788 the CVS repository was moved to GRUB's.
39789
39790 * configure.ac: Use bug-grub as the reporting address.
39791 Use GRUB instead of PUPA.
39792 Change the version number to 1.90.
39793
39794 2004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
39795
39796 * genkernsyms.sh: Updated copyright information.
39797 * genmk.rb: Likewise.
39798 * genmodsrc.sh: Likewise.
39799 * gensymlist.sh: Likewise.
39800 * boot/i386/pc/boot.S: Likewise.
39801 * boot/i386/pc/diskboot.S: Likewise.
39802 * disk/i386/pc/biosdisk.c: Likewise.
39803 * disk/i386/pc/partition.c: Likewise.
39804 * font/manager.c: Likewise.
39805 * fs/ext2.c: Likewise.
39806 * fs/fat.c: Likewise.
39807 * include/pupa/boot.h: Likewise.
39808 * include/pupa/device.h: Likewise.
39809 * include/pupa/disk.h: Likewise.
39810 * include/pupa/dl.h: Likewise.
39811 * include/pupa/elf.h: Likewise.
39812 * include/pupa/err.h: Likewise.
39813 * include/pupa/file.h: Likewise.
39814 * include/pupa/font.h: Likewise.
39815 * include/pupa/fs.h: Likewise.
39816 * include/pupa/kernel.h: Likewise.
39817 * include/pupa/loader.h: Likewise.
39818 * include/pupa/misc.h: Likewise.
39819 * include/pupa/mm.h: Likewise.
39820 * include/pupa/net.h: Likewise.
39821 * include/pupa/normal.h: Likewise.
39822 * include/pupa/rescue.h: Likewise.
39823 * include/pupa/setjmp.h: Likewise.
39824 * include/pupa/symbol.h: Likewise.
39825 * include/pupa/term.h: Likewise.
39826 * include/pupa/types.h: Likewise.
39827 * include/pupa/i386/setjmp.h: Likewise.
39828 * include/pupa/i386/types.h: Likewise.
39829 * include/pupa/i386/pc/biosdisk.h: Likewise.
39830 * include/pupa/i386/pc/boot.h: Likewise.
39831 * include/pupa/i386/pc/console.h: Likewise.
39832 * include/pupa/i386/pc/init.h: Likewise.
39833 * include/pupa/i386/pc/kernel.h: Likewise.
39834 * include/pupa/i386/pc/linux.h: Likewise.
39835 * include/pupa/i386/pc/loader.h: Likewise.
39836 * include/pupa/i386/pc/memory.h: Likewise.
39837 * include/pupa/i386/pc/multiboot.h: Likewise.
39838 * include/pupa/i386/pc/partition.h: Likewise.
39839 * include/pupa/i386/pc/time.h: Likewise.
39840 * include/pupa/i386/pc/vga.h: Likewise.
39841 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
39842 * include/pupa/util/getroot.h: Likewise.
39843 * include/pupa/util/misc.h: Likewise.
39844 * include/pupa/util/resolve.h: Likewise.
39845 * kern/device.c: Likewise.
39846 * kern/disk.c: Likewise.
39847 * kern/dl.c: Likewise.
39848 * kern/err.c: Likewise.
39849 * kern/file.c: Likewise.
39850 * kern/fs.c: Likewise.
39851 * kern/loader.c: Likewise.
39852 * kern/main.c: Likewise.
39853 * kern/misc.c: Likewise.
39854 * kern/mm.c: Likewise.
39855 * kern/rescue.c: Likewise.
39856 * kern/term.c: Likewise.
39857 * kern/i386/dl.c: Likewise.
39858 * kern/i386/pc/init.c: Likewise.
39859 * kern/i386/pc/lzo1x.S: Likewise.
39860 * kern/i386/pc/startup.S: Likewise.
39861 * loader/i386/pc/chainloader.c: Likewise.
39862 * loader/i386/pc/linux.c: Likewise.
39863 * loader/i386/pc/multiboot.c: Likewise.
39864 * normal/cmdline.c: Likewise.
39865 * normal/command.c: Likewise.
39866 * normal/main.c: Likewise.
39867 * normal/menu.c: Likewise.
39868 * normal/i386/setjmp.S: Likewise.
39869 * term/i386/pc/console.c: Likewise.
39870 * term/i386/pc/vga.c: Likewise.
39871 * util/console.c: Likewise.
39872 * util/genmoddep.c: Likewise.
39873 * util/misc.c: Likewise.
39874 * util/pupa-emu.c: Likewise.
39875 * util/resolve.c: Likewise.
39876 * util/unifont2pff.rb: Likewise.
39877 * util/i386/pc/biosdisk.c: Likewise.
39878 * util/i386/pc/getroot.c: Likewise.
39879 * util/i386/pc/pupa-mkimage.c: Likewise.
39880 * util/i386/pc/pupa-setup.c: Likewise.
39881
39882 2004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
39883
39884 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
39885 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
39886 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
39887 reading and reset it after reading.
39888 (pupa_ext2_close): Return PUPA_ERR_NONE.
39889
39890 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
39891 Correct value.
39892 (struct linux_kernel_header): Add kernel_version and
39893 initrd_addr_max.
39894 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
39895 pupa_file_read succeeds.
39896 (pupa_rescue_cmd_initrd): Implement.
39897
39898 2003-12-03 Marco Gerards <metgerards@student.han.nl>
39899
39900 * fs/ext2.c (pupa_ext2_label): New function.
39901 (pupa_ext2_fs): Added label.
39902 * fs/fat.c (pupa_fat_label): New function.
39903 (pupa_fat_fs): Added label.
39904 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
39905
39906 * kern/misc.c (pupa_strndup): New function.
39907 * include/pupa/misc.h (pupa_strndup): New prototype.
39908
39909 * include/pupa/normal.h: Include <pupa/err.h>.
39910 (pupa_set_history): New prototype.
39911 (pupa_iterate_commands): New prototype.
39912 * normal/cmdline.c: Include <pupa/machine/partition.h>,
39913 <pupa/disk.h>, <pupa/file.h>.
39914 (hist_size): New variable.
39915 (hist_lines): Likewise.
39916 (hist_end): Likewise.
39917 (hist_used): Likewise.
39918 (pupa_set_history): New function.
39919 (pupa_history_get): Likewise.
39920 (pupa_history_add): Likewise.
39921 (pupa_history_replace): Likewise.
39922 (pupa_tab_complete): Likewise.
39923 (pupa_cmdline_run): Added tab completion and history buffer. Tab
39924 completion shows partitionnames while completing partitions, this
39925 feature was suggested by Jeff Bailey.
39926 * normal/command.c (pupa_iterate_commands): New function.
39927 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
39928 (pupa_normal_init): Initialize history buffer.
39929 (PUPA_MOD_INIT): Likewise.
39930 (pupa_normal_fini): Free the history buffer.
39931 (PUPA_MOD_FINI): Likewise.
39932
39933 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
39934 key.
39935
39936 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
39937 * configure.ac [i386]: Check for regparam bug.
39938 (NESTED_FUNC_ATTR) [! i386]: Defined.
39939
39940 2003-11-17 Marco Gerards <metgerards@student.han.nl>
39941
39942 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
39943 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
39944 (pupa_emu_SOURCES): New variable.
39945 (pupa_emu_LDFLAGS): Likewise.
39946 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
39947 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
39948 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
39949 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
39950 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
39951 (pupa_jmp_buf): New typedef.
39952 (pupa_setjmp) [PUPA_UTIL]: New macro.
39953 (pupa_longjmp) [PUPA_UTIL]: Likewise.
39954 * include/pupa/term.h (struct pupa_term): New member `refresh'.
39955 (pupa_refresh): New prototype.
39956 * include/pupa/util/getroot.h: New file.
39957 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
39958 it.
39959 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
39960 (pupa_rescue_cmd_cat): Likewise.
39961 (pupa_rescue_cmd_ls): Likewise.
39962 (pupa_rescue_cmd_testload): Likewise.
39963 (pupa_rescue_cmd_lsmod): Likewise.
39964 * normal/cmdline.c (pupa_cmdline_get): Likewise.
39965 * normal/menu.c (run_menu): Likewise.
39966 * kern/term.c (pupa_cls): Likewise.
39967 (pupa_refresh): New function.
39968 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
39969 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
39970 * util/console.c: New file.
39971
39972 * util/i386/pc/getroot.c: New file.
39973 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
39974 (pupa_putchar): New function.
39975 (pupa_refresh): Likewise.
39976 (xgetcwd): Function moved to ...
39977 (strip_extra_slashes): Likewise.
39978 (get_prefix): Likewise.
39979 * util/i386/pc/getroot.c: ... here.
39980 (find_root_device): Function moved and renamed to...
39981 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
39982 Changed all callers.
39983 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
39984 and renamed to...
39985 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
39986 Changed all callers.
39987 * util/misc.c (pupa_memalign): New function.
39988 (pupa_mm_init_region): Likewise.
39989 (pupa_register_exported_symbols): Likewise.
39990 (pupa_putchar): Function removed.
39991 * util/pupa-emu.c: New file.
39992
39993 2003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
39994
39995 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
39996 (_multiboot_mod_SOURCES): New variable.
39997 (_multiboot_mod_CFLAGS): Likewise.
39998 * loader/i386/pc/multiboot.c: New file.
39999 * include/pupa/i386/pc/multiboot.h: Likewise.
40000 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
40001 (pupa_multiboot_real_boot): New function.
40002 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
40003 (pupa_multiboot_real_boot): New prototype.
40004 (pupa_rescue_cmd_multiboot): Likewise
40005 (pupa_rescue_cmd_module): Likewise.
40006
40007 * kern/loader.c (pupa_loader_set): Continue when
40008 pupa_loader_unload_func() fails.
40009 (pupa_loader_unset): New function.
40010 * include/pupa/loader.h (pupa_loader_unset): New prototype.
40011
40012 * kern/misc.c (pupa_stpcpy): New function.
40013 * include/pupa/misc.h (pupa_stpcpy): New prototype.
40014
40015 2003-11-12 Marco Gerards <metgerards@student.han.nl>
40016
40017 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
40018 for available extensions.
40019
40020 * include/pupa/i386/pc/time.h: New file.
40021 * kern/disk.c: Include <pupa/machine/time.h>.
40022 (PUPA_CACHE_TIMEOUT): New macro.
40023 (pupa_last_time): New variable.
40024 (pupa_disk_open): Flush the cache when there was a timeout.
40025 (pupa_disk_close): Reset the timer.
40026 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
40027 pupa_currticks.
40028 * util/misc.c: Include <sys/times.h>
40029 (pupa_get_rtc): New function.
40030
40031 2003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
40032
40033 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
40034 as blocks.
40035 (pupa_ext2_get_file_block): Use blocks member.
40036
40037 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
40038 first block. Return -1 instead of pupa_errno on error.
40039
40040 2003-10-27 Marco Gerards <metgerards@student.han.nl>
40041
40042 * README: In the pupa-mkimage example use _chain instead of chain
40043 and ext2 instead of fat.
40044 * TODO: Replace ext2fs with jfs as an example. Add an item for
40045 adding journal playback for ext2fs.
40046 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
40047 (pkgdata_MODULES): Added ext2.mod.
40048 (ext2_mod_SOURCES): New variable.
40049 (ext2_mod_CFLAGS): Likewise.
40050 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
40051 * include/pupa/misc.h (pupa_strncpy): New prototype.
40052 (pupa_strcat): Likewise.
40053 (pupa_strncmp): Likewise.
40054 * kern/misc.c (pupa_strcat): Enable function.
40055 (pupa_strncpy): New function.
40056 (pupa_strncmp): Likewise.
40057 * fs/ext2.c: New file.
40058
40059 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
40060 when the read failed before retrying.
40061 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
40062 (_FILE_OFFSET_BITS): Likewise.
40063 * configure.ac: Added AC_SYS_LARGEFILE.
40064
40065 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
40066
40067 * genmk.rb (PModule#rule): Make sure to get only symbol names
40068 from the output of nm.
40069 Reported by Robert Millan <rmh.grub@aybabtu.com>.
40070
40071 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
40072
40073 I forgot to check in these changes for a long time. This adds
40074 incomplete support for VGA console, and this is still very
40075 buggy. Also, a lot of consideration is required for I18N,
40076 UNICODE, and VGA font issues. Therefore, assume that this is
40077 such that "better than nothing".
40078
40079 * font/manager.c: New file.
40080 * include/pupa/font.h: Likewise.
40081 * include/pupa/i386/pc/vga.h: Likewise.
40082 * term/i386/pc/vga.c: Likewise.
40083 * util/unifont2pff.rb: Likewise.
40084
40085 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
40086 (pkgdata_MODULES): Added vga.mod and font.mod.
40087 (vga_mod_SOURCES): New variables.
40088 (vga_mod_CFLAGS): Likewise.
40089 (font_mod_SOURCES): Likewise.
40090 (font_mod_CFLAGS): Likewise.
40091
40092 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
40093
40094 * include/pupa/term.h: Include pupa/err.h.
40095 (struct pupa_term): Added init and fini.
40096 Changed the argument of putchar to pupa_uint32_t.
40097
40098 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
40099 (pupa_console_real_putchar): New prototype.
40100 (pupa_console_putchar): Removed.
40101 (pupa_console_checkkey): Exported.
40102 (pupa_console_getkey): Likewise.
40103
40104 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
40105 characters.
40106
40107 * kern/term.c (pupa_term_set_current): Rewritten.
40108 (pupa_putchar): Likewise.
40109 (pupa_putcode): New function.
40110
40111 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
40112 (pupa_console_real_putchar): ... this.
40113 (pupa_vga_set_mode): New function.
40114 (pupa_vga_get_font): Likewise.
40115
40116 * normal/command.c: Include pupa/term.h.
40117 (terminal_command): New function.
40118 (pupa_command_init): Register the command "terminal".
40119
40120 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
40121 (DISP_UP): Likewise.
40122 (DISP_RIGHT): Likewise.
40123 (DISP_DOWN): Likewise.
40124 (DISP_HLINE): Likewise.
40125 (DISP_VLINE): Likewise.
40126 (DISP_UL): Likewise.
40127 (DISP_UR): Likewise.
40128 (DISP_LL): Likewise.
40129 (DISP_LR): Likewise.
40130
40131 * term/i386/pc/console.c (pupa_console_putchar): New function.
40132
40133 2003-02-08 NIIBE Yutaka <gniibe@m17n.org>
40134
40135 * util/resolve.c (pupa_util_resolve_dependencies): BUG
40136 FIX. Reverse the path_list.
40137
40138 * include/pupa/normal.h: Export pupa_register_command and
40139 pupa_unregister_command.
40140
40141 * hello/hello.c (pupa_cmd_hello): New module.
40142 * conf/i386-pc.rmk: Added hello.mod.
40143
40144 2003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
40145
40146 * kern/i386/pc/lzo1x.S: New file.
40147
40148 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
40149 (compress_kernel): New variable.
40150 (generate_image): Heavily modified to support compressing a
40151 large part of the core image.
40152
40153 * util/misc.c (pupa_util_read_image): Fix a file descriptor
40154 leak.
40155 (pupa_util_load_image): New function.
40156
40157 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
40158 (pupa_compressed_size): New variable.
40159 (codestart): Enable Gate A20 here.
40160 Decompress the compressed part of the core image.
40161 Rearrange the code to put functions and variables which are
40162 required for initialization in the non-compressed part.
40163 Include lzo1x.S.
40164
40165 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
40166 here.
40167
40168 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
40169
40170 * include/pupa/i386/pc/kernel.h
40171 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
40172 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
40173 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
40174 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
40175 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
40176
40177 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
40178
40179 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
40180 (Utility#rule): Likewise.
40181
40182 * configure.ac: Check if LZO is available.
40183
40184 2003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
40185
40186 * include/pupa/normal.h: New file.
40187 * include/pupa/setjmp.h: Likewise.
40188 * include/pupa/i386/setjmp.h: Likewise.
40189 * normal/cmdline.c: Likewise.
40190 * normal/command.c: Likewise.
40191 * normal/main.c: Likewise.
40192 * normal/menu.c: Likewise.
40193 * normal/i386/setjmp.S: Likewise.
40194
40195 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
40196 (pupa_rescue_cmd_initrd): Likewise.
40197
40198 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
40199 Likewise.
40200
40201 * kern/i386/pc/startup.S (translation_table): New variable.
40202 (translate_keycode): New function.
40203 (pupa_console_getkey): Call translate_keycode.
40204
40205 * kern/rescue.c (attempt_normal_mode): New function.
40206 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
40207 it failed, print a message.
40208
40209 * kern/mm.c (pupa_real_malloc): Print more information when a
40210 free magic is broken.
40211 (pupa_free): If the first free header is not free actually, set
40212 it to P.
40213
40214 * kern/main.c (pupa_load_normal_mode): Just load the module
40215 "normal".
40216 (pupa_main): Don't print the message
40217 "Entering into rescue mode..." here.
40218
40219 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
40220 Declared.
40221 (pupa_rescue_cmd_initrd): Likewise.
40222 (pupa_rescue_cmd_initrd): Likewise.
40223
40224 * include/pupa/symbol.h (FUNCTION): Specify the type.
40225 (VARIABLE): Likewise.
40226
40227 * include/pupa/err.h (pupa_err_t): Added
40228 PUPA_ERR_UNKNOWN_COMMAND.
40229
40230 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
40231 (pupa_dl_get_prefix): Likewise.
40232
40233 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
40234 Added _chain.mod and _linux.mod instead of chain.mod and
40235 linux.mod.
40236 (chain_mod_SOURCES): Renamed to ...
40237 (_chain_mod_SOURCES): ... this.
40238 (chain_mod_CFLAGS): Renamed to ...
40239 (_chain_mod_CFLAGS): ... this.
40240 (linux_mod_SOURCES): Renamed to ...
40241 (_linux_mod_SOURCES): ... this.
40242 (linux_mod_CFLAGS): Renamed to ...
40243 (_linux_mod_CFLAGS): ... this.
40244 (normal_mod_SOURCES): New variable.
40245 (normal_mod_CFLAGS): Likewise.
40246 (normal_mod_ASFLAGS): Likewise.
40247
40248 2003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
40249
40250 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
40251 possible.
40252
40253 * kern/dl.c (pupa_dl_ref): Refer depending modules
40254 recursively.
40255 (pupa_dl_unref): Unrefer depending modules recursively.
40256 Don't call pupa_dl_unload implicitly, because PUPA can crash if
40257 a module is unloaded before one depending on that module is
40258 unloaded.
40259 (pupa_dl_unload): Unload depending modules explicitly,
40260 if possible.
40261
40262 2003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
40263
40264 * include/pupa/i386/pc/linux.h: New file.
40265 * loader/i386/pc/linux.c: Likewise.
40266
40267 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
40268 Removed.
40269 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
40270 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
40271 of PUPA_CHAINLOADER_BOOT_SECTOR.
40272
40273 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
40274 (pupa_linux_prot_size): New variable.
40275 (pupa_linux_tmp_addr): Likewise.
40276 (pupa_linux_real_addr): Likewise.
40277 (pupa_linux_boot_zimage): New function.
40278 (pupa_linux_boot_bzimage): Likewise.
40279
40280 * kern/i386/pc/init.c (struct mem_region): New structure.
40281 (MAX_REGIONS): New macro.
40282 (mem_regions): New variable.
40283 (num_regions): Likewise.
40284 (pupa_os_area_addr): Likewise.
40285 (pupa_os_area_size): Likewise.
40286 (pupa_lower_mem): Likewise.
40287 (pupa_upper_mem): Likewise.
40288 (add_mem_region): New function.
40289 (compact_mem_regions): Likewise.
40290 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
40291 the size of the conventional memory and that of so-called upper
40292 memory (before the first memory hole).
40293 Instead of adding each found region to free memory, use
40294 add_mem_region and add them after removing overlaps.
40295 Also, add only 1/4 of the upper memory to free memory. The rest
40296 is used for loading OS images. Maybe this is ad hoc, but this
40297 makes it much easier to relocate OS images when booting.
40298
40299 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
40300 (pupa_enter_rescue_mode): Don't register initrd and module.
40301
40302 * kern/mm.c: Include pupa/dl.h.
40303
40304 * kern/main.c: Include pupa/file.h and pupa/device.h.
40305
40306 * kern/loader.c (pupa_loader_load_module_func): Removed.
40307 (pupa_loader_load_module): Likewise.
40308
40309 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
40310 ``.o''.
40311
40312 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
40313 (pupa_linux_tmp_addr): Likewise.
40314 (pupa_linux_real_addr): Likewise.
40315 (pupa_linux_boot_zimage): Likewise.
40316 (pupa_linux_boot_bzimage): Likewise.
40317
40318 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
40319 (pupa_upper_mem): Likewise.
40320 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
40321 module is too dangerous.
40322
40323 * include/pupa/loader.h (pupa_os_area_addr): Declared.
40324 (pupa_os_area_size): Likewise.
40325 (pupa_loader_set): Remove the first argument. Loader doesn't
40326 manage modules or initrd any longer.
40327 (pupa_loader_load_module): Removed.
40328
40329 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
40330 (linux_mod_SOURCES): New variable.
40331 (linux_mod_CFLAGS): Likewise.
40332
40333 2003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
40334
40335 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
40336 the length of a blocklist correctly.
40337
40338 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
40339 Use ioctl only if the OS file is a block device.
40340 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
40341 not very useful for normal files.
40342
40343 * kern/main.c (pupa_set_root_dev): New function.
40344 (pupa_load_normal_mode): Likewise.
40345 (pupa_main): Call those above.
40346
40347 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
40348 pupa_uint16_t.
40349
40350 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
40351
40352 2003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
40353
40354 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
40355 (setup): Configure the installed partition information and the
40356 dl prefix.
40357
40358 * loader/i386/pc/chainloader.c (my_mod): New variable.
40359 (pupa_chainloader_unload): New function.
40360 (pupa_rescue_cmd_chainloader): Refer itself.
40361 (PUPA_MOD_INIT): Save its own module in MY_MOD.
40362
40363 * kern/i386/pc/startup.S (install_partition): Removed.
40364 (version_string): Likewise.
40365 (config_file): Likewise.
40366 (pupa_install_dos_part): New variable.
40367 (pupa_install_bsd_part): Likewise.
40368 (pupa_prefix): Likewise.
40369 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
40370
40371 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
40372 and pupa/misc.h.
40373 (make_install_device): New function.
40374 (pupa_machine_init): Set the dl prefix.
40375
40376 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
40377 (buf): Renamed to ...
40378 (linebuf): ... this.
40379 (pupa_rescue_cmd_prefix): New function.
40380 (pupa_rescue_cmd_insmod): Likewise.
40381 (pupa_rescue_cmd_rmmod): Likewise.
40382 (pupa_rescue_cmd_lsmod): Likewise.
40383 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
40384 rmmod and lsmod.
40385
40386 * kern/mm.c (pupa_memalign): If failed even after invalidating
40387 disk caches, unload unneeded modules and retry.
40388
40389 * kern/misc.c (pupa_memmove): New function.
40390 (pupa_memcpy): Removed.
40391 (pupa_strcpy): New function.
40392 (pupa_itoa): Made static.
40393
40394 * kern/dl.c (pupa_dl_iterate): New function.
40395 (pupa_dl_ref): Likewise.
40396 (pupa_dl_unref): Likewise.
40397 (pupa_dl_unload): Return if succeeded or not.
40398 (pupa_dl_unload_unneeded): New function.
40399 (pupa_dl_unload_all): Likewise.
40400 (pupa_dl_init): Renamed to ...
40401 (pupa_dl_set_prefix): ... this.
40402 (pupa_dl_get_prefix): New function.
40403
40404 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
40405 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
40406 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
40407 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
40408 (pupa_install_dos_part): Declared.
40409 (pupa_install_bsd_part): Likewise.
40410 (pupa_prefix): Likewise.
40411 (pupa_boot_drive): Likewise.
40412
40413 * include/pupa/types.h: Fix a typo.
40414
40415 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
40416 pupa_memmove.
40417 (pupa_memmove): Declared.
40418 (pupa_strcpy): Likewise.
40419
40420 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
40421 pupa_mod_init takes one argument, its own module.
40422 (pupa_dl_unload_unneeded): Declared.
40423 (pupa_dl_unload_all): Likewise.
40424 (pupa_dl_ref): Likewise.
40425 (pupa_dl_unref): Likewise.
40426 (pupa_dl_iterate): Likewise.
40427 (pupa_dl_init): Renamed to ...
40428 (pupa_dl_set_prefix): ... this.
40429 (pupa_dl_get_prefix): Declared.
40430
40431 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
40432 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
40433 unloaded.
40434 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
40435 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
40436
40437 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
40438 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
40439
40440 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
40441
40442 * util/i386/pc/pupa-setup.c (setup): Define the internal
40443 function find_first_partition_start at the top level, because GCC
40444 3.0.x cannot compile internal functions in deeper scopes
40445 correctly.
40446 (find_root_device): Use lstat instead of stat.
40447 Don't follow symbolic links.
40448 Fix the path-constructing code.
40449
40450 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
40451 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
40452 by a BLKGETSIZE ioctl first, because block devices don't fill
40453 the member st_mode of the structure stat on Linux.
40454 [__linux__] (linux_find_partition): Use a temporary buffer
40455 REAL_DEV for the working space. Copy it to DEV before returning.
40456 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
40457 buffer cache consistent.
40458 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
40459 strncmp. The previous value was merely wrong.
40460 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
40461
40462 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
40463 FAT size is 12. The previous value was merely wrong.
40464
40465 * kern/main.c (pupa_main): Don't split the starting message from
40466 newlines.
40467
40468 * kern/term.c (pupa_putchar): Put CR after LF instead of before
40469 LF, because BIOS goes crazy about character attributes in this
40470 case.
40471
40472 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
40473
40474 * include/i386/pc/util/biosdisk.h: New file.
40475 * util/i386/pc/biosdisk.c: Likewise.
40476 * util/i386/pc/pupa-setup.c: Likewise.
40477
40478 * Makefile.in (INCLUDE_DISTFILES): Added
40479 include/pupa/i386/pc/util/biosdisk.h.
40480 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
40481 directory util/i386/pc.
40482 (install-local): Added a rule for sbin_UTILITIES.
40483 (uninstall): Likewise.
40484
40485 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
40486
40487 * util/misc.c (xrealloc): New function.
40488 (pupa_malloc): Likewise.
40489 (pupa_free): Likewise.
40490 (pupa_realloc): Likewise.
40491 (pupa_stop): Likewise.
40492 (pupa_putchar): Likewise.
40493
40494 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
40495
40496 * include/pupa/util/misc.h (xrealloc): Declared.
40497
40498 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
40499 macro.
40500 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
40501 (PUPA_BOOT_MACHINE_BPB_END): ... this.
40502
40503 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
40504 [PUPA_UTIL] (pupa_fat_fini): Likewise.
40505
40506 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
40507 way should be implemented.
40508 [PUPA_UTIL] (pupa_fat_fini): Likewise.
40509
40510 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
40511 the size of NAME for safety.
40512 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
40513 0x88.
40514
40515 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
40516 (pupa_setup_SOURCES): Likewise.
40517
40518 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
40519
40520 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
40521
40522 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
40523 bunch of pushl's from pusha, because this destroys the return
40524 value.
40525
40526 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
40527
40528 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
40529 This means that any missing prototypes could be fatal. Also, you
40530 must take care when writing assembly code. See the comments at
40531 the beginning of startup.S, for more details.
40532
40533 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
40534 compilation mechanism.
40535 (pupa_chainloader_real_boot): Likewise.
40536 (pupa_biosdisk_rw_int13_extensions): Likewise.
40537 (pupa_biosdisk_rw_standard): Likewise.
40538 (pupa_biosdisk_check_int13_extensions): Likewise.
40539 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
40540 (pupa_biosdisk_get_diskinfo_standard): Likewise.
40541 (pupa_get_memsize): Likewise.
40542 (pupa_get_mmap_entry): Likewise.
40543 (pupa_console_putchar): Likewise.
40544 (pupa_console_setcursor): Likewise.
40545 (pupa_getrtsecs): Use pushl instead of push.
40546
40547 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
40548 memory instead of the stack for a mmap entry, because some
40549 BIOSes may ignore the maximum size and overflow.
40550
40551 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
40552
40553 * genmk.rb (PModule#rule): Compile automatically generated
40554 sources with module-specific CFLAGS as well as other sources.
40555
40556 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
40557
40558 * configure.ac: Check ld.
40559 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
40560 respectively, before checking endianness and sizes.
40561
40562 * Makefile.in (LD): New variable.
40563
40564 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
40565
40566 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
40567
40568 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
40569
40570 * Changelog: New file.
40571