]> git.proxmox.com Git - grub2.git/blob - ChangeLog
* configure.ac: Add back in test for limits.h.
[grub2.git] / ChangeLog
1 2012-01-22 Mario Limonciello <mario_limonciello@dell.com>
2
3 * configure.ac: Add back in test for limits.h.
4
5 2012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
6
7 Support 4K-sector NTFS.
8
9 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
10 (grub_ntfs_data): Remove blocksize.
11 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
12 Remove data argument. All users updated.
13
14 2012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
15
16 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
17 being in .text to avoid dprel references.
18 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
19 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
20 (grub_arch_highmemsize): Likewise.
21 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
22 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
23 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
24
25 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
26
27 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
28
29 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
30 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
31
32 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
33
34 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
35 GRUB_UTIL.
36 (grub_set_datetime_cmos): Likewise.
37
38 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
39
40 Make XZ compression parameters dependent on target and not host CPU.
41
42 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
43 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
44
45 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
46
47 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
48 set but not used variable.
49
50 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
51
52 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
53 created when no uuid support is compiled into mkfs.reiser.
54
55 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
56
57 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
58 (utf8_to_macroman): Do the opposite.
59 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
60
61 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
62
63 * configure.ac: Refise build qemu_mips w/o unifont.
64
65 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
66
67 Eliminate grub_min/grub_max prone to overflow usage.
68
69 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
70 (poll_nonroot_hub): Likewise.
71 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
72 (grub_affs_label): Likewise.
73 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
74 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
75 (grub_hfs_label): Likewise.
76 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
77 * grub-core/fs/zfs/zfs.c (MIN): Remove.
78 (zap_leaf_array_equal): Use grub_size. Remove MIN.
79 (zap_leaf_array_get): Likewise.
80 (dnode_get_path): Likewise.
81 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
82 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
83 * grub-core/script/execute.c (grub_script_break): Likewise.
84 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
85 grub_max.
86 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
87 * include/grub/misc.h (grub_min): Removed.
88 (grub_max): Likewise.
89
90 2012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
91
92 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
93 direct.inode = 0.
94
95 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
96
97 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
98
99 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
100
101 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
102
103 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
104
105 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
106 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
107
108 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
109
110 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
111 rather than a hack for grub_strncasemap.
112
113 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
114
115 Support multiple initrds
116 Note: part of this was accidently committed in r3739.
117
118 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
119 initrd.
120 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
121 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
122 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
123 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
124 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
125
126 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
127
128 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
129 disks with unknown size.
130 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
131
132 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
133
134 Remove defines pertaining to arbitrary limits not affecting GRUB
135 anymore.
136
137 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
138 (EXT2_MAX_SYMLINKCNT): Likewise.
139 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
140 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
141 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
142 (GRUB_PXE_MAX_BLKSIZE): Likewise.
143 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
144 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
145 (DN_MAX_OBJECT_SHIFT): Likewise.
146 (DN_MAX_OFFSET_SHIFT): Likewise.
147 (DN_MAX_OBJECT): Likewise.
148 (DNODES_PER_LEVEL_SHIFT): Likewise.
149 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
150 (SPA_MAXBLOCKSIZE): Likewise.
151 (SPA_BLOCKSIZES): Likewise.
152 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
153 (MZAP_MAX_BLKSZ): Likewise.
154
155 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
156
157 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
158 handle NULL appropriately.
159 Remove MIN.
160
161 2012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
162
163 Fix efiemu.
164
165 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
166 cpu/types.h.
167 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
168 * configure.ac: Fix efiemu check.
169
170 2012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
171
172 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
173 grub_probe.
174 Reported by: adamwill
175
176 2012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
177
178 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
179
180 2012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
181
182 Fix handling of wide characters in gfxterm.
183
184 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
185 (clear_char): Likewise.
186 (paint_char): Skip code == NULL chars.
187 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
188
189 2012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
190
191 * grub-core/normal/charset.c: Move comment to right place.
192
193 2012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
194
195 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
196 (GRUB_AFFS_FLAG_FFS): Put back where it was.
197 (grub_affs_mount): Revert the correct version checking.
198
199 2012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
200
201 * docs/grub.texi (Unicode): Mention several other unsupported features.
202
203 2011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
204
205 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
206 case statements as compile-time one.
207 (direct_read): Prevent spurious warnings.
208 (grub_squash_read_data): Likewise.
209
210 2011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
211
212 Various squash4 fixes and LZO and XZ support.
213
214 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
215 Add xzembed source files.
216 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
217 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
218 (grub_squash_inode): New subtype long_dir.
219 (SQUASH_TYPE_LONG_DIR): New inode type.
220 (COMPRESSION): New enum.
221 (XZBUFSIZ): New const.
222 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
223 (read_chunk): Use data->decompress.
224 (zlib_decompress): New function.
225 (lzo_decompress): Likewise.
226 (xz_decompress): Likewise.
227 (squash_mount): Set new data fields.
228 (grub_squash_iterate_dir): Handle long dir.
229 (squash_unmount): Free xzdec and xzbuf.
230 (grub_squash_open): Check ino type.
231 (direct_read): Stylistic fixes. Use data->decompress.
232 (grub_squash_read_data): Likewise.
233 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
234 (get_byte): Likewise.
235 (grub_zlib_disk_read): Removed.
236 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
237 (GRUB_POSIX_BOOL_DEFINED): New define.
238 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
239 * grub-core/lib/xzembed/xz.h: Addmissing includes.
240 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
241 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
242
243 2011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
244
245 Don't override more informative errors.
246
247 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
248 * grub-core/font/font.c (open_section): Likewise.
249 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
250 filename. Don't override errors.
251 (grub_cmd_openbsd_ramdisk): Don't override errors.
252 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
253 (grub_cmd_initrd): Likewise.
254 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
255 (grub_cmd_initrd): Likewise.
256 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
257 (grub_cmd_linux): Likewise.
258 (grub_cmd_initrd): Likewise.
259 (grub_cmd_payload): Likewise.
260 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
261 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
262 (grub_cmd_module): Likewise.
263 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
264 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
265 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
266 (grub_cmd_xnu_mkext): Likewise.
267 (grub_cmd_xnu_ramdisk): Likewise.
268 (grub_xnu_check_os_bundle_required): Likewise.
269 (grub_xnu_load_kext_from_dir): Likewise.
270 (grub_cmd_xnu_kextdir): Likewise.
271 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
272
273 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
274
275 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
276 as 1024 in block size field. Found on one of my test images.
277 Small optimisation while on it.
278
279 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
280
281 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
282 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
283 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
284 performance fixes while on it.
285 (grub_sfs_close): Fix memory leak while on it.
286 (grub_sfs_label): Convert Latin1 to UTF-8.
287
288 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
289
290 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
291 space to avoid overflows.
292 (grub_hfs_label): Convert from macroman to UTF-8.
293
294 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
295
296 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
297
298 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
299
300 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
301
302 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
303
304 * unicode: Import Unicode 6.0 data.
305
306 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
307
308 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
309 outside of range.
310
311 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
312
313 Avoid cutting in the middle of UTF-8 character.
314
315 * include/grub/charset.h (grub_getend): New function.
316 * grub-core/script/function.c (grub_script_function_find): Use
317 grub_getend.
318 * grub-core/normal/completion.c (add_completion): Likewise.
319
320 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
321
322 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
323 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
324 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
325 (GRUB_UNICODE_TAG_END): Likewise.
326 (GRUB_UNICODE_LAST_VALID): Likewise.
327
328 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
329
330 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
331 len and make it smaller. All users updated.
332 * util/import_unicode.py: Put length and not end character.
333 Check length.
334
335 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
336
337 Make better Unicode-compliant and unify some UTF-8 code pathes.
338
339 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
340 valid character.
341 (grub_is_valid_utf8): Use grub_utf8_process.
342 Check resulting code range.
343 (grub_utf8_to_ucs4): Use grub_utf8_process.
344 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
345 valid character.
346
347 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
348
349 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
350
351 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
352
353 * docs/grub.texi (Filesystems): Mention AFS.
354
355 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
356
357 * docs/grub.texi (Filesystems): Clarify restrictions.
358 (Regexp): Mention non-Unicode regexp behaviour.
359 (Other): Mention non-Unicode matching behaviour.
360
361 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
362
363 Make HFS implementation use MacRoman.
364
365 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
366 (macroman): New const array.
367 (macroman_to_utf8): New function.
368 (utf8_to_macroman): Likewise.
369 (grub_hfs_find_dir): Use utf8_to_macroman.
370 (grub_hfs_dir): Use macroman_to_utf8.
371 Set case_insensitive.
372
373 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
374
375 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
376
377 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
378
379 Integrate hints into autogeneration scripts.
380
381 * docs/grub.texi (Filesystems): Add a hostdisk example.
382 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
383 (grub-probe): Add ofpath.
384 * gentpl.py: Remove group nosparc64.
385 * grub-core/commands/search.c (cache_entry): New struct.
386 (cache): New var.
387 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
388 * grub-core/commands/search_wrap.c (options): Add platform-specific
389 hint options.
390 (grub_cmd_search): Handle platform-specific hints.
391 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
392 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
393 (grub_util_biosdisk_data): Likewise.
394 (grub_util_biosdisk_open): Set device_map.
395 (read_device_map): Handle "" as indication of no map.
396 Set device_map.
397 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
398 (grub_util_biosdisk_get_compatibility_hint): New function.
399 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
400 * include/grub/emu/hostdisk.h
401 (grub_util_biosdisk_get_compatibility_hint): New proto.
402 * util/grub-install.in: Don't call grub-mkdevicemap.
403 Add platform-specific hint to load.cfg.
404 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
405 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
406 hints. Set root preliminary to compatibility hint, not to OS name.
407 * util/grub-probe.c (PRINT_*): Add hints.
408 (print): Make static.
409 (escape_of_path): New function.
410 (guess_bios_drive): Likewise.
411 (guess_efi_drive): Likewise.
412 (guess_baremetal_drive): Likewise.
413 (print_full_name): Likewise.
414 (probe): Handle hints.
415 (main): Likewise.
416 * util/ieee1275/devicemap.c: Removed.
417 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
418 updated.
419 (grub_util_devname_to_ofpath): Return NULL on failure.
420
421 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
422 resource leak.
423 * util/getroot.c (grub_util_pull_device): Fix memory leak.
424
425 * po/POTFILES.in: Regenerated.
426
427 Allow purely long options
428
429 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
430 (SHORT_ARG_USAGE): Likewise.
431 (grub_arg_show_help): Compare opt with help_options.
432 (parse_option): Receive opt as argument. If makes big simplificatons.
433 All users updated
434
435 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
436
437 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
438 Restructure to avoid warning.
439
440 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
441
442 * util/grub-install.in: Account for possible escaped comma in device
443 name.
444
445 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
446
447 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
448 channel.
449
450 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
451
452 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
453 allocation and zero-setting.
454 (grub_ieee1275_get_devname): Check that alias is complete.
455
456 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
457
458 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
459 unaligned segments.
460
461 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
462
463 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
464 prefix.
465 (grub_ofdisk_open): Check and discard ieee1275 prefix.
466 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
467 Add ieee1275 prefix.
468
469 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
470
471 * docs/grub.texi (Filesystems): Update.
472
473 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
474
475 Support odc, newc and bigendian cpio formats.
476
477 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
478 * grub-core/Makefile.core.def (newc): New module.
479 (odc): Likewise.
480 (cpio_be): Likewise.
481 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
482 (MAGIC): Likewise.
483 (MAGIC2): Likewise.
484 (head) [MODE_ODC]: Adapt for the format.
485 (head) [MODE_NEWC]: Likewise.
486 (head) [!MODE_*]: Write fields of interest as arrays.
487 (MAGIC_USTAR): Removed.
488 (read_number) [MODE_NEWC]: Change to hex.
489 (read_number) [!MODE_*]: Parse binary arrays.
490 (grub_cpio_find_file): Factor out the code for better structure and
491 always use read_number.
492 (grub_cpio_mount): Use MAGIC and MAGIC2.
493 (grub_cpio_dir): Exit on first hook non-0 return.
494 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
495 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
496 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
497 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
498 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
499 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
500 * grub-core/fs/newc.c: New file.
501 * grub-core/fs/odc.c: Likewise.
502 * grub-core/fs/cpio_be.c: Likewise.
503
504 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
505
506 Fix handling of tar numbers occupying the whole field.
507
508 * grub-core/fs/cpio.c (read_number): New function.
509 (grub_cpio_find_file): Use read_number instead of strtoull.
510
511 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
512
513 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
514 occupying the whole field size.
515
516 2011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
517
518 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
519
520 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
521
522 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
523
524 2011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
525
526 * grub-core/Makefile.core.def (lzma_decompress): Add missing
527 TARGET_IMG_LDFLAGS.
528
529 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
530
531 * util/getroot.c (ESCAPED_PATH_MAX): New define.
532 (mountinfo_entry): Increase the field size to take escaping into
533 account.
534 (find_root_device_from_libzfs): Add one byte to size of strings for
535 security.
536
537 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
538
539 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
540 an assert.
541 * util/grub-setup.c (setup): Likewise.
542
543 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
544
545 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
546 _LzmaDecodeA.
547
548 2011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
549
550 * docs/grub.texi (Internationalisation): New section.
551
552 2011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
553
554 * docs/grub.texi (Loopback booting): New section.
555
556 2011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
557
558 * util/grub-mkstandalone.in: Fix minor typo errors.
559
560 2011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
561
562 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
563
564 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
565 net/icmp.c and net/icmp6.c.
566 (http): New module.
567 (priority_queue): Likewise.
568 * grub-core/io/bufio.c: Rewritten.
569 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
570 TYPE_WITH_CONFIGFILE_OPTION.
571 (legacy_commands): Add bootp and dhcp.
572 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
573 (grub_legacy_parse): Likewise.
574 * grub-core/lib/priority_queue.c: New file.
575 * grub-core/net/arp.c: Add missing license header.
576 (arp_find_entry): Removed.
577 (arp_find_entry): Likewise.
578 (grub_net_arp_resolve): Rename to ...
579 (grub_net_arp_send_request): ...this.
580 (grub_net_arp_receive): New card argument.
581 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
582 Set router and DNS server.
583 (grub_net_configure_by_dhcp_ack): Handle routing information.
584 (grub_cmd_bootp): Set checksum.
585 (grub_bootp_init): Remove net_dhcp.
586 * grub-core/net/dns.c: New file.
587 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
588 completion.
589 (get_card_packet): Handle allocation.
590 (grub_efinet_findcards): Set mtu.
591 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
592 (get_card_packet): Handle allocation.
593 (emucard): Set mtu.
594 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
595 (GRUB_MOD_INIT): Set mtu.
596 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
597 mtu.
598 (get_card_packet): Handle allocation.
599 (grub_ofnet_findcards): Set mtu.
600 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
601 assert.
602 (grub_net_recv_ethernet_packet): Handle IPv6.
603 * grub-core/net/http.c: New file.
604 * grub-core/net/icmp.c: Likewise.
605 * grub-core/net/icmp6.c: Likewise.
606 * grub-core/net/ip.c (ip6addr): New type.
607 (ip6hdr): Likewise.
608 (reassemble): Likewise.
609 (cmp): New function.
610 (reassembles): New variable.
611 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
612 (id): New variable.
613 (send_fragmented): New function.
614 (grub_net_send_ip_packet): Rename to ...
615 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
616 Handle non-UDP.
617 (grub_net_recv_ip_packets): Rename to ...
618 (handle_dgram): ... this. Check checksum. Handle non-UDP.
619 (free_rsm): New function.
620 (free_old_fragments): Likewise.
621 (grub_net_recv_ip4_packets): New function.
622 (grub_net_send_ip6_packet): Likewise.
623 (grub_net_send_ip_packet): Likewise.
624 (grub_net_recv_ip6_packets): Likewise.
625 (grub_net_recv_ip_packets): Likewise.
626 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
627 (LINK_LAYER_CACHE_SIZE): New const.
628 (link_layer_find_entry): New function.
629 (grub_net_link_layer_add_address): Likewise.
630 (grub_net_link_layer_resolve_check): Likewise.
631 (grub_net_link_layer_resolve): Likewise.
632 (grub_net_ipv6_get_slaac): Likewise.
633 (grub_net_ipv6_get_link_local): Likewise.
634 (grub_cmd_ipv6_autoconf): Likewise.
635 (parse_ip): Handle one number representation.
636 (parse_ip6): New functoion.
637 (match_net): Handle IPv6.
638 (grub_net_resolve_address): Handle IPv6 and DNS.
639 (grub_net_resolve_net_address): Handle IPv6.
640 (route_cmp): New function.
641 (grub_net_route_address): Find best route.
642 (grub_net_addr_to_str): Handle IPv6.
643 (grub_net_addr_cmp): New function.
644 (grub_net_add_addr): Register local route.
645 (print_net_address): Handle net address.
646 (grub_net_poll_cards): Retransmit TCP.
647 (grub_net_poll_cards_idle_real): Likewise.
648 (have_ahead): New function.
649 (grub_net_seek_real): Use underlying seek.
650 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
651 * grub-core/net/tcp.c: New file.
652 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
653 (cmp): New function.
654 (ack): Likewise.
655 (tftp_receive): Handle unordered input.
656 (destroy_pq): New function.
657 (tftp_close): Close pq.
658 * grub-core/net/udp.c: Put missing license header.
659 (grub_net_udp_socket): New function.
660 (udp_socket_register): Likewise.
661 (grub_net_udp_close): Likewise.
662 (grub_net_recv_udp_packet): Check checksum.
663 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
664 * include/grub/misc.h (grub_memchr): New function.
665 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
666 (grub_net_card_driver): Return buf in recv.
667 (grub_net_slaac_mac_list): New struct.
668 (grub_network_level_protocol_id): Add ipv6.
669 (grub_net_network_level_addr): Likewise.
670 (grub_net_network_level_net_addr): Likewise.
671 (grub_net_app_protocol): Add seek.
672 (grub_net_socket): Removed.
673 (grub_net_sockets): Likewise.
674 (grub_net_socket_register): Likewise.
675 (grub_net_socket_unregister): Likewise.
676 (FOR_NET_SOCKETS): Likewise.
677 (grub_net_add_addr): Add const.
678 (GRUB_NET_BOOTP_*): New enum.
679 (grub_net_addr_cmp): New proto.
680 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
681 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
682 (grub_net_hwaddr_to_str): NEw proto.
683 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
684 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
685 (grub_dns_init): New proto.
686 (grub_dns_fini): Likewise.
687 (grub_net_tcp_retransmit): Likewise.
688 (grub_net_link_layer_add_address): Likewise.
689 (grub_net_link_layer_resolve_check): Likewise.
690 (grub_net_link_layer_resolve): Likewise.
691 (grub_net_dns_lookup): Likewise.
692 (grub_net_add_dns_server): Likewise.
693 (grub_net_remove_dns_server): Likewise.
694 (GRUB_NET_TRIES): New const.
695 (GRUB_NET_INTERVAL): Likewise.
696 * include/grub/net/arp.h: Mostly rewritten.
697 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
698 * include/grub/net/ip.h: Mostly rewritten.
699 * include/grub/net/netbuff.h: Indent.
700 * include/grub/net/tcp.h: New file.
701 * include/grub/net/udp.h: Mostly rewritten.
702 * include/grub/priority_queue.h: New file.
703 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
704 (grub_swap_bytes64_compile_time): Likewise.
705 (grub_cpu_to_be16_compile_time): Likewise.
706 (grub_cpu_to_be32_compile_time): Likewise.
707 (grub_cpu_to_be64_compile_time): Likewise.
708 (grub_be_to_cpu64_compile_time): Likewise.
709
710 2011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
711
712 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
713 UINT_TO_PTR with cast.
714
715 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
716
717 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
718 don't use them.
719
720 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
721
722 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
723 already there.
724
725 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
726
727 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
728 confusing ipxe.
729
730 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
731
732 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
733 Add missing const attribute.
734 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
735 Likewise.
736 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
737 Likewise.
738
739 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
740
741 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
742 misaligned access.
743 (serpent_setkey): Likewise.
744 (serpent_encrypt_internal): Likewise.
745 (serpent_decrypt_internal): Likewise.
746 (serpent_encrypt): Don't put an alignment-increasing cast.
747 (serpent_decrypt): Likewise.
748 (serpent_test): Likewise.
749
750 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
751
752 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
753
754 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
755
756 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
757
758 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
759 grub_addr_t casts.
760 (PTR_TO_UINT64): Likewise.
761 (PTR_TO_UINT32): Likewise.
762
763 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
764
765 * util/grub-mkimage.c (generate_image): Decrease the higher limit
766 because of stack.
767 * util/grub-setup.c (setup): Don't add redundancy past the higher load
768 limit.
769
770 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
771
772 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
773 text_width > available width a bit more gracefully.
774
775 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
776
777 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
778 current address calculation.
779
780 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
781
782 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
783 stack.
784 (encode_block): Likewise.
785
786 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
787
788 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
789 certainety.
790
791 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
792
793 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
794 non-RS part to avoid RS messing with GDT.
795 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
796 Increase to suit in realmode routines.
797
798 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
799
800 * grub-core/kern/i386/realmode.S: Increase alignment.
801 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
802
803 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
804
805 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
806 be deterministic.
807 (syndroms): Compute 0 syndrom.
808 (rs_recover): Use 0 syndrom.
809
810 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
811
812 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
813
814 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
815
816 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
817 brackets.
818
819 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
820
821 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
822 account.
823 (get_top_pad): Likewise.
824 (get_right_pad): Likewise.
825 (get_bottom_pad): Likewise.
826
827 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
828
829 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
830
831 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
832
833 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
834 attribute as the structure isn't guaranteed to be properly aligned.
835 (grub_efi_pci_device_path): Likewise.
836 (grub_efi_pccard_device_path): Likewise.
837 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
838 specify the size of `memory_type'.
839 (grub_efi_vendor_device_path): Likewise.
840 (grub_efi_controller_device_path): Likewise.
841 (grub_efi_acpi_device_path): Likewise.
842 (grub_efi_expanded_acpi_device_path): Likewise.
843 (grub_efi_atapi_device_path): Likewise.
844 (grub_efi_scsi_device_path): Likewise.
845 (grub_efi_fibre_channel_device_path): Likewise.
846 (grub_efi_1394_device_path): Likewise.
847 (grub_efi_usb_device_path): Likewise.
848 (grub_efi_usb_class_device_path): Likewise.
849 (grub_efi_i2o_device_path): Likewise.
850 (grub_efi_mac_address_device_path): Likewise.
851 (grub_efi_ipv4_device_path): Likewise.
852 (grub_efi_ipv6_device_path): Likewise.
853 (grub_efi_infiniband_device_path): Likewise.
854 (grub_efi_uart_device_path): Likewise.
855 (grub_efi_vendor_messaging_device_path): Likewise.
856 (grub_efi_hard_drive_device_path): Likewise.
857 (grub_efi_cdrom_device_path): Likewise.
858 (grub_efi_vendor_media_device_path): Likewise.
859 (grub_efi_file_path_device_path): Likewise.
860 (grub_efi_protocol_device_path): Likewise.
861 (grub_efi_piwg_device_path): Likewise.
862 (grub_efi_bios_device_path): Likewise.
863
864 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
865
866 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
867 (grub_ucs4_to_utf8_alloc): Likewise.
868 (grub_ucs4_to_utf8): Likewise.
869 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
870 (grub_ucs4_to_utf8_alloc): Likewise.
871
872 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
873
874 AFFS never uses unicode.
875
876 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
877 (grub_latin1_to_utf8): New inline function.
878 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
879
880 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
881
882 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
883 overflow.
884
885 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
886
887 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
888 (grub_squash_dirent_header): Likewise.
889 (read_chunk): Don't double swap.
890 (grub_squash_iterate_dir): Fix swap sizes.
891
892 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
893
894 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
895
896 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
897
898 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
899 (grub_hfs_iterate_dir): Likewise.
900
901 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
902
903 Fix video on platforms where unaligned access is forbidden.
904 Make several optimisations while on it.
905
906 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
907 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
908 (grub_video_fbblit_replace_32bit_1bit): Likewise.
909 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
910 Disable.
911 (grub_video_fbblit_replace_16bit_1bit):
912 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
913 (grub_video_fbblit_replace_8bit_1bit): Likewise.
914 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
915 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
916 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
917 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
918 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
919 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
920 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
921 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
922 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
923 (grub_video_fbblit_replace_index_RGB888): Likewise.
924 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
925 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
926 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
927 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
928 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
929 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
930 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
931 Disable.
932 (grub_video_fbblit_blend_XXX565_1bit):
933 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
934 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
935 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
936 void *.
937 * grub-core/video/fb/video_fb.c (common_blitter)
938 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
939 (grub_video_fb_create_render_target_from_pointer)
940 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
941 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
942 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
943 definition.
944 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
945
946 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
947
948 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
949 HH22 and HM10 relocations.
950
951 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
952
953 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
954
955 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
956
957 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
958 allocation succeeded.
959
960 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
961
962 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
963 argument a u8 pointer. All users updated.
964 Handle unaligned buffers.
965
966 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
967
968 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
969 add_part to workaround compiler bug.
970
971 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
972
973 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
974
975 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
976
977 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
978 Reserve alignment invariants.
979 (grub_multiboot_load): Likewise.
980 (retrieve_video_parameters): Likewise.
981 (grub_multiboot_make_mbi): Likewise.
982
983 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
984
985 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
986 incorrect pointer.
987
988 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
989
990 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
991 (grub_pata_pio_write): Likewise.
992
993 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
994
995 Add noreturn attributes and remove unreachable code.
996
997 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
998 code.
999 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
1000 code. Mark as noreturn.
1001 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
1002 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
1003 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
1004 unreachable code.
1005 * grub-core/kern/main.c (grub_main): Mark as noreturn.
1006 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
1007 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
1008 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
1009 * include/grub/kernel.h (grub_main): Mark as noreturn.
1010 * include/grub/reader.h (grub_rescue_run): Likewise.
1011
1012 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1013
1014 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
1015 redundant declaration.
1016
1017 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1018
1019 * include/grub/net.h (grub_net_network_level_interfaces): Remove
1020 redundant declaration.
1021 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
1022
1023 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1024
1025 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
1026 to ensure alignment.
1027 (grub_hdparm_print_identify): Make argument uint16 * to ensure
1028 alignment. Ensure tmp alignment.
1029 (grub_cmd_hdparm): Ensure buf alignment.
1030 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
1031 to ensure alignment.
1032 (grub_ata_dumpinfo): Ensure text alignment.
1033 (grub_atapi_identify): Preserve alignment invariant.
1034 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
1035
1036 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1037
1038 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
1039 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
1040 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
1041 * include/grub/misc.h (grub_reboot)
1042 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
1043 (grub_halt) [__mips__]: Likewise.
1044
1045 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1046
1047 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
1048 Remove redundant declaration.
1049 (grub_mmap_get_post64): Likewise.
1050 (grub_mmap_get_upper): Likewise.
1051 (grub_mmap_get_lower): Likewise.
1052
1053 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1054
1055 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
1056 uint32_t * to ensure alignment.
1057 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
1058
1059 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1060
1061 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
1062 uint16_t * to ensure alignment.
1063 (sun_pc_partition_map_iterate): Make `block' a union to ensure
1064 alignment.
1065
1066 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1067
1068 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
1069 to ensure alignment.
1070 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
1071
1072 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1073
1074 * grub-core/fs/ntfs.c (u16at): Make into inline function.
1075 Handle unaligned pointers.
1076 (u32at): Likewise.
1077 (u64at): Likewise.
1078 (fixup): Use byte access instead of v16at.
1079 (find_attr): Fix imporper usage of v32at.
1080 (read_data): Likewise.
1081 (list_file): Handle byte-swapping and unaligned strings.
1082 (grub_ntfs_label): Likewise.
1083
1084 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1085
1086 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
1087 as it's not necessarily aligned.
1088
1089 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1090
1091 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
1092 redundant declaration.
1093 (grub_serial_init): Likewise.
1094 (grub_terminfo_init): Likewise.
1095
1096 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1097
1098 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
1099 function.
1100 (ZAP_HASH_IDX): Likewise.
1101 (ZAP_LEAF_HASH_SHIFT): Likewise.
1102 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
1103 (LEAF_HASH): Likewise.
1104 (ZAP_LEAF_NUMCHUNKS): Likewise.
1105 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
1106 alignment invariants. Return pointer. All users updated.
1107 (ZAP_LEAF_ENTRY): Make into inline function.
1108 (NBBY): Removed.
1109 (xor): LIkewise.
1110 (xor_out): Use grub_crypto_xor.
1111 (dnode_get_path): Use grub_get_unaligned.
1112 (nvlist_find_value): Likewise.
1113 (grub_zfs_nvlist_lookup_uint64): Likewise.
1114 (grub_zfs_nvlist_lookup_string): Likewise.
1115 (get_nvlist_size): Likewise.
1116 (grub_zfs_open): Likewise.
1117 (fill_fs_info): Likewise.
1118 (grub_zfs_dir): Likewise.
1119 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
1120 alignment invariants.
1121 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
1122 necessarily aligned.
1123
1124 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1125
1126 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
1127
1128 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1129
1130 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
1131 arithmetic to conserve alignment invariants.
1132
1133 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1134
1135 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
1136 redundant declaration.
1137 (grub_efiemu_mm_obtain_request): Likewise.
1138 (grub_efiemu_prepare): Likewise.
1139
1140 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1141
1142 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
1143 to match types.
1144
1145 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1146
1147 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
1148 case of aunaligned recptr.
1149 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
1150 alignment.
1151 (grub_hfsplus_btree_search): Handle unaligned index.
1152
1153 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1154
1155 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
1156 to get freetag and skip.
1157
1158 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1159
1160 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
1161 array.
1162 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
1163 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
1164
1165 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1166
1167 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
1168 name for checksum and fix allocation algorithm.
1169
1170 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1171
1172 * include/grub/types.h (grub_properly_aligned_t): New type.
1173 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
1174 (grub_get_unaligned16): Add explicit casts.
1175 (grub_get_unaligned32): Likewise.
1176 (grub_get_unaligned64): Likewise.
1177 (grub_set_unaligned16): New function.
1178 (grub_set_unaligned32): Likewise.
1179
1180 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1181
1182 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
1183
1184 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1185
1186 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
1187 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
1188 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
1189
1190 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1191
1192 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
1193 conditionals.
1194
1195 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1196
1197 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
1198 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
1199
1200 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1201
1202 Unify and improve RAID and crypto xor.
1203
1204 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
1205 changed to grub_crypto_xor
1206 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
1207 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
1208 Use bigger types when possible.
1209
1210 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1211
1212 * grub-core/disk/raid.c (scan_devices): Fix condition.
1213
1214 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1215
1216 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
1217 Make name a const ptr.
1218
1219 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1220
1221 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
1222 first argument a const pointer.
1223 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
1224 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
1225 proto.
1226 (grub_children_iterate): Likewise.
1227 (grub_machine_mmap_iterate): Remove redundant declaration.
1228
1229 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1230
1231 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
1232 (grub_cmd_acpi) [!x86]: Disable EBDA.
1233
1234 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1235
1236 Enable UTF8 in gnulib regexp.
1237
1238 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
1239 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
1240 (isupper): Use grub_isupper.
1241 (isascii): New inline function.
1242 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
1243 * grub-core/lib/posix_wrap/wctype.h: Likewise.
1244 * grub-core/normal/charset.c (grub_utf8_process): New function.
1245 (grub_utf8_to_utf16): Use grub_utf8_process.
1246 (grub_encode_utf8_character): New function.
1247 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
1248 * include/grub/charset.h (grub_utf8_process): New declaration.
1249 (grub_encode_utf8_character): Likewise.
1250 * include/grub/misc.h (grub_islower): New inline function.
1251 (grub_isupper): Likewise.
1252 (grub_strchrsub): Moved down to fix the definitions.
1253
1254 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1255
1256 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
1257 specification.
1258
1259 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1260
1261 * include/grub/loader.h (grub_loader_register_preboot_hook):
1262 Use struct preboot * and not void * for handle. All users updated.
1263 (grub_loader_unregister_preboot_hook): Likewise.
1264
1265 2011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
1266
1267 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
1268 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
1269 UTF-16-BE. All users updated.
1270 (grub_hfsplus_cmp_catkey): Fix unicode handling.
1271 (grub_hfsplus_iterate_dir): Likewise.
1272 (grub_hfsplus_label): Likewise.
1273
1274 2011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
1275
1276 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
1277
1278 2011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
1279
1280 Add missing const qualifiers.
1281
1282 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
1283 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
1284 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
1285 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
1286 (grub_lvm_check_flag): Likewise.
1287 * grub-core/efiemu/i386/coredetect.c
1288 (grub_efiemu_get_default_core_name): Likewise
1289 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
1290 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
1291 * grub-core/fs/ntfs.c (fixup): Likewise.
1292 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
1293 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
1294 (fzap_lookup): Likewise.
1295 (zap_lookup): Likewise.
1296 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
1297 * grub-core/lib/legacy_parse.c (check_option): Likewise.
1298 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
1299 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
1300 (grub_freebsd_add_meta_module): Likewise.
1301 (grub_cmd_freebsd_module): Likewise.
1302 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
1303 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
1304 (grub_xnu_writetree_get_size): Likewise.
1305 (grub_xnu_writetree_toheap_real): Likewise.
1306 (grub_xnu_find_key): Likewise.
1307 (grub_xnu_create_key): Likewise.
1308 (grub_xnu_create_value): Likewise.
1309 (grub_xnu_register_memory): Likewise.
1310 (grub_xnu_check_os_bundle_required): Likewise.
1311 (grub_xnu_scan_dir_for_kexts): Likewise.
1312 (grub_xnu_load_kext_from_dir): Likewise.
1313 * grub-core/normal/color.c (color_list): Likewise.
1314 * grub-core/normal/completion.c (current_word): Likewise.
1315 * grub-core/normal/menu_entry.c (insert_string): Likewise.
1316 * grub-core/term/serial.c (grub_serial_find): Likewise.
1317 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
1318 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
1319 Likewise.
1320 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
1321 (grub_freebsd_add_meta_module): Likewise.
1322 * include/grub/lib/arg.h (grub_arg_option): Likewise.
1323 * include/grub/net.h (grub_net_card_driver): Likewise.
1324 (grub_net_card): Likewise.
1325 (grub_net_app_protocol): Likewise.
1326 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
1327 * include/grub/serial.h (grub_serial_find): Likewise.
1328 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
1329 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
1330 (grub_xnu_create_value): Likewise.
1331 (grub_xnu_find_key): Likewise.
1332 (grub_xnu_scan_dir_for_kexts): Likewise.
1333 (grub_xnu_load_kext_from_dir): Likewise.
1334
1335 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
1336 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
1337 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
1338 Moved from here ...
1339 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
1340
1341 2011-11-28 Colin Watson <cjwatson@ubuntu.com>
1342
1343 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
1344
1345 2011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
1346
1347 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
1348 (read_device): Fix size calculation.
1349
1350 2011-11-25 Robert Millan <rmh@gnu.org>
1351
1352 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
1353 (find_root_device_from_libzfs): Add zpool output parser to be used
1354 as fallback when libzfs isn't available.
1355
1356 2011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
1357
1358 * po/Makefile.in.in: Add missing escape-continuation.
1359
1360 2011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
1361
1362 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
1363
1364 2011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1365
1366 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
1367
1368 2011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1369
1370 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
1371
1372 2011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1373
1374 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
1375
1376 2011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1377
1378 * grub-core/lib/adler32.c: Add missing license specification.
1379 * grub-core/lib/crc64.c: Likewise.
1380 * grub-core/loader/i386/pc/plan9.c: Likewise.
1381 * grub-core/partmap/plan.c: Likewise.
1382
1383 2011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
1384
1385 Add facility to debug GRUB with gdb under qemu.
1386
1387 * grub-core/gdb_grub.in: New file.
1388 * grub-core/gmodule.pl.in: Likewise.
1389 * grub-core/Makefile.core.def (gmodule.pl): New script.
1390 (gdb_grub): Likewise.
1391
1392 2011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1393
1394 * util/grub-mount.c (argp_parser): Accept relative pathes.
1395 * util/grub-fstest.c (argp_parser): Likewise.
1396
1397 2011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1398
1399 Plan9 support.
1400
1401 * Makefile.util.def (libgrubmods): Add
1402 grub-core/partmap/plan.c.
1403 * docs/grub.texi: Notice Plan9 support.
1404 * grub-core/Makefile.core.def (plan9): New module.
1405 (part_plan): Likewise.
1406 * grub-core/loader/i386/pc/plan9.c: New file.
1407 * grub-core/partmap/plan.c: Likewise.
1408 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
1409 define.
1410 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
1411 * include/grub/mm.h (grub_extend_alloc): New inline function.
1412
1413 2011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1414
1415 Make Reed-Solomon faster by using power of generator representation of
1416 GF(256)*.
1417
1418 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
1419 (gf_double_t): Likewise.
1420 (gf_invert): Removed.
1421 (gf_powx): New array.
1422 (gf_powx_inv): Likewise.
1423 (scratch): Move higher.
1424 (gf_reduce): Removed.
1425 (gf_mul): Use powx.
1426 (gf_invert): Likewise.
1427 (init_inverts): Replaced with ...
1428 (init_powx): ...this. All users updated.
1429 (pol_evaluate): Replace multiplications with additions.
1430 (rs_encode): Likewise.
1431 (gauss_eliminate): Call gf_invert.
1432 (grub_reed_solomon_add_redundancy): Call init_powx.
1433 (grub_reed_solomon_recover): Call init_powx unconditionally.
1434
1435 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1436
1437 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
1438
1439 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1440
1441 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
1442 disk->partiton for safety.
1443
1444 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1445
1446 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
1447 Fix a memory leak.
1448 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
1449
1450 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1451
1452 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
1453
1454 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1455
1456 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
1457
1458 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1459
1460 Fix spaces handling in proc/self/mountinfo.
1461
1462 * util/getroot.c (unescape): New function.
1463 (grub_find_root_device_from_mountinfo): Use unescape.
1464
1465 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1466
1467 Support ZFS embedding.
1468
1469 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
1470 (grub_zfs_fs): Register grub_zfs_embed.
1471
1472 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1473
1474 Fix MIPS compilation.
1475
1476 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
1477 * include/grub/offsets.h: Rename decompressor fields from
1478 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
1479 * util/grub-mkimage.c (image_targets): Use new names.
1480
1481 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1482
1483 Defer multiboot device parsing until we're in compressed part.
1484
1485 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
1486 bsd_part. setdevice has fallen into disuse.
1487 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
1488 (bsd_part): Likewise.
1489 (boot_dev): New variable.
1490 (multiboot_trampoline): Don't parse multiboot device.
1491 Pass multiboot device in %edx.
1492 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
1493 grub_boot_device.
1494 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
1495 Likewise.
1496 * grub-core/kern/i386/pc/startup.S: Save edx.
1497 (grub_boot_drive): Removed.
1498 (grub_install_dos_part): Likewise.
1499 (grub_install_bsd_part): Likewise.
1500 (grub_boot_device): New variable.
1501 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
1502 (grub_install_bsd_part): Likewise.
1503 (grub_boot_drive): Likewise.
1504 (grub_boot_device): New variable.
1505 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
1506 Removed.
1507 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
1508 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
1509 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
1510 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
1511 * util/grub-install.in: Remove redundant condition.
1512
1513 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1514
1515 Fix bug introduced by previous commit.
1516
1517 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
1518
1519 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1520
1521 Use decompressors framework on i386-pc. It increases core size
1522 by 46 bytes but improves compatibility and maintainability.
1523
1524 * grub-core/Makefile.core.def (lzma_decompress): New image.
1525 (kernel): Add i386_pc_ldflags.
1526 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
1527 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
1528 to real_to_prot, prot_to_real and device info.
1529 * include/grub/offsets.h: Renamed decompressor offsets.
1530 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
1531 (image_target_desc): Remove raw_size and rename decompressor fields.
1532 (compress_kernel): Handle lzma.
1533 (generate_image): Handle decompressors on i386-pc.
1534
1535 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1536
1537 * configure.ac: Add -fno-asynchronous-unwind-tables.
1538
1539 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1540
1541 Move assembly code to C by using intwrap. It increases core size
1542 by 88 bytes but improves compatibility and maintainability.
1543
1544 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
1545 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
1546 ... here. Translated to C.
1547 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
1548 * grub-core/term/i386/pc/console.c (grub_console_getkey):
1549 ... here. Translated to C.
1550 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
1551 * grub-core/term/i386/pc/console.c (grub_console_getxy):
1552 ... here. Translated to C.
1553 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
1554 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
1555 ... here. Translated to C.
1556 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
1557 * grub-core/term/i386/pc/console.c (grub_console_cls):
1558 ... here. Translated to C.
1559 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
1560 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
1561 ... here. Translated to C.
1562 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
1563 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
1564 Translated to C.
1565 * grub-core/term/i386/pc/console.c (int10_9): New function.
1566 (grub_console_putchar): Likewise.
1567 * include/grub/i386/pc/console.h: Removed the not anymore shared
1568 functions.
1569
1570 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1571
1572 Move grub_chainloader_real_boot out of the kernel.
1573
1574 * grub-core/Makefile.am: Remove machine/loader.h.
1575 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
1576 Removed.
1577 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
1578 variable.
1579 (grub_relocator16_keep_a20_enabled): Likewise.
1580 (grub_relocator16_boot): Fill new variables.
1581 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
1582 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
1583 relocator.
1584 (grub_chainloader_unload): Likewise.
1585 (grub_chainloader_cmd): Likewise.
1586 * include/grub/i386/pc/loader.h: Removed.
1587 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
1588 and esi. All initialisers updated.
1589
1590 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1591 2011-11-12 Colin Watson <cjwatson@ubuntu.com>
1592
1593 * Makefile.util.def (grub-mount): New util.
1594 * .bzrignore: Add grub-mount.
1595 * configure.ac: Check for fuse and enable grub-mount if available.
1596 * docs/man/grub-mount.h2m: New file.
1597 * util/grub-mount.c: Likewise.
1598
1599 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1600
1601 * grub-core/commands/efi/fixvideo.c: Gettextize.
1602 * grub-core/commands/hashsum.c: Likewise.
1603 * grub-core/commands/i386/cmostest.c: Likewise.
1604 * grub-core/commands/i386/pc/drivemap.c: Likewise.
1605 * grub-core/commands/i386/pc/lsapm.c: Likewise.
1606 * grub-core/commands/i386/pc/sendkey.c: Likewise.
1607 * grub-core/commands/lsmmap.c: Likewise.
1608 * grub-core/commands/menuentry.c: Likewise.
1609 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
1610 * grub-core/commands/setpci.c: Likewise.
1611 * grub-core/loader/i386/bsd.c: Likewise.
1612 * grub-core/loader/i386/linux.c: Likewise.
1613 * util/getroot.c: Likewise.
1614 * util/grub-editenv.c: Likewise.
1615 * util/grub-fstest.c: Likewise.
1616 * util/grub-mkfont.c: Likewise.
1617 * util/grub-mkimage.c: Likewise.
1618 * util/grub-mkpasswd-pbkdf2.c: Likewise.
1619 * util/grub-pe2elf.c: Likewise.
1620 * util/grub-probe.c: Likewise.
1621 * util/grub-setup.c: Likewise.
1622 * util/ieee1275/ofpath.c: Likewise.
1623 * util/misc.c: Likewise.
1624 * util/raid.c: Likewise.
1625
1626 2011-11-11 Robert Millan <rmh@gnu.org>
1627
1628 * util/getroot.c (grub_util_get_geom_abstraction): Remove
1629 __attribute__((unused)) from `os_dev', which *is* being used.
1630
1631 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1632
1633 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
1634 forgotten define.
1635 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
1636 GRUB_IA64_DL_GOT_ALIGN.
1637 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
1638 GRUB_IA64_DL_TRAMP_ALIGN.
1639
1640 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1641
1642 Replace grub_fatal with normal errors in i386 linux loader.
1643
1644 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
1645 (allocate_pages): Check find_efi_mmap_size return value.
1646 (grub_e820_add_region): Return error.
1647 (grub_linux_boot): Check mmap return value.
1648
1649 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1650
1651 * grub-core/commands/acpihalt.c: Gettextized.
1652 * grub-core/commands/cacheinfo.c: Likewise.
1653 * grub-core/commands/cmp.c: Likewise.
1654 * grub-core/commands/efi/loadbios.c: Likewise.
1655 * grub-core/commands/gptsync.c: Likewise.
1656 * grub-core/commands/ieee1275/suspend.c: Likewise.
1657 * grub-core/commands/legacycfg.c: Likewise.
1658 * grub-core/commands/memrw.c: Likewise.
1659 * grub-core/commands/minicmd.c: Likewise.
1660 * grub-core/commands/parttool.c: Likewise.
1661 * grub-core/commands/time.c: Likewise.
1662 * grub-core/commands/videoinfo.c: Likewise.
1663 * grub-core/disk/geli.c: Likewise.
1664 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
1665 * grub-core/disk/luks.c: Likewise.
1666 * grub-core/disk/lvm.c: Likewise.
1667 * grub-core/font/font_cmd.c: Likewise.
1668 * grub-core/fs/zfs/zfscrypt.c: Likewise.
1669 * grub-core/fs/zfs/zfsinfo.c: Likewise.
1670 * grub-core/gfxmenu/view.c: Likewise.
1671 * grub-core/kern/emu/hostdisk.c: Likewise.
1672 * grub-core/kern/emu/main.c: Likewise.
1673 * grub-core/kern/emu/misc.c: Likewise.
1674 * grub-core/kern/emu/mm.c: Likewise.
1675 * grub-core/kern/mips/arc/init.c: Likewise.
1676 * grub-core/kern/mips/loongson/init.c: Likewise.
1677 * grub-core/kern/partition.c: Likewise.
1678 * grub-core/lib/i386/halt.c: Likewise.
1679 * grub-core/lib/mips/arc/reboot.c: Likewise.
1680 * grub-core/lib/mips/loongson/reboot.c: Likewise.
1681 * grub-core/loader/i386/pc/chainloader.c: Likewise.
1682 * grub-core/loader/i386/xnu.c: Likewise.
1683 * grub-core/loader/multiboot.c: Likewise.
1684 * grub-core/net/bootp.c: Likewise.
1685 * grub-core/net/net.c: Likewise.
1686 * grub-core/normal/term.c: Likewise.
1687 * grub-core/partmap/bsdlabel.c: Likewise.
1688 * grub-core/parttool/msdospart.c: Likewise.
1689 * grub-core/term/gfxterm.c: Likewise.
1690 * grub-core/term/terminfo.c: Likewise.
1691 * grub-core/video/i386/pc/vbe.c: Likewise.
1692 * util/grub-menulst2cfg.c: Likewise.
1693 * util/grub-mkdevicemap.c: Likewise.
1694 * util/grub-mklayout.c: Likewise.
1695 * util/grub-mkrelpath.c: Likewise.
1696 * util/grub-script-check.c: Likewise.
1697 * util/ieee1275/grub-ofpathname.c: Likewise.
1698 * util/resolve.c: Likewise.
1699
1700 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1701
1702 Support %1$d syntax.
1703
1704 * tests/printf_unit_test.c: New file.
1705 * Makefile.util.def (printf_test): New test.
1706 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
1707
1708 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1709
1710 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
1711 fix.
1712
1713 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1714
1715 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
1716 dprintf.
1717 * grub-core/font/font.c (grub_font_load): Likewise.
1718
1719 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1720
1721 * util/grub-macho2img.c: Add comment concerning gettext.
1722 * grub-core/lib/legacy_parse.c: Likewise.
1723
1724 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1725
1726 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
1727 (grub_xvasprintf): Likewise.
1728
1729 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1730
1731 Add const keyword to grub_env_get and gettextize week days.
1732
1733 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
1734 (grub_read_hook_datetime): Return const char *.
1735 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
1736 updated.
1737 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
1738 Mark for gettext.
1739 (grub_get_weekday_name): Return const char *. Call gettext.
1740 * grub-core/script/argv.c (grub_script_argv_append): Receive const
1741 char * and len as the argument. All users updated.
1742 (grub_script_argv_split_append): Receive const char *.
1743 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
1744 * include/grub/env.h (grub_env_get): Likewise.
1745 (grub_env_read_hook_t): Return const char *.
1746 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
1747 (grub_script_argv_split_append): Likewise.
1748
1749 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1750
1751 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
1752
1753 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1754
1755 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
1756 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
1757
1758 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1759
1760 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
1761 Fix prototype.
1762
1763 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1764
1765 Fix mips compilation.
1766
1767 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
1768 normal decoder.
1769 (hashes): Use in embed decoder as well (for sizes).
1770 (dec_stream_header): Fix embed decompressor logic.
1771 (dec_stream_footer): Likewise.
1772
1773 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1774
1775 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
1776 an error and not a fatal on unrecognised relocation types.
1777
1778 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1779
1780 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
1781 Issue error rather than printf on unknown arguments.
1782
1783 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1784
1785 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
1786 Make buf a const.
1787
1788 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1789
1790 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
1791 Fix module name.
1792
1793 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1794
1795 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
1796 leftover debug printf.
1797
1798 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1799
1800 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
1801
1802 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1803
1804 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
1805 A stylistic fix.
1806
1807 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1808
1809 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
1810
1811 2011-11-10 Shea Levy <slevy@tieronedesign.com>
1812
1813 Allow all modules to perform serial IO
1814
1815 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
1816 * include/grub/serial.h (grub_serial_port_configure): New inline
1817 function.
1818 (grub_serial_port_fetch): Likewise.
1819 (grub_serial_port_put): Likewise.
1820 (grub_serial_port_fini): Likewise.
1821 (grub_serial_find): New proto.
1822
1823 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1824
1825 Put symlink at the end of the node and fix a potential
1826 memory corruption.
1827
1828 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
1829 Make symlink into an array.
1830 (set_rockridge): Set have_symlink and alloc_dirents.
1831 (grub_iso9660_read_symlink): Use new layout.
1832 (grub_iso9660_iterate_dir): Fix memory corruption.
1833 Use new layout.
1834 (grub_iso9660_dir): Set have_symlink.
1835 (grub_iso9660_open): Likewise.
1836
1837 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1838
1839 Remove local keyword.
1840
1841 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
1842 (version_test_gt): Likewise.
1843 (version_find_latest): Likewise.
1844 (gettext_printf): Likewise.
1845 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
1846
1847 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1848
1849 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
1850
1851 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1852
1853 Fix ZFS memory and resource leaks.
1854
1855 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
1856 All users updated.
1857 Free type on exit.
1858 (fill_vdev_info): New parameter inserted. All users updated.
1859 (check_pool_label): Likewise.
1860 (scan_disk): Likewise.
1861 (scan_devices): Close non-inserted disks.
1862 (fzap_iterate): Free l.
1863 (unmount_device): Free children descripto memory.
1864
1865 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1866
1867 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
1868 argument (access out of bounds).
1869
1870 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1871
1872 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
1873 >= 6 drives.
1874
1875 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1876
1877 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
1878 Fix declaration.
1879
1880 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
1881
1882 Fix several memory leaks.
1883
1884 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
1885 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
1886 (grub_cpio_dir): Likewise.
1887 * grub-core/fs/fat.c (grub_fat_label): Likewise.
1888 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
1889 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
1890 (grub_romfs_label): Likewise.
1891 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
1892 (squash_unmount): New function.
1893 (grub_squash_dir): Fix memory leak.
1894 (grub_squash_open): Likewise.
1895 (grub_squash_read): Likewise.
1896 (grub_squash_mtime): Likewise.
1897 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
1898 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
1899 * util/grub-fstest.c (fstest): Likewise.
1900
1901 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
1902
1903 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
1904 avoid accessing beyond the array.
1905
1906 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
1907
1908 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
1909
1910 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
1911
1912 Several AFFS fixes.
1913
1914 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
1915 (GRUB_AFFS_FLAG_FFS): Removed.
1916 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
1917 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
1918 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
1919 (grub_fshelp_node): Make block 32-bit.
1920 Add block_cache and last_block_cache.
1921 (grub_affs_read_block): Fill and use block cache.
1922 (grub_affs_read_file): Removed.
1923 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
1924 boot block.
1925 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
1926 safety.
1927 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
1928 space.
1929 (grub_affs_close): Free block cache.
1930 (grub_affs_read): Use grub_fshelp_read_file directly.
1931
1932 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1933
1934 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
1935 with no error set.
1936
1937 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1938
1939 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
1940 used variable.
1941 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
1942 Likewise.
1943
1944 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1945
1946 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
1947
1948 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
1949 byteswap when needed.
1950
1951 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1952
1953 Fix FreeBSD compilation.
1954
1955 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
1956 to avoid circular dependency.
1957 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
1958 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
1959 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
1960
1961 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1962
1963 Fix ZFS crypto error types.
1964
1965 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
1966 (grub_gcm_decrypt): Likewise.
1967 (grub_zfs_load_key_real): Fix error code type. Handle possible error
1968 from PBKDF2.
1969
1970 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1971
1972 Illumos support.
1973
1974 * Makefile.util.def (10_illumos): New script.
1975 * configure.ac: Set COND_HOST_ILLUMOS.
1976 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
1977 Support Illumos calls.
1978 (find_partition_start) [__sun__]: Likewise.
1979 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
1980 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
1981 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
1982 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
1983 device.
1984 * util/grub-probe.c (probe) [__sun__]: Do character check.
1985 * util/grub.d/10_illumos.in: New file.
1986
1987 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1988
1989 Support escaped commas in hostdisk.
1990
1991 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
1992 (find_grub_drive): Use unescape_cmp.
1993 (make_device_name): Escape commas.
1994
1995 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1996
1997 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
1998
1999 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2000
2001 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
2002 variable.
2003
2004 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2005
2006 Support trampoline jumps on powerpc.
2007
2008 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
2009 __ia64__ path.
2010 (grub_dl_load_segments): Set mod->sz.
2011 (grub_dl_flush_cache): Flush whole space occupied by module, not just
2012 segments.
2013 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
2014 (jump): Likewise.
2015 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
2016 function.
2017 (trampoline): New struct.
2018 (trampoline_template): New const.
2019 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
2020 * include/grub/dl.h (grub_dl): Add sz element.
2021 [__powerpc__]: Follow __ia64__.
2022 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
2023 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
2024 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
2025 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
2026
2027 2011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
2028
2029 ZFS crypto support.
2030
2031 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
2032 * grub-core/Makefile.core.def (zfscrypt): New module.
2033 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
2034 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
2035 it. All users updated.
2036 (grub_zfs_decrypt): New var.
2037 (grub_zfs_load_key): Likewise.
2038 (zio_checksum_functions): Add SHA256+MAC.
2039 (zio_checksum_verify): Handle incomplete comparison due to MAC.
2040 (zio_read): Handle encrypted blocks.
2041 (zap_verify): Remove incorrect check.
2042 (fzap_iterate): Handle non-standard fzap.
2043 (zap_iterate): Likewise.
2044 (zap_iterate_u64): New function.
2045 (dnode_get_fullpath): Load keys.
2046 * grub-core/fs/zfs/zfscrypt.c: New file.
2047 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
2048 (grub_crypto_ecb_encrypt): Make input const.
2049 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
2050 (grub_crypto_ecb_encrypt): Make input const.
2051 (GRUB_CIPHER_AES): New macro.
2052 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
2053 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
2054 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
2055 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
2056 prefix. All users updated.
2057 (grub_zfs_add_key): New proto.
2058 (grub_zfs_decrypt): Likewise.
2059 (grub_zfs_load_key): Likewise.
2060 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
2061 * util/grub-fstest.c (options): Add -K option.
2062 (argp_parser): Likewise.
2063
2064 2011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
2065
2066 Support zle compression on ZFS.
2067
2068 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
2069 (decomp_table): Add zle.
2070 * include/grub/zfs/zio.h (zio_compress): Add zle.
2071
2072 2011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
2073
2074 Support BtrFS embedding.
2075
2076 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
2077 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
2078 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
2079 * util/grub-setup.c (setup): Use fs embedding if available.
2080 Add additional sanity check.
2081
2082 2011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
2083
2084 * util/grub-install.in: Fix condition for config_opt.
2085
2086 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2087
2088 Support third redundancy strip on raidz3.
2089
2090 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
2091 Return error on singularity. All users updated.
2092 (read_device): Don't stop on 3rd failure on raidz3.
2093
2094 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2095
2096 Support case-insensitive ZFS subvolumes.
2097
2098 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
2099 All users updated.
2100 (zap_hash): Likewise.
2101 (name_cmp): New function.
2102 (zap_leaf_array_equal): New parameter case_insensitive.
2103 All users updated.
2104 (zap_leaf_lookup): Likewise.
2105 (fzap_lookup): Likewise.
2106 (zap_lookup): Likewise.
2107 (dnode_get_path): New parameter case_insensitive. Retrieve case
2108 sensitiviness of a volume. All users updated.
2109 (dnode_get_fullpath): New parameter case_insensitive.
2110 All users updated.
2111 (grub_zfs_dir): Set info.case_insensitiveness.
2112
2113 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2114
2115 Support second redundancy strip on raidz(2,3).
2116
2117 * grub-core/fs/zfs/zfs.c (powx): New array.
2118 (powx_inv): Likewise.
2119 (poly): New const.
2120 (xor_out): New function.
2121 (gf_mul): Likewise.
2122 (recovery): Likewise.
2123 (read_device): Use second redundancy strip.
2124
2125 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2126
2127 Use a power of generator representation of GF(256) multiplication group
2128 to save space time and complexity.
2129
2130 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
2131 (raid6_table2): Likewise.
2132 (powx): New array.
2133 (powx_inv): Likewise.
2134 (poly): New const.
2135 (grub_raid_block_mul): Replace with ...
2136 (grub_raid_block_mulx): ...this.
2137 (grub_raid6_init_table): Rewritten.
2138 (grub_raid6_recover): Use power of generator representation.
2139
2140 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2141
2142 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
2143 for the right device.
2144
2145 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2146
2147 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
2148 expected by grub-mkimage and it's more clear since there is no implicit
2149 padding.
2150
2151 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2152
2153 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
2154 disk.
2155 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
2156
2157 2011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
2158
2159 * util/grub-mkrescue.in: Fix handling xorriso option.
2160
2161 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2162
2163 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
2164 NULL.
2165
2166 2011-11-03 crocket <crockabiscuit@gmail.com>
2167
2168 * util/grub.d/10_linux.in: Add Slackware initrd naming.
2169
2170 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2171
2172 XZ CRC64 and SHA256 support.
2173
2174 * Makefile.util.def (libgrubmods): Add crc64.c.
2175 * grub-core/Makefile.core.def (crc64): New module.
2176 * grub-core/lib/crc64.c: New file.
2177 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
2178 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
2179 Fix the type.
2180 (MAX_HASH_SIZE): New define.
2181 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
2182 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
2183 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
2184 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
2185 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
2186 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
2187 Handle non-crc32 hashes.
2188 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
2189 (dec_stream_header): Handle non-crc32 hashes.
2190 (dec_stream_footer): Likewise.
2191 (dec_block_header): Likewise.
2192 (dec_main): Likewise.
2193 (xz_dec_init): Likewise.
2194 (xz_dec_reset): Likewise.
2195 (xz_dec_end): Likewise.
2196 * util/import_gcry.py: Add CRC64 line.
2197
2198 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2199
2200 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
2201 as well.
2202
2203 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2204
2205 Make reiserfs label retrieval similar to other *_label functions.
2206
2207 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
2208 (REISERFS_MAX_LABEL_LENGTH): Removed.
2209 (REISERFS_LABEL_OFFSET): Likewise.
2210 (grub_reiserfs_label): Rewritten.
2211
2212 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2213
2214 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
2215 field.
2216
2217 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2218
2219 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
2220
2221 2011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2222
2223 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
2224 drive failure on both raidz and raidz2.
2225
2226 2011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2227
2228 Fix RAIDZ(2) for >= 5 devices.
2229
2230 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
2231 asize argument. All users updated.
2232
2233 2011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2234
2235 Fix RAIDZ(2).
2236
2237 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
2238 (fill_vdev_info_real): Set ashift.
2239 (read_device): Rewrite RAIDZ part based on reverse engineering.
2240
2241 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
2242
2243 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
2244 don't report potentially unavialiable fields in debug output.
2245 (find_path): Fix double-free and memory leak.
2246
2247 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
2248
2249 Read label on UFS1.
2250
2251 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
2252 (grub_ufs_fs): Always set .label.
2253
2254 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
2255
2256 Use shifts in UFS.
2257
2258 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
2259 (grub_ufs_data): New field log2_blksz.
2260 (grub_ufs_read_file): Use shifts.
2261 (grub_ufs_mount): Check block size and logarithm it.
2262
2263 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
2264
2265 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
2266 long symlinks.
2267
2268 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2269
2270 Handle symlinks and long names on tar and cpio.
2271
2272 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
2273 (ATTR_FILE): Likewise.
2274 (ATTR_DIR): Likewise.
2275 (ATTR_LNK): Likewise.
2276 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
2277 (grub_cpio_find_file): Fill mode, handle linkname field as well as
2278 L and K entries.
2279 (grub_cpio_mount): Zero-fill data.
2280 (handle_symlink): New function.
2281 (grub_cpio_dir): Handle symlinks.
2282 (grub_cpio_open): Likewise.
2283 (grub_cpio_close) [MODE_USTAR]: Free linkname.
2284
2285 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2286
2287 Fix iso9660 filename limitations and fix memory leaks.
2288
2289 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
2290 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
2291
2292 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2293
2294 Fix JFS file name length limitations.
2295
2296 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
2297 (grub_jfs_diropen): Fix maximum filename length.
2298 (grub_jfs_getent): Fix filename length.
2299 (grub_jfs_lookup_symlink): Fix size checks.
2300
2301 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2302
2303 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
2304 string.
2305
2306 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2307
2308 Leverage BFS implementation to read AFS.
2309
2310 * Makefile.util.def (libgrubmods): Add afs.c.
2311 * grub-core/Makefile.core.def (afs): New module
2312 * grub-core/fs/afs.c: New file.
2313 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
2314
2315 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2316
2317 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
2318
2319 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2320
2321 * grub-core/fs/bfs.c: Run indent.
2322
2323 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2324
2325 BFS implementation based on the specification.
2326
2327 * grub-core/fs/bfs.c: New file.
2328 * Makefile.util.def (libgrubmods): Add bfs.c.
2329 * grub-core/Makefile.core.def (bfs): New module.
2330
2331 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2332
2333 * util/grub-fstest.c (cmd_cp): Clarify error message.
2334 (cmd_cmp): Likewise.
2335
2336 2011-10-30 Yves Blusseau <blusseau@zetam.org>
2337
2338 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
2339 and befs_be.
2340
2341 2011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
2342
2343 Remove afs and befs because of copyright problem.
2344
2345 * grub-core/fs/afs.c: Removed.
2346 * grub-core/fs/afs_be.c: Removed.
2347 * grub-core/fs/befs.c: Removed.
2348 * grub-core/fs/befs_be.c: Removed.
2349 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
2350 * grub-core/Makefile.core.def (afs): Removed.
2351 (afs_be): Likewise.
2352 (befs): Likewise.
2353 (befs_be): Likewise.
2354
2355 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2356
2357 Prefer rockridge over Joliet.
2358
2359 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
2360 to ...
2361 (set_rockridge): ... here.
2362 (grub_iso9660_mount): Check rockridge on the primary label when
2363 discovering. Ignore Joliet if Rockridge is present.
2364
2365 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2366
2367 Use shifts in nilfs2.
2368
2369 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
2370 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
2371 (grub_nilfs2_palloc_entries_per_group): Replace with ...
2372 (grub_nilfs2_log_palloc_entries_per_group): ... this.
2373 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
2374 (grub_nilfs2_entries_per_block): Replaced with ...
2375 (grub_nilfs2_log_entries_per_block_log): ... this.
2376 (grub_nilfs2_blocks_per_group): Replaced with ...
2377 (grub_nilfs2_blocks_per_group_log): ... this.
2378 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
2379 (grub_nilfs2_blocks_per_desc_block_log): ... this.
2380 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
2381 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
2382 (grub_nilfs2_palloc_entry_offset): Replaced ...
2383 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
2384 (grub_nilfs2_dat_translate): Use shifts.
2385 (grub_nilfs2_read_inode): Likewise.
2386 (GRUB_MOD_INIT): Ensure that logs are correct.
2387
2388 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2389
2390 Use shifts in minix filesystem.
2391
2392 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
2393 (GRUB_MINIX_ZONE2SECT): Likewise.
2394 (grub_minix_data): Replace block_size with log_block_size.
2395 (grub_minix_read_file): Use shifts.
2396 (grub_minix_mount): Check block size and take a logarithm.
2397
2398 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2399
2400 Use shifts in squash4.
2401
2402 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
2403 (squash_mount): Check block size and take logarithm.
2404 (direct_read): Use shifts.
2405
2406 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2407
2408 Correct befs block counting logic.
2409
2410 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
2411 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
2412 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
2413 (grub_afs_read_inode): Use block_shift.
2414 (RANGE_SHIFT): New definition.
2415 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
2416 unexpected conditions, use shifts and appropriate types.
2417 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
2418
2419 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2420
2421 * grub-core/disk/raid.c (scan_devices): Check partition.
2422 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
2423
2424 2011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
2425
2426 Support BFS (befs) UUID.
2427
2428 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
2429 (grub_afs_small_data_element_header): New struct.
2430 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
2431 (grub_afs_read_attribute) [MODE_BFS]: New function.
2432 (grub_afs_iterate_dir): Allocate for complete inode.
2433 (grub_afs_mount): Likewise.
2434 (grub_afs_uuid) [MODE_BFS]: New function.
2435 (grub_afs_fs) [MODE_BFS]: Add .uuid.
2436
2437 2011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
2438
2439 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
2440 (zfs_unmount): Fix memory leak.
2441
2442 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2443
2444 Support NTFS reparse points.
2445
2446 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
2447 (symlink_descriptor): New struct.
2448 (grub_ntfs_read_symlink): New function.
2449 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
2450 (grub_ntfs_open): Likewise.
2451
2452 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2453
2454 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
2455
2456 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2457
2458 fstest xnu_uuid subcommand.
2459
2460 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
2461 grub-core/commands/xnu_uuid.c.
2462 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
2463 (fstest): Handle xnu_uuid.
2464 (options): Document xnu_uuid.
2465 (argp_parser): Parse xnu_uuid.
2466
2467 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2468
2469 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
2470 -l argument. Add newline at the end if printing.
2471 (GRUB_MOD_INIT): Document -l.
2472
2473 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2474
2475 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
2476
2477 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2478
2479 ZFS multi-device and version 33 support.
2480
2481 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
2482 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
2483 (grub_zfs_data): Add multidev-ice-related fields.
2484 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
2485 (dva_get_offset): Make dva const.
2486 (zfs_fetch_nvlist): New function.
2487 (fill_vdev_info_real): Likewise.
2488 (fill_vdev_info): Likewise.
2489 (check_pool_label): Likewise.
2490 (scan_disk): Likewise.
2491 (scan_devices): Likewise.
2492 (read_device): Likewise.
2493 (read_dva): Likewise.
2494 (zio_read_gang): Use read_dva.
2495 (zio_read_data): Likewise.
2496 (zap_leaf_lookup): Add missing endian conversion.
2497 (zap_verify): Add missing endian conversion. All users updated.
2498 (fzap_lookup): Likewise.
2499 (fzap_iterate): Likewise.
2500 (dnode_get_path): Handle SA bonus.
2501 (nvlist_find_value): Make input const. All users updated.
2502 (unmount_device): New function.
2503 (zfs_unmount): Use unmount_device.
2504 (zfs_mount): Use scan_disk.
2505 (zfs_mtime): New function.
2506 (grub_zfs_open): Handle system attributes.
2507 (fill_fs_info): Likewise.
2508 (grub_zfs_dir): Likewise.
2509 (grub_zfs_fs): Add mtime.
2510 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
2511 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
2512 (SA_MTIME_OFFSET): Likewise.
2513 (SA_SYMLINK_OFFSET): Likewise.
2514 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
2515 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
2516 (fstest): Support zfsinfo.
2517 (argp_parser): Likewise.
2518
2519 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2520
2521 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
2522 error.
2523
2524 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2525
2526 ZFS fixes.
2527
2528 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
2529 sharing the same block. Iterate over correct number of indices.
2530 (dnode_get_path): Handle symlinks correctly.
2531
2532 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2533
2534 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
2535
2536 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2537
2538 Read label on HFS+.
2539
2540 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
2541 (grub_hfsplus_btree_search): Fix types.
2542 (grub_hfsplus_label): Implement.
2543
2544 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2545
2546 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
2547
2548 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2549
2550 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
2551
2552 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2553
2554 Fix symlink handling on iso9660.
2555
2556 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
2557 All users updated.
2558 (grub_iso9660_susp_iterate): Accept zero-size iterate.
2559 (grub_iso9660_read_symlink): Moved most of code ...
2560 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
2561
2562 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2563
2564 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
2565 Use union to avoid breaking strict-aliasing rules.
2566
2567 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2568
2569 Support multi-extent iso files.
2570
2571 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
2572 Add node.
2573 (grub_fshelp_node): Revamp. All users updated.
2574 (FLAG_*): New enum.
2575 (read_node): New function.
2576 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
2577 All users updated.
2578 (grub_iso9660_mount): Don't attempt to read sua when there is none.
2579 (get_node_size): New function.
2580 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
2581 entries.
2582 Fix memory leak on . and ..
2583 (grub_iso9660_read): Use read_node.
2584 (grub_iso9660_close): Free node.
2585
2586 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2587
2588 Fix tar 4G limit and handle paths containing dot.
2589
2590 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
2591 (canonicalize): New function.
2592 (grub_cpio_find_file): Use canonicalize. Store offs in
2593 grub_disk_addr_t.
2594 (grub_cpio_dir): Use grub_disk_addr_t.
2595 (grub_cpio_open): Likewise.
2596
2597 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2598
2599 Fix handling of uncompressed blocks on squashfs and break 4G limit.
2600
2601 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
2602 unused flags.
2603 (grub_squash_inode): Add long_file and block_size.
2604 (grub_squash_cache_inode): New struct.
2605 (grub_squash_dirent): Make types into enum.
2606 (SQUASH_TYPE_LONG_REGULAR): New type.
2607 (grub_squash_frag_desc): Add field size.
2608 (SQUASH_BLOCK_FLAGS): New enum.
2609 (grub_squash_data): Use grub_squash_cache_inode.
2610 (grub_fshelp_node): Make ino_chunk 64-bit.
2611 (read_chunk): Minor argument change. All users updated.
2612 (squash_mount): Use correct le_to_cpu.
2613 (grub_squash_open): Handle LONG_REGULAR.
2614 (direct_read): New function.
2615 (grub_squash_read_data): Handle blocks correctly.
2616
2617 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2618
2619 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
2620
2621 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2622
2623 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
2624
2625 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
2626
2627 Fix 2G limit on ZFS.
2628
2629 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
2630 types.
2631 (uberblock_verify): Likewise.
2632 (dmu_read): Likewise.
2633 (grub_zfs_read): Likewise. Remove invalid cast.
2634
2635 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
2636
2637 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
2638 (grub_jfs_blkno): Fix incorrect shift.
2639 (grub_jfs_read_file): Use more appropriate types.
2640
2641 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
2642
2643 Support triple indirect on minix2 and minix3.
2644
2645 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
2646 Declare triple_indir_zone.
2647 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
2648 indirect.
2649
2650 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
2651
2652 Minix FS fixes.
2653
2654 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
2655 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
2656 Rename ctime to mtime. All users updated.
2657 (grub_minix_get_file_block): Fix types and double indirect computations.
2658
2659 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2660
2661 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
2662 if no label is found.
2663 (grub_fat_iterate_dir): Fix file size type.
2664 (grub_fat_iterate_dir): Likewise.
2665
2666 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2667
2668 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
2669 save some space.
2670 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
2671 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
2672
2673 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2674
2675 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
2676
2677 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2678
2679 * util/import_gcry.py: Accept space between # and include.
2680
2681 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2682
2683 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
2684
2685 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2686
2687 Fine grainely disable warnings on lexer. Remove Wno-error on it.
2688
2689 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
2690 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
2691 yylex_strncpy.
2692 * grub-core/script/yylex.l: Add fine-grained #pragma.
2693
2694 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2695
2696 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
2697 New inline function.
2698 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
2699 Likewise.
2700 (memset) [GRUB_UTIL]: Likewise.
2701 (memcmp) [GRUB_UTIL]: Likewise.
2702
2703 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2704
2705 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
2706 inline function rather than a define.
2707
2708 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2709
2710 * util/grub-setup.c: Add missing include.
2711
2712 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2713
2714 * util/ieee1275/grub-ofpathname.c: Add missing include.
2715
2716 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2717
2718 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
2719 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
2720 Likewise.
2721
2722 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2723
2724 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
2725 grub_memcmp usage.
2726
2727 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2728
2729 * util/grub-install.in: Add datarootdir as per automake manual
2730 suggestion.
2731 * util/grub-mknetdir.in: Likewise.
2732
2733 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2734
2735 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
2736 suggestion.
2737 * util/grub.d/10_kfreebsd.in: Likewise.
2738 * util/grub.d/10_linux.in: Likewise.
2739 * util/grub.d/10_netbsd.in: Likewise.
2740 * util/grub.d/10_windows.in: Likewise.
2741 * util/grub.d/20_linux_xen.in: Likewise.
2742
2743 2011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2744
2745 Remove redundant grub_kernel_image_size.
2746
2747 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
2748 _edata and _start.
2749 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
2750 the small code. It moves it only by few bytes but simplifies the code.
2751 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
2752 _start.
2753 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
2754 (grub_kernel_image_size): Removed.
2755 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
2756 (grub_kernel_image_size): Removed.
2757 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
2758 compiled with Apple toolchain.
2759 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
2760 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
2761 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
2762 (grub_total_module_size): Likewise.
2763 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
2764 Removed.
2765 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
2766 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
2767 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
2768 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
2769 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
2770 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
2771 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
2772 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
2773 Removed.
2774 (grub_total_module_size): Removed.
2775 * util/grub-mkimage.c (image_target_desc): Remove image_size.
2776 (image_targets): Likewise.
2777 Set .compressed_size to no field on sparc.
2778 (generate_image): Remove kernel_image_size handling.
2779
2780 2011-10-19 Szymon Janc <szymon@janc.net.pl>
2781
2782 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
2783 NULL pointer dereference.
2784
2785 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2786
2787 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
2788 done with a dedicated section.
2789
2790 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
2791 Ensure the correct position of boot_path.
2792 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
2793 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
2794 other fields.
2795 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
2796 * include/grub/boot.h: Removed. All references removed.
2797 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
2798 Removed.
2799 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
2800
2801 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2802
2803 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
2804 name.
2805
2806 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2807
2808 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
2809
2810 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2811
2812 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
2813 Don't add the bogus brackets.
2814
2815 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2816
2817 ExFAT support.
2818
2819 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
2820 * grub-core/Makefile.core.def (exfat): New module.
2821 * grub-core/fs/exfat.c: New file.
2822 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
2823 (GRUB_FAT_ATTR_*): Make into an enum.
2824 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
2825 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
2826 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
2827 (GRUB_FAT_MAXFILE): Removed.
2828 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
2829 (grub_current_fat_bpb_t): New type.
2830 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
2831 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
2832 (grub_fat_dir_node_t): New type.
2833 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
2834 (fat_log2) [MODE_EXFAT]: Removed.
2835 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
2836 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
2837 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
2838 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
2839 (grub_fat_label) [MODE_EXFAT]: New function.
2840 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
2841 reserved_first_sector to 0.
2842
2843 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2844
2845 Move grub_reboot out of the kernel.
2846
2847 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
2848 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
2849 * grub-core/lib/efi/reboot.c: ... here.
2850 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
2851 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
2852 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
2853 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
2854 * grub-core/lib/i386/reboot_trampoline.S: ... here.
2855 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
2856 * grub-core/lib/ieee1275/reboot.c: ... here.
2857 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
2858 * grub-core/lib/mips/arc/reboot.c: ... here.
2859 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
2860 * grub-core/lib/mips/loongson/reboot.c: ...here.
2861 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
2862 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
2863 * include/grub/emu/misc.h (grub_reboot): New function declaration.
2864 * include/grub/i386/reboot.h: New file.
2865 * include/grub/mips/loongson/ec.h: Fix includes.
2866 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
2867 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
2868 * grub-core/lib/i386/reboot.c: New file.
2869
2870 2011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2871
2872 Make grub_prefix into module to fix the arbitrary limit and save
2873 some space.
2874
2875 * grub-core/kern/emu/main.c (grub_prefix): Removed.
2876 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
2877 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
2878 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
2879 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
2880 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
2881 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
2882 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
2883 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
2884 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
2885 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
2886 * include/grub/ia64/efi/kernel.h: Removed.
2887 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
2888 (grub_prefix): Removed.
2889 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
2890 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
2891 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
2892 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
2893 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
2894 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
2895 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
2896 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
2897 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
2898 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
2899 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
2900 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
2901 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
2902 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
2903 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
2904 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
2905 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
2906 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
2907 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
2908 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
2909 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
2910 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
2911 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
2912 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
2913 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
2914 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
2915 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
2916 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
2917 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
2918 from module.
2919 * util/grub-mkimage.c (image_target_desc): Removed prefix and
2920 prefix_end.
2921 (image_targets): Likewise.
2922 (generate_image): Put prefix as a module.
2923
2924 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2925
2926 Replace grub_module_iterate with FOR_MODULES.
2927
2928 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
2929 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
2930 (grub_efi_modules_addr): ...this.
2931 * grub-core/kern/efi/init.c (grub_modbase): New variable.
2932 (grub_efi_init): Set grub_modbase.
2933 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
2934 (grub_modbase): New variable.
2935 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
2936 (grub_modbase): New variable.
2937 (grub_machine_init): Set grub_modbase.
2938 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
2939 (grub_modbase): New variable.
2940 (grub_machine_init): Set grub_modbase.
2941 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
2942 (grub_modbase): New variable.
2943 (grub_machine_init): Set grub_modbase.
2944 * grub-core/kern/main.c (grub_module_iterate): Remove.
2945 (grub_modules_get_end): Use grub_modbase.
2946 (grub_load_modules): Use FOR_MODULES.
2947 (grub_load_config): Likewise.
2948 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
2949 (grub_modbase): New variable.
2950 (grub_machine_init): Set grub_modbase.
2951 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
2952 (grub_modbase): New variable.
2953 (grub_machine_init): Set grub_modbase.
2954 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
2955 Removed.
2956 (grub_modbase): New variable.
2957 (grub_machine_init): Set grub_modbase.
2958 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
2959 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
2960 (grub_module_iterate): Likewise.
2961 (grub_modbase): New variable declaration.
2962 (FOR_MODULES): New macro.
2963
2964 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2965
2966 * configure.ac: Check for __ctzdi2 and __ctzsi2.
2967 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
2968
2969 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2970
2971 Fix few obvious type discrepancies.
2972
2973 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
2974 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
2975 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
2976 variable.
2977 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
2978 and connected types.
2979 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
2980 offset.
2981 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
2982 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
2983 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
2984 and connected types.
2985
2986 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2987
2988 Fix python 3.x incompatibilities.
2989
2990 * gentpl.py: Put brackets around print strings.
2991 * util/import_gcry.py: Open explicitly as utf-8.
2992 Use in instead of has_key.
2993
2994 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2995
2996 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
2997 (GRUB_XFS_INO_AGBITS): Make into inline function.
2998 (GRUB_XFS_INO_INOINAG): Likewise.
2999 (GRUB_XFS_INO_AG): Likewise.
3000 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
3001 (GRUB_XFS_EXTENT_OFFSET): Likewise.
3002 (GRUB_XFS_EXTENT_BLOCK): Likewise.
3003 (GRUB_XFS_EXTENT_SIZE): Likewise.
3004 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
3005 (GRUB_XFS_NEXT_DIRENT): Likewise.
3006 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
3007 (grub_xfs_read_file): Fix offset type.
3008
3009 2011-10-15 Robert Millan <rmh@gnu.org>
3010
3011 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
3012
3013 2011-10-15 Robert Millan <rmh@gnu.org>
3014
3015 Fix build problem on FreeBSD and GNU/kFreeBSD.
3016
3017 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
3018
3019 2011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
3020
3021 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
3022
3023 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
3024 types.
3025 (grub_hfsplus_btree_recoffset): Likewise.
3026 (grub_hfsplus_btree_recptr): Likewise.
3027 (grub_hfsplus_find_block): Likewise.
3028 (grub_hfsplus_btree_search): Likewise.
3029 (grub_hfsplus_read_block): Likewise.
3030 (grub_hfsplus_read_file): Likewise.
3031 (grub_hfsplus_mount): Likewise.
3032 (grub_hfsplus_btree_iterate_node): Likewise.
3033 (grub_hfsplus_btree_search): Likewise.
3034 (grub_hfsplus_iterate_dir): Likewise.
3035 (grub_hfsplus_read): A small code simplification.
3036
3037 2011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
3038
3039 * grub-core/kern/emu/hostdisk.c
3040 (convert_system_partition_to_system_disk): Don't assume that children
3041 of mapper nodes are mapper nodes.
3042
3043 2011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
3044
3045 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
3046 * include/grub/misc.h (grub_isxdigit): New function.
3047 * grub-core/video/colors.c (my_isxdigit): Removed. All users
3048 switched to grub_isxdigit.
3049 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
3050 number starting with a letter.
3051
3052 2011-10-09 Robert Millan <rmh@gnu.org>
3053
3054 LVM support for FreeBSD and GNU/kFreeBSD.
3055
3056 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
3057 GNU/kFreeBSD.
3058 (LVM_DEV_MAPPER_STRING): Move from here ...
3059 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
3060 * util/getroot.c: Include `<grub/util/lvm.h>'.
3061 (grub_util_get_dev_abstraction): Enable
3062 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
3063 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
3064 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
3065 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
3066 support it.
3067 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
3068 GNU/kFreeBSD.
3069 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
3070 when LVM abstraction is required for ${GRUB_DEVICE}.
3071
3072 2011-10-06 Szymon Janc <szymon@janc.net.pl>
3073
3074 Add support for LZO compression in GRUB:
3075 - import of minilzo library,
3076 - LZO decompression for btrfs,
3077 - lzop files decompression.
3078
3079 * grub-core/io/lzopio.c: New file.
3080 * grub-core/lib/adler32.c: Likewise.
3081 * grub-core/lib/minilzo/lzoconf.h: Likewise.
3082 * grub-core/lib/minilzo/lzodefs.h: Likewise.
3083 * grub-core/lib/minilzo/minilzo.c: Likewise.
3084 * grub-core/lib/minilzo/minilzo.h: Likewise.
3085 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
3086 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
3087 grub-core/lib/minilzo/minilzo.c to common.
3088 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
3089 cflags in cppflags.
3090 * grub-core/Makefile.core.def (btrfs): Likewise.
3091 * grub-core/Makefile.core.def (lzopio): New module.
3092 (adler32): Likewise.
3093 * grub-core/fs/btrfs.c: Include minilzo.h.
3094 (GRUB_BTRFS_COMPRESSION_LZO): New define.
3095 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
3096 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
3097 (grub_btrfs_lzo_decompress): New function.
3098 (grub_btrfs_extent_read): Add support for LZO compression type.
3099 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
3100 (GRUB_USHRT_MAX): Likewise.
3101 (GRUB_UINT_MAX): Likewise.
3102 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
3103 (UINT_MAX): Likewise.
3104 (CHAR_BIT): Likewise.
3105 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
3106 grub-core/lib/posix_wrap/limits.h
3107 (UCHAR_MAX): Likewise.
3108 * include/grub/file.h (grub_file_filter_id): New compression filter
3109 GRUB_FILE_FILTER_LZOPIO.
3110 * include/grub/file.h (grub_file_filter_id): Set
3111 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
3112 * include/grub/types.h (grub_get_unaligned16): New function.
3113 (grub_get_unaligned32): Likewise.
3114 (grub_get_unaligned64): Likewise.
3115 * util/import_gcry.py (cryptolist): Add adler32.
3116
3117 2011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
3118
3119 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
3120 in perspective decreases the complexity of build system and fixes
3121 compilation right now.
3122
3123 2011-10-01 Ales Nesrsta <starous@volny.cz>
3124
3125 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
3126 (fixed problem related to using UHCI with coreboot).
3127
3128 2011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
3129
3130 * gentpl.py: Use Autogen macros so that the output template file
3131 (Makefile.tpl) size is reduced.
3132
3133 2011-09-29 Mads Kiilerich <mads@kiilerich.com>
3134
3135 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
3136 extra_dist.
3137
3138 2011-09-29 Mario Limonciello <mario_limonciello@dell.com>
3139
3140 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
3141 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
3142
3143 2011-09-29 Mario Limonciello <mario_limonciello@dell.com>
3144
3145 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
3146 _fullpath.
3147
3148 2011-09-29 Mario Limonciello <mario_limonciello@dell.com>
3149
3150 Remove extra declaration of sleep for mingw32.
3151
3152 * util/misc.c (sleep) [__MINGW32__]: Removed.
3153 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
3154
3155 2011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
3156
3157 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
3158 type and packname.
3159 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
3160 Resurrected.
3161 (NETBSD_BTINFO_BOOTWEDGE): New definition.
3162 (grub_netbsd_btinfo_bootwedge): New struct.
3163 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
3164 New function.
3165 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
3166
3167 2011-09-28 Thomas Haller <thomas.haller@fen-net.de>
3168
3169 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
3170 loader.
3171
3172 2011-09-28 Andreas Born <futur.andy@googlemail.com>
3173
3174 Fix incorrect identifiers in bash-completion.
3175
3176 * util/bash-completion.d/grub-completion.bash.in
3177 (_grub_mkpasswd-pbkdf2): Rename to ...
3178 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
3179 (_grub_script-check): Rename to ...
3180 (_grub_script_check): ... this. All users updated.
3181
3182 2011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
3183
3184 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
3185 Return 0 if disk isn't biosdisk.
3186
3187 2011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
3188
3189 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
3190 on NetBSD.
3191 * Makefile.util.def (grub-fstest): Likewise.
3192
3193 2011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
3194
3195 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
3196 Get sector size from disk label.
3197
3198 2011-09-05 Colin Watson <cjwatson@ubuntu.com>
3199
3200 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
3201 */README* as well as README*.
3202 Reported by: Axel Beckert.
3203
3204 2011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3205
3206 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
3207 case of less than 256 MiB of RAM.
3208
3209 2011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3210
3211 * grub-core/commands/wildcard.c (make_regex): Handle @.
3212
3213 2011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3214
3215 * util/grub-install.in: Move cryptodisk logic to appropriate place.
3216
3217 2011-08-21 Szymon Janc <szymon@janc.net.pl>
3218
3219 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
3220 AC_LANG_CONFTEST macros.
3221
3222 2011-08-20 Szymon Janc <szymon@janc.net.pl>
3223
3224 Add grub-fstest option to uncompress data for commands.
3225
3226 * util/grub-fstest.c (uncompress): New var.
3227 (options): New option -u.
3228
3229 2011-08-20 Szymon Janc <szymon@janc.net.pl>
3230
3231 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
3232 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
3233
3234 2011-08-20 Szymon Janc <szymon@janc.net.pl>
3235
3236 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
3237 file type was not recognized correctly (not gzip or corrupted).
3238
3239 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
3240
3241 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
3242 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
3243
3244 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
3245
3246 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
3247 loongson.
3248 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
3249 video_radeon_fuloong2e.
3250 * grub-core/video/radeon_fuloong2e.c: New file.
3251 * include/grub/video.h (grub_video_id_t): Add new ID
3252 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
3253
3254 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
3255
3256 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
3257 define.
3258 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
3259 that PRID matches the detected subplatform and reset the subplatform
3260 if it doesn't.
3261
3262 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
3263
3264 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
3265
3266 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
3267
3268 Fix PCI iterating on functions >= 4.
3269
3270 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
3271 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
3272 Removed.
3273 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
3274 (grub_pci_read): Fix bitmask.
3275 (grub_pci_read_word): Likewise.
3276 (grub_pci_read_byte): Likewise.
3277 (grub_pci_write): Likewise.
3278 (grub_pci_write_word): Likewise.
3279 (grub_pci_write_byte): Likewise.
3280
3281 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
3282
3283 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
3284 can still be specified in TARGET_CFLAGS)
3285
3286 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
3287
3288 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
3289
3290 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
3291 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
3292 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
3293 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
3294 (FULOONG): Rename to ...
3295 (FULOONG2F): ... this. All users updated.
3296 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
3297 (machtype_fuloong2f_str): ... this.
3298 (machtype_fuloong2e_str): New string.
3299 Check for machtype_fuloong2e_str.
3300 * grub-core/loader/mips/linux.c (loongson_machtypes)
3301 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
3302 * grub-core/term/serial.c (loongson_defserial)
3303 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
3304 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
3305 loongson_defserial.
3306 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
3307 Rename to ...
3308 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
3309 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
3310 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
3311 to IMAGE_FULOONG2F_FLASH. All users updated.
3312 (image_targets): Rename images.
3313 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
3314
3315 2011-08-19 Szymon Janc <szymon@janc.net.pl>
3316
3317 Make enable of disk cache statistics code configurable.
3318
3319 * configure.ac: --enable-cache-stats added.
3320 * config.h.in (DISK_CACHE_STATS): New define.
3321 * grub-core/Makefile.core.def (cacheinfo): New command.
3322 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
3323 * grub-core/commands/cacheinfo.c: New file.
3324 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
3325 moved to cacheinfo.c.
3326 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
3327 debug code.
3328 * include/grub/disk.h: Likewise.
3329
3330 2011-08-19 Szymon Janc <szymon@janc.net.pl>
3331
3332 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
3333 * grub-core/Makefile.am: Likewise.
3334
3335 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
3336
3337 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
3338 non-zero pull.
3339
3340 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
3341
3342 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
3343 All users updated.
3344 (grub_jfs_lookup_symlink): Use correct starting inode.
3345
3346 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
3347
3348 * util/grub-setup.c (main): Add missing gcry initialisation.
3349
3350 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
3351
3352 Don't accept text modes on EFI when booting Linux.
3353
3354 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
3355 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
3356
3357 2011-08-15 Mario Limonciello <mario_limonciello@dell.com>
3358 2011-08-15 Colin Watson <cjwatson@ubuntu.com>
3359
3360 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
3361 use of "/path/.." as in grub-install for EFI as well as handling
3362 symlinks correctly.
3363 Fixes Debian bug #637768.
3364
3365 2011-08-15 Colin Watson <cjwatson@ubuntu.com>
3366
3367 * util/grub-probe.c: Remove duplicate #include.
3368
3369 2011-08-10 Robert Millan <rmh@gnu.org>
3370
3371 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
3372
3373 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
3374 function.
3375 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
3376 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
3377
3378 2011-08-03 Robert Millan <rmh@gnu.org>
3379
3380 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
3381 la_array as packed.
3382 Reported by: Zachary Bedell
3383
3384 2011-07-26 Colin Watson <cjwatson@ubuntu.com>
3385
3386 * configure.ac: The Loongson port requires grub-mkfont due to its
3387 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
3388 be built.
3389
3390 2011-07-26 Colin Watson <cjwatson@ubuntu.com>
3391
3392 * util/grub-install.in: Don't source grub-mkconfig_lib until after
3393 processing arguments (otherwise help2man fails when GRUB has not yet
3394 been installed).
3395
3396 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
3397
3398 New script grub-mkstandalone.
3399
3400 * Makefile.util.def (grub-mkstandalone): New script.
3401 * docs/man/grub-mkstandalone.h2m: New file.
3402 * util/grub-mkstandalone.in: Likewise.
3403
3404 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
3405
3406 Support ATA disks with 4K sectors.
3407
3408 * include/grub/ata.h (grub_ata): New member log_sector_size.
3409 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
3410 (grub_ata_identify): Read sector size.
3411 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
3412
3413 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
3414
3415 * util/grub-install.in: Don't use uhci outside of x86.
3416
3417 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
3418
3419 * util/grub-mkrescue.in: Add missing quotes.
3420
3421 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
3422
3423 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
3424 dereference.
3425
3426 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
3427
3428 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
3429
3430 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
3431
3432 * include/grub/video.h: add missing EXPORT_FUND on
3433 grub_video_edid_checksum and grub_video_edid_preferred_mode.
3434
3435 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
3436
3437 * include/grub/mips/kernel.h: Fix define conflict.
3438
3439 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
3440
3441 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
3442 all four ways.
3443
3444 2011-07-21 Colin Watson <cjwatson@ubuntu.com>
3445
3446 Preferred resolution detection for VBE.
3447
3448 * grub-core/video/video.c (grub_video_edid_checksum): New function.
3449 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
3450 the Flat Panel extension, in line with the X.org VESA driver.
3451 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
3452 New function.
3453 (grub_vbe_bios_get_ddc_capabilities): Likewise.
3454 (grub_vbe_bios_read_edid): Likewise.
3455 (grub_vbe_get_preferred_mode): Likewise.
3456 (grub_video_vbe_setup): When the mode is "auto", try to get the
3457 preferred mode from VBE, and use the largest mode that is no larger
3458 than the preferred mode (some BIOSes expose a preferred mode that is
3459 not in their mode list!). If this fails, fall back to 640x480 as a
3460 safe conservative choice.
3461 (grub_video_vbe_get_edid): New function.
3462 (grub_video_vbe_adapter): Add get_edid.
3463 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
3464 (struct grub_video_adapter): Add get_edid.
3465 (grub_video_edid_checksum): Add prototype.
3466 (grub_video_edid_preferred_mode): Likewise.
3467 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
3468 structure.
3469
3470 * grub-core/commands/videoinfo.c (print_edid): New function.
3471 (grub_cmd_videoinfo): Print EDID if available.
3472
3473 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
3474 is more appropriate on a wider range of platforms than 640x480.
3475 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
3476 documentation.
3477
3478 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
3479
3480 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
3481
3482 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
3483
3484 * po/POTFILES.in: Regenerate.
3485
3486 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
3487
3488 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
3489 incorrect memory usage.
3490
3491 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
3492
3493 * util/grub-install.in: Source grub-mkconfig_lib.
3494
3495 2011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
3496
3497 Remove getroot.c from core on emu platform.
3498
3499 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
3500 kern/emu/raid.c.
3501 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
3502 useless.
3503 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
3504 * util/getroot.c (get_win32_path): ... here.
3505 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
3506 * util/getroot.c (fini_libzfs): ... here.
3507 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
3508 * util/getroot.c (grub_get_libzfs_handle): ... here.
3509 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
3510 Moved from here...
3511 * util/getroot.c (grub_find_zpool_from_dir): ... here.
3512 * grub-core/kern/emu/misc.c
3513 (grub_make_system_path_relative_to_its_root): Moved from here...
3514 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
3515 * grub-core/kern/emu/getroot.c: Moved from here ...
3516 * util/getroot.c: ... here. All users updated.
3517 * grub-core/kern/emu/raid.c: Moved from here ...
3518 * util/raid.c: ... here. All users updated.
3519
3520 2011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
3521
3522 * po/POTFILES.in: Regenerate.
3523
3524 2011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
3525
3526 Fix compilation on GNU/Linux.
3527
3528 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
3529 Disable geli.
3530 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
3531 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
3532 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
3533
3534 2011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
3535 2011-07-07 Michael Gorven <michael@gorven.za.net>
3536 2011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
3537
3538 LUKS and GELI support.
3539
3540 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
3541 grub-core/disk/luks.c, grub-core/disk/geli.c,
3542 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
3543 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
3544 grub-core/lib/arg.c.
3545 (libgrubmods.a): Remove gcrypts cflags and cppflags.
3546 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
3547 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
3548 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
3549 (grub-bin2h): Add libgcry.a.
3550 (grub-mkimage): Likewise.
3551 (grub-mkrelpath): Likewise.
3552 (grub-script-check): Likewise.
3553 (grub-editenv): Likewise.
3554 (grub-mkpasswd-pbkdf2): Likewise.
3555 (grub-pe2elf): Likewise.
3556 (grub-fstest): Likewise.
3557 (grub-mkfont): Likewise.
3558 (grub-mkdevicemap): Likewise.
3559 (grub-probe): Likewise.
3560 (grub-ofpath): Likewise.
3561 (grub-mklayout): Likewise.
3562 (example_unit_test): Likewise.
3563 (grub-menulst2cfg): Likewise.
3564 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
3565 * grub-core/Makefile.core.def (cryptodisk): New module.
3566 (luks): Likewise.
3567 (geli): Likewise.
3568 * grub-core/disk/AFSplitter.c: New file.
3569 * grub-core/disk/cryptodisk.c: Likewise.
3570 * grub-core/disk/geli.c: Likewise.
3571 * grub-core/disk/luks.c: Likewise.
3572 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
3573 grub_util_is_lvm.
3574 (grub_util_get_dm_abstraction): New function.
3575 (grub_util_follow_gpart_up): Likewise.
3576 (grub_util_get_geom_abstraction): Likewise.
3577 (grub_util_get_dev_abstraction): Use new functions.
3578 (grub_util_pull_device): Pull GELI and LUKS.
3579 (grub_util_get_grub_dev): Handle LUKS and GELI.
3580 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
3581 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
3582 (follow_geom_up): Removed.
3583 (grub_util_fd_seek): New function.
3584 (open_device): Use grub_util_fd_seek.
3585 (nread): Rename to ..
3586 (grub_util_fd_read): ... this. All users updated.
3587 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
3588 (grub_crypto_cbc_decrypt): Likewise.
3589 (grub_crypto_hmac_write): Likewise.
3590 (grub_crypto_hmac_buffer): Likewise.
3591 (grub_password_get): Extend to util.
3592 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
3593 New member modname.
3594 (gcry_md_spec) [GRUB_UTIL]: Likewise.
3595 * include/grub/cryptodisk.h: New file.
3596 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
3597 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
3598 LUKS and GELI.
3599 (grub_util_follow_gpart_up): New proto.
3600 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
3601 (grub_util_fd_read): Likewise.
3602 (grub_cryptodisk_cheat_mount): Likewise.
3603 (grub_util_cryptodisk_print_uuid): Likewise.
3604 (grub_util_get_fd_sectors): Likewise.
3605 * util/grub-fstest.c (mount_crypt): New var.
3606 (fstest): Mount crypto if requested.
3607 (options): New option -C.
3608 (argp_parser): Parse -C.
3609 (main): Init and fini gcry.
3610 * util/grub-install.in: Support cryptodisk install.
3611 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
3612 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
3613 cryptodisk.
3614 (prepare_grub_to_access_device): Likewise.
3615 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
3616 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
3617 (probe_cryptodisk_uuid): New function.
3618 (probe_abstraction): Likewise.
3619 (probe): Use new functions.
3620 * util/import_gcry.py: Create Makefile.utilgcry.def.
3621 Add modname member.
3622
3623 2011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
3624
3625 Lazy device scanning.
3626
3627 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
3628 (grub-setup): Remove util/raid.c.
3629 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
3630 * grub-core/disk/lvm.c (scan_depth): New variable.
3631 (grub_lvm_iterate): Rescan if necessary.
3632 (find_lv): New function based on grub_lvm_open.
3633 (grub_lvm_open): Use find_lv. Rescan on error.
3634 (is_node_readable): New function.
3635 (is_lv_readable): Likewise.
3636 (grub_lvm_scan_device): Skip already found disks.
3637 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
3638 Stop if searched device is found and readable.
3639 * grub-core/disk/raid.c (inscnt): New variable.
3640 (scan_depth): Likewise.
3641 (scan_devices): New function based on grub_raid_register. Abort if
3642 looked for device is found.
3643 (grub_raid_iterate): Rescan if needed.
3644 (find_array): NEw function based on -grub_raid_open.
3645 (grub_raid_open): Use find_array and rescan.
3646 (insert_array): Set became_readable_at.
3647 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
3648 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
3649 New function.
3650 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
3651 (grub_util_pull_device): New function.
3652 (grub_util_get_grub_dev): Call grub_util_pull_device.
3653 * util/raid.c: Moved to ..
3654 * grub-core/kern/emu/raid.c: ... here.
3655 (grub_util_raid_getmembers): New parameter "bootable".
3656 All users updated. Support 1.x.
3657 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
3658 All users updated.
3659 * include/grub/disk.h (grub_disk_pull_t): New enum.
3660 (grub_disk_dev): Change iterate prototype.
3661 All users updated.
3662 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
3663 New proto.
3664 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
3665 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
3666 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
3667 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
3668 All users updated.
3669 * include/grub/util/raid.h: Removed.
3670
3671 2011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
3672
3673 * po/POTFILES.in: Regenerate.
3674
3675 2011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
3676
3677 Unify sparc init with other ieee1275.
3678
3679 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
3680 instead of kern/sparc64/ieee1275/init.c.
3681 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
3682 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
3683 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
3684 grub/machine/kernel.h.
3685 (grub_ieee1275_original_stack) [__sparc__]: New variable.
3686 (grub_claim_heap) [__sparc__]: Use sparc version.
3687 (grub_machine_init): Moved args parsing to
3688 (grub_parse_cmdline): ...this.
3689 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
3690 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
3691 New definition.
3692 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
3693
3694 Move BOOTP to separate file.
3695
3696 * grub-core/Makefile.core.def (net): Add net/bootp.c.
3697 * grub-core/net/net.c: Move all BOOTP functions to
3698 * grub-core/net/bootp.c: ... here.
3699
3700 Use frame interface on PXE.
3701
3702 * grub-core/Makefile.core.def (pxecmd): Removed.
3703 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
3704 * grub-core/commands/i386/pc/pxecmd.c: Removed.
3705 * grub-core/i386/pc/pxe.c: Moved from here ...
3706 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
3707 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
3708 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
3709
3710 EFI network support.
3711
3712 * grub-core/Makefile.core.def (efinet): New module.
3713 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
3714 here...
3715 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
3716 All users updated.
3717 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
3718 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
3719 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
3720 * grub-core/net/drivers/efi/efinet.c: New file.
3721 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
3722 (grub_efi_net_config): New extern var.
3723
3724 Various cleanups and bugfixes.
3725
3726 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
3727 error.
3728 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
3729 disk declared as partition.
3730 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
3731 leak on failure.
3732 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
3733 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
3734 (grub_debug_zalloc): Likewise.
3735 (grub_debug_realloc): Likewise.
3736 (grub_debug_memalign): Likewise.
3737 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
3738 Check that target is IPv4.
3739 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
3740 local-mac-address as fallback.
3741 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
3742 memory leak.
3743 * grub-core/net/ip.c (ipchksum): Rename to ...
3744 (grub_net_ip_chksum): ... this. All users updated.
3745 (grub_net_recv_ip_packets): Special handling for DHCP.
3746 * util/grub-mkimage.c (generate_image): Zero-out aout header.
3747
3748 Unify prefix handling
3749
3750 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
3751 (grub_machine_get_bootlocation): ... this.
3752 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
3753 (grub_machine_get_bootlocation): ... this.
3754 (grub_prefix): New variable.
3755 (prefix): Removed.
3756 (root_dev): New variable.
3757 (dir): Likewise.
3758 (main): Use new variables.
3759 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
3760 Revamped into ...
3761 (grub_machine_get_bootlocation): ... this.
3762 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
3763 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
3764 (grub_machine_get_bootlocation): ... this.
3765 (grub_machine_set_prefix): Removed.
3766 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
3767 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
3768 Revamped into ...
3769 (grub_machine_get_bootlocation): ... this.
3770 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
3771 (grub_set_prefix_and_root): ... this. All users updated.
3772 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
3773 Revamped into ...
3774 (grub_machine_get_bootlocation): ... this.
3775 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
3776 (grub_machine_get_bootlocation): New proto.
3777 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
3778
3779 Less intrusive and more reliable seek on network implementation.
3780
3781 * grub-core/kern/file.c (grub_file_net_seek): Removed.
3782 (grub_file_seek): Don't call grub_file_net_seek.
3783 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
3784 (grub_net_fs_read_real): .. this.
3785 (grub_net_seek_real): Use net->offset.
3786 (grub_net_fs_read): Seek if necessary.
3787
3788 Unify IEEE1275 netwotk config with the other platforms.
3789
3790 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
3791 New variable.
3792 (grub_machine_get_bootlocation): Support network.
3793 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
3794 Support type and device parsing.
3795 (grub_ieee1275_get_device_type): New function.
3796 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
3797 into ...
3798 (grub_ieee1275_net_config_real): ... this.
3799 (grub_ofnet_probecards): Removed.
3800 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
3801 * include/grub/ieee1275/ofnet.h: Removed.
3802 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
3803 extern var.
3804 (grub_ieee1275_get_device_type): New function.
3805
3806 Unify network device closing across platforms and make more robust.
3807
3808 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
3809 grub_grubnet_fini.
3810 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
3811 already.
3812 * grub-core/net/net.c (grub_net_network_level_interface_register):
3813 Update num_ifaces.
3814 (grub_net_card_unregister): Close all interfaces.
3815 (receive_packets): Don't poll if no iterfaces are registered.
3816 Open if necessary.
3817 (grub_net_fini_hw): New function.
3818 (grub_net_restore_hw): Likewise.
3819 (fini_hnd): New variable.
3820 (GRUB_MOD_INIT): Register preboot hook.
3821 (GRUB_MOD_FINI): Run and unregister preboot hook.
3822
3823 Poll network cards when idle.
3824
3825 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
3826 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
3827 * grub-core/net/net.c (receive_packets): Save last poll time.
3828 (grub_net_poll_cards_idle_real): New function.
3829 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
3830 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
3831 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
3832
3833 Rename ofnet interfaces.
3834
3835 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
3836 (grub_ofnet_findcards): Use ofnet_%s names.
3837
3838 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
3839
3840 Cleanup socket opening.
3841
3842 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
3843 (grub_net_fs_close): Likewise.
3844 (grub_net_fs_read_real): Use eof member.
3845 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
3846 (+grub_net_udp_close): New inline function.
3847
3848 * include/grub/net/tftp.h: Moved to the top of ...
3849 * grub-core/net/tftp.c: ... here.
3850 * include/grub/net/ip.h: Moved mostly to the top of ...
3851 * grub-core/net/ip.c: ... here.
3852 * include/grub/net/ethernet.h: Moved mostly to the top of ...
3853 * grub-core/net/ethernet.c: ... here.
3854
3855 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
3856
3857 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
3858 FS name.
3859
3860 * include/grub/net/ip.h (ipv4_ini): Removed.
3861 (ipv4_fini): Likewise.
3862
3863 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
3864 (grub_net_send_ip_packets): Likewise.
3865
3866 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
3867
3868 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
3869 grub_read_cmos prototype.
3870
3871 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
3872
3873 VGA text support in qemu-mips
3874
3875 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
3876 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
3877 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
3878 text.
3879 * grub-core/kern/i386/qemu/init.c: Renamed to ...
3880 * grub-core/kern/vga_init.c: ... this.
3881 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
3882 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
3883 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
3884 Adjust.
3885 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
3886 GRUB_MACHINE_PCI_IO_BASE.
3887
3888 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
3889
3890 MIPS qemu flash support.
3891
3892 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
3893 magic.
3894 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
3895 (grub_machine_init): Probe memory if its size isn't known.
3896 * util/grub-mkimage.c (image_targets): Add flash targets.
3897 (generate_image): Handle flash targets.
3898
3899 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
3900
3901 MIPS qemu at_keyboard support.
3902
3903 * gentpl.py (videoinkernel): Add qemu-mips.
3904 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
3905 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
3906 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
3907 modules.
3908 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
3909 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
3910 * grub-core/term/serial.c (grub_serial_register)
3911 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
3912
3913 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
3914
3915 CMOS support on sparc.
3916
3917 * gentpl.py (cmos): Add powerpc and sparc.
3918 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
3919 powerpc and sparc.
3920 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
3921 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
3922 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
3923 grub_set_datetime_cmos.
3924 * grub-core/lib/ieee1275/cmos.c: New file.
3925 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
3926 (find_rtc): Set no_ieee1275_rtc on error.
3927 (grub_get_datetime): Call grub_get_datetime_cmos on error.
3928 (grub_set_datetime): Call grub_set_datetime_cmos on error.
3929 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
3930 fail. Move value to argument. All users updated
3931 (grub_cmos_write): Likewise.
3932 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
3933 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
3934 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
3935 grub_get_datetime_cmos and grub_set_datetime_cmos.
3936
3937 2011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
3938
3939 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
3940 sourcing grub-mkconfig_lib.
3941 * util/update-grub_lib.in: Likewise.
3942 * util/grub.d/00_header.in: Likewise.
3943 * util/grub.d/10_hurd.in: Likewise.
3944 * util/grub.d/10_kfreebsd.in: Likewise.
3945 * util/grub.d/10_linux.in: Likewise.
3946 * util/grub.d/10_netbsd.in: Likewise.
3947 * util/grub.d/10_windows.in: Likewise.
3948 * util/grub.d/20_linux_xen.in: Likewise.
3949 * util/grub.d/30_os-prober.in: Likewise.
3950
3951 2011-06-28 Colin Watson <cjwatson@ubuntu.com>
3952
3953 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
3954 default_bg_color rather than black.
3955 (grub_gfxterm_fullscreen): Likewise.
3956 (grub_gfxterm_background_color_cmd): Save new background color in
3957 default_bg_color.
3958
3959 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3960
3961 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
3962
3963 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3964
3965 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
3966 mismerge.
3967
3968 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3969
3970 Chainloading on coreboot support.
3971
3972 * grub-core/Makefile.core.def (chain): Add coreboot.
3973 * grub-core/loader/i386/coreboot/chainloader.c: New file.
3974
3975 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3976
3977 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
3978 if it happens.
3979
3980 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3981
3982 Implement time command.
3983
3984 * grub-core/Makefile.core.def (time): New module.
3985 * grub-core/commands/time.c: New file.
3986 * grub-core/script/parser.y: Remove "time" keyword.
3987 * grub-core/script/yylex.l: Likewise.
3988
3989 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3990
3991 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
3992
3993 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3994
3995 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
3996 when handling leftovers.
3997
3998 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3999
4000 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
4001 so that help2man doesn't fail.
4002
4003 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4004
4005 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
4006 type in pointers on sparc64.
4007 (get_card_packet): Likewise.
4008
4009 2011-06-27 Colin Watson <cjwatson@ubuntu.com>
4010
4011 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
4012 with `*'.
4013 (grub_cmd_videoinfo): Fetch current video mode.
4014
4015 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4016
4017 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
4018 because of underlying system restrictions.
4019
4020 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4021
4022 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
4023 necessary.
4024
4025 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4026
4027 Coreboot video support.
4028
4029 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
4030 (vbe): Likewise.
4031 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
4032 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
4033 here ...
4034 * grub-core/kern/i386/int.S: ... here.
4035 * grub-core/video/i386/pc/vbe.c: Updated includes.
4036 * grub-core/video/i386/pc/vga.c: Likewise.
4037 * include/grub/i386/coreboot/memory.h
4038 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
4039 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
4040 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
4041 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
4042 Disable interrupts.
4043 * include/grub/i386/pc/vga.h: Removed. All users updated.
4044
4045 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4046
4047 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
4048 definitions for dprintf.
4049 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
4050
4051 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4052
4053 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
4054 prototype.
4055 (get_card_packet): Likewise.
4056
4057 2011-06-26 Yves Blusseau <blusseau@zetam.org>
4058
4059 Display the path of the file when file is not found
4060
4061 * grub-core/fs/fat.c: Display the filename when file is not found.
4062 * grub-core/fs/fshelp.c: Likewise.
4063 * grub-core/fs/hfs.c: Likewise.
4064 * grub-core/fs/jfs.c: Likewise.
4065 * grub-core/fs/minix.c: Likewise.
4066 * grub-core/fs/ufs.c: Likewise.
4067 * grub-core/fs/btrfs.c: Likewise.
4068 * grub-core/commands/i386/pc/play.c: Likewise.
4069
4070 2011-06-26 Szymon Janc <szymon@janc.net.pl>
4071
4072 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
4073 pointer checks before calling grub_free().
4074 * grub-core/commands/wildcard.c (match_devices): Likewise.
4075 * grub-core/commands/wildcard.c (match_files): Likewise.
4076 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
4077 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
4078 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
4079 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
4080 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
4081 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
4082 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
4083 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
4084 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
4085
4086 2011-06-25 Patrick <p55@mailinator.com>
4087
4088 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
4089
4090 2011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
4091
4092 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
4093 (grub_pxe_send): Likewise.
4094 (GRUB_MOD_INIT): Fix types.
4095
4096 2011-06-24 Szymon Janc <szymon@janc.net.pl>
4097
4098 * grub-core/io/xzio.c: Fix code style issues
4099
4100 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
4101 2011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
4102
4103 Network infrastructure.
4104 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
4105
4106 * include/grub/net/arp.h: New file.
4107 * include/grub/net/device.h: Likewise.
4108 * include/grub/net/ethernet.h: Likewise.
4109 * include/grub/net/ip.h: Likewise.
4110 * include/grub/net/netbuff.h: Likewise.
4111 * include/grub/net/tftp.h: Likewise.
4112 * include/grub/net/udp.h: Likewise.
4113 * include/grub/ieee1275/ofnet.h: Likewise.
4114 * include/grub/emu/export.h: Likewise.
4115 * include/grub/net.h: Likewise.
4116 * grub-core/net/arp.c: Likewise.
4117 * grub-core/net/ethernet.c: Likewise.
4118 * grub-core/net/ip.c: Likewise.
4119 * grub-core/net/udp.c: Likewise.
4120 * grub-core/net/tftp.c: Likewise.
4121 * grub-core/net/netbuff.c: Likewise.
4122 * grub-core/net/net.c: Likewise.
4123 * grub-core/net/drivers/emu/emunet.c: Likewise.
4124 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
4125 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
4126 export.h.
4127 * grub-core/Makefile.core.def (net): New module.
4128 (tftp): Likewise.
4129 (ofnet): Likewise.
4130 (emunet): Likewise.
4131 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
4132 network protocols.
4133 * grub-core/kern/device.c (grub_net_open) : New variable.
4134 (grub_device_open): Handle network device.
4135 (grub_device_close): Likewise.
4136 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
4137 (grub_grubnet_fini): Likewise.
4138 (grub_file_seek): Seek in network device.
4139 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
4140 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
4141 network root.
4142 (grub_machine_fini): Call grub_grubnet_fini.
4143 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
4144 network.
4145 (grub_ieee1275_get_aliasdevname): New function.
4146 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
4147 Add unofficial Solaris network info.
4148 (grub_multiboot_make_mbi): Likewise.
4149 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
4150 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
4151 * include/grub/device.h (grub_fs): Removed.
4152 * include/grub/err.h (grub_err_t): Add network-related values.
4153 * include/grub/i386/pc/pxe.h: Removed bootp parts.
4154 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
4155 (grub_ieee1275_get_aliasdevname): New proto.
4156 * include/grub/net.h: Rewritten.
4157
4158 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
4159
4160 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
4161 names.
4162
4163 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
4164
4165 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
4166 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
4167 it truncates the output.
4168 Reported by: Ximin Luo.
4169
4170 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
4171
4172 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
4173
4174 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
4175
4176 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
4177 partmap before abstraction.
4178
4179 2011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
4180
4181 * util/grub-mkconfig_lib.in: Add missing quotes.
4182
4183 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
4184
4185 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
4186 old method if mountinfo would return /dev/root and /dev/root doesn't
4187 exist.
4188
4189 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
4190
4191 ZFS zlib support
4192
4193 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
4194 (decomp_table): Add zlib entries.
4195 (zio_read): USe 8 bits for compression function rather than 3.
4196 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
4197
4198 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
4199
4200 * grub-core/disk/ahci.c: Add missing license statements.
4201 * grub-core/fs/romfs.c: Likewise.
4202 * grub-core/lib/ia64/setjmp.S: Likewise.
4203 * grub-core/loader/i386/pc/freedos.c: Likewise.
4204 * grub-core/loader/ia64/efi/linux.c: Likewise.
4205 * grub-core/video/colors.c: Likewise.
4206 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
4207
4208 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4209
4210 AHCI support.
4211
4212 * grub-core/Makefile.core.def (ata_pthru): Removed.
4213 (ahci): New module.
4214 (pata): Likewise.
4215 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
4216 on unload.
4217 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
4218 readwrite.
4219 (grub_hdparm_do_check_powermode_cmd): Likewise.
4220 (grub_hdparm_do_smart_cmd): Likewise.
4221 (grub_hdparm_set_val_cmd): Likewise.
4222 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
4223 * grub-core/disk/ahci.c: New file.
4224 * grub-core/disk/ata.c: Factor out the low-level part into ...
4225 * grub-core/disk/pata.c: ... here.
4226 * grub-core/disk/ata_pthru.c: Contents moved to ...
4227 * grub-core/disk/pata.c: ... here.
4228 * grub-core/disk/scsi.c (grub_scsi_names): New array.
4229 (grub_scsi_iterate): Use grub_scsi_names.
4230 (grub_scsi_open): Likewise.
4231 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
4232 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
4233 (grub_ata_regs_t): New struct.
4234 (grub_disk_ata_pass_through_parms): Likewise.
4235 (grub_ata_device): Renamed to ...
4236 (grub_ata): ... this.
4237 (grub_ata_dev): New struct.
4238 Removed all low-level inline functions.
4239 * include/grub/scsi.h: Add PATA and AHCI subsystems.
4240 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
4241 iterate hooks and open. All users updated.
4242 * util/grub-install.in: Handle AHCI disk module.
4243
4244 2011-06-23 Szymon Janc <szymon@janc.net.pl>
4245
4246 Add support for DRI and RSTn markers in JPEG files.
4247
4248 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
4249 (JPEG_MARKER_RST0): Likewise.
4250 (JPEG_MARKER_RST1): Likewise.
4251 (JPEG_MARKER_RST2): Likewise.
4252 (JPEG_MARKER_RST3): Likewise.
4253 (JPEG_MARKER_RST4): Likewise.
4254 (JPEG_MARKER_RST5): Likewise.
4255 (JPEG_MARKER_RST6): Likewise.
4256 (JPEG_MARKER_RST7): Likewise.
4257 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
4258 (grub_jpeg_decode_dri): New function.
4259 (grub_jpeg_decode_sos): Move image data related part into
4260 grub_jpeg_decode_data function.
4261 (grub_jpeg_decode_data): New function.
4262 (grub_jpeg_reset): New function.
4263 (grub_jpeg_decode_jpeg): Handle new markers.
4264
4265 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4266
4267 * util/ieee1275/ofpath.c (check_sas): Close fd.
4268 (main): Free of_path.
4269 Reported by: David Volgyes <dvolgyes>.
4270
4271 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4272
4273 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
4274 Reported by: David Volgyes <dvolgyes>.
4275
4276 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4277
4278 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
4279 file after stat.
4280 Reported by: David Volgyes <dvolgyes>.
4281
4282 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4283
4284 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
4285
4286 Reported by: David Volgyes <dvolgyes>.
4287
4288 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4289
4290 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
4291 Prevent memory leak.
4292
4293 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4294
4295 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
4296 (main): Close file.
4297 Reported by: David Volgyes <dvolgyes>.
4298
4299 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4300
4301 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
4302 to continue if allocation is failed.
4303
4304 Reported by: David Volgyes <dvolgyes>.
4305
4306 2011-06-23 David Volgyes <dvolgyes>
4307
4308 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
4309 dereference.
4310
4311 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4312
4313 Fix spurious warning.
4314
4315 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
4316 (acorn_partition_map_find): Use .bin member.
4317
4318 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4319
4320 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
4321 /dev/root as a valid device.
4322
4323 2011-06-23 Jim Meyering <meyering@redhat.com>
4324
4325 Avoid NULL deref in grub_device_open.
4326
4327 * grub-core/kern/device.c (grub_device_open): Don't dereference
4328 a NULL pointer upon failed grub_env_get.
4329
4330 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4331
4332 Support non-512B sectors and agglomerate reads.
4333
4334 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
4335 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
4336 (disk_io_guid): Removed.
4337 (make_devices): Locate solely by BlockIO.
4338 (grub_efidisk_open): Fill log_sector_size and total_sectors.
4339 (grub_efidisk_read): Use read_blocks.
4340 (grub_efidisk_write): Use write_blocks.
4341 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
4342 log_sector_size.
4343 (get_safe_sectors): Handle non-512B sectors.
4344 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
4345 sectors.
4346 (grub_biosdisk_write): Handle non-512B sectors.
4347 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
4348 (grub_scsi_read): Remove special non-512B block handling (now handled
4349 one level up).
4350 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
4351 and do sanity checks.
4352 (grub_disk_adjust_range): Handle non-512B sectors.
4353 (transform_sector): New function.
4354 (grub_disk_read_small): Likewise.
4355 (grub_disk_read): Rewritten.
4356 (grub_disk_write): Handle non-512B sectors.
4357 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
4358 log_sector_size.
4359 (open_device): Use log_sector_size.
4360 (grub_util_biosdisk_read): Likewise.
4361 (grub_util_biosdisk_write): Likewise.
4362 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
4363 non-512B sectors.
4364 (pc_partition_map_embed): Likewise.
4365 * include/grub/disk.h (grub_disk): New field log_sector_size.
4366 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
4367 (GRUB_DISK_CACHE_BITS): Increased to 6.
4368 * util/grub-fstest.c (fstest): New command testload.
4369 (argp_parser): Likewise.
4370
4371 2011-06-16 Robert Millan <rmh@gnu.org>
4372
4373 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
4374 `ata' driver on kernel of FreeBSD 9.
4375
4376 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
4377 (get_ataraid_disk_name): New functions.
4378 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
4379 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
4380 get_ataraid_disk_name() and get_ada_disk_name().
4381
4382 2011-06-13 Colin Watson <cjwatson@ubuntu.com>
4383
4384 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
4385 input format.
4386
4387 2011-05-29 Colin Watson <cjwatson@ubuntu.com>
4388
4389 * docs/grub.texi (Obtaining and Building GRUB): Substitute
4390 `ftp.gnu.org' for `alpha.gnu.org'.
4391
4392 2011-05-27 Colin Watson <cjwatson@ubuntu.com>
4393
4394 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
4395 partitions under /dev/disk/by-id/.
4396
4397 2011-05-27 Colin Watson <cjwatson@ubuntu.com>
4398
4399 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
4400 after ten consecutive open failures. Scanning all the way up to
4401 10000 is excessive and can cause serious performance problems in
4402 some configurations.
4403 Fixes Ubuntu bug #787461.
4404
4405 2011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
4406
4407 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
4408 opening new one.
4409
4410 2011-05-21 Colin Watson <cjwatson@ubuntu.com>
4411 2011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
4412
4413 Don't stat devices unless we have to.
4414
4415 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
4416 dir == /dev/mapper.
4417 (grub_guess_root_device): Use already known os_dev if possible.
4418 * grub-core/kern/emu/hostdisk.c
4419 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
4420 if device is known to be a dm one.
4421
4422 2011-05-20 Colin Watson <cjwatson@ubuntu.com>
4423
4424 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
4425 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
4426 Reported by: Pawel Tecza.
4427
4428 2011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
4429
4430 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
4431 (lsefisystab): Likewise.
4432 (lssal): Likewise.
4433 (lsefimmap): Likewise.
4434 (hdparm): Enable on qemu-mips.
4435 (setjmp): Add ia64 nodist.
4436 (serial): Simplify tags.
4437
4438 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
4439
4440 * Makefile.util.def (grub-ofpathname): Install manual page.
4441
4442 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
4443
4444 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
4445
4446 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
4447
4448 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
4449
4450 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
4451
4452 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
4453 into dprintf.
4454
4455 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
4456
4457 Use full 64-bit division.
4458
4459 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
4460 (grub_divmod64): ... this.
4461 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
4462 version.
4463
4464 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
4465
4466 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
4467 `source'.
4468
4469 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
4470
4471 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
4472 to avoid accidents when debugging with 'sh -x'.
4473 * grub-core/gensyminfo.sh.in: Likewise.
4474 * tests/example_scripted_test.in: Likewise.
4475 * tests/grub_cmd_regexp.in: Likewise.
4476 * tests/grub_script_blanklines.in: Likewise.
4477 * tests/grub_script_dollar.in: Likewise.
4478 * tests/grub_script_expansion.in: Likewise.
4479 * tests/grub_script_final_semicolon.in: Likewise.
4480 * tests/partmap_test.in: Likewise.
4481 * tests/util/grub-shell-tester.in: Likewise.
4482 * tests/util/grub-shell.in: Likewise.
4483
4484 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
4485
4486 Move gfxmenu color handling to video, so that gfxterm can use it
4487 too.
4488
4489 * grub-core/gfxmenu/named_colors.c: Move to ...
4490 * grub-core/video/colors.c: ... here. Rename
4491 grub_gui_get_named_color to grub_video_get_named_color.
4492 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
4493 * grub-core/video/colors.c (my_isxdigit): ... here.
4494 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
4495 Move to ...
4496 * grub-core/video/colors.c (parse_hex_color_component): ... here.
4497 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
4498 to ...
4499 * grub-core/video/colors.c (grub_video_parse_color): ... here.
4500
4501 * include/grub/gui.h (grub_gui_color_t): Move to ...
4502 * include/grub/video.h (grub_video_rgba_color_t): ... here.
4503 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
4504 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
4505 * include/grub/gui.h (grub_gui_map_color): Move to ...
4506 * include/grub/video.h (grub_video_map_rgba_color): ... here.
4507 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
4508 to ...
4509 * include/grub/video.h (grub_video_get_named_color): ... here.
4510 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
4511 * include/grub/video.h (grub_video_parse_color): ... here.
4512
4513 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
4514 video/colors.c.
4515 (gfxmenu): Remove gfxmenu/named_colors.c.
4516 (video) [videomodules]: Add video/colors.c.
4517
4518 Add a background_color command.
4519
4520 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
4521 function.
4522 (GRUB_MOD_INIT): Register background_color command.
4523 (GRUB_MOD_FINI): Unregister background_color command.
4524 (redraw_screen_rect): Allow blend/replace of text layer to be
4525 controlled independently from whether there is a background bitmap.
4526 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
4527 changing bitmap.
4528
4529 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
4530
4531 Patch BPB in ntldr and chainloader --bpb.
4532
4533 * grub-core/fs/fat.c: Include grub/fat.h.
4534 (grub_fat_bpb): Moved to ...
4535 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
4536 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
4537 grub/ntfs.h.
4538 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
4539 Moved from here...
4540 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
4541 here.
4542 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
4543 New function.
4544 (grub_chainloader_cmd): Patch BPB if --bpb is given.
4545 (GRUB_MOD_INIT): Show --bpb.
4546 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
4547 * grub-core/normal/main.c (features): New variable.
4548 (GRUB_MOD_INIT): Set feature_* variables.
4549 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
4550 proto.
4551 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
4552
4553 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
4554
4555 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
4556 for cleanness.
4557
4558 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
4559
4560 FreeDOS direct loading support.
4561
4562 * docs/grub.texi (Supported OS): Add FreeDOS.
4563 * grub-core/Makefile.core.def (freedos): New module.
4564 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
4565 variable.
4566 (grub_relocator16_boot): Handle %ebx.
4567 * grub-core/lib/i386/relocator16.S: Likewise.
4568 * grub-core/loader/i386/pc/freedos.c: New file.
4569
4570 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
4571
4572 Long Linux command line support.
4573
4574 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
4575 (maximal_cmdline_size): New variable.
4576 (allocate_pages): Use maximal_cmdline_size.
4577 (grub_cmd_linux): Set and use maximal_cmdline_size.
4578 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
4579 (allocate_pages): Use maximal_cmdline_size.
4580 (grub_cmd_linux): Set and use maximal_cmdline_size.
4581 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
4582 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
4583 and cmdline_size.
4584
4585 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
4586 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
4587
4588 Improve devmapper support
4589
4590 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
4591 (grub_util_is_lvm): New function.
4592 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
4593 than lvm if not dmraid.
4594 Handle mapped md nodes.
4595 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
4596 (grub_util_device_is_mapped): ... this. Make always available. All users
4597 updated.
4598 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
4599 (convert_system_partition_to_system_disk): Handle lvm, mpath and
4600 dmraid nodes.
4601 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
4602
4603 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
4604
4605 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
4606
4607 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
4608 * grub-core/modinfo.sh.in: New file.
4609 * grub-core/Makefile.core.def (modinfo.sh): New script.
4610 * util/grub-mknetdir.in: Use modinfo.sh.
4611 * util/grub-mkrescue.in: Likewise.
4612
4613 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
4614
4615 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
4616 Fix potential usage of Elf32 instead of Elf64 when compiling on
4617 32-bit architecture. Add endianness macros while on it.
4618
4619 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
4620
4621 Use mipsel- rather than mips- in directories involving mipsel ports to
4622 allow both endiannesses coexist.
4623
4624 * configure.ac: proparate target_cpu=mipsel rather than resetting to
4625 mips. All conditions adjusted.
4626 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
4627 variable.
4628 * util/grub-install.in: Adjust conditions to take renaming into account.
4629 * util/grub-mkimage.c (image_targets): Likewise. New target
4630 mips-qemu_mips-elf for bigendian mips.
4631
4632 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
4633
4634 Avoid unnecessary copying on MIPS.
4635
4636 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
4637 early if src == dest.
4638 * util/grub-mkimage.c (generate_image): Arange for src == dest if
4639 compression is none.
4640
4641 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
4642
4643 Reduce memory footprint on SGI by putting modules before the kernel
4644 as opposed to after.
4645
4646 * grub-core/Makefile.core.def (kernel): Increase linking address.
4647 (none_decompress): Likewise.
4648 (xz_decompress): Likewise.
4649 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
4650 address.
4651 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
4652 layout change.
4653 (grub_arch_modules_addr): New function.
4654 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
4655 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
4656 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
4657 here.
4658 * grub-core/kern/mips/startup.S (total_size): Rename to ...
4659 (grub_total_modules_size): ... this. Make global.
4660 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
4661 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
4662 New definition.
4663 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
4664 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
4665 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
4666 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
4667 * util/grub-mkimage.c (image_target_desc): New flag
4668 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
4669 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
4670 (generate_image): Handle images with modules before kernel.
4671
4672 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
4673
4674 Prevent potential loss of memory map by overwrite on qemu-mips.
4675
4676 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
4677 Save ram size in $s4.
4678 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
4679 All users changed to grub_arch_memsize.
4680 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
4681 Loongson.
4682 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
4683 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
4684 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
4685 external variable.
4686
4687 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
4688
4689 * .bzrignore: Remove grub-dumpbios.
4690
4691 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
4692
4693 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
4694 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
4695 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
4696 existing options which append).
4697 * docs/grub.texi (Simple configuration): Document new options.
4698 Reported by: Ian Jackson. Fixes Debian bug #617538.
4699
4700 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
4701
4702 * util/grub-fstest.c (cmd_cat): New function.
4703 (fstest): Handle CMD_CAT.
4704 (options): Add cat.
4705 (argp_parser): Handle cat.
4706
4707 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
4708
4709 * Makefile.util.def (grub-bin2h): Don't install.
4710 * docs/man/grub-bin2h.h2m: Remove.
4711
4712 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
4713
4714 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
4715 place.
4716
4717 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
4718
4719 Reenable qemu-mips port.
4720
4721 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
4722 Fix small arc bug while on it.
4723 * gentpl.py: Handle qemu_mips.
4724 * grub-core/Makefile.am: Likewise.
4725 * grub-core/Makefile.core.def: Likewise.
4726 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
4727 inappropriate includes.
4728 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
4729 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
4730 * grub-core/kern/main.c (grub_modules_get_end)
4731 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
4732 * grub-core/kern/mips/qemu-mips: Moved to ..
4733 * grub-core/kern/mips/qemu_mips: ... this.
4734 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
4735 (grub_machine_init): Call terminfo_init and serial_init.
4736 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
4737 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
4738 New variable.
4739 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
4740 parameter passing.
4741 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
4742 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
4743 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
4744 * include/grub/mips/qemu_mips/cmos.h: New file.
4745 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
4746 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
4747 Removed.
4748 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
4749 Use correct mips-style address.
4750 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
4751 (GRUB_TICKS_PER_SECOND): Removed.
4752 (grub_get_rtc): Likewise.
4753 (grub_cpu_idle): Likewise.
4754 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
4755 New definition.
4756 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
4757 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
4758 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
4759 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
4760 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
4761 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
4762 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
4763 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
4764
4765 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
4766
4767 SGI ARCS port.
4768
4769 * Makefile.util.def (libgrubmods.a): Add dvh.c.
4770 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
4771 platforms.
4772 * configure.ac: New target mips-arc.
4773 * gentpl.py: Likewise.
4774 * grub-core/Makefile.am: Likewise.
4775 * grub-core/Makefile.core.def: Likewise.
4776 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
4777 (none_decompress): Likewise.
4778 (lsdev): New module.
4779 (datetime): Use lib/arc/datetime.c on ARC.
4780 (part_dvh): New module.
4781 * grub-core/commands/arc/lsdev.c: New file.
4782 * grub-core/disk/arc/arcdisk.c: Likewise.
4783 * grub-core/kern/mips/arc/init.c: Likewise.
4784 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
4785 aligned addresses.
4786 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
4787 support.
4788 (grub_arch_dl_relocate_symbols): Likewise.
4789 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
4790 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
4791 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
4792 platforms.
4793 * grub-core/lib/arc/datetime.c: New file.
4794 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
4795 pci.h on non-loongson.
4796 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
4797 (grub_linux_boot): Set unused registers to 0.
4798 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
4799 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
4800 * grub-core/mmap/mips/uppermem.c: ...here.
4801 * grub-core/partmap/dvh.c: New file.
4802 * grub-core/term/arc/console.c: Likewise.
4803 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
4804 (grub_terminfo_set_current): Add terminal "arc".
4805 (grub_terminfo_readkey): Support ARC sequences.
4806 * include/grub/arc/arc.h: New file.
4807 * include/grub/arc/console.h: Likewise.
4808 * include/grub/disk.h (grub_disk_dev_id): Add
4809 GRUB_DISK_DEVICE_ARCDISK_ID.
4810 * include/grub/mips/arc/kernel.h: New file.
4811 * include/grub/mips/arc/memory.h: Likewise.
4812 * include/grub/mips/arc/time.h: Likewise.
4813 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
4814 * include/grub/mips/kernel.h (grub_halt): ... here.
4815 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
4816 here...
4817 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
4818 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
4819 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
4820 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
4821 proto.
4822 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
4823 from here ...
4824 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
4825 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
4826 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
4827 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
4828 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
4829 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
4830 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
4831 (grub_phys_addr_t): Moved from here ...
4832 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
4833 (grub_vtop): Moved from here ...
4834 * include/grub/mips/memory.h (grub_vtop): ... here.
4835 (grub_map_memory): Moved from here ...
4836 * include/grub/mips/memory.h (grub_map_memory): ... here.
4837 (grub_unmap_memory): Moved from here ...
4838 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
4839 (grub_machine_mmap_iterate): Moved from here ...
4840 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
4841 (grub_mmap_get_lower): Moved from here ...
4842 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
4843 (grub_mmap_get_upper): Moved from here ...
4844 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
4845 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
4846 here ...
4847 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
4848 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
4849 here ...
4850 * include/grub/mips/time.h (grub_get_rtc): ... here.
4851 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
4852 here ...
4853 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
4854 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
4855 here ...
4856 * include/grub/mips/time.h (grub_cpu_idle): ... here.
4857 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
4858 definition.
4859 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
4860 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
4861 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
4862 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
4863 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
4864 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
4865 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
4866 (GRUB_MACHINE_LINK_ADDR): Likewise.
4867 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
4868 to 6.
4869 * util/grub-install.in: Run dvhtool on ARC.
4870 * util/grub-mkimage.c (image_targets): Add mips-arc.
4871 (generate_image): Handle ECOFF output for mips-arc.
4872
4873 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
4874
4875 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
4876 blocks.
4877
4878 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
4879
4880 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
4881 after enabling port.
4882
4883 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
4884
4885 Skip incorrect USB devices.
4886
4887 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
4888 configcnt == 0.
4889 * include/grub/usb.h (grub_usb_err_t): New enum value
4890 GRUB_USB_ERR_BADDEVICE.
4891
4892 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
4893
4894 Fuloong video init support.
4895
4896 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
4897 well.
4898 (grub_vga_read_arx): New function.
4899 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
4900 definition.
4901 (framebuffer): New members io, mmioptr and mmiobase.
4902 (read_sis_cmd): New function.
4903 (write_sis_cmd): Likewise.
4904 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
4905 rather than 640x400.
4906 * grub-core/video/sis315_init.c: New file.
4907
4908 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
4909
4910 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
4911 non-loongson.
4912 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
4913 to grub_dl_register_symbol.
4914
4915 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
4916
4917 Fix compilation errors.
4918
4919 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
4920 potentially unused.
4921 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
4922 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
4923 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
4924 to loongson machines.
4925
4926 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
4927
4928 Several FS mtime support.
4929
4930 * grub-core/fs/affs.c (grub_affs_time): New struct.
4931 (grub_affs_file): New field mtime.
4932 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
4933 type. Removed 'size'. New field 'di'. All users updated.
4934 (grub_affs_mount): Simplify checsum checking.
4935 (grub_affs_iterate_dir): New helper grub_affs_create_node.
4936 (grub_affs_dir): Handle mtime.
4937 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
4938 (grub_cpio_dir): Likewise.
4939 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
4940 (grub_hfs_filerec): New field mtime.
4941 (grub_hfs_dir): Handle mtime.
4942 (grub_hfs_mtime): New function.
4943 (grub_hfs_fs): Register grub_hfs_mtime.
4944 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
4945 (grub_iso9660_dir): New field mtime.
4946 (grub_fshelp_node): New field dirent.
4947 (iso9660_to_unixtime): New function.
4948 (iso9660_to_unixtime2): Likewise.
4949 (grub_iso9660_read_symlink): Use node->dirent.
4950 (grub_iso9660_iterate_dir): Likewise.
4951 (grub_iso9660_dir): Set mtime.
4952 (grub_iso9660_mtime): New function.
4953 (grub_iso9660_fs): Register grub_iso9660_mtime.
4954 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
4955 (grub_jfs_inode): New fields atime, ctime and mtime.
4956 (grub_jfs_dir): Set mtime.
4957 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
4958 * grub-core/fs/ntfs.c (list_file): Set mtime.
4959 (grub_ntfs_dir): Likewise.
4960 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
4961 (grub_reiserfs_iterate_dir): Set mtime.
4962 (grub_reiserfs_dir): Likewise.
4963 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
4964 (grub_fshelp_node): Likewise.
4965 (grub_sfs_iterate_dir): Set mtime.
4966 (grub_sfs_dir): Likewise.
4967 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
4968 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
4969 (grub_xfs_inode): New fields atime, mtime, ctime.
4970 (grub_xfs_dir): Set mtime.
4971 * include/grub/datetime.h (grub_datetime2unixtime): New function.
4972 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
4973 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
4974
4975 Support UDF symlinks.
4976
4977 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
4978 (grub_ufs_read_symlink): New function. All users updated.
4979
4980 Check amiga partmap checksum.
4981
4982 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
4983 (grub_amiga_partition): Likewise.
4984 (amiga_partition_map_checksum): New function.
4985 (amiga_partition_map_iterate): Check checksum.
4986
4987 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
4988
4989 ROMFS support.
4990
4991 * Makefile.util.def (libgrubmods.a): Add romfs.
4992 * grub-core/Makefile.core.def (romfs): New module.
4993 * grub-core/fs/romfs.c: New file.
4994
4995 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
4996
4997 Squashfs v4 support.
4998
4999 * Makefile.util.def (libgrubmods.a): Add squash4.
5000 * grub-core/Makefile.core.def (squash4): New module.
5001 * grub-core/fs/squash4.c: New file.
5002 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
5003 disk_input_start, disk_input.
5004 (get_byte): Handle disk_input.
5005 (grub_zlib_disk_read): New function.
5006 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
5007
5008 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
5009 2011-05-15 Feiran Zheng <famcool@gmail.com>
5010
5011 * Makefile.util.def (libgrubmods.a): Add minix3.
5012 * grub-core/Makefile.core.def (minix3): New module.
5013 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
5014 (GRUB_MINIX_BSIZE): Removed.
5015 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
5016 (grub_minix_ino_t): New type.
5017 (grub_minix_le_to_cpu_ino): New macro.
5018 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
5019 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
5020 (grub_minix_data): New field block_size.
5021 (grub_minix_read_file): Handle 64-bit correctly.
5022 * grub-core/fs/minix3.c: New file.
5023
5024 2011-05-15 Tristan Gingold <gingold@free.fr>
5025 2011-05-15 Robert Millan <rmh.grub@aybabtu.com>
5026 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
5027
5028 IA64 support.
5029
5030 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
5031 * configure.ac: Add ia64-efi target.
5032 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
5033 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
5034 * gentpl.py: Add ia64_efi platform.
5035 Rename x86_efi to efi and Add ia64-efi. All users updated.
5036 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
5037 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
5038 Remove kern/generic/rtc_get_time_ms.c on EFI.
5039 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
5040 kern/ia64/dl_helper.c on ia64-efi.
5041 Add kern/emu/cache.c on emu.
5042 (linux): Use on loader/ia64/efi/linux.c on ia64.
5043 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
5044 whether symbol is a function.
5045 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
5046 (grub_symbol): New field 'isfunc'.
5047 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
5048 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
5049 (grub_dl_load_segments): Place all sections into the same region.
5050 [__ia64__]: Create trampolines and got.
5051 [GRUB_MACHINE_EMU]: Call mprotect.
5052 (grub_dl_resolve_symbols): Resolve symbol type as well.
5053 [__ia64__]: Create function descriptors.
5054 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
5055 (grub_rtc_get_time_ms): ... this. Expressions simplified.
5056 (grub_get_rtc): New function.
5057 * grub-core/kern/emu/cache.c [__ia64__]: New file.
5058 * grub-core/kern/emu/cache.S: Renamed to ...
5059 * grub-core/kern/emu/cache_s.S: ... this.
5060 [__ia64__]: Add a nop.
5061 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
5062 [__ia64__]: New function.
5063 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
5064 * grub-core/kern/ia64/dl.c: New file.
5065 * grub-core/kern/ia64/dl_helper.c: Likewise.
5066 * grub-core/kern/ia64/efi/init.c: New file.
5067 * grub-core/kern/ia64/efi/startup.S: Likewise.
5068 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
5069 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
5070 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
5071 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
5072 * grub-core/loader/ia64/efi/linux.c: New file.
5073 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
5074 (GRUB_MOD_DEP): Likewise.
5075 (grub_dl) [__ia64__]: New fields got and tramp.
5076 (grub_dl): New field 'base'.
5077 (grub_dl_register_symbol): New argument isfunc. All users updated.
5078 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
5079 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
5080 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
5081 (grub_ia64_dl_get_tramp_got_size): New proto.
5082 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
5083 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
5084 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
5085 * include/grub/efi/api.h: Skip call wrappers on ia64.
5086 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
5087 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
5088 * include/grub/elf.h (ELF_ST_INFO): New definition.
5089 * include/grub/ia64/efi/kernel.h: New file.
5090 * include/grub/ia64/efi/memory.h: Likewise.
5091 * include/grub/ia64/efi/time.h: Likewise.
5092 * include/grub/ia64/kernel.h: Likewise.
5093 * include/grub/ia64/setjmp.h: Likewise (from glibc).
5094 * include/grub/ia64/time.h: New file.
5095 * include/grub/ia64/types.h: Likewise.
5096 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
5097 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
5098 New protos.
5099 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
5100 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
5101 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
5102 * util/grub-mkimage.c (image_target_desc): New field pe_target.
5103 All users updated.
5104 (EFI64_HEADER_SIZE): New definition. All users updated.
5105 (image_targets): Add ia64-efi.
5106 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
5107 jumpers_addr. All users updated.
5108 Create function descriptors.
5109 (count_funcs): New function.
5110 (unaligned_uint32): New struct.
5111 (MASK20): New definition.
5112 (MASK19): Likewise.
5113 (MASKF21): Likewise.
5114 (add_value_to_slot_20b): New function.
5115 (add_value_to_slot_21_real): Likewise.
5116 (add_value_to_slot_21): Likewise.
5117 (ia64_kernel_trampoline): New struct.
5118 (nopm): New variable.
5119 (jump): Likewise.
5120 (make_trampoline): New function.
5121 (relocate_addresses): Handle ia64.
5122 (make_reloc_section): Likewise.
5123 (load_image): Likewise.
5124
5125 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
5126
5127 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
5128 warning. Move variables before code while on it.
5129
5130 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
5131
5132 Fuloong support.
5133
5134 * configure.ac: Rename yeeloong platform to loongson. All users updated.
5135 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
5136 * grub-core/boot/mips/loongson/fuloong.S: New file.
5137 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
5138 Explicitly init CS5536.
5139 [FULOONG]: Don't use serial until CS5536 is available.
5140 Set GPIO based on dumps.
5141 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
5142 [FULOONG]: Handle GPIO and memory controller differences.
5143 Parse machine type in $a2.
5144 * grub-core/boot/mips/startup_raw.S: Determine and save the
5145 architecture.
5146 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
5147 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
5148 init on architecture type.
5149 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
5150 SIS315E. Don't init at_keyboard on fuloong.
5151 (grub_halt): Support Fuloong.
5152 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
5153 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
5154 (loongson_machtypes): New array.
5155 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
5156 type.
5157 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
5158 config. All users updated. Handle CS5536 serial.
5159 * grub-core/term/serial.c (grub_serial_register): Conditionalise
5160 default port on machine type. Register serial as inactive.
5161 * grub-core/video/sis315pro.c: New file.
5162 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
5163 definition.
5164 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
5165 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
5166 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
5167 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
5168 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
5169 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
5170 to ...
5171 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
5172 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
5173 definition.
5174 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
5175 (grub_arch_machine): New extern var.
5176 * include/grub/mips/loongson/serial.h
5177 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
5178 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
5179 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
5180 (GRUB_MACHINE_SERIAL_PORT0): ... this.
5181 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
5182 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
5183 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
5184 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
5185 * include/grub/term.h (grub_term_register_input_inactive): New inline
5186 function.
5187 (grub_term_register_output_inactive): Likewise.
5188 * include/grub/video.h (grub_video_driver_id): New value
5189 GRUB_VIDEO_DRIVER_SIS315PRO.
5190 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
5191 New field "names". All users updated.
5192 New field value IMAGE_FULOONG_FLASH.
5193 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
5194
5195 2011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
5196
5197 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
5198 and add some clarification.
5199
5200 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5201
5202 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
5203 platforms if kernel is compressed.
5204
5205 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5206
5207 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
5208 unused modules since currently referrence counter isn't reliable and
5209 there isn't much memory to recover there anyway.
5210
5211 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5212
5213 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
5214 rather than resetting it to allow modules to reference themselves
5215 in init.
5216
5217 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5218
5219 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
5220 counter on dependencies since grub_dl_unref already handles this.
5221
5222 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5223
5224 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
5225 on error if not already done.
5226
5227 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5228
5229 Fix few potential memory misusage.
5230
5231 * grub-core/font/font.c (load_font_index): Don't free char_index to
5232 avoid double free.
5233 (grub_font_load): Zero-fill font at alloc for safety.
5234 Close file on error.
5235 (free_font): Free bmp_idx.
5236
5237 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5238
5239 * docs/grub.texi (Installation): Fix several outdated claims.
5240
5241 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5242
5243 Handle module_license on windows.
5244
5245 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
5246 sections shifted.
5247 (insert_string): Make argument const char * instead of char *.
5248 (write_section_data): Handle long section names.
5249 Handle module_license.
5250
5251 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5252
5253 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
5254 handle class-free menuentries.
5255 (grub_normal_add_menu_entry): Add a check to be sure.
5256
5257 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5258
5259 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
5260 PgUp and PgDown.
5261
5262 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
5263
5264 * configure.ac: Bump version to 1.99.
5265
5266 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
5267
5268 Give ATA device a bit more time on first try in order to allow disks
5269 to spin up.
5270
5271 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
5272 if dev->present is 1. Reset dev->present on failure.
5273 (grub_ata_device_initialize): Set dev->present to 1.
5274 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
5275 (grub_ata_device): New member 'present'.
5276
5277 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
5278
5279 * util/grub-mkimage.c (generate_image): Update hash.
5280
5281 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
5282
5283 Flush caches on DMA memory.
5284
5285 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
5286 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
5287 (grub_dma_free): Likewise.
5288 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
5289
5290 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
5291
5292 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
5293 to avoid asm treating ld and sd as macros.
5294
5295 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
5296
5297 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
5298 decompressor.
5299
5300 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
5301
5302 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
5303 grub_decompress_core since later would fail if grub_decompress_core
5304 is too far.
5305
5306 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
5307
5308 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
5309 R_MIPS_JALR since it's used by newer compiler.
5310
5311 2011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
5312
5313 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
5314
5315 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
5316
5317 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
5318 file_path to 0 for surety.
5319 (grub_chainloader_boot): Set exit_data to NULL.
5320 Unset the loader once done.
5321 (grub_cmd_chainloader): Fix confusing error message if file is empty.
5322
5323 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
5324
5325 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
5326 unknown key into a dprintf.
5327
5328 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
5329
5330 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
5331 on first non-existant partition.
5332
5333 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
5334
5335 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
5336 openning fails.
5337 Reported by: Mark Korenberg.
5338
5339 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
5340
5341 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
5342 overflow.
5343
5344 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
5345
5346 * util/grub-mkimage.c (main): Explicitely flush and sync the output
5347 before closing to ensure that it will be readable by grub-setup.
5348
5349 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
5350
5351 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
5352 (devpath_1): Use MAKE_PIWG_PATH.
5353 (devpath_2): Likewise.
5354 (devpath_3): Likewise.
5355 (devpath_4): Likewise.
5356 (devpath_5): Likewise.
5357 (devpath_6): Likewise.
5358
5359 The appleldr.mod was checked that to be binary identical to previous
5360 version.
5361
5362 2011-05-05 Zach <mikezackles>
5363
5364 Support 2010 Macbooks.
5365
5366 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
5367 (devs): Add devpath_6.
5368
5369 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
5370
5371 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
5372 /dev/random. /dev/urandom is good enough for our purposes (salting).
5373
5374 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
5375
5376 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
5377
5378 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
5379
5380 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
5381 hexadecimal.
5382
5383 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
5384
5385 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
5386 and not 0 on failure.
5387
5388 2011-05-03 Colin Watson <cjwatson@ubuntu.com>
5389
5390 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
5391 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
5392 disk; otherwise grub_fs_probe will not fall back to the next
5393 filesystem.
5394 (grub_pxefs_open): Likewise, for consistency.
5395 Reported and tested by: Ezekiel Grave.
5396
5397 2011-05-03 Colin Watson <cjwatson@ubuntu.com>
5398
5399 * tests/partmap_test.in: Don't hardcode path to parted.
5400 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
5401
5402 2011-05-01 Colin Watson <cjwatson@ubuntu.com>
5403
5404 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
5405 of `ls' to find out which devices are available.
5406
5407 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5408
5409 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
5410 than source address for efi mmap buffer.
5411
5412 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5413
5414 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
5415 wrong action on non-detecting the magic.
5416
5417 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5418
5419 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
5420 already supplied by another part of the module (fixes compilation on
5421 FreeBSD).
5422
5423 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5424
5425 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
5426 match the one used by mdadm.
5427
5428 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
5429
5430 * po/README: Add instructions for creating po/LINGUAS.
5431
5432 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
5433
5434 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
5435 #551428.
5436
5437 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
5438 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
5439 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
5440 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
5441 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
5442 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
5443 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
5444 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
5445 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
5446 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
5447 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
5448 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
5449 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
5450 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
5451 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
5452 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
5453 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
5454 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
5455 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
5456 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
5457 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
5458 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
5459
5460 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
5461
5462 * grub-core/kern/emu/getroot.c
5463 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
5464 test that was incorrectly reintroduced in r3214.
5465 Reported by: Ian Dall. Fixes Savannah bug #33133.
5466
5467 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
5468
5469 Fix stack pointer handling in 16-bit relocator.
5470
5471 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
5472 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
5473 Fixes Ubuntu bug #683904.
5474
5475 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
5476
5477 * configure.ac: Bump version to 1.99~rc2.
5478
5479 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
5480
5481 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
5482 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
5483 * grub-core/lib/x86_64/setjmp.S: Likewise.
5484 * grub-core/lib/mips/setjmp.S: Likewise.
5485 * grub-core/lib/powerpc/setjmp.S: Likewise.
5486 * grub-core/lib/sparc64/setjmp.S: Likewise.
5487
5488 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
5489
5490 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
5491 * grub-core/lib/efi/datetime.c: Likewise.
5492
5493 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
5494
5495 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
5496 New function.
5497 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
5498 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
5499 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
5500
5501 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
5502
5503 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
5504 bitmap.
5505 (grub_gfxterm_term_init): Likewise.
5506
5507 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
5508
5509 Take into account the decorations the computing menu entry width.
5510
5511 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
5512 (grub_gfxmenu_create_box): Register get_border_width.
5513 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
5514 if available.
5515 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
5516 get_border_width.
5517
5518 2011-04-18 Endres Puschner <code@e7p.de>
5519
5520 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
5521 Don't skip first class.
5522
5523 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5524
5525 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
5526 chunks.
5527 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
5528
5529 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5530
5531 Complete 64-bit division support.
5532
5533 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
5534 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
5535 * include/grub/misc.h (grub_divmod64): Rename to ...
5536 (grub_divmod64_full): ... this.
5537 (grub_divmod64): New inline function.
5538
5539 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5540
5541 * util/grub-mkimage.c (generate_image): Add forgotten comma.
5542
5543 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5544
5545 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
5546 performing the necessary test.
5547
5548 2011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
5549
5550 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
5551 (kfreebsd.elf): Likewise.
5552 (pc-chainloader.elf): Likewise.
5553 (ntldr.elf): Likewise.
5554
5555 2011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
5556
5557 Identify RAID by its UUID rather than (guessed) name.
5558
5559 * grub-core/disk/raid.c (ascii2hex): New function.
5560 (grub_raid_open): Accept mduuid/%s specification.
5561 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
5562 (get_mdadm_uuid): ... this.
5563 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
5564
5565 2011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
5566
5567 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
5568 to negative size.
5569
5570 2011-04-13 Colin Watson <cjwatson@ubuntu.com>
5571
5572 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
5573 btrfs subvolume.
5574 * util/grub.d/20_linux_xen.in: Likewise.
5575
5576 2011-04-13 Colin Watson <cjwatson@ubuntu.com>
5577
5578 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
5579 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
5580
5581 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
5582 Build a list of relevant visible mounts using the mnt_id and
5583 parent_mnt_id fields, and then scan that list at the end.
5584
5585 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
5586
5587 * docs/grub.texi (normal): New section.
5588 (normal_exit): New section.
5589 (Embedded configuration): Add reference to normal.
5590 (GRUB only offers a rescue shell): Likewise.
5591 * docs/grub-dev.texi (Error Handling): Fix typo.
5592
5593 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
5594
5595 * NEWS: Drop obsolete entry about probe-only btrfs support.
5596
5597 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
5598
5599 * util/import_gcry.py: Fix typo.
5600
5601 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5602
5603 * NEWS: Add btrfs support.
5604
5605 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5606 2011-04-11 Colin Watson <cjwatson@ubuntu.com>
5607
5608 BtrFS support. Written by me (Vladimir) with important bugfixes and
5609 even more important testing by Colin.
5610
5611 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
5612 * grub-core/Makefile.core.def (btrfs): Add crc.c.
5613 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
5614 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
5615 mem_input_off and mem_input. All users updated to accept in-RAM input.
5616 (gzio_seek): New function.
5617 (test_zlib_header): Likewise.
5618 (grub_gzio_read): Likewise.
5619 (grub_zlib_decompress): Likewise.
5620 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
5621 Accept partial and non-virtual mounts.
5622 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
5623 avoid receiving /dev/dm-X as device.
5624 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
5625 Handle bind and partial mounts.
5626 * grub-core/lib/crc.c: New file.
5627 * include/grub/deflate.h: Likewise.
5628 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
5629 proto.
5630 * include/grub/lib/crc.h: New file.
5631
5632 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5633
5634 Implement automatic module license checking according to new GNU
5635 guidelines.
5636
5637 * grub-core/kern/dl.c (grub_dl_check_license): New function.
5638 (grub_dl_load_core): Use grub_dl_check_license.
5639 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
5640 (GRUB_MOD_LICENSE): Likewise.
5641 (GRUB_MOD_DUAL_LICENSE): Likewise.
5642 All modules updated.
5643
5644 2011-04-11 Colin Watson <cjwatson@ubuntu.com>
5645
5646 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
5647 reserved_first_sector to 1. btrfs reserves plenty of space for boot
5648 loaders.
5649 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
5650
5651 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5652
5653 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
5654
5655 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5656
5657 * util/grub-fstest.c (read_file): Report GRUB error if file opening
5658 failed.
5659
5660 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5661
5662 * grub-core/kern/file.c (grub_file_open): Don't take into account the
5663 parenthesis in the middle of the filename.
5664
5665 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
5666
5667 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
5668 rather than trying to put initrd way too high.
5669 Reported by: Ryan Lortie <desrt@desrt.ca>
5670
5671 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
5672
5673 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
5674 improperly removed string.
5675
5676 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
5677
5678 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
5679 is_disk.
5680 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
5681 (open_device) Likewise.
5682 (grub_util_biosdisk_close): Likewise.
5683 Reported by: Mark Korenberg.
5684
5685 2011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
5686
5687 * util/grub-mkconfig_lib.in: Add missing quotes.
5688
5689 2011-04-10 Colin Watson <cjwatson@ubuntu.com>
5690
5691 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
5692 is NULL.
5693
5694 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
5695
5696 Dynamically count the number of lines for the lower banner.
5697
5698 * grub-core/normal/menu_entry.c (per_term_screen): New member
5699 num_entries.
5700 (print_down): Use num_entries.
5701 (update_screen): Likewise.
5702 (grub_menu_entry_run): Set num_entries.
5703 * grub-core/normal/menu_text.c (menu_viewer_data): New member
5704 num_entries.
5705 (grub_print_message_indented): Move real part to ...
5706 (grub_print_message_indented_real): ... here. Additional argument
5707 dry_run.
5708 (draw_border): Additional argument num_entries.
5709 (print_message): Additional argument dry_run.
5710 (print_entries): Receive menu viewer data.
5711 (grub_menu_init_page): New argment num_entries.
5712 (menu_text_set_chosen_entry): Use num_entries.
5713 (grub_menu_try_text): Likewise.
5714 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
5715 All users updated.
5716 (grub_ucs4_count_lines): New function.
5717 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
5718 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
5719 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
5720 (grub_term_border_height): Likewise.
5721 (grub_term_num_entries): Likewise.
5722
5723 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
5724
5725 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
5726 Remove now unused string.
5727
5728 2011-04-09 Colin Watson <cjwatson@ubuntu.com>
5729
5730 * docs/grub-dev.texi (Finding your way around): Update for 1.99
5731 build system.
5732 (Getting started): GRUB is developed in Bazaar now, not Subversion.
5733
5734 (Comment): Fix typo.
5735 (Getting started): General copy-editing.
5736 (Typical Development Experience): Likewise.
5737 (Error Handling): Likewise.
5738 (Video API): Likewise.
5739
5740 2011-04-09 Colin Watson <cjwatson@ubuntu.com>
5741
5742 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
5743 throughout.
5744
5745 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5746
5747 * util/grub-mkimage.c (main): Handle special naming of yeeloong
5748 directory.
5749
5750 2011-04-08 Colin Watson <cjwatson@ubuntu.com>
5751
5752 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
5753 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
5754 "development".
5755
5756 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5757
5758 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
5759 grub_strcpy since the lines aren't necessarily 0-terminated.
5760
5761 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5762
5763 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
5764 root on legacy.
5765
5766 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5767
5768 * grub-core/commands/probe.c (options): Argument to set isn't optional.
5769 (GRUB_MOD_INIT): DEVICE isn't optional.
5770
5771 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5772
5773 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
5774 word on new line if it's too long anyway. Fixes a hang.
5775
5776 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5777
5778 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
5779 const.
5780 * util/grub-setup.c (main): Reuse md device name if available.
5781 * util/raid.c (grub_util_raid_getmembers): Receive device name and
5782 not GRUB name as argument.
5783 Based on patch by: Florian Wagner <fwagner>.
5784
5785 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5786
5787 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
5788 Place mbi on low memory for better compatibility.
5789
5790 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5791
5792 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
5793
5794 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5795 2011-04-08 Colin Watson <cjwatson@ubuntu.com>
5796
5797 * autogen.sh: Ensure that collate and ctype locale is C.
5798 * conf/Makefile.common: Likewise.
5799
5800 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5801
5802 * grub-core/normal/menu.c: Add missing include.
5803
5804 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5805
5806 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
5807
5808 2011-04-08 Martin Zuther <mzuther@mzuther.de>
5809
5810 * util/grub-mkconfig.in: Ignore emacsen backup.
5811
5812 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5813
5814 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
5815 on open.
5816 (grub_util_biosdisk_close): Likewise.
5817
5818 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5819
5820 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
5821 const attribute and use grub_isdigit.
5822
5823 2011-04-06 Andrey <dev_null@ukr.net>
5824
5825 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
5826 gcc warning.
5827
5828 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
5829
5830 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
5831 useful grub_dprintf's.
5832
5833 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
5834
5835 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
5836
5837 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
5838
5839 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
5840
5841 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
5842
5843 Output errors if theme loading failed.
5844
5845 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
5846 grub_gfxterm_fullscreen on error paths to ...
5847 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
5848 theme loading error.
5849
5850 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
5851
5852 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
5853 space for older compilers.
5854 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
5855
5856 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
5857
5858 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
5859 and report them as not RAID members since they are useless for GRUB.
5860 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
5861
5862 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
5863
5864 Increase LVM implementation robustness in order not to crash on
5865 configurations like pvmove. Previously code assumed that in some places
5866 only lvs or only pvs are used whereas it seems that they are used
5867 interchangeably.
5868
5869 * grub-core/disk/lvm.c (read_node): New function.
5870 (read_lv): Use read_node.
5871 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
5872 Match volumes only at the end when all lvs are found. Take both
5873 pvs (first) and lvs (second) into account.
5874 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
5875 mirror_* into node_*. All users updated.
5876 (grub_lvm_stripe): Merge this ...
5877 (grub_lvm_mirror): ... and this ...
5878 (grub_lvm_node): ... into this. All users updated.
5879
5880 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
5881
5882 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
5883 of function to allow further scanning for LVMs.
5884
5885 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
5886
5887 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
5888 on failed seek as it breaks open fd reusage.
5889
5890 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
5891
5892 * util/grub-install.in: Add a recommendation to use --recheck before
5893 reporting bugs.
5894
5895 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
5896
5897 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
5898 are obtained.
5899
5900 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
5901
5902 GRUB developper manual based on existing Internals section and
5903 contributions by the various authors with active copyright assignment.
5904
5905 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
5906 * docs/font_char_metrics.png: New file.
5907 * docs/font_char_metrics.txt: Likewise.
5908 * docs/grub-dev.texi: Likewise.
5909 * docs/grub.texi (Internals): Move from here ...
5910 * docs/grub-dev.texi: ... here.
5911
5912 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
5913
5914 Store the loopback device as data on loopback grub_disk structures,
5915 rather than the file it points to. This fixes use of freed memory
5916 if an existing loopback device is replaced.
5917
5918 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
5919 disk->data, not dev->file.
5920 (grub_loopback_read): Adjust file assignment to match.
5921 Fixes Ubuntu bug #742967.
5922
5923 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
5924
5925 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
5926 when replacing an existing device.
5927
5928 2011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
5929
5930 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
5931 memory corruptions.
5932
5933 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
5934 unsigned.
5935 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
5936 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
5937 (grub_jfs_read_inode): Likewise.
5938 (grub_jfs_opendir): Likewise. Remove now useless casts.
5939 (grub_jfs_getent): Likewise.
5940 Make ino a grub_uint32_t rather than int.
5941 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
5942 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
5943 division and module with bit operations.
5944 (grub_jfs_find_file): Make ino a grub_uint32_t.
5945 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
5946
5947 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
5948
5949 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
5950 warning. (This was in fact always initialised before use, but GCC
5951 wasn't smart enough to prove that.)
5952 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
5953
5954 2011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
5955
5956 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
5957 stack alignment.
5958 (efi_wrap_1): Likewise.
5959 (efi_wrap_2): Likewise.
5960 (efi_wrap_3): Likewise.
5961 (efi_wrap_4): Likewise.
5962 (efi_wrap_5): Likewise.
5963 (efi_wrap_6): Likewise.
5964 (efi_wrap_10): Likewise.
5965 Based on information by: Red Hat/Peter Jones.
5966
5967 2011-03-31 Colin Watson <cjwatson@ubuntu.com>
5968
5969 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
5970 set-but-not-used variable.
5971
5972 2011-03-31 Colin Watson <cjwatson@ubuntu.com>
5973
5974 * docs/grub.texi (Simple configuration): Be more explicit about
5975 GRUB_DEFAULT, and add an example.
5976 Reported by: Leslie Rhorer.
5977
5978 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
5979
5980 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
5981 shell".
5982
5983 2011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
5984
5985 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
5986 * util/grub.d/20_linux_xen.in: Likewise.
5987
5988 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
5989
5990 * util/grub.d/10_linux.in: Try alternative config filenames where
5991 we parse config file.
5992 * util/grub.d/20_linux_xen.in: Likewise.
5993
5994 2011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
5995
5996 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
5997 * util/grub.d/20_linux_xen.in: Likewise.
5998
5999 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
6000
6001 * grub-core/disk/raid.c (insert_array): Add few potentially
6002 useful grub_util_info.
6003 (grub_raid_register): Likewise.
6004
6005 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
6006
6007 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
6008 Preserve partition number in mdadm code path.
6009
6010 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
6011
6012 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
6013 few potentially useful grub_util_info.
6014
6015 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
6016
6017 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
6018
6019 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
6020
6021 * docs/grub.texi (default): Use @example rather than nested
6022 itemized lists to avoid breaking gendocs.
6023
6024 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
6025
6026 * docs/grub.texi (Future): Update.
6027
6028 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
6029
6030 * docs/grub.texi (Environment): New chapter.
6031 (Changes from GRUB Legacy): Link to "Environment block" section for
6032 details of limitations.
6033 (Simple configuration): Likewise. Link to documentation of gfxmode
6034 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
6035 respectively.
6036 (Shell-like scripting): Note that normal variables are stored in the
6037 environment.
6038 (gettext): Link to documentation of lang and locale_dir.
6039 (list_env): New section.
6040 (load_env): New section.
6041 (save_env): New section.
6042
6043 (Reporting bugs): Fix typo.
6044
6045 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
6046
6047 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
6048 the example.
6049
6050 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
6051
6052 * grub-core/term/at_keyboard.c (set_scancodes)
6053 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
6054
6055 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
6056
6057 * docs/grub.texi (Menu-specific commands): Remove some semantics
6058 that were true in GRUB Legacy but not in GRUB 2.
6059 (submenu): New section.
6060 (false): New section.
6061 (read): New section.
6062 (true): New section.
6063
6064 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
6065
6066 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
6067
6068 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
6069
6070 * docs/grub.texi (Simple configuration): Explain some of the
6071 current limitations of grub-mkconfig.
6072 Reported by: Leslie Rhorer.
6073
6074 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
6075
6076 Old macs search for boot.efi rather than for bootia32.efi.
6077
6078 * util/grub-install.in: Copy bootia32.efi to boot.efi.
6079 * util/grub-mkrescue.in: Likewise.
6080 Suggested by: Peter Jones.
6081
6082 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
6083
6084 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
6085
6086 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
6087
6088 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
6089 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
6090 (grub_lvm_mirror): New struct.
6091 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
6092 (grub_lvm_iterate): Iterate only visible volumes.
6093 (grub_lvm_read): Factor out to ..
6094 (read_lv): ... this. Support mirrors.
6095 (grub_lvm_read): New wrapper function.
6096 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
6097 stripped or mirrored.
6098
6099 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
6100
6101 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
6102
6103 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
6104
6105 * docs/grub.texi (loopback): New section.
6106
6107 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
6108
6109 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
6110 removed -p option.
6111
6112 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
6113
6114 * docs/grub.texi (BIOS installation): New section, partly based on
6115 previous text in other sections.
6116 (Installing GRUB using grub-install): Replace BIOS discussion with a
6117 cross-reference.
6118 (Images): Likewise.
6119
6120 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
6121
6122 * grub-core/kern/emu/hostdisk.c (find_partition_start)
6123 [HAVE_DIOCGDINFO]: Add safety checks.
6124
6125 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
6126
6127 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
6128 per default compiled in kernel and prior to 8.0 isn't shipped at all.
6129
6130 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
6131
6132 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
6133 real_sb->size is zero (e.g. RAID-0), get the disk size from
6134 real_sb->data_size instead.
6135 Fixes Ubuntu bug #743136.
6136
6137 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
6138
6139 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
6140 printf clauses for printing size and start.
6141
6142 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
6143
6144 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
6145 Reported and tested by: Timothy Nikkel.
6146
6147 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
6148
6149 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
6150 (dirty_region_add_real): ... this.
6151 (dirty_region_add): Don't discard margin refresh when performing
6152 scheduled repaint.
6153
6154 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
6155
6156 * grub-core/lib/relocator.c (allocate_regstart)
6157 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
6158 terminals are capabple of malloc-free operation.
6159 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
6160 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
6161
6162 2011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
6163
6164 * util/grub-setup.c: Copy the partition table zone if floppy support
6165 is disabled, even if no partition table is found.
6166
6167 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
6168 during POST if an invalid partition table is contained in the PBR
6169 of the active partition when GRUB is installed to a partition.
6170
6171 2011-03-28 Colin Watson <cjwatson@debian.org>
6172
6173 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
6174 comment.
6175
6176 2011-03-28 Colin Watson <cjwatson@debian.org>
6177
6178 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
6179 to be specific about what kind of RAID device we're scanning for.
6180
6181 2011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
6182
6183 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
6184 return freed string.
6185
6186 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
6187
6188 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
6189
6190 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
6191
6192 Use libgeom on FreeBSD to detect partitions.
6193
6194 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
6195 (grub-mkrelpath): Likewise.
6196 (grub-script-check): Likewise.
6197 (grub-editenv): Likewise.
6198 (grub-mkpasswd-pbkdf2): Likewise.
6199 (grub-fstest): Likewise.
6200 (grub-mkfont): Likewise.
6201 (grub-mkdevicemap): Likewise.
6202 (grub-probe): Likewise.
6203 (grub-setup): Likewise.
6204 (grub-ofpathname): Likewise.
6205 (grub-mklayout): Likewise.
6206 (example_unit_test): Likewise.
6207 (grub-menulst2cfg): Likewise.
6208 * grub-core/Makefile.core.def (grub-emu): Likewise.
6209 (grub-emu-lite): Likewise.
6210 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
6211 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
6212 define HAVE_DIOCGDINFO.
6213 (follow_geom_up) [FreeBSD]: New function.
6214 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
6215 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
6216 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
6217 unconditionally of HAVE_DIOCGDINFO.
6218
6219 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
6220
6221 Fix FreeBSD compilation problem.
6222
6223 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
6224 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
6225
6226 2011-03-24 Colin Watson <cjwatson@ubuntu.com>
6227
6228 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
6229 Switch back to page zero before loading a kernel, since some kernel
6230 drivers expect that.
6231 Thanks to: Felix Kuehling.
6232
6233 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
6234
6235 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
6236 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
6237 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
6238
6239 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
6240
6241 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
6242 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
6243
6244 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
6245
6246 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
6247 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
6248 malloc is disabled.
6249
6250 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
6251
6252 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
6253 for modules headers when counting the needed allocation size.
6254
6255 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6256
6257 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
6258 if no ASCII character is found to prevent crash.
6259
6260 2011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
6261
6262 * grub-core/video/bitmap.c (match_extension): Ignore case.
6263
6264 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6265
6266 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
6267
6268 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6269
6270 * grub-core/script/parser.y: Declare "time" as valid argument.
6271
6272 2011-03-23 Peter Jones <pjones@redhat.com>
6273
6274 Fix incorrect assert failure reporting.
6275
6276 * grub-core/tests/example_functional_test.c (example_test): Add
6277 a failure comment.
6278 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
6279 (failure_start): ...this. Check that malloc succeeded.
6280 Don't call xvasprintf. Return failure struct.
6281 (failure_append_vtext): New function.
6282 (failure_append_text): Likewise.
6283 (add_failure): Likewise.
6284 (grub_test_assert_helper): Likewise.
6285 * include/grub/test.h (grub_test_assert_helper): New declaration.
6286 (grub_test_assert): Macro rewritten.
6287
6288 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6289
6290 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
6291
6292 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6293
6294 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
6295
6296 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6297
6298 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
6299 into GRUB-style one.
6300
6301 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6302
6303 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
6304 error and not grub_errno.
6305 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
6306
6307 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6308
6309 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
6310 GRUB_USB_SPEED_NONE in case of failure and not the error code.
6311
6312 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6313
6314 * grub-core/efiemu/i386/pc/cfgtables.c
6315 (grub_machine_efiemu_init_tables): Make declaration a prototype.
6316 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
6317 (grub_xnu_unlock): Likewise.
6318 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
6319
6320 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6321
6322 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
6323 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
6324 * grub-core/commands/hashsum.c (aliases): Likewise.
6325 * grub-core/commands/setpci.c (pci_registers): Likewise.
6326 * grub-core/disk/usbms.c (attach_hook): Likewise.
6327 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
6328 (zio_checksum_table): Likewise.
6329 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
6330 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
6331 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
6332 * grub-core/lib/relocator.c (leftovers): Likewise.
6333 (extra_blocks): Likewise.
6334 * grub-core/loader/i386/bsd.c (relocator): Likewise.
6335 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
6336 (modules_last): Likewise.
6337 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
6338 (devices): Likewise.
6339 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
6340 (modules_last): Likewise.
6341 * grub-core/normal/auth.c (users): Likewise.
6342 * grub-core/normal/context.c (initial_menu): Likewise.
6343 (current_menu): Likewise.
6344 * grub-core/normal/crypto.c (crypto_specs): Likewise.
6345 * grub-core/term/serial.c (grub_serial_ports): Likewise.
6346 (grub_serial_terminfo_input_template): Likewise.
6347 (grub_serial_terminfo_output_template): Likewise.
6348 (grub_serial_terminfo_input): Likewise.
6349 (grub_serial_terminfo_output): Likewise.
6350 (registered): Likewise.
6351 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
6352
6353 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6354
6355 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
6356 grub_video_mode_type_t.
6357 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
6358 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
6359 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
6360
6361 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6362
6363 * util/grub-install.in: Correct the x86-64 name as x86_64.
6364
6365 2011-03-11 Colin Watson <cjwatson@ubuntu.com>
6366
6367 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
6368 initial chunk read from the kernel always includes GRUB's multiboot
6369 header, which is now outside the first sector.
6370
6371 2011-03-09 Colin Watson <cjwatson@ubuntu.com>
6372
6373 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
6374 cached mmap_size, so that this works correctly when called multiple
6375 times.
6376 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
6377
6378 2011-03-09 Colin Watson <cjwatson@ubuntu.com>
6379
6380 * docs/grub.texi (Simple configuration): Tidy up formatting.
6381
6382 2011-03-07 Szymon Janc <szymon@janc.net.pl>
6383
6384 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
6385 Set-but-not-used variable removed.
6386
6387 2011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
6388
6389 Workaround yet another IEEE1275 bug.
6390
6391 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
6392 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
6393 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
6394 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
6395 is set.
6396 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
6397 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
6398
6399 2011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
6400
6401 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
6402 error.
6403
6404 2011-02-11 Colin Watson <cjwatson@ubuntu.com>
6405
6406 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
6407 empty, since in that case we can only generate either nothing or a
6408 syntactically invalid configuration file.
6409 Reported by: Michal Suchanek. Fixes Debian bug #612898.
6410
6411 2011-02-09 Colin Watson <cjwatson@ubuntu.com>
6412
6413 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
6414 (Making a GRUB bootable CD-ROM): Likewise.
6415 (Invoking grub-mkrescue): New section.
6416 Reported by: Yann Dirson. Fixes Debian bug #612585.
6417
6418 2011-02-09 Colin Watson <cjwatson@ubuntu.com>
6419
6420 * util/grub-install.in: Remove unnecessary brackets from tr
6421 arguments.
6422 * util/grub.d/10_hurd.in: Likewise.
6423 * util/grub.d/10_kfreebsd.in: Likewise.
6424 * util/grub.d/10_linux.in: Likewise.
6425 * util/grub.d/20_linux_xen.in: Likewise.
6426 Reported by: Jamie Heilman. Fixes Debian bug #612564.
6427
6428 2011-02-08 Colin Watson <cjwatson@ubuntu.com>
6429
6430 * include/grub/file.h (not_easly_seekable): Rename to ...
6431 (not_easily_seekable): ... this. Update all users.
6432
6433 2011-01-28 Colin Watson <cjwatson@ubuntu.com>
6434
6435 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
6436 grub-mkrescue.
6437
6438 2011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
6439
6440 * util/grub-mkimage.c (generate_image): Refuse to create the images
6441 bigger than the actual flash (512K) in Loongson machines. 512K is also
6442 the biggest chip supported by them.
6443
6444 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6445
6446 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
6447
6448 2011-01-22 Anthony DeRobertis <anthony@derobert.net>
6449
6450 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
6451 super_offset field.
6452
6453 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6454
6455 * util/grub-install.in: Ignore install device on platforms
6456 where it doesn't make sense. Always use UUIDs except on pc, efi and
6457 sparc64.
6458 Reported by: Daniel Kahn Gillmor.
6459
6460 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6461
6462 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
6463
6464 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6465
6466 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
6467 (iterate_real): Don't rely on partition being non-NULL.
6468
6469 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6470
6471 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
6472 supported platforms. Put a compile time assert for this rather than
6473 generate a warning with 32-bit shift.
6474
6475 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6476
6477 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
6478 logical expression more readable.
6479
6480 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6481
6482 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
6483 even if some elements have a name.
6484 Reported by: Alexander GQ Gerasiov.
6485
6486 2011-01-22 Colin Watson <cjwatson@ubuntu.com>
6487
6488 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
6489 path unreadable if `grub-probe -t abstraction' fails, for example if
6490 memberlist fails on an LVM volume group.
6491 Reported by: Darius Jahandarie.
6492
6493 2011-01-22 Colin Watson <cjwatson@ubuntu.com>
6494
6495 * docs/grub.texi (Simple configuration): Document
6496 GRUB_PRELOAD_MODULES.
6497
6498 2011-01-17 Colin Watson <cjwatson@ubuntu.com>
6499
6500 * .bzrignore: Remove nonexistent grub-pbkdf2.
6501
6502 2011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
6503
6504 * configure.ac: Bump version to 1.99~rc1.
6505
6506 2011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
6507
6508 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
6509 for safety.
6510
6511 2011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6512
6513 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
6514 module.
6515
6516 2011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6517
6518 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
6519
6520 2011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
6521
6522 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
6523 diskdevid.
6524
6525 2011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
6526
6527 Fix compilation on cygwin.
6528
6529 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
6530 -R .drectve on cygwin.
6531 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
6532 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
6533 (COND_CYGWIN): New condition.
6534 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
6535 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
6536 not @TARGET_OBJ2ELF@.
6537 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
6538 type to determine whether aux is to be used.
6539
6540 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6541
6542 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
6543 realpath'ed device string.
6544 Handle floppy (somewhat).
6545 Issue error in unknown case rather than garbage.
6546 Reported by: Axel Beckert.
6547
6548 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6549
6550 * util/grub.d/00_header.in (load_video): Handle the case when no video
6551 drivers available.
6552 Thanks to: Axel Beckert.
6553
6554 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6555
6556 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
6557 variable. Fixes problem on big endian platforms.
6558
6559 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6560
6561 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
6562 It doesn't work well there.
6563
6564 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6565
6566 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
6567 warning.
6568 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
6569 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
6570 counter.
6571
6572 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6573
6574 Use alias->path rather than buggy "canon".
6575
6576 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
6577 (ofdisk_hash_add): New argument curcan. All users updated.
6578
6579 2011-01-11 Colin Watson <cjwatson@ubuntu.com>
6580
6581 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
6582
6583 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
6584
6585 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
6586 loadmask before doing any calculations. Use correct type for offset.
6587 (grub_linux_load64): Likewise.
6588
6589 2011-01-11 Colin Watson <cjwatson@ubuntu.com>
6590
6591 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
6592 with NULL.
6593 (console_grub_equivalences_unshift): Likewise.
6594 Reported by: Daniel Dehennin.
6595
6596 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
6597
6598 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
6599 (set_env_limn_ro): Likewise.
6600 (GRUB_MOD_INIT): Likewise.
6601 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
6602 ARRAY_SIZE while on it.
6603 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
6604 * grub-core/normal/context.c (grub_env_export): Move from here ...
6605 * grub-core/kern/env.c (grub_env_export): ... here.
6606 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
6607 prefix.
6608 * grub-core/kern/main.c (grub_main): Export root and prefix.
6609 * include/grub/env.h (grub_env_export): Export.
6610 Reported by: Seth Goldberg.
6611
6612 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
6613
6614 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
6615 Take into account space used by ELF sections and multiboot palette.
6616 Reported by: Grégoire Sutre.
6617
6618 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
6619
6620 * BUGS: New file.
6621
6622 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6623
6624 Pass more appropriate video id to Linux.
6625
6626 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
6627 grub_video_get_driver_id and variable gfxpayloadforcelfb to
6628 fill have_vga.
6629 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
6630 shift params->lfb_size.
6631 * include/grub/i386/linux.h: Make an enume out of have_vga values.
6632
6633 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6634
6635 * util/grub-menulst2cfg.c: Add missing include of misc.h.
6636
6637 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6638
6639 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
6640 separator and pass bootpath/devid even if only one of them is available.
6641 Reported by: Seth Goldberg.
6642
6643 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6644
6645 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
6646 implementations bug on them.
6647
6648 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
6649 memory.
6650 (filter_memory_map): Likewise.
6651
6652 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6653
6654 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
6655 Reported by: nebuchadnezzar.
6656
6657 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6658
6659 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
6660 Reported by: nebuchadnezzar.
6661
6662 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6663
6664 Submenu default support.
6665
6666 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
6667 auto_boot. All users updated.
6668 Declared static.
6669 Handle chosen and default with submenus.
6670 (grub_menu_execute_with_fallback): Declared static.
6671 Don't notify failure if autobooted. Upper level does it.
6672 (menuentry_eq): New function.
6673 (get_entry_number): Use menuentry_eq.
6674 (show_menu): New parameter "autobooted". All users updated.
6675 (grub_show_menu): Likewise.
6676 * include/grub/normal.h (grub_show_menu): Likewise.
6677 * include/grub/menu.h (grub_menu_execute_entry): Removed.
6678 (grub_menu_execute_with_fallback): Likewise.
6679
6680 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6681
6682 * util/grub-mklayout.c (usage): Update help text.
6683
6684 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6685
6686 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
6687
6688 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6689
6690 * util/grub-menulst2cfg.c (main): Trim the line.
6691
6692 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6693
6694 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
6695 (grub_machine_init): Don't check amount of low memory as reportedly
6696 INT 12h can be broken and if low memory is too low we wouldn't have
6697 gotten into grub_machine_init anyway.
6698
6699 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6700
6701 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
6702 (grub_machine_mmap_iterate): Take low memory into account
6703
6704 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6705
6706 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
6707 badfs.
6708 Reported by: TiCPU.
6709
6710 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6711
6712 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
6713 members errors.
6714
6715 2011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
6716
6717 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
6718 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
6719
6720 2011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
6721
6722 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
6723 openbsd and netbsd types being in part_bsd module.
6724
6725 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
6726
6727 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
6728 (_FILE_OFFSET_BITS): Likewise.
6729 Reported by: Seth Goldberg.
6730
6731 2011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
6732
6733 * configure.ac: Check for libdevmapper header.
6734
6735 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
6736
6737 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
6738 avoid aliasing.
6739 (fzap_lookup): Likewise.
6740 (dnode_get): Likewise.
6741 (make_mdn): Likewise.
6742 (zfs_mount): Likewise.
6743 (fzap_iterate): Use temporary pointer to avoid aliasing.
6744 (grub_zfs_read): Likewise.
6745 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
6746 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
6747 pointers to avoid aliasing.
6748 (grub_cmd_xnu_kernel64): Likewise.
6749 (grub_xnu_load_driver): Likewise.
6750
6751 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
6752
6753 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
6754 aliasing warning.
6755 (grub_cmd_terminal_output): Likewise.
6756 Reported and tested by: Grégoire Sutre.
6757
6758 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
6759
6760 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
6761 warning.
6762 Reported and tested by: Grégoire Sutre.
6763
6764 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
6765
6766 * configure.ac: Do CPU substitution even if it's specified explicitly.
6767 Reported and tested by: Alain Greppin.
6768
6769 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
6770
6771 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
6772 Reported and tested by: Alain Greppin.
6773
6774 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
6775
6776 Satisfy some bison versions need for inttypes.h.
6777
6778 * grub-core/lib/posix_wrap/inttypes.h: New file.
6779 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
6780 (int16_t): Likewise.
6781 (int32_t): Likewise.
6782 (int64_t): Likewise.
6783 Reported and tested by: Alain Greppin.
6784
6785 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
6786
6787 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
6788 Silence spurious warning.
6789 Reported and tested by: Alain Greppin.
6790
6791 2011-01-07 Szymon Janc <szymon@janc.net.pl>
6792
6793 * docs/grub.texi (Support automatic decompression): Update with xz
6794 decompression support.
6795
6796 2011-01-07 Szymon Janc <szymon@janc.net.pl>
6797
6798 Improve loaders' kernel command line handling.
6799
6800 * grub-core/lib/cmdline.c: New file.
6801 * include/grub/lib/cmdline.h: Likewise.
6802 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
6803 grub_create_loader_cmdline to create kernel command line.
6804 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
6805 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
6806 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
6807 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
6808 (linux): Add lib/cmdline.c on common.
6809
6810 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
6811
6812 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
6813 inopos might be unaligned.
6814
6815 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
6816
6817 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
6818 endian transformations.
6819 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
6820 Based on report by: Doug Nazar.
6821
6822 2011-01-07 Doug Nazar <nazard.michi@gmail.com>
6823
6824 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
6825 array->members[i].start_sector.
6826 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
6827
6828 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
6829
6830 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
6831 Reported and tested by: Grégoire Sutre.
6832
6833 2011-01-06 Colin Watson <cjwatson@ubuntu.com>
6834
6835 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
6836 avoid causing test failures by clearing the screen.
6837
6838 2011-01-06 Colin Watson <cjwatson@ubuntu.com>
6839
6840 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
6841 Fix prefix check to handle the case where dir ends with a slash
6842 (most significantly, "/" itself).
6843 Reported by: Michael Vogt.
6844
6845 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
6846
6847 Run terminfo_cls on initing terminfo output to clear the screen and
6848 move the cursor to (0,0).
6849
6850 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
6851 Call grub_terminfo_output_init.
6852 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
6853 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
6854 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
6855
6856 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
6857
6858 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
6859 only when needed.
6860
6861 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
6862
6863 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
6864 CTRL.
6865
6866 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
6867
6868 The E820 type 5 is BADRAM, not EXEC_CODE.
6869
6870 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
6871 (GRUB_E820_BADRAM): New define.
6872 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
6873 into reserved. Propagate BADRAM.
6874 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
6875 (GRUB_E820_BADRAM): New define.
6876
6877 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
6878
6879 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
6880 Ignore the memory post-4G.
6881 (grub_relocator_firmware_alloc_region): Additional debug statement.
6882
6883 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
6884
6885 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
6886 names.
6887 Reported by: David Pravec.
6888
6889 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
6890
6891 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
6892 BIOSes.
6893
6894 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
6895
6896 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
6897 Prevent overflow.
6898 (grub_reed_solomon_recover): Likewise.
6899
6900 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
6901
6902 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
6903
6904 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
6905
6906 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
6907 variable.
6908
6909 2011-01-04 Colin Watson <cjwatson@ubuntu.com>
6910
6911 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
6912 descriptions of extract_legacy_entries_source and
6913 extract_legacy_entries_configfile.
6914 Reported by: Seung Soo, Ha.
6915
6916 2011-01-03 Colin Watson <cjwatson@ubuntu.com>
6917
6918 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
6919 on devices that do not implement function 0.
6920
6921 2011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
6922
6923 * grub-core/fs/hfsplus.c: Make parent unsigned.
6924 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
6925 overflows.
6926 (grub_hfsplus_cmp_extkey): Likewise
6927
6928 2011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
6929
6930 * util/grub-install.in: Correctly use bootloader_id and not
6931 GRUB_DISTRIBUTOR on efibootmgr line.
6932
6933 2011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
6934
6935 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
6936
6937 2010-12-31 Ian Campbell <ijc@hellion.org.uk>
6938
6939 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
6940 Xen and reorder menu item wording to make it clearer that this entry
6941 will launch Xen. Print separate messages when loading Xen and
6942 Linux.
6943
6944 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
6945
6946 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
6947 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
6948 loop in case of incorrect amiga partmap.
6949
6950 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
6951
6952 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
6953 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
6954 Reported by:EHeM.
6955
6956 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
6957
6958 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
6959 spurious warning.
6960 Reported by: crocket
6961
6962 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
6963
6964 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
6965 Preload EFIemu.
6966 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
6967
6968 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
6969
6970 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
6971 is loaded
6972 (grub_cmd_xnu_kextdir): Likewise.
6973 (grub_cmd_xnu_splash): Likewise.
6974
6975 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
6976
6977 Avoid using Reed-Solomon with 0 redundancy.
6978
6979 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
6980 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
6981 or 0 redundancy.
6982 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
6983 (grub_reed_solomon_recover): Likewise.
6984
6985 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
6986
6987 Don't use disk subsystem in freebsd_boot.
6988
6989 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
6990 (freebsd_biosdev): Likewise.
6991 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
6992 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
6993
6994 2010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
6995
6996 Handling of files of unknown size is currently limited. They can't be
6997 used e.g. for initrd or modules. Moreover gzip handling of not
6998 easily seekable files is buggy. Disable unknown file size for now. May
6999 be inefficient but works.
7000
7001 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
7002 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
7003
7004 2010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
7005
7006 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
7007 floppy probe.
7008
7009 2010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
7010
7011 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
7012
7013 2010-12-25 Shea Levy <shlevy>
7014
7015 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
7016
7017 2010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7018
7019 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
7020 Windows Server 2008.
7021 Reported by: Devin Giddings.
7022
7023 2010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7024
7025 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
7026 writing an error message because of async power management.
7027 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
7028 (grub_reboot): Likewise.
7029
7030 2010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
7031
7032 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
7033 keep unit tests from failing when they shouldn't.
7034
7035 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
7036
7037 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
7038 previous patch increased the size of the RS code by 20 bytes (at
7039 least with gcc-4.4), so increase this by 20 bytes to match.
7040 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
7041
7042 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
7043
7044 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
7045 scratch area. Make sure to initialise chosen in standalone mode as
7046 well as non-standalone.
7047 Reported by: Robert Hooker and Andy Whitcroft.
7048 Tested by: Andy Whitcroft.
7049
7050 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
7051
7052 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
7053 constructing a new unescaped string and passing it to grub_xputs in
7054 one go, rather than passing characters to grub_printf one at a time.
7055
7056 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
7057
7058 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
7059 initialising utf16.
7060
7061 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
7062
7063 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
7064 comment. Add an extra layer of quotation, requiring the output of
7065 this function to be used in a printf format string.
7066 (gettext_printf): New function.
7067 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
7068 Extract translatable strings from here-documents and use a temporary
7069 variable instead, so that xgettext can find them.
7070 * util/grub.d/10_kfreebsd.in: Likewise.
7071 * util/grub.d/10_linux.in: Likewise.
7072 * util/grub.d/20_linux_xen.in: Likewise.
7073
7074 * po/grub.d.sed: New file.
7075 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
7076 arguments. Set c-format flags on all strings extracted from
7077 util/grub.d/ (xgettext refuses to include these itself for strings
7078 it extracted from a shell file, but these really are c-format).
7079
7080 2010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
7081
7082 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
7083 Avoid next pointing to nowhere.
7084
7085 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
7086
7087 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
7088 rather than assuming than rootblock is exactly in the middle.
7089 (grub_affs_label): Likewise.
7090
7091 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
7092
7093 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
7094 reserved_first_sector to 0.
7095 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
7096 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
7097 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
7098
7099 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
7100
7101 Fix handling of UTF-16 UDF labels.
7102
7103 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
7104 (read_string): .. here.
7105 (grub_udf_label): Use read_string.
7106
7107 2010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
7108
7109 * grub-core/normal/menu_entry.c (run): Execute commands from menu
7110 editor under argument scope.
7111 Reported by: Jordan Uggla
7112
7113 2010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
7114
7115 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
7116
7117 2010-12-18 Colin Watson <cjwatson@ubuntu.com>
7118
7119 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
7120 line, and other keys scroll an entire page (previous handling was
7121 for \r and \n to scroll a page and other keys to scroll two lines).
7122
7123 2010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
7124
7125 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
7126 Set ptrdest to correct get_physical_target_address rather than
7127 incorrect get_virtual_current_address.
7128
7129 2010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
7130
7131 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
7132 correct cat to grub_uint8_t * rather than grub_uint32_t *.
7133
7134 2010-12-10 Colin Watson <cjwatson@ubuntu.com>
7135
7136 * .bzrignore: Ignore grub-core/rs_decoder.S.
7137
7138 2010-12-10 Colin Watson <cjwatson@ubuntu.com>
7139
7140 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
7141 .mo/.mo.gz opening sequence to ...
7142 (grub_mofile_open_lang): ... here.
7143 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
7144 * util/grub.d/00_header.in (grub_lang): Include country part of
7145 locale.
7146 Reported by: Mario Limonciello.
7147
7148 2010-12-09 Robert Millan <rmh@gnu.org>
7149
7150 * NEWS: Document addition of ZFS support.
7151
7152 2010-12-04 Colin Watson <cjwatson@ubuntu.com>
7153
7154 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
7155 rather than `/ 2', as the latter requires -Wa,--divide which would
7156 require bumping our minimum binutils version.
7157
7158 2010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
7159
7160 * util/grub-script-check.c (main): Print script line number on
7161 error.
7162
7163 2010-12-01 Robert Millan <rmh@gnu.org>
7164
7165 * grub-core/fs/zfs/zfs.c: New file.
7166 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
7167 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
7168 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
7169 * grub-core/fs/zfs/zfsinfo.c: Likewise.
7170
7171 * include/grub/zfs/dmu.h: Likewise.
7172 * include/grub/zfs/dmu_objset.h: Likewise.
7173 * include/grub/zfs/dnode.h: Likewise.
7174 * include/grub/zfs/dsl_dataset.h: Likewise.
7175 * include/grub/zfs/dsl_dir.h: Likewise.
7176 * include/grub/zfs/sa_impl.h: Likewise.
7177 * include/grub/zfs/spa.h: Likewise.
7178 * include/grub/zfs/uberblock_impl.h: Likewise.
7179 * include/grub/zfs/vdev_impl.h: Likewise.
7180 * include/grub/zfs/zap_impl.h: Likewise.
7181 * include/grub/zfs/zap_leaf.h: Likewise.
7182 * include/grub/zfs/zfs.h: Likewise.
7183 * include/grub/zfs/zfs_acl.h: Likewise.
7184 * include/grub/zfs/zfs_znode.h: Likewise.
7185 * include/grub/zfs/zil.h: Likewise.
7186 * include/grub/zfs/zio.h: Likewise.
7187 * include/grub/zfs/zio_checksum.h: Likewise.
7188
7189 * Makefile.util.def: Build ZFS into libgrubmods.
7190 * grub-core/Makefile.core.def: Build zfs.mod.
7191
7192 2010-11-30 Szymon Janc <szymon@janc.net.pl>
7193
7194 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
7195 variable.
7196 * grub-core/commands/wildcard.c (match_files): Likewise.
7197
7198 2010-11-30 Robert Millan <rmh@gnu.org>
7199
7200 * grub-core/loader/i386/bsd.c
7201 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
7202 whether kernel is loaded using grub_loader_is_loaded(), rather
7203 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
7204 certain error conditions.
7205
7206 2010-11-30 Robert Millan <rmh@gnu.org>
7207
7208 * grub-core/commands/echo.c: Include `<grub/term.h>'.
7209 (grub_cmd_echo): Call grub_refresh() after printing a message.
7210
7211 2010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
7212
7213 Avoid using tricks for initialising endian variables.
7214
7215 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
7216 Make const.
7217 (GRUB_MOD_INIT): Don't byte-swap.
7218 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
7219 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
7220 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
7221 (grub_swap_bytes32_compile_time): Likewise.
7222 (grub_cpu_to_le32_compile_time): Likewise.
7223 (grub_cpu_to_le16_compile_time): Likewise.
7224
7225 2010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
7226
7227 * util/grub-setup.c (setup): Stop recommending --force. People who
7228 understand the dangers of blocklists are able to find this option
7229 anyway and the ones who don't shouldn't use it anyway.
7230
7231 2010-11-26 Robert Millan <rmh@gnu.org>
7232
7233 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
7234 Update all users.
7235
7236 2010-11-26 Colin Watson <cjwatson@ubuntu.com>
7237
7238 Fix LVM-on-RAID probing.
7239
7240 * util/grub-probe.c (probe): Remember which disk was detected as
7241 RAID (perhaps an LVM physical volume). Use that disk's raidname
7242 rather than that of the top-level disk.
7243
7244 2010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7245
7246 Fix cmdline argument quotes for setparams command of menuentry
7247 definitions.
7248
7249 * grub-core/commands/menuentry.c (setparams_prefix): Use single
7250 quotes for arguments.
7251 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7252 grub_strchrsub function instead.
7253
7254 * include/grub/misc.h (grub_strchrsub): New function.
7255
7256 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
7257
7258 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
7259 effort by skipping "." and ".." entries up-front.
7260 Suggested by: Michael Lazarev.
7261
7262 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
7263
7264 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
7265 ldflags to ldadd, to fix link line ordering.
7266 (none_decompress): Likewise.
7267
7268 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
7269
7270 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
7271 platforms.
7272 (grub-emu-lite): Remove kern/emu/cache.S.
7273
7274 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
7275
7276 * util/deviceiter.c (compare_devices): If the by-id link for a
7277 device couldn't be resolved, fall back to sorting by the by-id link
7278 rather than segfaulting.
7279 Reported and tested by: Daniel Mierswa.
7280
7281 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
7282
7283 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
7284 ldflags, to fix link line ordering.
7285
7286 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
7287
7288 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
7289 linkers are picky about this.
7290
7291 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
7292
7293 * grub-core/Makefile.am (command.lst): Adjust sed expression
7294 ordering so that extended and priority commands aren't treated as
7295 ordinary commands.
7296
7297 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
7298
7299 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
7300 Remove byte-swapping function calls, which are not valid in
7301 structure initialisers.
7302 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
7303 non-const.
7304 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
7305 grub_gpt_partition_type_bios_boot.
7306
7307 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
7308
7309 Fix test program build on GNU/kFreeBSD.
7310
7311 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
7312 $(LIBNVPAIR)' library dependencies.
7313
7314 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
7315
7316 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
7317
7318 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
7319
7320 * util/grub-install.in: Remove excessive quoting that broke
7321 installations to RAID devices.
7322
7323 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
7324
7325 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
7326 bootloader version instead of 0.
7327
7328 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
7329
7330 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
7331 warning.
7332
7333 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
7334
7335 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
7336 retrieve the metadat sector if size isn't known.
7337 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
7338
7339 2010-11-18 Robert Millan <rmh@gnu.org>
7340
7341 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
7342 with grub_memcmp().
7343
7344 2010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
7345
7346 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
7347 arrow.
7348 Reported by: Jordan Uggla.
7349
7350 2010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
7351
7352 Make better UTF compliant.
7353
7354 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
7355 sequences as incorrect.
7356 (grub_is_valid_utf8): Likewise.
7357 (grub_utf8_to_ucs4): Likewise.
7358 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
7359 (grub_ucs4_to_utf8_alloc): Likewise.
7360 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
7361
7362 2010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
7363
7364 Make legacy_source behave like source.
7365
7366 * grub-core/commands/legacycfg.c (legacy_file): Don't call
7367 grub_show_menu.
7368 (grub_cmd_legacy_source): Call grub_show_menu if needed.
7369
7370 2010-11-16 Colin Watson <cjwatson@debian.org>
7371
7372 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
7373 (-Wunused implies -Wunused-parameter, but not vice versa).
7374
7375 2010-11-16 Colin Watson <cjwatson@ubuntu.com>
7376
7377 * configure.ac: Make error messages less confusing by testing for
7378 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
7379 accepted, but produces a diagnostic if something else is wrong).
7380
7381 2010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
7382
7383 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
7384 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
7385 (now unused).
7386 (grub_keyboard_controller_init)
7387 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
7388 read the initial state since controller isn't inited yet.
7389
7390 2010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
7391
7392 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
7393 allocate_regbeg may need to create new chunk header.
7394
7395 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
7396
7397 Fix quoting in legacy parser.
7398
7399 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
7400 single quotes.
7401 (grub_legacy_parse): Likewise.
7402 Reported by: Jordan Uggla.
7403 Tested by: Jordan Uggla.
7404
7405 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
7406
7407 Don't add -lgcc on i386 and x86_64.
7408
7409 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
7410 * conf/Makefile.common (LDADD_KERNEL): Likewise.
7411 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
7412
7413 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
7414
7415 * configure.ac: Add -Wno-trampolines when supported.
7416
7417 2010-11-14 Modestas Vainius <modax@debian.org>
7418
7419 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
7420 fakeraid.
7421
7422 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
7423
7424 Add generic logical block size support for UDF.
7425
7426 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
7427 (GRUB_UDF_BLKSZ): Removed.
7428 (struct grub_udf_data): New field "lbshift" to hold the logical block
7429 size of the file system in log2 format. All users updated.
7430 (sblocklist): Change type to unsigned.
7431 (grub_udf_mount): Change type of "sblklist" to unsigned.
7432 Move AVDP search before VRS recognition, because the latter requires
7433 knowledge of the logical block size, which is detected during the
7434 former.
7435 Detect and validate logical block size during AVDP search, adding
7436 support for block sizes 512, 1024 and 4096.
7437 Make VRS recognition independent of block size.
7438
7439 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
7440
7441 Properly handle deleted files on UDF.
7442
7443 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
7444 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
7445 set.
7446
7447 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
7448
7449 Support reading files larger than 2 GiB.
7450
7451 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
7452 "offset" to grub_off_t.
7453 (grub_udf_read_file): Likewise for parameter "pos".
7454
7455 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
7456
7457 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
7458 unavailable.
7459 (Simple configuration): Refer to Changes from GRUB Legacy about
7460 save_env availability.
7461
7462 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
7463
7464 * util/grub-install.in: Ignore empty partition table detection
7465 instead of trying to include part_ module.
7466
7467 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
7468
7469 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
7470 LVM on RAID support.
7471
7472 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
7473
7474 Properly define WORDS_BIGENDIAN in wrapped environments.
7475
7476 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
7477 definition.
7478 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
7479
7480 Reported by: Manoel Rebelo Abranches.
7481 Tested by: Manoel Rebelo Abranches.
7482
7483 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
7484
7485 * util/grub-mkconfig.in: Fix quoting.
7486
7487 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
7488
7489 Support big ext2 files.
7490
7491 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
7492 (grub_ext2_read_block): Support triple indirect blocks.
7493 (grub_ext2_read_file): Use 64-bit types and read size_high.
7494 (grub_ext2_open): Read size_high.
7495 Reported by: Ximin Luo.
7496 Tested by: Manoel Rebelo Abranches.
7497
7498 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
7499
7500 * util/grub-install.in: Handle filenames containing spaces.
7501 Reported by: Jordan Uggla.
7502 Tested by: Jordan Uggla.
7503
7504 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
7505
7506 * util/grub-mkconfig.in (grub_script_check): New variable.
7507 Use grub_script_check instead of grub-script-check.
7508 Reported by: Barry Jackson.
7509
7510 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
7511
7512 * docs/grub.texi (menu): Correct the order.
7513 Reported by: D. Hugh Redelmeier.
7514
7515 2010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7516
7517 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
7518 jump.
7519
7520 2010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
7521
7522 * include/grub/elfload.h (grub_elf32_size): New parameter.
7523 All users updated.
7524 Return maximum segments alignment.
7525 (grub_elf64_size): Likewise.
7526 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
7527 Return maximum segments alignment.
7528 (grub_elf64_size): Likewise.
7529 * grub-core/loader/powerpc/ieee1275/linux.c:
7530 (grub_linux_claimmap_iterate): New function. Uses the
7531 "available" property in the "memory" node for memory allocation
7532 for kernel in the PowerPC loader.
7533 (grub_linux_load32): Correctly find linux entry point offset.
7534 (grub_linux_load64): Likewise.
7535
7536 2010-11-07 Robert Millan <rmh@gnu.org>
7537
7538 On mips-yeeloong, build with -march=loongson2f when this flag is
7539 available (GCC >= 4.4).
7540 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
7541 `-march=mips3'.
7542 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
7543 or otherwise add -march=mips3.
7544
7545 2010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
7546
7547 Suppress shell expansion on echo '*' and echo "*" like cases.
7548 Reported by: Jordan Uggla.
7549
7550 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
7551 string arguments before shell expansion.
7552 * tests/grub_cmd_echo.in: New testcases.
7553
7554 2010-11-07 Robert Millan <rmh@gnu.org>
7555
7556 * conf/mips-qemu-mips.rmk: Remove stale file from previous
7557 transition.
7558
7559 2010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
7560
7561 * grub-core/kern/emu/hostdisk.c
7562 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
7563
7564 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
7565
7566 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
7567 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
7568 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
7569
7570 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
7571
7572 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
7573
7574 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
7575
7576 * util/grub-install.in: Replace useless recomendation to pass
7577 --modules with a recomendation to report a bug.
7578
7579 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
7580
7581 Properly register serial terminfo.
7582 Reported by: Jordan Uggla
7583
7584 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
7585 const.
7586 (grub_serial_terminfo_output_template): Likewise.
7587 (grub_cmd_serial): Register "serial" with terminfo.
7588 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
7589 grub_serial_terminfo_output.
7590
7591 2010-11-05 Robert Millan <rmh@gnu.org>
7592
7593 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
7594 needed).
7595
7596 2010-11-05 Robert Millan <rmh@gnu.org>
7597
7598 On Yeeloong, pass machine type information to Linux.
7599
7600 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
7601 (LOONGSON_MACHTYPE): New macro, set to
7602 "machtype=lemote-yeeloong-2f-8.9inches".
7603 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
7604 additional argument to Linux.
7605
7606 2010-11-04 Robert Millan <rmh@gnu.org>
7607
7608 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
7609 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
7610 (its SATA disks are detected as slaveless IDE master drives on
7611 kFreeBSD).
7612 Reported by Carsten Aulbert.
7613
7614 2010-11-02 Colin Watson <cjwatson@ubuntu.com>
7615
7616 * util/bin2h.c (main): Fix spelling error in generated output.
7617
7618 2010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
7619
7620 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
7621
7622 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
7623
7624 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
7625 vga= option is supplied.
7626
7627 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
7628
7629 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
7630 * util/grub.d/10_kfreebsd.in: Likewise.
7631 * util/grub.d/10_linux.in: Likewise.
7632 * util/grub.d/20_linux_xen.in: Likewise.
7633
7634 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
7635
7636 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
7637 argument as an argument to no-argument option.
7638
7639 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
7640
7641 * util/grub.d/10_linux.in: Add missing load_video with explicit
7642 GRUB_GFXPAYLOAD_LINUX.
7643
7644 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
7645
7646 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
7647
7648 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
7649
7650 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
7651 elements with invlid index.
7652 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
7653 * grub-core/disk/raid.c (insert_array): Automatically reallocate
7654 members.
7655 * include/grub/raid.h (grub_raid_member): New struct.
7656 (grub_raid_array): Transform devices and start_sector into usage of
7657 grub_raid_member. All users updated
7658 (allocated_devs): New member.
7659
7660 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
7661
7662 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
7663 is modified
7664
7665 2010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
7666
7667 NetBSD build fix for getline function conflict from gnulib.
7668
7669 * Makefile.util.def (libgrubkern.a): New library for grub kernel
7670 components that depend on gnulib headers.
7671 (libgrubmods.a): Renamed from earlier libgrub.a.
7672 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
7673
7674 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
7675
7676 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
7677 install rather than creating a broken install.
7678
7679 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
7680
7681 * util/grub-setup.c (argp): Remove misleading example of installing to
7682 a partition.
7683
7684 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
7685
7686 * util/grub-setup.c (setup): Clarify the error message.
7687
7688 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
7689
7690 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
7691
7692 2010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7693
7694 * grub-core/kern/emu/misc.c
7695 (grub_make_system_path_relative_to_its_root)
7696 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
7697
7698 2010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7699
7700 * grub-core/kern/emu/misc.c
7701 (grub_make_system_path_relative_to_its_root): Revert r2882.
7702
7703 2010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
7704
7705 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
7706 useless field head. All users updated.
7707 (free_subchunk): Correct handling of IN_REGION subchunk.
7708
7709 2010-10-22 Colin Watson <cjwatson@ubuntu.com>
7710
7711 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
7712 (Supported kernels): Likewise.
7713
7714 2010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
7715
7716 Make mktemp invocations portable.
7717
7718 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
7719 exit if mktemp fails.
7720 * tests/grub_script_blockarg.in: Likewise.
7721 * tests/partmap_test.in: Likewise.
7722 * tests/util/grub-shell-tester.in: Likewise.
7723 * tests/util/grub-shell.in: Likewise.
7724 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
7725 * Makefile.am: Likewise, and chain shell commands with `&&'
7726 instead of ';'.
7727 * util/grub-mkrescue.in: Use the same explicit template as above, and
7728 exit if mktemp fails.
7729
7730 2010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
7731
7732 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
7733 Linux kernel, reported by Dennis Schridde.
7734
7735 2010-10-17 Szymon Janc <szymon@janc.net.pl>
7736
7737 * grub-core/normal/auth.c (grub_auth_check_authentication):
7738 Set-but-not-used variable removed.
7739
7740 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
7741
7742 * docs/grub.texi (GNU/Linux): Document APM unavailability with
7743 32-bit linux protocol.
7744
7745 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
7746
7747 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
7748 cursor shape for sanity.
7749
7750 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
7751
7752 * docs/grub.texi (Installation): Document buggy BIOS install.
7753
7754 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
7755
7756 * docs/grub.texi (Installation): Indent.
7757
7758 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
7759
7760 * util/grub-setup.c (setup): New parameter allow_floppy.
7761 (arguments): New member allow_floppy.
7762 (argp_parser): Handle --allow-floppy.
7763 (main): Pass allow_floppy.
7764 * util/grub-install.in: New option --allow-floppy passed though to
7765 grub-setup.
7766
7767 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
7768
7769 * util/grub-install.in: Handle partitionless disks.
7770
7771 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
7772
7773 * util/grub-setup.c (setup): Don't clean blocklists before readability
7774 verfification.
7775
7776 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
7777
7778 * docs/grub.texi (Installation): Document embedding zone. Remove
7779 obsolete grub-install example.
7780
7781 2010-10-16 Szymon Janc <szymon@janc.net.pl>
7782
7783 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
7784 Set-but-not-used variable ifdef'ed.
7785 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
7786 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
7787 variable removed.
7788 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
7789 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
7790 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
7791 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
7792 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
7793 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
7794 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
7795 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
7796 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
7797 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
7798 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
7799 Likewise.
7800
7801 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
7802
7803 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
7804 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
7805 enum value.
7806
7807 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
7808
7809 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
7810 synonym to _S5_. Needed for some DSDTs.
7811
7812 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
7813
7814 Userspace ACPI parser debugging.
7815
7816 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
7817 headers and add relevant defines. Don't include standard headers.
7818 (main) [GRUB_DSDT_TEST]: New function.
7819 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
7820 Don't declare functions.
7821
7822 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
7823
7824 Remove dead grub_efi_mm_fini.
7825
7826 * grub-core/kern/efi/mm.c (allocated_page): Removed.
7827 (ALLOCATED_PAGES_SIZE): Likewise.
7828 (MAX_ALLOCATED_PAGES): Likewise.
7829 (allocated_pages): Likewise.
7830 (grub_efi_allocate_pages): Don't record allocated pages.
7831 (grub_efi_free_pages): Likewise.
7832 (grub_efi_mm_init): Likewise.
7833 (grub_efi_mm_fini): Removed.
7834
7835 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
7836
7837 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
7838 (grub_efi_mm_init): Take into account the memory map size increase.
7839
7840 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
7841
7842 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
7843 (serial_hw_put): Wait based on real time rather than port reads. Don't
7844 roken ports.
7845 * include/grub/serial.h (grub_serial_port): New field broken.
7846
7847 2010-10-16 Robert Millan <rmh@gnu.org>
7848
7849 * grub-core/kern/emu/misc.c
7850 (grub_make_system_path_relative_to_its_root): Fix premature return
7851 when processing non-root ZFS filesystems.
7852 Reported by Sergio Talens-Oliag.
7853
7854 2010-10-15 Robert Millan <rmh@gnu.org>
7855
7856 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
7857 guarantee compressed ones are processed first.
7858
7859 2010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
7860
7861 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
7862 grub_efiemu_autocore.
7863
7864 2010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
7865
7866 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
7867 rather than 0x1b.
7868 (grub_console_getkey): Use correct jae opcode rather than ja.
7869
7870 2010-10-12 Robert Millan <rmh@gnu.org>
7871
7872 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
7873 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
7874 variable. All references updated.
7875
7876 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
7877
7878 2010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
7879
7880 Correctly distinguish mdraid flavours.
7881
7882 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
7883 (insert_array): New argument raid.
7884 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
7885 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
7886 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
7887
7888 2010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
7889
7890 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
7891 handling of special keys.
7892
7893 2010-10-02 Aleš Nesrsta <starous@volny.cz>
7894
7895 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
7896 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
7897
7898 2010-10-02 Aleš Nesrsta <starous@volny.cz>
7899
7900 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
7901 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
7902 users updated.
7903 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
7904 Use right endpoint when querying descriptor.
7905
7906 2010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
7907
7908 Clear out 0x80 color bit on EFI.
7909 Tested by: decoder
7910 Reported by: decoder and meta tech.
7911
7912 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
7913 (grub_console_setcolorstate): Clear out 0x80 bit.
7914 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
7915 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
7916 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
7917
7918 2010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
7919
7920 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
7921 Set to "auto".
7922
7923 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
7924
7925 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
7926 mo_file after freeing.
7927
7928 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
7929
7930 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
7931
7932 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
7933
7934 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
7935 flags.
7936
7937 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
7938
7939 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
7940 usage.
7941
7942 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
7943
7944 Put terminfo into core on ieee1275 and yeeloong (needed for console).
7945
7946 * gentpl.py: New groups terminfoinkernel and terminfomodule.
7947 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
7948 and terminfo.h when needed.
7949 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
7950 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
7951 (terminfo): Enable only on terminfokernel.
7952 (extcmd): Likewise.
7953 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
7954 * include/grub/lib/arg.h: Likewise.
7955 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
7956 incorrect usage of ->.
7957
7958 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
7959
7960 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
7961 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
7962
7963 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
7964
7965 Fix coreboot compilation.
7966
7967 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
7968 Take VBE info into account even if only text is supported.
7969 (fill_vbe_info): Take into account the case when only VGA text
7970 is supported.
7971 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
7972 on coreboot, multiboot and qemu.
7973
7974 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
7975
7976 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
7977 debug messages.
7978 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
7979
7980 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
7981
7982 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
7983 parameters.
7984
7985 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
7986
7987 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
7988 if they were BSD-style.
7989
7990 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
7991
7992 * grub-core/boot/i386/pc/lnxboot.S: Replace
7993 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
7994 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
7995
7996 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
7997
7998 Write embedding zone using Reed-Solomon.
7999
8000 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
8001 * grub-core/Makefile.am (rs_decoder.S): New target.
8002 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
8003 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
8004 (multiboot): Move to RS part.
8005 (post_reed_solomon): New label.
8006 (grub_boot_drive): Move to non-RS part since it's modified in memory
8007 on boot.
8008 Include rs_decoder.S.
8009 * grub-core/lib/reed_solomon.c: New file.
8010 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
8011 New definition.
8012 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
8013 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
8014 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
8015 * include/grub/partition.h (grub_partition_map): Change prototype of
8016 embed to allow returning additional sectors.
8017 * include/grub/reed_solomon.h: New file.
8018 * util/grub-setup.c (setup): Handle Reed-Solomon.
8019
8020 2010-09-28 Colin Watson <cjwatson@ubuntu.com>
8021
8022 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
8023 i386 and x86-64 definedness tests.
8024
8025 2010-09-27 Yves Blusseau <blusseau@zetam.org>
8026
8027 Fix generation of kernel_syms.lst
8028
8029 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
8030 ASM_PREFIX
8031
8032 2010-09-26 Robert Millan <rmh@gnu.org>
8033
8034 Support degraded ZFS arrays in "grub-probe -t device" resolution.
8035
8036 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
8037 the pool is an array of devices, iterate through it and return the
8038 first device that passes a stat() test (instead of blindly returning
8039 the first one).
8040
8041 2010-09-26 Robert Millan <rmh@gnu.org>
8042
8043 Build fixes for GNU/kFreeBSD.
8044
8045 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
8046 to programs that require ZFS conversion.
8047 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
8048 kernels that don't have FLOPPY_MAJOR.
8049
8050 2010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
8051
8052 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
8053
8054 2010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
8055
8056 Fix grub-emu build.
8057
8058 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
8059 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
8060 mdraid09 and mdraid1x.
8061
8062 2010-09-24 Colin Watson <cjwatson@ubuntu.com>
8063
8064 Re-enable grub-extras.
8065
8066 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
8067 avoid confusing Automake. Run autogen only twice, once for the top
8068 level and once for grub-core. Add Makefile.util.def and
8069 Makefile.core.def from extra modules to the appropriate autogen
8070 invocations. If Makefile.common exists in an extra module, include
8071 it in both Makefile.util.am and grub-core/Makefile.core.am;
8072 similarly, include any Makefile.util.common file in Makefile.util.am
8073 and any Makefile.core.common file in grub-core/Makefile.core.am.
8074 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
8075 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
8076 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
8077 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
8078
8079 * gentpl.py (gvar_add): Turn GVARS into a set.
8080 (global_variable_initializers): Sort global variables on output.
8081 (vars_init): New function.
8082 (first_time): Likewise.
8083 (library): Ensure that non-global variable initialisations are
8084 emitted before the first time we emit code for a library block.
8085 Append to variables rather than setting them. Only emit
8086 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
8087 each conditional path.
8088 (program): installdir() emits an Autogen macro, so must be passed to
8089 var_add rather than gvar_add.
8090 (data): Likewise.
8091 (script): Likewise.
8092 (rules): New function, centralising handling for different target
8093 types. Set up Guile association lists for first_time and vars_init,
8094 and send most output to a diversion so that variable initialisations
8095 can be emitted first.
8096 (module_rules): Use new rules function.
8097 (kernel_rules): Likewise.
8098 (image_rules): Likewise.
8099 (library_rules): Likewise.
8100 (program_rules): Likewise.
8101 (script_rules): Likewise.
8102 (data_rules): Likewise.
8103
8104 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
8105
8106 * .bzrignore: Add contrib and grub-core/contrib. Remove
8107 grub-core/Makefile.gcry.am.
8108
8109 2010-09-24 Yves Blusseau <blusseau@zetam.org>
8110
8111 * grub-core/lib/LzFind.c: Add missing include.
8112 * grub-core/lib/LzmaEnc.c: Likewise.
8113 * grub-core/script/lexer.c: Likewise.
8114 * grub-core/script/yylex.l: Likewise.
8115 * util/grub-macho2img.c: Likewise.
8116 * util/grub-menulst2cfg.c: Likewise.
8117 * util/grub-mklayout.c: Likewise.
8118 * util/grub-mkpasswd-pbkdf2.c
8119 * util/grub-mkrelpath.c: Likewise.
8120 * util/resolve.c: Likewise.
8121
8122 2010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
8123
8124 * Makefile.util.def (example_unit_test): Add
8125 grub-core/gnulib/libgnu.a.
8126
8127 2010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
8128
8129 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
8130
8131 2010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
8132
8133 Support xz compression on yeeloong.
8134
8135 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
8136 * configure.ac: Check for LZMA.
8137 * grub-core/Makefile.core.def (xz_decompress): New target.
8138 (none_decompress): Likewise.
8139 * grub-core/boot/decompressor/minilib.c: New file.
8140 * grub-core/boot/decompressor/none.c: Likewise.
8141 * grub-core/boot/decompressor/xz.c: Likewise.
8142 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
8143 * grub-core/kern/mips/cache_flush.S: Likewise.
8144 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
8145 * grub-core/kern/mips/startup.S: Move first stage to ...
8146 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
8147 nomacro.
8148 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
8149 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
8150 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
8151 Allocate statically.
8152 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
8153 Allocate statically or use scratch. Don't check CRC32.
8154 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
8155 Allocate statically. Don't check CRC32.
8156 * include/grub/decompressor.h: New file.
8157 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
8158 Removed.
8159 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
8160 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
8161 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
8162 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
8163 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
8164 * util/grub-mkimage.c (grub_compression_t): New type.
8165 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
8166 (image_target_desc): New field default_compression.
8167 (image_targets): Adjust yeeloong targets.
8168 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
8169 (compress_kernel): New parameter comp.
8170 (generate_image): Likewise. Handle new compression case.
8171 (options): New option --compression
8172 (help): Likewise.
8173 (main): Handle new option.
8174
8175 2010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
8176
8177 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
8178
8179 2010-09-22 Colin Watson <cjwatson@ubuntu.com>
8180
8181 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
8182 typo in __i386__ conditional.
8183
8184 2010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
8185
8186 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
8187 include.
8188
8189 2010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
8190
8191 Implement EFI and ACPI multiboot2 extensions.
8192
8193 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
8194 new tags as supported.
8195 (acpiv2_size): New function.
8196 (grub_multiboot_get_mbi_size): Take new tags into account.
8197 (grub_multiboot_make_mbi): Add new tags.
8198 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
8199
8200 2010-09-21 Aleš Nesrsta <starous@volny.cz>
8201
8202 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
8203 Added missing configuration of USB device.
8204
8205 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
8206
8207 * grub-core/normal/menu_entry.c (run): Make sure we always return
8208 a value.
8209
8210 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
8211
8212 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
8213 NumberOfPages is UINT64 according to the UEFI specification, not
8214 UINTN. Fix printf format.
8215
8216 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
8217
8218 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
8219 `err' to grub_usb_err_t.
8220 Reported and tested by: KESHAV P.R.
8221
8222 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
8223
8224 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
8225 tpart non-const, so that we can assign to it. (Since this is a
8226 typedef, the constness refers to the pointer rather than what it
8227 points to.)
8228
8229 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
8230
8231 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
8232 $(top_srcdir)/grub-core/gnulib as well as
8233 $(top_builddir)/grub-core/gnulib.
8234 Reported by: KESHAV P.R.
8235
8236 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
8237
8238 * util/grub-install.in: Fix the bootloader ID option to be
8239 consistently --bootloader-id, not --bootloader_id.
8240 Reported by: KESHAV P.R.
8241
8242 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
8243
8244 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
8245 check hash checksum." consistently translatable.
8246
8247 2010-09-21 Yves Blusseau <blusseau@zetam.org>
8248
8249 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
8250 $(top_builddir).
8251
8252 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
8253
8254 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
8255 (GRUB_MOD_INIT): Register sha1sum command.
8256 (GRUB_MOD_FINI): Unregister sha1sum command.
8257
8258 2010-09-21 Yves Blusseau <blusseau@zetam.org>
8259
8260 Keep boot and grub directory names in sync with utils scripts
8261
8262 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
8263 * config.h.in: Add previous macros.
8264 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
8265 * util/grub-install.in: Use $bootdir and $grubdir variables.
8266
8267 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
8268
8269 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
8270 convert partition names to disk names if the new `convert' parameter
8271 is set.
8272 (grub_util_biosdisk_get_grub_dev): If opening the disk device
8273 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
8274 disk in its own right. This can happen with Xen disk images.
8275
8276 2010-09-21 Yves Blusseau <blusseau@zetam.org>
8277
8278 * util/grub-editenv.c: Update strings to avoid warnings when generating
8279 grub.pot file.
8280 * util/grub-setup.c: Likewise.
8281
8282 2010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
8283
8284 * configure.ac: Change version to 1.99~beta0.
8285
8286 2010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
8287
8288 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
8289 Add BADRAM.
8290 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
8291 Likewise.
8292 * include/multiboot.h: Resynced with specification.
8293 * include/multiboot2.h: Likewise.
8294
8295 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
8296
8297 Fix po directory handling.
8298
8299 * configure.ac: Create po/Makefile.in rather than po/Makefile.
8300 * grub-core/gnulib/Makefile.am: Import gettext module.
8301 * m4/gnulib-cache.m4: Likewise.
8302 * m4/gnulib-comp.m4: Likewise.
8303 * m4/gettext.m4: New file, from gnulib.
8304 * m4/glibc2.m4: Likewise.
8305 * m4/iconv.m4: Likewise.
8306 * m4/intdiv0.m4: Likewise.
8307 * m4/intl.m4: Likewise.
8308 * m4/intldir.m4: Likewise.
8309 * m4/intlmacosx.m4: Likewise.
8310 * m4/intmax.m4: Likewise.
8311 * m4/inttypes-pri.m4: Likewise.
8312 * m4/lcmessage.m4: Likewise.
8313 * m4/lib-ld.m4: Likewise.
8314 * m4/lib-link.m4: Likewise.
8315 * m4/lib-prefix.m4: Likewise.
8316 * m4/lock.m4: Likewise.
8317 * m4/nls.m4: Likewise.
8318 * m4/po.m4: Likewise.
8319 * m4/printf-posix.m4: Likewise.
8320 * m4/progtest.m4: Likewise.
8321 * m4/threadlib.m4: Likewise.
8322 * m4/uintmax_t.m4: Likewise.
8323 * m4/visibility.m4: Likewise.
8324 * po/Makefile.am: Remove.
8325 * po/Makefile.in.in: New file, from gettext.
8326 ($(DOMAIN).pot-update): Support POTFILES-shell.
8327 * po/Makevars: New file.
8328 * po/POTFILES-shell: Rename to ...
8329 * po/POTFILES-shell.in: ... this. Update.
8330 * po/POTFILES: Rename to ...
8331 * po/POTFILES.in: ... this. Update.
8332 * po/Rules-quot: New file, from gettext.
8333 * po/boldquot.sed: Likewise.
8334 * po/en@boldquot.header: Likewise.
8335 * po/en@quot.header: Likewise.
8336 * po/insert-header.sin: Likewise.
8337 * po/quot.sed: Likewise.
8338 * po/remove-potcdate.sin: Likewise.
8339
8340 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8341
8342 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
8343
8344 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8345
8346 * util/grub.d/20_linux_xen.in: Use submenus.
8347
8348 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8349
8350 Support submenus.
8351
8352 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
8353 parameter submenu. All users updated.
8354 * grub-core/normal/main.c (free_menu): Rename to ...
8355 (grub_normal_free_menu): ... this. Made global.
8356 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
8357 if requested.
8358 * grub-core/normal/menu_entry.c (screen): New field submenu.
8359 (make_screen): Set submenu.
8360 (run): Open new context if requested.
8361 * include/grub/menu.h (grub_menu_entry): New field submenu.
8362 * include/grub/normal.h (grub_normal_free_menu): New proto.
8363
8364 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8365
8366 Menu entries extractor.
8367
8368 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
8369 variants.
8370 (GRUB_MOD_INIT): Register new variants.
8371 (GRUB_MOD_FINI): Unregister new variants.
8372 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
8373 into grub_cmd_legacy_source.
8374 (grub_cmd_legacy_source): Implement extractor variants.
8375 (GRUB_MOD_INIT): Register new variants.
8376 (GRUB_MOD_FINI): Unregister new variants.
8377 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
8378 as an extractor.
8379 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
8380 search as an extractor.
8381 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
8382 test as an extractor.
8383 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
8384 as an extractor.
8385 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
8386 (grub_env_new_context): New function.
8387 (grub_env_context_open): Likewise.
8388 (grub_env_extractor_open): Likewise.
8389 (grub_env_extractor_close): Likewise.
8390 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
8391 grub_extractor_level.
8392 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
8393 * include/grub/env.h (grub_env_extractor_open): New proto.
8394 (grub_env_extractor_close): Likewise.
8395 * include/grub/normal.h (grub_extractor_level): New external variable.
8396
8397 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8398
8399 Make cutmem accept a region specification.
8400 Suggested by: Samuel Thibault
8401
8402 * grub-core/mmap/mmap.c (parsemem): New function.
8403 (grub_cmd_cutmem): Handle new arguments.
8404
8405 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8406
8407 New command cutmem.
8408
8409 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
8410 (GRUB_MOD_INIT): Register new command.
8411 (GRUB_MOD_FINI): Unregister new command.
8412
8413 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8414
8415 Support some annoying BSD and Minix subpartitions.
8416
8417 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
8418 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
8419 Properly handle concatenation.
8420 * grub-core/kern/device.c (grub_device_iterate): Likewise.
8421 * grub-core/normal/completion.c (iterate_partition): Likewise.
8422 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
8423 contain partition. All users updated.
8424 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
8425 struct.
8426 (grub_openbsdlabel_partition_map): Likewise.
8427 (bsdlabel_partition_map_iterate): Rename to ..
8428 (iterate_real): ... this. New arguments sector, freebsd and pmap.
8429 (bsdlabel_partition_map_iterate): New function.
8430 (netopenbsdlabel_partition_map_iterate): Likewise.
8431 (netbsdlabel_partition_map_iterate): Likewise.
8432 (openbsdlabel_partition_map_iterate): Likewise.
8433 (GRUB_MOD_INIT): Register new partmaps.
8434 (GRUB_MOD_FINI): Unregister new partmaps.
8435 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
8436 (grub_partition_msdos_iterate): ... this. All users updated.
8437 Don't support embedding other than in a minix partition.
8438 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
8439 proto.
8440 * include/grub/partition.h (grub_partition): New field msdostype.
8441 * util/grub-install.in: Handle openbsd and netbsd types being in
8442 part_bsd module.
8443
8444 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8445
8446 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
8447
8448 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
8449 * grub-core/Makefile.core.def (mdraid): Renamed to ...
8450 (mdraid09): ... this.
8451 (mdraid1x): New module.
8452 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
8453 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
8454
8455 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8456
8457 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
8458 vsprintf.
8459
8460 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
8461
8462 * grub-core/commands/efi/lsefimmap.c: Correct header.
8463 * NEWS: Update.
8464
8465 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
8466
8467 * util/grub-editenv.c (argp_parser): Don't pass translated strings
8468 as printf format strings; the translations might contain '%' which
8469 could cause a crash.
8470 (main): Likewise.
8471 * util/grub-fstest.c (argp_parser): Likewise.
8472 * util/grub-setup.c (argp_parser): Likewise.
8473 (main): Likewise.
8474
8475 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8476
8477 Use argp in grub-fstest.
8478
8479 * util/grub-fstest.c: Don't include getopt.h.
8480 Include argp.h.
8481 (root): New variable.
8482 (args_count): Likewise.
8483 (nparm): Likewise.
8484 (num_disks): Likewise.
8485 (images): Likewise.
8486 (cmd): Likewise.
8487 (debug_str): Likewise.
8488 (args): Likewise.
8489 (options): Transformed to argp.
8490 (usage): Removed.
8491 (main): Split argument parsing into ...
8492 (argp_parser): ... this. Changed to argp format.
8493 (argp): New variable.
8494 (main): Use argp_parse.
8495
8496 2010-09-20 Tristan Gingold <gingold@free.fr>
8497 2010-09-20 Robert Millan <rmh.grub@aybabtu.com>
8498 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8499
8500 * grub-core/commands/efi/lsefimmap.c: New file.
8501 * grub-core/Makefile.core.def (lsefimmap): New module.
8502 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
8503
8504 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8505
8506 Pause the execution (10s max) if any errors are displayed so the user
8507 has a chance to see them.
8508
8509 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
8510 (grub_print_error): Increment grub_err_printed_errors.
8511 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
8512 execution if any errors were displayed.
8513 (show_menu): Remove old code for pause.
8514 * grub-core/normal/menu_entry.c (run): Likewise.
8515 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
8516 users updated.
8517 (grub_normal_get_char_counter): Likewise.
8518 * include/grub/err.h (grub_err_printed_errors): New external variable.
8519 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
8520
8521 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8522
8523 Support multiboot VBE info.
8524
8525 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
8526 Take VBE info into account.
8527 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
8528 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
8529 Call fill_vbe_info when appropriate.
8530 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
8531 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
8532 as supported.
8533 (grub_multiboot_get_mbi_size): Take new tags into account.
8534 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
8535 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
8536 Call fill_vbe_tag when appropriate.
8537 (grub_multiboot_make_mbi): Properly align tags.
8538 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
8539 function.
8540 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
8541 proto.
8542 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
8543
8544 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8545
8546 Suport manual terminal geometry specification.
8547
8548 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
8549 Save state in grub_ofconsole_terminfo_output.
8550 (grub_ofconsole_term): Use grub_terminfo_getwh.
8551 (grub_ofconsole_getwh): Removed.
8552 * grub-core/term/serial.c (grub_serial_getwh): Removed.
8553 (grub_serial_term): Use grub_terminfo_getwh.
8554 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
8555 (options): New struct.
8556 (OPTION_*): New enum.
8557 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
8558 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
8559 width and height.
8560 (grub_terminfo_getwh): New proto.
8561 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
8562
8563 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8564
8565 Handle legacy "terminal" command.
8566
8567 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
8568 and FLAG_TERMINAL.
8569 (legacy_commands): Add terminal and title.
8570 (grub_legacy_parse): Handle terminal. Simplify title handling.
8571
8572 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8573
8574 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
8575 parameters overflow.
8576
8577 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
8578
8579 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
8580 widthspec.h.
8581
8582 * docs/grub.texi (Shell-like scripting): Document `!'.
8583 (Network): Simplify using new i386-pc-pxe format. Mention
8584 grub-mknetdir.
8585
8586 * NEWS: Update.
8587
8588 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
8589
8590 * Makefile.am (SUBDIRS): Restore "."; it's important to force
8591 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
8592 when needed.
8593
8594 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
8595
8596 * grub-core/commands/efi/lsefisystab.c: Correct header.
8597 * grub-core/commands/efi/lssal.c: Likewise.
8598 * grub-core/commands/testload.c: Likewise.
8599
8600 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
8601
8602 * util/grub-mkrescue.in: Add explicit root argument to --set to
8603 prevent the UUID being interpreted as an argument to --set (matches
8604 previous change to prepare_grub_to_access_device).
8605
8606 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
8607
8608 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
8609 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
8610 the verbosity of later #ifs.
8611 (find_partition_start): Define this function on FreeBSD too.
8612 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
8613 function.
8614 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
8615 on FreeBSD.
8616
8617 2010-09-20 Yves Blusseau <blusseau@zetam.org>
8618
8619 * util/grub-editenv.c: Use argp instead of getopt.
8620
8621 2010-09-20 Yves Blusseau <blusseau@zetam.org>
8622
8623 * util/grub-setup.c: Use argp instead of getopt.
8624
8625 2010-09-20 Yves Blusseau <blusseau@zetam.org>
8626
8627 Use gnulib-tool to create gnulib source files.
8628
8629 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
8630 grub-core/gnulib directories
8631 * .bzignore: Add **/.deps and autogenerated gnulib files
8632 * configure.ac: Assign auxiliary directory to build-aux, add invocation
8633 of gnulib macros, add grub-core/gnulib/Makefile
8634 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
8635 include m4 directory to aclocal.
8636 * Makefile.util.def: Remove direct compilation of gnulib source files
8637 and use the new grub-core/gnulib/libgnu.a.
8638 * build-aux/config.rpath: move config.rpath from top directory to
8639 build-aux
8640 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
8641 in gnulib headers
8642 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
8643 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
8644 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
8645 header.
8646 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
8647 string.
8648
8649 2010-09-20 Yves Blusseau <blusseau@zetam.org>
8650
8651 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
8652 grub-core/genmod.sh and grub-core/gensyminfo.sh
8653
8654 2010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
8655
8656 Add a test for echo command options.
8657
8658 * tests/grub_cmd_echo.in: New test.
8659 * Makefile.util.def: Rules for new test.
8660
8661 2010-09-20 Szymon Janc <szymon@janc.net.pl>
8662
8663 Remove crc.mod and move crc command to hashsum.mod.
8664 Remove lib/crc.c - users updated to use gcrypt implementation.
8665
8666 * grub-core/commands/crc.c: Removed.
8667 * grub-core/Makefile.core.def (crc): Module removed.
8668 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
8669 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
8670 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
8671 * grub-core/lib/crc.c: Removed.
8672 * include/grub/lib/crc.h: Removed.
8673 * Makefile.util.def (crc): Remove lib/crc.c
8674 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
8675 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
8676 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
8677 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
8678 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
8679 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
8680
8681 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8682
8683 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
8684
8685 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
8686
8687 Split config.h for util and core.
8688
8689 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
8690 (ADDR32): Likewise.
8691 (DATA32): Likewise.
8692 (BSS_START_SYMBOL): Likewise.
8693 (END_SYMBOL): Likewise.
8694 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
8695 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
8696 * config.h.in: New file.
8697 * configure.ac: Use config-util.h as config define file.
8698 Rename MACHINE into GRUB_MACHINE. All users updated.
8699 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
8700 updated.
8701 (NESTED_FUNC_ATTR): Likewise.
8702 Substitue new variables.
8703 (COND_HAVE_ASM_USCORE): New conditional.
8704 * grub-core/Makefile.am (ASM_PREFIX): New variable.
8705 (kernel_syms.lst): Use ASM_PREFIX.
8706 * grub-core/kern/emu/console.c: Include config-util.h.
8707 * grub-core/kern/emu/misc.c: Likewise.
8708 * grub-core/kern/emu/mm.c: Likewise.
8709 * include/grub/emu/misc.h: Likewise.
8710 * include/grub/libgcc.h: Likewise.
8711
8712 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
8713
8714 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
8715 constants usage.
8716 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
8717 Fix GRUB_TERM_KEY_* constants usage.
8718 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
8719
8720 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
8721
8722 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
8723 print pointer.
8724 * grub-core/bus/usb/uhci.c: Remove empty define.
8725 (grub_uhci_check_transfer): Add missing cast.
8726 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
8727 print pointer.
8728 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
8729 PRIuGRUB_SIZE.
8730 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
8731
8732 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
8733
8734 * grub-core/Makefile.core.def (legacycfg): Add
8735 lib/i386/pc/vesa_modes_table.c on emu.
8736
8737 2010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
8738
8739 Reduce number of temporary files generated by build system.
8740
8741 * grub-core/gencmdlist.sh: Removed.
8742 * grub-core/genfslist.sh: Removed.
8743 * grub-core/genhandlerlist.sh: Removed.
8744 * grub-core/genmodsrc.sh: Removed.
8745 * grub-core/genpartmaplist.sh: Removed.
8746 * grub-core/genparttoollist.sh: Removed.
8747 * grub-core/gentermiinallist.sh: Removed.
8748 * grub-core/genvideolist.sh: Removed.
8749
8750 * grub-core/genmod.sh.in: New file.
8751 * grub-core/gensyminfo.sh.in: New file.
8752
8753 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
8754 * conf/Makefile.extra-dist: Update with new files.
8755 * gentpl.py: Remove rules related to unnecessary temporary files.
8756 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
8757 and und-* files.
8758 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
8759 genmod.sh scripts.
8760 * grub-core/bus/usb/uhci.c: Remove empty #define.
8761 * grub-core/genmoddep.awk: Updated with new syminfo format.
8762 * util/bash-completion.d/Makefile.am: Add config.log to
8763 CLEANFILES.
8764
8765 2010-09-19 Yves Blusseau <blusseau@zetam.org>
8766
8767 * Makefile.util.def: Add forgotten $(LIBINTL) library.
8768
8769 2010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
8770
8771 * util/grub-mkconfig.in: Check the config script for syntax errors
8772 before saving.
8773
8774 2010-09-19 Colin Watson <cjwatson@ubuntu.com>
8775 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
8776
8777 * Makefile.util.def (grub-install): Use util/grub-install.in on all
8778 platforms.
8779 * util/grub-install.in: Add EFI and IEEE1275 support.
8780 * util/i386/efi/grub-install.in: Removed.
8781 * util/ieee1275/grub-install.in: Likewise.
8782
8783 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
8784
8785 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
8786 (grub_cmd_cmosclean): Likewise.
8787 (GRUB_MOD_INIT): Register command cmosclean.
8788 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
8789 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
8790
8791 2010-09-18 Carles Pina i Estany <carles@pina.cat>
8792 2010-09-18 Aleš Nesrsta <starous@volny.cz>
8793 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
8794
8795 Add keyboard layouts support.
8796
8797 * Makefile.util.def (grub-mklayout): New file.
8798 (grub-kbdcomp): New script.
8799 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
8800 Add keyboard_layouts.h.
8801 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
8802 commands/boot.c on yeeloong.
8803 (keylayouts): New module.
8804 * grub-core/bus/usb/ohci.c
8805 * grub-core/bus/usb/uhci.c
8806 * grub-core/bus/usb/usbhub.c (rescan): New variable.
8807 (grub_usb_add_hub): Poll interrupt pipe for device handling.
8808 (attach_root_port): Likewise.
8809 (poll_nonroot_hub): Likewise.
8810 (grub_usb_poll_devices): Likewise.
8811 (detach_device): Close transfer.
8812 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
8813 function.
8814 (grub_usb_bulk_setup_readwrite): Likewise.
8815 (grub_usb_bulk_finish_readwrite): Likewise.
8816 * grub-core/commands/keylayouts.c: New file.
8817 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
8818 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
8819 aliases.
8820 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
8821 support scancode 2.
8822 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
8823 * include/grub/keyboard_layouts.h: New file.
8824 * util/grub-mklayout.c: New file.
8825 * util/grub-kbdcomp.in: Likewise.
8826
8827 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
8828
8829 Unify memory types.
8830
8831 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
8832 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
8833 types.
8834 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
8835 (grub_upper_mem): Likewise.
8836 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
8837 * include/grub/memory.h (grub_memory_type_t): New enum.
8838 All users updated.
8839
8840 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
8841
8842 * grub-core/Makefile.core.def (lsapm): New module.
8843 * grub-core/commands/i386/pc/lsapm.c: New file.
8844 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
8845 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
8846 Likewise.
8847 * include/grub/i386/pc/apm.h: New file.
8848 * include/multiboot.h (multiboot_apm_info): New struct.
8849
8850 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
8851
8852 GRUB-legacy configuration file support.
8853
8854 * Makefile.util.def (grub-menulst2cfg): New util.
8855 * docs/man/grub-menulst2cfg.h2m: New file.
8856 * grub-core/Makefile.core.def (legacycfg): New module.
8857 * grub-core/commands/legacycfg.c: New file.
8858 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
8859 (grub_normal_add_menu_entry): ... this.
8860 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
8861 (grub_normal_set_password): ...this.
8862 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
8863 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
8864 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
8865 * grub-core/lib/legacy_parse.c: New file.
8866 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
8867 * include/grub/i386/pc/vesa_modes_table.h: New file.
8868 * include/grub/legacy_parse.h: Likewise.
8869 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
8870 * util/grub-menulst2cfg.c: New file.
8871
8872 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
8873
8874 * grub-core/kern/emu/hostdisk.c
8875 (convert_system_partition_to_system_disk): Initialise node.
8876
8877 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
8878
8879 * grub-core/kern/emu/hostdisk.c
8880 (convert_system_partition_to_system_disk): Fix devmapper memory pool
8881 leak.
8882 Reported and based on patch by: Modestas Vainius.
8883
8884 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
8885
8886 Fix DM-RAID probing with recent versions of device-mapper udev
8887 rules.
8888
8889 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
8890 canonicalise device paths under /dev/mapper/.
8891 (convert_system_partition_to_system_disk): Compare the
8892 uncanonicalised path to /dev/mapper/ rather than the canonicalised
8893 path, since device nodes under /dev/mapper/ are often symlinks.
8894
8895 2010-09-17 Yves Blusseau <blusseau@zetam.org>
8896
8897 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
8898
8899 2010-09-16 Yves Blusseau <blusseau@zetam.org>
8900
8901 * configure.ac: Avoid some annoying error messages if freetype-config
8902 program is not found.
8903
8904 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
8905
8906 Support RAID on virtio devices, and others.
8907
8908 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
8909 Rename to ...
8910 [__MINGW32__] (grub_find_device): ... this.
8911 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
8912 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
8913 reasonable default if dir is NULL.
8914 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
8915 ...
8916 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
8917 (grub_guess_root_device): Update callers.
8918 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
8919
8920 * util/raid.c (grub_util_getdiskname): Remove.
8921 (grub_util_raid_getmembers): Use grub_find_device rather than
8922 grub_util_getdiskname.
8923
8924 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
8925
8926 * docs/grub.texi (serial): Remove obsolete comment about GRUB
8927 needing to be compiled with serial support.
8928 (ls): Indicate that multiple files are accepted.
8929 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
8930 indicate that multiple files are accepted.
8931
8932 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
8933
8934 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
8935 libgrub_a_init.c, and util/bash-completion.d/grub.
8936
8937 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
8938
8939 * util/grub-setup.c (setup): Fix incorrect container semantics.
8940
8941 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
8942
8943 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
8944 misusage.
8945 Reported by: J. Nick Terry
8946
8947 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
8948
8949 Move embedding routines to partmap sources files.
8950
8951 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
8952 [GRUB_UTIL]: New variable.
8953 (gpt_partition_map_iterate): Set part.parent.
8954 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
8955 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
8956 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
8957 New function.
8958 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
8959 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
8960 (grub_partition_map) [GRUB_UTIL]: New field embed.
8961 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
8962 (setup): Use ->embed.
8963
8964 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
8965
8966 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
8967 function.
8968 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
8969 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
8970
8971 2010-09-15 Yves Blusseau <blusseau@zetam.org>
8972
8973 Add function to get completions from usage.
8974
8975 * util/bash-completion.d/grub-completion.bash.in: Add function to get
8976 completions from usage. Use LC_ALL=C to get options properly.
8977
8978 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
8979
8980 * grub-core/gnulib/basename-lgpl.c: Imported.
8981 * grub-core/gnulib/basename.c: Likewise.
8982 * grub-core/gnulib/dirname-lgpl.c: Likewise.
8983 * grub-core/gnulib/dirname.c: Likewise.
8984 * grub-core/gnulib/dirname.h: Likewise.
8985 * grub-core/gnulib/stripslash.c: Likewise.
8986
8987 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
8988
8989 * grub-core/gnulib/error.c: Resynced.
8990 * grub-core/gnulib/getopt.c: Likewise.
8991 * grub-core/gnulib/getopt_int.h: Likewise.
8992 * grub-core/gnulib/regex.h: Likewise.
8993 * grub-core/gnulib/regex_internal.c: Likewise.
8994 * grub-core/gnulib/regex_internal.h: Likewise.
8995
8996 2010-09-15 Szymon Janc <szymon@janc.net.pl>
8997
8998 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
8999 CRC calculations and validity checks.
9000 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
9001 calculations.
9002
9003 2010-09-15 Szymon Janc <szymon@janc.net.pl>
9004
9005 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
9006
9007 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
9008
9009 Fix incorrect echo options handling.
9010 Reported by: Yves Blusseau.
9011
9012 * include/grub/command.h (grub_command_flags_t): New flags
9013 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
9014 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
9015 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
9016
9017 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
9018
9019 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
9020 users updated.
9021 (GRUB_COMMAND_FLAG_MENU): Likewise.
9022 (GRUB_COMMAND_FLAG_BOTH): Likewise.
9023 (GRUB_COMMAND_FLAG_TITLE): Removed.
9024 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
9025 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
9026 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
9027 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
9028 (grub_command_flags_t): New enum. All users updated.
9029
9030 2010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
9031
9032 Fix solaris compilation.
9033
9034 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
9035 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
9036 (grub-emu-list): Likewise.
9037
9038 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
9039
9040 Remove deprecated root command.
9041
9042 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
9043 updated.
9044
9045 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
9046
9047 * util/i386/pc/grub-setup.c: Merge this ...
9048 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
9049 * util/grub-setup.c: ... into this.
9050 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
9051 New struct.
9052
9053 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
9054
9055 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
9056 possible.
9057
9058 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
9059
9060 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
9061 allocate p.
9062
9063 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
9064
9065 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
9066 explicit root argument to set to prevent UUID to be interpreted as
9067 argument to set.
9068
9069 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
9070
9071 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
9072
9073 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
9074
9075 Don't export grub_gate_a20.
9076
9077 * grub-core/kern/i386/pc/init.c: Remove leftovers.
9078 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
9079 to ...
9080 (grub_gate_a20): ... this. All users updated.
9081 * include/grub/i386/pc/init.h: Removed. All users updated.
9082
9083 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
9084
9085 Create euro.pf2 which supports most European languages.
9086
9087 * Makefile.am (grubdata_DATA): Add euro.pf2.
9088 (euro.pf2): New target.
9089 (CLEANFILES): Add euro.pf2.
9090
9091 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
9092
9093 * configure.ac: Disable emu-usb by default to prevent inadvertent
9094 device takeover.
9095
9096 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9097
9098 Disable usbserial on grub-emu since our libusb code isn't good enough
9099 yet.
9100
9101 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
9102 (usbserial_pl2303): Likewise.
9103 (usbserial_ftdi): Likewise.
9104
9105 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9106
9107 * include/grub/disk.h (grub_disk): Remove has_partitions.
9108 All users updated.
9109 * disk/loopback.c (grub_loopback): Remove has_partitions.
9110 All users updated.
9111 (options): Remove partitions. All users updated.
9112 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
9113 * util/i386/pc/grub-setup.c (setup): copy partition table only when
9114 actual partition table is found.
9115
9116 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9117
9118 Remove readability checks (too many false negatives).
9119
9120 * util/grub-install.in: Remove readability checks.
9121 * util/grub-mkconfig.in: Likewise.
9122 * util/grub.d/10_hurd.in: Likewise.
9123 * util/grub.d/10_kfreebsd.in: Likewise.
9124 * util/grub.d/10_linux.in: Likewise.
9125 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
9126 way.
9127
9128 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9129
9130 Enable acpi shutdown on all ACPI platforms.
9131
9132 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
9133 on coreboo, multiboot and EFI.
9134 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
9135 (grub_acpi_halt): Likewise.
9136 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
9137 (grub_cmd_halt): Don't call grub_acpi_halt directly.
9138 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
9139 * grub-core/lib/i386/halt.c (grub_halt)
9140 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
9141
9142 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9143
9144 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
9145 context.
9146
9147 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9148
9149 * grub-core/video/efi_gop.c: Fix over-80-chars line.
9150 * grub-core/video/efi_uga.c: Likewise.
9151
9152 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9153
9154 Filter devaliases and never open same device twice.
9155
9156 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
9157 (last_ihandle): Likewise.
9158 (ofdisk_hash_ent): New member shortest.
9159 (ofdisk_hash_add): Add canonical path too.
9160 (scan): New function.
9161 (grub_ofdisk_iterate): Iterate over hashed entries.
9162 (compute_dev_path): Don't add :0.
9163 (grub_ofdisk_open): Don't really open the disk.
9164 (grub_ofdisk_close): Avoid closing unrelated disk.
9165 (grub_ofdisk_read): Implement reopen logic.
9166 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
9167 New function.
9168 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
9169 New proto.
9170
9171 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9172
9173 Fix sparc64.
9174
9175 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
9176 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
9177 right address. Add sparc64_ieee1275_ldflags.
9178 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
9179 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
9180 to grub_host_to_target_addr
9181 (load_image): Likewise.
9182
9183 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9184
9185 * grub-core/normal/completion.c (complete_file): Handle device
9186 containing slash.
9187 Fix based on patch by Doug Nazar.
9188
9189 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9190
9191 grub-mknetdir script.
9192
9193 * Makefile.util.def (grub-mknetdir): New module.
9194 * tests/util/grub-shell.in: Support boot=net
9195 * util/grub-mknetdir.in: New file.
9196
9197 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9198
9199 videoinfo on non-vbe.
9200
9201 * grub-core/Makefile.core.def (vbeinfo): Removed.
9202 (vbetest): Removed.
9203 (videoinfo): New module.
9204 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
9205 * grub-core/commands/i386/pc/vbetest.c: Removed.
9206 * grub-core/commands/videoinfo.c: New file.
9207 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
9208 specification.
9209 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
9210 as vbetest.
9211 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
9212 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
9213 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
9214 mode_number. New parameter mode. All users updated.
9215 (grub_video_gop_iterate): New function.
9216 (grub_video_efi_gop): New member iterate.
9217 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
9218 (grub_vbe_set_video_mode): Remove setting useless fields.
9219 (vbe2videoinfo): New function.
9220 (grub_video_vbe_iterate): Likewise.
9221 (grub_video_vbe_setup): Use vbe2videoinfo.
9222 (grub_video_vbe_print_adapter_specific_info): New function.
9223 (grub_video_vbe_adapter): New fields iterate and
9224 print_adapter_specific_info.
9225 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
9226 All users updated.
9227 (grub_video_mode_info): New field mode_number.
9228 (grub_video_adapter): New fields iterate and
9229 print_adapter_specific_info.
9230
9231 2010-09-13 Tristan Gingold <gingold@free.fr>
9232 2010-09-13 Robert Millan <rmh.grub@aybabtu.com>
9233 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9234
9235 * grub-core/commands/efi/lsefisystab.c: New file.
9236 * grub-core/commands/efi/lssal.c: Likewise.
9237 * grub-core/Makefile.core.def (lsacpi): New module.
9238 (lsefisystab): Likewise.
9239 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
9240 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
9241 (grub_efi_sal_system_table): New struct.
9242 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
9243 (grub_efi_sal_system_table_memory_descriptor): Likewise.
9244 (grub_efi_sal_system_table_platform_features): Likewise.
9245 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
9246 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
9247 (grub_efi_sal_system_table_ap_wakeup): Likewise.
9248 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
9249
9250 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9251
9252 Support explicit user claim that a device is BIOS-visible.
9253
9254 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
9255 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
9256 * grub-core/kern/emu/hostdisk.c
9257 (convert_system_partition_to_system_disk): Support mdX.
9258 (find_system_device): New parameter add. All users updated.
9259 (grub_util_biosdisk_is_present): New function.
9260 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
9261 proto.
9262
9263 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9264
9265 Search hints support.
9266
9267 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
9268 All users updated.
9269
9270 2010-09-13 Yves Blusseau <blusseau@zetam.org>
9271
9272 Bash completion script for util commands
9273
9274 * Makefile.am: Add util/bash-completion.d directory
9275 * configure.ac: Likewise.
9276 * util/bash-completion.d/Makefile.am: New file.
9277 * util/bash-completion.d/grub-completion.bash.in: Likewise.
9278
9279 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
9280
9281 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
9282 (print_backlog): set backlog_ucs4 and backlog_glyphs.
9283 Reported by: Yves Blusseau.
9284
9285 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
9286
9287 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
9288 partition size and offset.
9289
9290 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
9291
9292 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
9293
9294 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
9295
9296 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
9297
9298 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
9299
9300 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
9301 (grub_xvasprintf): Likewise.
9302
9303 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
9304
9305 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
9306
9307 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
9308
9309 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
9310 args ending with NULL.
9311
9312 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
9313
9314 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
9315 pointer.
9316
9317 2010-09-11 Szymon Janc <szymon@janc.net.pl>
9318
9319 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
9320
9321 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
9322
9323 Shutdown using ACPI.
9324
9325 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
9326 * grub-core/commands/acpihalt.c: New file.
9327 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
9328 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
9329 (grub_acpi_halt): New proto.
9330 (GRUB_ACPI_SLP_EN): New const.
9331 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
9332 (GRUB_ACPI_OPCODE_*): New enum.
9333 (GRUB_ACPI_EXTOPCODE_*): Likewise.
9334
9335 2010-09-11 Tristan Gingold <gingold@free.fr>
9336 2010-09-11 Robert Millan <rmh.grub@aybabtu.com>
9337 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
9338
9339 * commands/lsacpi.c: New file.
9340 * grub-core/Makefile.core.def (lsacpi): New module.
9341 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
9342 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
9343 (grub_acpi_madt_entry_header): New struct.
9344 (grub_acpi_madt): Likewise.
9345 (grub_acpi_madt_entry_interrupt_override): Likewise.
9346 (grub_acpi_madt_entry_sapic): Likewise.
9347 (grub_acpi_madt_entry_lsapic): Likewise.
9348 (grub_acpi_madt_entry_platform_int_source): Likewise.
9349 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
9350 (PRIuGRUB_UINT32_T): Likewise.
9351 (PRIxGRUB_UINT64_T): Likewise.
9352
9353 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
9354
9355 Implement loading palette on ieee1275_fb.
9356
9357 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
9358 (have_setcolors): Likewise.
9359 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
9360 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
9361 (grub_video_ieee1275_set_palette): Implement.
9362
9363 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
9364 2010-09-11 Colin Watson <cjwatson@ubuntu.com>
9365
9366 * util/grub-install.in (grub_partition): New variable.
9367 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
9368 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
9369 Fixes a bug reported by Yves Blusseau.
9370
9371 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
9372
9373 Fix emu on mipsel.
9374
9375 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
9376 =grub_cpu_flush_cache on all mips and not only yeeloong.
9377 * configure.ac (COND_mips): New conditional.
9378 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
9379 platforms.
9380 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
9381 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
9382 [GRUB_LINKER_HAVE_INIT]: New function.
9383 (grub_emu_post_init): Likewise.
9384 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
9385 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
9386 * include/grub/cache.h (_mips): Include mips/cache.h.
9387 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
9388 LVM and RAID prototypes.
9389 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
9390 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
9391 function.
9392
9393 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
9394
9395 * util/grub-install.in: Don't try to verify core.img until after
9396 running grub-mkimage to create it.
9397
9398 2010-09-10 Robert Millan <rmh@gnu.org>
9399
9400 * util/grub.d/10_hurd.in: Add misc readability checks.
9401 * util/grub.d/10_kfreebsd.in: Likewise.
9402 * util/grub.d/10_linux.in: Likewise.
9403
9404 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
9405
9406 * util/grub-install.in: ${imgext} won't be defined here until the
9407 install branch is merged. For the meantime, only verify core.img on
9408 i386-pc and sparc64-ieee1275 platforms.
9409
9410 2010-09-10 Robert Millan <rmh@gnu.org>
9411
9412 Solaris support in grub_find_zpool_from_dir(). Thanks
9413 Seth Goldberg for referring to getextmntent() facility.
9414
9415 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
9416 `sys/mkdev.h'.
9417 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
9418 `<sys/mnttab.h>'.
9419 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
9420 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
9421 method for finding zpool name.
9422
9423 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
9424
9425 grub-fstest needs the host and hostfs modules while other utilities
9426 actively require those modules to be absent, so grub-fstest needs
9427 its own initialisation and finalisation code.
9428
9429 * Makefile.am (grub_fstest.pp): New target.
9430 (grub_fstest_init.lst): Likewise.
9431 (grub_fstest_init.c): Likewise.
9432 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
9433
9434 2010-09-10 Robert Millan <rmh@gnu.org>
9435
9436 * configure.ac: Check for `struct statfs.f_fstypename' and
9437 `struct statfs.f_mntfromname'.
9438
9439 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
9440 kFreeBSD-specific code.
9441
9442 2010-09-10 Robert Millan <rmh@gnu.org>
9443
9444 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
9445 on ZFS. Now non-main filesystems are supported as / too.
9446
9447 2010-09-09 Colin Watson <cjwatson@ubuntu.com>
9448
9449 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
9450 and grub-core/disk/host.c to ...
9451 (grub-fstest): ... here. Having the host disk implementation
9452 present confuses grub-probe and other utility programs.
9453
9454 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
9455 when writing to a file, not when writing to stdout.
9456
9457 2010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
9458
9459 * tests/partmap_test.in: New test for partitions.
9460 * Makefile.util.def: Rules for new test.
9461
9462 2010-09-09 Robert Millan <rmh@gnu.org>
9463
9464 * util/grub-probe.c (probe): Fix a pair of unhandled error
9465 conditions.
9466
9467 2010-09-09 Robert Millan <rmh@gnu.org>
9468
9469 Basic Btrfs support (detection and UUID).
9470
9471 * grub-core/fs/btrfs.c: New file.
9472 * Makefile.util.def (library): Register btrfs.c.
9473 * grub-core/Makefile.core.def: Likewise.
9474
9475 2010-09-08 Robert Millan <rmh@gnu.org>
9476
9477 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
9478 with (optional) parameters to specify device and relative path.
9479 * util/grub-install.in: Use is_path_readable_by_grub() to
9480 verify readability of a few critical files.
9481 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
9482 verify readability of grub.cfg.new.
9483
9484 2010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
9485
9486 Split minix.mod into minix.mod and minix2.mod.
9487
9488 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
9489 * grub-core/Makefile.core.def (minix2): New module.
9490 * grub-core/fs/minix.c: Use definitions instead of runtime version
9491 checking.
9492 * grub-core/fs/minix2.c: New file.
9493
9494 2010-09-08 Yves Blusseau <blusseau@zetam.org>
9495
9496 Add new --boot-directory option to replace --root-directory
9497
9498 * util/grub-install.in: Add new --boot-directory option
9499 * util/grub-reboot.in: Likewise.
9500 * util/grub-set-default.in: Likewise.
9501
9502 2010-09-08 Yves Blusseau <blusseau@zetam.org>
9503
9504 * util/grub-mkconfig.in: Use new variable.
9505
9506 2010-09-08 Yves Blusseau <blusseau@zetam.org>
9507
9508 * configure.ac: Define some useful variables.
9509
9510 2010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
9511
9512 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
9513 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
9514 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
9515 Use terminfo and don't use cursor-on/cursor-off unless it's known
9516 to work.
9517 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
9518 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
9519
9520 2010-09-08 Colin Watson <cjwatson@ubuntu.com>
9521
9522 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
9523 starts with "(,", fill the drive containing the loaded image in
9524 between those two characters, but expect that a full partition
9525 specification including partition map names will follow.
9526
9527 2010-09-08 Robert Millan <rmh@gnu.org>
9528
9529 * configure.ac: Remove `--enable-grub-fstest' option.
9530 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
9531
9532 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
9533 `grub-fstest' instead of `grub-probe' for readability verification.
9534 * util/grub-probe.c (probe): Remove readability verification kludge.
9535
9536 2010-09-08 Robert Millan <rmh@gnu.org>
9537
9538 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
9539 initializing `GRUB_FS'.
9540
9541 2010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
9542
9543 Not command (!) support to GRUB script.
9544
9545 * tests/grub_script_not.in: New test.
9546 * Makefile.util.def: Rules for new test.
9547
9548 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
9549 ! command as a special case.
9550 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
9551
9552 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
9553
9554 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
9555 grub_free.
9556
9557 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
9558
9559 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
9560
9561 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
9562
9563 * docs/grub.texi (Shell-like scripting): Documentation for break,
9564 continue, shift and return commands.
9565
9566 2010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
9567
9568 Rename CD-ROM to cd on BIOS.
9569
9570 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
9571 "cd".
9572 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
9573
9574 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
9575
9576 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
9577 * util/grub-probe.c (main): Likewise.
9578 * util/i386/pc/grub-setup.c (main): Likewise.
9579 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
9580 Reported and debugged by: alexxy
9581
9582 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
9583
9584 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
9585 diagnostic info.
9586
9587 2010-09-05 Jo Shields <directhex@apebox.org>
9588
9589 * util/grub.d/30_os-prober.in: Add missing classes.
9590
9591 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
9592
9593 * docs/grub.texi (Theme file format): Document new position format.
9594
9595 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
9596
9597 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
9598 a table. Use @code instead of @verbatim.
9599
9600 2010-09-05 Colin D Bennett <colin@gibibit.com>
9601
9602 Gfxmenu documentation.
9603
9604 * docs/grub.texi (Theme file format): New chapter.
9605
9606 2010-09-05 Szymon Janc <szymon@janc.net.pl>
9607
9608 * grub-core/Makefile.core.def (xzio): New module.
9609 * grub-core/io/xzio.c: New file.
9610 * grub-core/lib/xzembed/xz.h: New file (from xembed).
9611 * grub-core/lib/xzembed/xz_config.h: Likewise.
9612 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
9613 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
9614 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
9615 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
9616 * grub-core/lib/xzembed/xz_private.h: Likewise.
9617 * grub-core/lib/xzembed/xz_stream.h: Likewise.
9618 * include/grub/file.h (grub_file_filter_id): New compression filter
9619 GRUB_FILE_FILTER_XZIO.
9620
9621 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
9622
9623 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
9624 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
9625 size.
9626
9627 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
9628
9629 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
9630 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
9631
9632 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
9633
9634 Uncompressed checksum support.
9635
9636 * grub-core/commands/hashsum.c (options): Add option --uncompress.
9637 (check_list): New parameter uncompress.
9638 (grub_cmd_hashsum): Handle --uncompress.
9639
9640 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
9641
9642 Reintroduce testload.
9643
9644 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
9645 from here ...
9646 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
9647 (GRUB_MOD_INIT): New function.
9648 (GRUB_MOD_FINI): Likewise.
9649 * grub-core/Makefile.core.def (testload): New module.
9650
9651 2010-09-05 Szymon Janc <szymon@janc.net.pl>
9652
9653 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
9654 (uint8_t): New type.
9655 (uint16_t): Likewise.
9656 (uint32_t): Likewise.
9657 (uint64_t): Likewise.
9658
9659 2010-09-05 Szymon Janc <szymon@janc.net.pl>
9660
9661 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
9662
9663 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
9664
9665 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
9666 Made static.
9667 (grub_gzfile_open): Removed. All users updated.
9668 (GRUB_MOD_INIT): New function.
9669 (GRUB_MOD_FINI): Likewise.
9670 * grub-core/kern/file.c (grub_file_filters_all): New variable.
9671 (grub_file_filters_enabled): Likewise.
9672 (grub_file_open): Handle filters.
9673 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
9674 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
9675 * include/grub/file.h (grub_file_filter_id_t): New type.
9676 (grub_file_filter_t): Likewise.
9677 (grub_file_filters_all): New extern variable.
9678 (grub_file_filters_enabled): Likewise.
9679 (grub_file_filter_register): New inline function.
9680 (grub_file_filter_unregister): Likewise.
9681 (grub_file_filter_disable): Likewise.
9682 (grub_file_filter_disable_compression): Likewise.
9683 * include/grub/gzio.h: Removed.
9684
9685 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
9686
9687 Filename expansion support for wildcards in GRUB script.
9688
9689 * tests/grub_script_expansion.in: New test.
9690 * Makefile.util.def: Rule for new test.
9691
9692 * grub-core/commands/wildcard.c: New file, implements filename
9693 expansion support for GRUB script.
9694 * grub-core/Makefile.core.def: Rule update for regexp.mod.
9695 * grub-core/script/argv.c: Cosmetic changes.
9696 * grub-core/script/execute.c (grub_script_arglist_to_argv):
9697 Refactored to perform wildcard expansion on arguments.
9698 * include/grub/script_sh.h (grub_script_wildcard_translator): New
9699 struct.
9700
9701 * tests/util/grub-shell.in: Fix quoting for read input.
9702
9703 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
9704
9705 Support for updating environment variables with matched substrings
9706 of regexp.
9707
9708 * tests/grub_cmd_regexp.in: New test.
9709 * Makefile.util.def: Rule for new test.
9710
9711 * grub-core/commands/regexp.c: New option -s to update environment
9712 variables with regexp matches.
9713
9714 2010-09-04 Szymon Janc <szymon@janc.net.pl>
9715
9716 * include/grub/file.h (grub_file): New member not_easly_seekable.
9717 (grub_file_seekable): New inline function.
9718 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
9719 easily seekable.
9720 (grub_gzio_open): Set not_easly_seekable.
9721 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
9722 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
9723
9724 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
9725
9726 Support for options to appear multiple times on cmdline.
9727
9728 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
9729 * grub-core/commands/extcmd.c: Support for repeatable option.
9730 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
9731 repeatable option support.
9732
9733 Refactor menuentry into a regular command.
9734
9735 * grub-core/commands/menuentry.c: New file, menuentry command
9736 implementation.
9737 * grub-core/Makefile.core.def: Rule update for normal.mod.
9738 * grub-core/normal/main.c: Moved menuentry creation to
9739 grub-core/commands/menuentry.c.
9740 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
9741 (grub_menu_execute_entry_real): Removed.
9742 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
9743 function.
9744 (grub_script_execute_menuentry): Removed.
9745 * grub-core/script/parser.y (menuentry): Removed.
9746 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
9747 * grub-core/script/yylex.l (menuentry): Removed.
9748 * include/grub/menu.h (grub_menu_init): New prototype.
9749 (grub_menu_fini): New prototype.
9750 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
9751 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
9752 (grub_script_execute_sourcecode): New prototype.
9753
9754 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
9755
9756 "return" command for GRUB script functions.
9757
9758 * tests/grub_script_return.in: New test.
9759 * Makefile.util.def: Rules for new test.
9760
9761 * grub-core/script/execute.c (grub_script_return): New function.
9762 * grub-core/script/main.c: Register/unregister return commaond.
9763 * include/grub/script_sh.h (grub_script_return): New prototype.
9764
9765 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
9766
9767 "setparams" command to update positional parameters.
9768
9769 * tests/grub_script_setparams.in: New test.
9770 * Makefile.util.def: Rules for new test.
9771
9772 * grub-core/script/argv.c (grub_script_argv_make): New function.
9773 * grub-core/script/execute.c (replace_scope): New function.
9774 (grub_script_setparams): New function.
9775 * grub-core/script/lexer.c: Remove unused variables.
9776 * grub-core/script/main.c: Register/unregister setparams command.
9777 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
9778 (grub_script_setparams): New prototype.
9779
9780 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
9781
9782 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
9783 grub_free order.
9784
9785 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
9786
9787 Support for passing block of commands as an argument to extcmds.
9788
9789 * Makefile.util.def: Rules for new test.
9790 * tests/grub_script_blockarg.in: New test.
9791 * grub-core/tests/test_blockarg.c: New file, block argument
9792 command used in the test.
9793
9794 * include/grub/extcmd.h (grub_extcmd_context): New struct.
9795 (grub_register_extcmd_prio): New function prototype.
9796 (grub_extcmd_dispatcher): New function prototype.
9797 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
9798 type.
9799 * include/grub/script_sh.h (struct grub_script): New members
9800 `children', `next_siblings' and `refcnt' for block arguments and
9801 reference counting.
9802 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
9803 (grub_script_arg): New member `script' for block argument.
9804 (grub_script_argv): New member `script' for block argument.
9805 (grub_parser_param): New member `scripts' for block argument.
9806 (grub_script_mem_free): New extern function prototype.
9807 (grub_script_ref): New function prototype.
9808 (grub_script_unref): New function prototype.
9809
9810 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
9811 extcmd form to support block arguments.
9812 * grub-core/script/argv.c: Block arguments support.
9813 * grub-core/script/execute.c: Likewise.
9814 * grub-core/script/lexer.c: Likewise.
9815 * grub-core/script/main.c: Likewise.
9816 * grub-core/script/script.c: Likewise.
9817 * grub-core/script/parser.y: Likewise. New `block' and `block0'
9818 non-terminals.
9819
9820 * grub-core/commands/acpi.c: Update extcmd implementations with
9821 grub_extcmd_context_t.
9822 * grub-core/commands/cat.c: Likewise.
9823 * grub-core/commands/echo.c: Likewise.
9824 * grub-core/commands/extcmd.c: Likewise.
9825 * grub-core/commands/hashsum.c: Likewise.
9826 * grub-core/commands/hdparm.c: Likewise.
9827 * grub-core/commands/help.c: Likewise.
9828 * grub-core/commands/hexdump.c: Likewise.
9829 * grub-core/commands/i386/cpuid.c: Likewise.
9830 * grub-core/commands/i386/pc/drivemap.c: Likewise.
9831 * grub-core/commands/i386/pc/halt.c: Likewise.
9832 * grub-core/commands/i386/pc/sendkey.c: Likewise.
9833 * grub-core/commands/iorw.c: Likewise.
9834 * grub-core/commands/keystatus.c: Likewise.
9835 * grub-core/commands/loadenv.c: Likewise.
9836 * grub-core/commands/ls.c: Likewise.
9837 * grub-core/commands/lspci.c: Likewise.
9838 * grub-core/commands/memrw.c: Likewise.
9839 * grub-core/commands/probe.c: Likewise.
9840 * grub-core/commands/search_wrap.c: Likewise.
9841 * grub-core/commands/setpci.c: Likewise.
9842 * grub-core/commands/sleep.c: Likewise.
9843 * grub-core/disk/loopback.c: Likewise.
9844 * grub-core/hello/hello.c: Likewise.
9845 * grub-core/loader/i386/bsd.c: Likewise.
9846 * grub-core/loader/xnu.c: Likewise.
9847 * grub-core/term/gfxterm.c: Likewise.
9848 * grub-core/term/serial.c: Likewise.
9849 * grub-core/tests/lib/functional_test.c: Likewise.
9850
9851 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
9852
9853 Multi-line quoted strings support.
9854
9855 * grub-core/script/lexer.c (append_newline): Removed.
9856 (grub_script_lexer_yywrap): Refactored.
9857 (grub_script_lexer_init): Refactored.
9858 * grub-core/script/yylex.l (yywrap): New function.
9859 (grub_lexer_resplit): New function.
9860 (grub_lexer_unput): New function.
9861 * include/grub/script_sh.h (grub_lexer_param): New members, unput
9862 and resplit.
9863 * tests/grub_script_echo1.in: Added few more testcases.
9864
9865 2010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
9866
9867 * grub-core/kern/misc.c: Don't add abort alias in utils.
9868 Reported by: echoline.
9869
9870 2010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
9871
9872 Add missing files into "make dist" tarball for other platforms.
9873
9874 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
9875 * conf/Makefile.common (dist_noinst_DATA): New variable.
9876 * conf/Makefile.extra-dist: Added missing make dist files.
9877 * grub-core/Makefile.core.def: Likewise.
9878
9879 2010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
9880
9881 Compress grub_prefix.
9882
9883 * grub-core/boot/i386/pc/lnxboot.S: Use
9884 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
9885 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
9886 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
9887 GRUB_MACHINE_PREFIX_END. All users updated.
9888 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
9889 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
9890 + 0x40.
9891 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
9892 * util/grub-mkimage.c (image_target_desc): Change data_end to
9893 prefix_end. All users updated.
9894
9895 2010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
9896
9897 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
9898 value.
9899 (grub_openbsd_boot): Likewise.
9900 (grub_netbsd_boot): Likewise.
9901 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
9902 (grub_xnu_boot): Likewise.
9903
9904 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
9905
9906 * configure.ac: Clean LIBS variable after tests.
9907
9908 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
9909
9910 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
9911
9912 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
9913
9914 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
9915 echo if libdevmapper will be used.
9916
9917 2010-09-02 Ian Turner <Ian.Turner@deshaw.com>
9918
9919 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
9920 constant for the same file.
9921
9922 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
9923
9924 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
9925
9926 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
9927
9928 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
9929 grub-core/*.pp.
9930
9931 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
9932
9933 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
9934 required by the boot protocol.
9935
9936 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
9937 ebp and edi members.
9938 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
9939 state.ebp and state.edi.
9940 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
9941 %ebp and %edi according to grub_relocator32_ebp and
9942 grub_relocator32_edi respectively.
9943 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
9944 and state.edi.
9945
9946 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
9947
9948 Add i386-pc-pxe image target.
9949
9950 * util/grub-mkimage.c (image_target_desc): New enum value
9951 IMAGE_I386_PC_PXE.
9952 (image_targets): New target i386-pc-pxe.
9953 (generate_image): Handle i386-pc-pxe image.
9954
9955 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
9956
9957 Fix grub_pxe_scan.
9958
9959 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
9960 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
9961 All users updated.
9962 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
9963 (grub_pxe_pxenv): Correct type.
9964
9965 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
9966
9967 * NEWS: Document most of the important changes since 1.98.
9968
9969 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
9970
9971 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
9972 generated manual page) a little.
9973
9974 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
9975
9976 * docs/grub.texi: Add myself as an author.
9977
9978 2010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
9979
9980 * Makefile.util.def (libgrub.a): Add missing sunpc.
9981 Reported by: Seth Goldberg.
9982
9983 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
9984
9985 Interrupt wrapping and code simplifications.
9986
9987 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
9988 x86_noieee1275 which are functionaly equivalent in this case.
9989 (grub-install): Make source on each platform explicit. Enable on
9990 all noemu.
9991 * gentpl.py (x86_efi_pc): Removed group.
9992 (x86_noefi): Likewise.
9993 (i386_noefi): Likewise.
9994 (x86_noieee1275): Likewise.
9995 (i386_noieee1275): Likewise.
9996 (i386_noefi_noieee1275): Likewise.
9997 (i386_pc_qemu_coreboot): Likewise.
9998 (i386_coreboot_multiboot): Likewise.
9999 (i386_pc_coreboot_multiboot_qemu): Likewise.
10000 (x86_noefi_mips): Likewise.
10001 (noieee1275): Likewise.
10002 (ieee1275_mips): Likewise.
10003 (noemu_noieee1275): Likewise.
10004 (cmos): New group.
10005 (usb): Likewise.
10006 (videoinkernel): Likewise.
10007 (videomodules): Likewise.
10008 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
10009 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
10010 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
10011 include/grub/loader.h, include/grub/msdos_partition.h,
10012 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
10013 include/grub/machine/console.h, include/grub/machine/vga.h,
10014 include/grub/machine/vbe.h, include/grub/machine/init.h,
10015 include/grub/machine/kernel.h, include/grub/cpu/time.h,
10016 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
10017 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
10018 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
10019 * grub-core/Makefile.core.def (kernel): Explicit the source for
10020 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
10021 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
10022 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
10023 Use videoinkernel tag.
10024 (usb): Enable on all usb.
10025 (usbserial_common): Likewise.
10026 (usbserial_pl2303): Likewise.
10027 (usbserial_ftdi): Likewise.
10028 (uhci): Enable on all x86.
10029 (ohci): Enable on all pci.
10030 (cmostest): Enable on all CMOS.
10031 (acpi): Include commands/acpi.c on all platforms.
10032 (halt): Add relevant lib/*/halt.c.
10033 (hdparm): Enable on all pci.
10034 (lspci): Likewise.
10035 (usbtest): Enable on all usb.
10036 (ata): Enable on all pci.
10037 (ata_pthru): Likewise.
10038 (usbms): Enable on all usb.
10039 (usb_keyboard): Likewise.
10040 (font): Use tag videomodules.
10041 (bufio): Likewise.
10042 (datetime): Use tag cmos. Enable on all noemu.
10043 (mmap): Use tags common and x86.
10044 (gfxterm): Use tag videomodules.
10045 (bitmap): Likewise.
10046 (bitmap_scale): Likewise.
10047 (video_fb): Likewise.
10048 (video): Likewise.
10049 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
10050 adjust padding accordingly. All users updated.
10051 (grub_ohci_transaction): Fix bad format specification.
10052 (GRUB_MOD_INIT): Add asserts for struct size.
10053 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
10054 (grub_alloc_td): Likewise.
10055 (grub_free_queue): Likewise.
10056 (grub_uhci_transfer): Likewise.
10057 (grub_uhci_transaction): Fix bad format specification.
10058 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
10059 (grub_usb_bulk_readwrite): Likewise.
10060 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
10061 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
10062 Made static.
10063 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
10064 Made static.
10065 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
10066 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
10067 Transformed into C.
10068 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
10069 Moved from here ...
10070 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
10071 ... here. Transformed into C. Made static.
10072 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
10073 Moved from here ...
10074 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
10075 ... here. Transformed into C. Made static.
10076 * grub-core/kern/i386/pc/startup.S
10077 (grub_biosdisk_check_int13_extensions): Moved from here ...
10078 * grub-core/disk/i386/pc/biosdisk.c
10079 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
10080 Made static.
10081 * grub-core/kern/i386/pc/startup.S
10082 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
10083 * grub-core/disk/i386/pc/biosdisk.c
10084 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
10085 Transformed into C. Made static.
10086 * grub-core/kern/i386/pc/startup.S
10087 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
10088 * grub-core/disk/i386/pc/biosdisk.c
10089 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
10090 Transformed into C. Made static.
10091 * grub-core/kern/i386/pc/startup.S
10092 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
10093 * grub-core/disk/i386/pc/biosdisk.c
10094 (grub_biosdisk_get_diskinfo_standard): ... here.
10095 Transformed into C. Made static.
10096 * grub-core/kern/i386/pc/startup.S
10097 (grub_biosdisk_get_num_floppies): Moved from here ...
10098 * grub-core/disk/i386/pc/biosdisk.c
10099 (grub_biosdisk_get_num_floppies): ... here.
10100 Transformed into C. Made static.
10101 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
10102 New function.
10103 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
10104 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
10105 Transformed into C. Made static.
10106 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
10107 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
10108 Transformed into C. Made static.
10109 * grub-core/kern/i386/ieee1275/init.c: Removed.
10110 * grub-core/kern/i386/misc.S: Likewise.
10111 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
10112 Splitted from here ...
10113 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
10114 Transformed into C. Made static. All users updated.
10115 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
10116 Transformed into C. Made static. All users updated.
10117 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
10118 Moved from here...
10119 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
10120 Transformed into C. Made static. All users updated.
10121 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
10122 Moved from here...
10123 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
10124 Transformed into C. Made static. All users updated.
10125 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
10126 Removed (replaced by C version).
10127 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
10128 Moved from here...
10129 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
10130 Transformed into C. Made static.
10131 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
10132 Moved from here...
10133 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
10134 ... here. Transformed into C.
10135 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
10136 Moved from here...
10137 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
10138 ... here. Transformed into C.
10139 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
10140 Moved from here...
10141 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
10142 ... here. Transformed into C. Made static.
10143 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
10144 Moved from here...
10145 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
10146 ... here. Transformed into C.
10147 * grub-core/kern/i386/pc/startup.S
10148 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
10149 * grub-core/video/i386/pc/vbe.c
10150 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
10151 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
10152 Moved from here...
10153 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
10154 ... here. Transformed into C.
10155 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
10156 Moved from here...
10157 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
10158 ... here. Transformed into C.
10159 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
10160 Moved from here...
10161 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
10162 ... here. Transformed into C.
10163 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
10164 Moved from here...
10165 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
10166 ... here. Transformed into C.
10167 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
10168 Moved from here...
10169 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
10170 ... here. Transformed into C. Made static.
10171 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
10172 Moved from here...
10173 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
10174 ... here. Transformed into C. Made static.
10175 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
10176 Moved from here...
10177 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
10178 ... here. Transformed into C. Made static.
10179 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
10180 pxe_rm_entry as third argument.
10181 (grub_bios_interrupt): New function.
10182 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
10183 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
10184 of calling grub_stop.
10185 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
10186 * grub-core/lib/efi/halt.c (grub_halt): ...here.
10187 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
10188 * grub-core/lib/emu/halt.c (grub_halt): ... here.
10189 * grub-core/lib/i386/halt.c: Moved from here ...
10190 * grub-core/lib/i386/halt.c: ... here.
10191 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
10192 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
10193 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
10194 grub_stop_floppy.
10195 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
10196 * include/grub/i386/coreboot/init.h: Removed.
10197 * include/grub/i386/multiboot/init.h: Likewise.
10198 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
10199 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
10200 * include/grub/i386/pc/int.h: New file.
10201 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
10202 (grub_pxe_scan): Removed.
10203 (grub_pxe_call): Update prototype.
10204 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
10205 prototypes.
10206 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
10207 * include/grub/i386/qemu/init.h: Removed.
10208 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
10209 noreturn.
10210 (grub_halt): Likewise.
10211 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
10212 (grub_reboot): Likewise.
10213 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
10214 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
10215 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
10216
10217 2010-08-30 Robert Millan <rmh@gnu.org>
10218
10219 * NEWS: Document addition of ZFS support in `grub-install' and
10220 `grub-mkconfig'.
10221
10222 2010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
10223
10224 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
10225 dprintf output.
10226
10227 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
10228
10229 Remove leftover embedding of font objects.
10230
10231 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
10232 * util/grub-install.in (font): Removed.
10233 * util/grub-mkimage.c (generate_image): Remove font support. All users
10234 updated.
10235
10236 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
10237
10238 Remove leftover embedding of font objects.
10239
10240 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
10241 * util/grub-install.in (font): Removed.
10242 * util/grub-mkimage.c (generate_image): Remove font support. All users
10243 updated.
10244
10245 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
10246
10247 * docs/grub.texi (Network): Fix reference to pxe_blksize.
10248 Reported by: Ian Turner
10249
10250 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
10251
10252 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
10253 timeout to avoid indefinite boot stalling.
10254
10255 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
10256
10257 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
10258 (grub_env_write_color_highlight): Likewise.
10259
10260 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
10261
10262 * grub-core/normal/term.c (print_more): Return to normal and not
10263 to standard state after printing "---MORE---".
10264
10265 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
10266
10267 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
10268 Mask out the bit 0x80 since it has other meaning that specifiing color.
10269
10270 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
10271
10272 New relocator. Allows for more kernel support and more straightforward
10273 loader writing.
10274
10275 * Makefile.am (BOOTTARGET): New variable.
10276 (QEMU32): Likewise.
10277 (linux.init.x86_64): New target.
10278 (linux.init.i386): Likewise.
10279 (multiboot.elf): Likewise.
10280 (kfreebsd.elf): Likewise.
10281 (kfreebsd.aout): Likewise.
10282 (pc-chainloader.elf): Likewise.
10283 (pc-chainloader.bin): Likewise.
10284 (ntldr.elf): Likewise.
10285 (ntldr.bin): Likewise.
10286 (multiboot2.elf): Likewise.
10287 (kfreebsd.init.x86_64): Likewise.
10288 (kfreebsd.init.i386): Likewise.
10289 (knetbsd.init.i386): Likewise.
10290 (kopenbsd.init.i386): Likewise.
10291 (knetbsd.init.x86_64): Likewise.
10292 (kopenbsd.init.x86_64): Likewise.
10293 (linux-initramfs.i386): Likewise.
10294 (linux-initramfs.x86_64): Likewise.
10295 (kfreebsd-mfsroot.i386.img): Likewise.
10296 (knetbsd.image.i386): Likewise.
10297 (kopenbsd.image.i386): Likewise.
10298 (kopenbsd.image.x86_64): Likewise.
10299 (knetbsd.miniroot-image.i386.img): Likewise.
10300 (kfreebsd-mfsroot.x86_64.img): Likewise.
10301 (knetbsd.image.x86_64): Likewise.
10302 (knetbsd.miniroot-image.x86_64.img): Likewise.
10303 (kfreebsd-mfsroot.i386.gz): Likewise.
10304 (bootcheck-kfreebsd-i386): Likewise.
10305 (kfreebsd-mfsroot.x86_64.gz): Likewise.
10306 (bootcheck-kfreebsd-x86_64): Likewise.
10307 (knetbsd.miniroot-image.i386.gz): Likewise.
10308 (bootcheck-knetbsd-i386): Likewise.
10309 (bootcheck-kopenbsd-i386): Likewise.
10310 (bootcheck-kopenbsd-x86_64): Likewise.
10311 (knetbsd.miniroot-image.x86_64.gz): Likewise.
10312 (bootcheck-knetbsd-x86_64): Likewise.
10313 (bootcheck-linux-i386): Likewise.
10314 (bootcheck-linux-x86_64): Likewise.
10315 (bootcheck-linux16-i386): Likewise.
10316 (bootcheck-linux16-x86_64): Likewise.
10317 (bootcheck-multiboot): Likewise.
10318 (bootcheck-multiboot2): Likewise.
10319 (bootcheck-kfreebsd-aout): Likewise.
10320 (bootcheck-pc-chainloader): Likewise.
10321 (bootcheck-ntldr): Likewise.
10322 (CLEANFILES): Add new targets.
10323 (BOOTCHECKS): New variable.
10324 (.PHONY): Add bootchecks.
10325 (SUCCESSFUL_BOOT_STRING): New variable.
10326 (BOOTCHECK_TIMEOUT): Likewise.
10327 (bootcheck): New target
10328 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
10329 * configure.ac: Correct efiemu excuse.
10330 * docs/grub.texi (Supported kernels): New chapter.
10331 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
10332 include/grub/mm_private.h. Simplify inclusion of
10333 include/grub/boot.h, include/grub/loader.h
10334 and include/grub/msdos_partition.h
10335 (KERNEL_HEADER_FILES) [i386_coreboot]:
10336 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
10337 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
10338 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
10339 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
10340 include/grub/machine/loader.h.
10341 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
10342 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
10343 extra_dist.
10344 (pci.mod): Enable on i386-multiboot.
10345 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
10346 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
10347 i386-qemu.
10348 (relocator.mod): Rewritten.
10349 (aout.mod): Enable on all x86.
10350 (bsd.mod): Likewise.
10351 (ntldr.mod): New module.
10352 (linux.mod): Use loader/i386/linux.c on all x86.
10353 (xnu.mod): Enable on all x86.
10354 (vga_text.mod): disable on EFI and QEMU.
10355 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
10356 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
10357 * grub-core/efiemu/loadcore.c: Likewise.
10358 * grub-core/efiemu/main.c: Likewise.
10359 (grub_efiemu_exit_boot_services): Removed.
10360 (grub_efiemu_finish_boot_services): Likewise.
10361 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
10362 function.
10363 * grub-core/efiemu/i386/nocfgtables.c: New file.
10364 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
10365 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
10366 (grub_efi_finish_boot_services): Moved from here ...
10367 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
10368 Fille finish memory map and related data.
10369 (finish_mmap_buf): New variable.
10370 (grub_efi_uintn_t finish_mmap_size): Likewise.
10371 (grub_efi_uintn_t finish_key): Likewise.
10372 (grub_efi_uintn_t finish_desc_size): Likewise.
10373 (grub_efi_uint32_t finish_desc_version): Likewise.
10374 (grub_efi_is_finished): Likewise.
10375 (grub_efi_get_memory_map): Use saved memory map if EFI is already
10376 finished.
10377 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
10378 (grub_elf64_phdr_iterate): Likewise.
10379 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
10380 (grub_os_area_size): Likewise.
10381 (grub_machine_init): Don't reserve os area.
10382 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
10383 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
10384 * grub-core/kern/i386/loader.S: Removed.
10385 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
10386 (grub_os_area_size): Likewise.
10387 (grub_machine_init): Don't reserve os area.
10388 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
10389 Don't call grub_dl_unload_all.
10390 Don't include loader.S.
10391 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
10392 Declare the memory after _end as available.
10393 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
10394 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
10395 (GRUB_MM_ALLOC_MAGIC): Moved from here...
10396 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
10397 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
10398 * include/grub/mm_private.h (grub_mm_header): ... here.
10399 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
10400 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
10401 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
10402 (grub_mm_region): ..here. Removed addr. Added pre_size.
10403 All users updated.
10404 * grub-core/kern/mm.c (base): Renamed to ...
10405 (grub_mm_base): ... this. Made global.
10406 (grub_real_malloc): Alloc from end of region.
10407 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
10408 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
10409 * grub-core/kern/powerpc/cache_flush.S: ... here.
10410 * grub-core/lib/efi/relocator.c: New file.
10411 * grub-core/lib/i386/relocator.c: Rewritten.
10412 * grub-core/lib/i386/relocator16.S: New file.
10413 * grub-core/lib/i386/relocator32.S: Likewise.
10414 * grub-core/lib/i386/relocator64.S: Likewise.
10415 * grub-core/lib/i386/relocator_asm.S: Rewritten.
10416 * grub-core/lib/i386/relocator_common.S: New file.
10417 * grub-core/lib/ieee1275/relocator.c: Likewise.
10418 * grub-core/lib/mips/relocator.c: Rewritten.
10419 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
10420 stylistic adjustments.
10421 * grub-core/lib/powerpc/relocator.c: New file.
10422 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
10423 * grub-core/lib/relocator.c: Rewritten.
10424 * grub-core/lib/x86_64/relocator_asm.S: New file.
10425 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
10426 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
10427 (bsd_tag): New struct.
10428 (tags): New variable.
10429 (tags_last): Likewise.
10430 (netbsd_module): New struct.
10431 (netbsd_mods): New variable.
10432 (netbsd_mods_last): Likewise.
10433 (openbsd_opts): New parameter "serial".
10434 (OPENBSD_SERIAL_ARG): New definition.
10435 (netbsd_opts): New parameter "serial".
10436 (NETBSD_SERIAL_ARG): New definition.
10437 (grub_freebsd_add_meta): Reorganised into ...
10438 (grub_bsd_add_meta): ...this. All users updated.
10439 (grub_freebsd_add_mmap): Reorganised into ...
10440 (generate_e820_mmap): ...this...
10441 (grub_bsd_add_mmap): ...and this. All users updated.
10442 (grub_freebsd_list_modules): Use tags.
10443 (grub_netbsd_add_meta_module): New function.
10444 (grub_netbsd_list_modules): Likewise.
10445 (grub_freebsd_boot): Use relocator and finish EFI.
10446 (grub_openbsd_boot): Likewise.
10447 (grub_netbsd_setup_video): New function.
10448 (grub_netbsd_add_modules): Likewise.
10449 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
10450 and finish EFI.
10451 (grub_bsd_unload): Unload tags.
10452 (grub_bsd_load_aout): Use relocator.
10453 (grub_bsd_elf32_size_hook): New function.
10454 (grub_bsd_elf32_hook): Use relocator.
10455 (grub_bsd_elf64_size_hook): New function.
10456 (grub_bsd_elf64_hook): Use relocator.
10457 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
10458 (grub_bsd_load): Zero-out openbsd_ramdisk.
10459 (grub_bsd_load): Use relocator.
10460 (grub_cmd_openbsd): Support serial.
10461 (grub_cmd_netbsd): Support modules.
10462 (grub_cmd_freebsd_module): Use relocator.
10463 (grub_netbsd_module_load): New function.
10464 (grub_cmd_netbsd_module): Likewise.
10465 (grub_cmd_openbsd_ramdisk): Likewise.
10466 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
10467 kopenbsd_ramdisk.
10468 (GRUB_MOD_FINI): Unregister new commands.
10469 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
10470 (grub_freebsd_load_elfmodule_obj): Use relocator.
10471 (grub_freebsd_load_elfmodule): Likewise.
10472 (grub_freebsd_load_elf_meta): Likewise.
10473 (grub_netbsd_load_elf_meta): New function.
10474 (grub_openbsd_find_ramdisk): Likewise.
10475 * grub-core/loader/i386/bsd_helper.S: Removed.
10476 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
10477 * grub-core/loader/i386/bsd_trampoline.S: Removed.
10478 * grub-core/loader/i386/efi/linux.c: Likewise.
10479 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
10480 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
10481 (DEFAULT_VIDEO_MODE): Likewise.
10482 (real_mode_target): New variable.
10483 (prot_mode_target): Likewise.
10484 (initrd_mem_target): Likewise.
10485 (relocator): Likewise.
10486 (efi_mmap_buf): Likewise.
10487 (efi_mmap_size): Likewise.
10488 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
10489 (free_pages): Use relocator.
10490 (allocate_pages): Account for efi_mmap and use relocator. Return error.
10491 (grub_linux_setup_video): Return error.
10492 (grub_linux_trampoline_start): Removed.
10493 (grub_linux_trampoline_end): Likewise.
10494 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
10495 andd video parameters depending on firmware.
10496 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
10497 [GRUB_MACHINE_EFI]: Pass EFI parameters.
10498 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
10499 (grub_cmd_initrd): Use relocator.
10500 * grub-core/loader/i386/linux_trampoline.S: Removed.
10501 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
10502 (elf_sec_entsize): Likewise.
10503 (elf_sec_shstrndx): Likewise.
10504 (elf_sections): Likewise.
10505 (grub_multiboot_load): Use relocator.
10506 (grub_multiboot_get_mbi_size): Account for sections.
10507 (grub_multiboot_make_mbi): Use relocator and support sections.
10508 (grub_multiboot_add_elfsyms): New function.
10509 (grub_multiboot_free_mbi): Free sections.
10510 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
10511 (grub_linux_real_target): Likewise.
10512 (grub_linux_real_chunk): Likewise.
10513 (grub_linux16_prot_size): Likewise.
10514 (grub_linux16_boot): Use relocator.
10515 (grub_linux_unload): Unload relocator.
10516 (grub_cmd_linux): Use relocator.
10517 (grub_cmd_initrd): Likewise.
10518 * grub-core/loader/i386/pc/ntldr.c: New file.
10519 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
10520 Don't try to guess CPU frequency.
10521 (grub_xnu_set_video): Stretch bitmap.
10522 (grub_xnu_boot): Use relocator.
10523 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
10524 (grub_linux_unload): Free relocator.
10525 (grub_linux_load32): Use relocator.
10526 (grub_linux_load64): Likewise.
10527 (grub_cmd_initrd): Likewise.
10528 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
10529 (grub_multiboot_unload): Unload relocator.
10530 (grub_cmd_multiboot): Use relocator.
10531 (grub_cmd_module): Likewise.
10532 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
10533 Use relocator and support sections.
10534 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
10535 (elf_sec_entsize): Likewise.
10536 (elf_sec_shstrndx): Likewise.
10537 (elf_sections): Likewise.
10538 (grub_multiboot_load): Use relocator.
10539 (grub_multiboot_get_mbi_size): Account for sections.
10540 (grub_multiboot_make_mbi): Use relocator and support sections.
10541 (grub_multiboot_add_elfsyms): New function.
10542 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
10543 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
10544 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
10545 Prototype changed. All users updated.
10546 (grub_xnu_align_heap): Simplified.
10547 (grub_xnu_writetree_toheap): Likewise.
10548 (grub_xnu_unload): Unload relocator.
10549 (grub_cmd_xnu_kernel): Use relocator.
10550 (grub_cmd_xnu_kernel64): Likewise.
10551 (grub_xnu_register_memory): Simplified.
10552 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
10553 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
10554 EFI is finished.
10555 (grub_console_checkkey): Likewise.
10556 (grub_console_getkey): Likewise.
10557 (grub_console_getwh): Likewise.
10558 (grub_console_getxy): Likewise.
10559 (grub_console_gotoxy): Likewise.
10560 (grub_console_cls): Likewise.
10561 (grub_console_setcolorstate): Likewise.
10562 (grub_console_setcursor): Likewise.
10563 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
10564 * grub-core/tests/boot/kbsd.init-i386.S: New file.
10565 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
10566 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
10567 * grub-core/tests/boot/kernel-8086.S: Likewise.
10568 * grub-core/tests/boot/kernel-i386.S: Likewise.
10569 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
10570 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
10571 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
10572 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
10573 * grub-core/tests/boot/knetbsd.cfg: Likewise.
10574 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
10575 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
10576 * grub-core/tests/boot/linux.cfg: Likewise.
10577 * grub-core/tests/boot/linux.init-i386.S: Likewise.
10578 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
10579 * grub-core/tests/boot/linux16.cfg: Likewise.
10580 * grub-core/tests/boot/multiboot.cfg: Likewise.
10581 * grub-core/tests/boot/multiboot2.cfg: Likewise.
10582 * grub-core/tests/boot/ntldr.cfg: Likewise.
10583 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
10584 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
10585 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
10586 New definition.
10587 * include/grub/dl.h (grub_dl_unload_all): Removed.
10588 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
10589 (grub_efi_finish_boot_services): Change prototype.
10590 (grub_efi_is_finished): New variable.
10591 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
10592 Changed prototype.
10593 (grub_efiemu_finish_boot_services): Removed.
10594 (grub_machine_efiemu_init_tables): New prototype.
10595 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
10596 (grub_elf64_phdr_iterate): Likewise.
10597 * include/grub/i386/bsd.h: Include relocator.h.
10598 (freebsd_tag_header): New struct.
10599 (grub_openbsd_bios_mmap): Removed.
10600 (grub_unix_real_boot): Removed.
10601 (grub_freebsd_load_elfmodule32): Changed prototype.
10602 (grub_freebsd_load_elfmodule_obj64): Likewise.
10603 (grub_freebsd_load_elf_meta32): Likewise.
10604 (grub_freebsd_load_elf_meta64): Likewise.
10605 (grub_freebsd_add_meta): Removed.
10606 (grub_netbsd_load_elf_meta32): New prototype.
10607 (grub_netbsd_load_elf_meta64): Likewise.
10608 (grub_bsd_add_meta): Likewise.
10609 (grub_openbsd_ramdisk_descriptor): New struct.
10610 (grub_openbsd_find_ramdisk32): New prototype.
10611 (grub_openbsd_find_ramdisk64): Likewise.
10612 * include/grub/i386/coreboot/loader.h: Removed.
10613 * include/grub/i386/efi/loader.h: Likewise.
10614 * include/grub/i386/ieee1275/loader.h: Likewise.
10615 * include/grub/i386/linux.h (linux_kernel_header): Change void *
10616 to grub_uint32_t.
10617 * include/grub/i386/loader.h: Removed.
10618 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
10619 value.
10620 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
10621 (grub_phys_addr_t): New type.
10622 (grub_vtop): New inline function.
10623 (grub_map_memory): Likewise.
10624 (grub_unmap_memory): Likewise.
10625 * include/grub/i386/multiboot/loader.h: Removed.
10626 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
10627 (NETBSD_BTINFO_CONSOLE): New definition.
10628 (NETBSD_BTINFO_SYMTAB): Likewise.
10629 (NETBSD_BTINFO_MODULES): Likewise.
10630 (NETBSD_BTINFO_FRAMEBUF): Likewise.
10631 (grub_netbsd_bootinfo): New struct.
10632 (grub_netbsd_btinfo_common): Use explicit bitsize.
10633 (grub_netbsd_btinfo_mmap_entry): Removed.
10634 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
10635 (grub_netbsd_btinfo_bootdisk): New struct.
10636 (grub_netbsd_btinfo_symtab): Likewise.
10637 (grub_netbsd_btinfo_serial): Likewise.
10638 (grub_netbsd_btinfo_modules): Likewise.
10639 (grub_netbsd_btinfo_framebuf): Likewise.
10640 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
10641 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
10642 Likewise.
10643 (grub_openbsd_bootargs): Use explicit bitsize.
10644 (grub_openbsd_bootarg_console): New struct.
10645 (GRUB_OPENBSD_COM_MAJOR): New definition.
10646 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
10647 * include/grub/i386/pc/efiemu.h: Removed.
10648 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
10649 * include/grub/i386/qemu/loader.h: Removed.
10650 * include/grub/i386/relocator.h: Rewritten.
10651 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
10652 * include/grub/mips/memory.h: New file.
10653 * include/grub/mips/multiboot.h: Rewritten.
10654 * include/grub/mips/relocator.h: Rewritten.
10655 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
10656 (grub_vtop): New function.
10657 (grub_map_memory): Likewise.
10658 (grub_unmap_memory): Likewise.
10659 * include/grub/misc.h (ALIGN_DOWN): New definition.
10660 * include/grub/mm.h (grub_mm_check_real): New proto.
10661 (GRUB_MM_CHECK): New definition.
10662 * include/grub/mm_private.h: New file.
10663 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
10664 (grub_multiboot_get_mbi_size): Removed.
10665 (grub_multiboot_make_mbi): Change prottype.
10666 (grub_multiboot_set_accepts_video): New proto.
10667 (grub_multiboot_add_elfsyms): Likewise.
10668 (grub_multiboot_payload_eip): New variable.
10669 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
10670 New prototype.
10671 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
10672 New definition.
10673 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
10674 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
10675 * include/grub/powerpc/ieee1275/loader.h: Removed.
10676 * include/grub/powerpc/memory.h: New file.
10677 * include/grub/powerpc/relocator.h: Likewise.
10678 * include/grub/relocator.h: Likewise.
10679 * include/grub/relocator_private.h: Likewise.
10680 * include/grub/sparc64/ieee1275/loader.h: Removed.
10681 * include/grub/x86_64/memory.h: New file.
10682 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
10683 (grub_xnu_heap_malloc): Likewise.
10684 (grub_xnu_heap_real_start): Removed.
10685 (grub_xnu_heap_start): Likewise.
10686 (grub_xnu_relocator): New variable.
10687 (grub_xnu_heap_target_start): Likewise.
10688 * tests/util/grub-shell.in: Support non-pc.
10689 * util/grub-mkimage.c (image_targets): Fix multiboot target.
10690
10691 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
10692
10693 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
10694 on malloc error.
10695 (grub_bidi_logical_to_visual): Check that malloc succeded.
10696 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
10697 puts.
10698 (grub_xputs_normal): Likewise.
10699
10700 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
10701
10702 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
10703 extra_dist.
10704
10705 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
10706
10707 * grub-core/efiemu/runtime/efiemu.sh: Removed.
10708
10709 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
10710
10711 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
10712
10713 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
10714
10715 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
10716 dprintf.
10717
10718 2010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
10719
10720 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
10721
10722 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
10723
10724 * grub-core/normal/term.c (print_more): Fix a memory leak.
10725 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
10726 (grub_xputs_normal): Likewise.
10727
10728 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
10729
10730 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
10731 the begining of the string
10732
10733 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
10734
10735 * grub-core/script/script.c (grub_script_parse): Free parsed on
10736 failure.
10737
10738 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
10739
10740 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
10741 on failure.
10742
10743 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
10744
10745 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
10746 return.
10747
10748 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
10749
10750 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
10751 (scroll_up): Fix a memory leak.
10752
10753 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
10754
10755 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
10756 errors.
10757
10758 2010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
10759
10760 Handle USB pendrives exposed as floppies.
10761
10762 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
10763 floppy.
10764 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
10765 Check for partitions on all devices.
10766
10767 2010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
10768
10769 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
10770 (readkey): Likewise.
10771
10772 2010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
10773
10774 Multiple variable names support to "export" command.
10775
10776 * normal/context.c (grub_cmd_export): "export" command supports
10777 multiple variable names.
10778
10779 2010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
10780
10781 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
10782 --target=drive output to Mach device name.
10783
10784 2010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
10785
10786 New Automake based build system for GRUB.
10787
10788 * ABOUT-NLS: New file.
10789 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
10790 in Makefile.util.def file.
10791 * Makefile.util.def: New file. Autogen build definitions file for
10792 GRUB host utils.
10793 * conf/Makefile.common: New file. Common variables for GRUB host
10794 utils and target modules.
10795 * conf/Makefile.extra-dist: New file. Extra files for make dist.
10796 * docs/Makefile.am: New file. Automake file for docs.
10797 * gentpl.py: New file. Python script to generate Autogen
10798 template.
10799 * grub-core/Makefile.am: New file. GRUB target modules' rules
10800 that doesn't fit in Makefile.core.def file.
10801 * grub-core/Makefile.core.def: New file. Autogen build
10802 definitions file for GRUB target modules.
10803 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
10804 specific setjmp.S file.
10805 * po/Makefile.am: New file.
10806
10807 * .bzrignore: New ignores.
10808 * INSTALL: New requirements, without Ruby.
10809 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
10810 * autogen.sh: Updated to invoke autogen as necessary.
10811 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
10812 and defines for Automake conditionals.
10813 * geninit.sh: Refactoring.
10814
10815 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
10816 necessary.
10817 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
10818 New prototype.
10819
10820 * include/grub/test.h: Fix functional test modules' naming.
10821 * grub-core/tests/example_functional_test.c: Fix test module name.
10822
10823 * util/misc.c: Hosted versions' of grub functions for libgrub.a
10824 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
10825 * util/grub-editenv.c: Likewise.
10826 * util/grub-fstest.c: Likewise.
10827 * util/grub-mkdevicemap.c: Likewise.
10828 * util/grub-mkfont.c: Likewise.
10829 * util/grub-mkimage.c: Likewise.
10830 * util/grub-mkpasswd-pbkdf2.c: Likewise.
10831 * util/grub-probe.c: Likewise.
10832 * util/grub-script-check.c: Likewise.
10833 * util/i386/pc/grub-setup.c: Likewise.
10834 * util/sparc64/ieee1275/grub-setup.c: Likewise.
10835
10836 * tests/util/grub-shell.in: Fix override directory path.
10837 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
10838 * util/import_gcry.py: Create Makefile.gcry.def file instead.
10839
10840 * util/lvm.c: Update #includes.
10841 * util/raid.c: Likewise.
10842 * util/resolve.c: Likewise.
10843 * grub-core/bus/emu/pci.c: Likewise.
10844 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
10845 * grub-core/lib/posix_wrap/string.h: Likewise.
10846 * grub-core/kern/emu/main.c: Likewise.
10847
10848 * grub-core/gensymlist.sh: New file. Script for generating kernel
10849 symbols file.
10850 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
10851
10852 * grub-core/gentrigtables.c: Fix unused variable warnings.
10853
10854 * Makefile.in: Removed.
10855 * conf/any-emu.rmk: Removed.
10856 * conf/common.rmk: Removed.
10857 * conf/i386-coreboot.rmk: Removed.
10858 * conf/i386-efi.rmk: Removed.
10859 * conf/i386-ieee1275.rmk: Removed.
10860 * conf/i386-multiboot.rmk: Removed.
10861 * conf/i386-pc.rmk: Removed.
10862 * conf/i386-qemu.rmk: Removed.
10863 * conf/i386.rmk: Removed.
10864 * conf/mips-yeeloong.rmk: Removed.
10865 * conf/mips.rmk: Removed.
10866 * conf/powerpc-ieee1275.rmk: Removed.
10867 * conf/sparc64-ieee1275.rmk: Removed.
10868 * conf/tests.rmk: Removed.
10869 * conf/x86-efi.rmk: Removed.
10870 * conf/x86_64-efi.rmk: Removed.
10871 * gendistlist.sh: Removed.
10872 * geninitheader.sh: Removed.
10873 * genkernsyms.sh.in: Removed.
10874 * genmk.rb: Removed.
10875 * gensymlist.sh.in: Removed.
10876 * mkinstalldirs: Removed.
10877 * boot: Moved ...
10878 * grub-core/boot: ... to here.
10879 * bus: Moved ...
10880 * grub-core/bus: ... to here.
10881 * commands: Moved ...
10882 * grub-core/commands: ... to here.
10883 * disk: Moved ...
10884 * grub-core/disk: ... to here.
10885 * efiemu: Moved ...
10886 * grub-core/efiemu: ... to here.
10887 * font: Moved ...
10888 * grub-core/font: ... to here.
10889 * fs: Moved ...
10890 * grub-core/fs: ... to here.
10891 * gencmdlist.sh: Moved ...
10892 * grub-core/gencmdlist.sh: ... to here.
10893 * genemuinit.sh: Moved ...
10894 * grub-core/genemuinit.sh: ... to here.
10895 * genemuinitheader.sh: Moved ...
10896 * grub-core/genemuinitheader.sh: ... to here.
10897 * genfslist.sh: Moved ...
10898 * grub-core/genfslist.sh: ... to here.
10899 * genhandlerlist.sh: Moved ...
10900 * grub-core/genhandlerlist.sh: ... to here.
10901 * genmoddep.awk: Moved ...
10902 * grub-core/genmoddep.awk: ... to here.
10903 * genmodsrc.sh: Moved ...
10904 * grub-core/genmodsrc.sh: ... to here.
10905 * genpartmaplist.sh: Moved ...
10906 * grub-core/genpartmaplist.sh: ... to here.
10907 * genparttoollist.sh: Moved ...
10908 * grub-core/genparttoollist.sh: ... to here.
10909 * genterminallist.sh: Moved ...
10910 * grub-core/genterminallist.sh: ... to here.
10911 * gentrigtables.c: Moved ...
10912 * grub-core/gentrigtables.c: ... to here.
10913 * genvideolist.sh: Moved ...
10914 * grub-core/genvideolist.sh: ... to here.
10915 * gettext: Moved ...
10916 * grub-core/gettext: ... to here.
10917 * gfxmenu: Moved ...
10918 * grub-core/gfxmenu: ... to here.
10919 * gnulib: Moved ...
10920 * grub-core/gnulib: ... to here.
10921 * hello: Moved ...
10922 * grub-core/hello: ... to here.
10923 * hook: Moved ...
10924 * grub-core/hook: ... to here.
10925 * io: Moved ...
10926 * grub-core/io: ... to here.
10927 * kern: Moved ...
10928 * grub-core/kern: ... to here.
10929 * lib: Moved ...
10930 * grub-core/lib: ... to here.
10931 * loader: Moved ...
10932 * grub-core/loader: ... to here.
10933 * mmap: Moved ...
10934 * grub-core/mmap: ... to here.
10935 * normal: Moved ...
10936 * grub-core/normal: ... to here.
10937 * partmap: Moved ...
10938 * grub-core/partmap: ... to here.
10939 * parttool: Moved ...
10940 * grub-core/parttool: ... to here.
10941 * script: Moved ...
10942 * grub-core/script: ... to here.
10943 * term: Moved ...
10944 * grub-core/term: ... to here
10945 * tests/example_functional_test.c: Moved ...
10946 * grub-core/tests/example_functional_test.c: ... to here.
10947 * tests/lib/functional_test.c: Moved ...
10948 * grub-core/tests/lib/functional_test.c: ... to here.
10949 * tests/lib/test.c: Moved ...
10950 * grub-core/tests/lib/test.c: ... to here.
10951 * video: Moved ...
10952 * grub-core/video: ... to here.
10953
10954 2010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
10955
10956 Replace --enable-grub-emu-modules with grub-emu-lite.
10957
10958 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
10959 cache.S.
10960
10961 * include/grub/emu/misc.h (grub_emu_init): New prototype.
10962 * kern/emu/full.c: New file. For grub-emu specific initialization.
10963 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
10964 * kern/emu/main.c: Call initialization function grub_emu_init.
10965
10966 * Makefile.in: Include grub-emu-lite in install.
10967 * commands/parttool.c: Use grub_no_autoload to differentiate
10968 between grub-emu and grub-emu-lite.
10969 * include/grub/misc.h: New variable grub_no_autoload.
10970
10971 * conf/any-emu.rmk: New rules for grub-emu-lite.
10972 * configure.ac: Remove --enable-grub-emu-modules.
10973 * genmk.rb: Cleanup unnecessary rules.
10974 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
10975
10976 * normal/main.c: Don't load list files on grub-emu-lite.
10977 * util/misc.c (grub_arch_sync_caches): Removed.
10978
10979 2010-08-23 Colin Watson <cjwatson@ubuntu.com>
10980
10981 * kern/mips/startup.S (grub_prefix): Update comment to refer to
10982 grub-mkimage rather than grub-mkelfimage.
10983 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
10984
10985 2010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
10986
10987 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
10988 a key after CapsLock or NumLock. It's just a qemu bug.
10989
10990 2010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
10991
10992 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
10993 needed by libusb wrapper.
10994
10995 2010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
10996
10997 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
10998
10999 2010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
11000
11001 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
11002 --nounzip is passed.
11003
11004 2010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
11005
11006 USB hotunplugging and USB serial support.
11007
11008 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
11009 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
11010 (grub_uhci_transfer): Respect timeout and set *actual.
11011 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
11012 non-standard length.
11013 (grub_usb_device_attach): Autoload modules.
11014 (GRUB_MOD_INIT): Set grub_term_poll_usb.
11015 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
11016 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
11017 users updated.
11018 (grub_usb_add_hub): Fill nports and children.
11019 (attach_root_port): Receive hub instead of controller.
11020 All users updated. Fill hub->devices.
11021 (grub_usb_root_hub): Allocate hub->devices.
11022 (detach_device): New function.
11023 (poll_nonroot_hub): Fill children and detach devices.
11024 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
11025 actual arguments. All users updated.
11026 (grub_usb_bulk_read_extended): New function.
11027 * bus/usb/serial/common.c: New file.
11028 * bus/usb/serial/ftdi.c: Likewise.
11029 * bus/usb/serial/pl2303.c: Likewise.
11030 * commands/terminal.c (handle_command): Support wildcard.
11031 * commands/usbtest.c: Output "Unknown" instead of empty string.
11032 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
11033 (usbserial_common_mod_SOURCES): New variable.
11034 (usbserial_common_mod_CFLAGS): Likewise.
11035 (usbserial_common_mod_LDFLAGS): Likewise.
11036 (pkglib_MODULES): Add usbserial_pl2303.mod.
11037 (usbserial_pl2303_mod_SOURCES): New variable.
11038 (usbserial_pl2303_mod_CFLAGS): Likewise.
11039 (usbserial_pl2303_mod_LDFLAGS): Likewise.
11040 (pkglib_MODULES): Add usbserial_ftdi.mod.
11041 (usbserial_ftdi_mod_SOURCES): New variable.
11042 (usbserial_ftdi_mod_CFLAGS): Likewise.
11043 (usbserial_ftdi_mod_LDFLAGS): Likewise.
11044 (pkglib_MODULES): Add serial.mod.
11045 (serial_mod_SOURCES): New variable.
11046 (serial_mod_CFLAGS): Likewise.
11047 (serial_mod_LDFLAGS): Likewise.
11048 * conf/i386-pc.rmk: Likewise.
11049 * conf/mips-yeeloong.rmk: Likewise.
11050 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
11051 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
11052 * disk/usbms.c (first_available_slot): New variable.
11053 (grub_usbms_attach): Don't reuse free slots due to potential cache
11054 problems.
11055 * include/grub/serial.h: Moved to ..
11056 * include/grub/ns8250.h: ...this.
11057 * include/grub/serial.h: New file.
11058 * include/grub/term.h (grub_term_poll_usb): New variable.
11059 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
11060 readkey. All users updated.
11061 (grub_terminfo_output_state): Pass term to put.
11062 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
11063 (grub_usb_controller_dev): Add timeout and actual arguments to
11064 transfer. All users updated.
11065 (grub_usb_interface): New field detach_data.
11066 (grub_usb_device): New fields children and nports.
11067 (grub_usb_ep_type_t): New type.
11068 (grub_usb_get_ep_type): New function.
11069 (grub_usb_bulk_read_extended): Likewise.
11070 * include/grub/usbdesc.h (grub_usb_desc): New type.
11071 * include/grub/usbserial.h: New file.
11072 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
11073 * kern/term.c (grub_term_poll_usb): New variable.
11074 (grub_getkey): Call grub_term_poll_usb if set.
11075 (grub_checkkey): Likewise.
11076 (grub_getkeystatus): Likewise.
11077 * term/serial.c: Moved controller-specific parts to ...
11078 * term/ns8250.c: ... here.
11079 * term/serial.c: Mostly rewritten.
11080 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
11081 according to spec.
11082
11083 2010-08-20 Robert Millan <rmh@gnu.org>
11084
11085 Make kFreeBSD code more generic to support ext2fs as root, ufs as
11086 a separate module and maybe other interesting combinations.
11087
11088 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
11089 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
11090 (kfreebsd_entry): Add generic filesystem module load routine.
11091 Map GRUB `ext2' to kFreeBSD `ext2fs'.
11092
11093 2010-08-20 Colin Watson <cjwatson@ubuntu.com>
11094
11095 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
11096 "numcenter" (I misunderstood the purpose of this entry).
11097 * docs/grub.texi (sendkey): Likewise.
11098
11099 2010-08-20 Colin Watson <cjwatson@ubuntu.com>
11100
11101 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
11102 status flag options; simply omitting the option is equivalent and
11103 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
11104 (keysym_table): Rename "num5numlock" to "numlock".
11105 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
11106 can uniformly say that only the last of multiple `sendkey'
11107 invocations has any effect.
11108 * docs/grub.texi (sendkey): New section.
11109
11110 2010-08-19 Colin Watson <cjwatson@ubuntu.com>
11111
11112 * commands/i386/pc/sendkey.c (options): Fix three typos.
11113
11114 2010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
11115
11116 Implement sendkey support.
11117
11118 * commands/i386/pc/sendkey.c: New file.
11119 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
11120 (sendkey_mod_SOURCES): New variable.
11121 (sendkey_mod_CFLAGS): Likewise.
11122 (sendkey_mod_LDFLAGS): Likewise.
11123
11124 2010-08-18 Colin Watson <cjwatson@ubuntu.com>
11125
11126 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
11127 fix warnings from Autoconf.
11128
11129 2010-08-18 Colin Watson <cjwatson@ubuntu.com>
11130
11131 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
11132 to avoid false positives with some assemblers that output things
11133 like "someprefix_func" as part of their output.
11134
11135 2010-08-15 Robert Millan <rmh@gnu.org>
11136
11137 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
11138 errors.
11139 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
11140 grub_get_libzfs_handle() errors.
11141
11142 2010-08-14 Robert Millan <rmh@gnu.org>
11143
11144 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
11145 filesystem is not ZFS.
11146
11147 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
11148
11149 Fix for misspelled color names defaulting to black/black (bug
11150 reported by Doug Nazar)
11151
11152 * include/grub/normal.h (grub_parse_color_name_pair): Add return
11153 status to prototype.
11154 * normal/color.c (grub_parse_color_name_pair): Return failure
11155 status.
11156 (grub_env_write_color_normal): Ignore bad color names.
11157 (grub_env_write_color_highlight): Likewise.
11158 * normal/main.c (GRUB_MOD_INIT): Set default color names.
11159
11160 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
11161
11162 "shift" command support to GRUB script.
11163
11164 * include/grub/script_sh.h (grub_script_shift): New prototype.
11165 * script/execute.c (grub_script_shift): New function.
11166 * script/main.c (grub_script_init): Register shift command.
11167 (grub_script_fini): Unregister shift command.
11168 * util/grub-script-check.c (grub_script_cmd_shift): New function.
11169
11170 * tests/grub_script_shift.in: New testcase.
11171 * conf/tests.rmk: Rules for new testcase.
11172
11173 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
11174
11175 "continue" command support to GRUB script.
11176
11177 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
11178 (grub_script_break): Continue support.
11179 * script/main.c (grub_script_init): Register continue command.
11180 (grub_script_fini): Unregister continue command.
11181
11182 * tests/grub_script_continue.in: New testcase.
11183 * conf/tests.rmk: Rules for new testcase.
11184
11185 2010-08-12 BVK Chaitanya <bvk@dbook>
11186
11187 "break" command support to GRUB script.
11188
11189 * conf/common.rmk: Rule updates to grub-script-check.
11190 * include/grub/misc.h (grub_min): New function.
11191 * include/grub/script_sh.h (grub_script_init): New prototype.
11192 (grub_script_fini): New prototype.
11193 (grub_script_break): New prototype.
11194 * script/main.c (grub_script_init): New function.
11195 (grub_script_fini): New function.
11196 * script/execute.c (grub_script_break): New function.
11197 * normal/main.c: Calls to grub_script_{init,fini}.
11198 * util/grub-script-check.c (grub_script_break): New function.
11199
11200 * tests/grub_script_break.in: New testcase.
11201 * conf/tests.rmk: Rules for new test case.
11202
11203 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
11204
11205 Function parameters support to GRUB script.
11206
11207 * script/yylex.l (VARIABLE): Regular expression update.
11208 * script/function.c (grub_script_function_call): Moved ...
11209 * script/execute.c (grub_script_function_call): ... to here.
11210 (grub_script_execute_arglist_to_argv): Removed.
11211 (grub_script_arglist_to_argv): New function.
11212 * script/argv.c: New file.
11213 (grub_script_argv_free): New function.
11214 (grub_script_argv_next): Likewise.
11215 (grub_script_argv_append): Likewise.
11216 (grub_script_argv_split_append): Likewise.
11217 * include/grub/script_sh.h (grub_script_argv): New struct.
11218 (grub_script_argv_free): New function.
11219 (grub_script_argv_next): Likewise.
11220 (grub_script_argv_append): Likewise.
11221 (grub_script_argv_split_append): Likewise.
11222
11223 * conf/common.rmk (normal.mod): New source script/argv.c.
11224
11225 * tests/grub_script_echo1.in: More tests.
11226 * tests/grub_script_vars1.in: Likewise.
11227 * tests/grub_script_functions.in: New test case.
11228 * conf/tests.rmk: Rules for new testcase.
11229
11230 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
11231
11232 Remove grub_script_cmdblock struct.
11233
11234 * include/grub/script_sh.h: Remove grub_script_cmdblock.
11235 * script/parser.y: Likewise.
11236 * script/execute.c: Rename cmdblock suffix to cmdlist.
11237 * script/script.c: Likewise.
11238 * util/grub-script-check.c: Likewise.
11239
11240 2010-08-11 Yves Blusseau <blusseau@zetam.org>
11241
11242 * .bzrignore: add grub-macho2img
11243
11244 2010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
11245
11246 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
11247
11248 2010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
11249
11250 Remove the dump of sm712 initialisation sequence.
11251
11252 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
11253 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
11254 (GRUB_VGA_IO_MISC_WRITE): Likewise.
11255 (GRUB_VGA_CR_*): Added many registers.
11256 (GRUB_VGA_SR_*): Likewise.
11257 (GRUB_VGA_GR_*): Likewise.
11258 (grub_vga_write_arx): New function.
11259 (grub_video_hw_config): New struct.
11260 (grub_vga_set_geometry): New function.
11261 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
11262 GRUB_PCI_CLASS_SUBCLASS_VGA.
11263 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
11264 * video/sm712.c (grub_sm712_write_reg): New function
11265 (grub_sm712_read_reg): Likewise.
11266 (grub_sm712_sr_write): Likewise.
11267 (grub_sm712_gr_write): Likewise.
11268 (grub_sm712_cr_write): Likewise.
11269 (grub_sm712_write_arx): Likewise.
11270 (grub_sm712_cr_shadow_write): Likewise.
11271 (grub_sm712_write_dda_lookup): Likewise.
11272 (grub_video_sm712_setup): Initialise the video rather then
11273 blindly replay the dump.
11274 (main) [TEST]: Add a routine to be able to compile as standalone for
11275 tests.
11276 * video/sm712_init.c (sm712_init): Removed.
11277 (sm712_sr_seq1): New array.
11278 (sm712_sr_seq2): Likewise.
11279
11280 2010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
11281
11282 * include/grub/vga.h: Add missing grub/pci.h include.
11283
11284 2010-08-10 Yves Blusseau <blusseau@zetam.org>
11285
11286 * util/grub-macho2img.c (main): fix typo
11287
11288 2010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
11289
11290 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
11291 (grub_vga_gr_read): Likewise.
11292 (grub_vga_cr_write): Likewise.
11293 (grub_vga_cr_read): Likewise.
11294 (grub_vga_sr_write): Likewise.
11295 (grub_vga_sr_read): Likewise.
11296 (grub_vga_palette_read): Likewise.
11297 (grub_vga_palette_write): Likewise.
11298 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
11299 (grub_sm712_sr_read): New function.
11300 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
11301 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
11302
11303 2010-08-09 Robert Millan <rmh@gnu.org>
11304
11305 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
11306 out unused variables on non-ZFS build.
11307
11308 2010-08-08 Robert Millan <rmh@gnu.org>
11309
11310 Fix path generation for sub-filesystems in ZFS.
11311
11312 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
11313 missing slash.
11314
11315 2010-08-08 Robert Millan <rmh@gnu.org>
11316
11317 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
11318
11319 2010-08-08 Robert Millan <rmh@gnu.org>
11320
11321 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
11322 exist, issue a proper error message (rely on `ls' for translated
11323 strings).
11324
11325 2010-08-08 Robert Millan <rmh@gnu.org>
11326
11327 Fix grub-probe invocation.
11328
11329 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
11330
11331 2010-08-04 Robert Millan <rmh@gnu.org>
11332
11333 * configure.ac: Remove checks for getfsstat() and getmntany().
11334 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
11335 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
11336 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
11337 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
11338 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
11339 function.
11340 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
11341 via find_mount_point_from_dir() and getfsstat() / getmntany().
11342
11343 2010-08-04 Robert Millan <rmh@gnu.org>
11344
11345 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
11346 (grub_find_zpool_from_mount_point): Merge into ...
11347 (grub_find_zpool_from_dir): ... this.
11348 * kern/emu/misc.c: Likewise.
11349
11350 * kern/emu/misc.c
11351 (grub_make_system_path_relative_to_its_root): Replace
11352 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
11353 with grub_find_zpool_from_dir().
11354 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
11355
11356 2010-08-04 Robert Millan <rmh@gnu.org>
11357
11358 Support OpenSolaris in ZFS device resolution.
11359
11360 * configure.ac: Check for getmntany().
11361 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
11362 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
11363 support.
11364
11365 2010-08-03 Robert Millan <rmh@gnu.org>
11366
11367 Fix grub-emu build.
11368
11369 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
11370 * include/grub/emu/misc.h: ... here.
11371
11372 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
11373 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
11374
11375 * util/misc.c: Remove `<grub/util/libzfs.h>'.
11376 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
11377 (grub_get_libzfs_handle): Move to ...
11378 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
11379 (grub_get_libzfs_handle): ... here.
11380
11381 2010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
11382
11383 * script/execute.c (grub_script_execute_cmdline): Check for NULL
11384 as command name case.
11385
11386 2010-08-02 Colin Watson <cjwatson@ubuntu.com>
11387
11388 * disk/raid.c (insert_array): Select unique numbers for named arrays
11389 as well, for use as keys in the disk cache.
11390
11391 2010-08-01 Robert Millan <rmh@gnu.org>
11392
11393 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
11394 kFreeBSD device name, except on ZFS where the filesystem label is
11395 used.
11396 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
11397 `/boot/zfs/zpool.cache'.
11398 Set mountfrom kernel variable using ${kfreebsd_device}.
11399
11400 2010-08-01 Robert Millan <rmh@gnu.org>
11401
11402 Make it even harder to use uninitialized `libzfs_handle' (and
11403 make the interface a bit simpler).
11404
11405 * include/grub/util/misc.h (grub_util_init_libzfs)
11406 (libzfs_handle): Remove.
11407 (grub_get_libzfs_handle): New prototype.
11408
11409 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
11410 attribute.
11411 (grub_util_init_libzfs): Remove.
11412 (grub_get_libzfs_handle): New function.
11413
11414 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
11415 grub_get_libzfs_handle() to obtain a libzfs handle instead of
11416 accessing `libzfs_handle' directly.
11417
11418 2010-08-01 Robert Millan <rmh@gnu.org>
11419
11420 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
11421 (grub_find_zpool_from_mount_point): New function prototypes.
11422
11423 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
11424 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
11425
11426 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
11427 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
11428 `static' attribute.
11429
11430 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
11431 finding zpool from mount point into ...
11432 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
11433
11434 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
11435 requested path is part of a ZFS pool, use
11436 grub_find_zpool_from_mount_point() to detect its filesystem name,
11437 and generate a path with `/fsname@path' syntax.
11438
11439 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
11440
11441 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
11442 (void) rather than () so that this is a proper prototype.
11443
11444 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
11445
11446 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
11447
11448 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
11449
11450 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
11451 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
11452
11453 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
11454
11455 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
11456
11457 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
11458
11459 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
11460
11461 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
11462
11463 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
11464 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
11465 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
11466 disable gfxpayload.
11467 (Shell-like scripting): Add real content.
11468 (Serial terminal): Suggest `terminal_input serial; terminal_output
11469 serial' rather than putting the two commands on separate lines,
11470 since console input will be inoperative after the first command.
11471 (menuentry): Document --class, --users, and --hotkey options.
11472 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
11473 Vladimir Serbinenko).
11474
11475 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
11476 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
11477
11478 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
11479
11480 2010-08-01 Robert Millan <rmh@gnu.org>
11481
11482 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
11483 (grub_find_zpool_from_mount_point): New function prototypes.
11484
11485 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
11486 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
11487
11488 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
11489 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
11490 `static' attribute.
11491
11492 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
11493 finding zpool from mount point into ...
11494 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
11495
11496 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
11497 requested path is part of a ZFS pool, use
11498 grub_find_zpool_from_mount_point() to detect its filesystem name,
11499 and generate a path with `/fsname@path' syntax.
11500
11501 2010-08-01 Robert Millan <rmh@gnu.org>
11502
11503 Prevent accidental use of uninitialized libzfs_handle.
11504
11505 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
11506 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
11507 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
11508
11509 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
11510
11511 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
11512 util/grub.d/10_linux.in). Fixes Debian bug #591093.
11513
11514 2010-08-01 Robert Millan <rmh@gnu.org>
11515
11516 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
11517
11518 2010-07-31 Robert Millan <rmh@gnu.org>
11519
11520 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
11521
11522 2010-07-31 Robert Millan <rmh@gnu.org>
11523
11524 * kern/emu/misc.c: Add missing license header.
11525
11526 2010-07-31 Robert Millan <rmh@gnu.org>
11527
11528 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
11529
11530 * include/grub/util/libnvpair.h: Include `<config.h>'.
11531 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
11532 declaring libnvpair prototypes ourselves.
11533 * include/grub/util/libzfs.h: Include `<config.h>'.
11534 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
11535 declaring libzfs prototypes ourselves.
11536
11537 (libzfs_handle): Moved to ...
11538 * include/grub/util/misc.h (libzfs_handle): ... here.
11539 Include `<grub/util/libzfs.h>'.
11540
11541 2010-07-30 Robert Millan <rmh@gnu.org>
11542
11543 * include/grub/emu/misc.h: Add missing license header.
11544
11545 2010-07-30 Robert Millan <rmh@gnu.org>
11546
11547 Enable `grub-probe -t device' resolution on ZFS.
11548
11549 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
11550 * include/grub/util/libnvpair.h: New file.
11551 * include/grub/util/libzfs.h: New file.
11552
11553 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
11554 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
11555 `<grub/util/libnvpair.h>'.
11556 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
11557
11558 (find_mount_point_from_dir): New static function.
11559 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
11560 function.
11561 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
11562 find_root_device_from_libzfs() before ressorting to find_root_device().
11563
11564 * include/grub/util/misc.h (grub_util_init_libzfs): New function
11565 prototype.
11566 * util/misc.c: Include `<grub/util/libzfs.h>'.
11567 (grub_util_init_libzfs): New function.
11568 [HAVE_LIBZFS] (libzfs_handle): New global variable.
11569 [HAVE_LIBZFS] (fini_libzfs): New static function.
11570 (grub_util_init_libzfs): New function.
11571 * util/grub-probe.c (main): Call grub_util_init_libzfs().
11572
11573 2010-07-30 Robert Millan <rmh@gnu.org>
11574
11575 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
11576 (xmalloc, xrealloc, xstrdup, xasprintf): Add
11577 `warn_unused_result' attribute.
11578 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
11579 (grub_xasprintf, grub_xvasprintf): Likewise.
11580 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
11581
11582 2010-07-29 Robert Millan <rmh@gnu.org>
11583
11584 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
11585 (probe): Handle `PRINT_FS_LABEL'.
11586 (main): Handle `-t fs_label'.
11587
11588 2010-07-29 Robert Millan <rmh@gnu.org>
11589
11590 * configure.ac: Remove grub-mkisofs checks.
11591
11592 2010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
11593
11594 * util/ieee1275/grub-install.in: Don't use empty grub_device.
11595 Reported by: Lennart Sorensen.
11596
11597 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
11598
11599 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
11600 prior to terminal_input/terminal_output separation. It's been over 1.5
11601 years and those versions weren't widely deployed.
11602
11603 2010-07-22 Colin Watson <cjwatson@ubuntu.com>
11604
11605 * disk/raid.c (insert_array): Don't count named arrays when looking
11606 for unused array numbers.
11607 Reported and tested by: Michael Guntsche.
11608
11609 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
11610
11611 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
11612 implementation of this so that grub-emu links again, with a note
11613 that this should support hotplugging in the future.
11614
11615 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
11616
11617 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
11618
11619 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
11620
11621 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
11622 handle on failure.
11623 (grub_loopback_close): Remove empty function.
11624 (grub_loopback_dev): Remove close method.
11625
11626 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
11627
11628 Disable EFI cursor when the EFI console becomes inactive.
11629
11630 * term/efi/console.c (grub_efi_console_init): New function.
11631 (grub_efi_console_fini): New function.
11632 (grub_console_term_output): Register init and fini methods.
11633
11634 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
11635
11636 * tests/util/grub-shell-tester.in: Remove bashism and declare as
11637 sh script.
11638
11639 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
11640
11641 * disk/loopback.c (grub_loopback): Replace filename with file.
11642 (delete_loopback): Handle new semantics.
11643 (grub_cmd_loopback): Likewise.
11644 (grub_loopback_iterate): Likewise.
11645 (grub_loopback_close): Likewise.
11646
11647 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
11648
11649 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
11650 with -p "".
11651 Reported by: Tito Keitel.
11652
11653 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
11654
11655 * docs/grub.texi (Naming convention): Document new naming convention.
11656
11657 2010-07-20 Vadim Solomin <vadic052@gmail.com>
11658 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
11659
11660 Generate device.map in something closer to the old ordering.
11661
11662 * util/deviceiter.c (struct device): New declaration.
11663 (compare_file_names): Rename to ...
11664 (compare_devices): ... this. Sort by kernel name in preference to
11665 the stable by-id name, but keep the latter as a fallback comparison.
11666 Update header comment.
11667 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
11668 of `struct device' rather than of plain file names.
11669
11670 2010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
11671
11672 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
11673 on i386.
11674
11675 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
11676
11677 * commands/acpi.c (setup_common_tables): Use sizeof instead of
11678 hardcoding size.
11679 (setv1table): Likewise.
11680
11681 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
11682
11683 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
11684 removing the homehost if present.
11685 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
11686 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
11687 removing the homehost if present.
11688 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
11689 if possible.
11690 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
11691
11692 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
11693 parameter. Set its pointer target to 0.
11694 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
11695 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
11696 `data_offset' value from the superblock for 1.x metadata.
11697 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
11698 data on the device.
11699 (insert_array): Record the start sector of data on the device.
11700 (grub_raid_register): Pass start_sector parameters to
11701 grub_raid_list->detect and insert_array.
11702 * include/grub/raid.h (struct grub_raid_array): Add start_sector
11703 member.
11704 (struct grub_raid): Add start_sector parameter to `detect'.
11705
11706 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
11707 __attribute__ ((packed)), leaving a comment.
11708 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
11709 (grub_mdraid_detect_09): ... here and ...
11710 (grub_mdraid_detect_1x): ... here.
11711
11712 2010-07-20 Peter Henn <peter.henn@web.de>
11713
11714 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
11715 chunk size and disk size, which are already given as sector counts
11716 as distinct from the 0.90 units. Fetch the correct device number
11717 from the role table instead of using the table index.
11718
11719 2010-07-20 Felix Zielcke <fzielcke@z-51.de>
11720
11721 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
11722 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
11723 (WriteMostly1): New macro.
11724 Set array->name to NULL for metadata format 0.90. Add support for
11725 metadata 1.x. Fix some comments.
11726 * disk/raid.c (): Add support for name based RAID arrays. Fix a
11727 few comments.
11728 * util/getroot.c (grub_util_get_grub_dev): Add support for
11729 /dev/md/name style devices.
11730
11731 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
11732
11733 * .bzrignore: Ignore 20_linux_xen.
11734
11735 2010-07-17 Colin Watson <cjwatson@ubuntu.com>
11736
11737 * util/import_unicode.py: Remove unnecessary imports.
11738
11739 2010-07-17 Aleš Nesrsta <starous@volny.cz>
11740
11741 Hotplugging and USB hub support.
11742
11743 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
11744 (grub_ohci): Likewise.
11745 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
11746 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
11747 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
11748 (GRUB_OHCI_CTRL_EDS): Likewise.
11749 (GRUB_OHCI_BULK_EDS): Likewise.
11750 (GRUB_OHCI_TDS): Likewise.
11751 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
11752 (grub_ohci_ed_phys2virt): New function.
11753 (grub_ohci_virt_to_phys): Likewise.
11754 (grub_ohci_td_phys2virt): Likewise.
11755 (grub_ohci_td_virt2phys): Likewise.
11756 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
11757 attachment.
11758 (grub_ohci_find_ed): New function.
11759 (grub_ohci_alloc_td): Likewise.
11760 (grub_ohci_free_td): Likewise.
11761 (grub_ohci_free_tds): Likewise.
11762 (grub_ohci_transfer): Use previously allocated memory.
11763 (grub_ohci_portstatus): Reset status changed bit.
11764 (grub_ohci_detect_dev): Supply status changed.
11765 (grub_ohci_fini_hw): Free memory.
11766 (grub_ohci_restore_hw): Reallocate memory.
11767 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
11768 Reset status change.
11769 (grub_uhci_detect_dev): Supply status_change.
11770 * bus/usb/usb.c (attach_hooks): New var.
11771 (grub_usb_device_attach): New function.
11772 (grub_usb_register_attach_hook_class): Likewise.
11773 (grub_usb_unregister_attach_hook_class): Likewise.
11774 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
11775 (grub_usb_add_hub): Reset connection changed bit.
11776 (attach_root_port): New function.
11777 (grub_usb_root_hub): Likewise.
11778 (poll_nonroot_hub): Likewise.
11779 (grub_usb_poll_devices): Likewise.
11780 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
11781 * disk/usbms.c (grub_usbms_open): Use device hooks.
11782 (grub_usbms_iterate) :Poll devices.
11783 (grub_usbms_finddevs): Split into ...
11784 (grub_usbms_attach): ... this ...
11785 (grub_usbms_attach): ... and this.
11786 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
11787 in detect_dev.
11788 (grub_usb_interface): New fields attached and detach_hook.
11789 (grub_usb_attach_hook_class): New type.
11790 (grub_usb_attach_desc): New struct.
11791 (grub_usb_register_attach_hook_class): New function.
11792 (grub_usb_unregister_attach_hook_class): Likewise.
11793 (grub_usb_poll_devices): Likewise.
11794 (grub_usb_device_attach): Likewise.
11795 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
11796 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
11797
11798 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
11799
11800 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
11801 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
11802 delta determination style. Works with most NetBSD partitions too.
11803
11804 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
11805
11806 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
11807 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
11808
11809 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
11810
11811 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
11812
11813 2010-07-14 Anton Blanchard <anton@samba.org>
11814
11815 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
11816 ET_DYN files.
11817
11818 2010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
11819
11820 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
11821
11822 2010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
11823
11824 * kern/partition.c (grub_partition_check_containment): New function to
11825 check that a partition is physically contained in a parent. Since
11826 offsets are relative (and non-negative), this reduces to checking that
11827 the partition ends before its parent.
11828 (grub_partition_map_probe): Discard out-of-range sub-partitions.
11829 (grub_partition_iterate): Likewise.
11830 * include/grub/partition.h (grub_partition_map): Slightly more detailed
11831 comments.
11832 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
11833 partitions that start before their parent, and add debug printfs.
11834
11835 2010-07-13 Colin Watson <cjwatson@ubuntu.com>
11836
11837 * Makefile.in (.SUFFIX): Spell correctly, as ...
11838 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
11839 bare module name without `.mod', e.g. `test') tried to invoke a
11840 Modula-2 compiler.
11841
11842 2010-07-13 Colin Watson <cjwatson@ubuntu.com>
11843
11844 * README: Point to the Info manual.
11845
11846 2010-07-13 Jiro SEKIBA <jir@unicus.jp>
11847
11848 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
11849 2nd superblock position from partition size.
11850
11851 2010-07-10 Colin Watson <cjwatson@ubuntu.com>
11852
11853 * Makefile.in (MAINTAINER_CLEANFILES): Remove
11854 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
11855 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
11856 outputs.
11857
11858 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
11859
11860 Restructure SCSI .id handling.
11861 Reported and tested by: Aleš Nesrsta.
11862
11863 * disk/ata.c (grub_atapi_close): Removed. All users updated.
11864 (grub_atapi_dev): Changed .name to "ata". New field .id.
11865 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
11866 (grub_usbms_dev): New field .id.
11867 * disk/scsi.c (grub_scsi_iterate): Generate name.
11868 (grub_scsi_open): Parse name.
11869 * include/grub/scsi.h (grub_make_scsi_id): New function.
11870 (grub_scsi_dev): Change iterate and open to number instead of naming
11871 busses. All users updated.
11872 (grub_scsi): Remove name. Add .bus.
11873
11874 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
11875
11876 * commands/help.c (grub_cmd_help): Fix a typo.
11877
11878 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
11879
11880 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
11881 Reported and tested by: Colin Watson.
11882
11883 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
11884
11885 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
11886 in this context.
11887
11888 2010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
11889
11890 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
11891
11892 2010-07-07 Colin Watson <cjwatson@ubuntu.com>
11893
11894 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
11895 indentation.
11896
11897 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
11898
11899 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
11900 and disk/raid6_recover.c.
11901 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
11902 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
11903
11904 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
11905
11906 * term/gfxterm.c (repaint_schedulded): Rename to ...
11907 (repaint_scheduled): ... this. Update all callers.
11908 (repaint_was_schedulded): Rename to ...
11909 (repaint_was_scheduled): ... this. Update all callers.
11910
11911 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
11912
11913 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
11914 which we expect to be handled by upper layers.
11915
11916 2010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
11917
11918 * bus/usb/usbhub.c: #include time.h header.
11919
11920 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
11921
11922 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
11923 entry_name also for entries without stat blocks (e.g. ".."); fixes
11924 corruption of the first entry in a directory.
11925
11926 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
11927
11928 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
11929 after setting gfxterm as the active terminal. GRUB_BACKGROUND
11930 doesn't work otherwise.
11931
11932 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
11933
11934 * docs/grub.texi (Features): Update list of supported file systems.
11935 (GNU/Linux): Update for GRUB 2.
11936 (Serial terminal): Remove mention of --disable-serial, which was a
11937 GRUB Legacy configure option. Update instructions to use
11938 `terminal_input' and `terminal_output' rather than `terminal'.
11939 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
11940 configuration' and `Installing GRUB using grub-install'.
11941 (Menu entry editor): Update for GRUB 2.
11942 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
11943 Document new -a, -u, and -v options.
11944 (initrd): New section.
11945 (initrd16): New section.
11946 (linux): New section.
11947 (linux16): New section.
11948 (search): The `var' argument to `--set' is optional.
11949 (GRUB only offers a rescue shell): Go into a little more detail on
11950 drive ordering.
11951
11952 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
11953
11954 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
11955
11956 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
11957
11958 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
11959 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
11960
11961 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
11962
11963 * util/i386/pc/grub-setup.c (setup): Rename prefix to
11964 install_prefix, in line with install_dos_part and install_bsd_part.
11965 Add new prefix variable, which is copied to install_prefix after
11966 comparing core.img in memory with the one read from disk in the
11967 no-embedding case, and use that rather than overwriting
11968 install_prefix immediately when installing to a partition.
11969 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
11970 Bicakci.
11971
11972 2010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
11973
11974 * configure.ac: Avoid == in test command, it's not portable.
11975 * util/grub.d/30_os-prober.in: Likewise.
11976
11977 2010-07-04 Colin Watson <cjwatson@ubuntu.com>
11978
11979 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
11980
11981 2010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
11982
11983 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
11984 multiple (top-level) partmaps.
11985
11986 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
11987
11988 * util/i386/efi/grub-install.in: Don't use empty grub_device.
11989 Reported by: Tino Keitel.
11990
11991 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
11992
11993 Bidi and diacritics support.
11994
11995 * Makefile.in (widthspec.bin): New target.
11996 (widthspec.h): Likewise.
11997 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
11998 * autogen.sh: Generate unidata.c.
11999 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
12000 * commands/ls.c (grub_ls_list_devices): Likewise.
12001 (grub_ls_list_files): Likewise.
12002 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
12003 (grub_mini_cmd_lsmod): Likewise.
12004 * commands/read.c: Likewise.
12005 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
12006 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
12007 * lib/arg.c (grub_arg_show_help): Likewise.
12008 * lib/crypto.c (grub_password_get): Likewise.
12009 * normal/auth.c (grub_username_get): Likewise.
12010 * normal/misc.c (grub_normal_print_device_info): Likewise.
12011 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
12012 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
12013 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
12014 (normal/charset.c_DEPENDENCIES): New variable.
12015 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
12016 (pkglib_MODULES): Remove charset.mod.
12017 (charset_mod_SOURCES): Removed.
12018 (charset_mod_CFLAGS): Likewise.
12019 (charset_mod_LDFLAGS): Likewise.
12020 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
12021 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
12022 and term/tparm.c.
12023 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
12024 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
12025 (kernel_img_HEADERS): Add terminfo.h.
12026 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
12027 Fill ->font. Reverse ascii bitmaps.
12028 (grub_font_get_xheight): New function.
12029 * font/font.c (grub_font_get_string_width): Moved from here ...
12030 * gfxmenu/font.c (grub_font_get_string_width): ... here.
12031 * font/font.c (grub_font_draw_string): Moved from here ...
12032 * gfxmenu/font.c (grub_font_draw_string): ... here.
12033 * font/font.c (grub_font_dup_glyph): New function.
12034 (grub_font_blit_glyph): Likewise.
12035 (grub_font_blit_glyph_mirror): Likewise.
12036 (blit_comb): Likewise.
12037 (grub_font_construct_dry_run): Likewise.
12038 (grub_font_get_constructed_device_width): Likewise.
12039 (grub_font_construct_glyph): Likewise.
12040 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
12041 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
12042 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
12043 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
12044 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
12045 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
12046 (grub_font_get_xheight): New proto.
12047 (grub_font_get_constructed_device_width): Likewise.
12048 (grub_font_construct_glyph): Likewise.
12049 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
12050 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
12051 * include/grub/font.h (grub_font_draw_string): Moved from here ...
12052 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
12053 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
12054 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
12055 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
12056 (grub_console_getcharwidth): Likewise.
12057 * include/grub/misc.h (grub_xputs): New proto.
12058 (grub_puts): Inlined.
12059 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
12060 (grub_normal_get_line_counter): Removed.
12061 (grub_install_newline_hook): Likewise.
12062 (grub_normal_get_char_counter): New proto.
12063 (grub_normal_reset_more): Likewise.
12064 (grub_xputs_normal): Likewise.
12065 * include/grub/powerpc/ieee1275/console.h: Removed.
12066 * include/grub/sparc64/ieee1275/console.h: Likewise.
12067 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
12068 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
12069 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
12070 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
12071 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
12072 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
12073 (grub_term_input): Pass reference to self. All users updated.
12074 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
12075 Pass reference to self. New fields normal_color, highlight_color and
12076 data. All users updated.
12077 (grub_putchar): Removed.
12078 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
12079 (grub_unicode_estimate_width): New function.
12080 (grub_term_getcharwidth): Add defaults.
12081 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
12082 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
12083 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
12084 (grub_cls): Remove EXPORT_FUNC.
12085 (grub_setcolorstate): Inline.
12086 (grub_newline_hook): Removed.
12087 * include/grub/terminfo.h: Rewritten. All users updated.
12088 * include/grub/unicode.h: New file.
12089 * include/grub/video.h (grub_video_signed_rect): New type.
12090 * kern/emu/console.c (grub_console_highlight_color): Removed.
12091 (grub_console_normal_color): Likewise.
12092 (grub_console_standard_color): Made static.
12093 (grub_ncurses_putchar): Remove mapping.
12094 (grub_ncurses_getcharwidth): Removed.
12095 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
12096 (grub_ncurses_setcolor): Removed.
12097 (grub_ncurses_getcolor): Likewise.
12098 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
12099 (grub_console_putchar): ... this.
12100 (grub_console_putchar): Handle argument difference.
12101 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
12102 console_init_early and console_init_lately.
12103 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
12104 * kern/misc.c (grub_puts): Removed.
12105 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
12106 (grub_vsnprintf_real): Remove str = NULL support.
12107 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
12108 * normal/charset.c (grub_utf8_to_ucs4): ... here.
12109 * kern/term.c (grub_putcode): Renamed to ...
12110 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
12111 (grub_putchar): Removed.
12112 (grub_xputs_dumb): New function.
12113 (grub_xputs): New variable.
12114 * lib/charset.c: Move from here ...
12115 * normal/charset.c: ... to here.
12116 (grub_ucs4_to_utf8): New function.
12117 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
12118 (join_types): New variable.
12119 (unpack_join): New function.
12120 (bidi_types): New variable.
12121 (unpack_bidi): New function.
12122 (get_bidi_type): Likewise.
12123 (get_join_type): Likewise.
12124 (is_mirrored): Likewise.
12125 (grub_unicode_get_comb_type): Likewise.
12126 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
12127 (is_type_after): Likewise.
12128 (grub_unicode_aglomerate_comb): Likewise.
12129 (bidi_line_wrap): Likewise.
12130 (grub_bidi_line_logical_to_visual): Likewise.
12131 (grub_bidi_logical_to_visual): Likewise.
12132 (grub_unicode_mirror_code): Likewise.
12133 (grub_unicode_shape_code): Likewise.
12134 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
12135 Don't use grub_putchar.
12136 * normal/main.c (grub_normal_init_page): Use grub_putcode.
12137 (grub_normal_reader_init): Likewise.
12138 (grub_xputs_saved): New variable.
12139 (GRUB_MOD_INIT): Set grub_xputs.
12140 (GRUB_MOD_FINI): Restore grub_xputs.
12141 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
12142 (menu_init): Avoid printing gfxmenu error.
12143 (show_menu): Use grub_normal_get_char_counter.
12144 * normal/menu_entry.c (update_screen): Fix out-of-array.
12145 (complete): Avoid NULL dereferencing.
12146 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
12147 * normal/menu_text.c (print_spaces): Removed.
12148 (grub_print_ucs4): Likewise.
12149 (grub_print_message_indented): Use grub_print_ucs4.
12150 (print_message): Use grub_putcode.
12151 (print_entry): Hanlde diacritics.
12152 * normal/term.c (term_state): New type.
12153 (grub_more_lines): Removed.
12154 (term_states): New variable.
12155 (grub_normal_line_counter): Renamed to ..
12156 (grub_normal_char_counter): ...this. All users updated.
12157 (grub_normal_get_line_counter): Renamed to ...
12158 (grub_normal_get_char_counter): ... this.
12159 (grub_normal_reset_more): New function.
12160 (process_newline): Removed.
12161 (print_more): New function.
12162 (grub_install_newline_hook): Removed.
12163 (map_code): New function.
12164 (grub_puts_terminal): Use grub_print_ucs4.
12165 (putglyph): New function.
12166 (putcode_real): Likewise.
12167 (grub_putcode): Use putcode_real.
12168 (get_maxwidth): New function.
12169 (get_startwidth): Likewise.
12170 (print_ucs4_terminal): Likewise.
12171 (find_term_state): Likewise.
12172 (put_glyphs_terminal): Likewise.
12173 (print_backlog): Likewise.
12174 (print_ucs4_real): Likewise.
12175 (grub_print_ucs4): Likewise.
12176 (grub_xputs_normal): Likewise.
12177 * term/efi/console.c (grub_console_putchar): Output diacritics.
12178 (grub_console_getcharwidth): Removed.
12179 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
12180 * term/gfxterm.c (clear_char): Free chars.
12181 (scroll_up): Avoid leaking memory.
12182 (grub_gfxterm_putchar): Support diacritics.
12183 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
12184 * term/i386/pc/console.c (grub_console_term_output): Declare as
12185 GRUB_TERM_CODE_TYPE_VGA.
12186 * term/i386/pc/vga.c (grub_vga_term): Declare as
12187 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
12188 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
12189 GRUB_TERM_CODE_TYPE_VGA.
12190 * term/i386/vga_common.c (map_char): Removed.
12191 (grub_console_putchar): Likewise.
12192 (grub_console_getcharwidth): Likewise.
12193 * term/ieee1275/ofconsole.c: Simplify using terminfo.
12194 (colors): Reordered to match terminfo.
12195 (grub_ofconsole_normal_color): Removed.
12196 (grub_ofconsole_writeesc): Likewise.
12197 (grub_ofconsole_highlight_color): Likewise.
12198 (grub_ofconsole_getcharwidth): Likewise.
12199 (grub_ofconsole_setcolorstate): Likewise.
12200 (grub_ofconsole_setcolor): Likewise.
12201 (grub_ofconsole_getcolor): Likewise.
12202 (grub_ofconsole_readkey): Renamed to ...
12203 (readkey): ... this. Remove escape sequence handling. Return -1 on no
12204 key.
12205 (grub_ofconsole_checkkey): Removed.
12206 (grub_ofconsole_getkey): Likewise.
12207 (grub_ofconsole_getxy): Likewise.
12208 (grub_ofconsole_gotoxy): Likewise.
12209 (grub_ofconsole_cls): Likewise.
12210 (grub_ofconsole_refresh): Likewise.
12211 (grub_ofconsole_terminfo_input): New struct.
12212 (grub_ofconsole_terminfo_output): Likewise.
12213 (grub_ofconsole_term_input): Use terminfo.
12214 (grub_ofconsole_term_output): Likewise.
12215 (grub_console_init): Split into ...
12216 (grub_console_init_early): ...this and ...
12217 (grub_console_init_lately): ...this. Use terminfo.
12218 (grub_ofconsole_putchar): Renamed to ...
12219 (put): ... this. Remove mapping.
12220 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
12221 * term/serial.c: Simplify using terminfo.
12222 (xpos): Removed.
12223 (ypos): Likewise.
12224 (keep_track): Likewise.
12225 (registered): Likewise.
12226 (input_buf): Likewise.
12227 (npending): Likewise.
12228 (serial_translate_key_sequence): Likewise.
12229 (fill_input_buf): Likewise.
12230 (grub_serial_checkkey): Likewise.
12231 (grub_serial_getkey): Likewise.
12232 (grub_serial_getxy): Likewise.
12233 (grub_serial_gotoxy): Likewise.
12234 (grub_serial_putchar): Likewise.
12235 (grub_serial_cls): Likewise.
12236 (grub_serial_setcolorstate): Likewise.
12237 (grub_serial_setcursor): Likewise.
12238 (serial_hw_init): Use serial_hw_fetch.
12239 (grub_serial_terminfo_input): New variable.
12240 (grub_serial_terminfo_output): Likewise.
12241 (grub_serial_term_input): Use terminfo.
12242 (grub_serial_term_output): Likewise.
12243 * term/terminfo.c (putstr): Use put.
12244 (grub_terminfo_all_free): New function
12245 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
12246 (grub_terminfo_output_register): New function.
12247 (grub_terminfo_output_unregister): Likewise.
12248 (grub_terminfo_getxy): Likewise.
12249 (grub_terminfo_readkey): Likewise.
12250 (grub_terminfo_checkkey): Likewise.
12251 (grub_terminfo_getkey): Likewise.
12252 (grub_terminfo_input_init): Likewise.
12253 (print_terminfo): Likewise.
12254 (grub_cmd_terminfo): Handle encoding.
12255 (grub_terminfo_gotoxy): Track position.
12256 (grub_terminfo_cls): Likewise.
12257 (grub_terminfo_putchar): Likewise.
12258 (grub_terminfo_setcolorstate): Handle colors
12259 (grub_terminfo_cursor_on): This ...
12260 (grub_terminfo_cursor_off): ... and this merged into ...
12261 (grub_terminfo_setcursor): ... this.
12262 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
12263 * unicode/ArabicShaping.txt: New file (imported from Unicode).
12264 * unicode/BidiMirroring.txt: Likewise.
12265 * unicode/UnicodeData.txt: Likewise.
12266 * unicode/COPYING: Likewise.
12267 * util/grub-editenv.c (grub_putchar): Removed.
12268 (grub_xputs_real): New function.
12269 (grub_xputs): New variable.
12270 * util/grub-fstest.c (grub_putchar): Removed.
12271 (grub_xputs_real): New function.
12272 (grub_xputs): New variable.
12273 * util/grub-mkdevicemap.c (grub_putchar): Removed.
12274 (grub_xputs_real): New function.
12275 (grub_xputs): New variable.
12276 * util/grub-probe.c (grub_putchar): Removed.
12277 (grub_xputs_real): New function.
12278 (grub_xputs): New variable.
12279 * util/grub-script-check.c (grub_putchar): Removed.
12280 (grub_xputs_real): New function.
12281 (grub_xputs): New variable.
12282 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
12283 (grub_xputs_real): New function.
12284 (grub_xputs): New variable.
12285 * util/import_unicode.py: New file.
12286 * util/grub-mkfont.c (ft_errmsgs): New array.
12287 (grub_glyph_info): Make bitmap a pointer.
12288 (file_formats): New type WIDTH_SPEC.
12289 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
12290 (options): Add width-spec.
12291 (help): Likewise.
12292 (add_char): Renamed to ...
12293 (add_glyph): ... this.
12294 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
12295 (glyph_replace): New type.
12296 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
12297 (add_char): New function.
12298 (add_subst): Likewise.
12299 (process_cursive): Likewise.
12300 (add_font): Handle GSUB.
12301 (write_font_width_spec): New function.
12302 (main): Sort glyphs.
12303 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
12304 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
12305 * kern/term.c (grub_cls): Moved from here...
12306 * normal/term.c (grub_cls): ... here.
12307
12308 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
12309
12310 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
12311 suitable for using within the format argument of printf when
12312 converting grub_size_t.
12313 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
12314 "x" to convert grub_size_t arguments.
12315
12316 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
12317
12318 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
12319 too long captions.
12320 (list_get_minimal_size): Take selection box into account.
12321
12322 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
12323
12324 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
12325 NULL font.
12326
12327 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
12328
12329 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
12330 devices when iterating over /dev/disk/by-id; they will be handled
12331 later if appropriate, which they aren't always (e.g. LVM).
12332
12333 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
12334
12335 * include/grub/misc.h (grub_reboot): Declare as noreturn.
12336 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
12337 fails.
12338 (grub_halt): Likewise.
12339 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
12340 reset-all fails.
12341 (grub_halt): Don't return, even if all of shut-down, power-off, and
12342 poweroff fail.
12343
12344 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
12345
12346 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
12347 arguments, not three.
12348
12349 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
12350
12351 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
12352 * util/grub.d/10_linux.in: Use it to check for LVM, so that
12353 LVM-on-RAID is handled correctly.
12354
12355 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
12356
12357 * docs/grub.texi (Changes from GRUB Legacy): New section.
12358 (Future): Fix typo.
12359
12360 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
12361
12362 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
12363 grub.d/README accidentally ends up executable for one reason or
12364 another. Ignore it.
12365
12366 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
12367
12368 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
12369 (gpt_partition_map_iterate): Support non-512B sectors.
12370
12371 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
12372
12373 * kern/efi/init.c (grub_efi_init): Disable watchdog.
12374 Tested by: Seth Goldberg.
12375
12376 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
12377
12378 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
12379 Properly align mbi.
12380 Reported by: Seth Goldberg.
12381
12382 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
12383
12384 * util/grub-mkrescue.in: Avoid module duplication.
12385
12386 2010-07-01 Sean Finney <seanius@seanius.net>
12387
12388 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
12389
12390 2010-07-01 Sean Finney <seanius@seanius.net>
12391
12392 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
12393
12394 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
12395
12396 * disk/lvm.c (grub_lvm_checkvalue): New function.
12397 (grub_lvm_check_flag): Likewise.
12398
12399 2010-07-01 Robert Millan <rmh@gnu.org>
12400
12401 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
12402 Support 'p' as partition separator on kernel of FreeBSD (used
12403 with GPT labels).
12404 (grub_util_biosdisk_get_grub_dev): Likewise.
12405
12406 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
12407
12408 Yeeloong firmware port.
12409
12410 * boot/mips/yeeloong/fwstart.S: New file.
12411 * bus/cs5536.c (gpiodump): New const.
12412 (set_io_space): New function.
12413 (set_iod): Likewise.
12414 (set_p2d): Likewise.
12415 (grub_cs5536_init_geode): Likewise.
12416 * commands/mips/yeeloong/lsspd.c: New file.
12417 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
12418 (serial_mod_SOURCES): New variable.
12419 (serial_mod_CFLAGS): Likewise.
12420 (serial_mod_LDFLAGS): Likewise.
12421 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
12422 term/terminfo.c and term/tparm.c.
12423 (pkglib_IMAGES): Add fwstart.img.
12424 (fwstart_img_SOURCES): New variable.
12425 (fwstart_img_CFLAGS): Likewise.
12426 (fwstart_img_ASFLAGS): Likewise.
12427 (fwstart_img_LDFLAGS): Likewise.
12428 (fwstart_img_FORMAT): Likewise.
12429 (pkglib_MODULES): Add lsspd.mod.
12430 (lsspd_mod_SOURCES): New variable.
12431 (lsspd_mod_CFLAGS): Likewise.
12432 (lsspd_mod_LDFLAGS): Likewise.
12433 (pkglib_MODULES): Add halt.mod.
12434 (halt_mod_SOURCES): New variable.
12435 (halt_mod_CFLAGS): Likewise.
12436 (halt_mod_LDFLAGS): Likewise.
12437 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
12438 (serial_mod_SOURCES): Removed.
12439 (serial_mod_CFLAGS): Likewise.
12440 (serial_mod_LDFLAGS): Likewise.
12441 * disk/ata.c (check_device): New function.
12442 (grub_ata_device_initialize): Use check_device.
12443 (grub_ata_iterate): Recheck devices.
12444 (grub_ata_open): Likewise.
12445 (grub_atapi_iterate): Likewise.
12446 (grub_atapi_open): Likewise.
12447 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
12448 (GRUB_ATA_CH1_PORT1): Likewise.
12449 (GRUB_ATA_CH0_PORT2): Likewise.
12450 (GRUB_ATA_CH1_PORT2): Likewise.
12451 * include/grub/mips/loongson.h: New file.
12452 * include/grub/mips/yeeloong/ec.h: Likewise.
12453 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
12454 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
12455 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
12456 * include/grub/misc.h (grub_halt): Declare as noreturn.
12457 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
12458 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
12459 (UART_ENABLE_FIFO_TRIGGER1): New definition.
12460 (UART_ENABLE_DTRRTS): Likewise.
12461 (UART_ENABLE_MODEM): Removed.
12462 (UART_ENABLE_OUT2): New const.
12463 * include/grub/term.h (grub_term_register_input_active): New function.
12464 (grub_term_register_output_active): Likewise.
12465 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
12466 argument.
12467 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
12468 (init_pci): New function.
12469 (grub_machine_init): Execute platform init when firmware. Init serial.
12470 (grub_halt): Implement.
12471 (grub_exit): Likewise.
12472 (grub_reboot): Likewise.
12473 * term/serial.c (serial_hw_init): Update macros.
12474 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
12475 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
12476 (image_targets): New target mipsel-yeeloong-flash.
12477 (generate_image): Support IMAGE_YEELOONG_FLASH.
12478 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
12479 (grub_video_sm712_setup): Init card.
12480 (grub_video_sm712_set_palette): Removed.
12481 * video/sm712_init.c: New file.
12482
12483 2010-06-30 Colin Watson <cjwatson@ubuntu.com>
12484
12485 * Makefile.in (install-local): Temporarily prepend $(builddir) to
12486 PATH when running help2man and then run it on the unadorned
12487 executable names, rather than passing $(builddir)/* paths to
12488 help2man. This avoids the build directory ending up in generated
12489 manual pages.
12490
12491 2010-06-29 Colin Watson <cjwatson@ubuntu.com>
12492
12493 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
12494 to avoid accidents when debugging with 'sh -x'.
12495 * util/grub-mkrescue.in: Likewise.
12496 * util/grub.d/00_header.in: Likewise.
12497 * util/grub.d/10_hurd.in: Likewise.
12498 * util/grub.d/10_kfreebsd.in: Likewise.
12499 * util/grub.d/10_linux.in: Likewise.
12500 * util/grub.d/10_netbsd.in: Likewise.
12501 * util/grub.d/10_windows.in: Likewise.
12502 * util/grub.d/20_linux_xen.in: Likewise.
12503 * util/grub.d/30_os-prober.in: Likewise.
12504 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
12505
12506 2010-06-29 Colin Watson <cjwatson@ubuntu.com>
12507
12508 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
12509 last character in the buffer.
12510 Reported by: Vladimir Serbinenko.
12511
12512 2010-06-29 Robert Millan <rmh@gnu.org>
12513
12514 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
12515 (Command-line and menu entry commands): Document `badram' command.
12516
12517 2010-06-28 Robert Millan <rmh@gnu.org>
12518
12519 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
12520 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
12521 command using ${GRUB_BADRAM} as parameter.
12522
12523 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
12524
12525 * docs/grub.texi (Device map): New section.
12526 (Themes): New section (stub).
12527 * Makefile.in (docs/grub.info): The info documentation now builds
12528 without errors. Make sure it stays that way.
12529
12530 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
12531
12532 Use normal parser for menu entries.
12533 Reported by: Thomas Frauendorfer
12534
12535 * include/grub/parser.h (grub_parser_execute): Don't export.
12536 * normal/menu.c (grub_menu_execute_entry_real): New function.
12537 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
12538
12539 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
12540
12541 * docs/grub.texi (Embedded configuration): New section (replacing
12542 old "Preset Menu" stub).
12543 (Images): New section.
12544 (configfile): Note that any menu entries defined in `file' are shown
12545 immediately.
12546
12547 2010-06-28 Josh Triplett <josh@joshtriplett.org>
12548
12549 * mmap/i386/pc/mmap_helper.S: Set CF on return.
12550
12551 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
12552
12553 * util/grub-install.in: Add --debug-image= option.
12554
12555 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
12556
12557 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
12558 possible on Linux.
12559
12560 * util/deviceiter.c (check_device): Rename to ...
12561 (check_device_readable_unique): ... this. Update all callers.
12562 Maintain and check a list of which devices (by canonicalized name)
12563 have already been seen.
12564 (clear_seen_devices): New function.
12565 (compare_file_names) [__linux__]: New function.
12566 (grub_util_iterate_devices): Clear the list of seen devices on exit
12567 and (just in case) on entry.
12568 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
12569 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
12570 seen-devices list, superseded by general code in check_device.
12571
12572 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
12573
12574 * commands/cat.c (options): New variable.
12575 (grub_cmd_cat): Parse options. If the --dos option is given, print
12576 DOS-style "\r\n" line endings as simple newlines (Debian bug
12577 #586358).
12578 (GRUB_MOD_INIT): Use extcmd.
12579 (GRUB_MOD_FINI): Likewise.
12580 * docs/grub.texi (cat): Document --dos.
12581
12582 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
12583
12584 XEN with Linux grub-mkconfig support.
12585
12586 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
12587 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
12588 GRUB_CMDLINE_XEN_DEFAULT.
12589 * util/grub.d/20_linux_xen.in: New file.
12590
12591 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
12592
12593 Initialise VGA video on qemu ourselves.
12594
12595 * boot/i386/qemu/boot.S: Don't call 0xc000.
12596 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
12597 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
12598 (kernel_img_HEADERS): Add pci.h.
12599 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
12600 * configure.ac: Force unifont on qemu and yeeloong.
12601 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
12602 (grub_vga_palette_write): Use correct register.
12603 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
12604 Call grub_qemu_init_cirrus.
12605 * kern/i386/qemu/init.c: New file.
12606 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
12607
12608 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
12609
12610 2010-06-26 Pavel Roskin <proski@gnu.org>
12611
12612 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
12613 13.
12614
12615 2010-06-26 Colin Watson <cjwatson@ubuntu.com>
12616
12617 * docs/grub.texi (Simple configuration): Explain that
12618 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
12619 set to `true' to disable their respective recovery entries, not
12620 merely set.
12621
12622 2010-06-26 Colin Watson <cjwatson@ubuntu.com>
12623
12624 Make the `source' command slightly faster.
12625
12626 * normal/main.c (grub_normal_execute): Don't re-read list files when
12627 nested.
12628
12629 2010-06-23 Colin Watson <cjwatson@ubuntu.com>
12630
12631 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
12632 field position and mask size to red fields from mode_info, not
12633 green.
12634 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
12635 Remove redundant tag->common.framebuffer_type assignment.
12636 Reported by: Seth Goldberg.
12637
12638 2010-06-23 Colin Watson <cjwatson@ubuntu.com>
12639
12640 Sync up other versions of the Linux loader with Robert Millan's
12641 change of 2010-01-09, "Make loader output a bit more user-friendly".
12642
12643 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
12644 grub_dprintf().
12645 (grub_cmd_linux): Likewise.
12646 (grub_cmd_initrd): Likewise.
12647 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
12648 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
12649
12650 2010-06-21 Colin Watson <cjwatson@ubuntu.com>
12651
12652 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
12653 larger than MEMORY_MAP_SIZE.
12654
12655 2010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
12656
12657 Fix parallel build.
12658
12659 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
12660 dependency.
12661 * script/parser.y: #include grub_script.tab.h header.
12662
12663 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
12664
12665 Support >3GiB and <16MiB RAM in i386-qemu.
12666
12667 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
12668 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
12669 (grub_lower_mem): Removed.
12670 (grub_upper_mem): Likewise.
12671 (mem_size): Made static.
12672 (above_4g): New variable.
12673 (grub_machine_mmap_init): Detect small mem_size and above_4g.
12674 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
12675 support.
12676
12677 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
12678
12679 Cirrus 5446 and Bochs video cards support.
12680
12681 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
12682 video_bochs.mod
12683 (video_cirrus_mod_SOURCES): New variable.
12684 (video_cirrus_mod_CFLAGS): Likewise.
12685 (video_cirrus_mod_LDFLAGS): Likewise.
12686 (video_bochs_mod_SOURCES): Likewise.
12687 (video_bochs_mod_CFLAGS): Likewise.
12688 (video_bochs_mod_LDFLAGS): Likewise.
12689 * include/grub/vga.h: New file.
12690 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
12691 (grub_video_fb_set_page_t): New type.
12692 (grub_video_fb_setup): New prototype.
12693 (grub_video_fb_swap_buffers): Likewise.
12694 (grub_video_fb_get_info_and_fini): Likewise.
12695 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
12696 (CRTC_DATA_PORT): Likewise.
12697 (CRTC_CURSOR): Likewise.
12698 (CRTC_CURSOR_ADDR_HIGH): Likewise.
12699 (CRTC_CURSOR_ADDR_LOW): Likewise.
12700 (CRTC_CURSOR_DISABLE): Likewise.
12701 (update_cursor): Use grub_vga_cr_write.
12702 (grub_vga_text_setcursor): Likewise.
12703 * video/bochs.c: New file.
12704 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
12705 (palette): Likewise.
12706 (palette_size): Likewise.
12707 (framebuffer): New variable.
12708 (grub_video_fb_init): Use 'framebuffer'.
12709 (grub_video_fb_fini): Likewise.
12710 (grub_video_fb_get_info): Likewise.
12711 (grub_video_fb_get_palette): Likewise.
12712 (grub_video_fb_set_palette): Likewise.
12713 (grub_video_fb_set_viewport): Likewise.
12714 (grub_video_fb_get_viewport): Likewise.
12715 (grub_video_fb_map_color): Likewise.
12716 (grub_video_fb_map_rgb): Likewise.
12717 (grub_video_fb_map_rgba): Likewise.
12718 (grub_video_fb_unmap_color): Likewise.
12719 (grub_video_fb_unmap_color_int): Likewise.
12720 (grub_video_fb_fill_rect): Likewise.
12721 (grub_video_fb_blit_bitmap): Likewise.
12722 (grub_video_fb_blit_render_target): Likewise.
12723 (grub_video_fb_scroll): Likewise.
12724 (grub_video_fb_create_render_target): Likewise.
12725 (grub_video_fb_doublebuf_blit_init): Likewise.
12726 (grub_video_fb_set_active_render_target): Handle doublebuffering.
12727 (doublebuf_pageflipping_update_screen): New function.
12728 (doublebuf_pageflipping_init): Likewise.
12729 (grub_video_fb_setup): Likewise.
12730 (grub_video_fb_swap_buffers): Likewise.
12731 (grub_video_fb_get_info_and_fini): Likewise.
12732 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
12733 All users updated.
12734 (doublebuf_pageflipping_commit): Restructured into ...
12735 (doublebuf_pageflipping_set_page): ... this.
12736 (doublebuf_pageflipping_update_screen): Removed.
12737 (doublebuf_pageflipping_init): Likewise.
12738 (double_buffering_init): Likewise.
12739 (grub_video_vbe_setup): Use grub_video_fb_setup.
12740 (grub_video_vbe_swap_buffers): Removed.
12741 (grub_video_vbe_set_active_render_target): Likewise.
12742 (grub_video_vbe_get_active_render_target): Likewise.
12743 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
12744 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
12745 grub_video_fb_set_active_render_target and
12746 grub_video_fb_get_active_render_target.
12747 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
12748 (SEQUENCER_DATA_PORT): Likewise.
12749 (MAP_MASK_REGISTER): Likewise.
12750 (CRTC_ADDR_PORT): Likewise.
12751 (CRTC_DATA_PORT): Likewise.
12752 (START_ADDR_HIGH_REGISTER): Likewise.
12753 (START_ADDR_LOW_REGISTER): Likewise.
12754 (GRAPHICS_ADDR_PORT): Likewise.
12755 (GRAPHICS_DATA_PORT): Likewise.
12756 (READ_MAP_REGISTER): Likewise.
12757 (INPUT_STATUS1_REGISTER): Likewise.
12758 (INPUT_STATUS1_VERTR_BIT): Likewise.
12759 (get_map_mask): Use grub_vga_sr_read.
12760 (set_map_mask): Use grub_vga_sr_write.
12761 (set_read_map): Use grub_vga_gr_write.
12762 (set_start_address): Use grub_vga_cr_write.
12763 * video/sm712.c (framebuffer): Remove leftover fields.
12764
12765 2010-06-20 Colin Watson <cjwatson@ubuntu.com>
12766
12767 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
12768 setting GRUB_VIDEO_BACKEND. Make it available as a user override
12769 instead. Replace the gfxterm backend check with a check that
12770 ${GRUB_PREFIX}/video.lst is non-empty.
12771 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
12772 again.
12773 (load_video): New generated function. Call it before loading
12774 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
12775 * util/grub.d/10_linux.in (linux_entry): Call load_video.
12776 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
12777 * docs/grub.texi (Simple configuration): Document
12778 GRUB_VIDEO_BACKEND.
12779
12780 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
12781
12782 Use video functions in linux and xnu loaders.
12783
12784 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
12785 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
12786 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
12787 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
12788 loader/i386/pc/linux.c.
12789 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
12790 (find_line_len): Removed.
12791 (find_framebuf): Likewise.
12792 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
12793 * loader/i386/efi/xnu.c: Removed.
12794 * loader/i386/pc/xnu.c: Moved from here...
12795 * loader/i386/xnu.c: ...here.
12796
12797 Enable priorities in video drivers.
12798
12799 * include/grub/video.h (grub_video_adapter_prio_t): New type.
12800 (grub_video_adapter): New field prio.
12801 (grub_video_register): Respect prio when inserting.
12802 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
12803 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
12804 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
12805 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
12806 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
12807 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
12808 * video/sm712.c (grub_video_sm712_adapter): Likewise.
12809
12810 Fix SDL driver ID.
12811
12812 * include/grub/video.h (grub_video_driver_id_t): New value
12813 GRUB_VIDEO_DRIVER_SDL.
12814 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
12815
12816 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
12817
12818 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
12819 argument to printf.
12820 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
12821
12822 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
12823
12824 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
12825 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
12826
12827 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
12828
12829 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
12830 directly, and recommend grub-install instead.
12831 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
12832
12833 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
12834
12835 Fix i386-pc prefix handling with nested partitions (Debian bug
12836 #585068). Note that the case where the core image is booted using
12837 multiboot and relocated from its original location still requires
12838 more work.
12839
12840 * kern/i386/pc/init.c (make_install_device): If the prefix starts
12841 with "(,", fill the boot drive in between those two characters, but
12842 expect that a full partition specification including partition map
12843 names will follow.
12844 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
12845 specified, write a prefix without the drive name but including a
12846 full partition specification.
12847
12848 2010-06-16 Colin Watson <cjwatson@ubuntu.com>
12849
12850 * util/grub-mkconfig.in: Ignore non-option arguments, for
12851 compatibility with older versions (before 2010-06-12) which did the
12852 same. In particular, this makes it easier to ship an update-grub
12853 wrapper which is compatible with that used with GRUB Legacy (Debian
12854 bug #586056).
12855
12856 2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
12857
12858 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
12859 for manual page generation.
12860
12861 2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
12862
12863 * po/POTFILES: Remove leftover commands/handler.c.
12864
12865 2010-06-14 Colin Watson <cjwatson@ubuntu.com>
12866
12867 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
12868 left this script non-functional.
12869
12870 2010-06-14 Colin Watson <cjwatson@ubuntu.com>
12871
12872 * docs/man/grub-emu.h2m: New file.
12873
12874 2010-06-13 Colin Watson <cjwatson@ubuntu.com>
12875
12876 * docs/grub.texi (Commands): Document reduced command set in rescue
12877 mode.
12878 (cpuid): New section.
12879
12880 2010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
12881
12882 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
12883 new partition naming style.
12884 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
12885
12886 2010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
12887
12888 Add "-o grub.iso" like cmdline options support.
12889
12890 * util/grub-install.in: Improve cmdline option parsing.
12891 * util/grub-mkconfig.in: Likewise.
12892 * util/grub-mkrescue.in: Likewise.
12893 * util/grub-reboot.in: Likewise.
12894 * util/grub-set-default.in: Likewise.
12895 * util/i386/efi/grub-install.in: Likewise.
12896 * util/ieee1275/grub-install.in: Likewise.
12897 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
12898
12899 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
12900
12901 * .bzrignore: Ignore 41_custom.
12902
12903 2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
12904
12905 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
12906
12907 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
12908
12909 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
12910 prototype declarations.
12911
12912 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
12913 generating fs, partmap, and video lists.
12914 * include/grub/fs.h (grub_fs_register): Omit prototype if
12915 GRUB_LST_GENERATOR is defined.
12916 * include/grub/partition.h (grub_partition_map_register): Likewise.
12917 * include/grub/video.h (grub_video_register): Likewise.
12918
12919 2010-06-12 Javier Martín <lordhabbit@gmail.com>
12920
12921 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
12922
12923 2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
12924
12925 * util/grub-mkrescue.in: Support --xorriso argument.
12926
12927 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
12928
12929 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
12930 Suggested by: Thomas Schmitt.
12931
12932 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
12933
12934 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
12935 Suggested by: Thomas Schmitt.
12936
12937 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
12938
12939 custom.cfg support.
12940
12941 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
12942 * util/grub.d/41_custom.in: New file.
12943
12944 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
12945
12946 * util/grub-mkrescue.in (make_image): Remove sh module, which has
12947 been merged back into normal.
12948
12949 2010-06-11 Colin Watson <cjwatson@ubuntu.com>
12950
12951 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
12952 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
12953
12954 2010-06-11 Colin Watson <cjwatson@ubuntu.com>
12955
12956 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
12957 when generating manual pages.
12958 * docs/man/grub-bin2h.h2m: New file.
12959 * docs/man/grub-editenv.h2m: New file.
12960 * docs/man/grub-fstest.h2m: New file.
12961 * docs/man/grub-install.h2m: New file.
12962 * docs/man/grub-macho2img.h2m: New file.
12963 * docs/man/grub-mkconfig.h2m: New file.
12964 * docs/man/grub-mkdevicemap.h2m: New file.
12965 * docs/man/grub-mkfont.h2m: New file.
12966 * docs/man/grub-mkimage.h2m: New file.
12967 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
12968 * docs/man/grub-mkrelpath.h2m: New file.
12969 * docs/man/grub-mkrescue.h2m: New file.
12970 * docs/man/grub-ofpathname.h2m: New file.
12971 * docs/man/grub-pe2elf.h2m: New file.
12972 * docs/man/grub-probe.h2m: New file.
12973 * docs/man/grub-reboot.h2m: New file.
12974 * docs/man/grub-script-check.h2m: New file.
12975 * docs/man/grub-set-default.h2m: New file.
12976 * docs/man/grub-setup.h2m: New file.
12977
12978 2010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
12979
12980 Use FOR_* macros instead of *_iterate whenever possible.
12981
12982 * commands/handler.c: Removed.
12983 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
12984 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
12985 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
12986 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
12987 (grub_probe_SOURCES): Remove kern/parser.c.
12988 (util/grub-script-check.c_DEPENDENCIES): Removed.
12989 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
12990 and grub_script_check_init.c.
12991 (grub_script_check_init.lst): Removed.
12992 (grub_script_check_init.h): Likewise.
12993 (grub_script_check_init.c): Likewise.
12994 (pkglib_MODULES): Remove handler.mod and sh.mod.
12995 (handler_mod_SOURCES): Removed.
12996 (handler_mod_CFLAGS): Likewise.
12997 (handler_mod_LDFLAGS): Likewise.
12998 (normal_mod_SOURCES): Remove normal/handler.c.
12999 Add script/main.c, script/script.c, script/execute.c,
13000 script/function.c, script/lexer.c, grub_script.tab.c
13001 and grub_script.yy.c.
13002 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
13003 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
13004 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
13005 (grub_setup_SOURCES): Remove kern/parser.c.
13006 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
13007 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
13008 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
13009 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
13010 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
13011 (grub_setup_SOURCES): Remove kern/parser.c.
13012 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
13013 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
13014 * include/grub/command.h (grub_command_iterate): Removed.
13015 (FOR_COMMANDS): New macro.
13016 * include/grub/dl.h (grub_dl): New member next.
13017 (grub_dl_iterate): Removed.
13018 (grub_dl_head): New variable declaration.
13019 (FOR_DL_MODULES): New macro.
13020 * include/grub/fs.h: Include list.h.
13021 (grub_fs): Make next first element.
13022 (grub_fs_list): New variable declaration.
13023 (grub_fs_register): Make inline.
13024 (grub_fs_unregister): Likewise.
13025 (grub_fs_iterate): Removed.
13026 (FOR_FILESYSTEMS): New macro.
13027 * include/grub/handler.h: Removed.
13028 * include/grub/list.h (grub_list_hook_t): Removed.
13029 (grub_list_test_t): Likewise.
13030 (grub_list_pop): Likewise.
13031 (grub_list_iterate): Likewise.
13032 (grub_list_insert): Likewise.
13033 (FOR_LIST_ELEMENTS): New macro.
13034 * include/grub/parser.h (grub_parser_class): Removed.
13035 (grub_parser_register): Likewise.
13036 (grub_parser_unregister): Likewise.
13037 (grub_parser_get_current): Likewise.
13038 (grub_parser_set_current): Likewise.
13039 (grub_register_rescue_parser): Likewise.
13040 (grub_rescue_parse_line): New function.
13041 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
13042 * include/grub/script_sh.h (grub_script_function_list): New variable
13043 declaration.
13044 (FOR_SCRIPT_FUNCTIONS): New macro.
13045 (grub_script_function_iterate): Removed.
13046 (grub_normal_parse_line): New prototype.
13047 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
13048 (FOR_DISABLED_TERM_INPUTS): Likewise.
13049 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
13050 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
13051 * include/grub/video.h (grub_video_adapter): Move 'next' to first
13052 element.
13053 (grub_video_register): Inline.
13054 (grub_video_unregister): Likewise.
13055 (grub_video_adapter_list): New variable declaration.
13056 (grub_video_iterate): Removed.
13057 (FOR_VIDEO_ADAPTERS): New macro.
13058 * kern/dl.c (grub_dl_list): Removed. All users updated.
13059 (grub_dl_iterate): Removed.
13060 * kern/fs.c (grub_fs_list): Make global.
13061 (grub_fs_register): Removed.
13062 (grub_fs_unregister): Likewise.
13063 (grub_fs_iterate): Likewise.
13064 * kern/handler.c: Removed.
13065 * kern/list.c (grub_list_pop): Removed.
13066 (grub_list_iterate): Likewise.
13067 (grub_list_insert): Likewise.
13068 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
13069 (grub_prio_list_insert): Don't use grub_list_insert.
13070 * kern/main.c (grub_register_rescue_parser): Don't call
13071 grub_register_rescue_parser.
13072 * kern/parser.c (grub_parser_class): Removed.
13073 (grub_parser_execute): Use grub_rescue_parse_line.
13074 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
13075 (grub_rescue_parser): Removed.
13076 (grub_register_rescue_parser): Likewise.
13077 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
13078 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
13079 (grub_auth_check_authentication): Likewise.
13080 * normal/completion.c (iterate_command): Removed.
13081 (grub_normal_do_completion): Use FOR_COMMANDS.
13082 * normal/handler.c: Removed.
13083 * normal/main.c (read_config_file): Remove parser changing.
13084 (grub_normal_execute): Don't call read_handler_list.
13085 (grub_normal_read_line_real): Statically allocate prompt.
13086 (grub_cmdline_run): Use grub_normal_parse_line.
13087 (GRUB_MOD_FINI): Don't call free_handler_list.
13088 * normal/menu_entry.c (run): Likewise.
13089 * script/function.c (grub_script_function_list): Make global.
13090 (grub_script_function_iterate): Removed.
13091 * script/main.c (grub_normal_parse_line): Make global.
13092 (grub_sh_parser): Removed.
13093 (GRUB_MOD_INIT): Likewise.
13094 (GRUB_MOD_FINI): Likewise.
13095 * tests/lib/functional_test.c (grub_functional_test): Use
13096 FOR_LIST_ELEMENTS.
13097 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
13098 (grub_test_run): Use FOR_LIST_ELEMENTS.
13099 * tests/lib/unit_test.c (main): Likewise.
13100 * util/deviceiter.c (grub_util_iterate_devices): Don't use
13101 grub_list_pop.
13102 * util/grub-fstest.c (grub_term_input_class): Removed.
13103 (grub_term_output_class): Likewise.
13104 * util/grub-probe.c: Likewise.
13105 * util/i386/pc/grub-setup.c: Likewise.
13106 * util/sparc64/ieee1275/grub-setup.c: Likewise.
13107 * util/grub-script-check.c (main): Don't call grub_init_all and
13108 grub_fini_all.
13109 * video/video.c (grub_video_adapter_list): Make global.
13110 (grub_video_register): Removed.
13111 (grub_video_unregister): Likewise.
13112 (grub_video_iterate): Likewise.
13113
13114 2010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
13115
13116 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
13117 reported by Henrique Ferreiro.
13118
13119 2010-06-09 Robert Millan <rmh@gnu.org>
13120
13121 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
13122 ones, when both are available.
13123
13124 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
13125
13126 Make --version uniform and avoid hard-coded program name.
13127
13128 * util/grub-mkimage.c (main): Use `program_name' instead of
13129 hard-coded string.
13130 * util/i386/pc/grub-setup.c (main): Likewise.
13131 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
13132 * util/grub-install.in: Save the basename of $0 in $self, and use the
13133 latter in informational messages. Use the same format for --version
13134 as the binary programs.
13135 * util/grub-mkconfig.in: Likewise.
13136 * util/grub-mkrescue.in: Likewise.
13137 * util/grub-reboot.in: Likewise.
13138 * util/grub-set-default.in: Likewise.
13139 * util/i386/efi/grub-install.in: Likewise.
13140 * util/ieee1275/grub-install.in: Likewise.
13141 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
13142
13143 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
13144
13145 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
13146 embedding area. Use <= instead of == when checking for non-emptiness.
13147
13148 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
13149
13150 * configure.ac: Add `.' to the directories searched for unifont.
13151
13152 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
13153
13154 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
13155 grub_script.yy.h.
13156
13157 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
13158
13159 * docs/grub.texi (History): Expand to cover GRUB 2.
13160 (Serial terminal): Refer to `terminal_input' and `terminal_output'
13161 commands, not `terminal'.
13162 (serial): Likewise.
13163 (terminal_input): New section.
13164 (terminal_output): New section.
13165 (uppermem): New section (stub).
13166 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
13167
13168 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
13169
13170 * docs/grub.texi (Security): Menu entries are unrestricted by
13171 default, not restricted to superusers as I had previously thought.
13172 Reword to account for this.
13173
13174 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
13175
13176 * kern/emu/misc.c (device_mapper_null_log): New function.
13177 (grub_device_mapper_supported): New function.
13178 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
13179 prototype.
13180 * kern/emu/hostdisk.c (find_partition_start): Check whether
13181 device-mapper is supported before trying to use it.
13182 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
13183
13184 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
13185
13186 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
13187 (File name syntax): Likewise.
13188 (help): --all is no longer supported in GRUB 2. Be more precise
13189 about pattern matching.
13190
13191 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
13192
13193 * normal/completion.c (grub_normal_do_completion): When completing
13194 arguments to "set" and the current word contains an equals sign,
13195 skip to after the equals sign before starting completion.
13196
13197 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
13198
13199 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
13200
13201 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
13202
13203 * docs/grub.texi (Network): New section.
13204 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
13205 `(nd)' as in GRUB Legacy.
13206 (pxe_unload): New section.
13207
13208 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
13209
13210 * docs/grub.texi (Troubleshooting): `echo' is not usually available
13211 in the rescue shell, so recommend using `set' instead. Thanks,
13212 Jordan Uggla.
13213
13214 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
13215
13216 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
13217 (password): New section.
13218 (password_pbkdf2): New section.
13219 (search): New section.
13220 (Security): New section.
13221 (Troubleshooting): New section, currently very incomplete.
13222 (Invoking grub-mkpasswd-pbkdf2): New section.
13223 (Internals): New section, currently very incomplete.
13224
13225 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
13226
13227 * util/grub.d/00_header.in: Add some more quoting (of
13228 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
13229 work again.
13230 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
13231
13232 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
13233
13234 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
13235 to `count', fixing variable shadowing that broke the -c option.
13236
13237 2010-06-05 Colin Watson <cjwatson@ubuntu.com>
13238
13239 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
13240 in case they contain spaces.
13241
13242 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
13243
13244 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
13245 "part_" to partmap module names, in line with grub-install.
13246 Reported by: Jindřich Makovička (Debian bug #584426).
13247
13248 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
13249
13250 * util/grub-mkimage.c: Make target-related error messages slightly
13251 more helpful; -O talks about "format". Explicitly point to the use
13252 of -O if no target is specified.
13253 Reported by: Didier Raboud (Debian bug #584415).
13254
13255 2010-06-03 Colin Watson <cjwatson@ubuntu.com>
13256
13257 * INSTALL: Document several build requirements for optional features
13258 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
13259
13260 2010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
13261
13262 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
13263 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
13264 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
13265
13266 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
13267
13268 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
13269 Thanks to Jordan Uggla for spotting this.
13270
13271 2010-06-02 Aleš Nesrsta <starous@volny.cz>
13272
13273 Finally make USB usable.
13274
13275 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
13276 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
13277 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
13278 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
13279 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
13280 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
13281 (GRUB_OHCI_FSMPS): Likewise.
13282 (GRUB_OHCI_PERIODIC_START): Likewise.
13283 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
13284 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
13285 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
13286 (GRUB_OHCI_SET_PORT_RESET): Likewise.
13287 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
13288 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
13289 (grub_ohci_transaction): Likewise.
13290 (grub_ohci_transfer): Improve condition detection algorithms.
13291 Handle toggle property. Program the transactions correctly.
13292 Improve error handling. Various important fixups.
13293 (grub_ohci_portstatus): Put register writes in right order.
13294 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
13295 (grub_uhci_transfer): Don't show "failed" message on success.
13296 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
13297 array.
13298 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
13299 determine its size.
13300 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
13301 before initialization is completed. Use IN direction for empty
13302 transfers. Use last_trans and compute toggle.
13303 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
13304 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
13305 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
13306 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
13307 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
13308 (grub_usb_device): Increase toggle to 256.
13309 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
13310 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
13311 GRUB_USBMS_SUBCLASS_SFF8070.
13312 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
13313 (grub_scsi_inquiry): New member page and alloc_length.
13314 (grub_scsi_request_sense): New structure.
13315 (grub_scsi_request_sense_data): Likewise.
13316 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
13317 control.
13318 * disk/scsi.c (grub_scsi_request_sense): New function.
13319 (grub_scsi_test_unit_ready): Likewise.
13320 (grub_scsi_inquiry): Fill new fields.
13321 (grub_scsi_read_capacity): Likewise.
13322 (grub_scsi_read10): Add request sense at the end.
13323 (grub_scsi_read12): Likewise.
13324 (grub_scsi_write10): Likewise.
13325 (grub_scsi_write12): Likewise.
13326 (grub_scsi_open): Add Test Unit Ready.
13327 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
13328 Support additional subclasses. Con't clear halt yet. Activate the
13329 proper config. Calculate LUNs correctly.
13330 (grub_usbms_transfer): Various important fixups.
13331
13332 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
13333
13334 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
13335 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
13336 (grub_ohci_fini_hw): New function.
13337 (grub_ohci_restore_hw): Likewise.
13338 (GRUB_MOD_INIT(ohci)): Register preboot hook.
13339 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
13340 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
13341
13342 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
13343
13344 Dedicated DMA allocations.
13345
13346 * bus/pci.c (grub_memalign_dma32): New function
13347 (grub_dma_free): Likewise.
13348 (grub_dma_get_virt): Likewise.
13349 (grub_dma_get_phys): Likewise.
13350 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
13351 (grub_ohci_pci_iter): Use dma32_alloc.
13352 (grub_ohci_transfer): Likewise.
13353 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
13354 (grub_usb_bulk_readwrite): Likewise.
13355 * include/grub/pci.h: Add declarations.
13356
13357 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
13358
13359 CS5536 support.
13360
13361 * bus/cs5536.c: New file.
13362 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
13363 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
13364 (cs5536_mod_SOURCES): New variable.
13365 (cs5536_mod_CFLAGS): Likewise.
13366 (cs5536_mod_LDFLAGS): Likewise.
13367 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
13368 machine/pci.h.
13369 (kernel_img_SOURCES): Add bus/cs5536.c.
13370 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
13371 usb_keyboard.mod.
13372 (usb_mod_SOURCES): New variable.
13373 (usb_mod_CFLAGS): New variable.
13374 (usb_mod_LDFLAGS): New variable.
13375 (usbtest_mod_SOURCES): New variable.
13376 (usbtest_mod_CFLAGS): New variable.
13377 (usbtest_mod_LDFLAGS): New variable.
13378 (ohci_mod_SOURCES): New variable.
13379 (ohci_mod_CFLAGS): New variable.
13380 (ohci_mod_LDFLAGS): New variable.
13381 (usbms_mod_SOURCES): New variable.
13382 (usbms_mod_CFLAGS): New variable.
13383 (usbms_mod_LDFLAGS): New variable.
13384 (usb_keyboard_mod_SOURCES): New variable.
13385 (usb_keyboard_mod_CFLAGS): New variable.
13386 (usb_keyboard_mod_LDFLAGS): New variable.
13387 * include/grub/smbus.h: New file.
13388 * include/grub/cs5536.h: New file.
13389
13390 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
13391
13392 * util/grub.d/00_header.in: Add safety check to make sure that
13393 ${locale_dir} exists before trying to probe it.
13394
13395 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
13396
13397 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
13398 per the GNU Coding Standards; this is now too obscure to be worth
13399 documenting.
13400 (QNX): Likewise.
13401 (chainloader): Remove cross-reference to `SCO UnixWare'.
13402
13403 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
13404
13405 * docs/grub.texi (Chain-loading): New section.
13406 (DOS/Windows): New section, borrowed from GRUB Legacy with details
13407 adjusted for GRUB 2.
13408 (SCO UnixWare): Likewise.
13409 (QNX): Likewise.
13410 (chainloader): Add reference to `Block list syntax'.
13411 (drivemap): New section.
13412 (parttool): New section.
13413
13414 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
13415
13416 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
13417 the grub shell'.
13418 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
13419 (Installing GRUB using grub-install): Remove reference to the grub
13420 shell; mention `grub-mkimage' and `grub-setup' instead.
13421 (Invoking grub-install): Likewise.
13422 (Interface): Add reference to `Menu entry editor'.
13423 (serial): Remove `--device' option.
13424
13425 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
13426
13427 * docs/grub.texi (Configuration): New section, documenting
13428 configuration file generation using grub-mkconfig. I've left a slot
13429 for documenting the full shell scripting format but have not yet
13430 started on writing that up.
13431 (Invoking grub-mkconfig): New section.
13432
13433 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
13434
13435 * docs/grub.texi (direntry): Remove grub-terminfo reference.
13436 (GNU GRUB manual): Likewise.
13437 (General commands): Update description of `terminfo' for GRUB 2.
13438
13439 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
13440
13441 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
13442 (GRUB_MOD_INIT): Fix capitalisation.
13443 * docs/grub.texi (Command-line and menu entry commands): Document
13444 gettext and gptsync commands.
13445
13446 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
13447
13448 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
13449 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
13450
13451 2010-06-01 Colin Watson <cjwatson@ubuntu.com>
13452
13453 Add btrfs probing support, currently only in the single-device case.
13454
13455 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
13456 function.
13457 (grub_guess_root_device): Call find_root_device_from_mountinfo
13458 before looking in /dev.
13459
13460 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
13461
13462 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
13463 GRUB_DISK_SIZE_UNKNOWN.
13464 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
13465
13466 2010-05-31 Jiro SEKIBA <jir@unicus.jp>
13467
13468 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
13469 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
13470 corrupted or not synced properly.
13471
13472 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
13473
13474 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
13475 Reported by: Seth Goldberg.
13476
13477 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
13478
13479 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
13480 addition of dest.
13481 Reported by: Seth Goldberg.
13482
13483 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
13484
13485 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
13486 Reported by: Seth Goldberg.
13487
13488 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
13489
13490 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
13491 64-bit address as signed on MIPS.
13492
13493 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
13494
13495 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
13496 to the empty string.
13497
13498 2010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
13499
13500 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
13501
13502 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
13503 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
13504 * kern/misc.c (__enable_execute_stack): Disable on
13505 GRUB_MACHINE_EMU.
13506
13507 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
13508
13509 Make grub-probe work with symbolic links under /dev/mapper as well
13510 as with real block devices. The Linux world seems to be (at best)
13511 in transition here, and GRUB shouldn't get caught in the middle.
13512
13513 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
13514 /dev/mapper.
13515
13516 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
13517
13518 * util/grub-script-check.c (main): Ensure defined behaviour on empty
13519 input files (in which case exit zero).
13520
13521 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
13522
13523 * kern/emu/misc.c (canonicalize_file_name): realpath can still
13524 return NULL for various reasons even if it has a maximum-length
13525 buffer: for example, there might be a symlink loop, or the path
13526 might exceed PATH_MAX. If this happens, return NULL.
13527
13528 2010-05-27 Robert Millan <rmh@gnu.org>
13529
13530 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
13531 partmap module to handle cross-partmap setups.
13532 Reported by Orestes Mas. Gràcies!
13533
13534 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
13535
13536 * util/grub-mkrescue.in: Initialise override_dir rather than
13537 assuming that it's unset or empty in the environment.
13538
13539 2010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
13540
13541 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
13542 variable index into p_index to suppress a warning with -Wshadow.
13543
13544 2010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
13545
13546 * INSTALL: Added flex >= 2.5.35 requirement.
13547
13548 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
13549
13550 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
13551
13552 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
13553
13554 cmostest support.
13555
13556 * commands/i386/cmostest.c: New file.
13557 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
13558 (cmostest_mod_SOURCES): New variable.
13559 (cmostest_mod_CFLAGS): Likewise.
13560 (cmostest_mod_LDFLAGS): Likewise.
13561 * conf/i386-pc.rmk: Likewise.
13562 * docs/grub.texi (Vendor power-on keys): New section.
13563 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
13564 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
13565 and GRUB_BUTTON_CMOS_ADDRESS.
13566 * util/grub.d/00_header.in: Handle powering-on by separate button.
13567
13568 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
13569
13570 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
13571 Removed drawing_scrollbar argument. All users updated
13572 Fixes #29792.
13573 Reported by Jo Shields
13574
13575 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
13576
13577 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
13578 buffer since gfxterm handles double repaint.
13579
13580 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
13581
13582 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
13583 * term/gfxterm.c (real_scroll): Likewise.
13584
13585 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
13586
13587 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
13588 before calling BIOS.
13589
13590 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
13591
13592 * include/grub/i18n.h: Always enable grub_gettext.
13593
13594 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
13595
13596 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
13597 partition naming style.
13598
13599 2010-05-21 Colin Watson <cjwatson@ubuntu.com>
13600
13601 * util/grub-mkconfig.in: Fix handling of -o so that it works when
13602 not the first option.
13603
13604 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
13605
13606 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
13607
13608 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
13609
13610 * util/misc.c: Move inclusion of <limits.h> to ...
13611 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
13612
13613 2010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
13614
13615 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
13616 Fix merge error in NetBSD code.
13617 (find_partition_start) [__NetBSD__]: Likewise.
13618
13619 2010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
13620
13621 Fix grub-mkrescue usage unit testing.
13622
13623 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
13624
13625 2010-05-18 Christian Franke <franke@computer.org>
13626
13627 * util/grub.d/10_windows.in: Use path names instead of
13628 drive letters to prevent warning from Cygwin 1.7.
13629 Add drivemap command to menuentry if needed.
13630
13631 2010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
13632
13633 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
13634 gnumach and gnumach.gz.
13635
13636 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
13637
13638 * include/grub/i18n.h (gettext): Inline instead of using #define.
13639 (grub_gettext): Likewise.
13640 (_): Likewise.
13641
13642 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
13643
13644 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
13645 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
13646 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
13647 (main): Add a slash after pkglibdirroot.
13648
13649 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
13650
13651 * util/grub-install.in: Add missing "in" keyword.
13652
13653 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
13654
13655 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
13656 Reported by: Seth Goldberg.
13657
13658 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
13659
13660 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
13661
13662 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
13663
13664 * configure.ac: Check for Linux device-mapper support.
13665
13666 * util/hostdisk.c (device_is_mapped): New function.
13667 (find_partition_start): New function, partly broken out from
13668 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
13669 device-mapper support added.
13670 (linux_find_partition): Use find_partition_start.
13671 (convert_system_partition_to_system_disk): Add `st' argument.
13672 Support Linux /dev/mapper/* devices if device-mapper support is
13673 available; only DM-RAID devices are understood at present.
13674 (find_system_device): Add `st' argument. Pass it to
13675 convert_system_partition_to_system_disk.
13676 (grub_util_biosdisk_get_grub_dev): Pass stat result to
13677 find_system_device and convert_system_partition_to_system_disk. Use
13678 find_partition_start.
13679
13680 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
13681 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
13682 * util/deviceiter.c [__linux__]: Define MINOR.
13683 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
13684 * util/mkdevicemap.c (grub_putchar): New function.
13685 (grub_getkey): New function.
13686 (grub_refresh): New function.
13687 (main): Set debug=all if -v -v is used.
13688
13689 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
13690
13691 Fix build with non-GNU libcs.
13692
13693 * util/misc.c (canonicalize_file_name): Move to ...
13694 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
13695 grub_make_system_path_relative_to_its_root.
13696
13697 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
13698
13699 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
13700 we handle finding grub-mkimage. Default to finding grub-mkimage in
13701 ${bindir} with program_transform_name applied, and provide a
13702 --grub-mkimage option to override this.
13703
13704 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
13705
13706 Remove grub-mkisofs.
13707
13708 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
13709 (grub_mkisofs_SOURCES): Removed.
13710 (grub_mkisofs_CFLAGS): Removed.
13711 * util/mkisofs/defaults.h: Removed.
13712 * util/mkisofs/eltorito.c: Likewise.
13713 * util/mkisofs/exclude.h: Likewise.
13714 * util/mkisofs/hash.c: Likewise.
13715 * util/mkisofs/include/: Likewise.
13716 * util/mkisofs/include/fctldefs.h: Likewise.
13717 * util/mkisofs/include/mconfig.h: Likewise.
13718 * util/mkisofs/include/prototyp.h: Likewise.
13719 * util/mkisofs/include/statdefs.h: Likewise.
13720 * util/mkisofs/iso9660.h: Likewise.
13721 * util/mkisofs/joliet.c: Likewise.
13722 * util/mkisofs/match.c: Likewise.
13723 * util/mkisofs/match.h: Likewise.
13724 * util/mkisofs/mkisofs.c: Likewise.
13725 * util/mkisofs/mkisofs.h: Likewise.
13726 * util/mkisofs/msdos_partition.h: Likewise.
13727 * util/mkisofs/multi.c: Likewise.
13728 * util/mkisofs/name.c: Likewise.
13729 * util/mkisofs/rock.c: Likewise.
13730 * util/mkisofs/tree.c: Likewise.
13731 * util/mkisofs/write.c: Likewise.
13732
13733 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
13734
13735 Unify grub-mkimage accross platforms.
13736
13737 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
13738 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
13739 (grub_mkelfimage_SOURCES): Removed.
13740 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
13741 (util/grub-mkimage.c_DEPENDENCIES): .. this.
13742 (bin_UTILITIES): Add grub-mkimage.
13743 (grub_mkimage_SOURCES): New variable.
13744 (kernel_img_HEADERS): Remove machine/kernel.h.
13745 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
13746 (pkglib_PROGRAMS): Add kernel.img.
13747 (kernel_img_HEADERS): Add machine/kernel.h.
13748 (kernel_img_FORMAT): Removed.
13749 (bin_UTILITIES): Remove grub-mkimage.
13750 (grub_mkimage_SOURCES): Removed.
13751 (grub_mkimage_CFLAGS): Likewise.
13752 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
13753 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
13754 (pkglib_PROGRAMS): Add kernel.img.
13755 (bin_UTILITIES): Remove grub-mkimage.
13756 (grub_mkimage_SOURCES): Removed.
13757 (grub_mkimage_CFLAGS): Likewise.
13758 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
13759 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
13760 (pkglib_PROGRAMS): Add kernel.img.
13761 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
13762 (pkglib_PROGRAMS): Add kernel.img.
13763 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
13764 (grub_mkimage_SOURCES): Removed.
13765 (grub_mkimage_CFLAGS): Likewise.
13766 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
13767 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
13768 (pkglib_PROGRAMS): Add kernel.img.
13769 (bin_UTILITIES): Remove grub-mkimage.
13770 (grub_mkimage_SOURCES): Removed.
13771 (grub_mkimage_CFLAGS): Likewise.
13772 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
13773 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
13774 (grub_mkimage_SOURCES): Removed.
13775 (grub_mkimage_CFLAGS): Likewise.
13776 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
13777 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
13778 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
13779 (grub_pe32_optional_header): ... this.
13780 (grub_pe64_optional_header): ... and this. All users updated.
13781 (GRUB_PE32_PE32_MAGIC): Split into ..
13782 (GRUB_PE32_PE32_MAGIC): .. this.
13783 (GRUB_PE32_PE64_MAGIC): .. and this.
13784 (GRUB_PE32_SIGNATURE_SIZE): New definition.
13785 * include/grub/elf.h (PT_GNU_STACK): New definition.
13786 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
13787 * include/grub/i386/efi/kernel.h: Likewise.
13788 * include/grub/i386/kernel.h: Likewise.
13789 * include/grub/i386/pc/kernel.h: Likewise.
13790 * include/grub/i386/qemu/boot.h: Likewise.
13791 * include/grub/mips/kernel.h: Likewise.
13792 * include/grub/mips/qemu-mips/kernel.h: Likewise.
13793 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
13794 * include/grub/powerpc/kernel.h: Likewise.
13795 * include/grub/sparc64/ieee1275/boot.h: Likewise.
13796 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
13797 * include/grub/sparc64/kernel.h: Likewise.
13798 * include/grub/x86_64/efi/kernel.h: Likewise.
13799 * include/grub/x86_64/kernel.h: Likewise.
13800 * include/grub/offsets.h: New file.
13801 * include/grub/kernel.h (grub_module_info): Split into ...
13802 (grub_module_info32): ... this.
13803 (grub_module_info64): ... and this.
13804 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
13805 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
13806 (grub_boot_blocklist): Moved from here ...
13807 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
13808 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
13809 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
13810 * include/grub/types.h (grub_target_to_host16): Removed.
13811 (grub_target_to_host32): Likewise.
13812 (grub_target_to_host64): Likewise.
13813 (grub_host_to_target16): Likewise.
13814 (grub_host_to_target32): Likewise.
13815 (grub_host_to_target64): Likewise.
13816 (grub_host_to_target_addr): Likewise.
13817
13818 Support grub-mkrescue for efi, coreboot and qemu.
13819
13820 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
13821 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
13822 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
13823 * util/grub-mkrawimage.c: Moved from here ...
13824 * util/grub-mkimage.c: ... here. All users updated.
13825 (ALIGN_ADDR): Use image_target.
13826 (TARGET_NO_FIELD): New const.
13827 (image_target_desc): New type.
13828 (image_targets): New array.
13829 (grub_target_to_host64): Use image_target.
13830 (grub_target_to_host32): Likewise.
13831 (grub_target_to_host16): Likewise.
13832 (grub_host_to_target64): Likewise.
13833 (grub_host_to_target32): Likewise.
13834 (grub_host_to_target16): Likewise.
13835 (grub_host_to_target_addr): Likewise.
13836 (generate_image): Handle multiimage.
13837 (main): Require -O parameter. All users updated.
13838 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
13839 util/efi/grub-mkimage.c
13840 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
13841 New option --rom-directory.
13842 Use xorriso.
13843 * util/i386/efi/grub-mkimage.c: Removed.
13844 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
13845 (grub_target_to_host32): Likewise.
13846 (grub_target_to_host64): Likewise.
13847 (grub_host_to_target16): Likewise.
13848 (grub_host_to_target32): Likewise.
13849 (grub_host_to_target64): Likewise.
13850 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
13851 (grub_target_to_host32): Likewise.
13852 (grub_target_to_host64): Likewise.
13853 (grub_host_to_target16): Likewise.
13854 (grub_host_to_target32): Likewise.
13855 (grub_host_to_target64): Likewise.
13856
13857 2010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
13858
13859 Source tree is reorganized for emu build.
13860
13861 * include/grub/util/console.h: Move from here...
13862 * include/grub/emu/console.h: ...to here.
13863 * include/grub/util/getroot.h: Move from here...
13864 * include/grub/emu/getroot.h: ...to here.
13865 * include/grub/util/hostdisk.h: Move from here...
13866 * include/grub/emu/hostdisk.h: ...to here.
13867 * util/console.c: Move from here...
13868 * kern/emu/console.c: ...to here.
13869 * util/getroot.c: Move from here...
13870 * kern/emu/getroot.c: ...to here.
13871 * util/grub-emu.c: Move from here...
13872 * kern/emu/main.c: ...to here.
13873 * util/hostdisk.c: Move from here...
13874 * kern/emu/hostdisk.c: ...to here.
13875 * util/hostfs.c: Move from here...
13876 * kern/emu/hostfs.c: ...to here.
13877 * util/mm.c: Move from here...
13878 * kern/emu/mm.c: ...to here.
13879 * util/pci.c: Move from here...
13880 * bus/emu/pci.c: ...to here.
13881 * util/sdl.c: Move from here...
13882 * video/emu/sdl.c: ...to here.
13883 * util/time.c: Move from here...
13884 * kern/emu/time.c: ...to here.
13885 * util/usb.c: Move from here...
13886 * bus/usb/emu/usb.c: ...to here.
13887
13888 * include/grub/emu/misc.h: New header for grub-emu functions.
13889 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
13890
13891 * conf/any-emu.rmk: Rule updates for above renames.
13892 * conf/common.rmk: Likewise.
13893 * conf/i386-pc.rmk: Likewise.
13894 * conf/i386-qemu.rmk: Likewise.
13895 * conf/mips.rmk: Likewise.
13896 * conf/sparc64-ieee1275.rmk: Likewise.
13897 * conf/x86-efi.rmk: Likewise.
13898
13899 * disk/lvm.h: #include updates for above renames.
13900 * util/grub-mkrelpath.c: Likewise.
13901 * util/grub-probe.c: Likewise.
13902 * util/i386/pc/grub-setup.c: Likewise.
13903 * util/sparc64/ieee1275/grub-setup.c: Likewise.
13904 * kern/emu/console.c: Likewise.
13905 * kern/emu/getroot.c: Likewise.
13906 * kern/emu/hostdisk.c: Likewise.
13907 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
13908
13909 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
13910 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
13911 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
13912 * util/misc.c: Remove grub-emu functions.
13913
13914 2010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
13915
13916 Fix gfxmenu crash.
13917 Reported by: Thorsten Grützmacher.
13918
13919 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
13920 timeout hook.
13921 (circprog_set_property): Register and unregister timeout hook.
13922 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
13923 (label_destroy): Free template. and unregister hook.
13924 (label_set_state): New function.
13925 (label_set_property): Handle templates and hooks.
13926 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
13927 timeout hook.
13928 (progress_bar_set_property): Register and unregister timeout hook.
13929 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
13930 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
13931 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
13932 (update_timeout_visit): Removed.
13933 (update_timeouts): New function.
13934 (redraw_timeouts): Likewise.
13935 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
13936 (grub_gfxmenu_clear_timeout): Likewise.
13937 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
13938 (grub_gfxmenu_timeout_notify): Likewise.
13939 (grub_gfxmenu_timeout_notifications): New external variable.
13940 (grub_gfxmenu_timeout_register): New function.
13941 (grub_gfxmenu_timeout_unregister): Likewise.
13942
13943 2010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
13944
13945 Transform (broken) vga terminal into (working) vga video driver.
13946
13947 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
13948 video/i386/pc/vga.c.
13949 * include/grub/video.h (grub_video_driver_id):
13950 Add GRUB_VIDEO_DRIVER_VGA.
13951 * term/i386/pc/vga.c: Renamed to ...
13952 * video/i386/pc/vga.c: ...this
13953 (DEBUG_VGA): Removed.
13954 (CHAR_WIDTH): Likewise.
13955 (CHAR_HEIGHT): Likewise.
13956 (TEXT_WIDTH): Likewise.
13957 (TEXT_HEIGHT): Likewise.
13958 (DEFAULT_FG_COLOR): Likewise.
13959 (DEFAULT_BG_COLOR): Likewise.
13960 (colored_char): Likewise.
13961 (xpos): Likewise.
13962 (ypos): Likewise.
13963 (cursor_state): Likewise.
13964 (fg_color): Likewise.
13965 (bg_color): Likewise.
13966 (text_buf): Likewise.
13967 (page): Likewise.
13968 (font): Likewise.
13969 (framebuffer): New variable.
13970 (set_read_map): Disabled.
13971 (setup): New variable.
13972 (is_target): Likewise.
13973 (grub_vga_mod_init): Likewise.
13974 (grub_vga_mod_fini): Likewise.
13975 (check_vga_mem): Likewise.
13976 (write_char): Likewise.
13977 (write_cursor): Likewise.
13978 (scroll_up): Likewise.
13979 (grub_vga_putchar): Likewise.
13980 (grub_vga_getcharwidth): Likewise.
13981 (grub_vga_getwh): Likewise.
13982 (grub_vga_getxy): Likewise.
13983 (grub_vga_gotoxy): Likewise.
13984 (grub_vga_cls): Likewise.
13985 (grub_vga_setcolorstate): Likewise.
13986 (grub_vga_setcursor): Likewise.
13987 (grub_video_vga_init): New function.
13988 (grub_video_vga_setup): Likewise.
13989 (grub_video_vga_fini): Likewise.
13990 (update_target): Likewise.
13991 (grub_video_vga_blit_bitmap): Likewise.
13992 (grub_video_vga_blit_render_target): Likewise.
13993 (grub_video_vga_set_active_render_target): Likewise.
13994 (grub_video_vga_get_active_render_target): Likewise.
13995 (grub_video_vga_swap_buffers): Likewise.
13996 (grub_video_vga_set_palette): Likewise.
13997 (grub_video_vga_get_info_and_fini): Likewise.
13998 (grub_vga_term): Removed.
13999 (grub_video_vga_adapter): New variable.
14000 (GRUB_MOD_INIT): Register a video driver instead of terminal.
14001 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
14002
14003 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
14004
14005 * video/readers/jpeg.c: Indented.
14006
14007 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
14008
14009 Various jpeg cleanups.
14010
14011 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
14012 (grub_jpeg_decode_quan_table): Use sizeof.
14013 (grub_jpeg_decode_du): Use ARRAY_SIZE.
14014
14015 2010-05-05 Peter Hurley <No e-mail available> (tiny change)
14016
14017 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
14018 tables. Ignore non-last ac bit.
14019 (grub_jpeg_decode_quan_table): Likewise.
14020
14021 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
14022
14023 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
14024 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
14025 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
14026 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
14027 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
14028 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
14029
14030 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
14031
14032 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
14033 error.
14034
14035 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
14036
14037 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
14038
14039 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
14040
14041 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
14042 condition.
14043
14044 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
14045
14046 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
14047 part.
14048
14049 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
14050
14051 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
14052 pointers.
14053
14054 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
14055
14056 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
14057
14058 2010-05-01 Christian Franke <franke@computer.org>
14059
14060 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
14061 Remove broken Cygwin path conversion.
14062 * util/misc.c: [__CYGWIN__] Add include and define.
14063 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
14064 for Cygwin 1.7.
14065 (make_system_path_relative_to_its_root): Simplify loop, replace early
14066 return by break.
14067 [__CYGWIN__] Add conversion to win32 path.
14068 Include "/" case in trailing slash removal.
14069
14070 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14071
14072 * kern/main.c (grub_load_config): Fix copy-pasted comment.
14073 Reported by: Seth Goldberg
14074
14075 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14076
14077 * commands/help.c (grub_cmd_help): Fix a typo.
14078 Reported by: Seth Goldberg
14079
14080 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14081
14082 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
14083 name and add N_.
14084 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
14085 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
14086 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
14087 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
14088 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
14089 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
14090 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
14091 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
14092 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
14093 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
14094 * normal/context.c (GRUB_MOD_INIT): Likewise.
14095 * normal/main.c (GRUB_MOD_INIT): Likewise.
14096 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
14097 * term/serial.c (GRUB_MOD_INIT): Likewise.
14098 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
14099
14100 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14101
14102 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
14103 extra == 0.
14104
14105 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14106
14107 * commands/iorw.c: New file.
14108 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
14109 (iorw_mod_SOURCES): New variable.
14110 (iorw_mod_CFLAGS): Likewise.
14111 (iorw_mod_LDFLAGS): Likewise.
14112
14113 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14114
14115 Hotkey support
14116
14117 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
14118 * normal/main.c (hotkey_aliases): New variable.
14119 (grub_normal_add_menu_entry): Parse "--hotkey".
14120 * normal/menu_text.c (run_menu): Handle hotkeys.
14121
14122 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14123
14124 * kern/i386/coreboot/init.c (grub_machine_init): Call
14125 grub_machine_mmap_init on qemu.
14126
14127 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14128
14129 * boot/i386/qemu/boot.S: Add a missing .code16.
14130
14131 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14132
14133 Use LBIO on coreboot.
14134
14135 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
14136 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
14137 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
14138 New declaration.
14139 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
14140 grub_machine_mmap_init on coreboot.
14141 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
14142 GRUB_LINUXBIOS_MEMBER_LINK.
14143 (grub_machine_mmap_iterate): Fix declaration.
14144 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
14145
14146 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14147
14148 Split coreboot and multiboot ports.
14149
14150 * conf/i386-multiboot.rmk: New file.
14151 * configure.ac: Add multiboot port.
14152 * include/grub/i386/multiboot/boot.h: New file.
14153 * include/grub/i386/multiboot/console.h: Likewise.
14154 * include/grub/i386/multiboot/init.h: Likewise.
14155 * include/grub/i386/multiboot/kernel.h: Likewise.
14156 * include/grub/i386/multiboot/loader.h: Likewise.
14157 * include/grub/i386/multiboot/memory.h: Likewise.
14158 * include/grub/i386/multiboot/serial.h: Likewise.
14159 * include/grub/i386/multiboot/time.h: Likewise.
14160 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
14161 * loader/multiboot.c: Likewise.
14162 * loader/multiboot_mbi2.c: Likewise.
14163 * util/grub-mkrescue.in: Generate multiboot rescue.
14164
14165 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14166
14167 * kern/parser.c (grub_parser_execute): Cope with read-only config.
14168
14169 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14170
14171 Merge handling of input and output terminals. Fix a hang.
14172
14173 * commands/terminal.c (abstract_terminal): New struct.
14174 (handle_command): New function. Based on grub_cmd_terminal_input.
14175 (grub_cmd_terminal_input): Use handle_command.
14176 (grub_cmd_terminal_output): Use handle_command.
14177
14178 2010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
14179
14180 Fix comment handling.
14181
14182 * tests/grub_script_comments.in: New testcase.
14183 * conf/tests.rmk: Rules for new testcase.
14184 * script/yylex.l: Updated flex rules.
14185
14186 2010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
14187
14188 * docs/grub.texi (play): Document that zero pitches produce rests.
14189 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
14190 if argc is 1.
14191
14192 2010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
14193
14194 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
14195 autogen issues.
14196
14197 2010-04-26 Christian Franke <franke@computer.org>
14198
14199 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
14200 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
14201 (grub_get_prefix): Remove function.
14202 * util/grub-emu.c (main): Replace grub_get_prefix () call by
14203 make_system_path_relative_to_its_root ().
14204 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
14205
14206 2010-04-24 Christian Franke <franke@computer.org>
14207
14208 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
14209 (kernel_img_LDFLAGS): Remove -static-libgcc.
14210
14211 2010-04-24 Christian Franke <franke@computer.org>
14212
14213 * configure.ac: Do not CHECK_BSS_START_SYMBOL
14214 and CHECK_END_SYMBOL if grub-emu is built.
14215 Unset TARGET_OBJ2ELF if grub-emu is built
14216 without module support.
14217
14218 2010-04-24 Jiro SEKIBA <jir@unicus.jp>
14219
14220 Nilfs2 support.
14221
14222 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
14223 (grub_fstest_SOURCES): Likewise.
14224 (pkglib_MODULES): Add nilfs2.mod.
14225 (nilfs2_mod_SOURCES): New variable.
14226 (nilfs2_mod_CFLAGS): Likewise.
14227 (nilfs2_mod_LDFLAGS): Likewise.
14228 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
14229 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
14230 * fs/nilfs2.c: New file.
14231
14232 2010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
14233
14234 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
14235 is not supported.
14236
14237 2010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
14238
14239 Add grub-mkconfig support for NetBSD.
14240
14241 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
14242 * util/grub-mkconfig.in: export new NetBSD specific variables.
14243 * po/POTFILES-shell: added 10_netbsd.in.
14244 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
14245
14246 2010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
14247
14248 Fix emu build with grub-emu-pci and grub-emu-modules.
14249
14250 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
14251 functions.
14252 * include/grub/libpciaccess.h: New file.
14253 * conf/any-emu.rmk: Update kernel headers for emu build.
14254
14255 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
14256
14257 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
14258
14259 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
14260
14261 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
14262
14263 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
14264
14265 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
14266 Retrieve chosen/bootpath if bootpath isn't hardcoded.
14267 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
14268 util/ieee1275/ofpath.c.
14269 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
14270 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
14271 * include/grub/sparc64/ieee1275/boot.h
14272 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
14273 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
14274 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
14275 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
14276 const char *.
14277 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
14278 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
14279 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
14280 install.
14281
14282 2010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
14283
14284 * util/grub-mkconfig.in: Corrected two == equality tests.
14285 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
14286 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
14287 expect a number appended to it.
14288 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
14289 expects a number appended to it.
14290
14291 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
14292
14293 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
14294
14295 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
14296
14297 * util/hostdisk.c (make_device_name): Change to new partition naming.
14298
14299 2010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
14300
14301 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
14302
14303 2010-04-17 Christian Franke <franke@computer.org>
14304
14305 * Makefile.in: Add missing localedir setting.
14306
14307 2010-04-14 Colin Watson <cjwatson@ubuntu.com>
14308
14309 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
14310 mistake in r2156. Noticed by Anthony Fok.
14311
14312 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
14313 @localedir@.
14314 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
14315
14316 2010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
14317
14318 Fix a spurious, uninitialized variable warning.
14319
14320 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
14321 Initialize variable, shdr.
14322 (grub_freebsd_load_elfmodule): Likewise.
14323 (grub_freebsd_load_elf_meta): Likewise.
14324
14325 2010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
14326
14327 Fix for escaped dollar in double quoted strings.
14328
14329 * script/yylex.l: Updated flex rules.
14330 * conf/tests.rmk: Rule for new testcase.
14331 * tests/grub_script_dollar.in: New testcase.
14332
14333 2010-04-13 Carles Pina i Estany <carles@pina.cat>
14334 2010-04-13 Colin Watson <cjwatson@ubuntu.com>
14335
14336 Enclose all translated strings in grub.cfg in single quotes, and
14337 escape them appropriately (Ubuntu bug #552921).
14338
14339 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
14340 * util/grub.d/10_hurd.in: Use it.
14341 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
14342 * util/grub.d/10_linux.in (linux_entry): Likewise.
14343
14344 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
14345
14346 Fix cygwin compilation.
14347
14348 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
14349 * include/grub/misc.h (__register_frame_info)
14350 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
14351 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
14352 * kern/misc.c (__register_frame_info)
14353 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
14354 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
14355
14356 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
14357
14358 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
14359
14360 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
14361
14362 Unify libgcc processing.
14363
14364 * Makefile.in (kernel_img_LDFLAGS): New variable.
14365 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
14366 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
14367 overwriting.
14368 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
14369 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
14370 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
14371 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
14372 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
14373 overwriting. Remove -lgcc and -static-libgcc
14374 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
14375 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
14376 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
14377 (kernel_img_LDFLAGS): Append instead of overwriting.
14378 Remove -lgcc and -static-libgcc
14379 * conf/sparc64-ieee1275.rmk: Likewise.
14380 * include/grub/powerpc/libgcc.h: Move to ...
14381 * include/grub/libgcc.h: .. this.
14382 * include/grub/libgcc.h: Don't export most of the function on x86.
14383 (__bswapsi2): New export.
14384 (__bswapdi2): Likewise.
14385 * include/grub/mips/libgcc.h: Removed.
14386 * include/grub/sparc64/libgcc.h: Likewise.
14387
14388 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
14389
14390 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
14391 disk_info_msg (conflicts with gettexting into languages with cases).
14392
14393 2010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
14394
14395 Add grub-probe support for NetBSD.
14396
14397 * util/getroot.c (find_root_device): Convert block device to
14398 character device on NetBSD.
14399 * util/probe.c (probe): Require character device on NetBSD.
14400 * util/hostdisk.c: NetBSD specific headers.
14401 (configure_device_driver): new function to tune device driver
14402 parameters (currently only for NetBSD floppy driver).
14403 (grub_util_biosdisk_open): NetBSD specific code (get disk size
14404 via disklabel ioctl).
14405 (open_device): call configure_device_driver on NetBSD.
14406 (convert_system_partition_to_system_disk): NetBSD specific code.
14407 (device_is_wholedisk): Likewise.
14408 (grub_util_biosdisk_get_grub_dev): Likewise.
14409 (make_device_name): Fixed a typo in bsd_part_str.
14410 * configure.ac: check for opendisk() and getrawpartition() on
14411 NetBSD and set LIBUTIL.
14412 * Makefile.in: add LIBUTIL to LIBS.
14413
14414 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
14415
14416 Documentation fix.
14417
14418 * util/grub-script-check.c: Better help message.
14419
14420 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
14421
14422 Fix FreeBSD build.
14423
14424 * configure.ac: Flex version check.
14425 * conf/common.rmk: Add -Wno-error to sh.mod.
14426 * script/yylex.l: Remove all #pragma.
14427
14428 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
14429
14430 * include/grub/util/misc.h (canonicalise_file_name): Add missing
14431 prototype.
14432 Reported by: Seth Goldberg.
14433
14434 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
14435
14436 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
14437 Rename "module" to "module2".
14438 Reported by: Seth Goldberg.
14439
14440 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
14441
14442 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
14443 EXPORT_FUNC.
14444 Reported by: Seth Goldberg.
14445
14446 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
14447
14448 * lib/posix_wrap/locale.h: Add missing file.
14449 Reported by: Seth Goldberg.
14450
14451 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
14452
14453 grub-emu module load support.
14454
14455 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
14456 NO_DYNAMIC_MODULES switched to this.
14457 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
14458 (CFLAGS): Likewise.
14459 * conf/any-emu.rmk: Generate symlist.
14460 (kernel_img_HEADERS): Add util/datetime.h.
14461 (kernel_img_HEADERS) [sdl]: Add sdl.h.
14462 (kernel_img_HEADERS) [libusb]: Add libusb.h.
14463 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
14464 kern/$(target_cpu)/cache.S.
14465 * configure.ac (grub-emu-modules): New option.
14466 * genmk.rb: Handle multiple source lists.
14467 * include/grub/sdl.h: New file.
14468 * include/grub/libusb.h: Likewise.
14469 * util/grub-emu.c (main): Hanle (host) root.
14470 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
14471 GRUB_ERR_UNKNOWN_DEVICE.
14472 * util/misc.c: Move mm functions to ...
14473 * util/mm.c: ... here. All users updated.
14474
14475 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
14476
14477 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
14478 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
14479 missing files.
14480 (maintainer-clean): Remove libgcrypt-grub.
14481
14482 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
14483
14484 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
14485
14486 2010-04-09 EFI Coder <eficoder@hotmail.com>
14487
14488 * normal/menu_text.c (print_message): Clean up the message and show
14489 the Fn information when on EFI
14490 * term/efi/console.c (grub_console_checkkey): Add F4 support.
14491
14492 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
14493
14494 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
14495 All users updated.
14496 * normal/crypto.c (read_crypto_list): Likewise.
14497 * normal/dyncmd.c (read_command_list): Likewise.
14498 * normal/term.c (read_terminal_list): Likewise.
14499 * normal/main.c (read_lists): Use explicit prefix.
14500 (read_lists_hook): Use read_lists.
14501 (grub_normal_execute): Likewise.
14502
14503 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
14504
14505 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
14506 Reported by: Thomas Schmitt.
14507 Add -no-emul-boot to grub-mkisofs parameters.
14508
14509 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
14510
14511 * font/font.c: Indented.
14512
14513 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
14514
14515 Elif support to GRUB script (by Deepak Vankadaru).
14516
14517 * tests/grub_script_if.in: New testcase.
14518 * conf/tests.rmk: Rule for new testcase.
14519 * script/parser.y: Grammar rules for elif.
14520
14521 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
14522
14523 While and until loops support to GRUB script.
14524
14525 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
14526 (grub_script_create_cmdwhile): New function prototype.
14527 (grub_script_execute_cmdwhile): New function prototype.
14528 * script/execute.c (grub_script_execute_cmdwhile): New function.
14529 * script/parser.y (command): New commands.
14530 (whilecmd): New grammar rule.
14531 (untilcmd): New grammar rule.
14532 * script/script.c (grub_script_create_cmdwhile): New function.
14533 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
14534 function.
14535
14536 * tests/grub_script_while1.in: New testcase.
14537 * conf/tests.rmk: Rule for new testcase.
14538
14539 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
14540
14541 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
14542 as *.jpg.
14543
14544 2010-04-09 Mario Vazquez <mariovazq@gmail.com>
14545
14546 GRUB_BACKGROUND support.
14547
14548 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
14549 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
14550
14551 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
14552
14553 Load fonts and modules for gfxmenu in grub-mkconfig.
14554 Idea by: Mario Vazquez
14555
14556 * util/grub.d/00_header.in: Load pf2 and image modules.
14557
14558 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
14559
14560 grub-mkconfig multiple terminal support.
14561
14562 * util/grub-mkconfig.in: Handle multiple terminals correctly.
14563 * util/grub.d/00_header.in: Likewise.
14564
14565 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
14566
14567 * Makefile.in: Specify files explicitly instead of using $< and $@ since
14568 we use cd $(srcdir).
14569
14570 2010-04-08 Colin Watson <cjwatson@ubuntu.com>
14571
14572 * util/grub.d/10_linux.in: Only use the first word of
14573 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
14574 spaces in GRUB_DISTRIBUTOR.
14575 * util/grub.d/10_kfreebsd.in: Likewise.
14576 * util/grub.d/10_hurd.in: Likewise.
14577
14578 2010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
14579
14580 Fix unit testing framework for Qemu 0.12.
14581
14582 * tests/util/grub-shell.in: Remove -serial stdio option.
14583
14584 2010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
14585
14586 POSIX header file wrappers.
14587
14588 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
14589 equivalents.
14590 * lib/posix_wrap/ctype.h: Likewise.
14591 * lib/posix_wrap/errno.h: Likewise.
14592 * lib/posix_wrap/langinfo.h: Likewise.
14593 * lib/posix_wrap/limits.h: Likewise.
14594 * lib/posix_wrap/localcharset.h: Likewise.
14595 * lib/posix_wrap/stdint.h: Likewise.
14596 * lib/posix_wrap/stdio.h: Likewise.
14597 * lib/posix_wrap/stdlib.h: Likewise.
14598 * lib/posix_wrap/string.h: Likewise.
14599 * lib/posix_wrap/sys/types.h: Likewise.
14600 * lib/posix_wrap/unistd.h: Likewise.
14601 * lib/posix_wrap/wchar.h: Likewise.
14602 * lib/posix_wrap/wctype.h: Likewise.
14603 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
14604 (grub_script.yy.h): Likewise.
14605 * script/yylex.l: Remove POSIX emulation #defines.
14606 * Makefile.in (POSIX_CFLAGS): New variable.
14607 (GNULIB_UTIL_CFLAGS): Likewise.
14608
14609 Regexp support.
14610
14611 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
14612 (regexp_mod_SOURCES): New variable.
14613 (regexp_mod_CFLAGS): Likewise.
14614 (regexp_mod_LDFLAGS): Likewise.
14615 * commands/regexp.c: New file.
14616 * gnulib/regcomp.c: New file. Imported from gnulib.
14617 * gnulib/regex.c: Likewise.
14618 * gnulib/regex_internal.c: Likewise.
14619 * gnulib/regex_internal.h: Likewise.
14620 * gnulib/regexec.c: Likewise.
14621 * gnulib/regex.h: Likewise.
14622
14623 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
14624
14625 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
14626 unsupported video mode types.
14627
14628 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
14629
14630 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
14631
14632 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
14633
14634 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
14635 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
14636
14637 2010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
14638
14639 Remove unused grub_vga_get_font.
14640
14641 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
14642 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
14643
14644 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
14645
14646 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
14647 * include/grub/misc.h: Likewise.
14648
14649 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
14650
14651 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
14652 for which failure is fatal.
14653
14654 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
14655
14656 * util/grub-install.in: Use mkdir -p to create grub directory.
14657 * util/i386/efi/grub-install.in: Likewise.
14658 * util/ieee1275/grub-install.in: Likewise.
14659
14660 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
14661
14662 * Makefile.in (LEX): new variable.
14663
14664 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
14665
14666 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
14667 `=' and added double quotes on operands of this equality test.
14668
14669 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
14670
14671 * Makefile.in (uninstall): Remove a leftover debug echo.
14672 Reported by: Grégoire Sutre
14673
14674 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
14675
14676 MIPS multiboot2 support.
14677
14678 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
14679 (multiboot2_mod_SOURCES): New variable.
14680 (multiboot2_mod_CFLAGS): Likewise.
14681 (multiboot2_mod_LDFLAGS): Likewise.
14682 (multiboot2_mod_ASFLAGS): Likewise.
14683 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
14684 definition.
14685 (MULTIBOOT_ENTRY_REGISTER): Likewise.
14686 (MULTIBOOT_MBI_REGISTER): Likewise.
14687 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
14688 (MULTIBOOT_ELF32_MACHINE): Likewise.
14689 (MULTIBOOT_ELF64_MACHINE): Likewise.
14690 * include/grub/mips/multiboot.h: New file.
14691 * include/grub/video.h (grub_video_driver_id): New type
14692 GRUB_VIDEO_DRIVER_SM712.
14693 (grub_video_get_info_and_fini): Export.
14694 (grub_video_get_palette): Likewise.
14695 (grub_video_get_driver_id): Likewise.
14696 * include/multiboot2.h: Resynced with spec.
14697 * loader/i386/multiboot.c: Moved from here ...
14698 * loader/multiboot.c: ... here. All users updated.
14699 (grub_multiboot_boot): Use platform-specific macros.
14700 * loader/i386/multiboot_elfxx.c: Moved from here ...
14701 * loader/multiboot_elfxx.c: ... here. All users updated.
14702 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
14703 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
14704 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
14705
14706 2010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
14707
14708 Import gnulib argp module.
14709
14710 * gnulib/argp-ba.c: New file.
14711 * gnulib/argp-eexst.c: Likewise.
14712 * gnulib/argp-fmtstream.c: Likewise.
14713 * gnulib/argp-fmtstream.h: Likewise.
14714 * gnulib/argp-fs-xinl.c: Likewise.
14715 * gnulib/argp-help.c: Likewise.
14716 * gnulib/argp-namefrob.h: Likewise.
14717 * gnulib/argp-parse.c: Likewise.
14718 * gnulib/argp-pin.c: Likewise.
14719 * gnulib/argp-pv.c: Likewise.
14720 * gnulib/argp-pvh.c: Likewise.
14721 * gnulib/argp-version-etc.c: Likewise.
14722 * gnulib/argp-version-etc.h: Likewise.
14723 * gnulib/argp-xinl.c: Likewise.
14724 * gnulib/argp.h: Likewise.
14725
14726 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
14727
14728 * kern/device.c (grub_device_iterate): Clear errors after failed
14729 opening device.
14730
14731 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
14732
14733 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
14734 returned by firmware.
14735
14736 2010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
14737
14738 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
14739 compilation on coreboot and qemu
14740
14741 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
14742
14743 * include/multiboot2.h: Resync with spec.
14744
14745 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
14746
14747 Multiboot2 tag support
14748
14749 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
14750 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
14751 Remove loader/multiboot_loader.c.
14752 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
14753 (grub_multiboot2_real_boot): Likewise.
14754 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
14755 (grub_get_multiboot_mmap_count): New proto.
14756 (grub_fill_multiboot_mmap): Likewise.
14757 (grub_multiboot_set_video_mode): Likewise.
14758 (grub_multiboot_set_console): Likewise.
14759 (grub_multiboot_load): Likewise.
14760 (grub_multiboot_load_elf): Likewise.
14761 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
14762 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
14763 * include/multiboot.h: Resynced with specification.
14764 * include/multiboot2.h: Resynced with specification.
14765 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
14766 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
14767 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
14768 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
14769 users updated.
14770 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
14771 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
14772 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
14773 Removed.
14774 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
14775 Moved from here...
14776 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
14777 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
14778 Moved from here...
14779 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
14780 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
14781 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
14782 All users updated.
14783 * loader/i386/multiboot_mbi2.c: New file.
14784
14785 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
14786
14787 Resync with gnulib.
14788
14789 * Makefile.in (GNULIB_CFLAGS): New variable.
14790 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
14791 (grub_script_check_CFLAGS): New variable.
14792 * gnulib/alloca.h: Resync with gnulib.
14793 * gnulib/error.c: Likewise.
14794 * gnulib/error.h: Likewise.
14795 * gnulib/fnmatch.c: Likewise.
14796 * gnulib/fnmatch_loop.c: Likewise.
14797 * gnulib/getdelim.c: Likewise.
14798 * gnulib/getline.c: Likewise.
14799 * gnulib/getopt.c: Likewise.
14800 * gnulib/getopt1.c: Likewise.
14801 * gnulib/getopt_int.h: Likewise.
14802 * gnulib/gettext.h: Likewise.
14803 * gnulib/progname.c: Likewise.
14804 * gnulib/progname.h: Likewise.
14805
14806 2010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
14807
14808 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
14809 which is the case with --disabled-nls.
14810
14811 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
14812 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
14813 * util/misc.c: Likewise.
14814 * util/mkisofs/mkisofs.c: Likewise.
14815 * util/mkisofs/mkisofs.h: Likewise.
14816
14817 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
14818
14819 Simplify Apple CC support.
14820
14821 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
14822 Add 0 byte at the end not to have a symbol with empty target.
14823 * mmap/i386/pc/mmap_helper.S: Likewise.
14824 * genmk.rb: Ignore errors 2030 and 2050.
14825 * kern/i386/pc/startup.S: Use LOCAL when possible.
14826
14827 2010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
14828
14829 Testcase and the fix for final semicolon on cmdline.
14830
14831 * tests/grub_script_final_semicolon.in: New testcase.
14832 * conf/tests.rmk: Rules for the new testcase.
14833 * script/parser.y: Grammar fix.
14834
14835 2010-03-26 BVK Chaitanya <bvk@localhost>
14836
14837 Blank lines testcase for GRUB script.
14838
14839 * tests/grub_script_blanklines.in: New testcase.
14840 * conf/tests.rmk: Rules for the new testcase.
14841
14842 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
14843
14844 Don't use __FILE__.
14845
14846 * genmk.rb: Add -DGRUB_FILE to all C targets.
14847 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
14848 * include/grub/list.h: Likewise.
14849 * include/grub/misc.h: Likewise.
14850 * include/grub/mm.h: Likewise.
14851 * include/grub/test.h: Likewise.
14852 * kern/mm.c: Likewise.
14853 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
14854
14855 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
14856
14857 Sunpc partitions support.
14858
14859 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
14860 (grub_fstest_SOURCES): Likewise.
14861 (pkglib_MODULES): Add part_sunpc.mod.
14862 (part_sunpc_mod_SOURCES): New variable.
14863 (part_sunpc_mod_CFLAGS): Likewise.
14864 (part_sunpc_mod_LDFLAGS): Likewise.
14865 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
14866 * partmap/sunpc.c: New file.
14867
14868 2010-03-26 BVK Chaitanya <bvk@localhost>
14869
14870 For loop support to GRUB script.
14871
14872 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
14873 (grub_script_create_cmdfor): New function prototype.
14874 (grub_script_execute_cmdfor): New function prototype.
14875 * script/execute.c (grub_script_execute_cmdfor): New function.
14876 * script/parser.y (command): New for command.
14877 (forcmd): New grammar rule.
14878 * script/script.c (grub_script_create_cmdfor): New function.
14879 * util/grub-script-check.c (grub_script_execute_cmdfor): New
14880 function.
14881 * tests/grub_script_for1.in: New testcase.
14882 * conf/tests.rmk: Rules for new testcase.
14883
14884 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
14885
14886 Nested partitions
14887
14888 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
14889 'partition' is NULL, grub_partition_get_start already does that.
14890 * commands/loadenv.c (check_blocklists): Likewise.
14891 (write_blocklists): Likewise.
14892 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
14893 (grub_fstest_SOURCES): Likewise.
14894 (pkglib_MODULES): Add part_bsd.mod.
14895 (part_bsd_mod_SOURCES): New variable.
14896 (part_bsd_mod_CFLAGS): Likewise.
14897 (part_bsd_mod_LDFLAGS): Likewise.
14898 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
14899 (grub_emu_SOURCES): Likewise.
14900 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14901 * include/grub/bsdlabel.h: New file.
14902 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
14903 'get_name'.
14904 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
14905 (grub_partition_map_list): New variable.
14906 (grub_partition_map_register): Inline.
14907 (grub_partition_map_unregister): Likewise.
14908 (FOR_PARTITION_MAPS): New macro.
14909 (grub_partition_map_iterate): Removed.
14910 (grub_partition_get_start): Handle nested partitions.
14911 * include/grub/msdos_partition.h: Remove bsd-related entries.
14912 (grub_pc_partition): Remove.
14913 * kern/disk.c (grub_disk_close): Free partition data.
14914 (grub_disk_adjust_range): Handle nested partitions.
14915 * kern/partition.c (grub_partition_map_probe): New function.
14916 (grub_partition_probe): Parse name to number, handle subpartitions.
14917 (get_partmap): New function.
14918 (grub_partition_iterate): Handle subpartitions.
14919 (grub_partition_get_name): Likewise.
14920 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
14921 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
14922 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
14923 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
14924 Set 'number'.
14925 (acorn_partition_map_probe): Remove.
14926 (acorn_partition_map_get_name): Likewise.
14927 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
14928 Set 'number'.
14929 Set 'index' to 0 since there can be only one partition entry per sector.
14930 (amiga_partition_map_probe): Remove.
14931 (amiga_partition_map_get_name): Likewise.
14932 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
14933 Set 'number'.
14934 Set 'offset' and 'index' to real positions of partitions.
14935 (apple_partition_map_probe): Remove.
14936 (apple_partition_map_get_name): Likewise.
14937 * partmap/bsdlabel.c: New file.
14938 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
14939 Set 'number'.
14940 Allocate 'data' so it can be correctly freed.
14941 Set 'index' to offset inside sector.
14942 (gpt_partition_map_probe): Remove.
14943 (gpt_partition_map_get_name): Likewise.
14944 * partmap/msdos.c (grub_partition_parse): Remove.
14945 (pc_partition_map_iterate): Don't force raw access.
14946 Set 'number'.
14947 Make 'ext_offset' a local variable.
14948 (pc_partition_map_probe): Remove.
14949 (pc_partition_map_get_name): Remove.
14950 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
14951 Set 'number'.
14952 (sun_partition_map_probe): Remove.
14953 (sun_partition_map_get_name): Likewise.
14954 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
14955 (grub_pcpart_type): Likewise.
14956 * util/hostdisk.c (open_device): Handle new numbering scheme.
14957 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
14958 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
14959 * util/grub-probe.c (probe_partmap): Handle nested paritions.
14960 * util/grub-install.in: Insert all subpartition modules.
14961 * util/ieee1275/grub-install.in: Likewise.
14962
14963 2010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
14964
14965 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
14966 grammar.
14967
14968 2010-03-24 Colin Watson <cjwatson@ubuntu.com>
14969
14970 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
14971
14972 2010-03-21 Colin Watson <cjwatson@ubuntu.com>
14973
14974 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
14975 match where 'make install' puts them.
14976 * util/i386/efi/grub-install.in: Likewise.
14977
14978 2010-03-19 Colin Watson <cjwatson@ubuntu.com>
14979
14980 * .bzrignore: Add gentrigtables, grub-script-check,
14981 grub_script_check_init.c, grub_script_check_init.h, and
14982 trigtables.c.
14983
14984 2010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
14985
14986 * kern/parser.c: Indented.
14987
14988 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
14989
14990 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
14991
14992 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
14993
14994 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
14995 alpha_mask_size == 0 case.
14996
14997 2010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
14998
14999 GRUB shell lexer and parser improvements.
15000
15001 * conf/any-emu.rmk: Build rule updates.
15002 * conf/common.rmk: Likewise.
15003 * conf/i386-coreboot.rmk: Likewise.
15004 * conf/i386-efi.rmk: Likewise.
15005 * conf/i386-ieee1275.rmk: Likewise.
15006 * conf/i386-pc.rmk: Likewise.
15007 * conf/powerpc-ieee1275.rmk: Likewise.
15008 * conf/x86_64-efi.rmk: Likewise.
15009
15010 * configure.ac: Configure check for flex.
15011
15012 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
15013 types.
15014 (grub_lexer_param): Struct member updates.
15015 (grub_parser_param): Likewise.
15016 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
15017 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
15018 (grub_script_lexer_init): Prototype update.
15019 (grub_script_lexer_record_start): Likewise.
15020 (grub_script_lexer_record_stop): Likewise.
15021 (grub_script_lexer_yywrap): New function prototype.
15022 (grub_script_lexer_fini): Likewise.
15023 (grub_script_execute_argument_to_string): Removed by...
15024 (grub_script_execute_argument_to_argv): ...better version.
15025
15026 * script/execute.c (ROUND_UPTO): New macro.
15027 (grub_script_execute_cmdline): Out of memory fixes.
15028 (grub_script_execute_menuentry): Likewise.
15029 (grub_script_execute_argument_to_string): Removed. Update all
15030 users by...
15031 (grub_script_execute_argument_to_argv): ...better version.
15032 * script/function.c (grub_script_function_create): Use
15033 grub_script_execute_argument_to_argv instead of
15034 grub_script_execute_argument_to_string.
15035
15036 * script/lexer.c (check_varstate): Removed.
15037 (check_textstate): Removed.
15038 (grub_script_lexer_record_start): Likewise.
15039 (grub_script_lexer_record_stop): Likewise.
15040 (recordchar): Replaced with...
15041 (grub_script_lexer_record): ...new function.
15042 (nextchar): Removed.
15043 (grub_script_lexer_init): Rewritten.
15044 (grub_script_yylex): Rewritten.
15045 (append_newline): New function.
15046 (grub_script_lexer_yywrap): New function.
15047 (grub_script_lexer_fini): New function.
15048 (grub_script_yyerror): Sets error flag.
15049
15050 * script/yylex.l: New file.
15051 (grub_lexer_yyfree): Wrapper for flex yyffre.
15052 (grub_lexer_yyalloc): Likewise.
15053 (grub_lexer_yyrealloc): Likewise.
15054 * script/parser.y: Refactored.
15055
15056 * script/script.c (grub_script_arg_add): Out of memory fixes.
15057 (grub_script_add_arglist): Likewise.
15058 (grub_script_create_cmdline): Likewise.
15059 (grub_script_create_cmdmenu): Likewise.
15060 (grub_script_add_cmd): Likewise.
15061 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
15062 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
15063 unnecessary code.
15064
15065 * tests/grub_script_echo1.in: New testcase.
15066 * tests/grub_script_vars1.in: New testcase.
15067 * tests/grub_script_echo_keywords.in: New testcase.
15068
15069 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
15070
15071 Remove some redundancy in build system.
15072
15073 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
15074 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
15075 (TARGET_LDFLAGS): Add -nostdlib.
15076 (TARGET_IMG_LDFLAGS): Likewise.
15077 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
15078 anything since mmap isn't available.
15079 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
15080 Add util/time.c.
15081 (pkglib_MODULES): Remove reboot.mod.
15082 (reboot_mod_SOURCES): Removed.
15083 (reboot_mod_CFLAGS): Likewise.
15084 (reboot_mod_LDFLAGS): Likewise.
15085 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
15086 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
15087 (DEFSYMFILES): Add kernel_syms.lst.
15088 (kernel_img_HEADERS): Add common headers.
15089 (symlist.c): New target.
15090 (kernel_syms.lst): Likewise.
15091 (pkglib_MODULES): Add memdisk.mod.
15092 (memdisk_mod_SOURCES): New variable.
15093 (memdisk_mod_CFLAGS): Likewise.
15094 (memdisk_mod_LDFLAGS): Likewise.
15095 (pkglib_MODULES): Add reboot.mod.
15096 (reboot_mod_SOURCES): New variable.
15097 (reboot_mod_CFLAGS): Likewise.
15098 (reboot_mod_LDFLAGS): Likewise.
15099 (pkglib_MODULES): Add date.mod.
15100 (date_mod_SOURCES): New variable.
15101 (date_mod_CFLAGS): Likewise.
15102 (date_mod_LDFLAGS): Likewise.
15103 (pkglib_MODULES): Add datehook.mod.
15104 (datehook_mod_SOURCES): New variable.
15105 (datehook_mod_CFLAGS): Likewise.
15106 (datehook_mod_LDFLAGS): Likewise.
15107 (pkglib_MODULES): Add lsmmap.mod.
15108 (lsmmap_mod_SOURCES): New variable.
15109 (lsmmap_mod_CFLAGS): Likewise.
15110 (lsmmap_mod_LDFLAGS): Likewise.
15111 (pkglib_MODULES): Add boot.mod.
15112 (boot_mod_SOURCES): New variable.
15113 (boot_mod_CFLAGS): Likewise.
15114 (boot_mod_LDFLAGS): Likewise.
15115 * conf/i386-coreboot.rmk: Removed redundant parts.
15116 * conf/i386-ieee1275.rmk: Likewise.
15117 * conf/i386-pc.rmk: Likewise.
15118 * conf/mips-yeeloong.rmk: Likewise.
15119 * conf/mips.rmk: Likewise.
15120 * conf/powerpc-ieee1275.rmk: Likewise.
15121 * conf/sparc64-ieee1275.rmk: Likewise.
15122 * conf/x86_64-efi.rmk: Likewise.
15123 * conf/i386-coreboot.rmk: Moved qemu parts ..
15124 * conf/i386-qemu.rmk: ... here
15125 * conf/i386-efi.rmk: Moved common parts to...
15126 * conf/x86-efi.rmk: ... here.
15127 * conf/i386.rmk: Added modules common to all x86 variants.
15128 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
15129 * disk/memdisk.c: Remove grub/machine/kernel.h.
15130 * gensymlist.sh.in: Include symbol.h.
15131 * hook/datehook.c: Correct module name.
15132 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
15133 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
15134 * include/grub/i386/efi/serial.h: New file.
15135 * include/grub/x86_64/efi/serial.h: Likewise.
15136 * util/time.c: Likewise.
15137 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
15138
15139 2010-03-14 Colin King <colin.king@ubuntu.com>
15140 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
15141
15142 Shrink the pre-partition-table part of boot.img by eight bytes.
15143
15144 * boot/i386/pc/boot.S (ERR): New macro.
15145 (chs_mode): Use ERR.
15146 (geometry_error): Likewise.
15147 (hd_probe_error): Remove. This is only used once, so we wrwite
15148 it inline instead.
15149 (read_error): Instead of printing read_error_string, just set up
15150 %si and fall through to ...
15151 (error_message): ... this new function, also used by ERR.
15152
15153 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
15154
15155 Speed up consecutive hostdisk operations on the same device.
15156
15157 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
15158 (grub_util_biosdisk_open): Initialise disk->data.
15159 (struct linux_partition_cache): New structure.
15160 (linux_find_partition): Cache partition start positions; these are
15161 expensive to compute on every read and write.
15162 (open_device): Cache open file descriptor in disk->data, so that we
15163 don't have to reopen it and flush the buffer cache for consecutive
15164 operations on the same device.
15165 (grub_util_biosdisk_close): New function.
15166 (grub_util_biosdisk_dev): Set `close' member.
15167
15168 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
15169 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
15170 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
15171 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
15172 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
15173
15174 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
15175
15176 Compile parts of grub-emu as modules.
15177
15178 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
15179 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
15180 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
15181 (all-local): Add $(GRUB_EMU).
15182 (install-local): Install $(GRUB_EMU).
15183 (uninstall): Uninstall $(GRUB_EMU).
15184 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
15185 * kern/dl.c: Likewise.
15186 * commands/sleep.c: Not include machine/time.h.
15187 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
15188 (COMMON_CFLAGS): Likewise.
15189 (sbin_UTILITIES): Remove grub-emu.
15190 (grub_emu_SOURCES): Removed.
15191 (kernel_img_RELOCATABLE): New variable.
15192 (pkglib_PROGRAMS): Add kernel.img.
15193 (kernel_img_SOURCES): New variable
15194 (kernel_img_CFLAGS): Likewise.
15195 (kernel_img_LDFLAGS): Likewise.
15196 (TARGET_NO_STRIP): Likewise.
15197 (TARGET_NO_DYNAMIC_MODULES): Likewise.
15198 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
15199 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
15200 (grub-emu): New target.
15201 (GRUB_EMU): New variable.
15202 * configure.ac: Whitelist -emu as possible x86_64 architecture.
15203 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
15204 * loader/xnu.c: Likewise.
15205 * include/grub/pci.h: Likewise.
15206 * genemuinit.sh: New file.
15207 * genemuinitheader.sh: Likewise.
15208 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
15209 Support TARGET_NO_DYNAMIC_MODULES.
15210 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
15211 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
15212 * disk/loopback.c: Likewise.
15213 * font/font_cmd.c: Likewise.
15214 * partmap/acorn.c: Likewise.
15215 * partmap/amiga.c: Likewise.
15216 * partmap/apple.c: Likewise.
15217 * partmap/gpt.c: Likewise.
15218 * partmap/msdos.c: Likewise.
15219 * partmap/sun.c: Likewise.
15220 * parttool/msdospart.c: Likewise.
15221 * term/gfxterm.c: Likewise.
15222 * video/bitmap.c: Likewise.
15223 * video/readers/jpeg.c: Likewise.
15224 * video/readers/png.c: Likewise.
15225 * video/readers/tga.c: Likewise.
15226 * video/video.c: Likewise.
15227 * util/grub-emu.c (read_command_list): Removed.
15228 (main): Don't call util_init_nls.
15229 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
15230 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
15231
15232 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
15233
15234 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
15235 date.mod, datehook.mod.
15236 (datetime_mod_SOURCES): New variable.
15237 (datetime_mod_CFLAGS): Likewise.
15238 (datetime_mod_LDFLAGS): Likewise.
15239 (date_mod_SOURCES): Likewise.
15240 (date_mod_CFLAGS): Likewise.
15241 (date_mod_LDFLAGS): Likewise.
15242 (datehook_mod_SOURCES): Likewise.
15243 (datehook_mod_CFLAGS): Likewise.
15244 (datehook_mod_LDFLAGS): Likewise.
15245 * conf/sparc64-ieee1275.rmk: Likewise.
15246 * lib/ieee1275/datetime.c: New file.
15247
15248 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
15249
15250 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
15251 (ieee1275_fb_mod_SOURCES): New variable.
15252 (ieee1275_fb_mod_CFLAGS): Likewise.
15253 (ieee1275_fb_mod_LDFLAGS): Likewise.
15254 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
15255 New proto.
15256 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
15257 (HEAP_MAX_ADDR): Likewise.
15258 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
15259 type.
15260 Correct stop condition.
15261 (grub_ieee1275_devices_iterate): New function.
15262 * video/ieee1275.c: New file.
15263
15264 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
15265
15266 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
15267
15268 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
15269 as scratch.
15270 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
15271 SCRATCH_PAD_DISKBOOT as scratch.
15272 (bootit): Pass Openfirmware pointer in %o4.
15273 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
15274 of 0x200000.
15275 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
15276 with util/grub-mkrawimage.c.
15277 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
15278 * include/grub/aout.h (AOUT_MID_SUN): New definition.
15279 (grub_aout_get_type) [GRUB_UTIL]: Removed.
15280 (grub_aout_load) [GRUB_UTIL]: Likewise.
15281 * include/grub/kernel.h (grub_modules_get_end): New proto.
15282 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
15283 (SCRATCH_PAD_BOOT): New definition.
15284 (SCRATCH_PAD_DISKBOOT): Likewise.
15285 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
15286 * include/grub/sparc64/ieee1275/ieee1275.h
15287 (grub_ieee1275_original_stack): New variable
15288 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
15289 New definition
15290 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
15291 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
15292 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
15293 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
15294 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
15295 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
15296 (grub_platform_image_format_t): New type.
15297 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
15298 * kern/main.c (grub_modules_get_end)
15299 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
15300 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
15301 (codestart): Switch stacks.
15302 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
15303 variable.
15304 (grub_heap_init): Use grub_modules_get_end.
15305 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
15306 stack.
15307 * util/grub-mkrawimage.c (generate_image): Support sparc64.
15308 (main): Likewise.
15309 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
15310
15311 2010-03-14 Thorsten Glaser <tg@mirbsd.org>
15312
15313 * util/grub-mkrescue.in: Base ISO UUID on UTC.
15314
15315 2010-03-08 Matt Kraai <kraai@ftbfs.org>
15316
15317 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
15318 bug #559005).
15319
15320 2010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
15321
15322 * genmoddep.awk: Output all missing symbols and not only first.
15323
15324 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
15325
15326 * NEWS: Put the date of 1.98 release.
15327
15328 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
15329
15330 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
15331 ft2build.h.
15332
15333 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
15334
15335 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
15336 completition in the middle of string.
15337
15338 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
15339
15340 * util/grub-mkrescue.in: Use mktemp with explicit template.
15341
15342 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
15343
15344 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
15345
15346 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
15347
15348 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
15349 right pointer.
15350
15351 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
15352
15353 Fix FreeBSD compilation.
15354
15355 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
15356 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
15357
15358 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
15359
15360 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
15361
15362 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15363
15364 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
15365
15366 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15367
15368 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
15369
15370 2010-03-04 Robert Millan <rmh.grub@aybabtu.com>
15371
15372 Support relative image path in theme file.
15373
15374 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
15375 (image_set_property): Handle theme_dir and relative path.
15376
15377 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15378
15379 * configure.ac: Alias amd64 to x86_64.
15380
15381 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15382
15383 * NEWS: mention multiboot on EFI.
15384
15385 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15386
15387 * kern/main.c (grub_load_modules): Handle errors from init functions of
15388 embeded modules.
15389
15390 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15391
15392 * normal/autofs.c (autoload_fs_module): Handle errors.
15393
15394 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15395
15396 Disable linux.mod on qemu-mips since it's not functional and leads
15397 to compilation failure.
15398
15399 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
15400 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
15401 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
15402 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
15403 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
15404 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
15405 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
15406 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
15407 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
15408 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
15409 Reported by: BVK Chaitanya
15410
15411 2010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
15412
15413 * INSTALL: Add gettext as a dependency and add qemu to a new section
15414 "Prerequisites for make-check".
15415
15416 2010-03-04 Christian Franke <franke@computer.org>
15417
15418 * util/grub-pe2elf.c: Add missing include "progname.h".
15419
15420 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15421
15422 * normal/crypto.c (read_crypto_list): Fix a typo.
15423 Reported by: Seth Goldberg.
15424
15425 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15426
15427 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
15428 Reported by: Seth Goldberg.
15429
15430 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15431
15432 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
15433 ascii.bitmaps.
15434
15435 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15436
15437 * genmk.rb: Remove terminal*.lst in make clean.
15438 Reported by: Seth Goldberg.
15439
15440 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15441
15442 * util/i386/efi/grub-install.in: Copy gettext files.
15443
15444 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
15445
15446 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
15447
15448 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
15449
15450 Wait for user entry basing on presence of output rather than on errors.
15451
15452 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
15453 (grub_install_newline_hook): Likewise.
15454 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
15455 * normal/menu.c (show_menu): Check line_counter to determine presence
15456 of output.
15457 * normal/term.c (grub_normal_line_counter): New variable.
15458 (grub_normal_get_line_counter): New function.
15459 (grub_install_newline_hook): Likewise.
15460
15461 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
15462
15463 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
15464
15465 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
15466
15467 * configure.ac: Update version to 1.98.
15468
15469 2010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
15470
15471 * util/grub.d/10_linux.in (linux_entry): Don't default to
15472 gfxpayload=keep if Linux doesn't support video handover.
15473
15474 2010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
15475
15476 Don't compile video modules on yeeloong since video subsystem is part
15477 of kernel.
15478
15479 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
15480 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
15481 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
15482 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
15483 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
15484 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
15485 * include/grub/bitmap_scale.h: Likewise.
15486 * include/grub/bufio.h: Likewise.
15487 * include/grub/font.h: Likewise.
15488 * include/grub/gfxterm.h: Likewise.
15489 * include/grub/video.h: Likewise.
15490 * include/grub/vbe.h: Don't include video_fb.h.
15491 * video/i386/pc/vbe.c: Include video_fb.h.
15492 * commands/i386/pc/vbetest.c: Include video.h.
15493
15494 2010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
15495
15496 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
15497 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
15498 default entry if GRUB_SAVEDEFAULT=true. This allows using
15499 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
15500 saving a new default on every boot.
15501
15502 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
15503
15504 * normal/crypto.c (read_crypto_list): Fix a memory leak.
15505 * normal/term.c (read_terminal_list): Likewise.
15506 * normal/main.c (grub_normal_init_page): Likewise.
15507 (grub_normal_read_line_real): Likewise.
15508
15509 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
15510
15511 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
15512 memory leak.
15513 Reported by: Seth Goldberg.
15514
15515 2010-02-24 Joey Korkames <joey+lists@kidfixit.com>
15516
15517 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
15518 duplicate declaration of `start'.
15519
15520 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
15521
15522 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
15523 filename.
15524 Reported by: Georgy Buranov
15525
15526 2010-02-20 Carles Pina i Estany <carles@pina.cat>
15527
15528 * util/grub-mkrawimage.c (usage): Change string formatting to
15529 improve gettext.
15530
15531 2010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
15532
15533 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
15534 backspace keys.
15535
15536 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
15537
15538 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
15539 Reported by: Michael Suchanek.
15540
15541 2010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
15542
15543 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
15544 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
15545
15546 2010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
15547
15548 Remove any reference to non-free fonts.
15549
15550 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
15551 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
15552 uses non-free components.
15553 * font/font.c (grub_font_get_name): Remove example name.
15554 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
15555 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
15556 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
15557 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
15558
15559 2010-02-16 Georgy Buranov <gburanov@gmail.com>
15560
15561 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
15562
15563 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
15564
15565 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
15566 Double divisor.
15567 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
15568 features.
15569 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
15570
15571 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
15572
15573 * gensymlist.sh.in: Use TARGET_CC instead of CC.
15574
15575 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
15576
15577 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
15578 * docs/grub.texi (Command-line and menu entry commands): Document play
15579 command.
15580
15581 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
15582
15583 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
15584 parse arguments as inline tempo and notes. Move code for playing notes
15585 to...
15586 (play): ... new function.
15587
15588 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
15589
15590 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
15591 grub_uint16_t instead of short.
15592 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
15593 disk from little endian to cpu endianness.
15594
15595 2010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
15596
15597 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
15598 GRUB_TICKS_PER_SECOND instead of 120.
15599
15600 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
15601
15602 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
15603 escape sequence after \e.
15604
15605 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
15606
15607 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
15608 non-ASCII characters.
15609
15610 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
15611
15612 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
15613 set root in single quotes to prevent \, from being unescaped.
15614
15615 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
15616
15617 Prevent unknown commands from stopping menuentry execution.
15618
15619 * script/execute.c (grub_script_execute_cmdline): Print error after
15620 unknown command.
15621
15622 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
15623
15624 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
15625 Reported by: Pavel Pisa.
15626
15627 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15628
15629 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
15630
15631 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15632
15633 Merge grub_ieee1275_map_physical into grub_map and rename to
15634 grub_ieee1275_map
15635
15636 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
15637 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
15638 Remove.
15639 * kern/ieee1275/openfw.c (grub_map): Rename to ...
15640 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
15641 necessary.
15642 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
15643
15644 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15645
15646 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
15647 opening and not after.
15648
15649 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15650
15651 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
15652 constants.
15653
15654 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15655
15656 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
15657 (alloc_phys): Use ALIGN_UP instead of align_addr.
15658
15659 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15660
15661 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
15662
15663 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15664
15665 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
15666
15667 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15668
15669 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
15670 verbose dprintf.
15671
15672 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15673
15674 Fix over-4GiB seek on sparc64.
15675
15676 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
15677 Replace pos_i and pos_lo with pos. All users updated.
15678 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
15679 New constant.
15680 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
15681 Likewise.
15682 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
15683 and pos_lo.
15684
15685 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15686
15687 * util/grub-mkrawimage.c (main): Call set_program_name.
15688
15689 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15690
15691 Properly align 64-bit targets.
15692
15693 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
15694 (generate_image): Use ALIGN_ADDR.
15695
15696 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15697
15698 Properly create cross-endian images.
15699
15700 * include/grub/types.h (grub_host_to_target_addr): New macro
15701 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
15702
15703 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15704
15705 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
15706
15707 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
15708
15709 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
15710
15711 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
15712 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
15713 (grub_linux_boot): Divide by 64K when on VESA.
15714
15715 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
15716
15717 Support GRUB_GFXPAYLOAD_LINUX.
15718
15719 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
15720 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
15721
15722 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
15723
15724 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
15725 to show messages instead of discarding them.
15726 Process errors after executing command and not before. Keep old method
15727 too as precaution.
15728
15729 2010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
15730
15731 * configure.ac: Check for ft2build.h.
15732
15733 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
15734
15735 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
15736
15737 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
15738
15739 * genkernsyms.sh.in: Use TARGET_CC.
15740
15741 2010-02-07 Colin Watson <cjwatson@ubuntu.com>
15742
15743 * NEWS: Update.
15744
15745 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
15746
15747 * include/grub/multiboot2.h: Remove leftover file.
15748 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
15749 * include/grub/partition.h [GRUB_UTIL]: Likewise.
15750
15751 2010-02-07 Yves Blusseau <blusseau@zetam.org>
15752
15753 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
15754
15755 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
15756
15757 Fix warnings in grub-emu when compiling with maximum warning options.
15758
15759 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
15760 (grub_arch_modules_addr): Return 0 and not NULL.
15761 * util/misc.c (ENABLE_RELOCATABLE): New definition.
15762 (xstrdup): Use newstr instead of dup.
15763 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
15764 of disk to dsk to avoid shadowing.
15765 (find_free_slot): Fix prototype.
15766 * util/getroot.c (grub_util_is_dmraid): Make static.
15767 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
15768 Add missing prototype.
15769 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
15770
15771 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
15772
15773 * loader/i386/linux.c (grub_linux_setup_video): Handle error
15774 appropriately.
15775
15776 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
15777
15778 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
15779 code out.
15780
15781 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
15782
15783 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
15784 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
15785 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
15786 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
15787 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
15788 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
15789
15790 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
15791
15792 * include/grub/err.h (grub_err_printf): Don't export.
15793
15794 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
15795
15796 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
15797
15798 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
15799
15800 * include/grub/i18n.h (grub_gettext_dummy): Removed.
15801 * kern/misc.c (grub_gettext_dummy): Make static.
15802
15803 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
15804
15805 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
15806 by non-valid ones.
15807 * kern/term.c (grub_putchar): Likewise.
15808
15809 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
15810
15811 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
15812 buggy hook call and memory leak.
15813
15814 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
15815
15816 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
15817
15818 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
15819
15820 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
15821
15822 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
15823
15824 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
15825 modevar.
15826 Return grub_errno on allocation error.
15827
15828 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
15829
15830 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
15831
15832 2010-02-06 Yves Blusseau <blusseau@zetam.org>
15833
15834 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
15835 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
15836
15837 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
15838
15839 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
15840 non-pxe disk.
15841 (grub_pxefs_open): Likewise.
15842
15843 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
15844
15845 * util/grub.d/10_hurd.in: Add --class information to menuentries.
15846 * util/grub.d/10_kfreebsd.in: Likewise.
15847 * util/grub.d/10_linux.in: Likewise.
15848
15849 2010-02-06 Colin D Bennett <colin@gibibit.com>
15850
15851 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
15852 (gfxmenu_mod_SOURCES): New variable.
15853 (gfxmenu_mod_CFLAGS): Likewise.
15854 (gfxmenu_mod_LDFLAGS): Likewise.
15855 * include/grub/term.h (grub_term_set_current_output): Declare
15856 argument as const.
15857 * docs/gfxmenu-theme-example.txt: New file.
15858 * gfxmenu/gfxmenu.c: Likewise.
15859 * gfxmenu/gui_box.c: Likewise.
15860 * gfxmenu/gui_canvas.c: Likewise.
15861 * gfxmenu/gui_circular_progress.c: Likewise.
15862 * gfxmenu/gui_image.c: Likewise.
15863 * gfxmenu/gui_label.c: Likewise.
15864 * gfxmenu/gui_list.c: Likewise.
15865 * gfxmenu/gui_progress_bar.c: Likewise.
15866 * gfxmenu/gui_string_util.c: Likewise.
15867 * gfxmenu/gui_util.c: Likewise.
15868 * gfxmenu/icon_manager.c: Likewise.
15869 * gfxmenu/model.c: Likewise.
15870 * gfxmenu/named_colors.c: Likewise.
15871 * gfxmenu/theme_loader.c: Likewise.
15872 * gfxmenu/view.c: Likewise.
15873 * gfxmenu/widget-box.c: Likewise.
15874 * include/grub/gfxmenu_model.h: Likewise.
15875 * include/grub/gfxmenu_view.h: Likewise.
15876 * include/grub/gfxwidgets.h: Likewise.
15877 * include/grub/gui.h: Likewise.
15878 * include/grub/gui_string_util.h: Likewise.
15879 * include/grub/icon_manager.h: Likewise.
15880
15881 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
15882
15883 Agglomerate scrolling in gfxterm.
15884
15885 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
15886 (grub_virtual_screen_setup): Initialise 'total_screen'.
15887 (write_char): Split to ...
15888 (paint_char): ... this ...
15889 (write_char): ... and this.
15890 (paint_char): Handle delayed scrolling.
15891 (draw_cursor): Likewise.
15892 (scroll_up): Split to ...
15893 (real_scroll): ... this ...
15894 (scroll_up): ... and this.
15895 (real_scroll): Handle multi-line scroll and draw below-the-bottom
15896 characters.
15897 (grub_gfxterm_refresh): Call real_scroll.
15898
15899 2010-02-06 Colin D Bennett <colin@gibibit.com>
15900
15901 * include/grub/misc.h (grub_iscntrl): New inline function.
15902 (grub_isalnum): Likewise.
15903 (grub_strtol): Likewise.
15904
15905 2010-02-06 Colin D Bennett <colin@gibibit.com>
15906
15907 * normal/menu_text.c (get_entry_number): Move from here ...
15908 * normal/menu.c (get_entry_number): ... moved here.
15909 * include/grub/menu.h (grub_menu_get_default_entry_index):
15910 New prototype.
15911 * normal/menu.c (grub_menu_get_default_entry_index): New function.
15912 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
15913 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
15914 (grub_menu_viewer_should_return): Likewise.
15915 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
15916 * normal/menu_text.c (run_menu): Enable menu switching.
15917 * normal/menu_viewer.c (should_return): New variable.
15918 (menu_viewer_changed): Likewise.
15919 (grub_menu_viewer_show_menu): Handle menu viewer changes.
15920 (grub_menu_viewer_should_return): New function.
15921 (menuviewer_write_hook): Likewise.
15922 (grub_menu_viewer_init): Likewise.
15923
15924 2010-02-06 Colin D Bennet <colin@gibibit.com>
15925 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
15926
15927 Support for gfxterm in a window.
15928
15929 * include/grub/gfxterm.h: New file.
15930 * include/grub/video.h (struct grub_video_rect): New declaration.
15931 (grub_video_rect_t): Likewise.
15932 * term/gfxterm.c (struct grub_gfxterm_window): New type.
15933 (refcount): New variable.
15934 (render_target): Likewise.
15935 (window): Likewise.
15936 (repaint_callback): Likewise.
15937 (grub_virtual_screen_setup): Use 'render_target'.
15938 (init_window): New function.
15939 (grub_gfxterm_init_window): Likewise.
15940 (grub_gfxterm_init): Check reference counter.
15941 Use init_window.
15942 (destroy_window): New function.
15943 (grub_gfxterm_destroy_window): Likewise.
15944 (grub_gfxterm_fini): Check reference counter.
15945 Use destroy_window.
15946 (redraw_screen_rect): Restore viewport.
15947 Use 'render_target' and 'window'.
15948 Call 'repaint_callback'.
15949 (write_char): Use 'render_target'.
15950 (draw_cursor): Likewise.
15951 (scroll_up): Restore viewport.
15952 Use 'render_target' and 'window'.
15953 Call 'repaint_callback'.
15954 (grub_gfxterm_cls): Likewise.
15955 (grub_gfxterm_refresh): Use 'window'.
15956 (grub_gfxterm_set_repaint_callback): New function.
15957 (grub_gfxterm_background_image_cmd): Use 'window'.
15958 (grub_gfxterm_get_term): New function.
15959 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
15960
15961 2010-02-06 Colin D Bennett <colin@gibibit.com>
15962
15963 Bitmap scaling support.
15964
15965 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
15966 (bitmap_scale_mod_SOURCES): New variable.
15967 (bitmap_scale_mod_CFLAGS): Likewise.
15968 (bitmap_scale_mod_LDFLAGS): Likewise.
15969 * include/grub/bitmap_scale.h: New file.
15970 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
15971 (background_image_cmd_options): New variable.
15972 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
15973 (cmd): Rename and change type to ...
15974 (background_image_cmd_handle): ... this. All users updated.
15975 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
15976 * video/bitmap_scale.c: New file.
15977
15978 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
15979
15980 SDL support.
15981
15982 * Makefile.in (LIBSDL): New variable.
15983 (enable_grub_emu_sdl): Likewise.
15984 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
15985 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
15986 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
15987 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
15988 * util/sdl.c: New file.
15989
15990 2010-02-06 Colin D Bennett <colin@gibibit.com>
15991 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
15992
15993 Double buffering support.
15994
15995 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
15996 * include/grub/video.h: Update comment.
15997 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
15998 New type.
15999 (grub_video_fb_doublebuf_blit_init): New prototype.
16000 * term/gfxterm.c (scroll_up): Support double buffering.
16001 (grub_gfxterm_refresh): Likewise.
16002 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
16003 (grub_video_fb_doublebuf_blit_init): Likewise.
16004 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
16005 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
16006 'displayed_page', 'render_page' and 'update_screen'.
16007 (grub_video_vbe_fini): Free offscreen buffer.
16008 (doublebuf_pageflipping_commit): New function.
16009 (doublebuf_pageflipping_update_screen): Likewise.
16010 (doublebuf_pageflipping_init): Likewise.
16011 (double_buffering_init): Likewise.
16012 (grub_video_vbe_setup): Enable doublebuffering.
16013 (grub_video_vbe_swap_buffers): Implement.
16014 (grub_video_vbe_set_active_render_target): Handle double buffering.
16015 (grub_video_vbe_get_active_render_target): Likewise.
16016 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
16017 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
16018 (grub_video_vbe_enable_double_buffering): Likewise.
16019 (grub_video_vbe_swap_buffers): Use update_screen.
16020 (grub_video_set_mode): Use double buffering.
16021
16022 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
16023
16024 * maintainance/gentrigtables.py: Remove.
16025 * lib/trig.c: Likewise.
16026
16027 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
16028
16029 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
16030 `trigtables.c'.
16031 (trigtables.c): New rule.
16032 (gentrigtables): Likewise.
16033 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
16034
16035 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
16036
16037 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
16038 integer constants.
16039
16040 2010-02-06 Colin D Bennet <colin@gibibit.com>
16041
16042 Trigonometry support.
16043
16044 * include/grub/trig.h: New file.
16045 * lib/trig.c: Likewise.
16046 * maintainance/gentrigtables.py: Likewise.
16047 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
16048 (trig_mod_SOURCES): New variable.
16049 (trig_mod_CFLAGS): Likewise.
16050 (trig_mod_LDFLAGS): Likewise.
16051
16052 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
16053
16054 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
16055 disk devices.
16056
16057 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
16058
16059 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
16060 error.
16061
16062 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
16063
16064 * util/hostdisk.c (open_device): Don't use partition device when reading
16065 before the partition.
16066 (grub_util_biosdisk_read): Don't read from partition and before the
16067 partition in single operation.
16068 (grub_util_biosdisk_write): Don't write to partition and before the
16069 partition in single operation.
16070
16071 2010-02-03 Torsten Landschoff <torsten@debian.org>
16072
16073 * kern/disk.c (grub_disk_read): Fix offset computation when reading
16074 last sectors.
16075
16076 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
16077
16078 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
16079 CDROM reads.
16080 (grub_biosdisk_write): Refuse to write to CDROM.
16081
16082 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
16083
16084 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
16085
16086 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
16087
16088 * font/font.c (find_glyph): Check that bmp_idx is available before
16089 using it.
16090 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
16091 with (font == NULL).
16092
16093 2010-01-28 Christian Schmitt <chris@ilovelinux.de>
16094
16095 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
16096
16097 2010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
16098
16099 * include/grub/script_sh.h (sourcecode): Add const qualifier.
16100 * util/grub-script-check.c (getline): Fix empty lines case.
16101
16102 2010-01-28 Robert Millan <rmh.grub@aybabtu.com>
16103
16104 * Makefile.in (check): Exit with fail status when one of the tests
16105 fails.
16106 * tests/example_functional_test.c (example_test): Fix reversed assert.
16107 * tests/example_unit_test.c (example_test): Likewise.
16108
16109 2010-01-28 Colin Watson <cjwatson@ubuntu.com>
16110
16111 * util/grub.d/10_linux.in: This script does not use any of the
16112 contents of gettext.sh, only the external command `gettext', so stop
16113 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
16114 the same prefix as GRUB.)
16115 * util/grub.d/10_kfreebsd.in: Likewise.
16116
16117 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
16118
16119 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
16120 of the line.
16121
16122 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
16123
16124 * kern/disk.c (grub_disk_read): Fix offset computation when reading
16125 last sectors.
16126
16127 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
16128
16129 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
16130 having a 4KiB and not 32KiB buffer size.
16131
16132 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
16133
16134 * util/hostfs.c: Include `<errno.h>'.
16135 (grub_hostfs_read): Handle errors from fseeko() and fread().
16136
16137 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
16138
16139 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
16140 loop when using read hooks on files whose size isn't sector-aligned.
16141
16142 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
16143
16144 Remove unused parameter.
16145
16146 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
16147 (grub_iso9660_open): Remove initialization of `data->length'.
16148
16149 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
16150
16151 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
16152 memleak conditions.
16153
16154 2010-01-27 Carles Pina i Estany <carles@pina.cat>
16155
16156 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
16157 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
16158
16159 2010-01-26 Carles Pina i Estany <carles@pina.cat>
16160
16161 * util/bin2h.c (usage): Fix warning (space after backslash).
16162
16163 2010-01-26 Carles Pina i Estany <carles@pina.cat>
16164
16165 * font/font.c: Include `grub/fontformat.h.
16166 Remove font file format constants.
16167 (grub_font_load): Use the new macros.
16168 * include/grub/fontformat.h: New file.
16169 * util/grub-mkfont.c: Include `grub/fontformat.c'.
16170 (write_font_pf2): Use the new macros.
16171
16172 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
16173
16174 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
16175 does.
16176
16177 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
16178
16179 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
16180
16181 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
16182 (_start): Macroify `0x7F'.
16183
16184 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
16185 (make_install_device): Use "(pxe)" as fallback prefix when booting
16186 via PXE.
16187
16188 2010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
16189
16190 * configure.ac: Reset LIBS after check for libgcc symbols.
16191
16192 2010-01-25 Colin Watson <cjwatson@ubuntu.com>
16193
16194 * util/hostdisk.c (open_device): Add trailing newline to debug
16195 message.
16196
16197 2010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
16198
16199 * configure.ac: Check for `limits.h'.
16200 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
16201
16202 2010-01-24 Robert Millan <rmh.grub@aybabtu.com>
16203
16204 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
16205 capitalize error strings.
16206
16207 2010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
16208
16209 * util/grub.d/10_hurd.in: Add a recovery mode.
16210
16211 2010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
16212
16213 * configure.ac: Check for libgcc symbols with -nostdlib.
16214
16215 2010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
16216
16217 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
16218
16219 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
16220
16221 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
16222 stack since heap may be unavailable at that point.
16223 (grub_ofconsole_gotoxy): Likewise.
16224
16225 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
16226
16227 * configure.ac: Check for _restgpr_14_x.
16228 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
16229 and _savegpr_* prototypes.
16230
16231 2010-01-22 Robert Millan <rmh.grub@aybabtu.com>
16232
16233 Use generic grub_reboot() for i386-efi.
16234
16235 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
16236 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
16237 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
16238
16239 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
16240
16241 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
16242 presence of "prefix" variable as it breaks when normal.mod is
16243 embedded.
16244
16245 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
16246
16247 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
16248 stack since heap is unavailable at that point.
16249
16250 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
16251
16252 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
16253 (grub_freebsd_bootinfo): Rewritten.
16254 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
16255
16256 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
16257
16258 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
16259
16260 2010-01-21 Robert Millan <rmh.grub@aybabtu.com>
16261
16262 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
16263 domain now.
16264
16265 2010-01-20 Felix Zielcke <fzielcke@z-51.de>
16266
16267 * util/misc.c (make_system_path_relative_to_its_root): Change the work
16268 around for handling "/" to the correct fix. Fix a memory leak. Use
16269 xstrdup instead of strdup.
16270
16271 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16272
16273 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
16274
16275 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16276
16277 Optimise glyph lookup by Basic Multilingual Plane lookup array.
16278
16279 * font/font.c (struct grub_font): New member 'bmp_idx'.
16280 (font_init): Initialise 'bmp_idx'.
16281 (load_font_index): Fill 'bmp_idx'.
16282 (find_glyph): Make inline. Use bmp_idx for BMP characters.
16283
16284 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16285
16286 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
16287 unnecessary calls.
16288
16289 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16290
16291 Move context handling out of the kernel.
16292
16293 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
16294 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
16295 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
16296 * conf/i386-efi.rmk: Likewise.
16297 * conf/i386-ieee1275.rmk: Likewise.
16298 * conf/i386-pc.rmk: Likewise.
16299 * conf/powerpc-ieee1275.rmk: Likewise.
16300 * conf/sparc64-ieee1275.rmk: Likewise.
16301 * conf/x86_64-efi.rmk: Likewise.
16302 * include/grub/env.h: Include grub/menu.h.
16303 (grub_env_var_type): Removed.
16304 (grub_env_var): Replaced field 'type' with 'global'.
16305 (grub_env_find): New prototype.
16306 (grub_env_context_open): Remove EXPORT_FUNC.
16307 (grub_env_context_close): Likewise.
16308 (grub_env_export): Likewise.
16309 (grub_env_set_data_slot): Removed.
16310 (grub_env_get_data_slot): Likewise.
16311 (grub_env_unset_data_slot): Likewise.
16312 (grub_env_unset_menu): New prototype.
16313 (grub_env_set_menu): Likewise.
16314 (grub_env_get_menu): Likewise.
16315 * include/grub/env_private.h: New file.
16316 * include/grub/normal.h (grub_context_init): New prototype.
16317 (grub_context_fini): Likewise.
16318 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
16319 * normal/context.c (grub_cmd_export): ... to here.
16320 * kern/env.c: Include env_private.h.
16321 (HASHSZ): Moved to include/grub/env_private.h.
16322 (grub_env_context): Likewise.
16323 (grub_env_sorted_var): Likewise.
16324 (current_context): Renamed from this ...
16325 (grub_current_context): ...to this. 'static' removed. All users updated.
16326 (grub_env_find): Removed 'static'.
16327 (grub_env_context_open): Moved to normal/context.c.
16328 (grub_env_context_close): Likewise.
16329 (grub_env_export): Likewise.
16330 (mangle_data_slot_name): Removed.
16331 (grub_env_set_data_slot): Likewise.
16332 (grub_env_get_data_slot): Likewise.
16333 (grub_env_unset_data_slot): Likewise.
16334 * kern/main.c (grub_set_root_dev): Don't export root.
16335 It will be done later.
16336 (grub_main): Don't export prefix.
16337 It will be done later.
16338 * normal/context.c: New file.
16339 * normal/main.c (free_menu): Use grub_env_unset_menu.
16340 (grub_normal_add_menu_entry): Use grub_env_get_menu.
16341 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
16342 (GRUB_MOD_INIT(normal)): Call grub_context_init.
16343 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
16344
16345 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16346
16347 setpci support.
16348
16349 * commands/setpci.c: New file.
16350 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
16351 (setpci_mod_SOURCES): New variable.
16352 (setpci_mod_CFLAGS): Likewise.
16353 (setpci_mod_LDFLAGS): Likewise.
16354
16355 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16356
16357 Byte-addressable PCI configuration space.
16358
16359 * bus/pci.c (grub_pci_make_address): Use byte address instead of
16360 dword address.
16361 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
16362 GRUB_PCI_REG_CACHELINE.
16363 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
16364 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
16365 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
16366 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
16367 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
16368 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
16369 grub_pci_make_address.
16370 (lock_rom_area): Likewise.
16371 * commands/lspci.c (grub_lspci_iter): Use macroses
16372 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
16373 of grub_pci_make_address.
16374 * disk/ata.c (grub_ata_pciinit): Likewise.
16375 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
16376 (GRUB_PCI_REG_VENDOR): Likewise.
16377 (GRUB_PCI_REG_DEVICE): Likewise.
16378 (GRUB_PCI_REG_COMMAND): Likewise.
16379 (GRUB_PCI_REG_STATUS): Likewise.
16380 (GRUB_PCI_REG_REVISION): Likewise.
16381 (GRUB_PCI_REG_CLASS): Likewise.
16382 (GRUB_PCI_REG_CACHELINE): Likewise.
16383 (GRUB_PCI_REG_LAT_TIMER): Likewise.
16384 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
16385 (GRUB_PCI_REG_BIST): Likewise.
16386 (GRUB_PCI_REG_ADDRESSES): Likewise.
16387 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
16388 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
16389 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
16390 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
16391 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
16392 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
16393 (GRUB_PCI_REG_CIS_POINTER): Likewise.
16394 (GRUB_PCI_REG_SUBVENDOR): Likewise.
16395 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
16396 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
16397 (GRUB_PCI_REG_CAP_POINTER): Likewise.
16398 (GRUB_PCI_REG_IRQ_LINE): Likewise.
16399 (GRUB_PCI_REG_IRQ_PIN): Likewise.
16400 (GRUB_PCI_REG_MIN_GNT): Likewise.
16401 (GRUB_PCI_REG_MAX_LAT): Likewise.
16402 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
16403 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
16404 * video/efi_uga.c (find_framebuf): Likewise.
16405 * video/sm712.c (grub_video_sm712_setup): Likewise.
16406 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
16407 space.
16408
16409 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
16410
16411 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
16412 can be reliably determined to be supported.
16413
16414 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
16415
16416 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
16417 that VESA is supported.
16418 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
16419 supported.
16420
16421 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16422
16423 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
16424
16425 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
16426
16427 * util/misc.c (make_system_path_relative_to_its_root): Work around
16428 special-casing of "/", as previous incarnation of this routine did.
16429
16430 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16431
16432 Fix any-emu compilation.
16433
16434 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
16435 * grub_bin2h_SOURCES: New variable.
16436
16437 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
16438
16439 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
16440
16441 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
16442
16443 * util/grub.d/00_header.in: Fix handling of locale_dir.
16444
16445 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16446
16447 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
16448 as possible unifont location (Gentoo).
16449 Reported by: Alexander Brüning
16450
16451 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16452
16453 Don't try to generate lists for kernel.img.
16454
16455 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
16456 (pkglib_MODULES): Remove kernel.img.
16457 (kernel_img_EXPORTS): Removed.
16458 (kernel_img_RELOCATABLE): New variable.
16459 * conf/x86_64-efi.rmk: Likewise.
16460 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
16461
16462 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16463
16464 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
16465 grub_xasprintf or grub_snprintf.
16466 (grub_vsprintf): Likewise.
16467 (grub_snprintf): New proto.
16468 (grub_vsnprintf): Likewise.
16469 (grub_xasprintf): Likewise.
16470 (grub_xvasprintf): Likewise.
16471 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
16472 (grub_sprintf): Removed.
16473 (grub_vsnprintf): New function.
16474 (grub_snprintf): Likewise.
16475 (grub_xvasprintf): Likewise.
16476 (grub_xasprintf): Likewise.
16477 (grub_vsprintf): Renamed to ...
16478 (grub_vsnprintf_real): ...this. New argument max_len.
16479
16480 2010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
16481
16482 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
16483 fix grub-script-check warning.
16484
16485 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16486
16487 * include/grub/font.h (grub_font_load): Fix prototype.
16488
16489 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16490
16491 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
16492
16493 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16494
16495 * include/grub/x86_64/at_keyboard.h: New file.
16496
16497 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16498
16499 * loader/mips/linux.c: Include missing grub/i18n.h.
16500
16501 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
16502
16503 * normal/menu.c (notify_execution_failure): Clarify error message.
16504
16505 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
16506
16507 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
16508 return value (and revert all return statements). Update users.
16509
16510 2010-01-20 Dan Merillat <debian@dan.merillat.org>
16511
16512 * kern/device.c (grub_device_iterate): Allocate new part_ent
16513 structure based on sizeof (*p) rather than sizeof (p->next), to
16514 account for structure padding.
16515
16516 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
16517 disk is NULL, which might happen for LVM physical volumes with no
16518 LVM signature.
16519
16520 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
16521
16522 * loader/mips/linux.c (grub_cmd_initrd)
16523 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
16524
16525 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
16526
16527 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
16528 (grub_video_video_init, grub_video_bitmap_init)
16529 (grub_font_manager_init, grub_term_gfxterm_init)
16530 (grub_at_keyboard_init): New extern declarations.
16531 (grub_machine_init): Initialize gfxterm and at_keyboard.
16532
16533 * kern/main.c (grub_main): Revert grub_printf delay kludge.
16534
16535 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
16536 `gfxterm.mod' into core image.
16537
16538 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
16539 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
16540 (kernel_img_FORMAT): Copy to ...
16541
16542 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
16543 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
16544 (kernel_img_FORMAT): ... here, and ...
16545
16546 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
16547 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
16548 (kernel_img_FORMAT): ... here.
16549
16550 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
16551 and input (at_keyboard) terminals in kernel.
16552 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
16553
16554 (pkglib_MODULES): Remove `pci.mod'.
16555 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
16556 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
16557 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
16558 (at_keyboard_mod_LDFLAGS): Remove variables.
16559
16560 2010-01-11 Felix Zielcke <fzielcke@z-51.de>
16561
16562 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
16563
16564 2009-12-10 Robert Millan <rmh.grub@aybabtu.com>
16565
16566 * include/grub/mips/libgcc.h: Only export symbols for functions
16567 that libgcc provides.
16568
16569 2009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
16570
16571 MIPS support.
16572
16573 * bus/bonito.c: New file.
16574 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
16575 GRUB_PCI_NUM_DEVICES.
16576 * term/i386/pc/serial.c: Move to ...
16577 * term/serial.c: ... here. All users updated.
16578 * util/i386/pc/grub-mkimage.c: Move to ...
16579 * util/grub-mkrawimage.c: ... here. All users updated.
16580 * term/i386/pc/at_keyboard.c: Move to ...
16581 * term/at_keyboard.c: ... here. All users updated.
16582 * conf/mips-qemu-mips.rmk: New file.
16583 * conf/mips-yeeloong.rmk: Likewise.
16584 * conf/mips.rmk: Likewise.
16585 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
16586 mipsel-qemu-mips.
16587 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
16588 to port addresses.
16589 (grub_ata_pciinit): Support CS5536.
16590 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
16591 * font/font_cmd.c (loadfont_command): Open file before passing it to
16592 grub_font_load.
16593 (pseudo_file_read): New function.
16594 (pseudo_file_close): Likewise.
16595 (pseudo_fs): New structure.
16596 (load_font_module): New function.
16597 (GRUB_MOD_INIT(font_manager)): Load embedded font.
16598 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
16599 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
16600 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
16601 * include/grub/i386/at_keyboard.h: Split into ...
16602 * include/grub/at_keyboard.h: ... this ...
16603 * include/grub/i386/at_keyboard.h: ... and this.
16604 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
16605 New prototype.
16606 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
16607 updated.
16608 (grub_elf64_size): Likewise.
16609 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
16610 filename.
16611 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
16612 * include/grub/i386/coreboot/serial.h: Rewritten.
16613 * include/grub/i386/ieee1275/serial.h: Include
16614 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
16615 * include/grub/i386/pc/serial.h: Moved from here ...
16616 * include/grub/serial.h: ... to here. All users updated.
16617 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
16618 (GRUB_PCI_NUM_BUS): Likewise.
16619 (GRUB_PCI_NUM_DEVICES): Likewise.
16620 (grub_pci_device_map_range): Add missing volatile keyword.
16621 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
16622 * include/grub/mips/at_keyboard.h: New file.
16623 * include/grub/mips/cache.h: Likewise.
16624 * include/grub/mips/io.h: Likewise.
16625 * include/grub/mips/kernel.h: Likewise.
16626 * include/grub/mips/libgcc.h: Likewise.
16627 * include/grub/mips/pci.h: Likewise.
16628 * include/grub/mips/qemu-mips/boot.h: Likewise.
16629 * include/grub/mips/qemu-mips/kernel.h: Likewise.
16630 * include/grub/mips/qemu-mips/loader.h: Likewise.
16631 * include/grub/mips/qemu-mips/memory.h: Likewise.
16632 * include/grub/mips/qemu-mips/serial.h: Likewise.
16633 * include/grub/mips/qemu-mips/time.h: Likewise.
16634 * include/grub/mips/relocator.h: Likewise.
16635 * include/grub/mips/time.h: Likewise.
16636 * include/grub/mips/types.h: Likewise.
16637 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
16638 * include/grub/mips/yeeloong/boot.h: Likewise.
16639 * include/grub/mips/yeeloong/kernel.h: Likewise.
16640 * include/grub/mips/yeeloong/loader.h: Likewise.
16641 * include/grub/mips/yeeloong/memory.h: Likewise.
16642 * include/grub/mips/yeeloong/pci.h: Likewise.
16643 * include/grub/mips/yeeloong/serial.h: Likewise.
16644 * include/grub/mips/yeeloong/time.h: Likewise.
16645 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
16646 * kern/elf.c (grub_elf32_size): New parameter. All users
16647 updated.
16648 (grub_elf64_size): Likewise.
16649 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
16650 Load modules before saying "Welcome to GRUB!".
16651 Call grub_refresh after saying "Welcome to GRUB!".
16652 * kern/mips/cache.S: New file.
16653 * kern/mips/cache_flush.S: Likewise.
16654 * kern/mips/dl.c: Likewise.
16655 * kern/mips/init.c: Likewise.
16656 * kern/mips/qemu-mips/init.c: Likewise.
16657 * kern/mips/startup.S: Likewise.
16658 * kern/mips/yeeloong/init.c: Likewise.
16659 * kern/term.c (grub_putcode): Handle NULL terminal.
16660 (grub_getcharwidth): Likewise.
16661 (grub_getkey): Likewise.
16662 (grub_checkkey): Likewise.
16663 (grub_getkeystatus): Likewise.
16664 (grub_getxy): Likewise.
16665 (grub_getwh): Likewise.
16666 (grub_gotoxy): Likewise.
16667 (grub_cls): Likewise.
16668 (grub_setcolorstate): Likewise.
16669 (grub_setcolor): Likewise.
16670 (grub_getcolor): Likewise.
16671 (grub_refresh): Likewise.
16672 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
16673 (write_jump): Add hatch nop.
16674 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
16675 * lib/mips/setjmp.S: New file.
16676 * loader/mips/linux.c: Likewise.
16677 * term/i386/pc/at_keyboard.c: Move from here ...
16678 * term/at_keyboard.c: ... to here.
16679 * term/i386/pc/serial.c: Moved from here ...
16680 * term/serial.c: ... to here. All users updated.
16681 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
16682 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
16683 (serial_translate_key_sequence): Avoid deadlock.
16684 (grub_serial_getkey): Handle backspace.
16685 (grub_serial_putchar): Fix newline handling.
16686 * util/i386/pc/grub-mkimage.c: Move from here ...
16687 * util/grub-mkrawimage.c: ... to here. All users updated.
16688 (generate_image): New parameters 'font_path' and 'format'.
16689 Support embedding font.
16690 Use grub_host_to_target* instead of grub_cpu_to_le*.
16691 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
16692 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
16693 (options): New option "--font".
16694 (usage): Likewise.
16695 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
16696 (main): Handle "--font".
16697 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
16698 (grub_virtual_screen_setup): Set bg_color_display.
16699 (redraw_screen_rect): Use bg_color_display instead of incorrect
16700 bg_color.
16701 (grub_gfxterm_cls): Likewise.
16702 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
16703 Support embedding config file.
16704 (add_segments): Likewise.
16705 (options): New option "--config".
16706 (main): Handle "--config".
16707 * video/sm712.c: New file.
16708
16709 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
16710
16711 Fix parallel builds.
16712
16713 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
16714 font.c depend on ascii.h).
16715
16716 2010-01-12 Carles Pina i Estany <carles@pina.cat>
16717
16718 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
16719
16720 2010-01-11 Carles Pina i Estany <carles@pina.cat>
16721
16722 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
16723 By default: disabled.
16724 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
16725 parameter.
16726
16727 2010-01-10 Carles Pina i Estany <carles@pina.cat>
16728
16729 * font/font.c: Update copyright years.
16730 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
16731
16732 2010-01-10 Carles Pina i Estany <carles@pina.cat>
16733
16734 * font/font.c: Include `ascii.h'.
16735 (ASCII_BITMAP_SIZE): New macro.
16736 (ascii_font_glyph): Define.
16737 (ascii_glyph_lookup): New function.
16738 (grub_font_get_string_width): Change comment. If glyph not found, use
16739 ascii_glyph_lookup.
16740 (grub_font_get_glyph_with_fallback): If glyph not available returns
16741 ascii_glyph_lookup.
16742 * util/grub-mkfont.c (file_formats): New enum.
16743 (options): Add `ascii-bitmaps' new option.
16744 (usage): Add `asii-bitmaps' new option.
16745 (write_font_ascii_bitmap): New function.
16746 (write_font): Rename to ...
16747 (write_font_p2): ... this. Remove print_glyphs call.
16748 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
16749 used. Call print_glyphs.
16750 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
16751
16752 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
16753
16754 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
16755 (grub_bin2h_SOURCES): New variable.
16756 * util/bin2h.c: New file.
16757
16758 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16759
16760 * include/multiboot.h: Resynced with spec.
16761 * include/multiboot2.h: Likewise.
16762 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
16763 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
16764
16765 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
16766
16767 * include/grub/term.h (grub_term_register_input,
16768 grub_term_register_output): Check return of terminal init()
16769 routines, and abort if errors are raised.
16770
16771 * commands/terminal.c: Update copyright year.
16772
16773 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
16774
16775 * commands/terminal.c (grub_cmd_terminal_input)
16776 (grub_cmd_terminal_output): Check return of terminal init()
16777 routines, and abort if errors are raised.
16778
16779 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
16780
16781 * include/grub/i386/bsd.h: Fix include pathes.
16782
16783 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
16784
16785 Add missing *BSD copyright headers.
16786
16787 * include/grub/aout.h: Add BSD licence.
16788 * include/grub/i386/bsd.h: Parts under different licences moved to ...
16789 * include/grub/i386/freebsd_linker.h: ... here,
16790 * include/grub/i386/freebsd_reboot.h: ... here,
16791 * include/grub/i386/netbsd_bootinfo.h: ... here,
16792 * include/grub/i386/netbsd_reboot.h: ... here,
16793 * include/grub/i386/openbsd_bootarg.h: ... here,
16794 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
16795 licence to each file.
16796
16797 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
16798
16799 * acinclude.m4: Remove `nop' assembly instruction; it's not
16800 implemented by all architectures.
16801
16802 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
16803
16804 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
16805 ELILO. This is no longer necessary.
16806
16807 2010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
16808
16809 Added new tool, grub-scrit-check to verify grub.cfg syntax.
16810
16811 * util/grub-script-check.c: grub-script-check tool.
16812 * conf/common.rmk: Make rules for grub-script-check.
16813
16814 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
16815
16816 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
16817 spotting it back in 2008. Shame on me for forgetting he did.
16818
16819 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
16820
16821 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
16822
16823 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
16824 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
16825 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
16826 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
16827 (GRUB_VIDEO_TYPE_EFI): Rename to ...
16828 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
16829
16830 2010-01-17 Robert Millan <rmh.grub@aybabtu.com>
16831
16832 * include/grub/test.h: Add license header.
16833 * tests/example_functional_test.c: Likewise.
16834 * tests/example_unit_test.c: Likewise.
16835 * tests/lib/functional_test.c: Likewise.
16836 * tests/lib/test.c: Likewise.
16837 * tests/lib/unit_test.c: Likewise.
16838
16839 2010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
16840
16841 Use flag-based instead of hook-based video mode selection and "auto"
16842 keyword.
16843
16844 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
16845 (grub_video_set_mode): Changed prototype. All users updated.
16846 (grub_video_check_mode_flag): New inline function.
16847 * video/video.c (parse_modespec): New function.
16848 (grub_video_set_mode): Parse flags and keywords.
16849
16850 2010-01-17 Carles Pina i Estany <carles@pina.cat>
16851
16852 * util/misc.c (grub_util_info): Fix the order of the parameters in a
16853 fprintf call.
16854
16855 2010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
16856
16857 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
16858
16859 2010-01-16 Carles Pina i Estany <carles@pina.cat>
16860
16861 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
16862 string.
16863 * util/grub-emu.c (usage): Likewise.
16864 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
16865 * util/i386/efi/grub-mkimage.c (usage): Likewise.
16866 * util/i386/pc/grub-mkimage.c (usage): Likewise.
16867 * util/i386/pc/grub-setup.c (usage): Likewise.
16868
16869 2010-01-16 Carles Pina i Estany <carles@pina.cat>
16870
16871 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
16872 the message.
16873 (grub_util_info): Likewise.
16874 (grub_util_error): Likewise.
16875 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
16876 and/or new lines in `grub_util_warna', `grub_util_info',
16877 `grub_util_error' calls.
16878 * util/getroot.c: Likewise.
16879 * util/grub-editenv.c: Likewise.
16880 * util/grub-emu.c: Likewise.
16881 * util/grub-fstest.c: Likewise.
16882 * util/grub-mkdevicemap.c: Likewise.
16883 * util/grub-mkfont.c: Likewise.
16884 * util/grub-mkpasswd-pbkdf2.c: Likewise.
16885 * util/grub-mkrelpath.c: Likewise.
16886 * util/grub-pe2elf.c: Likewise.
16887 * util/grub-probe.c: Likewise.
16888 * util/hostdisk.c: Likewise.
16889 * util/i386/efi/grub-mkimage.c: Likewise.
16890 * util/i386/pc/grub-mkimage.c: Likewise.
16891 * util/i386/pc/grub-setup.c: Likewise.
16892 * util/ieee1275/ofpath.c: Likewise.
16893 * util/mkisofs/eltorito.c: Likewise.
16894 * util/mkisofs/rock.c: Likewise.
16895 * util/mkisofs/write.c: Likewise.
16896 * util/raid.c: Likewise.
16897 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
16898 * util/sparc64/ieee1275/grub-setup.c: Likewise.
16899
16900 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
16901
16902 Enable multiboot on non-pc.
16903
16904 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
16905 multiboot.mod and multiboot2.mod to ...
16906 * conf/i386.rmk (pkglib_MODULES): ... here.
16907 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
16908 Moved to ...
16909 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
16910 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
16911 Moved to ...
16912 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
16913 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
16914 Moved to ...
16915 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
16916 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
16917 Moved to ...
16918 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
16919 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
16920 relocator.mod.
16921 (ata_mod_SOURCES): Removed.
16922 (ata_mod_CFLAGS): Likewise.
16923 (ata_mod_LDFLAGS): Likewise.
16924 (relocator_mod_SOURCES): Removed.
16925 (relocator_mod_CFLAGS): Likewise.
16926 (relocator_mod_ASFLAGS): Likewise.
16927 (relocator_mod_LDFLAGS): Likewise.
16928 Include i386.mk.
16929 * include/grub/x86_64/multiboot.h: New file.
16930 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
16931 Terminate EFI.
16932
16933 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
16934
16935 Video multiboot support.
16936
16937 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
16938 New prototype.
16939 * include/multiboot.h: Resynced with multiboot specification.
16940 * include/multiboot2.h: Likewise.
16941 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
16942 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
16943 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
16944 (HAS_VGA_TEXT): Likewise.
16945 (accepts_video): New variable.
16946 (grub_multiboot_set_accepts_video): New function.
16947 (grub_multiboot_get_mbi_size): Account for video structures.
16948 (set_video_mode): New function.
16949 (retrieve_video_parameters): Likewise.
16950 (grub_multiboot_make_mbi): Fill video fields.
16951
16952 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
16953
16954 Video driver ids.
16955
16956 * include/grub/video.h (grub_video_driver_id): New type.
16957 (grub_video_adapter): New member 'id'. All users updated.
16958 (grub_video_get_driver_id): New proto.
16959 * video/video.c (grub_video_get_driver_id): New function.
16960
16961 2010-01-14 Carles Pina i Estany <carles@pina.cat>
16962
16963 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
16964 `var=val'.
16965
16966 2010-01-14 Carles Pina i Estany <carles@pina.cat>
16967
16968 * normal/cmdline.c (print_completion): Gettextizze.
16969
16970 2001-01-14 Carles Pina i Estany <carles@pina.cat>
16971
16972 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
16973
16974 2010-01-14 Carles Pina i Estany <carles@pina.cat>
16975
16976 * gettext/gettext.c (grub_gettext_translate): Push and pop
16977 grub_errno.
16978 (grub_gettext_delete_list): Change comment style.
16979 * kern/err.c (grub_error): Gettextizze.
16980 (grub_fatal): Gettextizze.
16981
16982 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
16983
16984 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
16985 (grub_linux16_real_boot): ... this.
16986 * kern/i386/loader.S: Likewise.
16987 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
16988 (grub_linux16_boot): New function. Switches to text mode and calls
16989 grub_linux16_real_boot().
16990
16991 * loader/i386/bsd.c: Include `<grub/video.h>'.
16992 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
16993 text mode before calling grub_unix_real_boot().
16994
16995 * loader/i386/multiboot.c: Include `<grub/video.h>'.
16996 (grub_multiboot_boot): Switch to text mode before calling
16997 grub_relocator32_boot().
16998
16999 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
17000 (grub_chainloader_boot): Switch to text mode before calling
17001 grub_chainloader_real_boot().
17002
17003 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
17004 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
17005
17006 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
17007 non-empty value.
17008
17009 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
17010 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
17011
17012 * util/grub.d/00_header.in: Define a "savedefault" function for use
17013 in menu entries.
17014 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
17015
17016 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
17017 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
17018
17019 * util/grub-mkconfig_lib.in (save_default_entry): Only set
17020 saved_entry if boot_once is unset.
17021 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
17022 previous saved entry (i.e. grub-reboot).
17023
17024 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
17025
17026 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
17027
17028 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
17029
17030 * util/grub.d/00_header.in: Use `set var=val' rather than plain
17031 `var=val'.
17032 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
17033
17034 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
17035
17036 * util/grub-reboot.in: Fix --version output.
17037 * util/grub-set-default.in: Likewise.
17038
17039 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
17040
17041 * util/grub.d/00_header.in: Silently ignore zero-sized environment
17042 blocks.
17043
17044 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
17045
17046 * util/grub.d/00_header.in: Quote the value assigned to `default',
17047 in case it contains spaces.
17048
17049 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
17050
17051 * util/grub.d/30_os-prober.in: Fix merge error that moved a
17052 `save_default_entry' call from the macosx case to the linux case.
17053
17054 2009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
17055 2009-10-25 Colin Watson <cjwatson@ubuntu.com>
17056
17057 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
17058 in `chosen' environment variable.
17059 * normal/menu_text.c (get_entry_number): Check if the variable
17060 matches the title of a menu entry.
17061 (run_menu): Pass menu to get_entry_number.
17062
17063 * util/grub-reboot.in: New file.
17064 * util/grub-set-default.in: New file.
17065 * conf/common.rmk (grub-reboot): New utility.
17066 (grub-set-default): New utility.
17067
17068 * util/grub-mkconfig_lib.in (save_default_entry): New function.
17069 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
17070 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
17071 move it to `saved_entry' for the next boot. Load environment on
17072 initialisation.
17073 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
17074 * util/grub.d/10_hurd.in: Likewise.
17075 * util/grub.d/10_linux.in (linux_entry): Likewise.
17076 * util/grub.d/10_windows.in: Likewise.
17077 * util/grub.d/30_os-prober.in: Likewise.
17078
17079 * util/grub-install.in: Create environment block.
17080 * util/i386/efi/grub-install.in: Likewise.
17081 * util/ieee1275/grub-install.in: Likewise.
17082 * util/sparc64/ieee1275/grub-install.in: Likewise.
17083
17084 2010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
17085
17086 Unit testing framework for GRUB.
17087
17088 * Makefile.in: Test framework build rules for 'make check'.
17089 * conf/tests.rmk: Build rules for individual tests and framework.
17090
17091 * include/grub/test.h: Header file for whitebox tests.
17092 * tests/lib/functional_test.c: Framework support for whitebox
17093 functional tests.
17094 * tests/lib/test.c: Common whitebox testing code for unit and
17095 functional tests.
17096 * tests/lib/unit_test.c: Framework support for whitebox unit
17097 tests.
17098
17099 * tests/util/grub-shell-tester.in: Support utility for grub-script
17100 tests.
17101 * tests/util/grub-shell.in: Utility to execute grub-script
17102 commands in a Qemu instance.
17103
17104 * tests/example_functional_test.c: Example whitebox functional
17105 test.
17106 * tests/example_grub_script_test.in: Example grub-script test.
17107 * tests/example_scripted_test.in: Example scripted test.
17108 * tests/example_unit_test.c: Example whitebox unit test.
17109
17110 2010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
17111
17112 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
17113 Add loader/i386/multiboot_mbi.c.
17114 (multiboot2_mod_SOURCES): Likewise.
17115 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
17116 (multiboot2_mod_SOURCES): Likewise.
17117 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
17118 (grub_multiboot_make_mbi): Likewise.
17119 (grub_multiboot_free_mbi): Likewise.
17120 (grub_multiboot_init_mbi): Likewise.
17121 (grub_multiboot_add_module): Likewise.
17122 (grub_multiboot_set_bootdev): Likewise.
17123 * loader/i386/multiboot.c (mbi): Removed.
17124 (mbi_dest): Likewise.
17125 (alloc_mbi): New variable.
17126 (grub_multiboot_payload_size): Removed. All users updated.
17127 (grub_multiboot_pure_size): New variable.
17128 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
17129 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
17130 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
17131 (grub_fill_multiboot_mmap): Likewise.
17132 (grub_multiboot_get_bootdev): Likewise.
17133 (grub_multiboot): Use multiboot_mbi functions.
17134 * loader/i386/multiboot_mbi.c: New file.
17135
17136 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
17137
17138 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
17139 it would result in module crash.
17140
17141 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
17142
17143 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
17144 (grub_ofconsole_getwh): Split to ...
17145 (grub_ofconsole_getwh): ... this.
17146 (grub_ofconsole_dimensions): ...and this.
17147 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
17148
17149 2010-01-13 Robert Millan <rmh.grub@aybabtu.com>
17150
17151 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
17152
17153 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
17154
17155 * loader/i386/pc/multiboot2.c: Removed stalled file.
17156
17157 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
17158
17159 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
17160 Reported by: Grégoire Sutre
17161
17162 2010-01-11 Robert Millan <rmh.grub@aybabtu.com>
17163
17164 * util/misc.c (canonicalize_file_name): New function.
17165 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
17166 instead of realpath().
17167
17168 2010-01-11 Colin Watson <cjwatson@ubuntu.com>
17169
17170 * util/grub-install.in (usage): Clarify meaning of --root-directory,
17171 and make it clearer that it's optional. Based on confusion
17172 witnessed on IRC.
17173
17174 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17175
17176 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
17177 in premature implicit newline.
17178
17179 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17180
17181 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
17182 which resulted in garbled command line at the end of screen.
17183
17184 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
17185
17186 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
17187 initialization with similar approach as with other Linux loaders.
17188
17189 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
17190
17191 Fix i386-ieee1275 build.
17192
17193 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
17194 and grub_term_height() for video_{width,height} initialization.
17195
17196 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
17197
17198 Fix grub-emu build.
17199
17200 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
17201
17202 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
17203 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
17204
17205 Support for multiple terminals.
17206
17207 * Makefile.in (pkglib_DATA): terminal.lst.
17208 (terminal.lst): New target.
17209 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
17210 (GRUB_MOD_INIT(handler)): Likewise.
17211 (GRUB_MOD_FINI(handler)): Likewise.
17212 * commands/help.c (grub_cmd_help): Handle multiple terminals.
17213 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
17214 * commands/sleep.c (do_print): Use grub_term_restore_pos.
17215 (grub_cmd_sleep): Use grub_term_save_pos.
17216 * commands/terminal.c: New file.
17217 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
17218 commands/terminal.c and lib/charset.c.
17219 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
17220 (pkglib_MODULES): Add terminal.mod.
17221 (terminal_mod_SOURCES): New variable.
17222 (terminal_mod_CFLAGS): Likewise.
17223 (terminal_mod_LDFLAGS): Likewise.
17224 * genhandlerlist.sh: Don't handle terminals.
17225 * genmk.rb: Generate terminal-*.lst.
17226 * genterminallist.sh: New file.
17227 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
17228 (grub_is_valid_utf8): Likewise.
17229 (grub_utf8_to_ucs4_alloc): Likewise.
17230 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
17231 (grub_menu_register_viewer): Changed argument.
17232 (grub_menu_try_text): New proto.
17233 (grub_gfxmenu_try_hook): New declaration.
17234 * include/grub/normal.h (grub_normal_exit_level): New declaration.
17235 (grub_menu_init_page): Additional argument term.
17236 (grub_normal_init_page): Likewise.
17237 (grub_cmdline_get): Arguments simplified.
17238 (grub_utf8_to_ucs4_alloc): Removed.
17239 (grub_print_ucs4): Additional argument term.
17240 (grub_getstringwidth): Likewise.
17241 (grub_print_message_indented): Likewise.
17242 (grub_menu_text_register_instances): New proto.
17243 (grub_show_menu): Likewise.
17244 (read_terminal_list): Likewise.
17245 (grub_set_more): Likewise.
17246 * include/grub/parser.h: Include handler.h.
17247 * include/grub/reader.h: Rewritten.
17248 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
17249 (GRUB_TERM_WIDTH): Changed to function.
17250 (GRUB_TERM_HEIGHT): Likewise.
17251 (GRUB_TERM_BORDER_WIDTH): Likewise.
17252 (GRUB_TERM_BORDER_HEIGHT): Likewise.
17253 (GRUB_TERM_NUM_ENTRIES): Likewise.
17254 (GRUB_TERM_ENTRY_WIDTH): Likewise.
17255 (GRUB_TERM_CURSOR_X): Likewise.
17256 (grub_term_input_class): Likewise.
17257 (grub_term_output_class): Likewise.
17258 (grub_term_outputs_disabled): New declaration.
17259 (grub_term_inputs_disabled): Likewise.
17260 (grub_term_outputs): Likewise.
17261 (grub_term_inputs): Likewise.
17262 (grub_term_register_input): Rewritten.
17263 (grub_term_register_output): Likewise.
17264 (grub_term_unregister_input): Likewise.
17265 (grub_term_unregister_output): Likewise.
17266 (FOR_ACTIVE_TERM_INPUTS): New macro.
17267 (FOR_DISABLED_TERM_INPUTS): Likewise.
17268 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
17269 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
17270 * include/grub/terminfo.h: Add oterm argument to all protypes.
17271 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
17272 Use grub_rescue_run.
17273 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
17274 All users updated.
17275 * kern/reader.c: Removed. All users updated.
17276 * kern/rescue_reader.c (grub_rescue_init): Removed.
17277 (grub_rescue_reader): Likewise.
17278 (grub_register_rescue_reader): Likewise.
17279 (grub_rescue_run): New function based on kern/reader.c.
17280 * kern/term.c: Adapted for multiterm.
17281 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
17282 (grub_is_valid_utf8): Likewise.
17283 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
17284 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
17285 right terminal.
17286 * loader/i386/linux.c (grub_linux_boot): Likewise.
17287 * normal/auth.c (grub_username_get): New function.
17288 (grub_auth_check_authentication): Use grub_username_get.
17289 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
17290 * normal/color.c: Adapt for multiterm.
17291 * normal/main.c (read_config_file): Don't use grub_reader_loop.
17292 (grub_normal_init_page): Additional argument term.
17293 (read_lists): Call read_terminal_lists.
17294 (grub_enter_normal_mode): Call grub_cmdline_run.
17295 Handle grub_normal_exit_level.
17296 (grub_cmd_normal): Make reentrant.
17297 (grub_cmd_normal_exit): New function.
17298 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
17299 * normal/menu.c: Adapt for multiterm.
17300 * normal/menu_entry.c: Likewise.
17301 * normal/menu_text.c: Likewise.
17302 * normal/menu_viewer.c: Removed. All users updated.
17303 * normal/term.c: New file.
17304 * util/console.c: Change order of includes to workaround a bug in
17305 ncurses headers.
17306 * term/terminfo.c: New argument oterm on all exported functions.
17307 All users updated.
17308 * util/grub-editenv.c (grub_term_input_class): Removed.
17309 (grub_term_output_class): Likewise.
17310
17311 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
17312
17313 Make loader output a bit more user-friendly.
17314
17315 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
17316 is being loaded. Likewise for the Hurd.
17317
17318 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
17319 that kernel of FreeBSD ${version} is being loaded.
17320
17321 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
17322 grub_dprintf().
17323 (grub_cmd_initrd): Likewise.
17324 * util/grub.d/10_linux.in (linux_entry): Print message indicating
17325 that Linux ${version} is being loaded. Likewise for initrd.
17326
17327 2010-01-09 Carles Pina i Estany <carles@pina.cat>
17328
17329 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
17330
17331 2010-01-08 Carles Pina i Estany <carles@pina.cat>
17332
17333 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
17334 (GRUB_MOD_INIT): Gettextizze.
17335 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
17336 (GRUB_MOD_INIT): Gettextizze.
17337 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
17338 (grub_cmd_linux): Capitalise Linux.
17339 (GRUB_MOD_INIT): Gettextizze.
17340 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
17341 (grub_cmd_linux): Capitalise Linux.
17342 (GRUB_MOD_INIT): Gettextizze.
17343 * loader/i386/linux.c: Include `<grub/i18n.h>'.
17344 (grub_cmd_linux): Capitalise Linux.
17345 (GRUB_MOD_INIT): Gettextizze.
17346 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
17347 (GRUB_MOD_INIT): Gettextizze.
17348 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
17349 (grub_cmd_linux): Capitalise Linux.
17350 (GRUB_MOD_INIT): Gettextizze.
17351 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
17352 (grub_cpu_xnu_init): Gettextizze.
17353 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
17354 (GRUB_MOD_INIT): Gettextizze.
17355 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
17356 (GRUB_MOD_INIT): Gettextizze.
17357 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
17358 (grub_linux_load64): Capitalise Linux.
17359 (GRUB_MOD_INIT): Gettextizze.
17360 * loader/xnu.c: Include `<grub/i18n.h>'.
17361 (GRUB_MOD_INIT): Gettextizze.
17362 * po/POTFILES: Add `loader/efi/appleloader.c',
17363 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
17364 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
17365 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
17366 `loader/i386/xnu.c', `loader/multiboot_loader.c',
17367 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
17368 and `loader/xnu.c'.
17369
17370 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
17371
17372 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
17373
17374 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
17375
17376 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
17377 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
17378 * util/mkisofs/mkisofs.c (main): Readjust --version output.
17379
17380 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
17381
17382 Reset Multiboot 2 support. New loader implements the draft in
17383 /branches/multiboot2 and shares as much code as possible with the
17384 production Multiboot 1 implementation.
17385
17386 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
17387 * loader/multiboot2.c: Likewise.
17388 * loader/i386/multiboot_helper.S: Likewise.
17389 * include/multiboot2.h: Replace with latest version from the draft
17390 in /branches/multiboot2.
17391
17392 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
17393 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
17394 and `loader/multiboot2.c'.
17395 (pkglib_MODULES): Add `multiboot2.mod'.
17396 (multiboot2_mod_SOURCES): New variable.
17397 (multiboot2_mod_LDFLAGS): Likewise.
17398 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
17399
17400 * conf/i386-pc.rmk: Likewise.
17401
17402 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
17403 (multiboot_mod_SOURCES): Remove variable.
17404 (multiboot_mod_LDFLAGS): Likewise.
17405 (multiboot_mod_CFLAGS): Likewise.
17406
17407 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
17408 `<multiboot2.h>' instead of `<multiboot.h>'.
17409 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
17410 (MULTIBOOT_HEADER_MAGIC): New macros.
17411
17412 * loader/multiboot_loader.c (module_version_status): Remove variable.
17413 (find_multi_boot2_header): Remove function.
17414 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
17415 logic. Always check for the Multiboot version we're compiling for.
17416 (grub_cmd_module_loader): Likewise.
17417 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
17418 command instead of `multiboot'.
17419
17420 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
17421
17422 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
17423 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
17424 all users.
17425
17426 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
17427 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
17428
17429 Fix breakage introduced with previous commit.
17430
17431 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
17432 commands.
17433 * normal/handler.c (read_handler_list): Revert part of previous commit
17434 affecting this file.
17435 * normal/main.c (read_lists): Move read_handler_list() call back to ...
17436 (grub_normal_execute): ... here.
17437
17438 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
17439
17440 Merge prefix-redefinition-fix branch.
17441
17442 * normal/autofs.c (read_fs_list): Make function capable of being
17443 run multiple times, gracefuly replacing the previous data
17444 structures.
17445 * normal/dyncmd.c (read_command_list): Likewise.
17446 * normal/handler.c (read_handler_list): Likewise.
17447 * normal/main.c (read_lists): New function. Calls all the
17448 list reading functions.
17449 (grub_normal_execute): Use read_lists() instead of calling all
17450 list reading functions explicitly. Register read_lists() as a
17451 variable hook attached to ${prefix}.
17452
17453 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
17454
17455 Merge crypto branch.
17456
17457 * Makefile.in (pkglib_DATA): Add crypto.lst.
17458 (crypto.lst): New target.
17459 * commands/hashsum.c: New file.
17460 * commands/password.c (check_password): Use grub_crypto_memcmp.
17461 * commands/password_pbkdf2.c: New file.
17462 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
17463 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
17464 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
17465 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
17466 -I$(srcdir)/lib/libgcrypt_wrap.
17467 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
17468 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
17469 password_pbkdf2.mod.
17470 (crypto_mod_SOURCES): New variable.
17471 (crypto_mod_CFLAGS): Likewise.
17472 (crypto_mod_LDFLAGS): Likewise.
17473 (hashsum_mod_SOURCES): New variable.
17474 (hashsum_mod_CFLAGS): Likewise.
17475 (hashsum_mod_LDFLAGS): Likewise.
17476 (pbkdf2_mod_SOURCES): New variable.
17477 (pbkdf2_mod_CFLAGS): Likewise.
17478 (pbkdf2_mod_LDFLAGS): Likewise.
17479 (password_pbkdf2_mod_SOURCES): New variable.
17480 (password_pbkdf2_mod_CFLAGS): Likewise.
17481 (password_pbkdf2_mod_LDFLAGS): Likewise.
17482 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
17483 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
17484 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
17485 Include conf/gcry.rmk.
17486 * include/grub/auth.h: Rewritten.
17487 * include/grub/crypto.h: New file.
17488 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
17489 * include/grub/normal.h (read_crypto_list): New prototype.
17490 * lib/crypto.c: New file.
17491 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
17492 * lib/pbkdf2.c: Likewise.
17493 * normal/auth.c (grub_auth_strcmp): Removed.
17494 (grub_iswordseparator): Likewise.
17495 (grub_auth_strword): Likewise.
17496 (is_authenticated): Use grub_strword.
17497 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
17498 and grub_strword. Pass entered password to authentication callback.
17499 * normal/crypto.c: New file.
17500 * normal/main.c: Call read_crypto_list.
17501 * util/grub-mkpasswd-pbkdf2.c: New file.
17502 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
17503
17504 2010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
17505
17506 Fix descent and ascent calculation.
17507
17508 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
17509 (options): New option "asce".
17510 (usage): Likewise.
17511 (add_char): Ignore invalid glyphs for descent calculation.
17512 Calculate ascent from actual content.
17513 (print_glyphs): Use 'asce'.
17514 (write_font): Likewise. Allow ascent override.
17515 (main): Handle "asce" option.
17516
17517 2010-01-06 Carles Pina i Estany <carles@pina.cat>
17518
17519 * kern/err.c: Include `<grub/i18n.h>'.
17520 (grub_print_error): Add full stop. Gettextizze.
17521 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
17522 (grub_bsd_load_elf): Capitalise ELF.
17523 (grub_cmd_freebsd_loadenv): Add `s' in error string.
17524 (grub_cmd_freebsd_module): Likewise.
17525 (grub_cmd_freebsd_module_elf): Likewise.
17526 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
17527
17528 2010-01-06 Carles Pina i Estany <carles@pina.cat>
17529
17530 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
17531 * commands/search_file.c (HELP_MESSAGE): New macro.
17532 * commands/search_label.c (HELP_MESSAGE): Likewise.
17533 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
17534 * po/POTFILES: Add `commands/search_file.c',
17535 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
17536 `commands/search.c'.
17537
17538 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
17539
17540 * config.rpath: Update from Gnulib.
17541
17542 2010-01-05 Yves Blusseau <blusseau@zetam.org>
17543
17544 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
17545
17546 2010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
17547
17548 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
17549
17550 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
17551
17552 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
17553 arguments to fread so that we get a return value in bytes, rather
17554 than something that will normally be rounded down to 0.
17555 Adjust error handling to avoid producing garbage when size_t is not
17556 the same size as long long.
17557
17558 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
17559
17560 * util/mkisofs/write.c (padblock_write): Check return value of
17561 fread.
17562
17563 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
17564
17565 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
17566 floppy images now.
17567
17568 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
17569
17570 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
17571
17572 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
17573 instead of manual alignment.
17574 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
17575 verbose). Avoid attempts to read past end of the device
17576 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
17577 but GRUB_DISK_CACHE_SIZE may exceed that).
17578
17579 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
17580
17581 * commands/crc.c (grub_cmd_crc): Abort on read errors.
17582 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
17583 it to upper layer.
17584
17585 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
17586
17587 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
17588 New constant.
17589 (grub_efi_piwg_device_path): New structure
17590 (grub_efi_piwg_device_path_t): New type.
17591 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
17592 (devpath_1): Transform to a structure. All users updated.
17593 (devpath_2): Likewise.
17594 (devpath_3): Likewise.
17595 (devpath_4): Likewise.
17596 (devpath_5): Likewise.
17597
17598 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
17599
17600 * loader/efi/appleloader.c: Restored. Update all users.
17601
17602 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
17603
17604 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
17605
17606 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
17607 (struct boot_blocklist): Move from here ...
17608 * include/grub/i386/pc/boot.h [ASM_FILE]
17609 (struct grub_boot_blocklist): ... to here. Update all users.
17610 (setup): Only initialize `start' member of `first_block'
17611 structure. Add assert() calls to verify the other members.
17612
17613 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
17614 (generate_image): Fix broken blocklist length initialization.
17615 Add assert() call to verify blocklist `segment' field.
17616
17617 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
17618
17619 * loader/efi/appleloader.c: Remove. Update all users.
17620
17621 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
17622
17623 * boot/i386/pc/boot.S: Update copyright year.
17624 * boot/i386/pc/cdboot.S: Likewise.
17625 * boot/i386/pc/diskboot.S: Likewise.
17626 * boot/i386/pc/lnxboot.S: Likewise.
17627 * boot/i386/pc/pxeboot.S: Likewise.
17628 * bus/pci.c: Likewise.
17629 * commands/cmp.c: Likewise.
17630 * commands/help.c: Likewise.
17631 * commands/hexdump.c: Likewise.
17632 * commands/i386/pc/halt.c: Likewise.
17633 * commands/i386/pc/play.c: Likewise.
17634 * commands/i386/pc/vbeinfo.c: Likewise.
17635 * commands/ls.c: Likewise.
17636 * commands/test.c: Likewise.
17637 * disk/dmraid_nvidia.c: Likewise.
17638 * disk/i386/pc/biosdisk.c: Likewise.
17639 * disk/ieee1275/nand.c: Likewise.
17640 * disk/ieee1275/ofdisk.c: Likewise.
17641 * disk/lvm.c: Likewise.
17642 * disk/raid.c: Likewise.
17643 * disk/raid6_recover.c: Likewise.
17644 * disk/scsi.c: Likewise.
17645 * fs/affs.c: Likewise.
17646 * fs/cpio.c: Likewise.
17647 * fs/ext2.c: Likewise.
17648 * fs/hfs.c: Likewise.
17649 * fs/iso9660.c: Likewise.
17650 * fs/ntfs.c: Likewise.
17651 * fs/sfs.c: Likewise.
17652 * fs/udf.c: Likewise.
17653 * fs/ufs.c: Likewise.
17654 * fs/xfs.c: Likewise.
17655 * gencmdlist.sh: Likewise.
17656 * genmk.rb: Likewise.
17657 * include/grub/disk.h: Likewise.
17658 * include/grub/efi/api.h: Likewise.
17659 * include/grub/efi/efi.h: Likewise.
17660 * include/grub/efi/pe32.h: Likewise.
17661 * include/grub/elf.h: Likewise.
17662 * include/grub/fs.h: Likewise.
17663 * include/grub/i386/at_keyboard.h: Likewise.
17664 * include/grub/i386/pc/memory.h: Likewise.
17665 * include/grub/i386/pc/vbe.h: Likewise.
17666 * include/grub/i386/pci.h: Likewise.
17667 * include/grub/i386/tsc.h: Likewise.
17668 * include/grub/ieee1275/ieee1275.h: Likewise.
17669 * include/grub/ntfs.h: Likewise.
17670 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
17671 * include/grub/sparc64/libgcc.h: Likewise.
17672 * include/grub/symbol.h: Likewise.
17673 * include/grub/types.h: Likewise.
17674 * include/multiboot2.h: Likewise.
17675 * io/gzio.c: Likewise.
17676 * kern/device.c: Likewise.
17677 * kern/disk.c: Likewise.
17678 * kern/efi/efi.c: Likewise.
17679 * kern/efi/mm.c: Likewise.
17680 * kern/elf.c: Likewise.
17681 * kern/file.c: Likewise.
17682 * kern/i386/dl.c: Likewise.
17683 * kern/i386/pc/init.c: Likewise.
17684 * kern/i386/pc/startup.S: Likewise.
17685 * kern/ieee1275/ieee1275.c: Likewise.
17686 * kern/ieee1275/init.c: Likewise.
17687 * kern/main.c: Likewise.
17688 * kern/mm.c: Likewise.
17689 * kern/powerpc/dl.c: Likewise.
17690 * kern/sparc64/dl.c: Likewise.
17691 * kern/x86_64/dl.c: Likewise.
17692 * lib/hexdump.c: Likewise.
17693 * loader/efi/appleloader.c: Likewise.
17694 * loader/i386/ieee1275/linux.c: Likewise.
17695 * loader/i386/pc/chainloader.c: Likewise.
17696 * loader/i386/pc/linux.c: Likewise.
17697 * loader/i386/pc/multiboot2.c: Likewise.
17698 * loader/ieee1275/multiboot2.c: Likewise.
17699 * loader/multiboot2.c: Likewise.
17700 * loader/multiboot_loader.c: Likewise.
17701 * loader/powerpc/ieee1275/linux.c: Likewise.
17702 * normal/completion.c: Likewise.
17703 * normal/menu_entry.c: Likewise.
17704 * partmap/apple.c: Likewise.
17705 * util/grub.d/10_hurd.in: Likewise.
17706 * util/hostfs.c: Likewise.
17707 * video/readers/png.c: Likewise.
17708
17709 2010-01-03 Colin Watson <cjwatson@ubuntu.com>
17710
17711 * include/grub/misc.h (GNUC_PREREQ): New macro.
17712 (ATTRIBUTE_ERROR): New macro.
17713 * include/grub/list.h (grub_bad_type_cast_real): Use
17714 ATTRIBUTE_ERROR.
17715
17716 2010-01-03 Carles Pina i Estany <carles@pina.cat>
17717
17718 * normal/menu_text.c (print_message): Change messages.
17719
17720 2010-01-03 Carles Pina i Estany <carles@pina.cat>
17721
17722 * normal/menu_entry.c (store_completion): Gettextizze.
17723
17724 2010-01-03 Carles Pina i Estany <carles@pina.cat>
17725
17726 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
17727
17728 2010-01-03 Carles Pina i Estany <carles@pina.cat>
17729
17730 * po/POTFILES: Sort correctly.
17731
17732 2010-01-03 Carles Pina i Estany <carles@pina.cat>
17733
17734 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
17735 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
17736 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
17737 full stop.
17738 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
17739 summary. Gettextizze the strings.
17740 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
17741 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
17742 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
17743 full stop.
17744 (GRUB_MOD_INIT): Remove command name from summary.
17745 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
17746 summary.
17747 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
17748 * term/i386/pc/serial.c (options): Add full stops.
17749 (GRUB_MOD_INIT): Remove command name from the summary.
17750
17751 2010-01-03 Carles Pina i Estany <carles@pina.cat>
17752
17753 * commands/acpi.c: Gettextizze help strings and/or options. Include
17754 `grub/i18n.h' if needed.
17755 * commands/blocklist.c: Likewise.
17756 * commands/boot.c: Likewise.
17757 * commands/cat.c: Likewise.
17758 * commands/cmp.c: Likewise.
17759 * commands/configfile.c: Likewise.
17760 * commands/crc.c: Likewise.
17761 * commands/date.c: Likewise.
17762 * commands/echo.c: Likewise.
17763 * commands/efi/fixvideo.c: Likewise.
17764 * commands/efi/loadbios.c: Likewise.
17765 * commands/gptsync.c: Likewise.
17766 * commands/halt.c: Likewise.
17767 * commands/handler.c: Likewise.
17768 * commands/hdparm.c: Likewise.
17769 * commands/hexdump.c: Likewise.
17770 * commands/i386/cpuid.c: Likewise.
17771 * commands/i386/pc/drivemap.c: Likewise.
17772 * commands/i386/pc/halt.c: Likewise.
17773 * commands/i386/pc/pxecmd.c: Likewise.
17774 * commands/i386/pc/vbeinfo.c: Likewise.
17775 * commands/i386/pc/vbetest.c: Likewise.
17776 * commands/ieee1275/suspend.c: Likewise.
17777 * commands/keystatus.c: Likewise.
17778 * commands/loadenv.c: Likewise.
17779 * commands/ls.c: Likewise.
17780 * commands/lsmmap.c: Likewise.
17781 * commands/lspci.c: Likewise.
17782 * commands/memrw.c: Likewise.
17783 * commands/minicmd.c: Likewise.
17784 * commands/parttool.c: Likewise.
17785 * commands/password.c: Likewise.
17786 * commands/probe.c: Likewise.
17787 * commands/read.c: Likewise.
17788 * commands/reboot.c: Likewise.
17789 * commands/search.c: Likewise.
17790 * commands/sleep.c: Likewise.
17791 * commands/test.c: Likewise.
17792 * commands/true.c: Likewise.
17793 * commands/usbtest.c: Likewise.
17794 * commands/videotest.c: Likewise.
17795 * commands/xnu_uuid.c: Likewise.
17796 * disk/loopback.c: Likewise.
17797 * hello/hello.c: Likewise.
17798 * loader/i386/bsd.c: Likewise.
17799 * term/i386/pc/serial.c: Likewise.
17800 * po/POTFILES: Add new files.
17801
17802 2010-01-02 Colin Watson <cjwatson@ubuntu.com>
17803
17804 * term/i386/pc/at_keyboard.c
17805 (keyboard_controller_wait_untill_ready): Rename to ...
17806 (keyboard_controller_wait_until_ready): ... this. Update all users.
17807
17808 2010-01-01 Carles Pina i Estany <carles@pina.cat>
17809
17810 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
17811 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
17812 string using string width.
17813 * normal/menu_text.c (grub_print_message_indented): Use
17814 grub_print_spaces and not print_spaces.
17815 (print_timeout): Likewise.
17816 (print_spaces): Move to...
17817 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
17818
17819 2010-01-01 Robert Millan <rmh.grub@aybabtu.com>
17820
17821 Import from Gnulib.
17822
17823 * gnulib/getdelim.c: New file.
17824 * gnulib/getline.c: Likewise.
17825
17826 2009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
17827
17828 * include/grub/list.h (grub_assert_fail): Removed.
17829 (grub_bad_type_cast_real): New function.
17830 (grub_bad_type_cast): New macro.
17831 (GRUB_AS_LIST): Use grub_bad_type_cast.
17832 (GRUB_AS_LIST_P): Likewise.
17833 (GRUB_AS_NAMED_LIST): Likewise.
17834 (GRUB_AS_NAMED_LIST_P): Likewise.
17835 (GRUB_AS_PRIO_LIST): Likewise.
17836 (GRUB_AS_PRIO_LIST_P): Likewise.
17837 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
17838
17839 2009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
17840
17841 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
17842 Fix syntax error.
17843
17844 2009-12-29 Robert Millan <rmh.grub@aybabtu.com>
17845
17846 * configure.ac: Check for TARGET_CFLAGS initialization before we
17847 initialize it ourselves (sigh).
17848 Move a few modifications to TARGET_CFLAGS to be unconditional
17849 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
17850 eh_frame)
17851
17852 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
17853 * term/i386/pc/at_keyboard.c
17854 (keyboard_controller_wait_untill_ready): Likewise.
17855 (keyboard_controller_led): Rename `led_status' paramter to avoid
17856 name conflict.
17857
17858 2009-12-28 Carles Pina i Estany <carles@pina.cat>
17859
17860 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
17861 quotes.
17862
17863 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
17864
17865 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
17866
17867 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
17868
17869 * normal/menu_text.c (grub_print_message_indented): Prevent
17870 past-the-end-of-array dereference.
17871
17872 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
17873
17874 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
17875 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
17876
17877 2009-12-27 Carles Pina i Estany <carles@pina.cat>
17878
17879 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
17880 * normal/main.c (grub_normal_read_line): Remove a space from the
17881 default prompt.
17882
17883 2009-12-27 Carles Pina i Estany <carles@pina.cat>
17884
17885 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
17886 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
17887 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
17888 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
17889 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
17890 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
17891 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
17892
17893 2009-12-26 Carles Pina i Estany <carles@pina.cat>
17894
17895 * video/readers/jpeg.c (cmd): Declare.
17896 (grub_cmd_jpegtest): Use `grub_command_t' type.
17897 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
17898 Assign to `cmd'.
17899 (GRUB_MOD_FINI): Use `cmd' to unregister.
17900 * video/readers/png.c (cmd): Declare.
17901 (grub_cmd_pngtest): Use `grub_command_t' type.
17902 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
17903 Assign to `cmd'.
17904 (GRUB_MOD_FINI): Use `cmd' to unregister.
17905 * video/readers/tga.c (cmd): Declare.
17906 (grub_cmd_tgatest): Use `grub_command_t' type.
17907 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
17908 Assign to `cmd'.
17909 (GRUB_MOD_FINI): Use `cmd' to unregister.
17910
17911 2009-12-26 Carles Pina i Estany <carles@pina.cat>
17912
17913 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
17914 stops.
17915 * kern/corecmd.c (grub_register_core_commands): Likewise.
17916 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
17917 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
17918 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
17919 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
17920 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
17921 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
17922 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
17923 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
17924 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
17925 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
17926 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
17927 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
17928 * normal/handler.c (insert_handler): Likewise.
17929 * normal/main.c (GRUB_MOD_INIT): Likewise.
17930 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
17931
17932 2009-12-26 Carles Pina i Estany <carles@pina.cat>
17933
17934 * commands/help.c (grub_cmd_help): Print the command name before the
17935 summary.
17936 (GRUB_MOD_INIT): Remove command name from the summary.
17937 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
17938 string as summary.
17939 * lib/arg.c (find_long): Print the command name before the summary.
17940 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
17941 summary.
17942 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
17943 * commands/cat.c (GRUB_MOD_INIT): Likewise.
17944 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
17945 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
17946 * commands/crc.c (GRUB_MOD_INIT): Likewise.
17947 * commands/date.c (GRUB_MOD_INIT): Likewise.
17948 * commands/echo.c (GRUB_MOD_INIT): Likewise.
17949 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
17950 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
17951 * commands/handler.c (GRUB_MOD_INIT): Likewise.
17952 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
17953 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
17954 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
17955 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
17956 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
17957 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
17958 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
17959 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
17960 * commands/ls.c (GRUB_MOD_INIT): Likewise.
17961 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
17962 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
17963 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
17964 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
17965 * commands/password.c (GRUB_MOD_INIT): Likewise.
17966 * commands/probe.c (GRUB_MOD_INIT): Likewise.
17967 * commands/read.c (GRUB_MOD_INIT): Likewise.
17968 * commands/search.c (GRUB_MOD_INIT): Likewise.
17969 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
17970 * commands/test.c (GRUB_MOD_INIT): Likewise.
17971 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
17972 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
17973 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
17974 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
17975 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
17976 * lib/arg.c (GRUB_MOD_INIT): Likewise.
17977 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
17978 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
17979 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
17980 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
17981 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
17982 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
17983 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
17984 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
17985
17986 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
17987
17988 Use search command for preliminar UUID search.
17989
17990 * commands/search.c: Split into ...
17991 * commands/search_wrap.c: ...this
17992 * commands/search.c: ...and this.
17993 * commands/search_file.c: New file.
17994 * commands/search_label.c: New file.
17995 * commands/search_uuid.c: New file.
17996 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
17997 Add commands/search_wrap.c, commands/search_file.c,
17998 commands/search_label.c and commands/search_uuid.c.
17999 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
18000 (search_mod_SOURCES): Set to commands/search_wrap.c.
18001 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
18002 search_label.mod.
18003 (search_fs_file_mod_SOURCES): New variable.
18004 (search_fs_file_mod_CFLAGS): Likewise.
18005 (search_fs_file_mod_LDFLAGS): Likewise.
18006 (search_label_mod_SOURCES): Likewise.
18007 (search_label_mod_CFLAGS): Likewise.
18008 (search_label_mod_LDFLAGS): Likewise.
18009 (search_fs_uuid_mod_SOURCES): New variable.
18010 (search_fs_uuid_mod_CFLAGS): Likewise.
18011 (search_fs_uuid_mod_LDFLAGS): Likewise.
18012 (fs_file_mod_SOURCES): Removed.
18013 (fs_file_mod_CFLAGS): Likewise.
18014 (fs_file_mod_LDFLAGS): Likewise.
18015 (fs_uuid_mod_SOURCES): Removed.
18016 (fs_uuid_mod_CFLAGS): Likewise.
18017 (fs_uuid_mod_LDFLAGS): Likewise.
18018 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
18019 Set to util/grub-install.in.
18020 * disk/fs_file.c: Removed.
18021 * disk/fs_uuid.c: Likewise.
18022 * include/grub/search.h: New file.
18023 * util/grub-install.in: Handle sparc64.
18024 Create and use load.cfg.
18025 * util/sparc64/ieee1275/grub-install.in: Removed.
18026
18027 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
18028
18029 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
18030 Ignore return status if CF is cleared.
18031 (grub_biosdisk_get_diskinfo_standard): Likewise.
18032
18033 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
18034
18035 * term/i386/pc/at_keyboard.c
18036 (keyboard_controller_wait_untill_ready): New function.
18037 (grub_keyboard_controller_write, grub_keyboard_controller_read)
18038 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
18039 for keyboard polling, rather than duplicate the same loop. This
18040 saves a few bytes in code size.
18041
18042 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
18043
18044 Support for (pxe[:server[:gateway]]) syntax and
18045 use environment variable for PXE.
18046
18047 * commands/i386/pc/pxecmd.c (options): Removed.
18048 (print_ip): Removed.
18049 (grub_cmd_pxe): Removed
18050 (grub_cmd_pxe_unload): New function.
18051 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
18052 (grub_pxe_your_ip): Made static.
18053 (grub_pxe_default_server_ip): Likewise.
18054 (grub_pxe_default_gateway_ip): Likewise.
18055 (grub_pxe_blksize): Likewise.
18056 (parse_ip): New function.
18057 (grub_pxe_open): Support server and gateway specification.
18058 (grub_pxe_close): Free disk->data.
18059 (grub_pxefs_open): Use disk->data.
18060 (grub_pxefs_read): Likewise.
18061 (grub_env_write_readonly): New function.
18062 (set_mac_env): Likewise.
18063 (set_env_limn_ro): Likewise.
18064 (parse_dhcp_vendor): Likewise.
18065 (grub_pxe_detect): Set the environment variables.
18066 (set_ip_env): New function.
18067 (write_ip_env): Likewise.
18068 (grub_env_write_pxe_default_server): Likewise.
18069 (grub_env_write_pxe_default_gateway): Likewise.
18070 (grub_env_write_pxe_blocksize): Likewise.
18071 (GRUB_MOD_INIT(pxe)): Set environment variables.
18072 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
18073 (grub_pxe_mac_addr_t): ... this. All users updated.
18074 (grub_pxe_your_ip): Removed.
18075 (grub_pxe_server_ip): Likewise.
18076 (grub_pxe_gateway_ip): Likewise.
18077 (grub_pxe_blksize): Likewise.
18078
18079 2009-12-25 Carles Pina i Estany <carles@pina.cat>
18080
18081 * commands/help.c: Include `<grub/i18n.h>'.
18082 (grub_cmd_help): Gettextizze.
18083 (GRUB_MOD_INIT): Likewise.
18084 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
18085 (GRUB_MOD_INIT): Gettextizze.
18086 * commands/search.c: Include `<grub/i18n.h>'.
18087 (options): Gettextizze.
18088 (GRUB_MOD_INIT): Gettextizze.
18089 * lib/arg.c: Include `<grub/i18n.h>'.
18090 (help_options): Gettextizze.
18091 (find_long): Likewise.
18092 (grub_arg_show_help): Likewise.
18093 * normal/dyncmd.c: Include `<grub/i18n.h>'.
18094 (read_command_list): Gettextizze.
18095 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
18096 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
18097
18098 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
18099
18100 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
18101 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
18102 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
18103 (led_status): New variable.
18104 (keyboard_controller_led): New function.
18105 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
18106 update led status for caps lock, num lock and scroll lock.
18107
18108 2009-12-25 Felix Zielcke <fzielcke@z-51.de>
18109
18110 * util/hostdisk.c (open_device): Fix a comment.
18111
18112 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
18113
18114 * util/grub-install.in (host_os): New variable.
18115 * util/i386/efi/grub-install.in (host_os): Likewise.
18116
18117 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
18118
18119 * util/mkisofs/write.c (padblock_write): Abort when given an
18120 excedingly large embed image, instead of silently truncating it.
18121
18122 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
18123
18124 * include/multiboot.h: Indentation fixes.
18125
18126 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
18127
18128 * include/multiboot.h (struct multiboot_aout_symbol_table)
18129 (struct multiboot_elf_section_header_table): New structure
18130 declarations (stolen from GRUB Legacy).
18131 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
18132 table information.
18133
18134 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
18135 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
18136 type aliases.
18137
18138 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
18139
18140 * include/multiboot.h: Make comments src2texi-friendly.
18141
18142 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
18143
18144 For consistency with [multiboot]/docs/boot.S.
18145
18146 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
18147 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
18148 (MULTIBOOT_MAGIC2): Rename from this ...
18149 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
18150
18151 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
18152
18153 * include/multiboot.h: Remove `<grub/types.h>'.
18154 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
18155 types. Update all users.
18156
18157 2009-12-25 Carles Pina i Estany <carles@pina.cat>
18158
18159 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
18160 `couldn't' and `can not' by `cannot'.
18161 * commands/i386/pc/drivemap.c: Likewise.
18162 * disk/ata.c: Likewise.
18163 * disk/ieee1275/nand.c: Likewise.
18164 * fs/affs.c: Likewise.
18165 * fs/fat.c: Likewise.
18166 * fs/hfs.c: Likewise.
18167 * fs/hfsplus.c: Likewise.
18168 * fs/iso9660.c: Likewise.
18169 * fs/jfs.c: Likewise.
18170 * fs/minix.c: Likewise.
18171 * fs/reiserfs.c: Likewise.
18172 * fs/sfs.c: Likewise.
18173 * fs/udf.c: Likewise.
18174 * fs/ufs.c: Likewise.
18175 * fs/xfs.c: Likewise.
18176 * loader/powerpc/ieee1275/linux.c: Likewise.
18177 * loader/sparc64/ieee1275/linux.c: Likewise.
18178 * util/grub-probe.c: Likewise.
18179 * util/misc.c: Likewise.
18180
18181 2009-12-24 Carles Pina i Estany <carles@pina.cat>
18182
18183 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
18184 grub_errno calls.
18185 * commands/acpi.c: Likewise.
18186 * commands/blocklist.c: Likewise.
18187 * commands/efi/loadbios.c: Likewise.
18188 * commands/i386/pc/drivemap.c: Likewise.
18189 * commands/loadenv.c: Likewise.
18190 * commands/memrw.c: Likewise.
18191 * commands/password.c: Likewise.
18192 * commands/videotest.c: Likewise.
18193 * disk/ata.c: Likewise.
18194 * disk/ata_pthru.c: Likewise.
18195 * disk/dmraid_nvidia.c: Likewise.
18196 * disk/ieee1275/nand.c: Likewise.
18197 * disk/ieee1275/ofdisk.c: Likewise.
18198 * disk/loopback.c: Likewise.
18199 * disk/lvm.c: Likewise.
18200 * disk/mdraid_linux.c: Likewise.
18201 * disk/raid.c: Likewise.
18202 * disk/raid6_recover.c: Likewise.
18203 * disk/scsi.c: Likewise.
18204 * efiemu/main.c: Likewise.
18205 * efiemu/mm.c: Likewise.
18206 * efiemu/pnvram.c: Likewise.
18207 * efiemu/symbols.c: Likewise.
18208 * font/font.c: Likewise.
18209 * fs/cpio.c: Likewise.
18210 * fs/hfsplus.c: Likewise.
18211 * fs/iso9660.c: Likewise.
18212 * fs/jfs.c: Likewise.
18213 * fs/minix.c: Likewise.
18214 * fs/ntfs.c: Likewise.
18215 * fs/ntfscomp.c: Likewise.
18216 * fs/reiserfs.c: Likewise.
18217 * fs/ufs.c: Likewise.
18218 * fs/xfs.c: Likewise.
18219 * gettext/gettext.c: Likewise.
18220 * include/grub/auth.h: Likewise.
18221 * kern/elf.c: Likewise.
18222 * kern/file.c: Likewise.
18223 * kern/ieee1275/init.c: Likewise.
18224 * kern/ieee1275/mmap.c: Likewise.
18225 * kern/ieee1275/openfw.c: Likewise.
18226 * kern/powerpc/dl.c: Likewise.
18227 * kern/sparc64/dl.c: Likewise.
18228 * lib/arg.c: Likewise.
18229 * loader/i386/bsd.c: Likewise.
18230 * loader/i386/bsdXX.c: Likewise.
18231 * loader/i386/efi/linux.c: Likewise.
18232 * loader/i386/efi/xnu.c: Likewise.
18233 * loader/i386/ieee1275/linux.c: Likewise.
18234 * loader/i386/linux.c: Likewise.
18235 * loader/i386/multiboot.c: Likewise.
18236 * loader/i386/pc/linux.c: Likewise.
18237 * loader/i386/pc/multiboot2.c: Likewise.
18238 * loader/i386/xnu.c: Likewise.
18239 * loader/ieee1275/multiboot2.c: Likewise.
18240 * loader/macho.c: Likewise.
18241 * loader/machoXX.c: Likewise.
18242 * loader/multiboot2.c: Likewise.
18243 * loader/multiboot_loader.c: Likewise.
18244 * loader/powerpc/ieee1275/linux.c: Likewise.
18245 * loader/sparc64/ieee1275/linux.c: Likewise.
18246 * loader/xnu.c: Likewise.
18247 * loader/xnu_resume.c: Likewise.
18248 * mmap/i386/pc/mmap.c: Likewise.
18249 * normal/menu_viewer.c: Likewise.
18250 * partmap/acorn.c: Likewise.
18251 * partmap/amiga.c: Likewise.
18252 * partmap/apple.c: Likewise.
18253 * script/lexer.c: Likewise.
18254 * term/gfxterm.c: Likewise.
18255 * term/i386/pc/serial.c: Likewise.
18256 * term/i386/pc/vga.c: Likewise.
18257 * term/ieee1275/ofconsole.c: Likewise.
18258 * term/terminfo.c: Likewise.
18259 * video/bitmap.c: Likewise.
18260 * video/efi_gop.c: Likewise.
18261 * video/efi_uga.c: Likewise.
18262 * video/fb/video_fb.c: Likewise.
18263 * video/i386/pc/vbe.c: Likewise.
18264 * video/readers/tga.c: Likewise.
18265 * video/video.c: Likewise.
18266
18267 2009-12-23 Felix Zielcke <fzielcke@z-51.de>
18268
18269 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
18270 * commands/lspci.c: Likewise.
18271 * commands/probe.c: Likewise.
18272 * commands/xnu_uuid.c: Likewise.
18273 * conf/i386-coreboot.rmk: Likewise.
18274 * conf/i386-efi.rmk: Likewise.
18275 * conf/i386-ieee1275.rmk: Likewise.
18276 * conf/i386-pc.rmk: Likewise.
18277 * conf/powerpc-ieee1275.rmk: Likewise.
18278 * conf/sparc64-ieee1275.rmk: Likewise.
18279 * conf/x86_64-efi.rmk: Likewise.
18280 * fs/i386/pc/pxe.c: Likewise.
18281 * gettext/gettext.c: Likewise.
18282 * include/grub/efi/graphics_output.h: Likewise.
18283 * include/grub/i386/pc/memory.h: Likewise.
18284 * kern/env.c: Likewise.
18285 * kern/i386/qemu/startup.S: Likewise.
18286 * lib/i386/pc/biosnum.c: Likewise.
18287 * lib/i386/relocator.c: Likewise.
18288 * lib/i386/relocator_asm.S: Likewise.
18289 * lib/relocator.c: Likewise.
18290 * loader/i386/bsd.c: Likewise.
18291 * loader/i386/multiboot.c: Likewise.
18292 * loader/i386/pc/chainloader.c: Likewise.
18293 * loader/i386/xnu.c: Likewise.
18294 * loader/xnu.c: Likewise.
18295 * normal/main.c: Likewise.
18296 * normal/menu_text.c: Likewise.
18297 * util/getroot.c: Likewise.
18298 * util/grub-mkconfig_lib.in: Likewise.
18299 * util/grub.d/00_header.in: Likewise.
18300 * util/i386/pc/grub-mkimage.c: Likewise.
18301 * util/mkisofs/eltorito.c: Likewise.
18302 * util/mkisofs/exclude.h: Likewise.
18303 * util/mkisofs/hash.c: Likewise.
18304 * util/mkisofs/iso9660.h: Likewise.
18305 * util/mkisofs/joliet.c: Likewise.
18306 * util/mkisofs/mkisofs.c: Likewise.
18307 * util/mkisofs/mkisofs.h: Likewise.
18308 * util/mkisofs/multi.c: Likewise.
18309 * util/mkisofs/name.c: Likewise.
18310 * util/mkisofs/rock.c: Likewise.
18311 * util/mkisofs/tree.c: Likewise.
18312 * util/mkisofs/write.c: Likewise.
18313 * video/efi_gop.c: Likewise.
18314
18315 2009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
18316
18317 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
18318 size counting.
18319
18320 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
18321
18322 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
18323 * genmk.rb (class SCRIPT): Modify the target file instead of source.
18324
18325 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
18326
18327 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
18328 (GRUB_MOD_INIT(memrw)): Update help line.
18329
18330 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
18331
18332 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
18333 Use grub_extcmd_t. All users updated.
18334 (options): New variable.
18335 (grub_cmd_read): Restructure for readability. Support "-v" option.
18336 (grub_cmd_write): Restructure for readability.
18337
18338 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
18339
18340 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
18341
18342 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
18343
18344 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
18345 with the actual contents of the correspondending make variable.
18346 * util/grub-mkrescue.in (pkglib_DATA): New variable.
18347 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
18348 specifying `*.lst' and `efiemu??.o'
18349
18350 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
18351
18352 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
18353 after function name.
18354 Noticed by Rene Engelhard <rene@debian.org>.
18355
18356 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
18357
18358 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
18359 (options): New variable.
18360 (iospace): Likewise.
18361 (grub_lspci_iter): List IO spaces if "-i" was given.
18362 (grub_cmd_lspci): Parse options.
18363 (GRUB_MOD_INIT(lspci)): Use extcmd.
18364 (GRUB_MOD_FINI(lspci)): Likewise.
18365
18366 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
18367
18368 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
18369 `function' keyword.
18370 Patch by Tony Mancill <tmancill@debian.org>.
18371
18372 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
18373
18374 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
18375 (grub_uhci_portstatus): Likewise.
18376 (grub_uhci_portstatus): Add necessary delay.
18377 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
18378
18379 2009-12-21 Carles Pina i Estany <carles@pina.cat>
18380
18381 * commands/acpi.c (options): Fix capitalizations and/or full stops.
18382 (GRUB_MOD_INIT): Likewise.
18383 * commands/boot.c (GRUB_MOD_INIT): Likewise.
18384 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
18385 * commands/echo.c (options): Fix capitalizations and/or full stops.
18386 * commands/efi/loadbios.c (enable_rom_area): Likewise.
18387 (enable_rom_area): Likewise.
18388 (GRUB_MOD_INIT): Likewise.
18389 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
18390 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
18391 * commands/handler.c (GRUB_MOD_INIT): Likewise.
18392 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
18393 * commands/hexdump.c (options): Likewise.
18394 * commands/i386/cpuid.c (options): Likewise.
18395 (GRUB_MOD_INIT): Likewise.
18396 * commands/i386/pc/drivemap.c (options): Likewise.
18397 (GRUB_MOD_INIT): Likewise.
18398 * commands/i386/pc/halt (options): Likewise.
18399 (GRUB_MOD_INIT): Likewise.
18400 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
18401 * commands/i386/pc/pxecmd.c (options): Likewise.
18402 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
18403 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
18404 * commands/keystatus.c (options): Likewise.
18405 (GRUB_MOD_INIT): Likewise.
18406 * commands/loadenv.c (options): Likewise.
18407 * commands/ls.c (options): Likewise.
18408 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
18409 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
18410 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
18411 * commands/parttool.c (helpmsg): Likewise.
18412 * commands/probe.c (options): Likewise.
18413 * commands/read.c (GRUB_MOD_INIT): Likewise.
18414 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
18415 * commands/search.c (options): Likewise.
18416 * commands/sleep.c (options): Likewise.
18417 * commands/test.c (GRUB_MOD_INIT): Likewise.
18418 * commands/true.c (GRUB_MOD_INIT): Likewise.
18419 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
18420 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
18421 * lib/arg.c (help_options): Likewise.
18422 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
18423 `$(XGETTEXT)'.
18424 * po/POTFILES: Add `commands/loadenv.c'.
18425
18426 2009-12-21 Felix Zielcke <fzielcke@z-51.de>
18427
18428 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
18429 instead of specifying them explicit.
18430
18431 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
18432
18433 * NEWS: Add grub-probe support for GNU/Hurd.
18434
18435 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
18436
18437 * NEWS: gettext was added after 1.97.
18438
18439 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
18440
18441 * util/mkisofs/msdos_partition.h: New file (based on
18442 include/grub/msdos_partition.h).
18443 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
18444 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
18445 (ld_options, main): Recognize --protective-msdos-label.
18446 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
18447 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
18448 (padblock_write): If `use_protective_msdos_label' is set, patch a
18449 protective DOS-style label in the output image.
18450
18451 * util/grub-mkrescue.in: Use --protective-msdos-label.
18452
18453 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
18454
18455 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
18456 boot.
18457
18458 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
18459
18460 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
18461 variables.
18462 (ld_options, main): Recognize `--embedded-boot'.
18463 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
18464 declarations.
18465 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
18466 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
18467 (padblock_write): Likewise. Rewrite to support embedded boot image.
18468
18469 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
18470 for BIOS-based disk boot instead of only ElTorito.
18471
18472 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
18473
18474 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
18475 build (not needed for bootstrap).
18476
18477 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
18478
18479 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
18480 from i386-pc build (not needed for bootstrap).
18481 Rewrite a pair of strings.
18482
18483 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
18484
18485 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
18486
18487 2009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
18488
18489 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
18490
18491 2009-12-21 Andreas Born <futur.andy@googlemail.com>
18492
18493 * kern/env.c (grub_env_context_open): Mark exported variable for
18494 reexport.
18495
18496 2009-12-21 Andreas Born <futur.andy@googlemail.com>
18497
18498 * kern/env.c (grub_env_export): Create nonexistent variables before
18499 exporting.
18500
18501 2009-12-20 Carles Pina i Estany <carles@pina.cat>
18502
18503 * include/grub/auth.h: Include `<grub/i18n.h>'.
18504 (GRUB_GET_PASSWORD): Gettextizze string.
18505 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
18506 menu_text.c.
18507 (grub_utf8_to_ucs4_alloc): Fix indentation.
18508 (grub_print_ucs4): Likewise.
18509 (grub_getstringwidth): Likewise.
18510 (print_message_indented): New declaration.
18511 * normal/auth.c: Include `<grub/i18n.h>'.
18512 (grub_auth_check_authentication): Gettexttize string.
18513 * normal/cmdline.c: Include `<grub/i18n.h>'.
18514 (grub_cmdline_get): Gettextizze.
18515 * normal/color.c: Include `<grub/i18n.h>'.
18516 (grub_parse_color_name_pair): Gettexttize strings.
18517 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
18518 string (use `print_message_indented').
18519 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
18520 `include/grub/normal.h'.
18521 (print_message_indented): Renamed to ...
18522 (grub_print_message_indented): ... this. Remove `static' qualifer (now
18523 used in normal/main.c).
18524 (print_message): Use `grub_print_message_indented' instead of
18525 `print_message_indented'.
18526 (print_timeout): Likewise.
18527 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
18528 (grub_normal_print_device_info): Gettexttize strings.
18529 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
18530
18531 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
18532
18533 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
18534 of arguments. Return number of tokens and not arguments. All users
18535 updated.
18536
18537 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
18538
18539 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
18540 non-MSDOS paritions.
18541
18542 2009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
18543
18544 * include/grub/types.h (UNUSED): Removed since it conflicts with
18545 NetBSD headers. All users changed to direct __attribute__ ((unused)).
18546 Reported by Grégoire Sutre.
18547
18548 2009-12-19 Carles Pina i Estany <carles@pina.cat>
18549
18550 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
18551 (grub_print_ucs4_alloc): Likewise.
18552 (grub_getstringwidth): Likewise.
18553 * normal/main.c (grub_normal_init_page): Gettextize version string.
18554 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
18555 (getstringwidth): Renamed to ...
18556 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
18557 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
18558 (grub_print_ucs4): Remove `static' qualifer (now used in
18559 normal/main.c).
18560 * po/POTFILES: Add normal/main.c.
18561
18562 2009-12-19 Carles Pina i Estany <carles@pina.cat>
18563
18564 * normal/menu_text.c (STANDARD_MARGIN): New macro.
18565 (print_message_indented): Add `margin_left' and `margin_right'
18566 parameters.
18567 (print_message): Update `print_message_indented' calls. Adds '\n' to the
18568 strings.
18569 (print_timeout): Use `print_message_indented' to print the message.
18570 Deletes `second_stage' parameter.
18571 (run_menu): Update `print_timeout' calls.
18572
18573 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
18574
18575 Fix console palette on OpenFirmware.
18576
18577 * term/ieee1275/ofconsole.c (MAX): Removed.
18578 (colors): Redone based on VGA palette.
18579 (grub_ofconsole_setcolor): Discard brightness bit since only 8
18580 colors are supported.
18581 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
18582
18583 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
18584
18585 Fix potential EfiEmu double prepare.
18586
18587 * efiemu/main.c (prepared): New variable
18588 (grub_efiemu_unload): Set prepare to '0'.
18589 (grub_efiemu_prepare): Return if already prepared. Set prepared.
18590
18591 set_virtual_address_map support.
18592
18593 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
18594 prototype.
18595 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
18596 prototype.
18597 (grub_efiemu_crc32): Likewise.
18598 (grub_efiemu_crc64): Likewise.
18599 (grub_efiemu_set_virtual_address_map): Likewise.
18600 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
18601 New definition.
18602 (grub_autoefi_set_virtual_address_map): Likewise.
18603 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
18604 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
18605 Restructure flow to accomodate it.
18606 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
18607 (grub_efiemu_crc): Recompute CRC32.
18608 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
18609 (efiemu_ptv_relocated): ... this. Made global. All users updated.
18610 * efiemu/symbols.c (relocated_handle): New variable.
18611 (grub_efiemu_free_syms): Free relocated_handle.
18612 (grub_efiemu_alloc_syms): Allocate relocated_handle.
18613 (grub_efiemu_write_sym_markers): New function.
18614 (grub_efiemu_set_virtual_address_map): Likewise.
18615
18616 Newer XNU parameters.
18617
18618 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
18619 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
18620 (grub_xnu_fill_devicetree): New prototype.
18621 (grub_xnu_heap_real_start): New variable.
18622 * loader/xnu.c (get_name_ptr): New function.
18623 (grub_xnu_load_driver): Fill namelen and name.
18624
18625 64-bit xnu support.
18626
18627 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
18628 and 'loader/macho64.c'.
18629 * conf/i386-pc.rmk: Likewise.
18630 * conf/x86_64-efi.rmk: Likewise.
18631 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
18632 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
18633 * include/grub/macho.h (grub_macho_segment64): New structure.
18634 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
18635 (grub_macho_size32): ... to this.
18636 (grub_macho32_get_entry_point): Renamed from ...
18637 (grub_macho_get_entry_point32): ... to this.
18638 (grub_macho_contains_macho64): New prototype.
18639 (grub_macho_size64): Likewise.
18640 (grub_macho_get_entry_point64): Likewise.
18641 (grub_macho32_load): Renamed from ...
18642 (grub_macho_load32): ... to this.
18643 (grub_macho32_filesize): Renamed from ...
18644 (grub_macho_filesize32): ... to this.
18645 (grub_macho32_readfile): Renamed from ...
18646 (grub_macho_readfile32): ... to this.
18647 (grub_macho_filesize64): New prototype.
18648 (grub_macho_readfile64): Likewise.
18649 (grub_macho_parse32): Likewise.
18650 (grub_macho_parse64): Likewise.
18651 * loader/macho.c: Split into ...
18652 * loader/machoXX.c: ... and this. Replace 32 with XX.
18653 * loader/macho32.c: New file.
18654 * loader/macho64.c: Likewise.
18655 * loader/xnu.c (grub_xnu_is_64bit): New variable.
18656 (grub_cmd_xnu_kernel): Make 32-bit only.
18657 (grub_cmd_xnu_kernel64): New function.
18658 (grub_xnu_load_driver): Support Mach-O 64.
18659 (grub_cmd_xnu_mkext): Likewise.
18660 * util/grub.d/30_os-prober.in (osx_entry): New function.
18661 Generate entries for 64-bit boot too.
18662
18663 Eliminate ad-hoc tree format in XNU and EfiEmu.
18664
18665 * efiemu/main.c (grub_efiemu_prepare): Update comment.
18666 * efiemu/pnvram.c: Rewritten to use environment variables.
18667 All users updated.
18668
18669 Inline utf16_to_utf8.
18670
18671 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
18672 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
18673 All users updated.
18674 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
18675
18676 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
18677 * commands/usbtest.c (grub_usb_get_string): ... move here.
18678 (usb_print_str): Fix error handling.
18679 * include/grub/usb.h (grub_usb_get_string): Remove.
18680
18681 UTF-8 to UTF-16 transformation.
18682
18683 * conf/common.rmk (pkglib_MODULES): Add charset.mod
18684 (charset_mod_SOURCES): New variable.
18685 (charset_mod_CFLAGS): Likewise.
18686 (charset_mod_LDFLAGS): Likewise.
18687 * include/grub/utf.h: New file.
18688 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
18689
18690 Support for device properties.
18691
18692 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
18693 (grub_xnu_devprop_device_header): Likewise.
18694 (grub_xnu_devprop_device_descriptor): Likewise.
18695 (grub_xnu_devprop_add_device): New prototype.
18696 (grub_xnu_devprop_remove_device): Likewise.
18697 (grub_xnu_devprop_remove_property): Likewise.
18698 (grub_xnu_devprop_add_property_utf8): Likewise.
18699 (grub_xnu_devprop_add_property_utf16): Likewise.
18700 (grub_cpu_xnu_init): Likewise.
18701 (grub_cpu_xnu_fini): Likewise.
18702 (grub_cpu_xnu_unload): Likewise.
18703 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
18704 (property_descriptor): Likewise.
18705 (devices): New variable.
18706 (grub_xnu_devprop_remove_property): New function.
18707 (grub_xnu_devprop_add_device): Likewise.
18708 (grub_xnu_devprop_remove_device): Likewise.
18709 (grub_xnu_devprop_add_property): Likewise.
18710 (grub_xnu_devprop_add_property_utf8): Likewise.
18711 (grub_xnu_devprop_add_property_utf16): Likewise.
18712 (hextoval): Likewise.
18713 (grub_cpu_xnu_fill_devprop): Likewise.
18714 (grub_cmd_devprop_load): Likewise.
18715 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
18716 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
18717 (cmd_devprop_load): New variable.
18718 (grub_cpu_xnu_init): New function.
18719 (grub_cpu_xnu_fini): Likewise.
18720 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
18721 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
18722 (grub_cmd_xnu_devtree): Likewise.
18723 (hextoval): New function.
18724 (unescape): Likewise.
18725 (grub_xnu_fill_devicetree): Likewise.
18726
18727 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
18728 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
18729
18730 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
18731
18732 Workaround for broken ATI VBE.
18733
18734 * video/i386/pc/vbe.c (last_set_mode): New variable.
18735 (grub_vbe_set_video_mode): Set 'last_set_mode'.
18736 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
18737 (grub_video_vbe_setup): Don't check for reserved flag.
18738
18739 2009-12-17 Felix Zielcke <fzielcke@z-51.de>
18740
18741 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
18742 the `find' command.
18743
18744 2009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
18745
18746 UUID support for HFS.
18747
18748 * fs/hfs.c (grub_hfs_uuid): New function.
18749 (grub_hfs_fs): New value .uuid.
18750 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
18751
18752 2009-12-14 Felix Zielcke <fzielcke@z-51.de>
18753
18754 Fix a segfault with parsing unknown long options.
18755
18756 * util/grub-mkrelpath.c (options): Zero terminate it.
18757
18758 2009-12-13 Carles Pina i Estany <carles@pina.cat>
18759
18760 * include/grub/misc.h (grub_puts): New declaration.
18761 (grub_puts_): Likewise.
18762 * kern/misc.c (grub_puts): New definition.
18763 (grub_puts_): Likewise.
18764
18765 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
18766
18767 * util/grub-probe.c (probe): Improve error message.
18768
18769 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
18770
18771 * loader/i386/multiboot_elfxx.c
18772 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
18773 initialization.
18774
18775 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
18776
18777 Relocator framework
18778
18779 * loader/i386/xnu_helper.S: Removed. All users updated.
18780 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
18781 (relocator_mod_SOURCES): New variable.
18782 (relocator_mod_CFLAGS): Likewise.
18783 (relocator_mod_LDFLAGS): Likewise.
18784 (relocator_mod_ASFLAGS): Likewise.
18785 * conf/x86_64.rmk: Likewise.
18786 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
18787 (grub_multiboot_payload_entry_offset): Likewise.
18788 (grub_multiboot_forward_relocator): Likewise.
18789 (grub_multiboot_forward_relocator_end): Likewise.
18790 (grub_multiboot_backward_relocator): Likewise.
18791 (grub_multiboot_backward_relocator_end): Likewise.
18792 (grub_multiboot_payload_eip): New variable.
18793 (grub_multiboot_payload_orig): Likewise.
18794 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
18795 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
18796 * include/grub/i386/memory.h
18797 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
18798 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
18799 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
18800 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
18801 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
18802 * include/grub/i386/relocator.h: New file.
18803 * include/grub/x86_64/relocator.h: Likewise.
18804 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
18805 (XNU_RELOCATOR): New macro.
18806 (grub_xnu_launcher_start): Remove.
18807 (grub_xnu_launcher_end): Likewise.
18808 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
18809 (grub_xnu_heap_real_start): Remove.
18810 (grub_xnu_heap_start): Change to void *. All users updated.
18811 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
18812 * lib/i386/relocator.c: New file.
18813 * lib/i386/relocator_asm.S: Likewise.
18814 * lib/i386/relocator_backward.S: Likewise.
18815 * lib/mips/relocator.c: Likewise.
18816 * lib/mips/relocator_asm.S: Likewise.
18817 * lib/relocator.c: Likewise.
18818 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
18819 (entry): Removed.
18820 (playground): Likewise.
18821 (grub_multiboot_payload_orig): New variable.
18822 (grub_multiboot_payload_dest): Likewise.
18823 (grub_multiboot_payload_size): Likewise.
18824 (grub_multiboot_payload_eip): Likewise.
18825 (grub_multiboot_payload_esp): Likewise.
18826 (grub_multiboot_boot): Use grub_relocator32_boot.
18827 (grub_multiboot_unload): Free relocators.
18828 (grub_multiboot): Setup stack. Use relocators.
18829 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
18830 (grub_multiboot_load_elfXX): Use relocators.
18831 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
18832 (grub_multiboot_payload_size): Likewise.
18833 (grub_multiboot_payload_dest): Likewise.
18834 (grub_multiboot_payload_entry_offset): Likewise.
18835 (grub_multiboot_forward_relocator): Likewise.
18836 (grub_multiboot_backward_relocator): Likewise.
18837 (grub_multiboot_real_boot): Likewise.
18838 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
18839 (grub_xnu_entry_point): Likewise.
18840 (grub_xnu_arg1): Likewise.
18841 (grub_xnu_stack): Likewise.
18842 (grub_xnu_launch): Removed.
18843 (grub_xnu_boot_resume): New function.
18844 (grub_xnu_boot): Use relocators.
18845 * loader/i386/xnu_helper.S: Removed.
18846 * loader/xnu.c (grub_xnu_heap_start): New variable.
18847 (grub_xnu_heap_size): Likewise.
18848 (grub_xnu_heap_malloc): Use relocators.
18849 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
18850
18851 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
18852
18853 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
18854 anything.
18855
18856 2009-12-13 Carles Pina i Estany <carles@pina.cat>
18857
18858 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
18859 GRUB_ERR_NONE before calling grub_env_set.
18860
18861 2009-12-12 Robert Millan <rmh@aybabtu.com>
18862
18863 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
18864 * genmk.rb (video): New variable.
18865 (CLEANFILES, VIDEOFILES): Add #{video}.
18866 (#{video}): New target rule.
18867 * genvideolist.sh: New file.
18868 * Makefile.in (pkglib_DATA): Add video.lst.
18869 (video.lst): New target rule.
18870 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
18871 `video.lst'.
18872 * util/grub.d/30_os-prober.in: Replace `vbe' with
18873 ${GRUB_VIDEO_BACKEND}.
18874
18875 2009-12-11 Robert Millan <rmh.grub@aybabtu.com>
18876
18877 * THANKS: Add David Miller.
18878
18879 2009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
18880
18881 libpciaccess support.
18882
18883 * Makefile.in (LIBPCIACCESS): New variable.
18884 (enable_grub_emu_pci): Likewise.
18885 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
18886 util/pci.c and commands/lspci.c.
18887 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
18888 * configure.ac (grub-emu-pci): New option.
18889 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
18890 (grub_pci_device_unmap_range): Likewise.
18891 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
18892 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
18893 (grub_pci_address_t) [!GRUB_UTIL]: New type.
18894 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
18895 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
18896 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
18897 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
18898 * include/grub/pciutils.h: New file.
18899 * util/pci.c: Likewise.
18900
18901 2009-12-11 Felix Zielcke <fzielcke@z-51.de>
18902
18903 * util/misc.c: Don't include <errno.h> twice.
18904
18905 2009-12-10 Felix Zielcke <fzielcke@z-51.de>
18906
18907 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
18908 name in an error message.
18909 (grub_biosdisk_rw): Likewise.
18910
18911 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
18912
18913 Eliminate NTFS 4Gib barrier.
18914
18915 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
18916 (read_run_data): Likewise.
18917 (grub_ntfs_read_run_list): Likewise.
18918 (grub_ntfs_read_block): Likewise.
18919 (grub_ntfs_iterate_dir): Likewise.
18920 (read_mft): Likewise.
18921 (read_data): Likewise.
18922 Use COM_LOG_LEN.
18923 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
18924 to avoid 64-bit division
18925 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
18926 (grub_ntfs_rlst): Use grub_disk_addr_t.
18927
18928 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
18929
18930 Eliminate grub-fstest 4Gib barrier.
18931
18932 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
18933 (read_file): Fix error reporting.
18934
18935 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
18936
18937 Eliminate hexdump 4Gib barrier.
18938
18939 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
18940 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
18941
18942 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
18943
18944 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
18945 Fixes amarsh bug.
18946
18947 2009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
18948
18949 Remove miscellaneous files in distclean target.
18950
18951 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
18952
18953 2009-12-09 Colin Watson <cjwatson@ubuntu.com>
18954
18955 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
18956 if they're already set. This resolves the conflict between my
18957 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
18958 fixing the --grub-probe option again.
18959 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
18960 change on 2009-10-06, so that we now once again source
18961 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
18962
18963 2009-12-08 Robert Millan <rmh.grub@aybabtu.com>
18964
18965 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
18966 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
18967 `util/devicemap.c'.
18968
18969 2009-12-08 Carles Pina i Estany <carles@pina.cat>
18970
18971 * include/grub/misc.h (grub_printf_): New declaration.
18972 * kern/misc.c (grub_printf_): New definition.
18973 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
18974 instead of `grub_printf' and `_'.
18975 * normal/menu_entry.c (store_completion): Likewise.
18976 (run): Likewise.
18977 (grub_menu_entry_run): Likewise.
18978 * normal/menu_text.c (grub_wait_after_message): Likewise.
18979 (notify_booting): Likewise.
18980 (notify_fallback): Likewise.
18981 (notify_execution_failure): Likewise.
18982
18983 2009-12-07 Colin Watson <cjwatson@ubuntu.com>
18984
18985 * configure.ac: Check for vasprintf.
18986 * util/misc.c (asprintf): Move allocation from here ...
18987 (vasprintf): ... to here. New function.
18988 (xasprintf): New function.
18989 * include/grub/util/misc.h (vasprintf, xasprintf): Add
18990 prototypes.
18991 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
18992 * util/grub-mkfont.c (write_font): Likewise.
18993 * util/grub-probe.c (probe): Likewise.
18994 * util/hostdisk.c (make_device_name): Likewise.
18995
18996 2009-12-06 David S. Miller <davem@sunset.davemloft.net>
18997
18998 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
18999 anything even prefixed with 'cdrom' as a cdrom.
19000
19001 2009-12-06 Felix Zielcke <fzielcke@z-51.de>
19002
19003 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
19004 mount points.
19005
19006 2009-12-05 Carles Pina i Estany <carles@pina.cat>
19007
19008 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
19009 grub_gettext_msg_list.
19010 (grub_gettext_gettranslation_from_position): Return const char *
19011 and not char *.
19012 (grub_gettext_translate): Add the translated strings into a list,
19013 returns from the list if existing there.
19014 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
19015 (grub_gettext_delete_list): Delete the list.
19016 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
19017 lang environment variable is changed.
19018 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
19019
19020 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
19021
19022 Rename kernel.mod to kernel.img.
19023
19024 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
19025 (kernel_mod_EXPORTS): Rename to ...
19026 (kernel_img_EXPORTS): ... this.
19027 (kernel_mod_SOURCES): Rename to ...
19028 (kernel_img_SOURCES): ... this.
19029 (kernel_mod_HEADERS): Rename to ...
19030 (kernel_img_HEADERS): ... this. All users updated.
19031 (kernel_mod_CFLAGS): Rename to ...
19032 (kernel_img_CFLAGS): ... this.
19033 (kernel_mod_ASFLAGS): Rename to ...
19034 (kernel_img_ASFLAGS): ... this.
19035 (kernel_mod_LDFLAGS): Rename to ...
19036 (kernel_img_LDFLAGS): ... this.
19037 * conf/x86_64-efi.rmk: Likewise.
19038 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
19039 (read_kernel_image): ... this. All users updated.
19040 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
19041
19042 2009-12-05 Carles Pina i Estany <carles@pina.cat>
19043
19044 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
19045 (print_spaces): New function.
19046 (grub_print_ucs4): New function.
19047 (getstringwidth): New function.
19048 (print_message_indented): New function.
19049 (print_message): Gettexttize strings using print_message_indented.
19050 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
19051 width.
19052 (get_entry_number): Gettextize and uses dynamic terminal width.
19053 (notify_booting, notify_fallback, notify_execution_failure):
19054 Gettextize.
19055 * normal/menu_entry.c (store_completion): Cleanup the gettextized
19056 string.
19057 (run): Likewise.
19058 (grub_menu_entry_run): Likewise.
19059 * PO/POTFILES: Add normal/menu_entry.c.
19060
19061 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
19062
19063 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
19064
19065 2009-12-05 Carles Pina i Estany <carles@pina.cat>
19066
19067 * util/grub-install.in: Install gettext .mo files.
19068 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
19069
19070 2009-12-05 Carles Pina i Estany <carles@pina.cat>
19071
19072 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
19073 grub_dprintf.
19074
19075 2009-12-05 Robert Millan <rmh.grub@aybabtu.com>
19076
19077 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
19078 non-firmware-dependant one in realmode.S takes precedence.
19079
19080 2009-12-04 Robert Millan <rmh.grub@aybabtu.com>
19081
19082 * commands/halt.c: Replace misc arch-specific headers with
19083 `<grub/misc.h>'.
19084 * commands/reboot.c: Likewise.
19085 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
19086 `<grub/misc.h>'.
19087 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
19088 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
19089 (kernel_img_SOURCES): ... to here.
19090
19091 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
19092 * include/grub/i386/pc/init.h: Likewise.
19093 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
19094 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
19095
19096 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
19097
19098 * include/grub/i386/halt.h: Remove.
19099 * include/grub/i386/reboot.h: Likewise.
19100
19101 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
19102
19103 2009-12-03 David S. Miller <davem@sunset.davemloft.net>
19104
19105 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
19106 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
19107 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
19108 "progname.h"
19109 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
19110 * util/sparc64/ieee1275/grub-setup.c: Likewise.
19111 (usage): Add missing comma in printf.
19112
19113 2009-12-02 Robert Millan <rmh.grub@aybabtu.com>
19114
19115 Use the same reboot approach on i386 coreboot and qemu as we do on
19116 BIOS.
19117
19118 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
19119 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
19120 * kern/i386/reboot.c: Remove.
19121 * include/grub/i386/reboot.h (grub_reboot): Export function.
19122 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
19123 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
19124 0xf000:0xfff0 instead of 0xffff:0x0000.
19125 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
19126 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
19127
19128 2009-11-30 Robert Millan <rmh.grub@aybabtu.com>
19129
19130 Fix $srcdir != $objdir build.
19131
19132 * Makefile.in (po/%.po): Rewrite as ...
19133 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
19134
19135 2009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
19136
19137 Fix GNU/Hurd grub-install crash.
19138 * util/grub-probe.c (probe): Try to access `path' only when it is not
19139 NULL.
19140
19141 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
19142
19143 Correct module naming.
19144
19145 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
19146 (GRUB_MOD_INIT(efi_uga)): ... to this
19147 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
19148 (GRUB_MOD_FINI(efi_uga)): ... to this
19149 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
19150 (GRUB_MOD_INIT(efi_gop)): ... to this
19151 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
19152 (GRUB_MOD_FINI(efi_gop)): ... to this
19153
19154 2009-11-28 Robert Millan <rmh.grub@aybabtu.com>
19155
19156 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
19157 translatable.
19158 (usage): Translate `arg' strings using gettext().
19159 Thanks to Jordi Mallach for the suggestion.
19160
19161 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
19162
19163 GOP support. Based on patch from Bean
19164 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
19165
19166 * video/efi_gop.c: New file.
19167 * include/grub/efi/graphics_output.h: Likewise.
19168 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
19169 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
19170 variables.
19171 * conf/x86_64-efi.rmk: Likewise.
19172
19173 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
19174
19175 Rename efi_fb to efi_uga.
19176
19177 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
19178 'efi_uga.mod'.
19179 (efi_fb_mod_SOURCES): Rename this ...
19180 (efi_uga_mod_SOURCES): ... to this.
19181 (efi_fb_mod_CFLAGS): Rename this ...
19182 (efi_uga_mod_CFLAGS): ... to this.
19183 (efi_fb_mod_LDFLAGS): Rename this ...
19184 (efi_uga_mod_LDFLAGS): ... to this.
19185 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
19186 'efi_uga.mod'.
19187 (efi_fb_mod_SOURCES): Rename this ...
19188 (efi_uga_mod_SOURCES): ... to this.
19189 (efi_fb_mod_CFLAGS): Rename this ...
19190 (efi_uga_mod_CFLAGS): ... to this.
19191 (efi_fb_mod_LDFLAGS): Rename this ...
19192 (efi_uga_mod_LDFLAGS): ... to this.
19193 * video/efi_fb.c: Move this ...
19194 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
19195
19196 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
19197
19198 * po/README: New file. Explain our PO file workflow.
19199
19200 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
19201
19202 * po/ChangeLog: Remove. Move relevant entries back to ...
19203 * ChangeLog: ... here.
19204 * po/ca.po: Remove (now handled by TLP).
19205 * po/id.po: Likewise.
19206 * po/zh_CN.po: Likewise.
19207 * Makefile.in (LINGUAS): Initialize in a way that supports
19208 empty set.
19209
19210 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
19211
19212 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
19213 reliing on po/LINGUAS.
19214 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
19215 (po/%.po): ... this.
19216
19217 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
19218
19219 * util/i386/efi/grub-mkimage.c: Include "progname.h".
19220 (main): Use `program_name' instead of nonexistent `progname'.
19221
19222 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
19223
19224 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
19225 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
19226
19227 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
19228
19229 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
19230 commit.
19231 * conf/i386-efi.rmk: Likewise.
19232 * conf/i386-ieee1275.rmk: Likewise.
19233 * conf/powerpc-ieee1275.rmk: Likewise.
19234 * conf/sparc64-ieee1275.rmk: Likewise.
19235 * conf/x86_64-efi.rmk: Likewise.
19236
19237 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
19238
19239 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
19240
19241 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
19242
19243 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
19244
19245 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
19246
19247 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
19248 (grub_mkdevicemap_SOURCES): New variable.
19249 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
19250 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
19251 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
19252 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
19253 (grub_mkdevicemap_SOURCES): Remove.
19254 * conf/i386-efi.rmk: Likewise.
19255 * conf/i386-ieee1275.rmk: Likewise.
19256 * conf/i386-pc.rmk: Likewise.
19257 * conf/powerpc-ieee1275.rmk: Likewise.
19258 * conf/sparc64-ieee1275.rmk: Likewise.
19259 * conf/x86_64-efi.rmk: Likewise.
19260 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
19261 (usage): Fix strings to use `program_name'.
19262 (main): Initialize gettext.
19263 * util/grub-editenv.c: Likewise.
19264 * util/grub-emu.c: Likewise.
19265 * util/grub-fstest.c: Likewise.
19266 * util/grub-mkdevicemap.c: Likewise.
19267 * util/grub-mkfont.c: Likewise.
19268 * util/grub-mkrelpath.c: Likewise.
19269 * util/grub-pe2elf.c: Likewise.
19270 * util/grub-probe.c: Likewise.
19271 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
19272 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
19273 * util/sparc64/ieee1275/grub-setup.c: Likewise.
19274
19275 * util/misc.c: Include `"progname.h"'.
19276 (progname): Remove variable.
19277 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
19278
19279 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
19280
19281 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
19282 printf and print a newline after the menuentry header line.
19283 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
19284
19285 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
19286
19287 autoconf >= 2.60 support $(localedir).
19288
19289 * INSTALL: Note that autoconf 2.60 is required.
19290 * configure.ac (AC_PREREQ): Bump to 2.60.
19291 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
19292 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
19293
19294 2009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
19295
19296 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
19297 aclocal is run.
19298
19299 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
19300
19301 * normal/main.c (grub_normal_read_line): Fix off-by-one
19302 buffer overflow.
19303
19304 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
19305
19306 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
19307 "parser.grub" in grub_command_execute() call.
19308
19309 2009-11-24 Carles Pina i Estany <carles@pina.cat>
19310
19311 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
19312 * conf/i386-efi.rmk: Likewise.
19313 * conf/i386-ieee1275.rmk: Likewise.
19314 * conf/i386-pc.rmk: Likewise.
19315 * conf/powerpc-ieee1275.rmk: Likewise.
19316 * conf/sparc64-ieee1275.rmk: Likewise.
19317 * conf/x86_64-efi.rmk: Likewise.
19318 * gettext/gettex.c: Include <grub/i18n.h>.
19319 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
19320 here ...
19321 * include/grub/i18n.h: ... to here
19322 * include/grub/i18n.h: ... to here.
19323 * kern/misc.c: Include <grub/i18n.h>
19324 (grub_gettext_dummy): Move above user.
19325
19326 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
19327
19328 * util/Makefile.in (install-local): Convert a `for' into a normal
19329 shell expansion.
19330
19331 2009-11-24 Robert Millan <rmh.grub@aybabtu.com>
19332
19333 * autogen.sh: Add automake call.
19334 * config.guess: Remove.
19335 * config.sub: Likewise.
19336 * install-sh: Likewise.
19337
19338 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
19339
19340 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
19341
19342 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
19343
19344 * util/Makefile.in (install-local): Convert a make `$(foreach)'
19345 function to a normal shell `for'.
19346
19347 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
19348
19349 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
19350
19351 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
19352
19353 * util/grub-mkrelpath.c: New file.
19354 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
19355 (grub_mkrelpath_SOURCES): New variable.
19356 * include/grub/util/misc.h: New function prototype.
19357 * util/misc.c (make_system_path_relative_to_its_root): New function.
19358
19359 * util/grub-mkconfig_lib.in (bindir): New variable.
19360 (grub_mkrelpath): Likewise.
19361 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
19362
19363 * util/probe.c (probe): Make the file path relative to its root.
19364 Change a info message to use the GRUB path. Enable again the
19365 check if we can read the file with GRUB facilities.
19366
19367 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
19368 to its root.
19369
19370 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
19371
19372 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
19373 platform.
19374
19375 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
19376
19377 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
19378 strncmp().
19379
19380 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
19381
19382 * util/getroot.c (grub_util_is_dmraid): New function.
19383 (grub_util_get_dev_abstraction): Treat dmraid and multipath
19384 devices as normal ones, not as LVM.
19385
19386 2009-11-23 Carles Pina i Estany <carles@pina.cat>
19387
19388 * conf/common.rmk: Add grub-gettext_lib target and updates
19389 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
19390 LDFLAGS.
19391 * gettext/gettext.c: New file. (Reads mo files).
19392 * include/grub/file.h (grub_file_pread): New prototype.
19393 * include/grub/i18n.h (_): New prototype.
19394 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
19395 prototypes.
19396 * kern/misc.c (grub_gettext_dummy): New function.
19397 * normal/menu_text.c: Include <grub/i18n.h>.
19398 * normal/menu_text.c (print_timeout): Gettexttize string.
19399 * normal/menu_text.c (print_message): Gettexttize string.
19400 * po/POTFILES: Add `normal/menu_text.c'.
19401 * po/ca.po: Add new translations.
19402 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
19403 gettext module and defines locale_dir and lang in grub.cfg.
19404 * NEWS: Add gettext support.
19405
19406 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
19407
19408 * util/hostdisk.c: Include `<grub/i18n.h>'.
19409 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
19410 (make_device_name): Rewrite using asprintf.
19411 (convert_system_partition_to_system_disk): Replace 0 with NULL.
19412 (find_system_device): If a device is not found, generate one just
19413 by reusing the OS path name.
19414 (read_device_map): Make it permissible for device.map not to exist.
19415
19416 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
19417
19418 * script/sh/execute.c: Move from here ...
19419 * script/execute.c: ... to here. Update all users.
19420 * script/sh/function.c: Move from here ...
19421 * script/function.c: ... to here. Update all users.
19422 * script/sh/lexer.c: Move from here ...
19423 * script/lexer.c: ... to here. Update all users.
19424 * script/sh/main.c: Move from here ...
19425 * script/main.c: ... to here. Update all users.
19426 * script/sh/parser.y: Move from here ...
19427 * script/parser.y: ... to here. Update all users.
19428 * script/sh/script.c: Move from here ...
19429 * script/script.c: ... to here. Update all users.
19430
19431 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
19432
19433 * configure.ac: Detect all `emu' platforms. Define
19434 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
19435 --enable-grub-emu logic. Disable include/grub/machine
19436 symlink on `emu' platforms.
19437
19438 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
19439 * gensymlist.sh.in: Likewise.
19440
19441 * include/grub/i386/coreboot/machine.h: Remove file.
19442 * include/grub/i386/efi/machine.h: Likewise.
19443 * include/grub/i386/ieee1275/machine.h: Likewise.
19444 * include/grub/i386/pc/machine.h: Likewise.
19445 * include/grub/i386/qemu/machine.h: Likewise.
19446 * include/grub/powerpc/ieee1275/machine.h: Likewise.
19447 * include/grub/sparc64/ieee1275/machine.h: Likewise.
19448 * include/grub/x86_64/efi/machine.h: Likewise.
19449
19450 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
19451 * commands/halt.c: Likewise.
19452 * commands/reboot.c: Likewise.
19453 * include/grub/autoefi.h: Likewise.
19454 * include/grub/i386/at_keyboard.h: Likewise.
19455 * include/grub/i386/kernel.h: Likewise.
19456 * include/grub/i386/loader.h: Likewise.
19457 * include/grub/i386/pc/memory.h: Likewise.
19458 * kern/dl.c: Likewise.
19459 * kern/i386/coreboot/init.c: Likewise.
19460 * loader/i386/bsd.c: Likewise.
19461 * loader/i386/linux.c: Likewise.
19462 * loader/multiboot_loader.c: Likewise.
19463 * term/i386/pc/serial.c: Likewise.
19464 * term/usb_keyboard.c: Likewise.
19465
19466 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
19467 `<grub/machine/machine.h>'
19468 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
19469 * util/misc.c: Remove `<grub/machine/machine.h>' and
19470 `<grub/machine/time.h>'.
19471
19472 * Makefile.in (enable_grub_emu): Remove variable.
19473 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
19474
19475 * conf/any-emu.rmk: New file.
19476 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
19477 (grub_emu_init.c): Move from here ...
19478 * conf/any-emu.rmk: ... to here.
19479
19480 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
19481 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
19482 * conf/any-emu.rmk: ... to here.
19483
19484 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
19485
19486 * include/grub/parser.h (grub_parser_register): Document need
19487 of `name' parameter.
19488 * normal/main.c (grub_normal_read_line): Simplify prompt string.
19489 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
19490 "sh" to "grub".
19491
19492 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
19493
19494 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
19495 `$(XGETTEXT)'.
19496 * include/grub/i18n.h (N_): New macro.
19497 * util/mkisofs/mkisofs.h: Likewise.
19498 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
19499 around N_().
19500 (usage): Use gettext() to translate help strings when printing them.
19501
19502 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
19503
19504 Based on patch from Bean
19505 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
19506
19507 * video/efi_fb.c: New file.
19508 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
19509 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
19510 variables.
19511 * conf/x86_64-efi.rmk: Likewise.
19512
19513 2009-11-22 Robert Millan <rmh.grub@aybabtu.com>
19514
19515 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
19516 * util/i386/pc/grub-setup.c: Likewise.
19517
19518 2009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
19519
19520 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
19521 <hurd/fs.h>
19522 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
19523 file_get_storage_info to implement grub_guess_root_device.
19524
19525 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
19526
19527 * Makefile.in (target): Use make's builtin $(shell) function
19528 instead of calling directly $(SHELL) to create the locale directories,
19529 inside the $(foreach) function.
19530
19531 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
19532
19533 * util/grub-mkrescue.in: Print an error and usage if output option
19534 has not been given.
19535
19536 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
19537
19538 Patch from Loïc Minier <loic.minier@ubuntu.com>.
19539 * util/grub.d/30_os-prober.in: Cope with Linux entries where
19540 root and /boot are on different devices.
19541
19542 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
19543
19544 Fix build for srcdir != objdir.
19545
19546 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
19547 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
19548 $(srcdir).
19549 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
19550 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
19551 reference for input.
19552
19553 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
19554
19555 * util/grub-mkrescue.in: Use source directory direcly (without copiing
19556 or hardlinking it). Remove -J option, Joliet is not compatible with
19557 multiple source directories.
19558
19559 2009-11-21 Carles Pina i Estany <carles@pina.cat>
19560 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
19561
19562 * util/grub-mkrescue.in: Recognize `--override-directory' option.
19563 (process_input_dir): New function. Process an arbitrary input
19564 directory.
19565 Misc adjustments to support both "override mode" and system-wide mode.
19566
19567 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
19568
19569 * configure.ac (UNIFONT_BDF): Rename to ...
19570 (FONT_SOURCE): ... this. Update all users.
19571
19572 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
19573
19574 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
19575 to the list of unifont files to look for.
19576
19577 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
19578
19579 Patch from Joe Auricchio <jauricchio@gmail.com>
19580 * commands/minicmd.c (grub_mini_cmd_clear): New function.
19581 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
19582 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
19583
19584 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
19585
19586 * Makefile.in (install-local): Add a missing backslash.
19587
19588 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
19589
19590 * include/grub/x86_64/io.h: New file.
19591
19592 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
19593
19594 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
19595 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
19596 Include `"progname.h"'.
19597 (main): Initialize gettext.
19598 * util/i386/pc/grub-setup.c: Gettexttize.
19599 * util/i386/pc/grub-mkimage.c: Likewise.
19600
19601 * Makefile.in (po/*.po): Redefine as ...
19602 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
19603
19604 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
19605
19606 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
19607
19608 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
19609 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
19610 (program_name): Remove.
19611 (main): Initialize gettext support.
19612 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
19613 Include `<libintl.h>'.
19614 (_): New macro.
19615
19616 * util/mkisofs/eltorito.c: Gettexttize.
19617 * util/mkisofs/joliet.c: Likewise.
19618 * util/mkisofs/mkisofs.c: Likewise.
19619 * util/mkisofs/multi.c: Likewise.
19620 * util/mkisofs/rock.c: Likewise.
19621 * util/mkisofs/tree.c: Likewise.
19622 * util/mkisofs/write.c: Likewise.
19623
19624 * po/POTFILES: Update with new files.
19625
19626 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
19627
19628 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
19629 * util/mkisofs/iso9660.h: Likewise.
19630 * util/mkisofs/joliet.c: Likewise.
19631 * util/mkisofs/mkisofs.c: Likewise.
19632 * util/mkisofs/mkisofs.h: Likewise.
19633 * util/mkisofs/rock.c: Likewise.
19634 * util/mkisofs/tree.c: Likewise.
19635 * util/mkisofs/write.c: Likewise.
19636
19637 * util/mkisofs/eltorito.c (rcsid): Remove.
19638 * util/mkisofs/hash.c: Likewise.
19639 * util/mkisofs/joliet.c: Likewise.
19640 * util/mkisofs/name.c: Likewise.
19641 * util/mkisofs/rock.c: Likewise.
19642 * util/mkisofs/tree.c: Likewise.
19643 * util/mkisofs/write.c: Likewise.
19644
19645 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
19646
19647 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
19648 instead of static allocation.
19649 * util/mkisofs/match.h: Likewise.
19650
19651 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
19652
19653 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
19654 and `util/grub.d/10_linux.in'.
19655 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
19656 translatable Shell files.
19657
19658 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
19659
19660 * Makefile.in ($(srcdir)/aclocal.m4): New target.
19661
19662 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
19663
19664 * INSTALL: Document Automake is needed for bootstrap.
19665 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
19666 * util/grub.d/10_kfreebsd.in (bindir): New variable.
19667 Add gettext initialization.
19668 (kfreebsd_entry): Make menuentry output translatable.
19669
19670 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
19671
19672 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
19673 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
19674 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
19675 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
19676 (LINGUAS): Auto-generate using `po/LINGUAS'.
19677 * po/LINGUAS: New file.
19678
19679 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
19680
19681 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
19682 other things).
19683 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
19684 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
19685 bindtextdomain() calls for gettext initialization.
19686
19687 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
19688
19689 * gnulib/progname.c: New file (imported from Gnulib).
19690 * gnulib/progname.h: Likewise.
19691 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
19692 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
19693 (usage): Replace `progname' with `program_name'.
19694 (main): Use set_program_name() for program name initialization.
19695
19696 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
19697
19698 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
19699 from here ...
19700 * Makefile.in (CPPFLAGS): ... to here.
19701
19702 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
19703
19704 * aclocal.m4: Move from here ...
19705 * acinclude.m4: ... to here.
19706 * autogen.sh: Add call to `aclocal'.
19707 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
19708
19709 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
19710
19711 * Makefile.in (CLEANFILES): Add `po/*.mo'.
19712 (LINGUAS): New variable.
19713 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
19714 (install-local): Install MO files.
19715 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
19716 * include/grub/i18n.h: New file.
19717 * po/POTFILES: New file.
19718 * po/ca.po: New file.
19719 * util/grub.d/10_linux.in (bindir): New variable.
19720 Add gettext initialization.
19721 (linux_entry): Make menuentry output translatable.
19722 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
19723 (usage): Make --help output translatable.
19724 (main): Initialize gettext.
19725
19726 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
19727
19728 * import_gcry.py: New file (written by Vladimir with minor
19729 adjustments).
19730 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
19731 ciphers.
19732 * INSTALL: Document that Python is required for bootstrap.
19733
19734 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
19735
19736 Import ciphers from libgcrypt 1.4.4.
19737
19738 * lib/libgcrypt/cipher/ChangeLog
19739 * lib/libgcrypt/cipher/ac.c
19740 * lib/libgcrypt/cipher/arcfour.c
19741 * lib/libgcrypt/cipher/bithelp.h
19742 * lib/libgcrypt/cipher/blowfish.c
19743 * lib/libgcrypt/cipher/camellia-glue.c
19744 * lib/libgcrypt/cipher/camellia.c
19745 * lib/libgcrypt/cipher/camellia.h
19746 * lib/libgcrypt/cipher/cast5.c
19747 * lib/libgcrypt/cipher/cipher.c
19748 * lib/libgcrypt/cipher/crc.c
19749 * lib/libgcrypt/cipher/des.c
19750 * lib/libgcrypt/cipher/dsa.c
19751 * lib/libgcrypt/cipher/ecc.c
19752 * lib/libgcrypt/cipher/elgamal.c
19753 * lib/libgcrypt/cipher/hash-common.c
19754 * lib/libgcrypt/cipher/hash-common.h
19755 * lib/libgcrypt/cipher/hmac-tests.c
19756 * lib/libgcrypt/cipher/md.c
19757 * lib/libgcrypt/cipher/md4.c
19758 * lib/libgcrypt/cipher/md5.c
19759 * lib/libgcrypt/cipher/primegen.c
19760 * lib/libgcrypt/cipher/pubkey.c
19761 * lib/libgcrypt/cipher/rfc2268.c
19762 * lib/libgcrypt/cipher/rijndael-tables.h
19763 * lib/libgcrypt/cipher/rijndael.c
19764 * lib/libgcrypt/cipher/rmd.h
19765 * lib/libgcrypt/cipher/rmd160.c
19766 * lib/libgcrypt/cipher/rsa.c
19767 * lib/libgcrypt/cipher/seed.c
19768 * lib/libgcrypt/cipher/serpent.c
19769 * lib/libgcrypt/cipher/sha1.c
19770 * lib/libgcrypt/cipher/sha256.c
19771 * lib/libgcrypt/cipher/sha512.c
19772 * lib/libgcrypt/cipher/tiger.c
19773 * lib/libgcrypt/cipher/twofish.c
19774 * lib/libgcrypt/cipher/whirlpool.c
19775
19776 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
19777
19778 Fix build for systems without error().
19779
19780 * gnulib/error.c: New file (imported from Gnulib).
19781 * gnulib/error.h: Likewise.
19782 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
19783 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
19784 (this variable is now used by error()).
19785
19786 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
19787
19788 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
19789 instead of relying that char is signed.
19790
19791 2009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
19792
19793 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
19794 blocksize different from specified.
19795 (grub_pxefs_read): Likewise.
19796
19797 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
19798
19799 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
19800
19801 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
19802 (grub_ata_readwrite): Likewise. Update 2 format strings.
19803 (grub_atapi_read): Likewise.
19804
19805 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
19806 * conf/i386.rmk (pkglib_MODULES): ... to here ...
19807 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
19808 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
19809 (ata_mod_LDFLAGS): Move from here ...
19810 * conf/i386.rmk: ... to here ...
19811 * conf/x86_64-efi.rmk: ... and here.
19812 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
19813 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
19814
19815 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
19816
19817 Relicense multiboot.h, with RMS' blessing.
19818
19819 * include/multiboot.h: Change to X11 license.
19820
19821 2009-11-15 Robert Millan <rmh.grub@aybabtu.com>
19822
19823 Support --version in grub-mkisofs.
19824
19825 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
19826 (OPTION_VERSION): New macro.
19827 (ld_options): Recognize --version.
19828 (usage): Move `program_name' from here ...
19829 (program_name): ... to here. Add `static' qualifier.
19830 (main): Recognize `OPTION_VERSION'.
19831
19832 2009-11-15 Felix Zielcke <fzielcke@z-51.de>
19833
19834 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
19835 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
19836
19837 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
19838
19839 Fix help2man generation for mkisofs.
19840
19841 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
19842 (usage): Send output to stdout (rather than stderr).
19843
19844 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
19845
19846 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
19847 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
19848 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
19849 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
19850 (bin_SCRIPTS): Add `grub-mkfloppy'.
19851 (grub_mkfloppy_SOURCES): New variable.
19852
19853 * util/grub-mkrescue.in: New file.
19854 * util/i386/pc/grub-mkfloppy.in: New file.
19855
19856 * util/i386/coreboot/grub-mkrescue.in: Remove.
19857 * util/i386/pc/grub-mkrescue.in: Remove.
19858
19859 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
19860
19861 * include/grub/multiboot.h (struct grub_multiboot_header): Move
19862 from here ...
19863 * include/multiboot.h (struct multiboot_header): ... to here. Update
19864 all users.
19865 * include/grub/multiboot.h (struct grub_multiboot_info): Move
19866 from here ...
19867 * include/multiboot.h (struct multiboot_info): ... to here. Update
19868 all users.
19869 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
19870 from here ...
19871 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
19872 Update all users.
19873 * include/grub/multiboot.h (struct grub_mod_list): Move
19874 from here ...
19875 * include/multiboot.h (struct multiboot_mod_list): ... to here.
19876 Update all users.
19877
19878 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
19879
19880 * include/multiboot2.h (multiboot_word): Rename from this ...
19881 (multiboot2_word): ... to this. Update all users.
19882 (multiboot_header): Rename from this ...
19883 (multiboot2_header): ... to this. Update all users.
19884 (multiboot_tag_header): Rename from this ...
19885 (multiboot2_tag_header): ... to this. Update all users.
19886 (multiboot_tag_start): Rename from this ...
19887 (multiboot2_tag_start): ... to this. Update all users.
19888 (multiboot_tag_name): Rename from this ...
19889 (multiboot2_tag_name): ... to this. Update all users.
19890 (multiboot_tag_module): Rename from this ...
19891 (multiboot2_tag_module): ... to this. Update all users.
19892 (multiboot_tag_memory): Rename from this ...
19893 (multiboot2_tag_memory): ... to this. Update all users.
19894 (multiboot_tag_unused): Rename from this ...
19895 (multiboot2_tag_unused): ... to this. Update all users.
19896 (multiboot_tag_end): Rename from this ...
19897 (multiboot2_tag_end): ... to this. Update all users.
19898
19899 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
19900
19901 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
19902 this platform we should support Multiboot1 first.
19903
19904 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
19905 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
19906 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
19907
19908 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
19909
19910 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
19911 of write calls (converting them to fwrite() if they aren't already).
19912 (get_torito_desc): Likewise.
19913 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
19914
19915 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
19916
19917 * util/i386/pc/grub-install.in: Move from here ...
19918 * util/grub-install.in: ... to here. Update all users.
19919
19920 2009-11-11 Colin Watson <cjwatson@ubuntu.com>
19921
19922 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
19923
19924 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
19925
19926 Support for El Torito without floppy emulation.
19927
19928 * util/mkisofs/eltorito.c: Include `<errno.h>'.
19929 (init_boot_catalog): Improve error handling.
19930 (get_torito_desc): Don't use floppy emulation unless requested by
19931 user. Patch boot information table when requested via
19932 `-boot-info-table'.
19933 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
19934 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
19935 (use_boot_info_table): New variables.
19936 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
19937 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
19938 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
19939 `--eltorito-emul-floppy'.
19940 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
19941 and `OPTION_ELTORITO_EMUL_FLOPPY'.
19942 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
19943 (use_boot_info_table, get_731): New prototypes.
19944 * util/mkisofs/write.c (get_731): New function.
19945
19946 2009-11-11 Felix Zielcke <fzielcke@z-51.de>
19947
19948 Fix the generation of the man page.
19949
19950 * util/pc/i386/grub-install.in: Source
19951 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
19952
19953 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
19954
19955 Large file support for grub-mkisofs.
19956
19957 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
19958 * util/mkisofs/mkisofs.c (next_extent, last_extent)
19959 (session_start): Upgrade type to `uint64_t'. Update all users.
19960 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
19961 (struct directory_entry): Upgrade type of `starting_block' and
19962 `size' to `uint64_t'. Update all users.
19963 (struct deferred): Remove unused structure.
19964 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
19965 Update all users.
19966 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
19967 file is larger than `UINT32_MAX'.
19968 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
19969 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
19970 return value.
19971 (struct deferred_write): Upgrade type of `extent' and `size' to
19972 `uint64_t'. Update all users.
19973 (last_extent_written): Upgrade type to `uint64_t'. Update all
19974 users.
19975 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
19976 Update all users. Upgrade type of `remain' to `int64_t' and
19977 `use' to `size_t'. Use error() to handle fread() errors.
19978 (write_files): Rely on write_one_file() rather than calling
19979 xfwrite() directly.
19980
19981 2009-11-09 Felix Zielcke <fzielcke@z-51.de>
19982
19983 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
19984
19985 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
19986
19987 * util/mkisofs/fnmatch.c: Remove.
19988 * util/mkisofs/getopt1.c: Likewise.
19989 * util/mkisofs/getopt.c: Likewise.
19990 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
19991 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
19992 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
19993 `gnulib/getopt1.c' and `gnulib/getopt.c'.
19994 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
19995
19996 * configure.ac: Detect `mingw32msvc' host_os.
19997 Check for lstat(), getuid() and getgid().
19998
19999 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
20000 instances of `u_char' with `uint8_t'.
20001
20002 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
20003 [!HAVE_GETUID] (getuid): New function (stub).
20004 [!HAVE_GETGID] (getgid): Likewise.
20005 [!HAVE_LSTAT] (lstat): Likewise.
20006 [!S_IROTH] (S_IROTH): New macro (dummy).
20007 [!S_IRGRP] (S_IRGRP): Likewise.
20008
20009 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
20010
20011 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
20012 conditional expression).
20013
20014 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
20015
20016 Import from Gnulib.
20017
20018 * gnulib/fnmatch.c: New file.
20019 * gnulib/fnmatch.h: Likewise.
20020 * gnulib/fnmatch_loop.c: Likewise.
20021 * gnulib/getopt.c: Likewise.
20022 * gnulib/getopt.h: Likewise.
20023 * gnulib/getopt1.c: Likewise.
20024 * gnulib/getopt_int.h: Likewise.
20025 * gnulib/gettext.h: Likewise.
20026
20027 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
20028
20029 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
20030 * normal/handler.c (read_handler_list): Likewise.
20031
20032 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
20033
20034 Misc cleanup.
20035
20036 * kern/command.c (grub_register_command_prio): Use
20037 grub_zalloc() instead of explicitly zeroing data.
20038 * kern/list.c: Include `<grub/mm.h>'.
20039 (grub_named_list_find): Replace `0' with `NULL'.
20040 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
20041 (fs_module_list): Change type to `grub_named_list_t'. Update all
20042 users.
20043 * normal/dyncmd.c (read_command_list): Add space between function
20044 call and parenthesis.
20045 * normal/handler.c (read_handler_list): Likewise.
20046
20047 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
20048
20049 * normal/auth.c (punishment_delay): Moved from here ...
20050 (grub_auth_strcmp): ... to here (inside function).
20051
20052 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
20053
20054 * include/grub/list.h (struct grub_named_list): Remove `const'
20055 qualifier from `name'.
20056 (struct grub_prio_list): Likewise.
20057
20058 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
20059
20060 * normal/auth.c: Include `<grub/time.h>'.
20061 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
20062
20063 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
20064
20065 * normal/auth.c (punishment_delay): New variable.
20066 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
20067 (grub_auth_check_authentication): Punish failed login attempts with
20068 an incremental (2^N) delay.
20069
20070 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
20071
20072 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
20073 path with $(srcdir).
20074
20075 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
20076
20077 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
20078
20079 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
20080
20081 * util/i386/coreboot/grub-mkrescue.in: New file.
20082 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
20083 variables.
20084
20085 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
20086 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
20087 * configure.ac: Add header and function checks to satisfy grub-mkisofs
20088 requirements.
20089 * util/mkisofs/defaults.h: New file.
20090 * util/mkisofs/eltorito.c: Likewise.
20091 * util/mkisofs/exclude.h: Likewise.
20092 * util/mkisofs/fnmatch.c: Likewise.
20093 * util/mkisofs/getopt.c: Likewise.
20094 * util/mkisofs/getopt1.c: Likewise.
20095 * util/mkisofs/hash.c: Likewise.
20096 * util/mkisofs/include/fctldefs.h: Likewise.
20097 * util/mkisofs/include/mconfig.h: Likewise.
20098 * util/mkisofs/include/prototyp.h: Likewise.
20099 * util/mkisofs/include/statdefs.h: Likewise.
20100 * util/mkisofs/iso9660.h: Likewise.
20101 * util/mkisofs/joliet.c: Likewise.
20102 * util/mkisofs/match.c: Likewise.
20103 * util/mkisofs/match.h: Likewise.
20104 * util/mkisofs/mkisofs.c: Likewise.
20105 * util/mkisofs/mkisofs.h: Likewise.
20106 * util/mkisofs/multi.c: Likewise.
20107 * util/mkisofs/name.c: Likewise.
20108 * util/mkisofs/rock.c: Likewise.
20109 * util/mkisofs/tree.c: Likewise.
20110 * util/mkisofs/write.c: Likewise.
20111
20112 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
20113
20114 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
20115 being insecure.
20116
20117 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
20118
20119 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
20120 `grub-mkimage' (and use $0 when possible).
20121
20122 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
20123
20124 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
20125 error message for excessively large memory map.
20126
20127 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
20128
20129 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
20130 executable bit.
20131
20132 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
20133
20134 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
20135 message for coreboot users.
20136
20137 2009-11-07 Robert Millan <rmh.grub@aybabtu.com>
20138
20139 Fix build with GNU gold.
20140
20141 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
20142 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
20143 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
20144 link addresses.
20145 * aclocal.m4: Likewise.
20146
20147 2009-11-04 Felix Zielcke <fzielcke@z-51.de>
20148
20149 * configure.ac (AC_PREREQ): Bump to 2.59d.
20150 * INSTALL: Make it more clear when Autoconf and Ruby are
20151 needed and when to run `./autogen.sh'.
20152
20153 2009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
20154
20155 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
20156 OSes.
20157
20158 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
20159
20160 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
20161
20162 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
20163
20164 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
20165 giving it to GNU Mach.
20166
20167 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
20168
20169 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
20170 GNU partition number to get internal GRUB partition number.
20171
20172 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
20173
20174 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
20175 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
20176
20177 2009-11-01 Robert Millan <rmh.grub@aybabtu.com>
20178
20179 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
20180 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
20181 case.
20182
20183 2009-11-01 Felix Zielcke <fzielcke@z-51.de>
20184
20185 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
20186
20187 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
20188
20189 Fix build problem.
20190
20191 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
20192 `-isystem=$(srcdir)/include'.
20193
20194 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
20195
20196 * util/i386/pc/grub-install.in: Remove hint that device.map should be
20197 checked (grub-install doesn't currently rely on it).
20198
20199 2009-10-29 Robert Millan <rmh.grub@aybabtu.com>
20200
20201 Revert SVN r2660.
20202
20203 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
20204 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
20205 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
20206 * conf/i386-ieee1275.rmk: Likewise.
20207 * conf/i386-pc.rmk: Likewise.
20208 * conf/powerpc-ieee1275.rmk: Likewise.
20209 * conf/sparc64-ieee1275.rmk: Likewise.
20210 * conf/x86_64-efi.rmk: Likewise.
20211
20212 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
20213
20214 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
20215
20216 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
20217
20218 * include/grub/misc.h: Stop checking for APPLE_CC.
20219
20220 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
20221
20222 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
20223 doesn't cause an infinite call loop.
20224
20225 2009-10-28 Felix Zielcke <fzielcke@z-51.de>
20226
20227 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
20228 strings.
20229
20230 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
20231
20232 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
20233 variable.
20234 * Makefile.in: Likewise.
20235
20236 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
20237
20238 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
20239
20240 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
20241
20242 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
20243
20244 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
20245
20246 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
20247
20248 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
20249
20250 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
20251 from here ...
20252 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
20253
20254 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
20255
20256 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
20257 in $(MAKEINFO) invocation. This makes it clear in output that
20258 errors are being ignored.
20259
20260 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
20261
20262 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
20263 from here ...
20264 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
20265 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
20266 * conf/i386-ieee1275.rmk: Likewise.
20267 * conf/i386-pc.rmk: Likewise.
20268 * conf/powerpc-ieee1275.rmk: Likewise.
20269 * conf/sparc64-ieee1275.rmk: Likewise.
20270 * conf/x86_64-efi.rmk: Likewise.
20271
20272 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
20273
20274 * util/grub-editenv.c (main): If only a command is given, use
20275 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
20276 (usage): FILENAME is now optional and has a default.
20277
20278 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
20279
20280 Improve grub-mkconfig performance when there are several menu
20281 entries on a single filesystem.
20282
20283 * util/grub.d/10_linux.in (linux_entry): Cache the output of
20284 prepare_grub_to_access_device.
20285 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
20286 * util/grub.d/30_os-prober.in: Likewise.
20287
20288 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
20289
20290 * util/grub.d/10_freebsd.in: Remove.
20291 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
20292 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
20293
20294 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
20295
20296 * docs/grub.cfg: Fix example usage of *BSD loaders.
20297
20298 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
20299
20300 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
20301 grub_util_error() call.
20302
20303 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
20304
20305 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
20306 `reserved_first_sector' member.
20307 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
20308 `reserved_first_sector' to 1.
20309 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
20310 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
20311 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
20312 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
20313 filesystems which begin at first sector.
20314 (options): New option --skip-fs-probe.
20315 (main): Handle --skip-fs-probe and pass it to setup().
20316
20317 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
20318
20319 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
20320 (memset): Fix function prototype.
20321
20322 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
20323 2009-10-25 Vasily Averin <vvs@parallels.com>
20324
20325 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
20326 `dirent.direntlen == 0'.
20327
20328 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
20329
20330 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
20331 `cpio'.
20332 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
20333
20334 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
20335
20336 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
20337 `__trampoline_setup' and `__ucmpdi2'.
20338 * include/grub/powerpc/libgcc.h: Only export symbols for functions
20339 that libgcc provides.
20340
20341 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
20342
20343 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
20344 * include/grub/sparc64/libgcc.h (memset): Likewise.
20345 * include/grub/misc.h (memset, memcmp): New function prototypes.
20346
20347 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
20348
20349 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
20350 `cpio'.
20351 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
20352
20353 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
20354
20355 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
20356 * docs/grub.cfg: Compensate for recent change in multiboot
20357 loader (since 2009-08-14 it won't pass filename to payload).
20358 * util/grub.d/10_hurd.in: Likewise.
20359
20360 2009-10-21 Felix Zielcke <fzielcke@z-51.de>
20361
20362 * config.guess: Update to latest version from config git
20363 repository.
20364 * config.sub: Likewise.
20365
20366 2009-10-20 Robert Millan <rmh.grub@aybabtu.com>
20367
20368 Fix build on sparc64.
20369
20370 * configure.ac: Perform checks for libgcc symbols before
20371 adding `-nostdlib' to LDFLAGS.
20372
20373 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20374
20375 Let user specify OpenBSD root device.
20376
20377 * loader/i386/bsd.c (openbsd_root): New variable.
20378 (openbsd_opts): New option 'root'.
20379 (OPENBSD_ROOT_ARG): New macro.
20380 (grub_openbsd_boot): Use 'openbsd_root'.
20381 (grub_cmd_openbsd): Fill 'openbsd_root'.
20382
20383 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
20384
20385 * NEWS: Misc adjustments.
20386
20387 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20388
20389 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
20390
20391 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
20392
20393 * configure.ac: Bump version to 1.97.
20394
20395 2009-10-16 Colin Watson <cjwatson@ubuntu.com>
20396
20397 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
20398 -mno-3dnow on x86 architectures. Some toolchains enable these
20399 features by default, but they rely on registers that aren't enabled
20400 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
20401
20402 2009-10-15 Robert Millan <rmh.grub@aybabtu.com>
20403
20404 Make entry text a bit more readable.
20405
20406 * util/grub.d/10_linux.in: Add `with' before `Linux'.
20407
20408 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
20409
20410 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
20411
20412 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
20413
20414 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
20415 operations.
20416
20417 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
20418
20419 * configure.ac: Add missing dollar.
20420
20421 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
20422
20423 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
20424
20425 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
20426 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
20427 exports.
20428 * include/grub/sparc64/libgcc.h: Likewise. Use
20429 preprocessor conditionals.
20430
20431 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
20432
20433 * conf/common.rmk (grub-dumpbios): Remove rule.
20434 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
20435 * util/grub-dumpbios.in: Remove file.
20436
20437 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
20438
20439 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
20440 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
20441
20442 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
20443 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
20444 users.
20445
20446 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
20447 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
20448 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
20449 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
20450 users.
20451
20452 2009-10-12 Robert Millan <rmh.grub@aybabtu.com>
20453
20454 * term/tparm.c: Switch to GPLv3.
20455
20456 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
20457
20458 * include/grub/i386/cpuid.h: Add header protection.
20459
20460 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
20461
20462 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
20463
20464 * include/grub/i386/cpuid.h: New file.
20465 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
20466 (has_longmode): Rename to ...
20467 (grub_cpuid_has_longmode): ... this. Update all users. Remove
20468 `static' attribute.
20469 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
20470 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
20471 on a CPU that doesn't implement AMD64 instruction set.
20472
20473 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
20474
20475 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
20476 that version.texi is rebuilt on version number changes.
20477
20478 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
20479
20480 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
20481 Fixes bug #27602.
20482
20483 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
20484
20485 * util/i386/pc/grub-install.in: Source
20486 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
20487 that the --grub-probe option will work.
20488 * util/sparc64/ieee1275/grub-install.in: Likewise.
20489
20490 2009-10-05 Robert Millan <rmh.grub@aybabtu.com>
20491
20492 * configure.ac: Bump version to 1.97~beta4.
20493
20494 2009-10-03 Robert Millan <rmh.grub@aybabtu.com>
20495
20496 Resync grub-mkdevicemap in x86_64-efi.
20497
20498 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
20499 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
20500 `util/devicemap.c'.
20501
20502 2009-10-01 Colin Watson <cjwatson@ubuntu.com>
20503
20504 * util/grub-editenv.c (create_envblk_file): Write new block with a
20505 .new suffix and then rename it into place, to ensure atomic
20506 creation.
20507
20508 2009-09-28 Robert Millan <rmh.grub@aybabtu.com>
20509
20510 Do not automatically install headers.
20511
20512 * Makefile.in (include_DATA): Remove. Update all users.
20513
20514 2009-09-26 Robert Millan <rmh.grub@aybabtu.com>
20515
20516 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
20517 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
20518
20519 * util/osdetect.lua: Remove.
20520 * script/lua/lauxlib.c: Likewise.
20521 * script/lua/ldebug.c: Likewise.
20522 * script/lua/grub_main.c: Likewise.
20523 * script/lua/lauxlib.h: Likewise.
20524 * script/lua/ldebug.h: Likewise.
20525 * script/lua/ltablib.c: Likewise.
20526 * script/lua/liolib.c: Likewise.
20527 * script/lua/lstrlib.c: Likewise.
20528 * script/lua/lualib.h: Likewise.
20529 * script/lua/ldo.c: Likewise.
20530 * script/lua/ldump.c: Likewise.
20531 * script/lua/ldo.h: Likewise.
20532 * script/lua/loslib.c: Likewise.
20533 * script/lua/lundump.c: Likewise.
20534 * script/lua/grub_lib.c: Likewise.
20535 * script/lua/ldblib.c: Likewise.
20536 * script/lua/lundump.h: Likewise.
20537 * script/lua/lmem.c: Likewise.
20538 * script/lua/grub_lib.h: Likewise.
20539 * script/lua/lmathlib.c: Likewise.
20540 * script/lua/lstate.c: Likewise.
20541 * script/lua/ltm.c: Likewise.
20542 * script/lua/lvm.c: Likewise.
20543 * script/lua/lmem.h: Likewise.
20544 * script/lua/lstate.h: Likewise.
20545 * script/lua/ltm.h: Likewise.
20546 * script/lua/ltable.c: Likewise.
20547 * script/lua/lvm.h: Likewise.
20548 * script/lua/llex.c: Likewise.
20549 * script/lua/lgc.c: Likewise.
20550 * script/lua/grub_lua.h: Likewise.
20551 * script/lua/loadlib.c: Likewise.
20552 * script/lua/lfunc.c: Likewise.
20553 * script/lua/lopcodes.c: Likewise.
20554 * script/lua/lparser.c: Likewise.
20555 * script/lua/ltable.h: Likewise.
20556 * script/lua/llex.h: Likewise.
20557 * script/lua/lgc.h: Likewise.
20558 * script/lua/lfunc.h: Likewise.
20559 * script/lua/lbaselib.c: Likewise.
20560 * script/lua/lopcodes.h: Likewise.
20561 * script/lua/lparser.h: Likewise.
20562 * script/lua/lzio.c: Likewise.
20563 * script/lua/linit.c: Likewise.
20564 * script/lua/lobject.c: Likewise.
20565 * script/lua/llimits.h: Likewise.
20566 * script/lua/lstring.c: Likewise.
20567 * script/lua/lzio.h: Likewise.
20568 * script/lua/lapi.c: Likewise.
20569 * script/lua/lcode.c: Likewise.
20570 * script/lua/lua.h: Likewise.
20571 * script/lua/lobject.h: Likewise.
20572 * script/lua/lstring.h: Likewise.
20573 * script/lua/lapi.h: Likewise.
20574 * script/lua/lcode.h: Likewise.
20575 * script/lua/luaconf.h: Likewise.
20576
20577 2009-09-26 Colin Watson <cjwatson@ubuntu.com>
20578
20579 * docs/grub.texi (Command-line and menu entry commands): Document
20580 date and echo commands.
20581
20582 2009-09-24 Pavel Roskin <proski@gnu.org>
20583
20584 * include/grub/kernel.h (struct grub_module_header): Remove
20585 `grub_module_header_types'. Make `type' unsigned. Make `size'
20586 32-bit on all platforms.
20587 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
20588 8-bit field. Use grub_host_to_target32() for `size'.
20589 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
20590 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
20591 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
20592
20593 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
20594
20595 Fix "lost keypress" bug in at_keyboard.
20596
20597 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
20598 Checks for readyness of input buffer (without flushing it).
20599 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
20600 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
20601
20602 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
20603
20604 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
20605 size check within GRUB_MACHINE_PCBIOS section.
20606
20607 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
20608
20609 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
20610 return value.
20611 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
20612 KEYBOARD_ISREADY check.
20613 (grub_at_keyboard_checkkey): Rename to ...
20614 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
20615 Remove gratuitous cast.
20616
20617 2009-09-23 Colin Watson <cjwatson@ubuntu.com>
20618
20619 * configure.ac: Call AC_PROG_MKDIR_P.
20620 * Makefile.in (docs/stamp-vti): Create docs directory. Create
20621 version.texi in $(builddir) rather than $(srcdir).
20622 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
20623 to makeinfo's @include search path.
20624
20625 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
20626
20627 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
20628
20629 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
20630
20631 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
20632 for `*.dpkg-new'.
20633
20634 2009-09-21 Colin Watson <cjwatson@ubuntu.com>
20635
20636 Build info documentation. Some code borrowed from Automake.
20637
20638 * configure.ac: Check for makeinfo.
20639 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
20640 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
20641 docs/version.texi.
20642 (MOSTLYCLEANFILES): Add vti.tmp.
20643 (docs/version.texi, docs/stamp-vti): Update automatically.
20644 (docs/grub.info): Build info documentation. Use --force and ignore
20645 errors for now.
20646 (all-local): Add $(INFOS).
20647 (install-local): Install info files.
20648 (uninstall): Uninstall info files.
20649 * docs/version.texi: Remove from revision control. This file is
20650 automatically generated on build now.
20651 * gendistlist.sh: Add `*.info'.
20652
20653 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
20654
20655 * kern/term.c: Fix indentation.
20656
20657 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
20658
20659 * util/hostdisk.c: Fix a comment.
20660
20661 2009-09-20 Robert Millan <rmh.grub@aybabtu.com>
20662
20663 Fix regression introduced in r2539.
20664
20665 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
20666 to 0xA1.
20667
20668 2009-09-19 Colin Watson <cjwatson@ubuntu.com>
20669
20670 * util/grub.d/30_os-prober.in: Don't throw away stderr from
20671 os-prober. Under normal operation, it does not print anything to
20672 stderr; if it does, we need to debug it, and throwing away stderr
20673 makes that excessively difficult.
20674
20675 2009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
20676
20677 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
20678
20679 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
20680
20681 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
20682 AC_LANG_PROGRAM from autoconf.
20683 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
20684 prototypes (fixes warning).
20685
20686 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
20687 `--disable-werror' was used.
20688
20689 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
20690
20691 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
20692 uninitialized `lastaddr'.
20693
20694 2009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
20695
20696 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
20697
20698 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
20699
20700 * commands/test.c (get_fileinfo): Return immediately if
20701 grub_fs_probe fails.
20702
20703 2009-09-14 José Martínez <xosemp@gmail.com>
20704
20705 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
20706
20707 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
20708
20709 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
20710 output.
20711
20712 2009-09-13 Robert Millan <rmh.grub@aybabtu.com>
20713
20714 * configure.ac: Remove --enable-grub-pe2elf. Only build
20715 grub-pe2elf when needed by the build system itself.
20716 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
20717
20718 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
20719
20720 * configure.ac: Bump version to 1.97~beta3.
20721 * docs/version.texi: Likewise.
20722
20723 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
20724
20725 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
20726 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
20727 from here ...
20728 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
20729 (grub_linux_setup_video): ... to here (with some adjustments).
20730
20731 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
20732
20733 Fix memory corruption issue (spotted by Colin Watson).
20734
20735 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
20736 causing returned size to be stored in an incorrect memory location.
20737 Fix use of uninitialized value when storing the returned size.
20738
20739 2009-09-12 Yves Blusseau <blusseau@zetam.org>
20740
20741 Change clean rules to properly remove files
20742
20743 * genmk.rb: add new clean rules
20744 * Makefile.in (clean): add the new targets
20745 (mostlyclean): likewise
20746
20747 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
20748
20749 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
20750 to grub_uint64_t.
20751 * fs/ntfs.c (init_file): Understand 64-bit sizes for
20752 non-resident files.
20753
20754 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
20755
20756 * configure.ac: Don't look for help2man when cross-compiling. Fixes
20757 part of bug #27349.
20758
20759 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
20760
20761 * util/grub-mkconfig.in: Make the created config mode 400 and
20762 print a warning if it fails.
20763
20764 2009-09-10 Robert Millan <rmh.grub@aybabtu.com>
20765
20766 * util/grub.d/40_custom.in: Ask user to type custom entries below
20767 comment, rather than below 'exec tail' line.
20768
20769 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
20770
20771 * util/grub.d/40_custom.in: Make sure that the explanatory text is
20772 visible in grub.cfg.
20773
20774 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
20775
20776 * util/grub.d/40_custom.in: Make it a little clearer how to use this
20777 file.
20778
20779 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
20780
20781 * docs/grub.cfg: Add an example menu entry for memtest86+.
20782
20783 2009-09-09 Felix Zielcke <fzielcke@z-51.de>
20784
20785 * config.guess: Update to latest version from config git.
20786 * config.sub: Likewise.
20787
20788 2009-09-08 Colin Watson <cjwatson@ubuntu.com>
20789
20790 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
20791 unknown-command case. Fixes bug #27320.
20792
20793 2009-09-08 Felix Zielcke <fzielcke@z-51.de>
20794
20795 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
20796 `help' if the command exists.
20797
20798 2009-09-06 Robert Millan <rmh.grub@aybabtu.com>
20799
20800 * INSTALL: Require GCC 4.1.3 or later.
20801
20802 2009-09-06 Yves Blusseau <blusseau@zetam.org>
20803
20804 * Makefile.in (RMKFILES): add i386-qemu.rmk
20805 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
20806 $(srcdir)/stamp-h.in
20807
20808 2009-09-05 Robert Millan <rmh.grub@aybabtu.com>
20809
20810 * util/grub-probe.c (probe): Comment out buggy codepath, which
20811 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
20812 should be re-enabled after 1.97.
20813
20814 2009-09-05 Felix Zielcke <fzielcke@z-51.de>
20815
20816 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
20817 find searches for.
20818
20819 2009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
20820
20821 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
20822 unnecessary calls to grub_error.
20823
20824 2009-09-04 Colin Watson <cjwatson@ubuntu.com>
20825
20826 * NEWS: Mention `keystatus' and Unicode fonts.
20827
20828 2009-09-04 Robert Millan <rmh.grub@aybabtu.com>
20829
20830 * configure.ac: Bump version to 1.97~beta2.
20831 * docs/version.texi: Likewise.
20832
20833 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
20834
20835 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
20836 containing unwind information in some cases where it previously did
20837 not. Use -fno-dwarf2-cfi-asm if available to restore the old
20838 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
20839 discussion.
20840
20841 2009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
20842
20843 Embedding loadenv module into grub-emu
20844
20845 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
20846 commands/loadenv.c
20847 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
20848 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
20849 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
20850 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
20851 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
20852 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
20853
20854 2009-09-03 Magnus Granberg <zorry@ume.nu>
20855
20856 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
20857 include -fPIE in the default specs.
20858 * configure.ac: Check if pie_possible is yes and add -fno-PIE
20859 to TARGET_CFLAGS.
20860
20861 2009-09-03 Felix Zielcke <fzielcke@z-51.de>
20862
20863 * INSTALL: Note that GNU Bison 2.3 or later is required.
20864
20865 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
20866
20867 * kern/i386/pc/startup.S: Fix typo.
20868
20869 2009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
20870
20871 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
20872 according to GCS.
20873
20874 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
20875
20876 * docs/grub.texi (Naming convention): Describe one-based partition
20877 numbering.
20878 (Device syntax): Likewise.
20879 (File name syntax): Likewise.
20880 (Block list syntax): Likewise.
20881 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
20882 menu.lst.
20883 (File name syntax): Likewise.
20884 (Command-line and menu entry commands): Document acpi, blocklist,
20885 crc, export, insmod, keystatus, ls, set, and unset commands.
20886
20887 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
20888
20889 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
20890 to avoid implying that only one of --shift, --ctrl, or --alt may be
20891 used.
20892
20893 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
20894
20895 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
20896 rather than comparing against S_IFREG, which will almost never work.
20897
20898 2009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
20899
20900 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
20901 (write_blocklists): Likewise.
20902
20903 2009-09-01 Colin Watson <cjwatson@ubuntu.com>
20904
20905 * script/lua/grub_lua.h (fputs): Supply a format string as the first
20906 argument to grub_printf.
20907
20908 2009-09-01 Felix Zielcke <fzielcke@z-51.de>
20909
20910 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
20911 non GNU test.
20912
20913 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
20914
20915 * kern/file.c (grub_file_read): Spelling fix
20916
20917 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
20918
20919 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
20920 loading of headers in some cases.
20921
20922 2009-08-30 Robert Millan <rmh.grub@aybabtu.com>
20923
20924 * configure.ac: Bump version to 1.97~beta1.
20925 * docs/version.texi: Likewise.
20926
20927 2009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
20928
20929 * include/grub/i386/xnu.h: Add license header.
20930 include grub/err.h explicitly.
20931
20932 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
20933
20934 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
20935 to `ufs' in the vfs.root.mountfrom kernel parameter.
20936
20937 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
20938
20939 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
20940
20941 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
20942 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
20943
20944 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
20945 `ARRAY_SIZE' macro.
20946
20947 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
20948
20949 * kern/file.c (grub_file_read): Check offset.
20950 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
20951 * fs/jfs.c (grub_jfs_read_file): Likewise.
20952 * fs/ntfs.c (grub_ntfs_read): Likewise.
20953 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
20954 * fs/minix.c (grub_minix_read_file): Correct offset check.
20955 * fs/ufs.c (grub_ufs_read_file): Likewise.
20956
20957 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
20958
20959 * term/i386/pc/console.c (bios_data_area): Cast
20960 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
20961
20962 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
20963
20964 1-bit optimised blitters.
20965
20966 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
20967 prototype.
20968 (grub_video_fbblit_replace_24bit_1bit): Likewise.
20969 (grub_video_fbblit_replace_16bit_1bit): Likewise.
20970 (grub_video_fbblit_replace_8bit_1bit): Likewise.
20971 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
20972 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
20973 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
20974 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
20975 function.
20976 (grub_video_fbblit_replace_24bit_1bit): Likewise.
20977 (grub_video_fbblit_replace_16bit_1bit): Likewise.
20978 (grub_video_fbblit_replace_8bit_1bit): Likewise.
20979 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
20980 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
20981 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
20982 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
20983 when possible.
20984 * video/video.c (grub_video_get_blit_format): Return
20985 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
20986
20987 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
20988
20989 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
20990 the first argument to grub_printf.
20991
20992 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
20993 2009-08-28 Robert Millan <rmh.grub@aybabtu.com>
20994
20995 Add `getkeystatus' terminal method. Add a new `keystatus' command
20996 to query it.
20997
20998 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
20999 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
21000 modifier key bitmasks.
21001 (struct grub_term_input): Add `getkeystatus' member.
21002 (grub_getkeystatus): Add prototype.
21003 * kern/term.c (grub_getkeystatus): New function.
21004
21005 * include/grub/i386/pc/memory.h
21006 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
21007 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
21008 Data Area layout.
21009 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
21010 (grub_console_term_input): Set `getkeystatus' member.
21011 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
21012 constants.
21013 (grub_usb_keyboard_getreport): Likewise.
21014 (grub_usb_keyboard_checkkey): Likewise.
21015 (grub_usb_keyboard_getkeystatus): New function.
21016 (grub_usb_keyboard_term): Set `getkeystatus' member.
21017
21018 * commands/keystatus.c: New file.
21019 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
21020 (keystatus_mod_SOURCES): New variable.
21021 (keystatus_mod_CFLAGS): Likewise.
21022 (keystatus_mod_LDFLAGS): Likewise.
21023 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
21024 commands/keystatus.c.
21025 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
21026 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21027 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
21028 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21029 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21030 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
21031
21032 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
21033
21034 Split befs.mod and afs.mod into *_be.mod and *.mod
21035
21036 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
21037 (grub_fstest_SOURCES): Likewise.
21038 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
21039 (afs_be_mod_SOURCES): New variable.
21040 (afs_be_mod_CFLAGS): Likewise.
21041 (afs_be_mod_LDFLAGS): Likewise.
21042 (befs_be_mod_SOURCES): Likewise.
21043 (befs_be_mod_CFLAGS): Likewise.
21044 (befs_be_mod_LDFLAGS): Likewise.
21045 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
21046 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
21047 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21048 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
21049 (grub_emu_SOURCES): Likewise.
21050 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21051 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21052 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
21053 * fs/afs_be.c: New file.
21054 * fs/befs_be.c: New file.
21055 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
21056 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
21057 (U16): Replaced with ...
21058 (grub_afs_to_cpu16): ...this. All users updated.
21059 (U32): Replaced with ...
21060 (grub_afs_to_cpu32): ...this. All users updated.
21061 (U64): Replaced with ...
21062 (grub_afs_to_cpu64): ...this. All users updated.
21063 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
21064 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
21065 (grub_afs_validate_sblock): Check only one endianness.
21066 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
21067 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
21068 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
21069 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
21070 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
21071 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
21072 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
21073 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
21074
21075 2009-08-26 Bean <bean123ch@gmail.com>
21076
21077 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
21078 64-bit number.
21079 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
21080 (grub_xfs_inode_block): Change return type to grub_uint64_t.
21081 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
21082
21083 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
21084
21085 NetBSD memory map support.
21086
21087 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
21088 (grub_netbsd_btinfo_mmap_header): New structure.
21089 (grub_netbsd_btinfo_mmap_entry): Likewise.
21090 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
21091
21092 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
21093
21094 Enable bsd.mod on coreboot.
21095
21096 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
21097 (bsd_mod_SOURCES): New variable.
21098 (bsd_mod_CFLAGS): Likewise.
21099 (bsd_mod_LDFLAGS): Likewise.
21100 (bsd_mod_ASFLAGS): Likewise.
21101 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
21102 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
21103
21104 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
21105
21106 Cleanup NetBSD root support.
21107
21108 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
21109 grub_bsd_get_device.
21110 Fix typo.
21111
21112 2009-08-25 Felix Zielcke <fzielcke@z-51.de>
21113
21114 * util/grub.d/00_header.in: Move check for the video backend of
21115 gfxterm from here ...
21116 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
21117 a suitable video backend.
21118
21119 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
21120
21121 Fix breakage in grub-setup.
21122
21123 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
21124 "msdos_partition_map".
21125
21126 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
21127
21128 Fix breakage in normal/auth.c.
21129
21130 * normal/auth.c (grub_iswordseparator): New function.
21131
21132 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
21133
21134 Authentication support.
21135
21136 * commands/password.c: New file.
21137 * conf/common.rmk (pkglib_MODULES): Add password.mod.
21138 (password_mod_SOURCES): New variable.
21139 (password_mod_CFLAGS): Likewise.
21140 (password_mod_LDFLAGS): Likewise.
21141 (normal_mod_SOURCES): Add normal/auth.c.
21142 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
21143 normal/auth.c.
21144 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
21145 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21146 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
21147 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21148 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21149 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
21150 * include/grub/auth.h: New file.
21151 * include/grub/err.h (grub_err_t): New enum value
21152 GRUB_ERR_ACCESS_DENIED.
21153 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
21154 'users'.
21155 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
21156 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
21157 users updated.
21158 * normal/auth.c: New file.
21159 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
21160 (grub_cmdline_run): Don't allow to go to command line without
21161 authentication.
21162 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
21163 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
21164 menuentry without superuser rights.
21165 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
21166 user isn't a superuser.
21167
21168 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
21169
21170 Save space by inlining misc.c functions.
21171
21172 * kern/misc.c (grub_iswordseparator): Made static.
21173 * kern/misc.c (grub_strcat): Moved from here ...
21174 * include/grub/misc.h (grub_strcat): ... here. Inlined.
21175 * kern/misc.c (grub_strncat): Moved from here ...
21176 * include/grub/misc.h (grub_strncat): ... here. Inlined.
21177 * kern/misc.c (grub_strcasecmp): Moved from here ...
21178 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
21179 * kern/misc.c (grub_strncasecmp): Moved from here ...
21180 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
21181 * kern/misc.c (grub_isalpha): Moved from here ...
21182 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
21183 * kern/misc.c (grub_isdigit): Moved from here ...
21184 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
21185 * kern/misc.c (grub_isgraph): Moved from here ...
21186 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
21187 * kern/misc.c (grub_tolower): Moved from here ...
21188 * include/grub/misc.h (grub_tolower): ... here. Inlined.
21189
21190 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
21191
21192 * script/sh/function.c (grub_script_function_find): Cut error message
21193 not to flood terminal.
21194 * script/sh/lexer.c (grub_script_yylex): Remove command line length
21195 limit.
21196 * script/sh/script.c (grub_script_arg_add): Duplicate string.
21197
21198 2009-08-24 Colin Watson <cjwatson@ubuntu.com>
21199
21200 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
21201 `report' grub_uint8_t *.
21202 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
21203 Use a 50-millisecond timeout rather than just repeating
21204 grub_usb_keyboard_getreport 50 times.
21205 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
21206
21207 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
21208
21209 Rename *_partition_map to part_*
21210
21211 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
21212 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
21213 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
21214 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
21215 All users updated.
21216 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
21217 All users updated.
21218 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
21219 * util/grub-probe.c (probe_partmap): Don't transform partition name
21220 to get module name.
21221
21222 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
21223
21224 Fix OpenBSD and NetBSD support.
21225
21226 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
21227 memory address conflict.
21228 (OPENBSD_MMAP_ACPI): New definition.
21229 (OPENBSD_MMAP_NVS): Likewise.
21230 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
21231 and OPENBSD_MMAP_NVS.
21232 Add memory map terminator
21233 Explicit cast when calling grub_unix_real_boot.
21234 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
21235
21236 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
21237
21238 Let user specify NetBSD root device.
21239
21240 * loader/i386/bsd.c (netbsd_root): New variable.
21241 (netbsd_opts): New option 'root'.
21242 (NETBSD_ROOT_ARG): New macro.
21243 (grub_netbsd_boot): Use 'netbsd_root'.
21244 (grub_bsd_unload): Free 'netbsd_root'.
21245 (grub_cmd_netbsd): Fill 'netbsd_root'.
21246
21247 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
21248
21249 Support for 64-bit NetBSD.
21250
21251 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
21252 point when booting non-FreeBSD.
21253
21254 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
21255
21256 Support --no-smp and --no-acpi for NetBSD.
21257
21258 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
21259 (NETBSD_AB_NOACPI): Likewise.
21260 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
21261 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
21262
21263 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
21264
21265 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
21266 errors.
21267 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
21268 errors. Call grub_error when needed.
21269
21270 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
21271
21272 * commands/search.c (search_fs): Try searching without autoload first.
21273 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
21274 filesystem module explicitly for faster booting.
21275
21276 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
21277
21278 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
21279
21280 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
21281
21282 * util/grub.d/30_os-prober.in: Disable os-prober if
21283 `GRUB_DISABLE_OS_PROBER' was set to true.
21284
21285 2009-08-23 Robert Millan <rmh.grub@aybabtu.com>
21286
21287 * partmap/pc.c: Rename to ...
21288 * partmap/msdos.c: ... this. Update all users.
21289 (grub_pc_partition_map): Rename to ...
21290 (grub_msdos_partition_map): ... this. Update all users.
21291
21292 * parttool/pcpart.c: Rename to ...
21293 * parttool/msdospart.c: ... this. Update all users.
21294
21295 * include/grub/pc_partition.h: Rename to ...
21296 * include/grub/msdos_partition.h: ... this. Update all users.
21297 (grub_pc_partition_bsd_entry): Rename to ...
21298 (grub_msdos_partition_bsd_entry): ... this. Update all users.
21299 (grub_pc_partition_disk_label): Rename to ...
21300 (grub_msdos_partition_disk_label): ... this. Update all users.
21301 (grub_pc_partition_entry): Rename to ...
21302 (grub_msdos_partition_entry): ... this. Update all users.
21303 (grub_pc_partition_mbr): Rename to ...
21304 (grub_msdos_partition_mbr): ... this. Update all users.
21305 (grub_pc_partition): Rename to ...
21306 (grub_msdos_partition): ... this. Update all users.
21307 (grub_pc_partition_is_empty): Rename to ...
21308 (grub_msdos_partition_is_empty): ... this. Update all users.
21309 (grub_pc_partition_is_extended): Rename to ...
21310 (grub_msdos_partition_is_extended): ... this. Update all users.
21311 (grub_pc_partition_is_bsd): Rename to ...
21312 (grub_msdos_partition_is_bsd): ... this. Update all users.
21313
21314 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
21315 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
21316 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
21317 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
21318 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
21319 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
21320 (gpt_mod_LDFLAGS): Rename to ...
21321 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
21322 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
21323 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
21324 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
21325 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
21326 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
21327 (part_gpt_mod_LDFLAGS): ... this.
21328 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
21329 `pcpart.mod' to `msdospart.mod'.
21330 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
21331 to ...
21332 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
21333 (msdospart_mod_LDFLAGS): ... this.
21334
21335 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
21336
21337 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
21338 (openbsd_opts): Likewise.
21339 (netbsd_opts): Likewise.
21340 (freebsd_flags): Added 0 terminator.
21341 (openbsd_flags): Likewise.
21342 (netbsd_flags): Likewise.
21343 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
21344 (grub_cmd_freebsd): Transformed into extended command.
21345 (grub_cmd_openbsd): Likewise.
21346 (grub_cmd_netbsd): Likewise.
21347 (cmd_freebsd): Changed type to grub_extcmd_t.
21348 (cmd_openbsd): Likewise.
21349 (cmd_netbsd): Likewise.
21350 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
21351 grub_cmd_openbsd as extended commands.
21352 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
21353 cmd_netbsd and cmd_openbsd
21354
21355 2009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
21356
21357 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
21358
21359 2009-08-21 Pavel Roskin <proski@gnu.org>
21360
21361 * Makefile.in (install-local): When checking if a file is in the
21362 build directory, use "test -e" to detect symlinks.
21363
21364 * Makefile.in (install-local): Remove all files in
21365 $(DESTDIR)$(pkglibdir) before installing new files there.
21366
21367 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
21368
21369 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
21370 grub-mkelfimage.
21371
21372 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
21373
21374 * util/grub-mkconfig.in: Don't use gfxterm by default if not
21375 explicitly specified by the user.
21376
21377 2009-08-18 Pavel Roskin <proski@gnu.org>
21378
21379 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
21380 grub_uint8_t pointer for data.
21381 * include/grub/fbutil.h (struct grub_video_fbblit_info):
21382 Likewise.
21383 * video/fb/fbutil.c: Remove unnecessary casts.
21384
21385 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
21386
21387 VBE cleanup.
21388
21389 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
21390 (grub_vbe_set_video_mode): Save active mode info
21391 only after setting the mode.
21392 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
21393 second argument.
21394
21395 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
21396
21397 Rename variables for clarity.
21398
21399 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
21400 (active_vbe_mode_info): ... this. All users updated.
21401 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
21402 All users updated.
21403 (initial_mode): Rename to ...
21404 (initial_vbe_mode): ... this. All users updated.
21405 (mode_in_use): Rename to ..
21406 (vbe_mode_in_use): ... this. All users updated.
21407 (mode_list): Rename to ..
21408 (vbe_mode_list): ... this. All users updated.
21409 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
21410 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
21411 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
21412 'mode_list_size' to 'vbe_mode_list_size'.
21413 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
21414 'best_mode_info' to 'best_vbe_mode_info' and
21415 'best_mode' to 'best_vbe_mode'
21416
21417 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
21418
21419 Remove duplicate grub_video_fb_get_video_ptr.
21420
21421 * include/grub/fbutil.h (get_data_ptr): Rename to ...
21422 (grub_video_fb_get_video_ptr): ... this.
21423 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
21424 * video/fb/fbutil.c: Add comment about addressing.
21425 (get_data_ptr): Rename to ...
21426 (grub_video_fb_get_video_ptr): ... this. All users updated.
21427 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
21428
21429 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
21430
21431 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
21432 grub_dprintf() that was just added.
21433
21434 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
21435
21436 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
21437 (DEFAULT_VIDEO_MODE): Remove macros.
21438 (grub_linux_boot): Remove assumption that Linux has FB support,
21439 and use "text" as default video mode.
21440
21441 2009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
21442
21443 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
21444 grub_dprintf.
21445 * fs/fat.c (grub_fat_read_data): Likewise.
21446
21447 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
21448
21449 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
21450 payload.
21451 (grub_module): Likewise.
21452
21453 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
21454
21455 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
21456 mbi->cmdline but free playground.
21457
21458 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
21459
21460 Handle group offset on UFS1.
21461
21462 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
21463 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
21464
21465 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
21466
21467 Split ufs.mod into ufs1.mod and ufs2.mod.
21468
21469 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
21470 (grub_fstest_SOURCES): Likewise.
21471 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
21472 (ufs_mod_SOURCES): Remove.
21473 (ufs_mod_CFLAGS): Likewise.
21474 (ufs_mod_LDFLAGS): Likewise.
21475 (ufs1_mod_SOURCES): New variable.
21476 (ufs1_mod_CFLAGS): Likewise.
21477 (ufs1_mod_LDFLAGS): Likewise.
21478 (ufs2_mod_SOURCES): New variable.
21479 (ufs2_mod_CFLAGS): Likewise.
21480 (ufs2_mod_LDFLAGS): Likewise.
21481 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
21482 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
21483 Likewise.
21484 (grub_emu_SOURCES): Likewise.
21485 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21486 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
21487 (grub_setup_SOURCES): Likewise.
21488 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21489 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
21490 (grub_setup_SOURCES): Likewise.
21491 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
21492 Likewise.
21493 * fs/ufs2.c: New file.
21494 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
21495
21496 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
21497
21498 Framebuffer split.
21499
21500 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
21501 subsystem at the end.
21502 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
21503 (video_fb_mod_SOURCES): New variable.
21504 (video_fb_mod_CFLAGS): Likewise.
21505 (video_fb_mod_LDFLAGS): Likewise.
21506 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
21507 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
21508 * video/i386/pc/vbeblit.c: Moved from here ...
21509 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
21510 * video/i386/pc/vbefill.c: Moved from here ...
21511 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
21512 * video/i386/pc/vbeutil.c: Moved from here ...
21513 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
21514 * include/grub/i386/pc/vbeblit.h: Moved from here ...
21515 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
21516 * include/grub/i386/pc/vbefill.h: Moved from here ...
21517 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
21518 * include/grub/i386/pc/vbeutil.h: Moved from here ...
21519 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
21520 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
21521 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
21522 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
21523 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
21524 (grub_video_adapter): Added 'get_info_and_fini'.
21525 (grub_video_get_info_and_fini): New prototype.
21526 (grub_video_set_mode): make modestring const char *.
21527 * loader/i386/linux.c (grub_linux_setup_video): Use
21528 grub_video_get_info_and_fini.
21529 (grub_linux_boot): Move modesetting just before booting.
21530 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
21531 grub_video_get_info_and_fini.
21532 * video/i386/pc/vbe.c: Moved framebuffer part ...
21533 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
21534 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
21535 grub_video_fbstd_colors and grub_video_fb_set_palette.
21536 (grub_video_vbe_init): Clear 'framebuffer' variable and use
21537 grub_video_fb_init.
21538 (grub_video_vbe_fini): Use grub_video_fb_fini.
21539 (grub_video_vbe_setup): Use framebuffer.render_target instead of
21540 render_target and use grub_video_fb_set_active_render_target and
21541 grub_video_fb_set_palette.
21542 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
21543 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
21544 (grub_video_vbe_adapter): Use framebuffer.
21545 * video/video.c (grub_video_get_info_and_fini): New function.
21546 (grub_video_set_mode): Make modestring const char *.
21547 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
21548 values are already initialised.
21549
21550 2009-08-14 Pavel Roskin <proski@gnu.org>
21551
21552 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
21553 ABS and APPLE_CC.
21554 * boot/i386/pc/diskboot.S: Likewise.
21555 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
21556 sectors allow compilation on MacOSX.
21557 * conf/i386-pc.rmk: Enable unconditional compilation of
21558 lnxboot.img.
21559
21560 2009-08-13 Colin Watson <cjwatson@ubuntu.com>
21561
21562 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
21563 * util/grub.d/00_header.in: Enter interruptible sleep if
21564 GRUB_HIDDEN_TIMEOUT is set.
21565
21566 2009-08-13 Yves Blusseau <blusseau@zetam.org>
21567
21568 * include/grub/symbol.h: Add the LOCAL macro.
21569 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
21570 starting with "L_".
21571
21572 2009-08-13 Pavel Roskin <proski@gnu.org>
21573
21574 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
21575 any modern compilers we support.
21576
21577 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
21578 Use local labels starting with "L_" so that Apple assembler
21579 knows they are local.
21580
21581 2009-08-10 Robert Millan <rmh.grub@aybabtu.com>
21582
21583 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
21584 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
21585 (bsd_kernel_types): ... this enum.
21586
21587 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
21588 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
21589 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
21590
21591 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
21592 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
21593 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
21594 messages.
21595
21596 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
21597
21598 * util/grub-dumpdevtree: Moved from here ...
21599 * util/i386/efi/grub-dumpdevtree: ... to here.
21600 (hexify): New function. Converts a string to its hex version.
21601 Generate hex versions of "efi" and "device-properties" by calling
21602 hexify() on the ASCII strings rather than by hardcoding numbers.
21603
21604 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
21605
21606 * fs/jfs.c: Update copyright year.
21607
21608 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
21609
21610 * util/grub.d/00_header.in: Fix a comment.
21611 * util/grub.d/10_linux.in: Likewise.
21612 * util/grub.d/10_windows.in: Likewise.
21613 * util/grub.d/10_hurd.in: Likewise.
21614
21615 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
21616
21617 * util/grub-mkconfig.in: Allow the user to specify the used font
21618 with GRUB_FONT.
21619
21620 2009-08-08 Pavel Roskin <proski@gnu.org>
21621
21622 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
21623 available, xfs.mod needs it now.
21624
21625 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
21626 the "g" modifier in sed when the intention is to strip something
21627 once. This fixes comparison of kernels with multiple dashes.
21628
21629 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
21630 on it. Add missing space before closing bracket. Fix
21631 misleading formatting.
21632
21633 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
21634
21635 * docs/grub.texi: Major overhaul. Remove all sections that are
21636 specific to GRUB Legacy, or mostly composed of Legacy-specific
21637 information.
21638
21639 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
21640
21641 * docs/version.texi: New file. Provides version information for
21642 grub.texi.
21643
21644 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
21645
21646 * docs/grub.texi: Update CVS information to SVN.
21647 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
21648
21649 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
21650
21651 * util/grub-mkconfig.in: Remove a wrong `fi'.
21652
21653 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
21654
21655 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
21656 (grub_jfs_uuid): New function.
21657 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
21658
21659 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
21660
21661 * util/grub-mkconfig_lib.in (font_path): Move the functionality
21662 of it to ...
21663 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
21664 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
21665
21666 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
21667
21668 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
21669 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
21670 Update all users.
21671
21672 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
21673 not just "vmlinu[zx]".
21674 Moved from here ...
21675 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
21676 all users.
21677
21678 * util/grub.d/10_linux.in (find_latest): Moved from here ...
21679 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
21680 all users.
21681
21682 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
21683
21684 * util/grub.d/10_freebsd.in: Use an absolute device path for
21685 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
21686
21687 2009-08-06 Felix Zielcke <fzielcke@z-51.de>
21688
21689 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
21690 handling of multiple abstraction modules.
21691
21692 2009-08-04 Robert Millan <rmh.grub@aybabtu.com>
21693
21694 Fix a bug resulting in black screen when loading Linux using a
21695 packed video mode.
21696
21697 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
21698 function.
21699
21700 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
21701 (grub_vbe_bios_getset_dac_palette_width): New function.
21702 (grub_vbe_bios_get_dac_palette_width)
21703 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
21704 grub_vbe_bios_getset_dac_palette_width()).
21705
21706 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
21707 check for return status.
21708 (grub_vbe_get_video_mode_info): When getting information for a packed
21709 mode (<= 8 bpp), obtain DAC palette width using
21710 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
21711 {red,green,blue}_mark_size.
21712
21713 2009-08-04 Felix Zielcke <fzielcke@z-51.de>
21714
21715 * commands/search.c (options): Fix help output to match actual code.
21716
21717 2009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
21718
21719 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
21720 of homegrown code.
21721
21722 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
21723
21724 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
21725 on XFS or ReiserFS.
21726
21727 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
21728
21729 Support Apple partition map with sector size different from 512 bytes.
21730
21731 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
21732 (apple_partition_map_iterate): Respect 'aheader.blocksize'
21733 and 'apart.partmap_size'.
21734
21735 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
21736 2009-08-01 Robert Millan <rmh.grub@aybabtu.com>
21737
21738 Fix cpuid command.
21739
21740 * commands/i386/cpuid.c (options): New variable.
21741 (grub_cmd_cpuid): Return real error.
21742 (GRUB_MOD_INIT(cpuid)): Declare options.
21743
21744 2009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
21745
21746 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
21747 valid.
21748
21749 2009-07-31 Bean <bean123ch@gmail.com>
21750
21751 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
21752 log2_inode.
21753 (grub_fshelp_node): Move inode field to the end.
21754 (grub_xfs_data): Remove inode field.
21755 (grub_xfs_inode_block): Calculate inode size using sblock.
21756 (grub_xfs_inode_offset): Likewise.
21757 (grub_xfs_read_inode): Calculate inode size using sblock.
21758 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
21759 (grub_xfs_iterate_dir): Calculate inode size using sblock.
21760 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
21761 to match inode size.
21762 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
21763 not accessible when data is null.
21764 (grub_xfs_open): Likewise.
21765
21766 2009-07-31 Bean <bean123ch@gmail.com>
21767
21768 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
21769 Don't change pv->disk if it's already set.
21770
21771 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
21772 (grub_raid_register): ... here.
21773 (grub_raid_rescan): Removed.
21774
21775 * include/grub/raid.h (grub_raid_rescan): Removed.
21776
21777 * util/grub-fstest.c: Remove include file <grub/raid.h>.
21778 (fstest): Replace grub_raid_rescan with module fini function followed
21779 by init function.
21780
21781 * util/grub-probe.c: Add include file <grub/raid.h>.
21782 (probe_raid_level): New function.
21783 (probe): Detect abstraction by walking the disk device, support two
21784 level of abstraction (LVM on RAID) when detecting partition map.
21785
21786 2009-07-31 Pavel Roskin <proski@gnu.org>
21787
21788 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
21789 to grub_zalloc(), it was erroneous.
21790 Reported by Bean <bean123ch@gmail.com>
21791
21792 2009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
21793
21794 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
21795 embedding zone, not only the first one.
21796
21797 2009-07-29 Joe Auricchio <jauricchio@gmail.com>
21798
21799 * term/gfxterm.c (clear_char): New function.
21800 (grub_virtual_screen_setup): Use clear_char.
21801 (scroll_up): Likewise.
21802 (grub_virtual_screen_cls): Likewise.
21803
21804 2009-07-29 Felix Zielcke <fzielcke@z-51.de>
21805
21806 * util/deviceiter.c (get_acceleraid_disk_name): New static
21807 function.
21808 (grub_util_iterate_devices): Handle Accelraid devices.
21809 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
21810
21811 2009-07-28 Robert Millan <rmh.grub@aybabtu.com>
21812
21813 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
21814 separator for the suggested gfxpayload string (';' collides with the
21815 parser and needs escaping).
21816
21817 2009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
21818
21819 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
21820 Clear direction flag before jumping to OS.
21821 (grub_multiboot2_real_boot): Likewise.
21822
21823 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
21824
21825 * util/i386/pc/grub-install: Fix parsing of --disk-module
21826 option.
21827
21828 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
21829
21830 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
21831 when embedding.
21832
21833 2009-07-26 Felix Zielcke <fzielcke@z-51.de>
21834
21835 * util/grub-mkconfig.in (package_version): New variable.
21836 Use it do display the version.
21837
21838 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
21839
21840 * kern/file.c (grub_file_open): Revert to previous check with
21841 grub_errno.
21842
21843 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
21844
21845 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
21846 from help line. It's out of sync with code.
21847
21848 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
21849
21850 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
21851 entries on failed boot.
21852
21853 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
21854
21855 * kern/file.c (grub_file_open): Fix an error check.
21856
21857 2009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
21858
21859 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
21860 partition map couldn't be identified.
21861
21862 2009-07-23 Pavel Roskin <proski@gnu.org>
21863
21864 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
21865 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
21866 case of little endian words becomes just an optimization.
21867 Respect const modifier.
21868 (md5_final): Use code that doesn't depend on endianness.
21869
21870 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
21871 to avoid loss of upper bits if align is unsigned and shorter
21872 than addr.
21873
21874 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
21875
21876 UUID support for UFS
21877
21878 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
21879 (grub_ufs_uuid): New function.
21880 (grub_ufs_fs): add .uuid
21881
21882 2009-07-21 Pavel Roskin <proski@gnu.org>
21883
21884 * kern/dl.c (grub_dl_check_header): Make static.
21885
21886 2009-07-21 Felix Zielcke <fzielcke@z-51.de>
21887
21888 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
21889 add drivemap for Vista. It breaks Windows 7.
21890
21891 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
21892
21893 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
21894 128 bytes
21895
21896 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
21897
21898 Add BFS support
21899
21900 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
21901 (grub_fstest_SOURCES): Likewise.
21902 (pkglib_MODULES): Add befs.mod.
21903 (befs_mod_SOURCES): New variable.
21904 (befs_mod_CFLAGS): Likewise.
21905 (befs_mod_LDFLAGS): Likewise.
21906 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
21907 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
21908 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21909 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
21910 (grub_setup_SOURCES): Likewise.
21911 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21912 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21913 (grub_setup_SOURCES): Likewise.
21914 * fs/befs.c: New file.
21915 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
21916 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
21917 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
21918 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
21919 (B_KEY_INDEX_ALIGN): New declaration.
21920 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
21921 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
21922 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
21923 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
21924 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
21925 (grub_afs_mount) [MODE_BFS]: Likewise.
21926 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
21927 (grub_afs_fs): Use GRUB_AFS_FSNAME
21928 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
21929 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
21930 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
21931 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
21932
21933 2009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
21934
21935 * util/getroot.c (find_root_device): Add support for MacOSX.
21936 * util/hostdisk.c: Likewise.
21937
21938 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
21939
21940 * font/font.c (find_glyph): Check whether a font is present to avoid
21941 segmentation fault.
21942
21943 2009-07-20 Joe Auricchio <jauricchio@gmail.com>
21944
21945 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
21946
21947 2009-07-20 Pavel Roskin <proski@gnu.org>
21948
21949 * configure.ac: Trim excessively wordy excuses.
21950
21951 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
21952
21953 Add symlink, mtime and label support to AtheFS.
21954
21955 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
21956 (grub_afs_iterate_dir): Handle symlinks.
21957 (grub_afs_open): Use grub_afs_read_symlink.
21958 (grub_afs_dir): Likewise.
21959 Pass mtime.
21960 (grub_afs_label): New function.
21961 (grub_afs_fs): Add grub_afs_label.
21962 (grub_afs_read_symlink): New function.
21963
21964 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
21965
21966 Fix AtheFS support.
21967
21968 * fs/afs.c: Fix comments style.
21969 (grub_afs_blockrun): Declare as packed.
21970 (grub_afs_datastream): Likewise.
21971 (grub_afs_bnode): Likewise.
21972 (grub_afs_btree): Likewise.
21973 (grub_afs_sblock): Likewise.
21974 Declare `name' as char.
21975 (grub_afs_inode): Declare as packed.
21976 Change void *vnode to grub_uint32_t unused.
21977 (grub_afs_iterate_dir): Check that key_size is positive.
21978 (grub_afs_mount): Don't read superblock twice.
21979 (grub_afs_dir): Don't free node in case of error,
21980 grub_fshelp_find_file already handles this.
21981 (grub_afs_open): Likewise.
21982
21983 2009-07-19 Pavel Roskin <proski@gnu.org>
21984
21985 * Makefile.in: Remove LIBLZO and enable_lzo.
21986 * conf/i386-pc.rmk: Remove lzo support.
21987 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
21988 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
21989 support.
21990 * kern/i386/pc/lzo1x.S: Remove.
21991 * kern/i386/pc/startup.S: Remove lzo support.
21992 * util/i386/pc/grub-mkimage.c: Likewise.
21993
21994 2009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
21995
21996 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
21997 * fs/xfs.c (grub_xfs_dir): Likewise.
21998 * fs/afs.c (grub_afs_dir): Likewise.
21999 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
22000 (grub_iso9660_open): Likewise.
22001 * fs/jfs.c (grub_jfs_open): Likewise.
22002 * fs/ext2.c (grub_ext2_dir): Likewise.
22003 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
22004 * script/sh/lexer.c (grub_script_yylex): Likewise.
22005
22006 2009-07-16 Pavel Roskin <proski@gnu.org>
22007
22008 * configure.ac: Never add "-c" to CFLAGS.
22009
22010 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
22011
22012 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
22013 grub_cv_cc_efiemu should be used.
22014
22015 * configure.ac: Typo fixes.
22016
22017 * kern/mm.c (grub_zalloc): New function.
22018 (grub_debug_zalloc): Likewise.
22019 * include/grub/mm.h: Declare grub_zalloc() and
22020 grub_debug_zalloc().
22021 * util/misc.c (grub_zalloc): New function.
22022 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
22023 instead of grub_malloc(), remove unneeded initializations.
22024 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
22025 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
22026 * commands/parttool.c (grub_cmd_parttool): Likewise.
22027 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
22028 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
22029 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
22030 * disk/usbms.c (grub_usbms_finddevs): Likewise.
22031 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
22032 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
22033 (grub_cmd_efiemu_pnvram): Likewise.
22034 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
22035 * fs/iso9660.c (grub_iso9660_mount): Likewise.
22036 (grub_iso9660_iterate_dir): Likewise.
22037 * fs/jfs.c (grub_jfs_opendir): Likewise.
22038 * fs/ntfs.c (list_file): Likewise.
22039 (grub_ntfs_mount): Likewise.
22040 * kern/disk.c (grub_disk_open): Likewise.
22041 * kern/dl.c (grub_dl_load_core): Likewise.
22042 * kern/elf.c (grub_elf_file): Likewise.
22043 * kern/env.c (grub_env_context_open): Likewise.
22044 (grub_env_set): Likewise.
22045 (grub_env_set_data_slot): Likewise.
22046 * kern/file.c (grub_file_open): Likewise.
22047 * kern/fs.c (grub_fs_blocklist_open): Likewise.
22048 * loader/i386/multiboot.c (grub_module): Likewise.
22049 * loader/xnu.c (grub_xnu_create_key): Likewise.
22050 (grub_xnu_create_value): Likewise.
22051 * normal/main.c (grub_normal_add_menu_entry): Likewise.
22052 (read_config_file): Likewise.
22053 * normal/menu_entry.c (make_screen): Likewise.
22054 * partmap/sun.c (sun_partition_map_iterate): Likewise.
22055 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
22056 * script/sh/script.c (grub_script_parse): Likewise.
22057 * video/bitmap.c (grub_video_bitmap_create): Likewise.
22058 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
22059 * video/readers/png.c (grub_png_output_byte): Likewise.
22060 (grub_video_reader_png): Likewise.
22061
22062 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
22063
22064 Enable all targets that can be built by default
22065
22066 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
22067 grub-mkfont and grub-fstest if they can be built
22068
22069 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
22070
22071 Fix hang and segmentation fault in grub-emu-usb
22072
22073 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
22074 * util/usb.c (grub_libusb_devices): likewise
22075 (grub_libusb_init): rename to ...
22076 (GRUB_MOD_INIT (libusb)):...this
22077 (grub_libusb_fini): rename to ..
22078 (GRUB_MOD_FINI (libusb)):...this
22079 * disk/usbms.c (grub_usbms_transfer): fix retry logic
22080 * include/grub/disk.h (grub_raid_init): removed, it's useless
22081 (grub_raid_fini): likewise
22082 (grub_lvm_init): likewise
22083 (grub_lvm_fini): likewise
22084 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
22085 by grub_init_all
22086
22087 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
22088
22089 Fix libusb
22090
22091 * Makefile.in (LIBUSB): new macro
22092 * genmk.rb (Utility/print_tail): new method
22093 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
22094 (top level): call util.print_tail at the end.
22095
22096 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
22097
22098 Make FreeBSD accept zpool.cache
22099
22100 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
22101 type is /boot/zfs/zpool.cache
22102
22103 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
22104
22105 Fix 64-bit efiemu
22106
22107 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
22108 correct wrong typedef
22109 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
22110
22111 2009-07-15 Pavel Roskin <proski@gnu.org>
22112
22113 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
22114 * kern/disk.c (struct grub_disk_cache): Likewise.
22115
22116 * commands/probe.c (options): Typo fix.
22117
22118 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
22119 Increase to 0x5a to accommodate FAT32. Adjust other offsets
22120 accordingly.
22121 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
22122
22123 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
22124 the end of "Error" to make the message more readable.
22125
22126 * boot/i386/pc/boot.S (kernel_segment): Remove.
22127 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
22128 for destination.
22129
22130 * boot/i386/pc/boot.S (boot_version): Remove.
22131 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
22132 Remove.
22133
22134 * include/grub/i386/pc/boot.h: Sort all offsets.
22135 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
22136 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
22137 * boot/i386/pc/boot.S: Assert location of every offset listed in
22138 include/grub/i386/pc/boot.h.
22139
22140 2009-07-13 Pavel Roskin <proski@gnu.org>
22141
22142 * include/grub/i386/coreboot/machine.h: Rename
22143 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
22144 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
22145 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
22146
22147 * kern/dl.c: Force native word size to suppress warnings when
22148 compiling grub-emu.
22149
22150 * kern/device.c (grub_device_iterate): Change struct part_ent to
22151 hold the name, not a pointer to it. Use one grub_malloc() per
22152 partition, not two. Free partition_name if grub_malloc() fails.
22153 Set ents to NULL only before grub_partition_iterate() is called.
22154
22155 2009-07-11 Bean <bean123ch@gmail.com>
22156
22157 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
22158 childname.
22159
22160 2009-07-10 Bean <bean123ch@gmail.com>
22161 2009-07-10 Robert Millan <rmh.grub@aybabtu.com>
22162
22163 * kern/ieee1275/openfw.c (grub_children_iterate)
22164 (grub_devalias_iterate): Fix size evaluation for property or path
22165 strings, which was broken since r2132.
22166
22167 2009-07-07 Pavel Roskin <proski@gnu.org>
22168
22169 * commands/search.c (search_file): Merge into ...
22170 (search_fs): ... this. Accept search type as argument.
22171 (grub_cmd_search): Pass search type to search_fs().
22172
22173 * include/grub/util/console.h: New file.
22174 * util/console.c: Use it instead of grub/machine/console.h.
22175 * util/grub-emu.c: Likewise.
22176
22177 * lib/arg.c (find_long_option): Remove.
22178 (find_long): Add `len' argument, make `s' const char *.
22179 (grub_arg_parse): Parse long options in place, not in a
22180 temporary buffer.
22181
22182 2009-07-06 Pavel Roskin <proski@gnu.org>
22183
22184 * commands/search.c (search_fs): Fix potential NULL pointer
22185 dereference.
22186
22187 * commands/search.c (search_fs): Replace QUID macro with quid_fn
22188 function pointer.
22189
22190 2009-07-06 Daniel Mierswa <impulze@impulze.org>
22191
22192 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
22193 comparison.
22194
22195 2009-07-05 Pavel Roskin <proski@gnu.org>
22196
22197 * include/grub/i386/linux.h (struct linux_kernel_params):
22198 Restore padding3, it's still needed.
22199
22200 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
22201 FreeBSD.
22202 * util/osdetect.lua: Likewise.
22203
22204 2009-07-05 Bean <bean123ch@gmail.com>
22205
22206 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
22207
22208 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
22209 (grub_lua_getenv): Likewise.
22210 (grub_lua_setenv): Likewise.
22211 (save_errno): New function.
22212 (push_result): Likewise.
22213 (grub_lua_enum_device): Likewise.
22214 (grub_lua_enum_file): Likewise.
22215 (grub_lua_file_open): Likewise.
22216 (grub_lua_file_close): Likewise.
22217 (grub_lua_file_seek): Likewise.
22218 (grub_lua_file_read): Likewise.
22219 (grub_lua_file_getline): Likewise.
22220 (grub_lua_file_getsize): Likewise.
22221 (grub_lua_file_getpos): Likewise.
22222 (grub_lua_file_eof): Likewise.
22223 (grub_lua_file_exist): Likewise.
22224 (grub_lua_add_menu): Likewise.
22225
22226 * script/lua/grub_lua.h (isupper): New inline function.
22227 (islower): Likewise.
22228 (ispunct): Likewise.
22229 (isxdigit): Likewise.
22230 (strcspn): Change to normal function.
22231 (strpbkr): New function declaration.
22232 (memchr): Likewise.
22233
22234 * script/lua/grub_main.c (scan_str): New function.
22235 (strcspn): Likewise.
22236 (strpbrk): Likewise.
22237 (memchr): Likewise.
22238
22239 * script/lua/linit.c (lualibs): Enable the string library.
22240
22241 * util/osdetect.lua: New file.
22242
22243 2009-07-04 Robert Millan <rmh.grub@aybabtu.com>
22244
22245 * include/grub/i386/linux.h (struct linux_kernel_params): Add
22246 `capabilities' member.
22247
22248 2009-07-02 Pavel Roskin <proski@gnu.org>
22249
22250 * genparttoollist.sh: Add missing newline at the end.
22251
22252 2009-07-01 Pavel Roskin <proski@gnu.org>
22253
22254 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
22255
22256 * util/hostdisk.c (open_device): Remove `const' from
22257 `sysctl_size', as sysctlbyname() can change it (in this case it
22258 doesn't actually happen).
22259
22260 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
22261 using signed long int constants.
22262
22263 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
22264 constant to avoid a warning on FreeBSD.
22265
22266 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
22267 where it's needed.
22268
22269 * Makefile.in: Install include/grub/machine symlink.
22270
22271 * Makefile.in: When installing symlinks, use "cp -fR", which
22272 works on FreeBSD and MacOSX.
22273 From Yves Blusseau <cl7m42e02@sneakemail.com>
22274
22275 * kern/dl.c (grub_dl_resolve_symbol): Make static.
22276 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
22277
22278 * util/misc.c: Move grub_reboot() and grub_halt() ...
22279 * util/grub-emu.c: ... here. Make main_env static.
22280 * include/grub/util/misc.h: Remove main_env.
22281
22282 * kern/mm.c: Use correct format to print size_t.
22283
22284 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
22285 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
22286 * kern/powerpc/dl.c: Likewise.
22287 * kern/sparc64/dl.c: Likewise.
22288 * kern/x86_64/dl.c: Likewise.
22289
22290 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
22291
22292 Fix grub-emu build on sparc64-ieee1275.
22293
22294 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
22295 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
22296
22297 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
22298
22299 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
22300 (grub_reboot, grub_halt): New functions.
22301
22302 * util/i386/pc/misc.c: Delete. Update all users.
22303 * util/sparc64/ieee1275/misc.c: Likewise.
22304 * util/powerpc/ieee1275/misc.c: Likewise.
22305
22306 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
22307
22308 * conf/i386.rmk (setjmp_mod_SOURCES)
22309 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
22310 * conf/common.rmk (setjmp_mod_SOURCES)
22311 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
22312 to use $(target_cpu).
22313 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
22314 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
22315 * conf/powerpc-ieee1275.rmk: Likewise.
22316 * conf/sparc64-ieee1275.rmk: Likewise.
22317
22318 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
22319 $(target_cpu) for kern/$(target_cpu)/dl.c.
22320 * conf/i386-efi.rmk: Likewise.
22321 * conf/i386-ieee1275.rmk: Likewise.
22322 * conf/x86_64-efi.rmk: Likewise.
22323 * conf/i386-coreboot.rmk: Likewise.
22324 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
22325 $(target_cpu) for kern/$(target_cpu)/dl.c and for
22326 kern/$(target_cpu)/cache.S.
22327 * conf/sparc64-ieee1275.rmk: Likewise.
22328
22329 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
22330
22331 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
22332 type to `grub_uint8_t', and adjust `padding9' accordingly.
22333
22334 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
22335
22336 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
22337
22338 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
22339 assembly in final jump, using register constraints.
22340
22341 (grub_linux_boot): For text mode, initialize `have_vga' using
22342 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
22343
22344 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
22345 right before the final jump.
22346
22347 Set `video_mode' to 0x3.
22348
22349 Document initialization of `video_page', `video_mode' and
22350 `video_ega_bx'.
22351
22352 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
22353
22354 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
22355 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
22356 and set GRUB_LINUX_FLAG_QUIET appropriately.
22357
22358 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
22359
22360 Fix build on Debian / sparc.
22361
22362 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
22363
22364 2009-06-28 Pavel Roskin <proski@gnu.org>
22365
22366 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
22367 fix a warning.
22368
22369 * util/grub.d/10_linux.in: Match SUSE style initrd names.
22370
22371 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
22372
22373 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
22374 `err'.
22375
22376 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
22377
22378 Revert r2338.
22379
22380 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
22381 file can't be opened. grub_file_open() is already supposed to set
22382 grub_errno / grub_errmsg appropriately.
22383 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
22384
22385 2009-06-27 Pavel Roskin <proski@gnu.org>
22386 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
22387
22388 * include/grub/dl.h: Include grub/elf.h.
22389 (struct grub_dl): Add symtab field.
22390 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
22391 GRUB_MODULES_MACHINE_READONLY.
22392 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
22393 of the header for read-only modules.
22394 (grub_dl_unload): Free mod->symtab for read-only modules.
22395 * kern/i386/dl.c: Use mod->symtab.
22396 * kern/powerpc/dl.c: Likewise.
22397 * kern/sparc64/dl.c: Likewise.
22398 * kern/x86_64/dl.c: Likewise.
22399
22400 * conf/i386-qemu.rmk: New file.
22401 * kern/i386/qemu/startup.S: Likewise.
22402 * kern/i386/qemu/mmap.c: Likewise.
22403 * boot/i386/qemu/boot.S: Likewise.
22404 * include/grub/i386/qemu/time.h: Likewise.
22405 * include/grub/i386/qemu/serial.h: Likewise.
22406 * include/grub/i386/qemu/kernel.h: Likewise.
22407 * include/grub/i386/qemu/console.h: Likewise.
22408 * include/grub/i386/qemu/boot.h: Likewise.
22409 * include/grub/i386/qemu/init.h: Likewise.
22410 * include/grub/i386/qemu/machine.h: Likewise.
22411 * include/grub/i386/qemu/loader.h: Likewise.
22412 * include/grub/i386/qemu/memory.h: Likewise.
22413
22414 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
22415 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
22416 [qemu] (pkglib_IMAGES): Add `boot.img'.
22417 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
22418 [qemu] (boot_img_FORMAT): New variables.
22419 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
22420 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
22421 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
22422 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
22423 [qemu] (kernel_img_FORMAT): New variables.
22424
22425 * configure.ac: Recognise `i386-qemu'.
22426
22427 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
22428 (for no compression).
22429 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
22430 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
22431 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
22432 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
22433 ifdefs).
22434
22435 2009-06-27 Pavel Roskin <proski@gnu.org>
22436
22437 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
22438 read.
22439 * efiemu/prepare32.c: Likewise.
22440 * efiemu/prepare64.c: Likewise.
22441
22442 2009-06-26 Pavel Roskin <proski@gnu.org>
22443
22444 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
22445 * include/grub/elf.h: Define symbols without "32" or "64" based
22446 on GRUB_TARGET_WORDSIZE.
22447 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
22448 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
22449 ELF definitions.
22450 * efiemu/loadcore64.c: Likewise.
22451 * loader/i386/bsd32.c: Likewise.
22452 * loader/i386/bsd64.c: Likewise.
22453 * kern/dl.c: Remove own ELF definitions.
22454 * util/i386/efi/grub-mkimage.c: Likewise.
22455
22456 2009-06-23 Robert Millan <rmh.grub@aybabtu.com>
22457
22458 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
22459 segment 0x0 unconditionally, because the reference generated by
22460 GAS is an absolute address.
22461
22462 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
22463
22464 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
22465 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
22466
22467 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
22468
22469 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
22470 indexes. Check for -f explicitly.
22471 (search_file): Improve error message.
22472 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
22473
22474 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
22475
22476 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
22477 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
22478
22479 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
22480
22481 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
22482 * conf/i386-ieee1275.rmk: Likewise.
22483 * conf/i386-coreboot.rmk: Likewise.
22484
22485 * kern/i386/pc/startup.S (grub_stop): Remove function.
22486 * kern/i386/ieee1275/startup.S: Likewise.
22487 * kern/i386/coreboot/startup.S: Likewise.
22488 * kern/i386/misc.S (grub_stop): New function.
22489
22490 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
22491
22492 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
22493 * kern/i386/realmode.S (real_to_prot): ... to here.
22494
22495 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
22496
22497 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
22498 with `kernel.img'.
22499 (kernel_elf_SOURCES): Rename to ...
22500 (kernel_img_SOURCES): ... this.
22501 (kernel_elf_HEADERS): Rename to ...
22502 (kernel_img_HEADERS): ... this. Update all users.
22503 (kernel_elf_ASFLAGS): Rename to ...
22504 (kernel_img_ASFLAGS): ... this.
22505 (kernel_elf_CFLAGS): Rename to ...
22506 (kernel_img_CFLAGS): ... this.
22507 (kernel_elf_LDFLAGS): Rename to ...
22508 (kernel_img_LDFLAGS): ... this.
22509 * conf/i386-coreboot.rmk: Likewise.
22510 * conf/powerpc-ieee1275.rmk: Likewise.
22511
22512 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
22513 with "kernel.img".
22514
22515 2009-06-21 Pavel Roskin <proski@gnu.org>
22516
22517 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
22518 to match nested functions.
22519 * loader/sparc64/ieee1275/linux.c: Likewise.
22520
22521 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
22522
22523 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
22524
22525 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
22526 all i386 platforms.
22527
22528 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
22529
22530 Fix asm file handling on ELF, and remove workarounds.
22531
22532 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
22533 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
22534 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
22535 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
22536
22537 2009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
22538
22539 Load BSD ELF modules
22540
22541 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
22542 and loader/i386/bsd64.c
22543 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
22544 (FREEBSD_MODTYPE_ELF_MODULE): New definition
22545 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
22546 (grub_freebsd_load_elfmodule32): New declaration
22547 (grub_freebsd_load_elfmoduleobj64): Likewise
22548 (grub_freebsd_load_elf_meta32): Likewise
22549 (grub_freebsd_load_elf_meta64): Likewise
22550 (grub_freebsd_add_meta): Likewise
22551 (grub_freebsd_add_meta_module): Likewise
22552 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
22553 (grub_freebsd_add_meta_module): Likewise and move module-specific
22554 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
22555 (grub_cmd_freebsd): Add elf-kernel specific parts
22556 based on grub_freebsd_add_meta_module
22557 (grub_cmd_freebsd_module): Add type parsing moved from
22558 grub_freebsd_add_meta_module
22559 (grub_cmd_freebsd_module_elf): New function
22560 (cmd_freebsd_module_elf): New variable
22561 (GRUB_MOD_INIT): Register freebsd_module_elf
22562 * loader/i386/bsd32.c: New file
22563 * loader/i386/bsd64.c: Likewise
22564 * loader/i386/bsdXX.c: Likewise
22565 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
22566 (grub_elf64_load): Likewise
22567 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
22568 All users updated
22569 (grub_elf64_load_hook_t): Likewise
22570
22571 2009-06-21 Colin Watson <cjwatson@ubuntu.com>
22572
22573 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
22574 variable.
22575 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
22576 don't write a menu entry for recovery mode.
22577
22578 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
22579
22580 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
22581 after it's no longer needed.
22582
22583 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
22584
22585 * include/grub/i386/loader.h (grub_linux_prot_size)
22586 (grub_linux_tmp_addr, grub_linux_real_addr)
22587 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
22588 GRUB_MACHINE_PCBIOS.
22589 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
22590 common grub_util_info() call to ...
22591 (generate_image): ... here.
22592 Fix use of uninitialized memory, comparison of signed with
22593 unsigned integers and memory leak.
22594 Remove bogus module address message.
22595
22596 2009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
22597
22598 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
22599 grub_raid_register
22600 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
22601
22602 2009-06-19 Pavel Roskin <proski@gnu.org>
22603
22604 * configure.ac: Remove stray AC_MSG_CHECKING.
22605
22606 2009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
22607
22608 * disk/scsi.c (grub_scsi_open): use continue instead of big if
22609
22610 2009-06-18 Pavel Roskin <proski@gnu.org>
22611
22612 * conf/common.rmk: Add fs_file.mod.
22613 * disk/fs_file.c: New file.
22614 * include/grub/disk.h (enum grub_disk_dev_id): Add
22615 GRUB_DISK_DEVICE_FILE_ID.
22616
22617 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
22618
22619 Fix build with Apple's toolchain. Part 2
22620
22621 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
22622 a fake start
22623
22624 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
22625
22626 Fix build with Apple's toolchain. Part 1
22627
22628 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
22629 for long calls
22630 * configure.ac: remove a leftover AC_MSG_RESULT
22631 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
22632 Apple's toolchain
22633
22634 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
22635
22636 Fix warnings
22637
22638 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
22639 (decomp_block): initialize ch
22640 use grub_memcpy instead of memcpy
22641
22642 2009-06-17 Pavel Roskin <proski@gnu.org>
22643
22644 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
22645 version, use declarations needed to use vga_text as the startup
22646 console.
22647
22648 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
22649 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
22650 the kernel.
22651 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
22652 and grub_at_keyboard_fini(), it's done on module load and
22653 unload.
22654
22655 2009-06-17 Felix Zielcke <fzielcke@z-51.de>
22656
22657 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
22658 file can't be found.
22659 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
22660
22661 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
22662
22663 Fix newline handling
22664
22665 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
22666 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
22667 (grub_script_yylex): don't segfault on unterminated script
22668 newline terminates command and variable
22669
22670 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
22671
22672 avoid double grub_adjust_range call. Bug reported by David Simner
22673
22674 * kern/disk.c (grub_disk_write): change to raw disk access before
22675 calling disk_read
22676
22677 2009-06-17 Colin Watson <cjwatson@ubuntu.com>
22678
22679 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
22680 spaces, for the benefit of help2man.
22681 * util/i386/efi/grub-mkimage.c (usage): Likewise.
22682
22683 2009-06-16 Pavel Roskin <proski@gnu.org>
22684
22685 * kern/i386/halt.c: Include grub/machine/init.h.
22686 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
22687
22688 2009-06-16 Felix Zielcke <fzielcke@z-51.de>
22689
22690 * util/grub.d/30_os-prober.in: Use ${root} in the generated
22691 drivemap menuentry.
22692
22693 2009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
22694
22695 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
22696 `echo' command.
22697
22698 2009-06-16 Pavel Roskin <proski@gnu.org>
22699
22700 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
22701 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
22702 save %dx, we only need %dl and we never change it.
22703 * boot/i386/pc/cdboot.S: Don't set the root drive.
22704 * boot/i386/pc/pxeboot.S: Likewise.
22705 * include/grub/i386/pc/boot.h: Remove
22706 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
22707 GRUB_BOOT_MACHINE_DRIVE_CHECK.
22708 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
22709 * kern/i386/pc/init.c (make_install_device): Remove references
22710 to grub_root_drive.
22711 * kern/i386/pc/startup.S: Likewise.
22712 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
22713
22714 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
22715
22716 xnu_uuid command
22717
22718 * commands/xnu_uuid.c: new file
22719 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
22720 (xnu_uuid_mod_SOURCES): new variable
22721 (xnu_uuid_mod_CFLAGS): likewise
22722 (xnu_uuid_mod_LDFLAGS): likewise
22723 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
22724 * conf/i386-ieee1275.rmk: likewise
22725 * conf/i386-pc.rmk: likewise
22726 * conf/powerpc-ieee1275.rmk: likewise
22727 * conf/sparc64-ieee1275.rmk: likewise
22728 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
22729
22730 2009-06-16 Pavel Roskin <proski@gnu.org>
22731
22732 * configure.ac: Avoid '==' in test command, it's not portable.
22733
22734 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
22735
22736 Probe command
22737
22738 * commands/probe.c: new file
22739 * conf/common.rmk (pkglib_MODULES): add probe.mod
22740 (probe_mod_SOURCES): new variable
22741 (probe_mod_CFLAGS): likewise
22742 (probe_mod_LDFLAGS): likewise
22743 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
22744 * conf/i386-ieee1275.rmk: likewise
22745 * conf/i386-pc.rmk: likewise
22746 * conf/powerpc-ieee1275.rmk: likewise
22747 * conf/sparc64-ieee1275.rmk: likewise
22748
22749 2009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
22750
22751 Fix handling of string like \"hello\" and "a
22752 b"
22753
22754 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
22755 (grub_script_yylex): fix parsing of quoting, escaping and newline
22756
22757 2009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
22758
22759 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
22760 handling
22761
22762 2009-06-13 Jun Inoue <jun.lambda@gmail.com>
22763
22764 * util/grub-mkconfig.in: Fix parsing of --output option.
22765
22766 2009-06-12 Pavel Roskin <proski@gnu.org>
22767
22768 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
22769 genmk.rb don't need to be generated or installed.
22770
22771 2009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
22772
22773 * commands/i386/pc/drivemap_int13h.S: add more comments
22774
22775 2009-06-11 Pavel Roskin <proski@gnu.org>
22776
22777 * Makefile.in (uninstall): Uninstall manuals.
22778
22779 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
22780 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
22781 and update-grub_lib in two places.
22782 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
22783
22784 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
22785 a compiler warning.
22786
22787 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
22788 `entry_lo' to fix variable shadowing.
22789
22790 2009-06-11 Christian Franke <franke@computer.org>
22791
22792 * kern/misc.c (__enable_execute_stack): Add missing return type
22793 to prevent gcc warning.
22794
22795 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
22796
22797 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
22798
22799 2009-06-11 Pavel Roskin <proski@gnu.org>
22800
22801 * Makefile.in: Don't rely on any scripts being executable.
22802 Always use $(SHELL) to run shell scripts.
22803
22804 * configure.ac: Always define ___main if using -nostdlib. This
22805 fixes tests on Cygwin.
22806
22807 2009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
22808
22809 UDF fix
22810
22811 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
22812 is in bytes and not in blocks
22813
22814 2009-06-11 Pavel Roskin <proski@gnu.org>
22815
22816 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
22817 warning.
22818
22819 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
22820
22821 * util/grub.d/30_os-prober.in: Fix a comment. Source
22822 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
22823 to set the root device. Place drivemap command in the generated
22824 chain entry.
22825
22826 2009-06-11 Pavel Roskin <proski@gnu.org>
22827
22828 * configure.ac: Remove host_m32. Issues with 64-bit utilities
22829 have long been resolved.
22830
22831 2009-06-11 Colin Watson <cjwatson@ubuntu.com>
22832
22833 * util/grub.d/10_linux.in: Capitalise "Linux".
22834
22835 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
22836
22837 2009-06-11 Pavel Roskin <proski@gnu.org>
22838
22839 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
22840 fix a gcc warning and ensure that the function won't ever exit.
22841
22842 * kern/i386/ieee1275/init.c: Add missing prototype for
22843 grub_stop_floppy().
22844
22845 * loader/ieee1275/multiboot2.c [__i386__]: Include
22846 grub/cpu/multiboot.h.
22847
22848 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
22849 casts to short - they are not portable and cause warnings. Fix
22850 use of uninitialized values in input_buf. Use ARRAY_SIZE.
22851
22852 2009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
22853
22854 Drivemap fixes
22855
22856 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
22857 new function
22858 (grub_get_root_biosnumber_saved): new variable
22859 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
22860 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
22861 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
22862 %dx after the call if necessary
22863 * conf/common.rmk (pkglib_MODULES): remove boot.mod
22864 (boot_mod_SOURCES): remove
22865 (boot_mod_CFLAGS): remove
22866 (boot_mod_LDFLAGS): remove
22867 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
22868 (boot_mod_SOURCES): new variable
22869 (boot_mod_CFLAGS): likewise
22870 (boot_mod_LDFLAGS): likewise
22871 * conf/i386-efi.rmk: likewise
22872 * conf/i386-ieee1275.rmk: likewise
22873 * conf/i386-pc.rmk: likewise
22874 * conf/powerpc-ieee1275.rmk: likewise
22875 * conf/sparc64-ieee1275.rmk: likewise
22876 * conf/x86_64-efi.rmk: likewise
22877 * include/grub/i386/pc/biosnum.h: new file
22878 * lib/i386/pc/biosnum.c: likewise
22879 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
22880 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
22881 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
22882
22883 2009-06-10 Pavel Roskin <proski@gnu.org>
22884
22885 * io/gzio.c (test_header): Don't reuse one buffer for all data.
22886 Use separate variables. Read only the file size at the end, but
22887 not the checksum that we don't use.
22888
22889 * kern/file.c (grub_file_read): Use void pointer for the buffer.
22890 Adjust all callers.
22891
22892 * kern/ieee1275/openfw.c: Remove libc includes.
22893 * kern/ieee1275/cmain.c: Likewise.
22894 * include/grub/ieee1275/ieee1275.h: Likewise.
22895
22896 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
22897 compiler warnings.
22898
22899 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
22900
22901 * Makefile.in: Remove all trailing whitespace.
22902 * conf/i386-pc.rmk: Likewise.
22903 * conf/powerpc-ieee1275.rmk: Likewise.
22904 * conf/sparc64-ieee1275.rmk: Likewise.
22905 * docs/grub.texi: Likewise.
22906 * docs/texinfo.tex: Likewise.
22907 * disk/fs_uuid.c: Likewise.
22908 * disk/lvm.c: Likewise.
22909 * disk/scsi.c: Likewise.
22910 * disk/ata.c: Likewise.
22911 * disk/ieee1275/ofdisk.c: Likewise.
22912 * disk/i386/pc/biosdisk.c: Likewise.
22913 * disk/host.c: Likewise.
22914 * disk/raid.c: Likewise.
22915 * disk/efi/efidisk.c: Likewise.
22916 * disk/usbms.c: Likewise.
22917 * disk/memdisk.c: Likewise.
22918 * disk/loopback.c: Likewise.
22919 * kern/powerpc/dl.c: Likewise.
22920 * kern/device.c: Likewise.
22921 * kern/dl.c: Likewise.
22922 * kern/sparc64/dl.c: Likewise.
22923 * kern/ieee1275/ieee1275.c: Likewise.
22924 * kern/term.c: Likewise.
22925 * kern/fs.c: Likewise.
22926 * kern/i386/dl.c: Likewise.
22927 * kern/i386/pc/startup.S: Likewise.
22928 * kern/i386/pc/init.c: Likewise.
22929 * kern/i386/pc/mmap.c: Likewise.
22930 * kern/i386/pc/lzo1x.S: Likewise.
22931 * kern/i386/ieee1275/init.c: Likewise.
22932 * kern/i386/realmode.S: Likewise.
22933 * kern/i386/tsc.c: Likewise.
22934 * kern/partition.c: Likewise.
22935 * kern/corecmd.c: Likewise.
22936 * kern/file.c: Likewise.
22937 * kern/efi/efi.c: Likewise.
22938 * kern/efi/init.c: Likewise.
22939 * kern/efi/mm.c: Likewise.
22940 * kern/main.c: Likewise.
22941 * kern/err.c: Likewise.
22942 * kern/env.c: Likewise.
22943 * kern/disk.c: Likewise.
22944 * kern/generic/millisleep.c: Likewise.
22945 * kern/generic/rtc_get_time_ms.c: Likewise.
22946 * kern/misc.c: Likewise.
22947 * kern/parser.c: Likewise.
22948 * genmk.rb: Likewise.
22949 * configure.ac: Likewise.
22950 * boot/i386/pc/diskboot.S: Likewise.
22951 * boot/i386/pc/pxeboot.S: Likewise.
22952 * boot/i386/pc/boot.S: Likewise.
22953 * boot/i386/pc/lnxboot.S: Likewise.
22954 * boot/i386/pc/cdboot.S: Likewise.
22955 * parttool/pcpart.c: Likewise.
22956 * video/readers/tga.c: Likewise.
22957 * video/video.c: Likewise.
22958 * video/bitmap.c: Likewise.
22959 * lib/envblk.c: Likewise.
22960 * lib/i386/setjmp.S: Likewise.
22961 * fs/xfs.c: Likewise.
22962 * fs/afs.c: Likewise.
22963 * fs/fat.c: Likewise.
22964 * fs/ntfs.c: Likewise.
22965 * fs/udf.c: Likewise.
22966 * fs/affs.c: Likewise.
22967 * fs/iso9660.c: Likewise.
22968 * fs/hfs.c: Likewise.
22969 * fs/fshelp.c: Likewise.
22970 * fs/ext2.c: Likewise.
22971 * fs/jfs.c: Likewise.
22972 * fs/reiserfs.c: Likewise.
22973 * fs/hfsplus.c: Likewise.
22974 * fs/minix.c: Likewise.
22975 * fs/cpio.c: Likewise.
22976 * fs/sfs.c: Likewise.
22977 * fs/ufs.c: Likewise.
22978 * efiemu/prepare.c: Likewise.
22979 * efiemu/loadcore_common.c: Likewise.
22980 * efiemu/runtime/efiemu.sh: Likewise.
22981 * efiemu/runtime/efiemu.S: Likewise.
22982 * efiemu/runtime/efiemu.c: Likewise.
22983 * efiemu/pnvram.c: Likewise.
22984 * efiemu/main.c: Likewise.
22985 * efiemu/i386/pc/cfgtables.c: Likewise.
22986 * efiemu/i386/loadcore64.c: Likewise.
22987 * efiemu/i386/loadcore32.c: Likewise.
22988 * efiemu/loadcore.c: Likewise.
22989 * efiemu/symbols.c: Likewise.
22990 * efiemu/mm.c: Likewise.
22991 * include/grub/autoefi.h: Likewise.
22992 * include/grub/datetime.h: Likewise.
22993 * include/grub/term.h: Likewise.
22994 * include/grub/hfs.h: Likewise.
22995 * include/grub/lvm.h: Likewise.
22996 * include/grub/i386/tsc.h: Likewise.
22997 * include/grub/i386/linux.h: Likewise.
22998 * include/grub/i386/xnu.h: Likewise.
22999 * include/grub/i386/efiemu.h: Likewise.
23000 * include/grub/i386/pc/biosdisk.h: Likewise.
23001 * include/grub/i386/pc/memory.h: Likewise.
23002 * include/grub/i386/pc/vbe.h: Likewise.
23003 * include/grub/parttool.h: Likewise.
23004 * include/grub/video.h: Likewise.
23005 * include/grub/memory.h: Likewise.
23006 * include/grub/fs.h: Likewise.
23007 * include/grub/partition.h: Likewise.
23008 * include/grub/xnu.h: Likewise.
23009 * include/grub/efi/api.h: Likewise.
23010 * include/grub/efi/pe32.h: Likewise.
23011 * include/grub/efi/memory.h: Likewise.
23012 * include/grub/multiboot.h: Likewise.
23013 * include/grub/usbdesc.h: Likewise.
23014 * include/grub/multiboot2.h: Likewise.
23015 * include/grub/acpi.h: Likewise.
23016 * include/grub/efiemu/efiemu.h: Likewise.
23017 * include/grub/disk.h: Likewise.
23018 * include/grub/ieee1275/ieee1275.h: Likewise.
23019 * include/grub/net.h: Likewise.
23020 * include/grub/machoload.h: Likewise.
23021 * include/grub/macho.h: Likewise.
23022 * include/multiboot.h: Likewise.
23023 * genmoddep.awk: Likewise.
23024 * normal/main.c: Likewise.
23025 * normal/menu_entry.c: Likewise.
23026 * normal/menu_viewer.c: Likewise.
23027 * normal/completion.c: Likewise.
23028 * normal/cmdline.c: Likewise.
23029 * normal/misc.c: Likewise.
23030 * normal/datetime.c: Likewise.
23031 * bus/usb/usbtrans.c: Likewise.
23032 * bus/usb/ohci.c: Likewise.
23033 * bus/usb/uhci.c: Likewise.
23034 * bus/usb/usb.c: Likewise.
23035 * mmap/efi/mmap.c: Likewise.
23036 * mmap/i386/pc/mmap_helper.S: Likewise.
23037 * mmap/i386/pc/mmap.c: Likewise.
23038 * mmap/i386/mmap.c: Likewise.
23039 * mmap/i386/uppermem.c: Likewise.
23040 * mmap/mmap.c: Likewise.
23041 * commands/acpi.c: Likewise.
23042 * commands/echo.c: Likewise.
23043 * commands/blocklist.c: Likewise.
23044 * commands/loadenv.c: Likewise.
23045 * commands/usbtest.c: Likewise.
23046 * commands/boot.c: Likewise.
23047 * commands/parttool.c: Likewise.
23048 * commands/search.c: Likewise.
23049 * commands/cat.c: Likewise.
23050 * commands/i386/pc/play.c: Likewise.
23051 * commands/i386/pc/drivemap.c: Likewise.
23052 * commands/i386/pc/vbeinfo.c: Likewise.
23053 * commands/i386/pc/acpi.c: Likewise.
23054 * commands/i386/pc/vbetest.c: Likewise.
23055 * commands/ls.c: Likewise.
23056 * commands/cmp.c: Likewise.
23057 * commands/test.c: Likewise.
23058 * commands/efi/acpi.c: Likewise.
23059 * commands/gptsync.c: Likewise.
23060 * commands/help.c: Likewise.
23061 * partmap/amiga.c: Likewise.
23062 * partmap/apple.c: Likewise.
23063 * partmap/acorn.c: Likewise.
23064 * partmap/pc.c: Likewise.
23065 * partmap/sun.c: Likewise.
23066 * partmap/gpt.c: Likewise.
23067 * script/sh/lexer.c: Likewise.
23068 * script/sh/function.c: Likewise.
23069 * font/font.c: Likewise.
23070 * font/font_cmd.c: Likewise.
23071 * loader/powerpc/ieee1275/linux.c: Likewise.
23072 * loader/efi/chainloader.c: Likewise.
23073 * loader/multiboot_loader.c: Likewise.
23074 * loader/macho.c: Likewise.
23075 * loader/i386/multiboot.c: Likewise.
23076 * loader/i386/linux.c: Likewise.
23077 * loader/i386/pc/linux.c: Likewise.
23078 * loader/i386/pc/multiboot2.c: Likewise.
23079 * loader/i386/pc/chainloader.c: Likewise.
23080 * loader/i386/pc/xnu.c: Likewise.
23081 * loader/i386/bsd_trampoline.S: Likewise.
23082 * loader/i386/efi/linux.c: Likewise.
23083 * loader/i386/multiboot_elfxx.c: Likewise.
23084 * loader/i386/bsd_helper.S: Likewise.
23085 * loader/i386/bsd.c: Likewise.
23086 * loader/i386/linux_trampoline.S: Likewise.
23087 * loader/i386/xnu_helper.S: Likewise.
23088 * loader/i386/xnu.c: Likewise.
23089 * loader/i386/bsd_pagetable.c: Likewise.
23090 * loader/i386/multiboot_helper.S: Likewise.
23091 * loader/xnu.c: Likewise.
23092 * loader/xnu_resume.c: Likewise.
23093 * io/gzio.c: Likewise.
23094 * term/efi/console.c: Likewise.
23095 * term/terminfo.c: Likewise.
23096 * term/ieee1275/ofconsole.c: Likewise.
23097 * term/i386/pc/serial.c: Likewise.
23098 * term/i386/pc/vesafb.c: Likewise.
23099 * term/i386/pc/vga.c: Likewise.
23100 * term/usb_keyboard.c: Likewise.
23101 * term/gfxterm.c: Likewise.
23102 * aclocal.m4: Likewise.
23103 * util/lvm.c: Likewise.
23104 * util/grub.d/30_os-prober.in: Likewise.
23105 * util/grub.d/10_hurd.in: Likewise.
23106 * util/console.c: Likewise.
23107 * util/grub-macho2img.c: Likewise.
23108 * util/grub-probe.c: Likewise.
23109 * util/hostfs.c: Likewise.
23110 * util/i386/pc/grub-mkimage.c: Likewise.
23111 * util/i386/pc/grub-setup.c: Likewise.
23112 * util/i386/efi/grub-mkimage.c: Likewise.
23113 * util/grub-mkconfig.in: Likewise.
23114 * util/raid.c: Likewise.
23115 * util/resolve.c: Likewise.
23116 * util/grub-mkdevicemap.c: Likewise.
23117 * util/grub-emu.c: Likewise.
23118 * util/getroot.c: Likewise.
23119 * util/hostdisk.c: Likewise.
23120 * util/usb.c: Likewise.
23121 * util/grub-editenv.c: Likewise.
23122 * util/misc.c: Likewise.
23123
23124 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
23125
23126 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
23127 `genparttoollist.sh'.
23128 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
23129 Add `*.sh' to the list find searches for and change `mdate.sh'
23130 to `mdate-sh'.
23131
23132 2009-06-10 Pavel Roskin <proski@gnu.org>
23133
23134 * include/grub/multiboot2.h: Provide compatibility defines for
23135 multiboot2.h.
23136 * include/multiboot2.h: Include stdint.h only if needed, using
23137 angle brackets.
23138 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
23139 grub/multiboot2.h.
23140 * loader/ieee1275/multiboot2.c: Likewise.
23141 * loader/multiboot2.c: Likewise.
23142 * loader/multiboot_loader.c: Likewise.
23143
23144 * configure.ac: Use -nostdlib when probing for the target. It
23145 should not be required to have libc for the target.
23146
23147 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
23148 they fail without libc headers for the target.
23149 * include/grub/powerpc/libgcc.h: Use weak attribute for all
23150 exports.
23151 * include/grub/sparc64/libgcc.h: Likewise. Don't use
23152 preprocessor conditionals.
23153
23154 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
23155 build system doesn't need to be aware of the tar.c internals.
23156
23157 2009-06-09 Michel Hermier <michel.hermier@gmail.com>
23158
23159 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
23160
23161 2009-06-09 Robert Millan <rmh.grub@aybabtu.com>
23162
23163 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
23164 disk limit to 26 for IDE, Virtio, Xen and SCSI.
23165
23166 2009-06-09 Felix Zielcke <fzielcke@z-51.de>
23167
23168 * util/i386/pc/grub-install.in: Change the error message if UUIDs
23169 aren't available if ata.mod gets used.
23170
23171 2009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
23172
23173 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
23174 initialising controller.
23175 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
23176
23177 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
23178
23179 * util/i386/pc/grub-install.in: Add a parameter --disk-module
23180 to choose between ata and biosdisk module on i386-pc.
23181
23182 2009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
23183
23184 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
23185 Subclass and Programming Interface fields in terms of the 3 byte
23186 Class Code register.
23187 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
23188
23189 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
23190 interface is OHCI. Add grub_dprintf for symmetry with
23191 bus/usb/uhci.c.
23192 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
23193 interface is UHCI. Add interf variable for programming
23194 interface. Print interface with class/subclass.
23195
23196 * bus/usb/ohci.c: Set interf with correct field.
23197
23198 * bus/usb/uhci.c: Remove unneeded doubled lines.
23199 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
23200 Remove whitespace inside comment.
23201
23202 2009-06-08 Robert Millan <rmh.grub@aybabtu.com>
23203
23204 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
23205 as fallback an equivalent option without depth.
23206
23207 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
23208
23209 Not fail if unable to retrieve C/H/S on LBA disks
23210
23211 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
23212 if unable to retrieve C/H/S on LBA disks
23213
23214 2009-06-08 Pavel Roskin <proski@gnu.org>
23215
23216 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
23217 about aliasing.
23218
23219 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
23220
23221 * Makefile.in (uninstall): Remove all $lib_DATA files.
23222
23223 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
23224
23225 Bugfix: install on partitionless device
23226
23227 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
23228 is a whole disk
23229
23230 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
23231
23232 * Makefile.in (uninstall): Remove all $include_DATA files.
23233
23234 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
23235
23236 * commands/true.c: New file. Implement the true and false commands.
23237 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
23238 (true_mod_SOURCES): New variable.
23239 (true_mod_CFLAGS): Likewise.
23240 (true_mod_LDFLAGS): Likewise.
23241
23242 2009-06-05 Colin D Bennett <colin@gibibit.com>
23243
23244 Optimized font character lookup using binary search instead of linear
23245 search. Fonts now are required to have the character index ordered by
23246 code point.
23247
23248 * font/font.c (load_font_index): Verify that fonts have ordered
23249 character indices.
23250 (find_glyph): Use binary search instead of linear search to find a
23251 character in a font.
23252
23253 2009-06-05 Michael Scherer <misc@mandriva.org>
23254
23255 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
23256 uses case sensitive btree.
23257 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
23258 only for case insensitive filesystems.
23259
23260 2009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
23261
23262 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
23263 * conf/common.rmk (search_mod_CFLAGS): likewise
23264
23265 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23266
23267 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
23268 compensate a compiler bug
23269
23270 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23271
23272 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
23273 instead of '\b'
23274
23275 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23276
23277 Definitions for creating asm symbols with Apple's CC
23278
23279 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
23280 [APPLE_CC] (VARIABLE): likewise
23281
23282 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23283
23284 Disable lnxboot.img when compiled
23285 with Apple's CC
23286
23287 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
23288 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
23289 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
23290 [! APPLE_CC] (CODE_LENG): skip
23291 [! APPLE_CC] (setup_sects): likewise
23292 [! APPLE_CC]: skip filling
23293
23294 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23295
23296 Address in trampolines based on 32-bit registers when compiled
23297 with Apple's CC
23298
23299 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
23300 for addresses
23301 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
23302
23303 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23304
23305 Avoid aliases when compiling with Apple's CC for PCBIOS machine
23306
23307 * kern/misc.c [APPLE_CC] (memcpy): new function
23308 [APPLE_CC] (memmove): likewise
23309 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
23310 (memcpy): define alias conditionally on !APPLE_CC
23311 (memset): likewise
23312 (abort): likewise
23313 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
23314 APPLE_CC are defined
23315 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
23316 (grub_assert_fail): make prototype conditional
23317
23318 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23319
23320 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
23321
23322 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
23323 grub-macho2img
23324 (CLEANFILES): add grub-macho2img
23325 (grub_macho2img_SOURCES): new variable
23326 * kern/i386/pc/startup.S (bss_start): new variable
23327 (bss_end): likewise
23328 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
23329 * util/grub-macho2img.c: new file
23330
23331 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23332
23333 Use objconv when compiling with Apple's CC
23334
23335 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
23336 (efiemu64.o): likewise
23337 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
23338 when compiling with Apple's CC
23339 (efiemu64_s.o): likewise
23340 * configure.ac: check for objconv when compiling with Apple's CC
23341 * genmk.rb: use objconv for modules when compiled with Apple's CC
23342
23343 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23344
23345 Define segment as well as section when compiling with
23346 Apple's CC
23347
23348 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
23349 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
23350 (efiemu_convert_pointer): likewise
23351 (efiemu_set_virtual_address_map): likewise
23352 (efiemu_convert_pointer): likewise
23353 (efiemu_getcrc32): likewise
23354 (init_crc32_table): likewise
23355 (reflect): likewise
23356 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
23357 (GRUB_MOD_DEP): likewise
23358
23359 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23360
23361 Allow a compilation without -mcmodel=large
23362
23363 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
23364 when compiled without -mcmodel=large
23365 (filter_memory_map): remove memory post 4 GiB when compiled
23366 without -mcmodel=large
23367 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
23368 TARGET_CFLAGS when -mcmodel=large isn't supported
23369
23370 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23371
23372 Remove nested functions in efiemu core
23373
23374 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
23375
23376 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23377
23378 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
23379
23380 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
23381 temporary storage
23382 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
23383 using Apple's CC
23384 (grub_cpu_is_tsc_supported): likewise
23385 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
23386
23387 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23388
23389 Absolute addressing through constant with Apple's cc
23390
23391 * kern/i386/pc/startup.S: Define necessary constants
23392 and address through it when using ABS with Apple's CC
23393 * boot/i386/pc/diskboot.S: likewise
23394 * boot/i386/pc/boot.S: likewise
23395 * boot/i386/pc/lnxboot.S: likewise
23396 * boot/i386/pc/cdboot.S: likewise
23397 * mmap/i386/pc/mmap_helper.S: likewise
23398 * commands/i386/pc/drivemap_int13h.S: likewise
23399
23400 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23401
23402 Check if compiler is apple cc
23403
23404 * Makefile.in (ASFLAGS): new variable
23405 (TARGET_ASFLAGS): likewise
23406 (TARGET_MODULE_FORMAT): likewise
23407 (TARGET_APPLE_CC): likewise
23408 (OBJCONV): likewise
23409 (TARGET_IMG_CFLAGS): likewise
23410 (TARGET_CPPFLAGS): add includedir
23411 * configure.ac: call grub_apple_cc and grub_apple_target_cc
23412 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
23413 Check for linker script only if compiler isn't Apple's CC
23414 (TARGET_MODULE_FORMAT): set
23415 (TARGET_APPLE_CC): likewise
23416 (TARGET_ASFLAGS): likewise
23417 (ASFLAGS): likewise
23418 Check for objcopy only if compiler isn't Apple's CC
23419 Check for BSS symbol only if compiler isn't Apple's CC
23420 * genmk.rb: adapt nm options if we use Apple's utils
23421 * aclocal.m4 (grub_apple_cc): new test
23422 (grub_apple_target_cc): likewise
23423
23424 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23425
23426 Simplify sed expressions and improve awk
23427
23428 * Makefile.in (install-local): simplify sed expression
23429 * gencmdlist.sh: likewise
23430 * genmoddep.awk: avoid adding module as a dependency of itself
23431
23432 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23433
23434 Add missing start symbols
23435
23436 * boot/i386/pc/boot.S: add start
23437 * boot/i386/pc/pxeboot.S: likewise
23438
23439 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23440
23441 Fix wrong assumptions with grub-mkimage on EFI
23442
23443 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
23444 (relocate_addresses): consider both r_addend and value at offset
23445 (make_mods_section): zerofill modinfo and header
23446 (convert_elf): write prefix here
23447
23448 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23449
23450 Use .asciz instead of .string
23451
23452 * i386/pc/diskboot.S: use .asciz instead of .string
23453 * i386/pc/boot.S: likewise
23454 * include/grub/dl.h (GRUB_MOD_DEP): likewise
23455 (GRUB_MOD_NAME): likewise
23456
23457 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23458
23459 gfxpayload support
23460
23461 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
23462 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
23463 (grub_video_setup): remove
23464 (grub_video_set_mode): new prototype
23465 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
23466 (vid_mode): remove
23467 (linux_vesafb_res): compile only on PCBIOS
23468 (grub_linux_boot): support gfxpayload
23469 * loader/i386/pc/xnu.c (video_hook): new function
23470 (grub_xnu_set_video): support gfxpayload
23471 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
23472 (DEFAULT_VIDEO_HEIGHT): likewise
23473 (DEFAULT_VIDEO_FLAGS): likewise
23474 (DEFAULT_VIDEO_MODE): new definition
23475 (video_hook): new function
23476 (grub_gfxterm_init): use grub_video_set_mode
23477 * util/grub.d/30_os-prober.in: remove explicit modesetting before
23478 loading xnu
23479 * video/video.c (grub_video_setup): removed
23480 (grub_video_set_mode): new function based on grub_gfxterm_init and
23481 grub_video_setup
23482
23483 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23484
23485 Avoid calling biosdisk in drivemap
23486
23487 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
23488 (revparse_biosdisk): likewise
23489 (list_mappings): derive name from id directly
23490 (grub_cmd_drivemap): use tryparse_diskstring
23491
23492 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23493
23494 Script fixes
23495
23496 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
23497 (grub_lexer_param): add tokenonhold
23498 (grub_script_create_cmdline): remove cmdline. All callers updated
23499 (grub_script_function_create): make functionname
23500 grub_script_arg. All callers updated
23501 (grub_script_execute_argument_to_string): new prototype
23502 * kern/parser.c (state_transitions): reorder
23503 (grub_parser_cmdline_state): fix a bug and make more compact
23504 * script/sh/execute.c (grub_script_execute_argument_to_string):
23505 make global
23506 (grub_script_execute_cmdline): use new format
23507 * script/sh/function.c (grub_script_function_create): make functionname
23508 grub_script_arg. All callers updated
23509 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
23510 (grub_script_yylex): remove
23511 (grub_script_yylex2): renamed to ...
23512 (grub_script_yylex): ...renamed
23513 parse the expressions like a${b}c
23514 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
23515 (GRUB_PARSER_TOKEN_VAR): remove
23516 (GRUB_PARSER_TOKEN_NAME): likewise
23517 ("if"): declare as typeless
23518 ("while"): likewise
23519 ("function"): likewise
23520 ("else"): likewise
23521 ("then"): likewise
23522 ("fi"): likewise
23523 (text): remove
23524 (argument): likewise
23525 (script): accept empty scripts and make exit on error
23526 (arguments): use GRUB_PARSER_TOKEN_ARG
23527 (function): likewise
23528 (command): move error handling to script
23529 (menuentry): move grub_script_lexer_ref before
23530 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
23531 argument. All callers updated
23532
23533 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
23534
23535 Prevent GRUB from probing floppies during boot.
23536
23537 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
23538 * commands/search.c (options): Add --no-floppy.
23539 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
23540 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
23541 --no-floppy when searching for UUIDs.
23542
23543 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
23544
23545 Simplify the code duplication in commands/search.c.
23546
23547 * commands/search.c (search_label, search_fs_uuid): Merge into ...
23548 (search_fs): ... this. Update all users.
23549
23550 2009-06-03 Felix Zielcke <fzielcke@z-51.de>
23551
23552 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
23553
23554 2009-05-28 Pavel Roskin <proski@gnu.org>
23555
23556 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
23557 Remove the original symlink explicitly.
23558
23559 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
23560 just one slash. That's how grub_fshelp_find_file() does it.
23561
23562 2009-05-26 Pavel Roskin <proski@gnu.org>
23563
23564 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
23565 to `str'.
23566
23567 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
23568 possibly unused.
23569
23570 2009-05-25 Christian Franke <franke@computer.org>
23571
23572 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
23573 register.
23574 (grub_atapi_identify): Add wait after drive select.
23575 (grub_ata_identify): Do more strict status register check before
23576 calling grub_atapi_identify (). Suppress error message if status
23577 register is 0x00 after command failure. Add status register
23578 check after PIO read to avoid bogus identify due to stuck DRQ.
23579 Thanks to Pavel Roskin for testing.
23580 (grub_device_initialize): Remove unsafe status register check.
23581 Thanks to 'phcoder' for problem report and patch.
23582 Prevent sign extension in debug message.
23583
23584 2009-05-23 Colin D Bennett <colin@gibibit.com>
23585
23586 Cleaned up `include/grub/normal.h'. Grouped prototypes by
23587 definition file, and functions defined in `normal/menu.c' have had
23588 their prototypes moved to `include/grub/menu.h' for consistency.
23589
23590 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
23591 from normal.h.
23592 (grub_menu_get_entry): Likewise.
23593 (grub_menu_get_timeout): Likewise.
23594 (grub_menu_set_timeout): Likewise.
23595 (grub_menu_execute_entry): Likewise.
23596 (grub_menu_execute_with_fallback): Likewise.
23597 (grub_menu_entry_run): Likewise.
23598
23599 * include/grub/normal.h: Re-ordered and grouped function
23600 prototypes by file that the function is defined in.
23601 (grub_menu_execute_callback): Removed; moved to menu.h.
23602 (grub_menu_get_entry): Likewise.
23603 (grub_menu_get_timeout): Likewise.
23604 (grub_menu_set_timeout): Likewise.
23605 (grub_menu_execute_entry): Likewise.
23606 (grub_menu_execute_with_fallback): Likewise.
23607 (grub_menu_entry_run): Likewise.
23608 (grub_menu_addentry): Renamed from this ...
23609 (grub_normal_add_menu_entry): ... to this.
23610
23611 * normal/main.c (grub_menu_addentry): Renamed from this ...
23612 (grub_normal_add_menu_entry): ... to this.
23613
23614 * script/sh/execute.c (grub_script_execute_menuentry): Update
23615 reference to renamed grub_menu_addentry function.
23616
23617 2009-05-23 Felix Zielcke <fzielcke@z-51.de>
23618
23619 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
23620
23621 2009-05-22 Pavel Roskin <proski@gnu.org>
23622
23623 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
23624 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
23625 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
23626 compiling for the i386 targets, but not for the utilities.
23627
23628 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
23629 to grub_uint8_t.
23630 (grub_root_drive): Likewise.
23631 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
23632 remove alignment.
23633 (grub_root_drive): Change size to byte.
23634 (grub_start_addr): Remove.
23635 (grub_end_addr): Likewise.
23636 (grub_apm_bios_info): Likewise.
23637
23638 2009-05-21 Felix Zielcke <fzielcke@z-51.de>
23639
23640 * normal/i386: Remove.
23641 * normal/powerpc: Likewise.
23642 * normal/sparc64: Likewise.
23643 * normal/x86_64: Likewise.
23644
23645 2009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
23646
23647 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
23648 * loader/i386/linux_trampoline.S: Fix indentation
23649 * loader/i386/xnu_helper.S: Likewise
23650
23651 2009-05-18 Colin D Bennett <colin@gibibit.com>
23652
23653 Display error messages when parsing a Lua statement fails.
23654 Previously, executing a syntactically invalid statement like
23655 ")foo" or "bar;" would silently fail.
23656
23657 * script/lua/grub_main.c (handle_lua_error): New function.
23658 (grub_lua_parse_line): Improved reporting of Lua parser and
23659 execution errors.
23660
23661 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
23662
23663 Remove -Werror which causes build to fail on some systems
23664
23665 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
23666 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
23667 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
23668
23669 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
23670
23671 trampoline for linux on 64-bit platform
23672
23673 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
23674 loader/i386/efi/linux_trampoline.S
23675 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
23676 declaration
23677 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
23678 here
23679 * loader/i386/linux_trampoline.S: moved here
23680 * loader/i386/efi/linux.c (allocate_pages): reserve space for
23681 trampoline
23682 (jumpvector): removed
23683 (grub_linux_trampoline_start): new declaration
23684 (grub_linux_trampoline_end): likewise
23685 (grub_linux_boot): use trampoline when on 64-bit platform
23686 * loader/i386/linux.c: likewise
23687
23688 2009-05-16 Pavel Roskin <proski@gnu.org>
23689
23690 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
23691 const to avoid a warning.
23692 (grub_lua_setenv): Likewise.
23693 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
23694 lmsg to fix a warning.
23695
23696 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
23697
23698 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
23699 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
23700 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
23701 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
23702 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
23703 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
23704 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
23705 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
23706
23707 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
23708
23709 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
23710
23711 2009-05-16 Bean <bean123ch@gmail.com>
23712
23713 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
23714 (lua_mod_SOURCES): New variable.
23715 (lua_mod_CFLAGS): Likewise.
23716 (lua_mod_LDFLAGS): Likewise.
23717
23718 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
23719 (setjmp_mod_SOURCES): New variable.
23720 (setjmp_mod_CFLAGS): Likewise.
23721 (setjmp_LDFLAGS): Likewise.
23722
23723 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
23724 (setjmp_mod_SOURCES): New variable.
23725 (setjmp_mod_CFLAGS): Likewise.
23726 (setjmp_LDFLAGS): Likewise.
23727
23728 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
23729 (setjmp_mod_SOURCES): New variable.
23730 (setjmp_mod_CFLAGS): Likewise.
23731 (setjmp_LDFLAGS): Likewise.
23732
23733 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
23734 (setjmp_mod_SOURCES): New variable.
23735 (setjmp_mod_CFLAGS): Likewise.
23736 (setjmp_LDFLAGS): Likewise.
23737
23738 * normal/i386/setjmp.S: Moved from here ...
23739 * lib/i386/setjmp.S: ... Moved here
23740 * normal/x86_64/setjmp.S: Moved from here ...
23741 * lib/x86_64/setjmp.S: ... Moved here
23742 * normal/powerpc/setjmp.S: Moved from here ...
23743 * lib/powerpc/setjmp.S: ... Moved here
23744 * normal/sparc64/setjmp.S: Moved from here ...
23745 * lib/sparc64/setjmp.S: ... Moved here
23746
23747 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
23748 returns_twice in mingw.
23749
23750 * script/lua/grub_lib.c: New file.
23751 * script/lua/grub_lib.h: Likewise.
23752 * script/lua/grub_lua.h: Likewise.
23753 * script/lua/grub_main.c: Likewise.
23754 * script/lua/lapi.c: Likewise.
23755 * script/lua/lapi.h: Likewise.
23756 * script/lua/lauxlib.c: Likewise.
23757 * script/lua/lauxlib.h: Likewise.
23758 * script/lua/lbaselib.c: Likewise.
23759 * script/lua/lcode.c: Likewise.
23760 * script/lua/lcode.h: Likewise.
23761 * script/lua/ldblib.c: Likewise.
23762 * script/lua/ldebug.c: Likewise.
23763 * script/lua/ldebug.h: Likewise.
23764 * script/lua/ldo.c: Likewise.
23765 * script/lua/ldo.h: Likewise.
23766 * script/lua/ldump.c: Likewise.
23767 * script/lua/lfunc.c: Likewise.
23768 * script/lua/lfunc.h: Likewise.
23769 * script/lua/lgc.c: Likewise.
23770 * script/lua/lgc.h: Likewise.
23771 * script/lua/linit.c: Likewise.
23772 * script/lua/liolib.c: Likewise.
23773 * script/lua/llex.c: Likewise.
23774 * script/lua/llex.h: Likewise.
23775 * script/lua/llimits.h: Likewise.
23776 * script/lua/lmathlib.c: Likewise.
23777 * script/lua/lmem.c: Likewise.
23778 * script/lua/lmem.h: Likewise.
23779 * script/lua/loadlib.c: Likewise.
23780 * script/lua/lobject.c: Likewise.
23781 * script/lua/lobject.h: Likewise.
23782 * script/lua/lopcodes.c: Likewise.
23783 * script/lua/lopcodes.h: Likewise.
23784 * script/lua/loslib.c: Likewise.
23785 * script/lua/lparser.c: Likewise.
23786 * script/lua/lparser.h: Likewise.
23787 * script/lua/lstate.c: Likewise.
23788 * script/lua/lstate.h: Likewise.
23789 * script/lua/lstring.c: Likewise.
23790 * script/lua/lstring.h: Likewise.
23791 * script/lua/lstrlib.c: Likewise.
23792 * script/lua/ltable.c: Likewise.
23793 * script/lua/ltable.h: Likewise.
23794 * script/lua/ltablib.c: Likewise.
23795 * script/lua/ltm.c: Likewise.
23796 * script/lua/ltm.h: Likewise.
23797 * script/lua/lua.h: Likewise.
23798 * script/lua/luaconf.h: Likewise.
23799 * script/lua/lualib.h: Likewise.
23800 * script/lua/lundump.c: Likewise.
23801 * script/lua/lundump.h: Likewise.
23802 * script/lua/lvm.c: Likewise.
23803 * script/lua/lvm.h: Likewise.
23804 * script/lua/lzio.c: Likewise.
23805 * script/lua/lzio.h: Likewise.
23806
23807 2009-05-16 Bean <bean123ch@gmail.com>
23808
23809 * include/grub/kernel.h (grub_module_header_types): Add type
23810 OBJ_TYPE_CONFIG.
23811
23812 * kern/main.c (grub_load_config): New function.
23813 (grub_main): Call grub_load_config to read boot config.
23814
23815 * grub-mkimage (generate_image): New parameter config_path.
23816 (options): New option --config.
23817 (main): Parse --config option, and pass it to generate_image.
23818
23819 2009-05-14 Christian Franke <franke@computer.org>
23820
23821 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
23822 This fixes build on Cygwin.
23823
23824 2009-05-14 Pavel Roskin <proski@gnu.org>
23825
23826 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
23827 jump. This saves two bytes, so the typical case of 2 swapped
23828 drives would fit 32 bytes.
23829
23830 2009-05-13 Pavel Roskin <proski@gnu.org>
23831
23832 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
23833 grub_uint32_t to avoid a warning.
23834
23835 * loader/i386/linux.c (allocate_pages): When assigning
23836 real_mode_mem, cast through grub_size_t to fix a warning. The
23837 code already makes sure that the value would fit a pointer.
23838 (grub_linux_setup_video): Cast render_target->data to
23839 grub_size_t to fix a warning.
23840
23841 2009-05-13 Javier Martín <lordhabbit@gmail.com>
23842
23843 * commands/i386/pc/drivemap.c: New file - implement drivemap
23844 command.
23845 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
23846 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
23847
23848 2009-05-13 Pavel Roskin <proski@gnu.org>
23849
23850 * util/i386/pc/grub-setup.c (setup): Remove unused variable
23851 embedding_area_exists.
23852
23853 2009-05-13 Robert Millan <rmh.grub@aybabtu.com>
23854
23855 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
23856 it easier to understand / work with.
23857 Improve warning messages for cases where there's no embedding area,
23858 or when it is too small (or core.img too large).
23859
23860 2009-05-13 Pavel Roskin <proski@gnu.org>
23861
23862 * loader/i386/pc/multiboot2.c: Add necessary includes for
23863 grub_multiboot2_real_boot().
23864
23865 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
23866 PX record is always little-endian. We only need the lower 2
23867 bytes of the mode.
23868
23869 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
23870 facilitate code reuse.
23871 (grub_cpio_mount): Use "struct head", not a char buffer. This
23872 fixes a warning reported by gcc 4.4.
23873
23874 * kernel/disk.c (grub_disk_read): Use void pointer for the
23875 buffer.
23876 (grub_disk_write): Use const void pointer for the buffer.
23877 Adjust all callers. Remove unnecessary casts.
23878
23879 2009-05-10 Robert Millan <rmh.grub@aybabtu.com>
23880
23881 * util/i386/pc/grub-install.in: Update copyright year.
23882
23883 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
23884
23885 gptsync
23886
23887 * commands/gptsync.c: new file
23888 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
23889 (gptsync_mod_SOURCES): new variable
23890 (gptsync_mod_CFLAGS): likewise
23891 (gptsync_mod_LDFLAGS): likewise
23892 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
23893 new definition
23894 (GRUB_PC_PARTITION_TYPE_HFS): likewise
23895 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
23896 * conf/i386-ieee1275.rmk: likewise
23897 * conf/i386-pc.rmk: likewise
23898 * conf/powerpc-ieee1275.rmk: likewise
23899
23900 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
23901
23902 Fixed grub-emu
23903
23904 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
23905 (grub_dl_ref): likewise
23906
23907 2009-05-08 Robert Millan <rmh.grub@aybabtu.com>
23908
23909 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
23910 split in two functions (one for msdos and one for gpt).
23911
23912 2009-05-08 Pavel Roskin <proski@gnu.org>
23913
23914 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
23915 not modified.
23916
23917 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
23918 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
23919 Initialize them with -1. Add sanity check for bad1. Eliminate
23920 nerr variable.
23921
23922 2009-05-08 David S. Miller <davem@davemloft.net>
23923
23924 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
23925
23926 2009-05-06 Robert Millan <rmh.grub@aybabtu.com>
23927
23928 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
23929 existence.
23930
23931 2009-05-05 Felix Zielcke <fzielcke@z-51.de>
23932
23933 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
23934 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
23935
23936 2009-05-05 David S. Miller <davem@davemloft.net>
23937
23938 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
23939
23940 2009-05-05 Pavel Roskin <proski@gnu.org>
23941
23942 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
23943 of grub_dl_ref() and grub_dl_unref().
23944 * commands/parttool.c: Remove preprocessor conditionals around
23945 grub_dl_ref() and grub_dl_unref().
23946 * fs/affs.c: Likewise.
23947 * fs/afs.c: Likewise.
23948 * fs/cpio.c: Likewise.
23949 * fs/ext2.c: Likewise.
23950 * fs/fat.c: Likewise.
23951 * fs/hfs.c: Likewise.
23952 * fs/hfsplus.c: Likewise.
23953 * fs/iso9660.c: Likewise.
23954 * fs/jfs.c: Likewise.
23955 * fs/minix.c: Likewise.
23956 * fs/ntfs.c: Likewise.
23957 * fs/reiserfs.c: Likewise.
23958 * fs/sfs.c: Likewise.
23959 * fs/udf.c: Likewise.
23960 * fs/ufs.c: Likewise.
23961 * fs/xfs.c: Likewise.
23962 * include/grub/dl.h: Likewise.
23963 * loader/xnu.c: Likewise.
23964
23965 2009-05-04 Pavel Roskin <proski@gnu.org>
23966
23967 * commands/acpi.c: Remove unused variable my_mod.
23968 * partmap/amiga.c: Likewise.
23969 * partmap/apple.c: Likewise.
23970 * partmap/gpt.c: Likewise.
23971 * partmap/pc.c: Likewise.
23972 * partmap/sun.c: Likewise.
23973 * term/gfxterm.c: Likewise.
23974 * term/i386/pc/vesafb.c: Likewise.
23975 * term/i386/pc/vga.c: Likewise.
23976
23977 2009-05-04 David S. Miller <davem@davemloft.net>
23978
23979 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
23980 pointer args to grub_ieee1275_get_property().
23981
23982 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
23983
23984 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
23985 devices, and do not traverse down under controller nodes.
23986
23987 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
23988 (grub_ofdisk_open): Use it to un-escape "," characters.
23989 * kern/disk.c (find_part_sep): New.
23990 (grub_disk_open): Use it to find the first non-escaped ','
23991 character in the disk name.
23992 * util/ieee1275/devicemap.c (escape_of_path): New.
23993 (grub_util_emit_devicemap_entry): Use it.
23994 * util/sparc64/ieee1275/grub-install.in: Update script to
23995 strip partition specifiers properly by not triggering on
23996 '\' escaped ',' characters.
23997
23998 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
23999
24000 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
24001 to 0x300.
24002 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
24003 resolutions.
24004 (linux_vesafb_modes): Add a lot of additional modes to the list (based
24005 on documentation from Wikipedia).
24006
24007 2009-05-04 Pavel Roskin <proski@gnu.org>
24008
24009 * disk/ata.c: Spelling fixes.
24010 * disk/raid.c: Likewise.
24011 * disk/usbms.c: Likewise.
24012 * disk/dmraid_nvidia.c: Likewise.
24013 * kern/ieee1275/openfw.c: Likewise.
24014 * kern/ieee1275/init.c: Likewise.
24015 * kern/ieee1275/cmain.c: Likewise.
24016 * boot/i386/pc/cdboot.S: Likewise.
24017 * video/readers/png.c: Likewise.
24018 * video/i386/pc/vbe.c: Likewise.
24019 * fs/udf.c: Likewise.
24020 * fs/hfs.c: Likewise.
24021 * fs/reiserfs.c: Likewise.
24022 * efiemu/runtime/efiemu.c: Likewise.
24023 * efiemu/main.c: Likewise.
24024 * efiemu/mm.c: Likewise.
24025 * include/grub/elf.h: Likewise.
24026 * include/grub/xnu.h: Likewise.
24027 * include/grub/usbdesc.h: Likewise.
24028 * include/grub/usb.h: Likewise.
24029 * include/grub/script_sh.h: Likewise.
24030 * include/grub/lib/LzmaEnc.h: Likewise.
24031 * include/grub/efiemu/efiemu.h: Likewise.
24032 * include/grub/command.h: Likewise.
24033 * normal/menu.c: Likewise.
24034 * normal/main.c: Likewise.
24035 * normal/datetime.c: Likewise.
24036 * bus/usb/uhci.c: Likewise.
24037 * mmap/i386/uppermem.c: Likewise.
24038 * mmap/mmap.c: Likewise.
24039 * commands/acpi.c: Likewise.
24040 * commands/test.c: Likewise.
24041 * partmap/apple.c: Likewise.
24042 * font/font.c: Likewise.
24043 * loader/sparc64/ieee1275/linux.c: Likewise.
24044 * loader/macho.c: Likewise.
24045 * loader/i386/bsd_trampoline.S: Likewise.
24046 * loader/i386/bsd.c: Likewise.
24047 * loader/xnu.c: Likewise.
24048 * term/i386/pc/vesafb.c: Likewise.
24049 * term/usb_keyboard.c: Likewise.
24050 * util/resolve.c: Likewise.
24051 * util/getroot.c: Likewise.
24052
24053 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
24054
24055 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
24056
24057 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
24058
24059 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
24060 build error.
24061
24062 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
24063
24064 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
24065 parameter only available on BIOS.
24066
24067 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
24068
24069 Removed wrong semicolon in declaration
24070
24071 * grub/misc.h (grub_dprintf): remove semicolon
24072
24073 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
24074
24075 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
24076 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
24077 is done by grub_cmd_linux() now).
24078 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
24079 restore video to text mode.
24080 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
24081 indicates lack of "vga=" parameter. "vga=0" is mapped to
24082 `GRUB_LINUX_VID_MODE_NORMAL'.
24083
24084 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
24085
24086 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
24087 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
24088 and `normal/script.c'. Add `kern/rescue_reader.c',
24089 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
24090 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
24091 `grub_script.tab.c'.
24092
24093 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24094 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
24095 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24096 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
24097 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24098
24099 * Makefile.in: Remove duplicated 2008 in Copyright line.
24100
24101 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
24102
24103 * util/misc.c (grub_util_warn): New function. Emits a warning
24104 unconditionally.
24105 * include/grub/util/misc.h (grub_util_warn): New declaration.
24106
24107 * util/i386/pc/grub-install.in: Understand --force and pass it down
24108 to grub-setup.
24109
24110 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
24111 down to setup().
24112 (setup): Improve error messages and add warnings when requested to
24113 install in odd layouts. Refuse to install using blocklists unless
24114 --force was set.
24115
24116 2009-05-04 martin f. krafft <madduck@madduck.net>
24117
24118 * disk/raid.c (grub_raid_scan_device): Improve debug message.
24119
24120 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
24121
24122 Updated copyright year
24123
24124 * fs/hfsplus.c: updated copyright year
24125
24126 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
24127
24128 HFS+ UUID
24129
24130 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
24131 in the space previously used by unused3
24132 (grub_hfsplus_uuid): new function
24133 (grub_hfsplus_fs): added uuid field
24134
24135 2009-05-03 Pavel Roskin <proski@gnu.org>
24136
24137 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
24138 suppress warnings. It's no longer needed.
24139 * disk/host.c: Likewise.
24140 * disk/ata_pthru.c: Likewise.
24141 * disk/loopback.c: Likewise.
24142 * hook/datehook.c: Likewise.
24143 * parttool/pcpart.c: Likewise.
24144 * fs/i386/pc/pxe.c: Likewise.
24145 * fs/ntfscomp.c: Likewise.
24146 * efiemu/main.c: Likewise.
24147 * mmap/mmap.c: Likewise.
24148 * commands/crc.c: Likewise.
24149 * commands/hexdump.c: Likewise.
24150 * commands/hdparm.c: Likewise.
24151 * commands/acpi.c: Likewise.
24152 * commands/echo.c: Likewise.
24153 * commands/minicmd.c: Likewise.
24154 * commands/blocklist.c: Likewise.
24155 * commands/memrw.c: Likewise.
24156 * commands/loadenv.c: Likewise.
24157 * commands/usbtest.c: Likewise.
24158 * commands/lsmmap.c: Likewise.
24159 * commands/boot.c: Likewise.
24160 * commands/parttool.c: Likewise.
24161 * commands/configfile.c: Likewise.
24162 * commands/search.c: Likewise.
24163 * commands/ieee1275/suspend.c: Likewise.
24164 * commands/cat.c: Likewise.
24165 * commands/i386/pc/pxecmd.c: Likewise.
24166 * commands/i386/pc/play.c: Likewise.
24167 * commands/i386/pc/halt.c: Likewise.
24168 * commands/i386/pc/vbeinfo.c: Likewise.
24169 * commands/i386/pc/vbetest.c: Likewise.
24170 * commands/lspci.c: Likewise.
24171 * commands/date.c: Likewise.
24172 * commands/handler.c: Likewise.
24173 * commands/ls.c: Likewise.
24174 * commands/test.c: Likewise.
24175 * commands/cmp.c: Likewise.
24176 * commands/efi/loadbios.c: Likewise.
24177 * commands/efi/fixvideo.c: Likewise.
24178 * commands/halt.c: Likewise.
24179 * commands/help.c: Likewise.
24180 * commands/reboot.c: Likewise.
24181 * hello/hello.c: Likewise.
24182 * script/sh/main.c: Likewise.
24183 * loader/xnu.c: Likewise.
24184 * term/terminfo.c: Likewise.
24185 * term/i386/pc/serial.c: Likewise.
24186 * term/usb_keyboard.c: Likewise.
24187
24188 2009-05-03 David S. Miller <davem@davemloft.net>
24189
24190 * normal/menu.c: Include grub/parser.h
24191
24192 2009-05-03 Pavel Roskin <proski@gnu.org>
24193
24194 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
24195 not char*.
24196 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
24197 Suggested by Javier Martín <lordhabbit@gmail.com>
24198
24199 * util/i386/pc/grub-mkrescue.in: Allow for the case when
24200 efiemu??.o doesn't exist.
24201 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
24202 copying.
24203
24204 2009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
24205
24206 FreeBSD 64-bit support
24207
24208 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
24209 and loader/i386/bsd_trampoline.S
24210 (bsd_mod_ASFLAGS): new variable
24211 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
24212 (FREEBSD_MODTYPE_KERNEL64): likewise
24213 (grub_bsd64_trampoline_start): likewise
24214 (grub_bsd64_trampoline_end): likewise
24215 (grub_bsd64_trampoline_selfjump): likewise
24216 (grub_bsd64_trampoline_gdt): likewise
24217 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
24218 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
24219 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
24220 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
24221 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
24222 of "attrib" member
24223 * loader/i386/bsd_pagetable.c: new file
24224 * loader/i386/bsd_trampoline.S: likewise
24225 * loader/i386/bsd.c (ALIGN_QWORD): new macro
24226 (ALIGN_VAR): likewise
24227 (entry_hi): new variable
24228 (kern_end_mdofs): likewise
24229 (is_64bit): likewise
24230 (grub_freebsd_add_meta): use ALIGN_VAR
24231 (grub_e820_mmap): new declaration
24232 (grub_freebsd_add_mmap): new function
24233 (grub_freebsd_add_meta_module): support 64 bit kernels
24234 (grub_freebsd_list_modules): use ALIGN_VAR
24235 (gdt_descriptor): new declaration
24236 (grub_freebsd_boot): support 64 bit kernels
24237 (grub_bsd_elf64_hook): new function
24238 (grub_bsd_load_elf): support elf64
24239
24240 2009-05-03 Bean <bean123ch@gmail.com>
24241
24242 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
24243 after we get the result of if statement.
24244
24245 2009-05-03 Bean <bean123ch@gmail.com>
24246
24247 * Makefile.in (enable_efiemu): New variable.
24248
24249 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
24250 set.
24251 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
24252 path.
24253 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
24254 path, add -mno-red-zone option.
24255 (efiemu64_s.o): Likewise.
24256 (efiemu64.o): Use macro $^ for source file.
24257
24258 * configure.ac (--enable-efiemu): New option.
24259
24260 2009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
24261
24262 xnu support
24263
24264 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
24265 (pkglib_MODULES): add xnu.mod
24266 (xnu_mod_SOURCES): new variable
24267 (xnu_mod_CFLAGS): likewise
24268 (xnu_mod_LDFLAGS): likewise
24269 (xnu_mod_ASFLAGS): likewise
24270 * conf/i386-pc.rmk: likewise
24271 * conf/x86_64-efi.rmk: likewise
24272 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
24273 new declaration
24274 * include/grub/i386/macho.h: new file
24275 * include/grub/i386/xnu.h: likewise
24276 * include/grub/macho.h: likewise
24277 * include/grub/machoload.h: likewise
24278 * include/grub/x86_64/macho.h: likewise
24279 * include/grub/x86_64/xnu.h: likewise
24280 * include/grub/xnu.h: likewise
24281 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
24282 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
24283 * loader/i386/efi/xnu.c: new file
24284 * loader/i386/pc/xnu.c: likewise
24285 * loader/i386/xnu.c: likewise
24286 * loader/i386/xnu_helper.S: likewise
24287 * loader/macho.c: likewise
24288 * loader/xnu.c: likewise
24289 * loader/xnu_resume.c: likewise
24290 * util/grub-dumpdevtree: likewise
24291 * include/grub/i386/pit.h: include grub/err.h
24292 (grub_pit_wait): export
24293 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
24294
24295 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
24296
24297 Efiemu
24298
24299 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
24300 _linux_efi, linux_efi.
24301 new files in grub-emu
24302 new targets efiemu32.o and efiemu64.o
24303 * loader/linux_normal_efiemu.c: likewise
24304 * loader/i386/efi/linux.c: added preliminary efiemu support
24305 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
24306 files to copy
24307 * include/grub/autoefi.h: new file
24308 * include/grub/i386/efiemu.h: likewise
24309 * include/grub/i386/pc/efiemu.h: likewise
24310 * include/grub/efi/api.h: add LL suffix when necessary
24311 new definitions relating to tables
24312 * include/grub/efiemu/efiemu.h: new file
24313 * include/grub/efiemu/runtime.h: likewise
24314 * efiemu/prepare.c: likewise
24315 * efiemu/loadcore_common.c: likewise
24316 * efiemu/loadcore64.c: likewise
24317 * efiemu/runtime/efiemu.sh: likewise
24318 * efiemu/runtime/efiemu.S: likewise
24319 * efiemu/runtime/efiemu.c: likewise
24320 * efiemu/runtime/config.h: likewise
24321 * efiemu/prepare32.c: likewise
24322 * efiemu/main.c: likewise
24323 * efiemu/modules/pnvram.c: likewise
24324 * efiemu/modules/i386: likewise
24325 * efiemu/modules/i386/pc: likewise
24326 * efiemu/modules/acpi.c: likewise
24327 * efiemu/i386/pc/cfgtables.c: likewise
24328 * efiemu/i386/loadcore64.c: likewise
24329 * efiemu/i386/loadcore32.c: likewise
24330 * efiemu/prepare64.c: likewise
24331 * efiemu/loadcore.c: likewise
24332 * efiemu/symbols.c: likewise
24333 * efiemu/mm.c: likewise
24334 * efiemu/loadcore32.c: likewise
24335
24336 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
24337
24338 ACPI spoofing
24339
24340 * commands/acpi.c: new file
24341 * commands/i386/pc/acpi.c: likewise
24342 * commands/efi/acpi.c: likewise
24343 * include/grub/acpi.h: likewise
24344 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
24345 (acpi_mod_SOURCES): new variable
24346 (acpi_mod_CFLAGS): likewise
24347 (acpi_mod_LDFLAGS): likewise
24348 * conf/i386-efi.rmk: likewise
24349 * conf/x86_64-efi.rmk: likewise
24350
24351 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
24352
24353 Missing part from mmap patch
24354
24355 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
24356 (grub_mmap_unregister)
24357 (grub_mmap_free_and_unregister): use grub_mmap_register
24358
24359 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
24360
24361 Mmap services
24362
24363 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
24364 * loader/i386/linux.c (find_mmap_size): likewise
24365 (allocate_pages): likewise
24366 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
24367 (grub_fill_multiboot_mmap): likewise
24368 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
24369 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
24370 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
24371 (OPENBSD_MMAP_RESERVED): likewise
24372 * include/grub/i386/pc/memory.h: include grub/memory.h
24373 (grub_lower_mem): removed
24374 (grub_upper_mem): likewise
24375 (GRUB_MACHINE_MEMORY_ACPI): new definition
24376 (GRUB_MACHINE_MEMORY_NVS): likewise
24377 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
24378 (GRUB_MACHINE_MEMORY_HOLE): likewise
24379 (grub_machine_mmap_register): likewise
24380 (grub_machine_mmap_unregister): likewise
24381 (grub_machine_get_upper): likewise
24382 (grub_machine_get_lower): likewise
24383 (grub_machine_get_post64): likewise
24384 * include/grub/i386/efi/memory.h: new file
24385 * include/grub/x86_64/efi/memory.h: likewise
24386 * include/grub/efi/memory.h: likewise
24387 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
24388 (mmap_mod_SOURCES): new variable
24389 (mmap_mod_LDFLAGS): likewise
24390 (mmap_mod_ASFLAGS): likewise
24391 * conf/i386-coreboot.rmk: likewise
24392 * conf/i386-ieee1275.rmk: likewise
24393 * conf/i386-efi.rmk: likewise
24394 * conf/x86_64-efi.rmk: likewise
24395 * include/grub/types.h (UINT_TO_PTR): new macro
24396 (PTR_TO_UINT32): likewise
24397 (PTR_TO_UINT64): likewise
24398 * include/grub/memory.h: new file
24399 * mmap/i386/pc/mmap.c: likewise
24400 * mmap/i386/pc/mmap_helper.S: likewise
24401 * mmap/i386/uppermem.c: likewise
24402 * mmap/mmap.c: likewise
24403 * mmap/efi/mmap.c: likewise
24404 * kern/i386/coreboot/init.c (grub_machine_init): don't use
24405 grub_upper_mem
24406 * kern/i386/pc/init.c (grub_lower_mem): removed variable
24407 (grub_upper_mem): likewise
24408 (grub_machine_init): don't use grub_upper_mem,
24409 make grub_lower_mem local
24410 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
24411 grub_mmap_iterate and grub_mmap_get_upper
24412 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
24413
24414 2009-05-02 Bean <bean123ch@gmail.com>
24415
24416 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
24417 script/sh/parser.y.
24418 (pkglib_MODULES): Add normal.mod and sh.mod.
24419 (normal_SOURCES): New variable.
24420 (normal_mod_CFLAGS): Likewise.
24421 (normal_mod_LDFLAGS): Likewise.
24422 (sh_mod_SOURCES): Likewise.
24423 (sh_mod_CFLAGS): Likewise.
24424 (sh_mod_LDFLAGS): Likewise.
24425
24426 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
24427 script/sh/lexer.c_DEPENDENCIES.
24428 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
24429 kern/rescue_reader.c and kern/rescue_parser.c.
24430 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
24431 (grub_emu_SOURCES): Change source files.
24432 (pkglib_MODULES): Remove normal.mod.
24433 (normal_SOURCES): Removed.
24434 (normal_mod_CFLAGS): Likewise.
24435 (normal_mod_LDFLAGS): Likewise.
24436 * conf/i386-coreboot.rmk: Likewise.
24437 * conf/i386-efi.rmk: Likewise.
24438 * conf/i386-ieee1276.rmk: Likewise.
24439 * conf/powerpc-ieee1275.rmk: Likewise.
24440 * conf/sparc64-ieee1275.rmk: Likewise.
24441 * conf/x86_64-efi.rmk: Likewise.
24442
24443 * include/grub/command.h (grub_command_execute): New inline function.
24444
24445 * include/grub/menu.h (grub_menu_entry): Removed commands field.
24446
24447 * include/grub/normal.h: Remove <grub/setjmp.h>.
24448 (grub_fs_module_list): Moved to normal/autofs.c.
24449 (grub_exit_env): Removed.
24450 (grub_command_execute): Likewise.
24451 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
24452 parameter script.
24453 (read_command_list): New function declaration.
24454 (read_fs_list): Likewise.
24455
24456 * include/parser.h: Include <grub/reader.h>.
24457 (grub_parser_split_cmdline): Change type of getline parameter.
24458 (grub_parser): New structure.
24459 (grub_parser_class): New variable.
24460 (grub_parser_execute): New function declaration.
24461 (grub_register_rescue_parser): Likewise.
24462 (grub_parser_register): New inline function.
24463 (grub_parser_unregister): Likewise.
24464 (grub_parser_get_current): Likewise.
24465 (grub_parser_set_current): Likewise.
24466
24467 * include/grub/reader.h: New file.
24468 * kern/reader.c: Likewise.
24469 * kern/rescue_parser.c: Likewise.
24470 * kern/rescue_reader.c: Likewise.
24471 * normal/autofs.c: Likewise.
24472 * normal/dyncmd.c: Likewise.
24473
24474 * include/grub/rescue.h: Removed.
24475 * normal/command.h: Likewise.
24476
24477 * include/grub/script.h: Moved to ...
24478 * include/grub/script_sh.h: ... Moved here.
24479 * normal/execute.c: Moved to ...
24480 * script/sh/execute.c: ... Moved here.
24481 * normal/function.c: Moved to ...
24482 * script/sh/function.c: ... Moved here.
24483 * normal/lexer.c: Moved to ...
24484 * script/sh/lexer.c: ... Moved here.
24485 * normal/parser.y: Moved to ...
24486 * script/sh/parser.y: ... Moved here.
24487 * normal/script.c: Moved to ...
24488 * script/sh/script.c: ... Moved here.
24489
24490 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
24491 <grub/reader.h>.
24492 (grub_exit_env): Removed.
24493 (fs_module_list): Moved to normal/autofs.c.
24494 (grub_file_getline): Don't handle comment here.
24495 (free_menu): Skip removed field entry->commands.
24496 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
24497 script parameter.
24498 (read_config_file): Removed nested parameter, change getline function.
24499 (grub_enter_normal_mode): Removed.
24500 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
24501 (read_command_list): Likewise.
24502 (autoload_fs_module): Moved to normal/autofs.c.
24503 (read_fs_list): Likewise.
24504 (reader_nested): New variable.
24505 (grub_normal_execute): Run parser.sh to switch to sh parser.
24506 (grub_cmd_rescue): Removed.
24507 (cmd_normal): Removed.
24508 (grub_cmd_normal): Unregister itself at the beginning. Don't register
24509 rescue command.
24510 (grub_cmdline_run): New function.
24511 (grub_normal_reader_init): Likewise.
24512 (grub_normal_read_line): Likewise.
24513 (grub_env_write_pager): Likewise.
24514 (cmdline): New variable.
24515 (grub_normal_reader): Likewise.
24516 (GRUB_MOD_INIT): Register normal reader and set as current, register
24517 pager hook, register normal command with grub_register_command_prio,
24518 so that it won't show up in command.lst.
24519 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
24520 grub_fs_autoload_hook.
24521
24522 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
24523 (grub_menu_execute_entry): Replace grub_script_execute with
24524 grub_parser_execute, change parameter to grub_command_execute.
24525
24526 * normal/menu_text.c: Remove <grub/script.h>.
24527
24528 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
24529 and <grub/parser.h>.
24530 (run): Change editor_getline to use new parser interface. Change
24531 parameter to grub_command_execute.
24532
24533 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
24534 <grub/reader.h> and <grub/parser.h>.
24535 (grub_load_normal_mode): Execute normal command.
24536 (grub_main): Call grub_register_core_commands,
24537 grub_register_rescue_parser and grub_register_rescue_reader, use
24538 grub_reader_loop to enter input loop.
24539
24540 * kern/parser.c (grub_parser_split_cmdline): Change type of
24541 getline parameter.
24542 (grub_parser_class): New variable.
24543 (grub_parser_execute): New function.
24544
24545 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
24546 * loader/multiboot2.c: Likewise.
24547 * loader/sparc64/ieee1275/linux.c: Likewise.
24548
24549 * util/grub-emu.c (read_command_list): New dummy function.
24550
24551 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
24552
24553 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
24554 count to 16 for CCISS and IDA.
24555
24556 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
24557
24558 * normal/menu_text.c (grub_wait_after_message): Print a newline
24559 after waiting for user input.
24560
24561 * loader/i386/linux.c: Include `<grub/normal.h>'.
24562 (grub_cmd_linux): Improve the error message about `ask' mode, by
24563 waiting for user input so it's not missed (we can do this, since
24564 user requested interaction).
24565
24566 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
24567
24568 Added missing lst to grub-mkrescue
24569
24570 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
24571 and ${input_dir}/parttool.lst
24572
24573 2009-04-30 David S. Miller <davem@davemloft.net>
24574
24575 * util/hostdisk.c (device_is_wholedisk): New function.
24576 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
24577 zero only if device_is_wholedisk() returns true.
24578
24579 * util/hostdisk.c (convert_system_partition_to_system_disk):
24580 Handle virtual disk devices named /dev/vdiskX as found on sparc
24581 and powerpc.
24582
24583 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
24584 lettered partition specifier is found, convert to numbered.
24585
24586 2009-04-29 David S. Miller <davem@davemloft.net>
24587
24588 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
24589 * include/grub/sparc64/ieee1275/memory.h: Likewise.
24590
24591 * normal/command.c: Add missing newline at end of file.
24592
24593 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
24594 warnings.
24595 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
24596 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
24597 grub_ofdisk_read): Likewise, and deal similarly with the fact that
24598 ihandles have a 32-bit type but need to be stored in a "void *".
24599
24600 2009-04-28 Pavel Roskin <proski@gnu.org>
24601
24602 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
24603 not disk. Adjust all dependencies.
24604 (grub_fs_uuid_close): Use grub_device_close(), not
24605 grub_disk_close().
24606
24607 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
24608 parent's partition, don't copy it by reference, as it gets freed
24609 on close.
24610
24611 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
24612
24613 Preboot hooks support
24614
24615 * commands/boot.c (struct grub_preboot_t): new declaration
24616 (preboots_head): new variable
24617 (preboots_tail): likewise
24618 (grub_loader_register_preboot_hook): new function
24619 (grub_loader_unregister_preboot_hook): likewise
24620 (grub_loader_set): launch preboot hooks
24621 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
24622 (grub_loader_register_preboot_hook): new declaration
24623 (grub_loader_unregister_preboot_hook): likewise
24624
24625 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
24626
24627 Warning fix
24628
24629 * disk/scsi.c (grub_scsi_open): added missing cast when
24630 calling grub_dprintf
24631
24632 2009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
24633
24634 Bug and warning fixes
24635
24636 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
24637 declaration
24638 * commands/test.c (test_parse): fixed bug with file tests and corrected
24639 declaration of find_file
24640
24641 2009-04-26 Pavel Roskin <proski@gnu.org>
24642
24643 * Makefile.in: Don't install empty manual pages if help2man is
24644 missing. Use help2man option for output, not shell redirection.
24645
24646 2009-04-26 David S. Miller <davem@davemloft.net>
24647
24648 * util/grub-mkdevicemap.c (make_device_map): Add missing
24649 NESTED_FUNC_ATTR to process_device().
24650
24651 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
24652
24653 Test command
24654
24655 * commands/test.c: rewritten to use bash-like test
24656
24657 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
24658
24659 Parttool autoloading and improvements
24660
24661 * Makefile.in (pkglib_DATA): add parttool.lst
24662 (parttool.lst): new target
24663 * genmk.rb: generate parttool-*
24664 (CLEANFILES): add #{parttool}
24665 (PARTTOOLFILES): new variable
24666 * genparttoollist.sh: new file
24667 * parttool/pcpart.c (grub_pcpart_boot): more feedback
24668 (grub_pcpart_type): likewise
24669 * commands/parttool.c (helpmsg): new variable
24670 (grub_cmd_parttool): output help if not enough arguments are supplied
24671 autoload modules
24672 (GRUB_MOD_INIT(parttool)): use helpmsg
24673
24674 2009-04-24 David S. Miller <davem@davemloft.net>
24675
24676 Avoiding opening same device multiple times in device iterator.
24677
24678 * kern/device.c: (grub_device_iterate): Define struct part_ent,
24679 and use it to build a list of partitions in iterate_disk() and
24680 iterate_partition().
24681
24682 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
24683 on disk->data.
24684
24685 * disk/ieee1275/nand.c (grub_nand_iterate): Return
24686 grub_devalias_iterate() result instead of unconditional 0.
24687 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
24688 Also, capture hook return value, either directly or via
24689 grub_children_iterate(), and propagate to caller.
24690 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
24691 grub_children_iterate): Return value is now 'int' instead of
24692 'grub_err_t'.
24693 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
24694 like a proper iterator, stopping when hooks return non-zero.
24695 (grub_devalias_iterate): Likewise.
24696
24697 2009-04-23 David S. Miller <davem@davemloft.net>
24698
24699 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
24700
24701 2009-04-22 David S. Miller <davem@davemloft.net>
24702
24703 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
24704 is larger than address_cells, use that value for address_cells too.
24705
24706 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
24707 IEEE1275_MAX_PATH_LEN): Define.
24708 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
24709 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
24710 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
24711 'devtype'. Explicitly NULL terminate devalias expansion.
24712
24713 * util/sparc64/ieee1275/misc.c: New file.
24714 * util/sparc64/ieee1275/grub-setup.c: New file.
24715 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
24716 * util/sparc64/ieee1275/grub-mkimage.c: New file.
24717 * util/sparc64/ieee1275/grub-install.in: New file.
24718 * util/ieee1275/ofpath.c: New file.
24719 * util/ieee1275/devicemap.c: New file.
24720 * util/devicemap.c: New file.
24721 * util/deviceiter.c: New file.
24722 * kern/sparc64/ieee1275/init.c: New file.
24723 * include/grub/util/ofpath.h: New file.
24724 * include/grub/util/deviceiter.h: New file.
24725 * util/grub-mkdevicemap.c: Include deviceiter.h.
24726 Implement using grub_util_emit_devicemap_entry and
24727 grub_util_iterate_devices.
24728 * conf/i386-corebook.rmk: Build util/deviceiter.c and
24729 util/devicemap.c into grub-mkdevicemap
24730 * conf/i386-efi.rmk: Likewise.
24731 * conf/i386-ieee1275.rmk: Likewise.
24732 * conf/i386-pc.rmk: Likewise.
24733 * conf/powerpc-ieee1275.rmk: Likewise.
24734 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
24735 images and installation utilities. Build kernel as image
24736 instead of as elf binary. Use common rules as much as possible.
24737
24738 2009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
24739
24740 Correct GPT definition
24741
24742 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
24743 of "attrib" member
24744
24745 2009-04-19 Felix Zielcke <fzielcke@z-51.de>
24746
24747 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
24748
24749 2009-04-19 David S. Miller <davem@davemloft.net>
24750
24751 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
24752 (grub_rescue_cmd_linux): Rename to...
24753 (grub_cmd_linux): and fix prototype.
24754 (grub_rescue_cmd_initrd): Rename to...
24755 (grub_cmd_initrd): and fix prototype.
24756 (cmd_linux, cmd_initrd): New.
24757 (GRUB_MOD_INIT(linux)): Use grub_register_command().
24758 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
24759
24760 2009-04-17 Pavel Roskin <proski@gnu.org>
24761
24762 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
24763 format.
24764 (grub_ohci_transfer): Likewise.
24765
24766 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
24767
24768 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
24769 return without a value. Fix inconsistent indentation.
24770
24771 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
24772 match struct grub_fs.
24773
24774 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
24775 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
24776 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
24777 * commands/lspci.c (grub_lspci_iter): Likewise.
24778
24779 2009-04-16 Bean <bean123ch@gmail.com>
24780
24781 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
24782 value.
24783
24784 2009-04-15 Pavel Roskin <proski@gnu.org>
24785
24786 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
24787 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
24788 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
24789 definitions.
24790
24791 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
24792
24793 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
24794 that no multiple data or metadata areas are supported and `Unknown
24795 metadata header'.
24796
24797 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
24798
24799 Move loader out of the kernel
24800
24801 * kern/loader.c: moved to ...
24802 * commands/boot.c: ... moved here
24803 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
24804 * commands/boot.c (grub_cmd_boot): moved here. All users updated
24805 * include/grub/kernel.h (grub_machine_fini): export
24806 * include/grub/loader.h (grub_loader_is_loaded): update declaration
24807 (grub_loader_set): likewise
24808 (grub_loader_unset): likewise
24809 (grub_loader_boot): likewise
24810 * conf/common.rmk: new module boot.mod
24811 (pkglib_MODULES): add boot.mod
24812 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
24813 (grub_emu_SOURCES): likewise
24814 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
24815 (grub_emu_SOURCES): likewise
24816 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
24817 (grub_emu_SOURCES): likewise
24818 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
24819 (grub_emu_SOURCES): likewise
24820 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
24821 (grub_emu_SOURCES): likewise
24822 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
24823 (grub_emu_SOURCES): likewise
24824 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
24825 (grub_emu_SOURCES): likewise
24826
24827 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
24828
24829 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
24830
24831 * kern/misc.c (grub_itoa): Removed function
24832 (grub_ltoa): likewise
24833 (grub_vsprintf): use grub_lltoa
24834
24835 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
24836
24837 Restore grub-emu
24838
24839 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
24840 * conf/i386-coreboot.rmk: likewise
24841 * conf/i386-ieee1275.rmk: likewise
24842 * conf/powerpc-ieee1275.rmk: likewise
24843
24844 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
24845
24846 * INSTALL: Add that `./autogen.sh' needs to be run before
24847 `./configure.'.
24848
24849 2009-04-14 Bean <bean123ch@gmail.com>
24850
24851 * Makefile.in (pkglib_DATA): Add handler.lst.
24852 (handler.lst): New rule.
24853
24854 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
24855 * conf/i386-coreboot.rmk: Likewise.
24856 * conf/i386-ieee1275.rmk: Likewise.
24857 * conf/i386-efi.rmk: Likewise.
24858 * conf/x86_64-efi.rmk: Likewise.
24859 * conf/powerpc-ieee1275.rmk: Likewise.
24860 * conf/sparc64-ieee1275.rmk: Likewise.
24861
24862 * genhandlerlist.sh: New file.
24863
24864 * genmk.rb: Add rules to generate handler.lst.
24865
24866 * include/grub/normal.h (grub_file_getline): New function definition.
24867 (read_handler_list): Likewise.
24868 (free_handler_list): Likewise.
24869
24870 * include/grub/term.h (grub_term_register_input): Add name parameter
24871 for auto generation of handler.lst.
24872 (grub_term_register_output): Likewise.
24873
24874 * normal/handler.c: New file.
24875
24876 * normal/main.c (get_line): Renamed to grub_file_getline.
24877 (read_config_file): Use the newly renamed grub_file_getline.
24878 (read_command_list): Likewise.
24879 (read_fs_list): Likewise.
24880 (grub_normal_execute): Call read_handler_list to parse handler.lst.
24881 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
24882
24883 * term/efi/console.c (grub_console_init): Add name parameter for auto
24884 generation of handler.lst.
24885 * term/gfxterm.c: Likewise.
24886 * term/i386/pc/at_keyboard.c: Likewise.
24887 * term/i386/pc/console.c: Likewise.
24888 * term/i386/pc/serial.c: Likewise.
24889 * term/i386/pc/vesafb.c: Likewise.
24890 * term/i386/pc/vga.c: Likewise.
24891 * term/i386/pc/vga_text.c: Likewise.
24892 * term/ieee1275/ofconsole.c: Likewise.
24893 * term/usb_keyboard.c: Likewise.
24894
24895 2009-04-14 Bean <bean123ch@gmail.com>
24896
24897 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
24898 properly with null character.
24899
24900 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
24901
24902 * configure: Remove.
24903 * config.h.in: Likewise.
24904 * stamp-h.in: Likewise.
24905 * DISTLIST: Likewise.
24906 * conf/common.mk: Likewise.
24907 * conf/i386-coreboot.mk: Likewise.
24908 * conf/i386-efi.mk: Likewise.
24909 * conf/i386-ieee1275.mk: Likewise.
24910 * conf/i386.mk: Likewise.
24911 * conf/i386-pc.mk: Likewise.
24912 * conf/powerpc-ieee1275.mk: Likewise.
24913 * conf/sparc64-ieee1275.mk: Likewise.
24914 * conf/x86_64-efi.mk: Likewise.
24915
24916 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
24917 develop on GRUB.
24918
24919 2009-04-14 John Stanley <jpsinthemix@verizon.net>
24920 David S. Miller <davem@davemloft.net>
24921
24922 * util/hostdisk.c (make_device_name): Fix buffer length
24923 calculations.
24924
24925 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
24926
24927 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
24928 <sys/param.h> and <sys/sysctl.h>.
24929 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
24930 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
24931 opening the device and reset them afterwards.
24932
24933 2009-04-13 Pavel Roskin <proski@gnu.org>
24934
24935 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
24936 Reported by John Stanley <jpsinthemix@verizon.net>
24937
24938 2009-04-13 Robert Millan <rmh@aybabtu.com>
24939
24940 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
24941 that name for menuentries when appropriate.
24942
24943 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
24944
24945 * util/grub.d/10_freebsd.in: Add a missing `fi'.
24946
24947 2009-04-13 Robert Millan <rmh@aybabtu.com>
24948
24949 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
24950 to Linux, simply abort telling the user it's no longer supported.
24951
24952 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
24953
24954 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
24955 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
24956 `freebsd_loadenv' only when devices.hints exist.
24957
24958 2009-04-13 Pavel Roskin <proski@gnu.org>
24959
24960 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
24961
24962 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
24963
24964 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
24965 partition number.
24966 (grub_drive): Likewise.
24967
24968 2009-04-13 David S. Miller <davem@davemloft.net>
24969
24970 * kern/sparc64/ieee1275/ieee1275.c: New file.
24971 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
24972 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
24973 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
24974 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
24975 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
24976 grub_ieee1275_alloc_physmem): Declare new exported functions.
24977
24978 * include/grub/sparc64/ieee1275/loader.h: New file.
24979 * include/grub/sparc64/ieee1275/memory.h: Likewise.
24980 * include/grub/sparc64/kernel.h: Likewise.
24981 * loader/sparc64/ieee1275/linux.c: Likewise.
24982
24983 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
24984 (grub_fstest_SOURCES): Likewise.
24985
24986 * util/hostdisk.c (make_device_name): Do not make any assumptions
24987 about the length of drive names.
24988
24989 * kern/dl.c (grub_dl_load_file): Close file immediately when
24990 we are done using it.
24991
24992 2009-04-12 David S. Miller <davem@davemloft.net>
24993
24994 * kern/misc.c (grub_ltoa): Fix cast when handling negative
24995 values. Noticed by Pavel Roskin.
24996
24997 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
24998 target compiler.
24999
25000 * genmk.rb: Add more flexible image type specification, also
25001 pass --strip-unneeded to objcopy.
25002 * conf/i386-pc.rmk: Use *_FORMAT.
25003 * conf/i386-pc.mk: Rebuilt.
25004
25005 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
25006 (OFDISK_HASH_SZ): Define.
25007 (ofdisk_hash): New hash table.
25008 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
25009 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
25010 instead of device phandle which is not unique.
25011
25012 * kern/sparc64/ieee1275/init.c: Delete, replace with...
25013 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
25014 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
25015 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
25016 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
25017 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
25018 GRUB_KERNEL_MACHINE_DATA_END): Define.
25019 (grub_kernel_image_size, grub_total_module_size): Declare.
25020
25021 2009-04-12 Pavel Roskin <proski@gnu.org>
25022
25023 * configure.ac: Change the logic when we check for target tools.
25024 Do it when the target is specified and it's different from the
25025 specified value of the host.
25026
25027 2009-04-11 Felix Zielcke <fzielcke@z-51.de>
25028
25029 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
25030 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
25031 GNU/kFreeBSD. Check if a device is a character device. Use
25032 DIOCGMEDIASIZE to get the size.
25033 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
25034 support for GNU/kFreeBSD.
25035 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
25036 is a character device instead of a block device. Add support for
25037 FreeBSD device names.
25038
25039 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
25040 is a character device instead of a block device.
25041
25042 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
25043 is a character device instead of a block device.
25044
25045 2009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
25046
25047 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
25048 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
25049 FreeBSD. Check if a device is a character device. Use
25050 DIOCGMEDIASIZE to get the size.
25051 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
25052 support for FreeBSD.
25053 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
25054 is a character device instead of a block device. Add support for
25055 FreeBSD device names.
25056
25057 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
25058 a character device instead of a block device.
25059 (grub_util_check_char_device): New function.
25060
25061 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
25062 a character device instead of a block device.
25063
25064 * include/grub/util/getroot.h (grub_util_check_char_device): New
25065 prototype.
25066
25067 2009-04-11 David S. Miller <davem@davemloft.net>
25068
25069 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
25070 static libgcc.
25071 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
25072 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
25073 function, if present.
25074 (__bswapdi2): Likewise.
25075
25076 * include/grub/sparc64/ieee1275/boot.h: New file.
25077 * boot/sparc64/ieee1275/boot.S: Likewise.
25078 * boot/sparc64/ieee1275/diskboot.S: Likewise.
25079
25080 * kern/misc.c (grub_ltoa): New function.
25081 (grub_vsprintf): Use it to format 'long' integers.
25082
25083 2009-04-10 David S. Miller <davem@davemloft.net>
25084
25085 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
25086 slots are of type grub_ieee1275_cell_t.
25087 (grub_nand_read): Likewise.
25088 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
25089 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
25090 macros are used to compare values in arg/ret block of the call.
25091 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
25092 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
25093 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
25094 grub_ieee1275_instance_to_path, grub_ieee1275_write,
25095 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
25096 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
25097 grub_ieee1275_close, grub_ieee1275_set_property,
25098 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
25099 grub_ieee1275_cell_t.
25100 * kern/ieee1275/openfw.c (grub_map): Likewise.
25101 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
25102 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
25103
25104 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
25105 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
25106 (grub_devalias_iterate): Likewise.
25107
25108 2009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
25109
25110 UFS improvements
25111
25112 * fs/ufs.c (INODE_NBLOCKS): new definition
25113 (struct grub_ufs_dirent): added fields for non-BSD dirents
25114 (grub_ufs_get_file_block): fixed double indirect handling
25115 (grub_ufs_lookup_symlink): use more robust way to determine whether
25116 symlink is inline
25117 (grub_ufs_find_file): support for non-BSD dirents
25118 (grub_ufs_dir): support for non-BSD dirents
25119
25120 2009-04-10 Bean <bean123ch@gnail.com>
25121
25122 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
25123 attribute, otherwise the size would be wrong for i386 platform.
25124
25125 * include/grub/pci.h (grub_pci_read_word): New inline function.
25126 (grub_pci_read_byte): Likewise.
25127 (grub_pci_write): Likewise.
25128 (grub_pci_write_word): Likewise.
25129 (grub_pci_write_byte): Likewise.
25130
25131 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
25132
25133 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
25134 (find_framebuf): Scan pci to locate the frame buffer address.
25135
25136 * commands/efi/fixvideo.c: New file.
25137
25138 * commands/efi/loadbios.c: Likewise.
25139
25140 * commands/memrw.c: Likewise.
25141
25142 * util/grub-dumpbios.in: Likewise.
25143
25144 * conf/common.rmk (grub-dumpbios): New utility.
25145 (pkglib_MODULES): New module memrw.mod.
25146 (memrw_mod_SOURCE): New macro.
25147 (memrw_mod_CFLAGS): Likewise.
25148 (memrw_mod_LDFLAGS): Likewise.
25149
25150 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
25151 fixvideo.mod.
25152 (loadbios_mod_SOURCE): New macro.
25153 (loadbios_mod_CFLAGS): Likewise.
25154 (loadbios_mod_LDFLAGS): Likewise.
25155 (fixvideo_mod_SOURCE): Likewise.
25156 (fixvideo_mod_CFLAGS): Likewise.
25157 (fixvideo_mod_LDFLAGS): Likewise.
25158
25159 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
25160 fixvideo.mod.
25161 (loadbios_mod_SOURCE): New macro.
25162 (loadbios_mod_CFLAGS): Likewise.
25163 (loadbios_mod_LDFLAGS): Likewise.
25164 (fixvideo_mod_SOURCE): Likewise.
25165 (fixvideo_mod_CFLAGS): Likewise.
25166 (fixvideo_mod_LDFLAGS): Likewise.
25167
25168 2009-04-08 Felix Zielcke <fzielcke@z-51.de>
25169
25170 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
25171
25172 2009-04-07 David S. Miller <davem@davemloft.net>
25173
25174 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
25175 support for R_SPARC_OLO10 relocations. Fix compile warning for
25176 R_SPARC_WDISP30 case.
25177 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
25178
25179 2009-04-06 Pavel Roskin <proski@gnu.org>
25180
25181 * include/grub/misc.h (ARRAY_SIZE): New macro.
25182 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
25183 New macro.
25184 * loader/i386/linux.c (allocate_pages): Use free_pages().
25185 (grub_linux_unload): Don't use free_pages().
25186 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
25187 wrong index. Treat all other modes as text modes.
25188 (grub_cmd_linux): Initialize vid_mode unconditionally to
25189 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
25190
25191 * commands/help.c (print_command_help): Use cmd->prio, not
25192 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
25193
25194 2009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
25195
25196 Parttool
25197
25198 * parttool/pcpart.c: new file
25199 * commands/parttool.c: likewise
25200 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
25201 (parttool_mod_SOURCES): new variable
25202 (parttool_mod_CFLAGS): likewise
25203 (parttool_mod_LDFLAGS): likewise
25204 (pcpart_mod_SOURCES): likewise
25205 (pcpart_mod_CFLAGS): likewise
25206 (pcpart_mod_LDFLAGS): likewise
25207 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
25208 and parttool/pcpart.c
25209 * conf/i386-efi.rmk: likewise
25210 * conf/i386-ieee1275.rmk: likewise
25211 * conf/i386-pc.rmk: likewise
25212 * conf/powerpc-ieee1275.rmk: likewise
25213 * conf/sparc64-ieee1275.rmk: likewise
25214 * conf/x86_64-ieee1275.rmk: likewise
25215
25216 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
25217
25218 Support for mtime and further expandability of dir command
25219
25220 * include/grub/lib/datetime.h: moved to ...
25221 * include/grub/datetime.h: ... moved here and added
25222 declaration of grub_unixtime2datetime. All users updated
25223 * include/grub/fs.h: new syntax for dir and mtime functions in
25224 struct grub_fs
25225 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
25226 and GRUB_FSHELP_FLAGS_MASK
25227 * commands/ls.c (grub_ls_list_files): Write mtime in long format
25228 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
25229 (grub_ext2_mtime): new function
25230 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
25231 (grub_hfsplus_mtime): new function
25232 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
25233 (GRUB_UFS_ATTR_FILE): likewise
25234 (GRUB_UFS_ATTR_LNK): likewise
25235 (struct grub_ufs_sblock): new fields mtime
25236 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
25237 all users updated
25238 (grub_ufs_dir): mtime support
25239 (grub_ufs_mtime): new function
25240 * fs/affs.c (grub_affs_dir): use new dir syntax
25241 * fs/afs.c (grub_afs_dir): likewise
25242 * fs/cpio.c (grub_cpio_dir): likewise
25243 * fs/fat.c (grub_fat_find_dir): likewise
25244 * fs/hfs.c (grub_hfs_dir): likewise
25245 * fs/iso9660.c (grub_iso9660_dir): likewise
25246 * fs/jfs.c (grub_jfs_dir): likewise
25247 * fs/minix.c (grub_minix_dir): likewise
25248 * fs/ntfs.c (grub_ntfs_dir): likewise
25249 * fs/reiserfs.c (grub_reiserfs_dir): likewise
25250 * fs/sfs.c (grub_sfs_dir): likewise
25251 * fs/xfs.c (grub_xfs_dir): likewise
25252 * util/hostfs.c (grub_hostfs_dir): likewise
25253 * lib/datetime.c: moved to ...
25254 * normal/datetime.c: ... moved here
25255 (grub_unixtime2datetime): new function
25256 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
25257 * normal/completion.c (iterate_dir): use new dir syntax
25258 * normal/misc.c (grub_normal_print_device_info): tell the
25259 last modification time of a volume
25260 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
25261 * conf/common.rmk: added lib/datetime.c to ls.mod
25262 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
25263 (normal_mod_SOURCES): likewise
25264 (datetime_mod_SOURCES): Removed lib/datetime.c
25265 * conf/i386-efi.rmk: likewise
25266 * conf/i386-ieee1275.rmk: likewise
25267 * conf/i386-pc.rmk: likewise
25268 * conf/powerpc-ieee1275.rmk: likewise
25269 * conf/sparc64-ieee1275.rmk: likewise
25270 * conf/x86_64-efi.rmk: likewise
25271
25272 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
25273
25274 Trim trailing spaces in FAT label and support mtools-like labels
25275
25276 * fs/fat.c (grub_fat_iterate_dir): New function based
25277 on grub_fat_find_dir
25278 (grub_fat_find_dir): use grub_fat_iterate_dir
25279 (grub_fat_label): likewise
25280
25281 2009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
25282
25283 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
25284 and command.h
25285 remove extraneous kernel_elf_HEADERS
25286
25287 2009-04-04 Bean <bean123ch@gnail.com>
25288
25289 * include/grub/util/misc.h: Add dummy function fsync for mingw.
25290
25291 * util/misc.c: Likewise.
25292
25293 2009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
25294
25295 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
25296 instead of grub_printf.
25297
25298 2009-04-03 Robert Millan <rmh@aybabtu.com>
25299
25300 * loader/i386/linux.c (grub_linux_setup_video): Fill
25301 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
25302 values from `mode info' structure instead of hardcoded
25303 values.
25304
25305 2009-04-01 Pavel Roskin <proski@gnu.org>
25306
25307 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
25308 unused now.
25309 * genmk.rb: Likewise.
25310 * configure.ac: Likewise.
25311
25312 2009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
25313
25314 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
25315 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
25316
25317 2009-04-01 David S. Miller <davem@davemloft.net>
25318
25319 * normal/sparc64/setjmp.S: Fix setjmp implementation.
25320 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
25321 (grub_setjmp): Mark with 'returns_twice' attribute.
25322 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
25323 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
25324 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
25325
25326 2009-04-01 Robert Millan <rmh@aybabtu.com>
25327
25328 Reapply fix from 2008-07-28 which was accidentally reverted; also
25329 perform the same fix to a similar check in same function.
25330
25331 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
25332 with the same number are found, just use issue a warning with
25333 grub_dprintf(), as this error has been reported to be non-fatal.
25334
25335 2009-03-31 Pavel Roskin <proski@gnu.org>
25336
25337 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
25338 for cross-compilation.
25339
25340 2009-03-30 Robert Millan <rmh@aybabtu.com>
25341
25342 Fix i386-ieee1275 build.
25343
25344 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
25345 Remove declaration.
25346
25347 2009-03-30 Pavel Roskin <proski@gnu.org>
25348
25349 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
25350 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
25351 zero-terminated, rely only on the strlen value. Fix comparison
25352 of strings differing in length.
25353
25354 2009-03-30 Robert Millan <rmh@aybabtu.com>
25355
25356 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
25357 checking for abi version. Improve error messages on BIOS to notify
25358 user about `linux16' command.
25359
25360 2009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
25361
25362 Leak fixes
25363
25364 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
25365 in case of collision
25366 * disk/scsi.c (grub_scsi_open): free scsi in case of error
25367
25368 2009-03-29 Robert Millan <rmh@aybabtu.com>
25369
25370 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
25371 set `vid_mode' accordingly.
25372 (grub_linux_boot): Process `vid_mode' and set video mode.
25373
25374 2009-03-29 Robert Millan <rmh@aybabtu.com>
25375
25376 * util/grub.d/10_linux.in (linux_entry): New function.
25377 Factorize generation of Linux boot entries.
25378
25379 2009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
25380
25381 Make the format of Environment Block plain text. The boot loader
25382 part is not tested well yet.
25383
25384 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
25385 (buffer): Removed.
25386 (envblk): Likewise.
25387 (usage): Remove "info" and "clear". Add "unset". Update the
25388 description of "set", as this does not delete variables any
25389 longer.
25390 (create_envblk_file): Complete rewrite.
25391 (open_envblk_file): Likewise.
25392 (cmd_info): Removed.
25393 (cmd_list): Likewise.
25394 (cmd_set): Likewise.
25395 (cmd_clear): Likewise.
25396 (list_variables): New function.
25397 (write_envblk): Likewise.
25398 (set_variables): Likewise.
25399 (unset_variables): Likewise.
25400 (main): Complete rewrite.
25401
25402 * commands/loadenv.c (buffer): Removed.
25403 (envblk): Likewise.
25404 (open_envblk_file): New function.
25405 (read_envblk_file): Complete rewrite.
25406 (grub_cmd_load_env): Likewise.
25407 (grub_cmd_list_env): Likewise.
25408 (struct blocklist): New struct.
25409 (free_blocklists): New function.
25410 (check_blocklists): Likewise.
25411 (write_blocklists): Likewise.
25412 (grub_cmd_save_env): Complete rewrite.
25413
25414 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
25415 a plain text signature.
25416 (GRUB_ENVBLK_MAXLEN): Removed.
25417 (struct grub_envblk): Complete rewrite.
25418 (grub_envblk_find): Removed.
25419 (grub_envblk_insert): Likewise.
25420 (grub_envblk_open): New prototype.
25421 (grub_envblk_set): Likewise.
25422 (grub_envblk_delete): Put const to VALUE.
25423 (grub_envblk_iterate): Put const to NAME and VALUE.
25424 (grub_envblk_close): New prototype.
25425 (grub_envblk_buffer): New inline function.
25426 (grub_envblk_size): Likewise.
25427
25428 * lib/envblk.c: Include grub/mm.h.
25429 (grub_env_find): Removed.
25430 (grub_envblk_open): New function.
25431 (grub_envblk_close): Likewise.
25432 (escaped_value_len): Likewise.
25433 (find_next_line): Likewise.
25434 (grub_envblk_insert): Removed.
25435 (grub_envblk_set): New function.
25436 (grub_envblk_delete): Complete rewrite.
25437 (grub_envblk_iterate): Likewise.
25438
25439 2009-03-28 Robert Millan <rmh@aybabtu.com>
25440
25441 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
25442 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
25443 variables. Use 16-bit loader.
25444 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
25445 loader.
25446 * kern/i386/loader.S (grub_linux_boot): Rename to ...
25447 (grub_linux16_boot): ... this. Update all users.
25448 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
25449 (grub_linux_boot): ... this. Update all users.
25450
25451 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
25452 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
25453 commands to `linux16' and `initrd16'.
25454 (GRUB_MOD_FINI(linux)): Rename to ...
25455 (GRUB_MOD_FINI(linux16)): ... this.
25456
25457 2009-03-24 Pavel Roskin <proski@gnu.org>
25458
25459 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
25460 not just for compilation.
25461
25462 2009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
25463
25464 Move multiboot helper out of kernel
25465
25466 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
25467 `loader/i386/multiboot_helper.S'.
25468 * conf/i386-coreboot.rmk: Likewise
25469 * conf/i386-ieee1275.rmk: Likewise
25470
25471 * kern/i386/loader.S: Move multiboot helpers from here...
25472 * loader/i386/multiboot_helper.S: ...moved here
25473 * include/grub/i386/loader.h: Move declarations of multiboot
25474 helpers from here...
25475 * include/grub/i386/multiboot.h: ...moved here
25476 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
25477
25478 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
25479
25480 * kern/env.c (grub_env_context_open): Added an argument to specify
25481 whether a new context inherits exported variables from current
25482 one. This is useful when making a sandbox to interpret a config
25483 file.
25484 All callers updated.
25485
25486 * include/grub/env.h (grub_env_context_open): Updated the prototype.
25487
25488 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
25489
25490 * kern/env.c (grub_env_context_close): Fix memory leaks.
25491
25492 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
25493
25494 * normal/main.c (grub_normal_execute): Added an argument
25495 BATCH to specify if an interactive interface should be provided
25496 after reading a config file.
25497 All callers updated.
25498 (read_command_list): Prevent being executed twice.
25499 (read_fs_list): Likewise.
25500
25501 * include/grub/normal.h (grub_normal_execute): Updated the
25502 prototype.
25503
25504 2009-03-22 Pavel Roskin <proski@gno.org>
25505
25506 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
25507 _start.
25508 * kern/i386/pc/startup.S: Likewise.
25509 * kern/i386/efi/startup.S: Likewise.
25510 * kern/i386/ieee1275/startup.S: Likewise.
25511 * kern/i386/coreboot/startup.S: Likewise.
25512 * kern/x86_64/efi/startup.S: Likewise.
25513
25514 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
25515 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
25516 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
25517
25518 2009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
25519
25520 Bugfixes in multiboot for bugs uncovered by solaris kernel.
25521
25522 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
25523 limit detection.
25524 Use vaddr of correct segment for entry_point.
25525
25526 2009-03-21 Bean <bean123ch@gmail.com>
25527
25528 * commands/blocklist.c: Add include file <grub/command.h>, remove
25529 <grub/normal.h> and <grub/arg.h>.
25530 (grub_cmd_blocklist): Use the new command interface.
25531 (GRUB_MOD_INIT): Likewise.
25532 (GRUB_MOD_FINI): Likewise.
25533 * commands/boot.c: Likewise.
25534 * commands/cat.c: Likewise.
25535 * commands/cmp.c: Likewise.
25536 * commands/configfile.c: Likewise.
25537 * commands/crc.c: Likewise.
25538 * commands/echo.c: Likewise.
25539 * commands/halt.c: Likewise.
25540 * commands/handler.c: Likewise.
25541 * commands/hdparm.c: Likewise.
25542 * commands/help.c: Likewise.
25543 * commands/hexdump.c: Likewise.
25544 * commands/loadenv.c: Likewise.
25545 * commands/ls.c: Likewise.
25546 * commands/lsmmap.c: Likewise.
25547 * commands/lspci.c: Likewise.
25548 * commands/loadenv.c: Likewise.
25549 * commands/read.c: Likewise.
25550 * commands/reboot.c: Likewise.
25551 * commands/search.c: Likewise.
25552 * commands/sleep.c: Likewise.
25553 * commands/test.c: Likewise.
25554 * commands/usbtest.c: Likewise.
25555 * commands/videotest.c: Likewise.
25556 * commands/i386/cpuid.c: Likewise.
25557 * commands/i386/pc/halt.c: Likewise.
25558 * commands/i386/pc/play.c: Likewise.
25559 * commands/i386/pc/pxecmd.c: Likewise.
25560 * commands/i386/pc/vbeinfo.c: Likewise.
25561 * commands/i386/pc/vbetest.c: Likewise.
25562 * commands/ieee1275/suspend.c: Likewise.
25563 * disk/loopback.c: Likewise.
25564 * font/font_cmd.c: Likewise.
25565 * hello/hello.c: Likewise.
25566 * loader/efi/appleloader.c: Likewise.
25567 * loader/efi/chainloader.c: Likewise.
25568 * loader/i386/bsd.c: Likewise.
25569 * loader/i386/efi/linux.c: Likewise.
25570 * loader/i386/ieee1275/linux.c: Likewise.
25571 * loader/i386/linux.c: Likewise.
25572 * loader/i386/pc/chainloader.c: Likewise.
25573 * loader/i386/pc/linux.c: Likewise.
25574 * loader/powerpc/ieee1275/linux.c: Likewise.
25575 * loader/multiboot_loader.c: Likewise.
25576 * term/gfxterm.c: Likewise.
25577 * term/i386/pc/serial.c: Likewise.
25578 * term/terminfo.c: Likewise.
25579
25580 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
25581 * term/i386/pc/vga.c: Likewise.
25582 * video/readers/jpeg.c: Likewise.
25583 * video/readers/png.c: Likewise.
25584 * video/readers/tga.c: Likewise.
25585
25586 * util/grub-fstest (cmd_loopback): Removed.
25587 (cmd_blocklist): Likewise.
25588 (cmd_ls): Likewise.
25589 (grub_register_command): Likewise.
25590 (grub_unregister_command): Likewise.
25591 (execute_command): Use grub_command_find to locate command and execute
25592 it.
25593
25594 * include/grub/efi/chainloader.h: Removed.
25595 * loader/efi/chainloader_normal.c: Likewise.
25596 * loader/i386/bsd_normal.c: Likewise.
25597 * loader/i386/pc/chainloader_normal.c: Likewise.
25598 * loader/i386/pc/multiboot_normal.c: Likewise.
25599 * loader/linux_normal.c: Likewise.
25600 * loader/multiboot_loader_normal.c: Likewise.
25601 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
25602
25603 * gencmdlist.sh: Scan new registration command grub_register_extcmd
25604 and grub_register_command_p1.
25605
25606 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
25607 kern/command.c, lib/arg.c and commands/extcmd.c.
25608 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
25609 (minicmd_mod_SOURCES): New variable.
25610 (minicmd_mod_CFLAGS): Likewise.
25611 (minicmd_mod_LDFLAGS): Likewise.
25612 (extcmd_mod_SOURCES): Likewise.
25613 (extcmd_mod_CFLAGS): Likewise.
25614 (extcmd_mod_LDFLAGS): Likewise.
25615 (boot_mod_SOURCES): Removed.
25616 (boot_mod_CFLAGS): Likewise.
25617 (boot_mod_LDFLAGS): Likewise.
25618
25619 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
25620 kern/corecmd.c.
25621 (kernel_img_HEADERS): Add command.h.
25622 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
25623 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
25624 and lib/arg.c.
25625 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
25626 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
25627 remove the corresponding normal mode command.
25628 (normal_mod_SOURCES): Remove normal/arg.c.
25629 * conf/i386-coreboot.rmk: Likewise.
25630 * conf/i386-efi.rmk: Likewise.
25631 * conf/i386-ieee1275.rmk: Likewise.
25632 * conf/powerpc-ieee1275.rmk: Likewise.
25633 * conf/x86_64-efi.rmk: Likewise.
25634
25635 * include/grub/arg.h: Move from here ...
25636 * include/grub/lib/arg.h: ... to here.
25637
25638 * normal/arg.c: Move from here ...
25639 * lib/arg.c: ... to here.
25640
25641 * commands/extcmd.c: New file.
25642 * commands/minicmd.c: Likewise.
25643 * include/grub/command.h: Likewise.
25644 * include/grub/extcmd.h: Likewise.
25645 * kern/command.c: Likewise.
25646 * kern/corecmd.c: Likewise.
25647
25648 * kern/list.c (grub_list_iterate): Return int instead of void.
25649 (grub_list_insert): New function.
25650 (grub_prio_list_insert): Likewise.
25651
25652 * kern/rescue.c (grub_rescue_command): Removed.
25653 (grub_rescue_command_list): Likewise.
25654 (grub_rescue_register_command): Likewise.
25655 (grub_rescue_unregister_command): Likewise.
25656 (grub_rescue_cmd_boot): Move to minicmd.c
25657 (grub_rescue_cmd_help): Likewise.
25658 (grub_rescue_cmd_info): Likewise.
25659 (grub_rescue_cmd_boot): Likewise.
25660 (grub_rescue_cmd_testload): Likewise.
25661 (grub_rescue_cmd_dump): Likewise.
25662 (grub_rescue_cmd_rmmod): Likewise.
25663 (grub_rescue_cmd_lsmod): Likewise.
25664 (grub_rescue_cmd_exit): Likewise.
25665 (grub_rescue_print_devices): Moved to corecmd.c.
25666 (grub_rescue_print_files): Likewise.
25667 (grub_rescue_cmd_ls): Likewise.
25668 (grub_rescue_cmd_insmod): Likewise.
25669 (grub_rescue_cmd_set): Likewise.
25670 (grub_rescue_cmd_unset): Likewise.
25671 (attempt_normal_mode): Use grub_command_find to get normal module.
25672 (grub_enter_rescue_mode): Use grub_register_core_commands to register
25673 commands, remove grub_rescue_register_command calls.
25674
25675 * normal/command.c (grub_register_command): Removed.
25676 (grub_unregister_command): Likewise.
25677 (grub_command_find): Likewise.
25678 (grub_iterate_commands): Likewise.
25679 (rescue_command): Likewise.
25680 (export_command): Moved to corecmd.c.
25681 (set_command): Removed.
25682 (unset_command): Likewise.
25683 (insmod_command): Likewise.
25684 (rmmod_command): Likewise.
25685 (lsmod_command): Likewise.
25686 (grub_command_init): Likewise.
25687
25688 * normal/completion.c (iterate_command): Use cmd->prio to check for
25689 active command.
25690 (complete_arguments): Use grub_extcmd_t structure to find options.
25691 (grub_normal_do_completion): Change function grub_iterate_commands to
25692 grub_command_iterate.
25693
25694 * normal/execute.c (grub_script_execute_cmd): No need to parse
25695 argument here.
25696
25697 * normal/main.c (grub_dyncmd_dispatcher): New function.
25698 (read_command_list): Register unload commands as dyncmd.
25699 (grub_cmd_normal): Use new command interface, register rescue,
25700 unregister normal at entry, register normal, unregister rescue at exit.
25701
25702 * include/grub/list.h (grub_list_test_t): New type.
25703 (grub_list_iterate): Return int instead of void.
25704 (grub_list_insert): New function.
25705 (GRUB_AS_NAMED_LIST_P): New macro.
25706 (GRUB_AS_PRIO_LIST): Likewise.
25707 (GRUB_AS_PRIO_LIST_P): Likewise.
25708 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
25709 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
25710 (grub_prio_list): New structure.
25711 (grub_prio_list_insert): New function.
25712 (grub_prio_list_remove): New inline function.
25713
25714 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
25715 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
25716 (GRUB_COMMAND_FLAG_MENU): Likewise.
25717 (GRUB_COMMAND_FLAG_BOTH): Likewise.
25718 (GRUB_COMMAND_FLAG_TITLE): Likewise.
25719 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
25720 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
25721 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
25722 (grub_command): Likewise.
25723 (grub_register_command): Likewise.
25724 (grub_command_find): Likewise.
25725 (grub_iterate_commands): Likewise.
25726 (grub_command_init): Likewise.
25727 (grub_arg_parse): Likewise.
25728 (grub_arg_show_help): Likewise.
25729
25730 * include/grub/rescue.h (grub_rescue_register_command): Removed.
25731 (grub_rescue_unregister_command): Likewise.
25732
25733 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
25734 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
25735 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
25736
25737 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
25738 grub_rescue_cmd_initrd.
25739 * include/grub/i386/loader.h: Likewise.
25740 * include/grub/x86_64/loader.h: Likewise.
25741
25742 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
25743
25744 2009-03-21 Bean <bean123ch@gmail.com>
25745
25746 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
25747 instead of stat in mingw environment.
25748
25749 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
25750
25751 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
25752
25753 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
25754 AC_CONFIG_LINKS.
25755
25756 2009-03-21 Bean <bean123ch@gmail.com>
25757
25758 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
25759 out of range error.
25760
25761 2009-03-18 Michel Dänzer <michel@daenzer.net>
25762
25763 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
25764 checking inode flags for EXT4_EXTENTS_FLAG.
25765
25766 2009-03-18 Robert Millan <rmh@aybabtu.com>
25767
25768 * loader/i386/linux.c: Include `<grub/video.h>' and
25769 `<grub/i386/pc/vbe.h>'..
25770 (grub_linux_setup_video): New function. Loosely based on the EFI one.
25771 (grub_linux32_boot): Attempt to configure video settings with
25772 grub_linux_setup_video().
25773 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
25774 to avoid grub_console_fini() which would step out of graphical mode
25775 unconditionally.
25776
25777 2009-03-14 Robert Millan <rmh@aybabtu.com>
25778
25779 Fix build on powerpc.
25780 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
25781
25782 2009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
25783
25784 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
25785 background image command.
25786
25787 2009-03-12 Colin D Bennett <colin@gibibit.com>
25788
25789 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
25790 (grub_gfxterm_putchar): Extract pairs of identical calls to
25791 draw_cursor out of conditional blocks.
25792
25793 2009-03-11 Pavel Roskin <proski@gnu.org>
25794
25795 * fs/hfs.c (grub_hfs_strncasecmp): New function.
25796 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
25797
25798 2009-03-11 Robert Millan <rmh@aybabtu.com>
25799
25800 * loader/i386/multiboot_elfxx.c
25801 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
25802
25803 2009-03-11 Felix Zielcke <fzielcke@z-51.de>
25804
25805 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
25806 `kern/handler.c'.
25807
25808 2009-03-11 Robert Millan <rmh@aybabtu.com>
25809
25810 * loader/i386/multiboot.c (code_size): New variable.
25811 (grub_multiboot): Define offsets by adding to `code_size' rather
25812 than subtracting from `grub_multiboot_payload_size'. Provide
25813 4-byte alignment to MBI and others by increasing
25814 `boot_loader_name_length' appropriately.
25815
25816 * loader/i386/multiboot_elfxx.c
25817 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
25818
25819 2009-03-09 Felix Zielcke <fzielcke@z-51.de>
25820
25821 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
25822 `fs/ext2.c'.
25823
25824 2009-03-08 Robert Millan <rmh@aybabtu.com>
25825
25826 Make loader/i386/linux.c usable on i386-pc again.
25827
25828 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
25829 memory to heap.
25830 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
25831 `#error' stanza.
25832
25833 2009-03-07 Bean <bean123ch@gmail.com>
25834
25835 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
25836 allocation.
25837
25838 2009-03-06 Robert Millan <rmh@aybabtu.com>
25839
25840 Fix display issue on terminals with screen size other than 80x25
25841 (e.g. gfxterm with resolution higher than 640x480).
25842
25843 * normal/main.c (grub_normal_init_page): Display title text in a
25844 position relative to the center of the terminal instead of relying
25845 on a hardcoded offset.
25846
25847 2009-03-04 Robert Millan <rmh@aybabtu.com>
25848
25849 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
25850 installed.
25851
25852 * Makefile.in (host_kernel): New variable.
25853 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
25854 scripts instead of just the windows one.
25855 * configure.ac: Initialize and AC_SUBST `host_kernel'.
25856
25857 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
25858
25859 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
25860 `kern/handler.c'.
25861 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
25862 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
25863 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
25864 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25865 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25866 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25867
25868 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
25869
25870 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
25871 or if there's no space for the disk label and print the partition number on a
25872 invalid magic.
25873
25874 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
25875
25876 * util/misc.c: Include <time.h>.
25877 (grub_millisleep): New function.
25878
25879 2009-03-04 Bean <bean123ch@gmail.com>
25880
25881 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
25882 another option -mno-red-zone.
25883
25884 * commands/handler.c: Change module description.
25885
25886 * kern/handler.c: Add missing space at the end of description line.
25887
25888 * kern/list.c: Likewise.
25889
25890 2009-03-03 Robert Millan <rmh@aybabtu.com>
25891
25892 Move more components to the relocation area, and fix mbi pointer
25893 handling to use the destination rather than the origin (thanks to
25894 Vladimir Serbinenko for spotting).
25895
25896 * loader/i386/multiboot.c (mbi_dest): New variable.
25897 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
25898 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
25899 relocation area.
25900
25901 2009-03-01 Bean <bean123ch@gmail.com>
25902
25903 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
25904 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
25905 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
25906 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
25907
25908 * loader/i386/efi/linux.c (acpi_guid): New variable.
25909 (acpi_guid): Likewise.
25910 (EBDA_SEG_ADDR): New constant.
25911 (LOW_MEM_ADDR): Likewise.
25912 (FAKE_EBDA_SEG): Likewise.
25913 (fake_bios_data): New function.
25914 (grub_linux_boot): Call fake_bios_data.
25915
25916 2009-03-01 Bean <bean123ch@gmail.com>
25917
25918 * commands/terminal.c: Removed.
25919
25920 * commands/handler.c: New file.
25921
25922 * include/grub/list.h: Likewise.
25923
25924 * include/grub/handler.h: Likewise.
25925
25926 * kern/list.c: Likewise.
25927
25928 * kern/handler.c: Likewise.
25929
25930 * kern/term.h: Include header file <grub/handler.h>.
25931 (grub_term_input): Move next field to the beginning.
25932 (grub_term_output): Likewise.
25933 (grub_term_input_class): New variable.
25934 (grub_term_output_class): Likewise.
25935 (grub_term_register_input): Changed to inline function.
25936 (grub_term_register_output): Likewise.
25937 (grub_term_unregister_input): Likewise.
25938 (grub_term_unregister_output): Likewise.
25939 (grub_term_set_current_input): Likewise.
25940 (grub_term_set_current_output): Likewise.
25941 (grub_term_get_current_input): Likewise.
25942 (grub_term_get_current_output): Likewise.
25943 (grub_term_iterate_input): Removed.
25944 (grub_term_iterate_output): Likewise.
25945
25946 * kern/term.c (grub_term_list_input): Removed.
25947 (grub_term_list_output): Likewise.
25948 (grub_term_input_class): New variable.
25949 (grub_term_output_class): Likewise.
25950 (grub_cur_term_input): Change variable as macro.
25951 (grub_cur_term_output): Likewise.
25952 (grub_term_register_input): Removed.
25953 (grub_term_register_output): Likewise.
25954 (grub_term_unregister_input): Likewise.
25955 (grub_term_unregister_output): Likewise.
25956 (grub_term_set_current_input): Likewise.
25957 (grub_term_set_current_output): Likewise.
25958 (grub_term_iterate_input): Likewise.
25959 (grub_term_iterate_output): Likewise.
25960 (grub_term_get_current_input): Likewise.
25961 (grub_term_get_current_output): Likewise.
25962
25963 * util/grub-editenv.c: Include header file <grub/handler.h>.
25964 (grub_term_get_current_input): Removed.
25965 (grub_term_get_current_output): Likewise.
25966 (grub_term_input_class): New variable.
25967 (grub_term_output_class): Likewise.
25968
25969 * util/grub-fstest.c (grub_term_get_current_input): Removed.
25970 (grub_term_get_current_output): Likewise.
25971 (grub_term_input_class): New variable.
25972 (grub_term_output_class): Likewise.
25973
25974 * util/grub-probe.c (grub_term_get_current_input): Removed.
25975 (grub_term_get_current_output): Likewise.
25976 (grub_term_input_class): New variable.
25977 (grub_term_output_class): Likewise.
25978
25979 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
25980 (grub_term_get_current_output): Likewise.
25981 (grub_term_input_class): New variable.
25982 (grub_term_output_class): Likewise.
25983
25984 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
25985 (terminal_mod_SOURCES): Likewise.
25986 (terminal_mod_CFLAGS): Likewise.
25987 (terminal_mod_LDFLAGS): Likewise.
25988
25989 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
25990 handler.c.
25991 (kernel_img_SOURCES): Add list.c and handler.c.
25992 (kernel_img_HEADERS): Add list.h and handler.h.
25993
25994 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
25995 handler.c.
25996 (kernel_mod_SOURCES): Add list.c and handler.c.
25997 (kernel_mod_HEADERS): Add list.h and handler.h.
25998
25999 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
26000 handler.c.
26001 (kernel_elf_SOURCES): Add list.c and handler.c.
26002 (kernel_elf_HEADERS): Add list.h and handler.h.
26003
26004 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
26005 handler.c.
26006 (kernel_elf_SOURCES): Add list.c and handler.c.
26007 (kernel_elf_HEADERS): Add list.h and handler.h.
26008
26009 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
26010 handler.c.
26011 (kernel_mod_SOURCES): Add list.c and handler.c.
26012 (kernel_mod_HEADERS): Add list.h and handler.h.
26013
26014 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
26015 handler.c.
26016 (kernel_elf_SOURCES): Add list.c and handler.c.
26017 (kernel_elf_HEADERS): Add list.h and handler.h.
26018
26019 2009-02-27 Robert Millan <rmh@aybabtu.com>
26020
26021 Factorize elf32 / elf64 code in Multiboot loader. This will
26022 prevent it from getting out of sync again.
26023
26024 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
26025 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
26026 grub_multiboot_load_elf64): Move from here ...
26027 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
26028 grub_multiboot_load_elf): ... to here (new file).
26029
26030 2009-02-27 Robert Millan <rmh@aybabtu.com>
26031
26032 * util/grub.d/10_linux.in: Rename "single-user mode" to
26033 "recovery mode".
26034
26035 2009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
26036
26037 Don't leak in SCSI code.
26038 * disk/scsi.c (grub_scsi_close): free `scsi'.
26039
26040 2009-02-27 Robert Millan <rmh@aybabtu.com>
26041
26042 * loader/i386/pc/multiboot.c: Move from here ...
26043 * loader/i386/multiboot.c: ... to here. Update all users.
26044
26045 2009-02-27 Robert Millan <rmh@aybabtu.com>
26046
26047 Patch from Alexandre Bique <bique.alexandre@gmail.com>
26048 * util/i386/pc/grub-setup.c (setup): Fix directory path.
26049
26050 2009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
26051
26052 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
26053 b-tree.
26054
26055 2009-02-27 Robert Millan <rmh@aybabtu.com>
26056
26057 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
26058 `0x' qualifier as 0 when base is specified as parameter).
26059
26060 2009-02-24 Bean <bean123ch@gmail.com>
26061
26062 * configure.ac: Check for -mcmodel=large in x86_64 target.
26063
26064 * include/grub/efi/api.h (efi_call_10): New macro.
26065 (efi_wrap_10): New function.
26066
26067 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
26068 (GRUB_PE32_REL_BASED_HIGH): Likewise.
26069 (GRUB_PE32_REL_BASED_LOW): Likewise.
26070 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
26071 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
26072 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
26073 (GRUB_PE32_REL_BASED_SECTION): Likewise.
26074 (GRUB_PE32_REL_BASED_REL): Likewise.
26075 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
26076 (GRUB_PE32_REL_BASED_DIR64): Likewise.
26077 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
26078
26079 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
26080 issue.
26081
26082 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
26083 (efi_wrap_10): New function.
26084
26085 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
26086
26087 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
26088 MB/MBP model (NV chipset).
26089 (devdata_devs): Add devpath_5 to the list.
26090
26091 * load/i386/efi/linux.c (video_base): Remove variable.
26092 (RGB_MASK): New macro.
26093 (RGB_MAGIC): Likewise.
26094 (LINE_MIN): Likewise.
26095 (LINE_MAX): Likewise.
26096 (FBTEST_STEP): Likewise.
26097 (FBTEST_COUNT): Likewise.
26098 (fb_list): New variable.
26099 (grub_find_video_card): Remove function.
26100 (find_framebuf): New function.
26101 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
26102 line length.
26103
26104 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
26105 problem for x86_64.
26106
26107 2009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
26108
26109 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
26110
26111 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
26112 coding tool name.
26113
26114 2009-02-22 Robert Millan <rmh@aybabtu.com>
26115
26116 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
26117 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
26118 in our relocation, instead of using it directly from heap. Also
26119 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
26120
26121 2009-02-21 Robert Millan <rmh@aybabtu.com>
26122
26123 Implement USB keyboard support (based on patch by Marco Gerards)
26124
26125 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
26126 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
26127 (usb_keyboard_mod_LDFLAGS): New variables.
26128
26129 * term/usb_keyboard.c: New file.
26130
26131 2009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
26132
26133 Corrected wrong declaration
26134
26135 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
26136
26137 2009-02-14 Christian Franke <franke@computer.org>
26138
26139 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
26140 (grub_lspci_iter): Print class code and programming interface byte.
26141
26142 2009-02-14 Christian Franke <franke@computer.org>
26143
26144 * gendistlist.sh: Ignore `.svn' directories.
26145
26146 2009-02-14 Felix Zielcke <fzielcke@z-51.de>
26147
26148 * fs/fat.c: Add 2009 to Copyright line.
26149
26150 2009-02-14 Christian Franke <franke@computer.org>
26151
26152 * commands/hdparm.c: New file. Provides `hdparm' command
26153 which sends ATA commands via grub_disk_ata_pass_through ().
26154
26155 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
26156
26157 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
26158 and <grub/cpu/io.h> to include/grub/ata.h.
26159 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
26160 (GRUB_CDROM_SECTOR_SIZE): Remove.
26161 (GRUB_ATA_*): Move to include/grub/ata.h.
26162 (GRUB_ATAPI_*): Likewise.
26163 (enum grub_ata_commands): Likewise.
26164 (enum grub_ata_timeout_milliseconds): Likewise.
26165 (struct grub_ata_device): Likewise.
26166 (grub_ata_regset): Likewise.
26167 (grub_ata_regget): Likewise.
26168 (grub_ata_regset2): Likewise.
26169 (grub_ata_regget2): Likewise.
26170 (grub_ata_check_ready): Likewise.
26171 (grub_ata_wait_not_busy): Remove static, exported in
26172 include/grub/ata.h.
26173 (grub_ata_wait_drq): Likewise.
26174 (grub_ata_pio_read): Likewise.
26175
26176 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
26177 function for hdparm.mod.
26178
26179 * include/grub/ata.h: New file, contains declarations from
26180 disk/ata.c.
26181 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
26182
26183 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
26184 (grub_disk_ata_pass_through): New exported variable.
26185
26186 * kern/disk.c (grub_disk_ata_pass_through): New variable.
26187
26188 2009-02-13 Colin D Bennett <colin@gibibit.com>
26189
26190 Support multiple fallback entries, and provide an API to support
26191 executing default+fallback menu entries. Renamed the `terminal' menu
26192 viewer to `text'.
26193
26194 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
26195 variable declaration.
26196 (grub_menu_execute_callback): New structure declaration.
26197 (grub_menu_execute_callback_t): New typedef.
26198 (grub_menu_execute_with_fallback): New function declaration.
26199 (grub_menu_get_entry): Likewise.
26200 (grub_menu_get_timeout): Likewise.
26201 (grub_menu_set_timeout): Likewise.
26202
26203 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
26204
26205 * normal/menu.c (grub_wait_after_message): Moved to
26206 `normal/menu_text.c'.
26207 (draw_border): Likewise.
26208 (print_message): Likewise.
26209 (print_entry): Likewise.
26210 (print_entries): Likewise.
26211 (grub_menu_init_page): Likewise.
26212 (get_entry_number): Likewise.
26213 (print_timeout): Likewise.
26214 (run_menu): Likewise.
26215 (grub_menu_execute_entry): Likewise.
26216 (show_text_menu): Likewise.
26217 (get_and_remove_first_entry_number): New function.
26218 (grub_menu_execute_with_fallback): Likewise.
26219 (get_entry): Renamed to ...
26220 (grub_menu_get_entry): .. this and made it global.
26221 (get_timeout): Renamed to ...
26222 (grub_menu_get_timeout): ... this and made it global.
26223 (set_timeout): Renamed to ...
26224 (grub_menu_set_timeout): ... this and made it global.
26225 (grub_normal_terminal_menu_viewer): Renamed to ...
26226 (grub_normal_text_menu_viewer): ... this.
26227
26228 * normal/menu_text.c: New file. Extracted text-menu-specific code
26229 from normal/menu.c.
26230
26231 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
26232 (normal_mod_SOURCES): Likewise.
26233
26234 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
26235 (normal_mod_SOURCES): Likewise.
26236
26237 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26238 (normal_mod_SOURCES): Likewise.
26239
26240 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
26241 (normal_mod_SOURCES): Likewise.
26242
26243 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26244 (normal_mod_SOURCES): Likewise.
26245
26246 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26247 (normal_mod_SOURCES): Likewise.
26248
26249 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
26250 (normal_mod_SOURCES): Likewise.
26251
26252 2009-02-11 Robert Millan <rmh@aybabtu.com>
26253
26254 * util/grub.d/00_header.in: Update old reference to `font' command.
26255
26256 2009-02-10 Felix Zielcke <fzielcke@z-51.de>
26257
26258 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
26259
26260 Based on patch from Javier Martín.
26261
26262 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
26263
26264 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
26265 to avoid false positives with FAT.
26266 (grub_fstest_SOURCES): Likewise.
26267 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
26268 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
26269 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26270 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
26271 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26272 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26273
26274 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
26275
26276 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
26277 bpb.version_specific.fat12_or_fat16.fstype and
26278 bpb.version_specific.fat32.fstype.
26279
26280 2009-02-08 Robert Millan <rmh@aybabtu.com>
26281
26282 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
26283
26284 2009-02-08 Robert Millan <rmh@aybabtu.com>
26285
26286 * Makefile.in (host_os, host_cpu): New variables.
26287 (target_os): Remove. Update all users.
26288
26289 2009-02-08 Marco Gerards <marco@gnu.org>
26290
26291 * Makefile.in (enable_grub_emu_usb): New variable.
26292 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
26293 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
26294 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
26295 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
26296 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
26297 `usbtest.mod' and `usbms.mod'.
26298 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
26299 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
26300 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
26301 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
26302 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
26303 variables.
26304
26305 * disk/usbms.c: New file.
26306
26307 * include/grub/usb.h: Likewise.
26308
26309 * include/grub/usbtrans.h: Likewise.
26310
26311 * include/grub/usbdesc.h: Likewise.
26312
26313 * bus/usb/usbtrans.c: Likewise.
26314
26315 * bus/usb/ohci.c: Likewise.
26316
26317 * bus/usb/uhci.c: Likewise.
26318
26319 * bus/usb/usbhub.c: Likewise.
26320
26321 * bus/usb/usb.c: Likewise.
26322
26323 * commands/usbtest.c: Likewise.
26324
26325 * util/usb.c: Likewise.
26326
26327 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
26328
26329 * configure.ac: Test for libusb presence.
26330
26331 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
26332
26333 2009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
26334
26335 * kern/mm.c: Add more comments.
26336
26337 2009-02-08 Robert Millan <rmh@aybabtu.com>
26338
26339 Patch from Javier Martín.
26340 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
26341 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
26342
26343 2009-02-08 Robert Millan <rmh@aybabtu.com>
26344
26345 * fs/cpio.c: Split tar functionality to ...
26346 * fs/tar.c: ... here (new file). Update all users.
26347
26348 2009-02-07 Robert Millan <rmh@aybabtu.com>
26349
26350 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
26351 backward-incompatible features.
26352
26353 Based on patch from Javier Martín, with some adjustments.
26354
26355 2009-02-07 Michael Scherer <misc@mandriva.org>
26356
26357 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
26358
26359 2009-02-07 Robert Millan <rmh@aybabtu.com>
26360
26361 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
26362 position of `disk/lvm.c' to ensure grub_init_all() always picks it
26363 after the RAID stuff.
26364
26365 2009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
26366
26367 Fixes problem when running vbetest command as reported by
26368 Vladimir Serbinenko <phcoder@gmail.com>.
26369
26370 * (grub_vbe_set_video_mode): Fixed problem with text modes.
26371
26372 2009-02-04 Felix Zielcke <fzielcke@z-51.de>
26373
26374 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
26375 /dev/md/NpN style mdraid devices.
26376
26377 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
26378
26379 * util/unifont2pff.rb: Remove.
26380
26381 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
26382
26383 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
26384 `#'.
26385
26386 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
26387
26388 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
26389 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
26390 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
26391 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
26392 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26393 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26394 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26395
26396 2009-02-02 Christian Franke <franke@computer.org>
26397
26398 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
26399
26400 2009-02-01 Felix Zielcke <fzielcke@z-51.de>
26401
26402 * INSTALL: Note that we now require at least autoconf 2.59 and
26403 that LZO is optional.
26404
26405 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
26406
26407 Base on patch on bug #24154 created by Tomas Tintera
26408 <trosos@seznam.cz>.
26409
26410 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
26411
26412 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
26413
26414 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
26415 <bero@arklinux.org>.
26416
26417 * normal/parser.y (script_init): Add missing semicolon.
26418
26419 2009-01-31 Colin D Bennett <colin@gibibit.com>
26420
26421 * normal/main.c: Add include to grub/menu_viewer.h.
26422 (free_menu_entry_classes): Added.
26423 (grub_normal_menu_addentry): Added class property handling.
26424 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
26425 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
26426
26427 * normal/menu_viewer.c: New file.
26428
26429 * normal/menu.c (run_menu_entry): Renamed to ...
26430 (grub_menu_execute_entry): ... this and made it as global.
26431 (grub_menu_run): Renamed to ...
26432 (show_text_menu): ... this and made it local.
26433 (show_text_menu): Adapt to new function names.
26434 (grub_normal_terminal_menu_viewer): New global variable.
26435
26436 * include/grub/menu.h: New file.
26437
26438 * include/grub/menu_viewer.h: New file.
26439
26440 * include/grub/normal.h: Added include to grub/menu.h.
26441 (grub_menu_entry): Moved to include/grub/menu.h.
26442 (grub_menu_entry_t): Likewise.
26443 (grub_menu): Likewise.
26444 (grub_menu_t): Likewise.
26445 (grub_normal_terminal_menu_viewer): Added.
26446 (grub_menu_execute_entry): Likewise.
26447 (grub_menu_run): Removed.
26448
26449 * DISTLIST: Added include/grub/menu.h.
26450 Added include/grub/menu_viewer.h.
26451 Added normal/menu_viewer.c.
26452
26453 2009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
26454
26455 * normal/execute.c (grub_script_execute_menuentry): Changed to use
26456 arglist for menutitle arguments.
26457
26458 * normal/main.c (grub_normal_menu_addentry): Likewise.
26459
26460 * normal/parser.y (menuentry): Likewise.
26461
26462 * normal/script.c (grub_script_create_cmdmenu): Likewise.
26463
26464 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
26465 (grub_script_create_cmdmenu): Likewise.
26466
26467 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
26468
26469 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
26470 changes.
26471
26472 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
26473
26474 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
26475
26476 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
26477
26478 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
26479
26480 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
26481
26482 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
26483
26484 2009-01-30 Christian Franke <franke@computer.org>
26485
26486 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
26487 in option help text.
26488
26489 2009-01-27 Pavel Roskin <proski@gnu.org>
26490
26491 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
26492
26493 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
26494
26495 * commands/lsmmap.c: Add include to grub/machine/memory.h.
26496
26497 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
26498
26499 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
26500 unregister function.
26501
26502 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
26503
26504 * disk/scsi.c (grub_scsi_read): Fix sign problem.
26505
26506 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
26507
26508 * util/grub-mkfont.c (usage): Fix typo.
26509
26510 * util/elf/grub-mkimage.c (load_modules): Fix warning.
26511
26512 2009-01-26 Daniel Mierswa <impulze@impulze.org>
26513
26514 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
26515
26516 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
26517
26518 * kern/misc.c (grub_strcasecmp): New function.
26519 (grub_strcasecmp): Use grub_size_t instead of int for length.
26520 Fix return value.
26521 * include/grub/misc.h: Update function prototypes.
26522
26523 2009-01-26 Robert Millan <rmh@aybabtu.com>
26524
26525 * configure.ac: Fix cross-compilation check.
26526
26527 2009-01-22 Christian Franke <franke@computer.org>
26528
26529 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
26530 (precision) digit string. Allow `.format2' without `format1' (width).
26531 Limit input chars for `%s' output to `format2' if specified. This is
26532 compatible with standard printf ().
26533
26534 2009-01-22 Christian Franke <franke@computer.org>
26535
26536 * disk/ata.c (grub_ata_wait_status): Replace by ...
26537 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
26538 other status bits may be invalid while BSY is asserted.
26539 (grub_ata_check_ready): New function.
26540 (grub_ata_cmd): Removed.
26541 (grub_ata_wait_drq): New function.
26542 (grub_ata_strncpy): Remove inline.
26543 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
26544 and error check now done by grub_ata_wait_drq ().
26545 (grub_ata_pio_write): Likewise.
26546 (grub_atapi_identify): Set DEV before check for !BSY. Use
26547 grub_ata_wait_drq () to wait for data.
26548 (grub_ata_device_initialize): Add status register check to
26549 detect missing SATA slave devices. Add debug messages.
26550 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
26551 (grub_atapi_packet): Set DEV before check for !BSY. Replace
26552 transfer loop by grub_ata_pio_write ().
26553 (grub_ata_identify): Set DEV before check for !BSY. Use
26554 grub_ata_wait_drq () to wait for data.
26555 (grub_ata_setaddress): Set DEV before check for !BSY.
26556 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
26557 read/write in one loop. Fix invalid command on write. Fix incomplete
26558 command on (size % batch) == 0. Add missing error check after write of
26559 last block. Add debug messages.
26560 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
26561
26562 2009-01-19 Christian Franke <franke@computer.org>
26563
26564 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
26565 (GRUB_ATAPI_IREASON_*): Likewise.
26566 (grub_ata_pio_write): Fix timeout error return.
26567 (grub_atapi_identify): Add grub_ata_wait () after cmd.
26568 (grub_atapi_wait_drq): New function.
26569 (grub_atapi_packet): New parameter `size'.
26570 Use grub_atapi_wait_drq () and direct write instead of
26571 grub_ata_pio_write ().
26572 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
26573 reads the number of bytes requested by the device for each DRQ
26574 assertion.
26575 (grub_atapi_write): Remove old implementation, return not
26576 implemented instead.
26577
26578 2009-01-19 Christian Franke <franke@computer.org>
26579
26580 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
26581 of 512 to calculate data size.
26582 (grub_scsi_read12): Likewise.
26583 (grub_scsi_write10): Likewise.
26584 (grub_scsi_write12): Likewise.
26585 (grub_scsi_read): Adjust size according to blocksize.
26586 Add checks for invalid blocksize and unaligned transfer.
26587
26588 2009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
26589
26590 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
26591
26592 * term/gfxterm.c (write_char): Fix background rendering for wide
26593 width glyphs.
26594
26595 2009-01-19 Robert Millan <rmh@aybabtu.com>
26596
26597 * config.guess: Update to latest version from config git.
26598 * config.sub: Likewise.
26599
26600 2009-01-17 Felix Zielcke <fzielcke@z-51.de>
26601
26602 * Makefile.in: Change font compilation to use new grub-mkfont instead
26603 of java version.
26604
26605 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
26606 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
26607 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
26608 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
26609 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
26610 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
26611 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
26612 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
26613 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
26614
26615 2009-01-16 Christian Franke <franke@computer.org>
26616
26617 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
26618 (enum grub_ata_timeout_milliseconds): New enum.
26619 (grub_ata_wait_status): Add parameter milliseconds.
26620 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
26621 recovery from timed-out commands.
26622 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
26623 return grub_errno instead of REG_ERROR.
26624 (grub_ata_pio_write): Add parameter milliseconds.
26625 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
26626 Pass milliseconds to grub_ata_wait_status () and
26627 grub_ata_pio_read ().
26628 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
26629 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
26630 grub_ata_wait_status (). Fix IDENTIFY timeout check.
26631 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
26632 It is not suitable for device detection, because DEV bit is ignored,
26633 the command may run too long, and not all devices set the signature
26634 properly.
26635 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
26636 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
26637 Fix device selection, DEV bit must be set first to address the registers
26638 of the correct device.
26639 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
26640 grub_ata_pio_read/write ().
26641 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
26642 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
26643
26644 2009-01-13 Carles Pina i Estany <carles@pina.cat>
26645
26646 * util/grub-editenv.c (main): Use fseeko(), not fseek().
26647
26648 2009-01-13 Bean <bean123ch@gmail.com>
26649
26650 * util/grub-mkfont.c (write_font): forget to remove some debug code.
26651
26652 2009-01-13 Bean <bean123ch@gmail.com>
26653
26654 * Makefile.in: (enable_grub_mkfont): New variable.
26655 (freetype_cflags): Likewise.
26656 (freetype_libs): Likewise.
26657
26658 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
26659 (grub_mkfont_SOURCES): New variable.
26660 (grub_mkfont_CFLAGS): Likewise.
26661 (grub_mkfont_LDFLAGS): Likewise.
26662
26663 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
26664 library if `--enable-grub-mkfont' is requested.
26665 (enable_grub_mkfont): New variable.
26666 (freetype_cflags): Likewise.
26667 (freetype_libs): Likewise.
26668
26669 * util/grub-mkfont.c: New file.
26670
26671 2009-01-12 Christian Franke <franke@computer.org>
26672
26673 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
26674 mode check. Fix setting of compat_use[].
26675
26676 2009-01-10 Robert Millan <rmh@aybabtu.com>
26677
26678 Update a few copyright years which we forgot to do in 2008 (only for
26679 files whose changes made in 2008 were copyright-significant)
26680
26681 * Makefile.in: Add 2008 to Copyright line.
26682 * disk/ieee1275/ofdisk.c: Likewise.
26683 * disk/efi/efidisk.c: Likewise.
26684 * kern/dl.c: Likewise.
26685 * kern/sparc64/ieee1275/init.c: Likewise.
26686 * kern/mm.c: Likewise.
26687 * kern/efi/mm.c: Likewise.
26688 * boot/i386/pc/boot.S: Likewise.
26689 * genfslist.sh: Likewise.
26690 * fs/iso9660.c: Likewise.
26691 * fs/hfs.c: Likewise.
26692 * fs/jfs.c: Likewise.
26693 * fs/minix.c: Likewise.
26694 * fs/ufs.c: Likewise.
26695 * gensymlist.sh.in: Likewise.
26696 * genkernsyms.sh.in: Likewise.
26697 * include/grub/misc.h: Likewise.
26698 * include/grub/types.h: Likewise.
26699 * include/grub/symbol.h: Likewise.
26700 * include/grub/elf.h: Likewise.
26701 * include/grub/kernel.h: Likewise.
26702 * include/grub/disk.h: Likewise.
26703 * include/grub/dl.h: Likewise.
26704 * include/grub/i386/linux.h: Likewise.
26705 * include/grub/i386/pc/biosdisk.h: Likewise.
26706 * include/grub/efi/api.h: Likewise.
26707 * include/grub/efi/pe32.h: Likewise.
26708 * include/grub/util/misc.h: Likewise.
26709 * normal/execute.c: Likewise.
26710 * normal/arg.c: Likewise.
26711 * normal/completion.c: Likewise.
26712 * normal/lexer.c: Likewise.
26713 * normal/parser.y: Likewise.
26714 * normal/misc.c: Likewise.
26715 * commands/i386/pc/vbeinfo.c: Likewise.
26716 * commands/hexdump.c: Likewise.
26717 * commands/terminal.c: Likewise.
26718 * commands/ls.c: Likewise.
26719 * commands/help.c: Likewise.
26720 * partmap/pc.c: Likewise.
26721 * loader/efi/chainloader.c: Likewise.
26722 * loader/multiboot_loader.c: Likewise.
26723 * loader/i386/pc/multiboot2.c: Likewise.
26724 * term/efi/console.c: Likewise.
26725 * term/i386/pc/serial.c: Likewise.
26726 * util/lvm.c: Likewise.
26727 * util/console.c: Likewise.
26728 * util/i386/efi/grub-mkimage.c: Likewise.
26729 * util/raid.c: Likewise.
26730
26731 2009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
26732
26733 * commands/videotest.c: Removed include to grub/machine/memory.h.
26734
26735 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
26736 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
26737 (video_mod_SOURCES): Removed.
26738 (video_mod_CFLAGS): Likewise.
26739 (video_mod_LDFLAGS): Likewise.
26740 (gfxterm_mod_SOURCES): Likewise.
26741 (gfxterm_mod_CFLAGS): Likewise.
26742 (gfxterm_mod_LDFLAGS): Likewise.
26743 (videotest_mod_SOURCES): Likewise.
26744 (videotest_mod_CFLAGS): Likewise.
26745 (videotest_mod_LDFLAGS): Likewise.
26746 (bitmap_mod_SOURCES): Likewise.
26747 (bitmap_mod_CFLAGS): Likewise.
26748 (bitmap_mod_LDFLAGS): Likewise.
26749 (tga_mod_SOURCES): Likewise.
26750 (tga_mod_CFLAGS): Likewise.
26751 (tga_mod_LDFLAGS): Likewise.
26752 (jpeg_mod_SOURCES): Likewise.
26753 (jpeg_mod_CFLAGS): Likewise.
26754 (jpeg_mod_LDFLAGS): Likewise.
26755 (png_mod_SOURCES): Likewise.
26756 (png_mod_CFLAGS): Likewise.
26757 (png_mod_LDFLAGS): Likewise.
26758
26759 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
26760 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
26761 (video_mod_SOURCES): Added.
26762 (video_mod_CFLAGS): Likewise.
26763 (video_mod_LDFLAGS): Likewise.
26764 (videotest_mod_SOURCES): Likewise.
26765 (videotest_mod_CFLAGS): Likewise.
26766 (videotest_mod_LDFLAGS): Likewise.
26767 (bitmap_mod_SOURCES): Likewise.
26768 (bitmap_mod_CFLAGS): Likewise.
26769 (bitmap_mod_LDFLAGS): Likewise.
26770 (tga_mod_SOURCES): Likewise.
26771 (tga_mod_CFLAGS): Likewise.
26772 (tga_mod_LDFLAGS): Likewise.
26773 (jpeg_mod_SOURCES): Likewise.
26774 (jpeg_mod_CFLAGS): Likewise.
26775 (jpeg_mod_LDFLAGS): Likewise.
26776 (png_mod_SOURCES): Likewise.
26777 (png_mod_CFLAGS): Likewise.
26778 (png_mod_LDFLAGS): Likewise.
26779 (gfxterm_mod_SOURCES): Likewise.
26780 (gfxterm_mod_CFLAGS): Likewise.
26781 (gfxterm_mod_LDFLAGS): Likewise.
26782
26783 * term/gfxterm.c: Removed include to grub/machine/memory.h,
26784 grub/machine/console.h.
26785
26786 2009-01-04 Jerone Young <jerone@gmail.com>
26787
26788 Make on screen instructions clearer
26789
26790 Based on patch created by Jidanni <jidanni@jidanni.org>
26791
26792 * normal/menu.c: print clearer instructions on the screen
26793
26794 2009-01-02 Colin D Bennett <colin@gibibit.com>
26795
26796 New font engine.
26797
26798 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
26799 build system and fixed gfxterm.c to work with different sized fonts.
26800
26801 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
26802
26803 * configure: Re-generated.
26804
26805 * DISTLIST: Removed font/manager.c.
26806 Added font/font.c.
26807 Added font/font_cmd.c.
26808
26809 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
26810 compilation.
26811
26812 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
26813
26814 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
26815
26816 * kern/term.c: Changed users of grub_utf8_to_ucs4.
26817
26818 * normal/menu.c: Likewise.
26819
26820 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
26821 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
26822
26823 * include/grub/font.h: Replaced with new file.
26824
26825 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
26826 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
26827 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
26828 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
26829 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
26830 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
26831 fg_red, fg_green, fg_blue, fg_alpha.
26832 (grub_video_adapter): Removed blit_glyph.
26833 (grub_video_blit_glyph): Removed.
26834
26835 * font/manager.c: Removed file.
26836
26837 * font/font.c: New file.
26838
26839 * font/font_cmd.c: Likewise.
26840
26841 * video/video.c (grub_video_blit_glyph): Removed.
26842
26843 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
26844 (grub_video_vbe_map_rgba): Likewise.
26845 (grub_video_vbe_unmap_color_int): Likewise.
26846 (grub_video_vbe_blit_glyph): Removed.
26847 (grub_video_vbe_adapter): Removed blit_glyph.
26848
26849 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
26850 (get_pixel): Likewise.
26851 (set_pixel): Likewise.
26852
26853 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
26854
26855 * term/gfxterm.c: Adapted to new font engine.
26856
26857 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
26858
26859 * term/i386/pc/vga.c: Likewise.
26860
26861 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
26862
26863 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
26864
26865 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
26866
26867 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
26868
26869 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
26870
26871 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
26872
26873 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
26874
26875 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
26876
26877 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
26878
26879 * util/grub.d/00_header.in: Changed to use new loadfont command.
26880
26881 * util/grub-mkconfig_lib.in: Changed font extension.
26882
26883 2008-12-28 Felix Zielcke <fzielcke@z-51.de>
26884
26885 * util/getroot.c (grub_util_get_grub_dev): Add support for
26886 /dev/md/dNNpNN style partitionable mdraid devices.
26887
26888 2008-12-12 Alex Smith <alex@alex-smith.me.uk>
26889
26890 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
26891 at a time limit of the PXE TFTP API correctly.
26892 (grub_pxefs_close): Likewise.
26893
26894 2008-11-29 Robert Millan <rmh@aybabtu.com>
26895
26896 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
26897 grub_ata_device_initialize() calls.
26898
26899 2008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
26900
26901 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
26902 iteration failed.
26903 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
26904
26905 2008-11-28 Robert Millan <rmh@aybabtu.com>
26906
26907 Fix build on powerpc-ieee1275. Based on patch created by
26908 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
26909 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
26910 `kern/ieee1275/mmap.c'.
26911 * include/grub/powerpc/ieee1275/memory.h: New file.
26912
26913 Provide grub-install on coreboot.
26914 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
26915 (grub_install_SOURCES): New variable.
26916 * util/i386/pc/grub-install.in: Add a few condition checks to make it
26917 usable on coreboot.
26918
26919 2008-11-25 Felix Zielcke <fzielcke@z-51.de>
26920
26921 * util/grub-fstest.c (grub_term_get_current_input): Change return type
26922 to `grub_term_input_t'.
26923 (grub_term_get_current_output): Change return type to
26924 `grub_term_output_t'.
26925
26926 2008-11-22 Robert Millan <rmh@aybabtu.com>
26927
26928 Fix breakage on coreboot due to declaration mismatch.
26929 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
26930 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
26931 grub_vga_text_cls().
26932
26933 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
26934 comments. Avoid copying one more byte than necessary (just in case).
26935
26936 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
26937 to 0x200000 (avoids trouble with some OFW implementations, and matches
26938 with the one in Yaboot).
26939 Reported by Manoel Abranches
26940
26941 2008-11-20 Robert Millan <rmh@aybabtu.com>
26942
26943 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
26944 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
26945
26946 * util/grub-mkconfig_lib.in (grub_warn): New function.
26947 (convert_system_path_to_grub_path): Use grub_warn() when issuing
26948 warnings, to obtain consistent formatting.
26949 * util/grub.d/00_header.in: Likewise.
26950 * util/update-grub_lib.in: Likewise.
26951
26952 * loader/i386/linux.c (allocate_pages): Fix a warning.
26953 Move comment text to `#error' stanza.
26954
26955 Harmonize ieee1275's grub_available_iterate() with the generic
26956 grub_machine_mmap_iterate() interface (fixes a recently-introduced
26957 build problem on i386-ieee1275):
26958 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
26959 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
26960 parameter `type'. Update all users of this function.
26961 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
26962 `kern/ieee1275/mmap.c'.
26963 * kern/ieee1275/init.c
26964 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
26965 with ...
26966 (grub_machine_mmap_iterate): ... this.
26967 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
26968 return type to `grub_err_t'. Update all implementations of this
26969 function prototype.
26970 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
26971 Likewise.
26972
26973 Add `lsmmap' command (lists firmware-provided memory map):
26974 * commands/lsmmap.c: New file.
26975 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
26976 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
26977 variables.
26978 * conf/powerpc-ieee1275.rmk: Likewise.
26979 * conf/i386-coreboot.rmk: Likewise.
26980 * conf/i386-ieee1275.rmk: Likewise.
26981
26982 2008-11-19 Robert Millan <rmh@aybabtu.com>
26983
26984 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
26985 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
26986 constraints to initrd allocation (based on code from
26987 loader/i386/pc/linux.c). Without them, initrd was allocated too high
26988 for Linux to find it.
26989
26990 2008-11-14 Robert Millan <rmh@aybabtu.com>
26991
26992 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
26993 order to cope with duplicate slashes.
26994
26995 2008-11-14 Robert Millan <rmh@aybabtu.com>
26996
26997 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
26998 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
26999 don't want to mess with lower memory, because it is used in the Linux
27000 loader.
27001
27002 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
27003 an appropriate place in lower memory, between 0x10000 and 0x90000,
27004 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
27005 is in our heap (probably as a result of it being corrupted during
27006 decompression). Add #error instance with comment to explain why this
27007 loader isn't currently usable on PC/BIOS.
27008
27009 2008-11-14 Robert Millan <rmh@aybabtu.com>
27010
27011 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
27012 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
27013
27014 2008-11-12 Robert Millan <rmh@aybabtu.com>
27015
27016 Make loader/i386/linux.c buildable on i386-pc (although disabled).
27017
27018 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
27019 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
27020 from here ...
27021 * include/grub/i386/pc/memory.h: ... to here.
27022
27023 2008-11-12 Robert Millan <rmh@aybabtu.com>
27024
27025 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
27026 split).
27027
27028 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
27029 (grub_console_cur_color, grub_console_real_putchar)
27030 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
27031 (grub_console_setcolorstate, grub_console_setcolor)
27032 (grub_console_getcolor): Move from here ...
27033 * include/grub/i386/vga_common.h: ... to here (new file).
27034
27035 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
27036 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
27037 `<grub/i386/io.h>'.
27038 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
27039 `<grub/i386/vga_common.h>'.
27040
27041 2008-11-12 Robert Millan <rmh@aybabtu.com>
27042
27043 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
27044 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
27045 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
27046 variables.
27047 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
27048 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
27049
27050 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
27051 grub_console_init() with call to grub_vga_text_init().
27052 (grub_machine_fini): Replace call to
27053 grub_console_fini() with call to grub_vga_text_fini() and
27054 grub_at_keyboard_fini().
27055
27056 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
27057 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
27058 (grub_console_setcolorstate, grub_console_setcolor)
27059 (grub_console_getcolor): New function prototypes.
27060
27061 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
27062 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
27063 (grub_vga_text_setcursor): Static-ize.
27064 (grub_vga_text_term): New structure.
27065 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
27066
27067 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
27068 (grub_console_cur_color, grub_console_standard_color)
27069 (grub_console_normal_color, grub_console_highlight_color)
27070 (map_char, grub_console_putchar, grub_console_getcharwidth)
27071 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
27072 (grub_console_getcolor): Move from here ...
27073 * term/i386/vga_common.c: ... to here (same function names).
27074
27075 2008-11-12 Robert Millan <rmh@aybabtu.com>
27076
27077 Use newly-added Multiboot support in coreboot.
27078
27079 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
27080 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
27081
27082 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
27083 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
27084 (codestart): Store the MBI in `startup_multiboot_info' when we're
27085 being loaded using Multiboot.
27086
27087 * kern/i386/coreboot/init.c (grub_machine_init): Move
27088 grub_at_keyboard_init() call to beginning of function (useful for
27089 debugging). Call grub_machine_mmap_init() before attempting to use
27090 grub_machine_mmap_iterate().
27091 (grub_lower_mem, grub_upper_mem): Move from here ...
27092 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
27093 here (new file).
27094
27095 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
27096 function prototype.
27097
27098 2008-11-12 Robert Millan <rmh@aybabtu.com>
27099
27100 Fix a regression introduced by the at_keyboard.mod split. Because
27101 some terminals are default on some platforms and non-default on
27102 others, the first terminal being registered determines which is
27103 going to be default.
27104
27105 * kern/term.c (grub_term_register_input): If this is the first
27106 terminal being registered, set it as the current one.
27107 (grub_term_register_output): Likewise.
27108
27109 * term/efi/console.c (grub_console_init): Do not call
27110 grub_term_set_current_output() or grub_term_set_current_input().
27111 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
27112 * term/i386/pc/console.c (grub_console_init): Likewise.
27113 (grub_console_fini): Do not call grub_term_set_current_input()
27114 (but leave grub_term_set_current_output() to restore text mode).
27115
27116 2008-11-10 Robert Millan <rmh@aybabtu.com>
27117
27118 * util/grub.d/00_header.in: Add backward compatibility check for
27119 versions of terminal.mod that don't understand `terminal_input' or
27120 `terminal_output'.
27121
27122 2008-11-09 Robert Millan <rmh@aybabtu.com>
27123
27124 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
27125 `terminal_input' / `terminal_output', not `terminal'.
27126
27127 2008-11-08 Robert Millan <rmh@aybabtu.com>
27128
27129 * Makefile.in (include_DATA): Fix srcdir=. assumption.
27130 (DISTCLEANFILES): Add `build_env.mk'.
27131
27132 2008-11-08 Robert Millan <rmh@aybabtu.com>
27133
27134 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
27135 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
27136 members. Update all users.
27137 * util/console.c (grub_ncurses_term): Split in ...
27138 (grub_ncurses_term_input): ... this, and ...
27139 (grub_ncurses_term_output): ... this. Update all users.
27140 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
27141
27142 2008-11-08 Robert Millan <rmh@aybabtu.com>
27143
27144 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
27145 (PKGDATA): Add $(pkgdata_SRCDIR).
27146 (pkglib_BUILDDIR): New variable.
27147 (pkgdata_SRCDIR): New variable.
27148 (build_env.mk): New target.
27149 (include_DATA): New variable.
27150 (install-local): Install $(include_DATA) files in $(includedir).
27151
27152 2008-11-07 Pavel Roskin <proski@gnu.org>
27153
27154 * gendistlist.sh: Use C locale for sorting to ensure consistent
27155 output on all systems.
27156
27157 * util/grub.d/00_header.in: Remove incorrect space before
27158 "serial".
27159
27160 2008-11-07 Robert Millan <rmh@aybabtu.com>
27161
27162 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
27163 per specification.
27164 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
27165 * loader/multiboot_loader.c (find_multi_boot2_header): New function
27166 (based on find_multi_boot1_header).
27167 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
27168 using find_multi_boot2_header(), and abort if neither Multiboot or
27169 Multiboot headers were found.
27170
27171 2008-11-07 Robert Millan <rmh@aybabtu.com>
27172
27173 Modularize at_keyboard.mod:
27174
27175 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
27176 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
27177 (at_keyboard_mod_LDFLAGS): New variables.
27178
27179 Actual terminal split:
27180
27181 * include/grub/term.h (struct grub_term): Split in ...
27182 (struct grub_term_input): ... this, and ...
27183 (struct grub_term_output): ... this. Update all users.
27184 (grub_term_set_current): Split in ...
27185 (grub_term_set_current_input): ... this, and ...
27186 (grub_term_set_current_output): ... this.
27187 (grub_term_get_current): Split in ...
27188 (grub_term_get_current_input): ... this, and ...
27189 (grub_term_get_current_output): ... this.
27190 (grub_term_register): Split in ...
27191 (grub_term_register_input): ... this, and ...
27192 (grub_term_register_output): ... this.
27193 (grub_term_unregister): Split in ...
27194 (grub_term_unregister_input): ... this, and ...
27195 (grub_term_unregister_output): ... this.
27196 (grub_term_iterate): Split in ...
27197 (grub_term_iterate_input): ... this, and ...
27198 (grub_term_iterate_output): ... this.
27199
27200 * kern/term.c (grub_term_list): Split in ...
27201 (grub_term_list_input): ... this, and ...
27202 (grub_term_list_output): ... this. Update all users.
27203 (grub_cur_term): Split in ...
27204 (grub_cur_term_input): ... this, and ...
27205 (grub_cur_term_output): ... this. Update all users.
27206 (grub_term_set_current): Split in ...
27207 (grub_term_set_current_input): ... this, and ...
27208 (grub_term_set_current_output): ... this.
27209 (grub_term_get_current): Split in ...
27210 (grub_term_get_current_input): ... this, and ...
27211 (grub_term_get_current_output): ... this.
27212 (grub_term_register): Split in ...
27213 (grub_term_register_input): ... this, and ...
27214 (grub_term_register_output): ... this.
27215 (grub_term_unregister): Split in ...
27216 (grub_term_unregister_input): ... this, and ...
27217 (grub_term_unregister_output): ... this.
27218 (grub_term_iterate): Split in ...
27219 (grub_term_iterate_input): ... this, and ...
27220 (grub_term_iterate_output): ... this.
27221
27222 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
27223 a check for input and one for output (and only attempt to get keys
27224 from user when input works).
27225
27226 * util/grub-probe.c (grub_term_get_current): Split in ...
27227 (grub_term_get_current_input): ... this, and ...
27228 (grub_term_get_current_output): ... this.
27229 * util/grub-fstest.c: Likewise.
27230 * util/i386/pc/grub-setup.c: Likewise.
27231 * util/grub-editenv.c: Likewise.
27232
27233 Portability adjustments:
27234
27235 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
27236 `term/i386/pc/at_keyboard.c'.
27237 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
27238 grub_keyboard_controller_init() (now handled by terminal .init).
27239 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
27240 grub_at_keyboard_init().
27241 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
27242 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
27243 at_keyboard.mod via input terminal interface).
27244 * include/grub/i386/coreboot/console.h: Convert into a stub for
27245 `<grub/i386/pc/console.h>'.
27246
27247 Migrate full terminals to new API:
27248
27249 * term/efi/console.c (grub_console_term): Split into ...
27250 (grub_console_term_input): ... this, and ...
27251 (grub_console_term_output): ... this. Update all users.
27252 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
27253 (grub_ofconsole_init): Split into ...
27254 (grub_ofconsole_init_input): ... this, and ...
27255 (grub_ofconsole_init_output): ... this.
27256 (grub_ofconsole_term): Split into ...
27257 (grub_ofconsole_term_input): ... this, and ...
27258 (grub_ofconsole_term_output): ... this. Update all users.
27259 * term/i386/pc/serial.c (grub_serial_term): Split into ...
27260 (grub_serial_term_input): ... this, and ...
27261 (grub_serial_term_output): ... this. Update all users.
27262 * term/i386/pc/console.c (grub_console_term): Split into ...
27263 (grub_console_term_input): ... this, and ...
27264 (grub_console_term_output): ... this. Update all users.
27265 (grub_console_term_input): Only enable it on PC/BIOS platform.
27266 (grub_console_init): Remove grub_keyboard_controller_init() call.
27267
27268 Migrate input terminals to new API:
27269
27270 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
27271 `i386' and `i386/pc' to enable build on x86_64 (this driver is
27272 i386-specific anyway).
27273 (grub_console_checkkey): Rename to ...
27274 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
27275 users.
27276 (grub_keyboard_controller_orig): New variable.
27277 (grub_console_getkey): Rename to ...
27278 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
27279 users.
27280 (grub_keyboard_controller_init): Static-ize. Save original
27281 controller value so that it can be restored ...
27282 (grub_keyboard_controller_fini): ... here (new function).
27283 (grub_at_keyboard_term): New structure.
27284 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
27285 functions.
27286
27287 Migrate output terminals to new API:
27288
27289 * term/i386/pc/vga.c (grub_vga_term): Change type to
27290 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
27291 members. Update all users.
27292 * term/gfxterm.c (grub_video_term): Change type to
27293 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
27294 members. Update all users.
27295 * include/grub/i386/pc/console.h (grub_console_checkkey)
27296 (grub_console_getkey): Do not export (no longer needed by gfxterm,
27297 etc).
27298
27299 Migrate `terminal' command and userland tools to new API:
27300
27301 * commands/terminal.c (grub_cmd_terminal): Split into ...
27302 (grub_cmd_terminal_input): ... this, and ...
27303 (grub_cmd_terminal_output): ... this.
27304 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
27305 `terminal_input' and `terminal_output'.
27306 * util/grub.d/00_header.in: Adjust `terminal' calls to new
27307 `terminal_input' / `terminal_output' API.
27308 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
27309 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
27310 provided ${GRUB_TERMINAL}, convert it).
27311
27312 2008-11-04 Robert Millan <rmh@aybabtu.com>
27313
27314 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
27315 for FreeBSD.
27316 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
27317
27318 2008-11-03 Bean <bean123ch@gmail.com>
27319
27320 * kern/elf.c (grub_elf32_load): Revert to previous code.
27321 (grub_elf64_load): Likewise.
27322
27323 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
27324
27325 2008-11-01 Robert Millan <rmh@aybabtu.com>
27326
27327 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
27328 (TARGET_CPPFLAGS): Likewise.
27329 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
27330
27331 2008-11-01 Carles Pina i Estany <carles@pina.cat>
27332
27333 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
27334
27335 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
27336
27337 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
27338 addition of objects until the code is not going to be able to fail.
27339
27340 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
27341
27342 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
27343 (add a missing NULL check, and correct them by moving the pointer
27344 operations after the actual check).
27345
27346 2008-10-29 Robert Millan <rmh@aybabtu.com>
27347
27348 * util/i386/pc/grub-install.in: Handle empty string as output from
27349 make_system_path_relative_to_its_root().
27350
27351 2008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
27352
27353 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
27354 circular metadata worst case scenario. If the metadata is circular
27355 then copy the wrap in place.
27356 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
27357 project lib/format_text/layout.h
27358 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
27359
27360 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
27361
27362 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
27363
27364 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
27365
27366 * util/update-grub_lib.in: Mention filename in warning message.
27367
27368 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
27369
27370 * NEWS: Update for rename of update-grub to grub-mkconfig.
27371
27372 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
27373
27374 * util/update-grub_lib.in: Copy to ...
27375 * util/grub-mkconfig_lib.in: ... this. Update all users.
27376 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
27377 * util/update-grub.in: Rename to ...
27378 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
27379 option. Add `--output' option to allow users to specify the generated
27380 configuration file. Default to stdout.
27381 (update_grub_dir): Rename to ...
27382 (grub_mkconfig_dir): ... this.
27383 (grub_cfg): Default to an empty string.
27384 * conf/common.rmk (update-grub): Rename to ...
27385 (grub-mkconfig): ... this.
27386 (update-grub_lib): Copy to ...
27387 (grub-mkconfig_lib): ... this.
27388 (update-grub_SCRIPTS): Copy to ...
27389 (grub-mkconfig_SCRIPTS): ... this. Update all users.
27390 (update-grub_DATA): Rename to ...
27391 (grub-mkconfig_DATA): ... this.
27392
27393 2008-09-28 Robert Millan <rmh@aybabtu.com>
27394
27395 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
27396 to `modified'. Add the real `created' field.
27397 (grub_iso9660_uuid): Use `modified' rather than `created' for
27398 constructing the UUID.
27399
27400 2008-09-28 Felix Zielcke <fzielcke@z-51.de>
27401
27402 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
27403 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
27404
27405 2008-09-28 Bean <bean123ch@gmail.com>
27406
27407 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
27408 Thanks to Christian Franke for finding this bug.
27409
27410 2008-09-25 Robert Millan <rmh@aybabtu.com>
27411
27412 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
27413 instances of grub_util_get_disk_name() (see previous commit).
27414
27415 2008-09-25 Robert Millan <rmh@aybabtu.com>
27416
27417 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
27418 `util/i386/get_disk_name.c'.
27419 * conf/i386-efi.rmk: Likewise.
27420 * conf/x86_64-efi.rmk: Likewise.
27421 * conf/i386-coreboot.rmk: Likewise.
27422 * conf/i386-ieee1275.rmk: Likewise.
27423 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
27424 `util/ieee1275/get_disk_name.c'.
27425 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
27426 * util/ieee1275/get_disk_name.c: Remove file.
27427 * util/i386/get_disk_name.c: Remove file.
27428 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
27429 "hd%d" for device.map entries, rather than using
27430 grub_util_get_disk_name().
27431
27432 2008-09-24 Carles Pina i Estany <carles@pina.cat>
27433
27434 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
27435 warning.
27436 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
27437
27438 2008-09-24 Carles Pina i Estany <carles@pina.cat>
27439
27440 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
27441 Changed to 0x5100.
27442 (GRUB_TERM_PPAGE): Changed to 0x4900.
27443
27444 2008-09-24 Robert Millan <rmh@aybabtu.com>
27445
27446 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
27447 macros (they were i386-pc specific).
27448 * include/grub/sparc64/ieee1275/console.h: Likewise.
27449 * include/grub/efi/console.h: Likewise.
27450
27451 2008-09-22 Bean <bean123ch@gmail.com>
27452
27453 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
27454 resident and in attribute list.
27455
27456 * include/grub/ntfs.h (BMP_LEN): Removed.
27457
27458 2008-09-22 Bean <bean123ch@gmail.com>
27459
27460 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
27461 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
27462
27463 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
27464 error occurs, as grub_disk_open will call grub_disk_close, which will
27465 call p->close (scsi).
27466
27467 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
27468
27469 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
27470 (AC_PREREQ): Bumped to 2.59.
27471 (AC_TRY_COMPILE): Replace obsolete macro with ...
27472 (AC_COMPILE_IFELSE): ... this.
27473 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
27474 (AC_LINK_IFELSE): ... this.
27475
27476 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
27477
27478 * autogen.sh: Add a call to `gendistlist.sh'.
27479
27480 2008-09-19 Christian Franke <franke@computer.org>
27481
27482 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
27483 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
27484 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
27485 Export __enable_execute_stack() to modules.
27486 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
27487 New function.
27488
27489 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
27490
27491 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
27492 Sort the list.
27493
27494 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
27495
27496 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
27497 #include <grub/util/hostdisk.h>.
27498
27499 2008-09-08 Robert Millan <rmh@aybabtu.com>
27500
27501 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
27502 segments when their filesz is zero (grub_file_read() interprets
27503 zero-size as "read until EOF", which results in memory corruption).
27504 Use `lowest_segment' rather than 0 for calculating the current
27505 segment load address.
27506
27507 2008-09-08 Robert Millan <rmh@aybabtu.com>
27508
27509 * util/hostdisk.c (open_device): Replace a grub_util_info() call
27510 with grub_dprintf("hostdisk", ...), as it was so verbose that it
27511 clobbered useful information.
27512
27513 2008-09-08 Robert Millan <rmh@aybabtu.com>
27514
27515 * include/grub/util/biosdisk.h: Move to ...
27516 * include/grub/util/hostdisk.h: ... here. Update all users.
27517 * util/biosdisk.c: Move to ...
27518 * util/hostdisk.c: ... here. Update all users.
27519
27520 2008-09-07 Robert Millan <rmh@aybabtu.com>
27521
27522 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
27523 variables.
27524 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
27525 and length can be stored directly in the `mbi->mmap_addr' and
27526 `mbi->mmap_length' struct fields.
27527
27528 2008-09-07 Robert Millan <rmh@aybabtu.com>
27529
27530 * conf/i386.rmk: New file. Provides declaration for building
27531 `cpuid.mod'.
27532 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
27533 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
27534 variables.
27535 Include `conf/i386.mk'.
27536 * conf/i386-efi.rmk: Likewise.
27537 * conf/x86_64-efi.rmk: Likewise.
27538 * conf/i386-coreboot.rmk: Likewise.
27539 * conf/i386-ieee1275.rmk: Likewise.
27540
27541 2008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
27542
27543 Based on patch created by Colin D Bennett <colin@gibibit.com>.
27544 Adds optimization support for BGR based modes.
27545
27546 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
27547 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
27548 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
27549 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
27550 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
27551 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
27552 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
27553 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
27554 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
27555 (grub_video_i386_vbeblit_index_index): Likewise.
27556 (grub_video_i386_vbeblit_replace_directN): Added.
27557 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
27558 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
27559 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
27560 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
27561 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
27562 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
27563 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
27564 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
27565 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
27566 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
27567 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
27568 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
27569 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
27570
27571 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
27572 (grub_video_i386_vbefill_R8G8B8): Likewise.
27573 (grub_video_i386_vbefill_index): Likewise.
27574 (grub_video_i386_vbefill_direct32): Added.
27575 (grub_video_i386_vbefill_direct24): Likewise.
27576 (grub_video_i386_vbefill_direct16): Likewise.
27577 (grub_video_i386_vbefill_direct8): Likewise.
27578
27579 * include/grub/video.h (grub_video_blit_format): Removed
27580 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
27581 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
27582 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
27583 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
27584 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
27585
27586 * video/video.c (grub_video_get_blit_format): Updated to use new
27587 blit formats. Added handling for 16 bit color modes.
27588
27589 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
27590 fillers.
27591 (common_blitter): Updated to use new blitters.
27592
27593 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
27594 Removed.
27595 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
27596 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
27597 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
27598 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
27599 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
27600 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
27601 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
27602 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
27603 (grub_video_i386_vbeblit_index_index): Likewise.
27604 (grub_video_i386_vbeblit_replace_directN): Added.
27605 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
27606 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
27607 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
27608 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
27609 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
27610 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
27611 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
27612 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
27613 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
27614 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
27615 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
27616 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
27617 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
27618
27619 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
27620 (grub_video_i386_vbefill_R8G8B8): Likewise.
27621 (grub_video_i386_vbefill_index): Likewise.
27622 (grub_video_i386_vbefill_direct32): Added.
27623 (grub_video_i386_vbefill_direct24): Likewise.
27624 (grub_video_i386_vbefill_direct16): Likewise.
27625 (grub_video_i386_vbefill_direct8): Likewise.
27626
27627 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
27628 types.
27629
27630 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
27631 types.
27632
27633 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
27634 blitter types.
27635
27636 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
27637 types.
27638
27639 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
27640
27641 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
27642 RAID level 1.
27643
27644 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
27645
27646 * fs/iso9660.c (grub_iso9660_date): New structure.
27647 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
27648 (grub_iso9660_uuid): New function.
27649
27650 2008-09-05 Bean <bean123ch@gmail.com>
27651
27652 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
27653
27654 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
27655 insensitive bit for names in Win32 and Win32 & DOS namespace.
27656
27657 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
27658
27659 * include/grub/types.h (LONG_MAX): Likewise.
27660
27661 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
27662
27663 * util/getroot.c: Include <config.h>.
27664 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
27665 add support for /dev/md/N devices and handle LVM double dash escaping.
27666
27667 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
27668
27669 * config.guess: Update to latest version from config git.
27670 * config.sub: Likewise.
27671
27672 2008-09-03 Robert Millan <rmh@aybabtu.com>
27673
27674 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
27675 `disk->total_sectors'.
27676
27677 2008-09-01 Colin D Bennett <colin@gibibit.com>
27678
27679 * include/grub/normal.h: Fixed incorrect comment for
27680 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
27681
27682 2008-09-01 Colin D Bennett <colin@gibibit.com>
27683
27684 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
27685 values with defines.
27686
27687 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
27688 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
27689 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
27690 (GRUB_VBE_MODEATTR_COLOR): Likewise.
27691 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
27692 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
27693 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
27694 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
27695 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
27696 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
27697 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
27698 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
27699 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
27700 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
27701 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
27702 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
27703 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
27704 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
27705 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
27706
27707 2008-08-31 Robert Millan <rmh@aybabtu.com>
27708
27709 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
27710 declaration.
27711 (grub_multiboot): Fix a few warnings.
27712
27713 2008-08-31 Robert Millan <rmh@aybabtu.com>
27714
27715 * loader/i386/pc/multiboot.c: Update comment not to say that
27716 boot_device support is unimplemented.
27717
27718 2008-08-31 Robert Millan <rmh@aybabtu.com>
27719
27720 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
27721 or memory map support are unimplemented.
27722
27723 2008-08-31 Colin D Bennett <colin@gibibit.com>
27724
27725 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
27726
27727 2008-08-31 Colin D Bennett <colin@gibibit.com>
27728
27729 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
27730 total video memory in 'vbeinfo' output; show color format details for
27731 each video mode.
27732
27733 2008-08-30 Pavel Roskin <proski@gnu.org>
27734
27735 * util/genmoddep.c: Remove for real this time.
27736 * DISTLIST: Remove util/genmoddep.c.
27737
27738 2008-08-30 Robert Millan <rmh@aybabtu.com>
27739
27740 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
27741 as required by Multiboot spec (it was already 4-byte aligned, but
27742 only by chance).
27743
27744 2008-08-29 Pavel Roskin <proski@gnu.org>
27745
27746 * kern/powerpc/ieee1275/crt0.S: Rename to ...
27747 * kern/powerpc/ieee1275/startup.S: ... this.
27748 * conf/powerpc-ieee1275.rmk: Adjust for the above.
27749 * DISTLIST: Likewise.
27750
27751 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
27752 grub/cpu/kernel.h. Add start label for consistency with other
27753 platforms. Add grub_prefix immediately after start. Add jump
27754 to the code after grub_prefix.
27755 * include/grub/powerpc/kernel.h: Provide valid values for
27756 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
27757
27758 2008-08-29 Bean <bean123ch@gmail.com>
27759
27760 * configure.ac: Change host_os to cygwin for mingw.
27761 (asprintf): New check for function.
27762
27763 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
27764 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
27765
27766 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
27767 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
27768 sync, sleep and grub_util_get_disk_size for mingw.
27769
27770 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
27771 to get size in mingw.
27772 (open_device): Use flag O_BINARY if it's defined.
27773 (find_root_device): Add dummy code for mingw.
27774
27775 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
27776 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
27777 (get_scsi_disk_name): Return 0 for mingw.
27778
27779 * util/hostfs.c: #include <grub/util/misc.h>.
27780 (grub_hostfs_open): Use "rb" flag to open file, use
27781 grub_util_get_disk_size to get disk size for mingw.
27782
27783 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
27784 (asprintf): New function if HAVE_ASPRINTF is not set.
27785 (sync): New function for mingw.
27786 (sleep): Likewise.
27787 (grub_util_get_disk_size): Likewise.
27788
27789 2008-08-28 Pavel Roskin <proski@gnu.org>
27790
27791 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
27792 kern/time.c.
27793
27794 2008-08-28 Robert Millan <rmh@aybabtu.com>
27795
27796 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
27797
27798 2008-08-28 Robert Millan <rmh@aybabtu.com>
27799
27800 Change find_grub_drive() syntax so it doesn't prevent it from
27801 detecting NULL names as errors.
27802
27803 * util/biosdisk.c (find_grub_drive): Move free slot search code
27804 from here ...
27805 (find_free_slot): ... to here.
27806 (read_device_map): Use find_free_slot() to search for free slots.
27807
27808 2008-08-27 Marco Gerards <marco@gnu.org>
27809
27810 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
27811 (scsi_mod_SOURCES): New variable.
27812 (scsi_mod_CFLAGS): Likewise
27813 (scsi_mod_LDFLAGS): Likewise.
27814
27815 * disk/scsi.c: New file.
27816
27817 * include/grub/scsi.h: Likewise.
27818
27819 * include/grub/scsicmd.h: Likewise.
27820
27821 * disk/ata.c: Include <grub/scsi.h>.
27822 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
27823 instead.
27824 (grub_ata_iterate): Skip ATAPI devices.
27825 (grub_ata_open): Only handle ATAPI devices.
27826 (struct grub_atapi_read): Removed.
27827 (grub_atapi_readsector): Likewise.
27828 (grub_ata_read): No longer handle ATAPI devices.
27829 (grub_ata_write): Likewise.
27830 (grub_atapi_iterate): New function.
27831 (grub_atapi_read): Likewise.
27832 (grub_atapi_write): Likewise.
27833 (grub_atapi_open): Likewise.
27834 (grub_atapi_close): Likewise.
27835 (grub_atapi_dev): New variable.
27836 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
27837 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
27838
27839 * include/grub/disk.h (enum grub_disk_dev_id): Add
27840 `GRUB_DISK_DEVICE_SCSI_ID'.
27841
27842 2008-08-26 Robert Millan <rmh@aybabtu.com>
27843
27844 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
27845 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
27846 descriptive.
27847
27848 2008-08-23 Bean <bean123ch@gmail.com>
27849
27850 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
27851 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
27852 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
27853 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
27854 dm_nv.mod.
27855 (raid5rec_mod_SOURCES): New macro.
27856 (raid5rec_mod_CFLAGS): Likewise.
27857 (raid5rec_mod_LDFLAGS): Likewise.
27858 (raid6rec_mod_SOURCES): Likewise.
27859 (raid6rec_mod_CFLAGS): Likewise.
27860 (raid6rec_mod_LDFLAGS): Likewise.
27861 (mdraid_mod_SOURCES): Likewise.
27862 (mdraid_mod_CFLAGS): Likewise.
27863 (mdraid_mod_LDFLAGS): Likewise.
27864 (dm_nv_mod_SOURCES): Likewise.
27865 (dm_nv_mod_CFLAGS): Likewise.
27866 (dm_nv_mod_LDFLAGS): Likewise.
27867
27868 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
27869 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
27870 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
27871
27872 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
27873 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
27874
27875 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
27876
27877 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
27878
27879 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27880
27881 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27882
27883 * disk/raid5_recover.c: New file.
27884
27885 * disk/raid6_recover.c: Likewise.
27886
27887 * disk/mdraid_linux.c: Likewise.
27888
27889 * disk/dmraid_nvidia.c: Likewise.
27890
27891 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
27892 ULONG_MAX.
27893
27894 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
27895 calculate the size of raid device.
27896 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
27897 different layout of raid5.
27898 (grub_raid_scan_device): Remove code specific to mdraid.
27899 (grub_raid_list): New variable.
27900 (free_array): New function.
27901 (grub_raid_register): Likewise.
27902 (grub_raid_unregister): Likewise.
27903 (grub_raid_rescan): Likewise.
27904 (GRUB_MOD_INIT): Don't iterate device here.
27905 (GRUB_MOD_FINI): Use free_array to release resource.
27906
27907 * include/grub/raid.h: Remove macro and structure specific to mdraid.
27908 (grub_raid5_recover_func_t): New function variable type.
27909 (grub_raid6_recover_func_t): Likewise.
27910 (grub_raid5_recover_func): New variable.
27911 (grub_raid6_recover_func): Likewise.
27912 (grub_raid_register): New function.
27913 (grub_raid_unregister): Likewise.
27914 (grub_raid_rescan): Likewise.
27915 (grub_raid_block_xor): Likewise.
27916
27917 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
27918 (CMD_CRC): New macro.
27919 (part): Removed.
27920 (read_file): Handle device as well as file.
27921 (cmd_crc): New function.
27922 (fstest): Handle multiple disks.
27923 (options): Remove part, raw and long, add root and diskcount.
27924 (usage): Add crc, remove -p, -r, -l, add -r and -c.
27925 (main): Find the first non option entry and ignore subsequent options,
27926 add handling for the new options, support multiple disks.
27927
27928 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
27929
27930 2008-08-23 Bean <bean123ch@gmail.com>
27931
27932 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
27933
27934 * genfslist.sh: Ignore kernel.mod.
27935
27936 * genpartmaplist.sh: Likewise.
27937
27938 2008-08-23 Robert Millan <rmh@aybabtu.com>
27939
27940 * util/getroot.c (find_root_device): Skip anything that starts with
27941 a dot, not just directories. This avoids things like /dev/.tmp.md0.
27942
27943 2008-08-22 Felix Zielcke <fzielcke@z-51.de>
27944
27945 * util/update-grub.in (GRUB_GFXMODE): Export variable.
27946 * util/grub.d/00_header.in: Allow the administrator to change default
27947 gfxmode via ${GRUB_GFXMODE}.
27948
27949 2008-08-21 Felix Zielcke <fzielcke@z-51.de>
27950
27951 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
27952
27953 2008-08-21 Robert Millan <rmh@aybabtu.com>
27954
27955 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
27956 loader.
27957 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
27958 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
27959
27960 2008-08-20 Carles Pina i Estany <carles@pina.cat>
27961
27962 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
27963 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
27964
27965 2008-08-19 Robert Millan <rmh@aybabtu.com>
27966
27967 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
27968 (struct grub_virtual_screen): Remove `cursor_color'.
27969 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
27970 initialization.
27971 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
27972
27973 2008-08-18 Robert Millan <rmh@aybabtu.com>
27974
27975 Unify (identical) linux_normal.c files.
27976 * loader/i386/efi/linux_normal.c: Move from here ...
27977 * loader/linux_normal.c: ... to here. Update all users.
27978 * loader/i386/pc/linux_normal.c: Delete. Update all users.
27979 * loader/i386/ieee1275/linux_normal.c: Likewise.
27980
27981 2008-08-18 Robert Millan <rmh@aybabtu.com>
27982
27983 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
27984 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
27985 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
27986 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
27987 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
27988 New macros.
27989 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
27990 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
27991 (GRUB_LINUX_CL_END_OFFSET): ... to here.
27992 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
27993 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
27994 (GRUB_EFI_CL_END_OFFSET): Rename to ...
27995 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
27996 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
27997 Initialize `params->video_cursor_x' and `params->video_cursor_y'
27998 portably using grub_getxy().
27999 Replace `-EFI' with `-bzImage' in boot message.
28000
28001 2008-08-17 Robert Millan <rmh@aybabtu.com>
28002
28003 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
28004
28005 2008-08-17 Robert Millan <rmh@aybabtu.com>
28006
28007 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
28008
28009 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
28010 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
28011 (grub_machine_mmap_iterate): New function declaration.
28012 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
28013 structure.
28014 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
28015 macros.
28016
28017 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
28018 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
28019 Move e820 parsing from here ...
28020 * kern/i386/pc/mmap.c: New file.
28021 (grub_machine_mmap_iterate): ... to here.
28022
28023 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
28024 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
28025 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
28026 (grub_available_iterate): Redeclare to return `void', and redeclare
28027 its hook to use grub_uint64_t as addr and size parameters, and rename
28028 to ...
28029 (grub_machine_mmap_iterate): ... this. Update all users.
28030
28031 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
28032 to make it more readable. Rename to ...
28033 (grub_machine_mmap_iterate): ... this.
28034
28035 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
28036 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
28037 (grub_multiboot): Allocate an extra region after the payload, and fill
28038 it with a Multiboot memory map. Adjust a.out loader to calculate size
28039 with the extra space.
28040 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
28041 with the extra space.
28042
28043 2008-08-17 Carles Pina i Estany <carles@pina.cat>
28044
28045 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
28046
28047 2008-08-17 Felix Zielcke <fzielcke@z-51.de>
28048
28049 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
28050 mdate-sh to the list `find' searches for.
28051 * DISTLIST: Regenerated.
28052
28053 2008-08-16 Felix Zielcke <fzielcke@z-51.de>
28054
28055 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
28056 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
28057 genmoddep.awk, gensymlist.sh.in.
28058 (DISTDIRS): Add bus, docs, hook, lib.
28059 * DISTLIST: Regenerated.
28060 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
28061
28062 2008-08-16 Robert Millan <rmh@aybabtu.com>
28063
28064 * disk/raid.c (grub_raid_init): Handle/report errors set by
28065 grub_device_iterate().
28066 * disk/lvm.c (grub_lvm_init): Likewise.
28067
28068 2008-08-15 Bean <bean123ch@gmail.com>
28069
28070 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
28071 and datehook.mod.
28072 (datetime_mod_SOURCES): New macro.
28073 (datetime_mod_CFLAGS): Likewise.
28074 (datetime_mod_LDFLAGS): Likewise.
28075 (date_mod_SOURCES): Likewise.
28076 (date_mod_CFLAGS): Likewise.
28077 (date_mod_LDFLAGS): Likewise.
28078 (datehook_mod_SOURCES): Likewise.
28079 (datehook_mod_CFLAGS): Likewise.
28080 (datehook_mod_LDFLAGS): Likewise.
28081
28082 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
28083 and datehook.mod.
28084 (datetime_mod_SOURCES): New macro.
28085 (datetime_mod_CFLAGS): Likewise.
28086 (datetime_mod_LDFLAGS): Likewise.
28087 (date_mod_SOURCES): Likewise.
28088 (date_mod_CFLAGS): Likewise.
28089 (date_mod_LDFLAGS): Likewise.
28090 (datehook_mod_SOURCES): Likewise.
28091 (datehook_mod_CFLAGS): Likewise.
28092 (datehook_mod_LDFLAGS): Likewise.
28093
28094 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
28095 and datehook.mod.
28096 (datetime_mod_SOURCES): New macro.
28097 (datetime_mod_CFLAGS): Likewise.
28098 (datetime_mod_LDFLAGS): Likewise.
28099 (date_mod_SOURCES): Likewise.
28100 (date_mod_CFLAGS): Likewise.
28101 (date_mod_LDFLAGS): Likewise.
28102 (datehook_mod_SOURCES): Likewise.
28103 (datehook_mod_CFLAGS): Likewise.
28104 (datehook_mod_LDFLAGS): Likewise.
28105
28106 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
28107 and datehook.mod.
28108 (datetime_mod_SOURCES): New macro.
28109 (datetime_mod_CFLAGS): Likewise.
28110 (datetime_mod_LDFLAGS): Likewise.
28111 (date_mod_SOURCES): Likewise.
28112 (date_mod_CFLAGS): Likewise.
28113 (date_mod_LDFLAGS): Likewise.
28114 (datehook_mod_SOURCES): Likewise.
28115 (datehook_mod_CFLAGS): Likewise.
28116 (datehook_mod_LDFLAGS): Likewise.
28117
28118 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
28119 and datehook.mod.
28120 (datetime_mod_SOURCES): New macro.
28121 (datetime_mod_CFLAGS): Likewise.
28122 (datetime_mod_LDFLAGS): Likewise.
28123 (date_mod_SOURCES): Likewise.
28124 (date_mod_CFLAGS): Likewise.
28125 (date_mod_LDFLAGS): Likewise.
28126 (datehook_mod_SOURCES): Likewise.
28127 (datehook_mod_CFLAGS): Likewise.
28128 (datehook_mod_LDFLAGS): Likewise.
28129
28130 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
28131
28132 * commands/date.c: New file.
28133
28134 * hook/datehook.c: Likewise.
28135
28136 * include/grub/lib/datetime.h: Likewise.
28137
28138 * include/grub/i386/cmos.h: Likewise.
28139
28140 * lib/datetime.c: Likewise.
28141
28142 * lib/i386/datetime.c: Likewise.
28143
28144 * lib/efi/datetime.c: Likewise.
28145
28146 2008-08-14 Robert Millan <rmh@aybabtu.com>
28147
28148 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
28149 (grub_mkelfimage_SOURCES): New variable.
28150 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
28151
28152 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
28153 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
28154 * conf/powerpc-ieee1275.rmk: Likewise.
28155 * conf/i386-ieee1275.rmk: Likewise.
28156
28157 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
28158 * kern/i386/coreboot/init.c: Likewise.
28159
28160 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
28161 with `<grub/cpu/kernel.h>'.
28162 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
28163 to ...
28164 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
28165 * kern/i386/coreboot/startup.S: Likewise.
28166
28167 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
28168 (GRUB_MOD_GAP): Remove.
28169 * include/grub/powerpc/kernel.h: New file.
28170 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
28171 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
28172 * include/grub/i386/kernel.h: New file.
28173 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
28174 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
28175 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
28176
28177 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
28178 `grub-mkelfimage'.
28179 Use --directory when invoking grub_mkimage.
28180
28181 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
28182 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
28183 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
28184 and GRUB_KERNEL_CPU_PREFIX.
28185
28186 2008-08-14 Felix Zielcke <fzielcke@z-51.de>
28187
28188 * include/grub/err.h (grub_err_printf): New function prototype.
28189 * util/misc.c (grub_err_printf): New function.
28190 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
28191 grub_printf.
28192 * kern/err.c (grub_print_error): Use grub_err_printf.
28193
28194 2008-08-13 Robert Millan <rmh@aybabtu.com>
28195
28196 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
28197
28198 2008-08-13 Robert Millan <rmh@aybabtu.com>
28199
28200 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
28201 boot entry.
28202
28203 2008-08-12 Robert Millan <rmh@aybabtu.com>
28204
28205 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
28206 of the relocation code from here ...
28207 (grub_multiboot): ... to here.
28208 (forward_relocator, backward_relocator): Move from here ...
28209 * kern/i386/loader.S (grub_multiboot_forward_relocator)
28210 (grub_multiboot_backward_relocator): ... to here.
28211 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
28212 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
28213 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
28214 (grub_multiboot_forward_relocator_end)
28215 (grub_multiboot_backward_relocator)
28216 (grub_multiboot_backward_relocator_end): New variables.
28217
28218 2008-08-12 Bean <bean123ch@gmail.com>
28219
28220 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
28221
28222 2008-08-11 Robert Millan <rmh@aybabtu.com>
28223
28224 * kern/i386/linuxbios/startup.S: Move from here ...
28225 * kern/i386/coreboot/startup.S: ... to here.
28226
28227 * kern/i386/linuxbios/init.c: Move from here ...
28228 * kern/i386/coreboot/init.c: ... to here.
28229
28230 * kern/i386/linuxbios/table.c: Move from here ...
28231 * kern/i386/coreboot/mmap.c: ... to here.
28232
28233 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
28234
28235 2008-08-11 Robert Millan <rmh@aybabtu.com>
28236
28237 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
28238 errors. Leave it to the upper layer to handle them.
28239
28240 2008-08-09 Christian Franke <franke@computer.org>
28241
28242 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
28243 * conf/common.rmk: Install `grub-pe2elf' only if requested.
28244 Install `grub.d/10_windows' only on Cygwin.
28245 * configure.ac: Add subst of `target_os'.
28246 Check `target_os' also before setting TARGET_OBJ2ELF.
28247 Add `--enable-grub-pe2elf'.
28248
28249 2008-08-08 Robert Millan <rmh@aybabtu.com>
28250
28251 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
28252 (grub_last_time): Change type to grub_uint64_t.
28253 (grub_disk_open): Migrate code from to using grub_get_time_ms().
28254 (grub_disk_close): Likewise.
28255
28256 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
28257 (run_menu): Migrate code from to using grub_get_time_ms().
28258
28259 * util/misc.c (grub_get_time_ms): New function.
28260
28261 2008-08-08 Marco Gerards <marco@gnu.org>
28262
28263 * disk/ata.c (grub_ata_regget): Change return type to
28264 `grub_uint8_t'.
28265 (grub_ata_regget2): Likewise.
28266 (grub_ata_wait_status): New function.
28267 (grub_ata_wait_busy): Removed function, updated all users to use
28268 `grub_ata_wait_status'.
28269 (grub_ata_wait_drq): Likewise.
28270 (grub_ata_cmd): New function.
28271 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
28272 error handling.
28273 (grub_ata_pio_write): Add error handling.
28274 (grub_atapi_identify): Likewise.
28275 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
28276 handling.
28277 (grub_ata_identify): Use `grub_ata_cmd' and improve error
28278 handling. Actually use the detected registers. Reorder the
28279 detection logic such that it is easier to read.
28280 (grub_ata_pciinit): Do not assign the same ID to each controller.
28281 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
28282 handling.
28283 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
28284
28285 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
28286
28287 2008-08-08 Marco Gerards <marco@gnu.org>
28288
28289 * NEWS: Update.
28290
28291 2008-08-07 Bean <bean123ch@gmail.com>
28292
28293 * include/grub/x86_64/pci.h: New file.
28294
28295 2008-08-07 Christian Franke <franke@computer.org>
28296
28297 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
28298 (TIMER2_GATE): Likewise.
28299 (grub_pit_wait): Add enable/disable of the timer2 gate
28300 bit of port 0x61. This fixes a possible infinite loop.
28301
28302 2008-08-07 Bean <bean123ch@gmail.com>
28303
28304 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
28305 kern/i386/tsc.c and kern/i386/pit.c.
28306
28307 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
28308 x86_64 platform.
28309
28310 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
28311 <grub/i386/tsc.h>.
28312
28313 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
28314
28315 2008-08-07 Bean <bean123ch@gmail.com>
28316
28317 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
28318
28319 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
28320
28321 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
28322 multiple inclusion. Add #include <grub/types.h>.
28323
28324 2008-08-06 Christian Franke <franke@computer.org>
28325
28326 * conf/common.rmk: Build and install `10_windows'.
28327 * util/grub.d/10_windows.in: New script.
28328
28329 2008-08-06 Pavel Roskin <proski@gnu.org>
28330
28331 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
28332
28333 2008-08-06 Robert Millan <rmh@aybabtu.com>
28334
28335 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
28336 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
28337
28338 2008-08-06 Bean <bean123ch@gmail.com>
28339
28340 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
28341 (grub_pxefs_fs_int): Remove dummy definition.
28342 (grub_pxefs_open): Use data->block_size to store the current block
28343 size setting.
28344 (grub_pxefs_read): Use block size stored in data->block_size. As the
28345 value of grub_pxe_blksize can be changed after the file is opened.
28346
28347 2008-08-06 Bean <bean123ch@gmail.com>
28348
28349 * fs/i386/pc/pxe.c (curr_file): new variable.
28350 (grub_pxefs_open): Simply the handling of pxe file system. Don't
28351 require the dummy internal file system anymore.
28352 (grub_pxefs_read): Removed.
28353 (grub_pxefs_close): Likewise.
28354 (grub_pxefs_fs_int): Likewise.
28355 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
28356 connection when we switch file.
28357 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
28358
28359 2008-08-06 Robert Millan <rmh@aybabtu.com>
28360
28361 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
28362 `halt.mod'.
28363 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
28364 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
28365
28366 * kern/i386/halt.c: New file.
28367 * kern/i386/reboot.c: Likewise.
28368 * include/grub/i386/reboot.h: Likewise.
28369 * include/grub/i386/halt.h: Likewise.
28370
28371 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
28372 Include `<grub/cpu/halt.h>'.
28373 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
28374 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
28375
28376 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
28377 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
28378 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
28379 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
28380 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
28381 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
28382 from here ...
28383 * include/grub/i386/at_keyboard.h: ... to here.
28384
28385 2008-08-05 Robert Millan <rmh@aybabtu.com>
28386
28387 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
28388 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
28389 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
28390 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
28391 `kern/generic/millisleep.c'.
28392
28393 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
28394 instead of grub_get_rtc().
28395 (grub_tsc_init): Initialize `tsc_boot_time'.
28396
28397 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
28398 (grub_machine_init): Use grub_tsc_init() rather than
28399 installing an RTC-based handler via grub_install_get_time_ms().
28400
28401 * kern/i386/pit.c: New file.
28402 * include/grub/i386/pit.h: Likewise.
28403
28404 2008-08-05 Bean <bean123ch@gmail.com>
28405
28406 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
28407
28408 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
28409 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
28410 (pxe_mod_SOURCES): New macro.
28411 (pxe_mod_CFLAGS): Likewise.
28412 (pxe_mod_LDFLAGS): Likewise.
28413 (pxecmd_mod_SOURCES): Likewise.
28414 (pxecmd_mod_CFLAGS): Likewise.
28415 (pxecmd_mod_LDFLAGS): Likewise.
28416
28417 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
28418 (grub_pxe_call): Likewise.
28419
28420 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
28421
28422 * commands/i386/pc/pxecmd.c: New file.
28423
28424 * fs/i386/pc/pxe.c: Likewise.
28425
28426 * include/grub/i386/pc/pxe.h: Likewise.
28427
28428 2008-08-05 Bean <bean123ch@gmail.com>
28429
28430 * util/console.c (grub_console_cur_color): New variable.
28431 (grub_console_standard_color): Likewise.
28432 (grub_console_normal_color): Likewise.
28433 (grub_console_highlight_color): Likewise.
28434 (color_map): Likewise.
28435 (use_color): Likewise.
28436 (NUM_COLORS): New macro.
28437 (grub_ncurses_setcolorstate): Handle color properly.
28438 (grub_ncurses_setcolor): Don't change color here, just remember the
28439 settings, color will be set in grub_ncurses_setcolorstate.
28440 (grub_ncurses_getcolor): New function.
28441 (grub_ncurses_init): Initialize color pairs.
28442 (grub_ncurses_term): New member grub_ncurses_getcolor.
28443
28444 2008-08-05 Colin D Bennett <colin@gibibit.com>
28445
28446 High resolution timer support. Implemented for x86 CPUs using TSC.
28447 Extracted generic grub_millisleep() so it's linked in only as needed.
28448 This requires a Pentium compatible CPU; if the RDTSC instruction is
28449 not supported, then it falls back on the generic grub_get_time_ms()
28450 implementation that uses the machine's RTC.
28451
28452 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
28453 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
28454 `kern/generic/millisleep.c'.
28455
28456 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
28457 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
28458
28459 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
28460 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
28461
28462 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
28463
28464 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
28465 `kern/generic/millisleep.c'.
28466
28467 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
28468
28469 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
28470
28471 * kern/generic/rtc_get_time_ms.c: New file.
28472
28473 * kern/generic/millisleep.c: New file.
28474
28475 * kern/misc.c: Don't include
28476 <kern/time.h> anymore.
28477 (grub_millisleep_generic): Removed.
28478
28479 * commands/sleep.c (grub_interruptible_millisleep): Uses
28480 grub_get_time_ms() instead of grub_get_rtc().
28481
28482 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
28483 function.
28484 (grub_cpu_is_cpuid_supported): New inline function.
28485 (grub_cpu_is_tsc_supported): New inline function.
28486 (grub_tsc_init): New function prototype.
28487 (grub_tsc_get_time_ms): New function prototype.
28488
28489 * kern/i386/tsc.c (grub_get_time_ms): New file.
28490
28491 * include/grub/time.h: Include <grub/types.h.
28492 (grub_millisleep_generic): Removed.
28493 (grub_get_time_ms): New prototype.
28494 (grub_install_get_time_ms): New prototype.
28495 (grub_rtc_get_time_ms): New prototype.
28496
28497 * kern/time.c (grub_get_time_ms): New function.
28498 (grub_install_get_time_ms): New function.
28499
28500 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
28501 <grub/time.h> anymore.
28502 (grub_millisleep): Removed.
28503 (grub_machine_init): Call grub_tsc_init.
28504
28505 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
28506 get_time_ms() implementation.
28507
28508 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
28509 (ieee1275_get_time_ms): New function.
28510 (grub_machine_init): Install get_time_ms() implementation.
28511
28512 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
28513 (grub_machine_init): Call grub_tsc_init().
28514 (grub_millisleep): Removed.
28515
28516 * kern/ieee1275/init.c (grub_millisleep): Removed.
28517 (grub_machine_init): Install ieee1275_get_time_ms()
28518 implementation.
28519 (ieee1275_get_time_ms): New function.
28520 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
28521 real work.
28522
28523 2008-08-05 Marco Gerards <marco@gnu.org>
28524
28525 * disk/ata.c: Include <grub/pci.h>.
28526 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
28527 (grub_ata_initialize): Rewritten.
28528 (grub_ata_device_initialize): New function.
28529
28530 2008-08-04 Pavel Roskin <proski@gnu.org>
28531
28532 * kern/main.c: Include grub/mm.h.
28533
28534 2008-08-04 Robert Millan <rmh@aybabtu.com>
28535
28536 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
28537 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
28538 corruption problem).
28539
28540 2008-08-04 Robert Millan <rmh@aybabtu.com>
28541
28542 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
28543 warnings introduced in my last commit.
28544
28545 2008-08-03 Robert Millan <rmh@aybabtu.com>
28546
28547 Make PCI available on all i386 architectures.
28548
28549 * include/grub/i386/pc/pci.h: Move from here ...
28550 * include/grub/i386/pci.h: ... to here.
28551
28552 * include/grub/i386/pc/pci.h: Remove.
28553 * include/grub/i386/efi/pci.h: Remove.
28554 * include/grub/x86_64/efi/pci.h: Remove.
28555
28556 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
28557 `<grub/cpu/pci.h>'.
28558
28559 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
28560 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
28561 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
28562
28563 * conf/i386-ieee1275.rmk: Likewise.
28564
28565 2008-08-03 Robert Millan <rmh@aybabtu.com>
28566
28567 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
28568 (grub_console_setcursor): Make it possible to set cursor off.
28569
28570 2008-08-03 Robert Millan <rmh@aybabtu.com>
28571
28572 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
28573 of modules instead of assuming which platform provides what.
28574 * util/update-grub.in: Likewise.
28575
28576 2008-08-03 Robert Millan <rmh@aybabtu.com>
28577
28578 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
28579 instead of `grub_install_dos_part' to determine whether a drive needs
28580 to be prepended to prefix (`grub_install_dos_part' is not reliable,
28581 because it can be overridden when loading GRUB via Multiboot).
28582
28583 2008-08-02 Robert Millan <rmh@aybabtu.com>
28584
28585 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
28586
28587 2008-08-02 Robert Millan <rmh@aybabtu.com>
28588
28589 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
28590 of informational grub_dprintf() calls.
28591
28592 2008-08-02 Robert Millan <rmh@aybabtu.com>
28593
28594 * disk/memdisk.c (memdisk_size): Don't initialize.
28595 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
28596
28597 * include/grub/i386/pc/kernel.h
28598 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
28599 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
28600 (grub_memdisk_image_size, grub_arch_memdisk_addr)
28601 (grub_arch_memdisk_size): Remove.
28602
28603 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
28604 field (was only used to transfer a constant). Add `type' field to
28605 support multiple module types.
28606 (grub_module_iterate): New function.
28607
28608 * kern/device.c (grub_device_open): Do not hide error messages
28609 when grub_disk_open() fails. Use grub_print_error() instead.
28610
28611 * kern/i386/pc/init.c (grub_arch_modules_addr)
28612 (grub_arch_memdisk_size): Remove functions.
28613 (grub_arch_modules_addr): Return the module address in high memory
28614 (now that it isn't copied anymore).
28615
28616 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
28617 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
28618 decompression routine (grub_total_module_size already includes that
28619 now). Don't copy modules back to low memory.
28620
28621 * kern/main.c: Include `<grub/mm.h>'.
28622 (grub_load_modules): Split out (and use) ...
28623 (grub_module_iterate): ... this function, which iterates through
28624 module objects and runs a hook.
28625 Comment out grub_mm_init_region() call, as it would cause non-ELF
28626 modules to be overwritten.
28627
28628 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
28629 the memdisk image in its own region, make it part of the module list.
28630 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
28631 (main): Parse --memdisk|-m option, and pass user-provided path as
28632 parameter to generate_image().
28633 (add_segments): Pass `memdisk_path' down to load_modules().
28634 (load_modules): Embed memdisk image in module section when requested.
28635 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
28636 `header.type' instead of `header.offset'.
28637
28638 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
28639 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
28640 (memdisk_mod_LDFLAGS): New variables.
28641 * conf/i386-coreboot.rmk: Likewise.
28642 * conf/i386-ieee1275.rmk: Likewise.
28643
28644 2008-08-02 Robert Millan <rmh@aybabtu.com>
28645
28646 * loader/i386/pc/multiboot.c (playground, forward_relocator)
28647 (backward_relocator): New variables. Used to allocate and relocate
28648 the payload, respectively.
28649 (grub_multiboot_load_elf32): Load into heap instead of requested
28650 address, install the appropriate relocator code in each bound of
28651 the payload, and set the entry point such that
28652 grub_multiboot_real_boot() will jump to one of them.
28653
28654 * kern/i386/loader.S (grub_multiboot_payload_size)
28655 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
28656 (grub_multiboot_payload_entry_offset): New variables.
28657 (grub_multiboot_real_boot): Set cpu context to what the relocator
28658 expects, and jump to the relocator instead of the payload.
28659
28660 * include/grub/i386/loader.h (grub_multiboot_payload_size)
28661 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
28662 (grub_multiboot_payload_entry_offset): Export.
28663
28664 2008-08-01 Bean <bean123ch@gmail.com>
28665
28666 * normal/menu_entry.c (editor_getline): Don't return the original
28667 string as result, as it will be released by lexer once it has done
28668 using it.
28669
28670 2008-08-01 Robert Millan <rmh@aybabtu.com>
28671
28672 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
28673 within menuentries, not before them.
28674 util/grub.d/10_hurd.in: Likewise.
28675
28676 2008-08-01 Bean <bean123ch@gmail.com>
28677
28678 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
28679 (bufio_mod_SOURCES): New macro.
28680 (bufio_mod_CFLAGS): Likewise.
28681 (bufio_mod_LDFLAGS): Likewise.
28682
28683 * include/grub/bufio.h: New file.
28684
28685 * io/bufio.c: Likewise.
28686
28687 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
28688 (grub_video_reader_png): Use grub_buffile_open to open file.
28689
28690 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
28691 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
28692
28693 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
28694 (grub_video_reader_tga): Use grub_buffile_open to open file.
28695
28696 * font/manager.c: Include <grub/bufio.h>.
28697 (add_font): Use grub_buffile_open to open file.
28698
28699 2008-07-31 Robert Millan <rmh@aybabtu.com>
28700
28701 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
28702 ELF segments, use a macro for arbitrarily accessing any of them instead
28703 of preparing a pointer that allows access to one at a time.
28704 (grub_multiboot_load_elf64): Likewise.
28705
28706 2008-07-31 Bean <bean123ch@gmail.com>
28707
28708 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
28709 GRUB_KERNEL_MACHINE_DATA_END.
28710
28711 2008-07-30 Robert Millan <rmh@aybabtu.com>
28712
28713 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
28714 Increase from 0x50 to 0x60.
28715 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
28716 use UUIDs to identify the root drive for them. If that's not
28717 possible, abort.
28718 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
28719 check, for cross-disk installs.
28720
28721 2008-07-30 Robert Millan <rmh@aybabtu.com>
28722
28723 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
28724 is non-empty, use it to set the `prefix' environment variable instead
28725 of the usual approach.
28726 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
28727 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
28728 environment variable instead of dummy make_install_device().
28729
28730 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
28731 (start): Insert a data section, with `grub_prefix' variable.
28732 * kern/i386/linuxbios/startup.S: Likewise.
28733
28734 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
28735 New variable reference.
28736 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
28737 New macro. Defines offset of `grub_prefix' within startup.S (relative
28738 to `start').
28739 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
28740 section within startup.S (relative to `start').
28741 * include/grub/i386/coreboot/kernel.h: Likewise.
28742
28743 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
28744 Overwrite grub_prefix with its contents, at the beginning of the
28745 first segment.
28746 (main): Understand -p|--prefix.
28747
28748 2008-07-30 Robert Millan <rmh@aybabtu.com>
28749
28750 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
28751
28752 2008-07-30 Robert Millan <rmh@aybabtu.com>
28753
28754 * term/i386/pc/vga_text.c (grub_console_cls): Use
28755 grub_console_gotoxy() to go back to beginning of the screen.
28756 Found by Patrick Georgi <patrick.georgi@coresystems.de>
28757
28758 2008-07-29 Christian Franke <franke@computer.org>
28759
28760 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
28761 Add conversion of emulated mount points on Cygwin.
28762
28763 2008-07-29 Christian Franke <franke@computer.org>
28764
28765 * util/update-grub.in: Add a check for admin
28766 group on Cygwin.
28767 Remove old `grub.cfg.new' before creation.
28768 Add `-f' to `mv' to handle the different filesystem
28769 semantics of Windows.
28770
28771 2008-07-29 Bean <bean123ch@gmail.com>
28772
28773 * normal/main.c (get_line): Fix buffer overflow bug.
28774
28775 2008-07-28 Robert Millan <rmh@aybabtu.com>
28776
28777 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
28778 (struct grub_apple_header): New struct. Describes the layout of
28779 the partmap header.
28780 (apple_partition_map_iterate): Check the header magic as well as the
28781 partition magic (which was already being checked).
28782
28783 2008-07-28 Pavel Roskin <proski@gnu.org>
28784
28785 * genmk.rb: Add a warning to the beginning of the output that
28786 it's a generated file and should not be edited.
28787
28788 2008-07-28 Robert Millan <rmh@aybabtu.com>
28789
28790 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
28791 with the same number are found, just use issue a warning with
28792 grub_dprintf(), as this error has been reported to be non-fatal.
28793
28794 2008-07-27 Robert Millan <rmh@aybabtu.com>
28795
28796 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
28797 information.
28798
28799 2008-07-27 Bean <bean123ch@gmail.com>
28800
28801 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
28802 (grub_fat_find_dir): Ignore case when comparing filename.
28803
28804 2008-07-27 Bean <bean123ch@gmail.com>
28805
28806 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
28807 smallino, as it's more descriptive, and i8count can be confused with
28808 the other field count.
28809 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
28810 inode type.
28811
28812 2008-07-27 Bean <bean123ch@gmail.com>
28813
28814 * commands/crc.c: New file.
28815
28816 * lib/crc.c: Likewise.
28817
28818 * include/grub/lib/crc.h: Likewise.
28819
28820 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
28821
28822 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
28823 (hexdump): Move this function to ...
28824
28825 * lib/hexdump.c: ... here.
28826
28827 * include/grub/hexdump.h: Renamed to ...
28828
28829 * include/grub/lib/hexdump.h: ... this.
28830
28831 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
28832
28833 * util/grub-editenv.c: Likewise.
28834
28835 * include/envblk.h: Renamed to ...
28836
28837 * include/lib/envblk.h: ... this.
28838
28839 * util/envblk.c: Renamed to ...
28840
28841 * lib/envblk.c: ... this.
28842
28843 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
28844 lib/hexdump.c.
28845 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
28846 (pkglib_MODULES): Add crc.mod.
28847 (hexdump_mod_SOURCES): Add lib/hexdump.c.
28848 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
28849 (crc_mod_SOURCES): New macro.
28850 (crc_mod_CFLAGS): Likewise.
28851 (crc_mod_LDFLAGS): Likewise.
28852
28853 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
28854
28855 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
28856
28857 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
28858
28859 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28860
28861 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
28862
28863 2008-07-27 Felix Zielcke <fzielcke@z-51.de>
28864
28865 * commands/help.c: Include <grub/term.h>.
28866 (TERM_WIDTH): Removed. Updated all users.
28867
28868 2008-07-27 Pavel Roskin <proski@gnu.org>
28869
28870 * util/getroot.c (find_root_device): Rephrase a comment to avoid
28871 spurious warnings about a comment within a comment.
28872
28873 2008-07-25 Robert Millan <rmh@aybabtu.com>
28874
28875 * util/getroot.c (find_root_device): Skip devices that match
28876 /dev/dm-[0-9]. This lets the real device be found for any type of
28877 abstraction (LVM, EVMS, RAID..).
28878 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
28879 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
28880 device is found first, find_root_device() will now skip it.
28881
28882 2008-07-24 Pavel Roskin <proski@gnu.org>
28883
28884 * include/grub/types.h: Use __builtin_bswap32() and
28885 __builtin_bswap64() with gcc 4.3 and newer.
28886
28887 2008-07-24 Christian Franke <franke@computer.org>
28888
28889 * util/i386/pc/grub-install.in: If `--debug' is specified,
28890 pass `--verbose' to grub-setup.
28891 Abort script if make_system_path_relative_to_its_root() fails.
28892
28893 2008-07-24 Bean <bean123ch@gmail.com>
28894
28895 * configure.ac: Fixed a bug caused by the previous cygwin patch,
28896 variable `target_platform' should be `platform'.
28897
28898 2008-07-24 Bean <bean123ch@gmail.com>
28899
28900 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
28901 (grub_png_init_fixed_block): New function.
28902 (grub_png_decode_image_data): Handle fixed huffman code compression.
28903
28904 2008-07-24 Bean <bean123ch@gmail.com>
28905
28906 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
28907 (grub_pe2elf_SOURCES): New macro.
28908 (CLEANFILES): Add grub-pe2elf.
28909
28910 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
28911 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
28912 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
28913 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
28914 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
28915 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
28916 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
28917 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
28918 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
28919 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
28920 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
28921 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
28922 (GRUB_PE32_DT_FUNCTION): Likewise.
28923 (GRUB_PE32_REL_I386_DIR32): Likewise.
28924 (GRUB_PE32_REL_I386_REL32): Likewise.
28925 (grub_pe32_symbol): New structure.
28926 (grub_pe32_reloc): Likewise.
28927
28928 * util/grub-pe2elf.c: New file.
28929
28930 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
28931 start symbol in non pc platform.
28932
28933 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
28934
28935 The following patches are from Christian Franke.
28936
28937 * include/grub/dl.h: Remove .previous, gas supports this only
28938 for ELF format.
28939
28940 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
28941 Remove .type, gas supports this only for ELF format.
28942
28943 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
28944 nullbytes in symbol table. This fixes an infinite loop if table is
28945 zero filled.
28946
28947 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
28948 TARGET_IMG_LDFLAGS and EXEEXT.
28949
28950 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
28951 TARGET_IMG_LDFLAGS_AC.
28952 (grub_CHECK_STACK_ARG_PROBE): New function.
28953
28954 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
28955
28956 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
28957
28958 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
28959 to set TARGET_IMG_LD* accordingly.
28960 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
28961 Add call to grub_CHECK_STACK_ARG_PROBE.
28962 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
28963
28964 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
28965
28966 * genmk.rb: Add EXEEXT to CLEANFILES.
28967
28968 2008-07-23 Robert Millan <rmh@aybabtu.com>
28969
28970 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
28971 define the codes for arrows and lines used for the menu).
28972 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
28973 as well.
28974
28975 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
28976 fonts, because the latter are too slow.
28977
28978 2008-07-21 Bean <bean123ch@gmail.com>
28979
28980 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
28981 a20. Run keyboard test last, as it will cause macbook to halt.
28982
28983 2008-07-18 Pavel Roskin <proski@gnu.org>
28984
28985 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
28986 load foreign architecture modules correctly anyway. Keep
28987 support for loading host architecture modules, whether we
28988 compile them or not.
28989
28990 2008-07-17 Pavel Roskin <proski@gnu.org>
28991
28992 * configure.ac: Use -m32 or -m64 regardless of whether we had to
28993 change target_cpu. The compiler default can mismatch target_cpu
28994 in any case.
28995
28996 * disk/efi/efidisk.c: Fix format warnings on x86_64.
28997 * kern/efi/efi.c: Likewise.
28998
28999 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
29000 target compiler is functional.
29001 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
29002 are set up.
29003
29004 * configure.ac: Default to efi platform for x86_64-apple. Allow
29005 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
29006 adjustments from the rest, only do them if target is not
29007 explicitly given. Merge other adjustments with the final sanity
29008 check. Remove an extraneous check for supported CPU. Be
29009 specific which CPU and which platform is not supported.
29010
29011 * configure.ac: Default to pc platform for x86_64.
29012
29013 2008-07-17 Robert Millan <rmh@aybabtu.com>
29014
29015 Partial LinuxBIOS -> Coreboot rename.
29016
29017 * conf/i386-linuxbios.rmk: Renamed to ...
29018 * conf/i386-coreboot.rmk: ... this.
29019 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
29020 * configure.ac: Accept "coreboot" as input platform (but maintain
29021 compatibility with "linuxbios").
29022 * include/grub/i386/linuxbios: Renamed to ...
29023 * include/grub/i386/coreboot: ... this.
29024
29025 2008-07-17 Bean <bean123ch@gmail.com>
29026
29027 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
29028 (appleldr_mod_SOURCE): New variable.
29029 (appleldr_mod_CFLAGS): Likewise.
29030 (appleldr_mod_LDFLAGS): Likewise.
29031 (pci_mod_SOURCES): Likewise.
29032 (pci_mod_CFLAGS): Likewise.
29033 (pci_mod_LDFLAGS): Likewise.
29034 (lspci_mod_SOURCES): Likewise.
29035 (lspci_mod_CFLAGS): Likewise.
29036 (lspci_mod_LDFLAGS): Likewise.
29037
29038 * conf/x86_64-efi.rmk: New file.
29039
29040 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
29041 macro.
29042 (grub_efidisk_write): Likewise.
29043
29044 * include/efi/api.h (efi_call_0): New macro.
29045 (efi_call_1): Likewise.
29046 (efi_call_2): Likewise.
29047 (efi_call_3): Likewise.
29048 (efi_call_4): Likewise.
29049 (efi_call_5): Likewise.
29050 (efi_call_6): Likewise.
29051
29052 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
29053 grub_rescue_cmd_chainloader.
29054
29055 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
29056 (grub_pe32_optional_header): Change some fields based on i386 or
29057 x86_64 platform.
29058 (GRUB_PE32_PE32_MAGIC): Likewise.
29059
29060 * include/grub/efi/uga_draw.h: New file.
29061
29062 * include/grub/elf.h (STN_ABS): New constant.
29063 (R_X86_64_NONE): Relocation constant for x86_64.
29064 (R_X86_64_64): Likewise.
29065 (R_X86_64_PC32): Likewise.
29066 (R_X86_64_GOT32): Likewise.
29067 (R_X86_64_PLT32): Likewise.
29068 (R_X86_64_COPY): Likewise.
29069 (R_X86_64_GLOB_DAT): Likewise.
29070 (R_X86_64_JUMP_SLOT): Likewise.
29071 (R_X86_64_RELATIVE): Likewise.
29072 (R_X86_64_GOTPCREL): Likewise.
29073 (R_X86_64_32): Likewise.
29074 (R_X86_64_32S): Likewise.
29075 (R_X86_64_16): Likewise.
29076 (R_X86_64_PC16): Likewise.
29077 (R_X86_64_8): Likewise.
29078 (R_X86_64_PC8): Likewise.
29079
29080 * include/grub/i386/efi/pci.h: New file.
29081
29082 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
29083 Change it value based on platform.
29084 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
29085 (GRUB_E820_RAM): Likewise.
29086 (GRUB_E820_RESERVED): Likewise.
29087 (GRUB_E820_ACPI): Likewise.
29088 (GRUB_E820_NVS): Likewise.
29089 (GRUB_E820_EXEC_CODE): Likewise.
29090 (GRUB_E820_MAX_ENTRY): Likewise.
29091 (grub_e820_mmap): New structure.
29092 (linux_kernel_header): Change the efi field according to different
29093 kernel version, also field from linux_kernel_header.
29094
29095 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
29096
29097 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
29098 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
29099 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
29100 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
29101 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
29102 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
29103 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
29104 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
29105 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
29106 (GRUB_PCI_ADDR_IO_MASK): Likewise.
29107
29108 * include/grub/x86_64/efi/kernel.h: New file.
29109
29110 * include/grub/x86_64/efi/loader.h: Likewise.
29111
29112 * include/grub/x86_64/efi/machine.h: Likewise.
29113
29114 * include/grub/x86_64/efi/pci.h: Likewise.
29115
29116 * include/grub/x86_64/efi/time.h: Likewise.
29117
29118 * include/grub/x86_64/linux.h: Likewise.
29119
29120 * include/grub/x86_64/setjmp.h: Likewise.
29121
29122 * include/grub/x86_64/time.h: Likewise.
29123
29124 * include/grub/x86_64/types.h: Likewise.
29125
29126 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
29127 GRUB_TARGET_SIZEOF_VOID_P.
29128
29129 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
29130 (grub_efi_locate_handle): Likewise.
29131 (grub_efi_open_protocol): Likewise.
29132 (grub_efi_set_text_mode): Likewise.
29133 (grub_efi_stall): Likewise.
29134 (grub_exit): Likewise.
29135 (grub_reboot): Likewise.
29136 (grub_halt): Likewise.
29137 (grub_efi_exit_boot_services): Likewise.
29138 (grub_get_rtc): Likewise.
29139
29140 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
29141 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
29142 (grub_efi_allocate_pages): Wrap efi calls.
29143 (grub_efi_free_pages): Wrap efi calls.
29144 (grub_efi_get_memory_map): Wrap efi calls.
29145
29146 * kern/x86_64/dl.c: New file.
29147
29148 * kern/x86_64/efi/callwrap.S: Likewise.
29149
29150 * kern/x86_64/efi/startup.S: Likewise.
29151
29152 * loader/efi/appleloader.c: Likewise.
29153
29154 * loader/efi/chainloader.c (cmdline): New variable.
29155 (grub_chainloader_unload): Wrap efi calls.
29156 (grub_chainloader_boot): Likewise.
29157 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
29158 command line.
29159
29160 * loader/efi/chainloader_normal.c (chainloader_command):
29161 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
29162 command line.
29163
29164 * loader/i386/efi/linux.c (allocate_pages): Change allocation
29165 method.
29166 (grub_e820_add_region): New function.
29167 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
29168 booting.
29169 (grub_find_video_card): New function.
29170 (grub_linux_setup_video): New function.
29171 (grub_rescue_cmd_linux): Probe for video information.
29172
29173 * normal/x86_64/setjmp.S: New file.
29174
29175 * term/efi/console.c (map_char): New function.
29176 (grub_console_putchar): Map unicode char.
29177 (grub_console_checkkey): Wrap efi calls.
29178 (grub_console_getkey): Likewise.
29179 (grub_console_getwh): Likewise.
29180 (grub_console_gotoxy): Likewise.
29181 (grub_console_cls): Likewise.
29182 (grub_console_setcolorstate): Likewise.
29183 (grub_console_setcursor): Likewise.
29184
29185 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
29186
29187 2008-07-16 Pavel Roskin <proski@gnu.org>
29188
29189 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
29190 format strings.
29191
29192 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
29193 pointer, not an integer. This fixes a warning and prevents
29194 precision loss on 64-bit systems.
29195 (relocate_addresses): Remove unneeded cast.
29196
29197 2008-07-15 Pavel Roskin <proski@gnu.org>
29198
29199 * kern/i386/ieee1275/init.c: Include grub/cache.h.
29200
29201 * term/ieee1275/ofconsole.c: Disable code unused on i386.
29202
29203 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
29204 Fix comparison between signed and unsigned.
29205
29206 * include/grub/i386/ieee1275/console.h: Declare
29207 grub_console_init() and grub_console_fini().
29208
29209 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
29210 It's empty and unused.
29211
29212 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
29213 beginning to avoid warnings with some compilers.
29214
29215 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
29216 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
29217
29218 2008-07-14 Pavel Roskin <proski@gnu.org>
29219
29220 * kern/env.c (grub_register_variable_hook): Don't copy empty
29221 string, it leaks memory. Pass "" to grub_env_set(), it should
29222 handle constant strings.
29223
29224 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
29225 * commands/cmp.c (grub_cmd_cmp): Likewise.
29226 * kern/dl.c (grub_dl_flush_cache): Likewise.
29227 (grub_dl_load_core): Likewise.
29228 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
29229 (grub_elf64_load_phdrs): Likewise.
29230
29231 2008-07-13 Pavel Roskin <proski@gnu.org>
29232
29233 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
29234 between signed and unsigned.
29235 (LzmaEnc_Finish): Fix warning about an unused parameter.
29236
29237 2008-07-13 Bean <bean123ch@gmail.com>
29238
29239 * Makefile.in (enable_lzo): New rule.
29240
29241 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
29242
29243 * configure.ac (ENABLE_LZO): New option --enable-lzo.
29244
29245 * boot/i386/pc/lnxboot.S: #include <config.h>.
29246
29247 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
29248 its value according to the compression algorithm used, lzo or lzma.
29249
29250 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
29251 compression algorithm according to configure macro.
29252
29253 * kern/i386/pc/startup.S (codestart): Likewise.
29254
29255 * kern/i386/pc/lzma_decode.S: New file.
29256
29257 * include/grub/lib/LzFind.h: Likewise.
29258
29259 * include/grub/lib/LzHash.h: Likewise.
29260
29261 * include/grub/lib/LzmaDec.h: Likewise.
29262
29263 * include/grub/lib/LzmaEnc.h: Likewise.
29264
29265 * include/grub/lib/LzmaTypes.h: Likewise.
29266
29267 * lib/LzFind.c: Likewise.
29268
29269 * lib/LzmaDec.c: Likewise.
29270
29271 * lib/LzmaEnc.c: Likewise.
29272
29273 2008-07-13 Bean <bean123ch@gmail.com>
29274
29275 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
29276 (grub_ext4_extent_header): New structure.
29277 (grub_ext4_extent): Likewise.
29278 (grub_ext4_extent_idx): Likewise.
29279 (grub_ext4_find_leaf): New function.
29280 (grub_ext2_read_block): Handle extents.
29281
29282 2008-07-12 Robert Millan <rmh@aybabtu.com>
29283
29284 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
29285
29286 2008-07-11 Robert Millan <rmh@aybabtu.com>
29287
29288 * util/grub.d/40_custom.in: New file. Example on how to add custom
29289 entries to /etc/grub.d.
29290 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
29291 40_custom (implicitly, by merging all the grub.d rules).
29292
29293 2008-07-11 Pavel Roskin <proski@gnu.org>
29294
29295 * commands/read.c (grub_getline): Fix invalid memory access.
29296 Don't add newline to the variable value.
29297
29298 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
29299 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
29300 (serial_hw_get_port): Check validity of the port number.
29301 (grub_cmd_serial): Check return value of serial_hw_get_port().
29302
29303 2008-07-07 Pavel Roskin <proski@gnu.org>
29304
29305 * boot/i386/pc/diskboot.S (notification_string): Replace
29306 "Loading kernel" with just "loading". This is shorter, less
29307 confusing and saves a few bytes for possible future changes.
29308
29309 2008-07-05 Pavel Roskin <proski@gnu.org>
29310
29311 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
29312 size for ATAPI devices, they are undefined. Output sector
29313 number in decimal form.
29314
29315 * disk/ata.c: Use named constants for status bits.
29316
29317 2008-07-04 Pavel Roskin <proski@gnu.org>
29318
29319 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
29320 grub_addr_t before casting it to the void pointer to fix a
29321 warning. Non-addressable regions are discarded earlier.
29322 (grub_arch_modules_addr): Cast _end to grub_addr_t.
29323 * kern/i386/linuxbios/table.c: Include grub/misc.h.
29324 (check_signature): Don't shadow table_header.
29325 (grub_linuxbios_table_iterate): Cast numeric constants to
29326 grub_linuxbios_table_header_t.
29327 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
29328 grub_stop().
29329
29330 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
29331 prevent warnings.
29332
29333 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
29334 pointer, which can cause warnings. Support 64-bit addresses.
29335
29336 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
29337 of sizeof(long). This fixes PowerPC image generation on x86_64.
29338
29339 2008-07-04 Robert Millan <rmh@aybabtu.com>
29340
29341 This fixes a performance issue when pc & gpt partmap iterators
29342 didn't abort iteration even after our hook found what it was
29343 looking for (often causing expensive probes of non-existent drives).
29344
29345 Some callers relied on previous buggy behaviour, since they would
29346 raise an error when their own hooks caused early abortion of its
29347 iteration.
29348
29349 * kern/device.c (grub_device_open): Improve error message.
29350 * disk/lvm.c (grub_lvm_open): Likewise.
29351 * disk/raid.c (grub_raid_open): Likewise.
29352
29353 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
29354 when hook requests it, independently of grub_errno.
29355 (pc_partition_map_probe): Do not fail when find_func() caused
29356 early abortion of pc_partition_map_iterate().
29357
29358 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
29359 when hook requests it, independently of grub_errno.
29360 (gpt_partition_map_probe): Do not fail when find_func() caused
29361 early abortion of gpt_partition_map_iterate().
29362
29363 * kern/partition.c (grub_partition_iterate): Abort parent iteration
29364 when hook requests it, independently of grub_errno. Do not fail when
29365 part_map_iterate_hook() caused early abortion of p->iterate().
29366
29367 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
29368 when grub_partition_iterate() returned with non-zero.
29369
29370 2008-07-03 Pavel Roskin <proski@gnu.org>
29371
29372 * disk/ata.c (grub_ata_pio_write): Check status before writing,
29373 like we do in grub_ata_pio_read().
29374 (grub_ata_readwrite): Always write individual sectors. Fix the
29375 sector count for the remainder.
29376 (grub_ata_write): Enable writing to ATA devices. Correctly
29377 report error for ATAPI devices.
29378
29379 2008-07-02 Pavel Roskin <proski@gnu.org>
29380
29381 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
29382 warning.
29383
29384 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
29385 for every read sector, we already increment it for the whole
29386 batch. This fixes reading more than 256 sectors at once.
29387
29388 * util/grub-editenv.c (cmd_info): Cast argument to long
29389 explicitly. ptrdiff_t reduces to int on i386.
29390
29391 * util/grub-editenv.c (main): Be specific which parameter is
29392 missing.
29393
29394 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
29395 (memdisk): Make memdisk_orig_addr a pointer.
29396
29397 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
29398 for file offsets, use grub_off_t instead. Fix printf format
29399 warnings.
29400
29401 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
29402 there. Real unexpected warnings should not drown in the noise
29403 about known problems.
29404
29405 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
29406 grub_disk_addr_t for memory addresses.
29407
29408 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
29409 explicitly to fix a warning.
29410
29411 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
29412
29413 * Makefile.in (MODULE_LDFLAGS): New variable.
29414 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
29415 the linker accepts --build-id=none.
29416 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
29417 MODULE_LDFLAGS.
29418 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
29419
29420 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
29421 those in Linux XFS code. Provide a way to access 64-bit parent
29422 inode.
29423 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
29424 the end of struct grub_xfs_dir_header.
29425
29426 2008-07-02 Bean <bean123ch@gmail.com>
29427
29428 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
29429 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
29430 and GRUB_IEEE1275_FLAG_NO_ANSI.
29431
29432 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
29433 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
29434 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
29435
29436 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
29437 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
29438
29439 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
29440 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
29441
29442 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
29443 esc sequence on non ANSI terminal.
29444 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
29445
29446 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
29447 beginning of file.
29448
29449 2008-07-02 Bean <bean123ch@gmail.com>
29450
29451 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
29452 (grub_editenv_SOURCES): New variable.
29453 (pkglib_MODULES): Add loadenv.mod.
29454 (loadenv_mod_SOURCES): New variable.
29455 (loadenv_mod_CFLAGS): Likewise.
29456 (loadenv_mod_LDFLAGS): Likewise.
29457
29458 * include/grub/envblk.h: New file.
29459
29460 * util/envblk.c: New file.
29461
29462 * util/grub-editenv.c: New file.
29463
29464 * commands/loadenv.c: New file.
29465
29466 2008-07-01 Pavel Roskin <proski@gnu.org>
29467
29468 * include/multiboot2.h (struct multiboot_tag_module): Use char,
29469 not unsigned char. This fixes warnings and is consistent with
29470 other tags.
29471
29472 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
29473
29474 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
29475
29476 * term/tparm.c (analyze): Always set *popcount.
29477
29478 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
29479 cast to fix a warning.
29480
29481 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
29482 cast to suppress a warning.
29483
29484 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
29485 grub_fshelp_read_file() expects.
29486
29487 * fs/fat.c: Fix UUID calculation on big-endian systems. We
29488 write uuid as a 32-bit value in CPU byte order, so declare and
29489 use it as such.
29490
29491 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
29492 long if the format specifier expects it.
29493 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
29494 * partmap/pc.c (pc_partition_map_iterate): Likewise.
29495 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
29496 long to fix a warning.
29497 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
29498 grub_dprintf() arguments to fix warnings.
29499
29500 2008-06-30 Pavel Roskin <proski@gnu.org>
29501
29502 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
29503 install_bsd_part immediately before core.img is embedded or
29504 modified on disk. This fixes core.img verification if core.img
29505 cannot be embedded.
29506
29507 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
29508 core_path to calculate the blocklist.
29509 Patch from Javier Martín <lordhabbit@gmail.com>
29510
29511 2008-06-29 Robert Millan <rmh@aybabtu.com>
29512
29513 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
29514 block to disk block.
29515 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
29516 Patch from Niels Böhm <bitbucket@arcor.de>
29517
29518 2008-06-29 Robert Millan <rmh@aybabtu.com>
29519
29520 * util/update-grub_lib.in (font_path): Search for fonts in
29521 /boot/grub first, which is more likely to be readable (we aren't
29522 deciding where fonts live, just looking for them).
29523
29524 2008-06-26 Pavel Roskin <proski@gnu.org>
29525
29526 * util/biosdisk.c (read_device_map): Don't leave dead map
29527 entries for devices failing stat() check.
29528
29529 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
29530 core_path_dev for the core.img path on the target device.
29531
29532 2008-06-26 Robert Millan <rmh@aybabtu.com>
29533
29534 * disk/fs_uuid.c: New file.
29535 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
29536 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
29537 (fs_uuid_mod_LDFLAGS): New variables.
29538 * include/grub/disk.h (grub_disk_dev_id): Add
29539 `GRUB_DISK_DEVICE_UUID_ID'.
29540 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
29541 implement iterate().
29542
29543 2008-06-26 Robert Millan <rmh@aybabtu.com>
29544
29545 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
29546 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
29547 Linux image includes no initrd.
29548
29549 2008-06-21 Javier Martín <lordhabbit@gmail.com>
29550
29551 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
29552 call to resolve the core image location that effectively appended the
29553 name twice.
29554
29555 2008-06-21 Robert Millan <rmh@aybabtu.com>
29556
29557 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
29558 call from here ...
29559
29560 * util/grub.d/10_hurd.in: ... to here ...
29561 * util/grub.d/10_linux.in: ... and here.
29562
29563 2008-06-19 Robert Millan <rmh@aybabtu.com>
29564
29565 * kern/main.c (grub_main): Export `prefix' variable immediately
29566 after it has been set by grub_machine_set_prefix().
29567
29568 2008-06-19 Robert Millan <rmh@aybabtu.com>
29569
29570 * commands/search.c (search_label, search_fs_uuid, search_file): Print
29571 search result when not saving to variable, not the other way around.
29572 When saving to variable, abort iteration as soon as a match is found.
29573
29574 2008-06-19 Robert Millan <rmh@aybabtu.com>
29575
29576 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
29577 check for partition that provides /boot/grub. Its logic is flawed,
29578 as it prevents prepare_grub_to_access_device() from being called
29579 multiple times.
29580
29581 2008-06-19 Robert Millan <rmh@aybabtu.com>
29582
29583 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
29584 "insmod" command directly when abstraction modules are needed,
29585 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
29586 since it had already been processed).
29587
29588 2008-06-19 Pavel Roskin <proski@gnu.org>
29589
29590 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
29591 changed. This is needed in case GRUB_LIBDIR changes.
29592 * conf/i386-ieee1275.rmk: Likewise.
29593 * conf/i386-linuxbios.rmk: Likewise.
29594 * conf/i386-pc.rmk: Likewise.
29595 * conf/powerpc-ieee1275.rmk: Likewise.
29596
29597 2008-06-18 Pavel Roskin <proski@gnu.org>
29598
29599 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
29600 kernel_elf_symlist.c to symlist.c for consistency with other
29601 architectures. Update all users.
29602 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
29603
29604 2008-06-18 Robert Millan <rmh@aybabtu.com>
29605
29606 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
29607 it in prefix.
29608
29609 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
29610 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
29611 a RAID device, run setup() for all members independently on whether
29612 LVM abstraction is being used.
29613 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
29614 If grub-mkimage has set `*install_dos_part == -2', don't override this
29615 value.
29616 Perform *install_dos_part adjustments independently on whether
29617 we're embedding or not.
29618 Clarify error message when image is too big for embedding.
29619 Remove duplicate *install_dos_part stanza.
29620
29621 2008-06-17 Robert Millan <rmh@aybabtu.com>
29622
29623 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
29624 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
29625 variables.
29626 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
29627 values in grub_ofconsole_normal_color and
29628 grub_ofconsole_highlight_color (they're not directly related to
29629 background and foreground).
29630 (grub_ofconsole_setcolorstate): Extract background and foreground
29631 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
29632
29633 2008-06-17 Robert Millan <rmh@aybabtu.com>
29634
29635 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
29636 /boot/grub for the check in last commit, not /boot (they could be
29637 different partitions).
29638
29639 2008-06-16 Robert Millan <rmh@aybabtu.com>
29640
29641 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
29642 asked to setup access for the same partition that provides /boot,
29643 don't bother using UUIDs since our root already has the value we
29644 want.
29645
29646 2008-06-16 Robert Millan <rmh@aybabtu.com>
29647
29648 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
29649 I2O devices.
29650 Patch from Sven Mueller <sven@debian.org>.
29651
29652 2008-06-16 Robert Millan <rmh@aybabtu.com>
29653
29654 * util/update-grub.in: Check for $EUID instead of $UID.
29655 Reported by Vincent Zweije.
29656
29657 2008-06-16 Bean <bean123ch@gmail.com>
29658
29659 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
29660 (grub_ext2_read_block): Likewise.
29661 (grub_ext2_read_inode): Likewise.
29662 (grub_ext2_mount): Likewise.
29663 (grub_ext2_close): Likewise.
29664 (grub_ext3_get_journal): Removed.
29665
29666 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
29667 (grub_reiserfs_read_symlink): Likewise.
29668 (grub_reiserfs_mount): Likewise.
29669 (grub_reiserfs_open): Likewise.
29670 (grub_reiserfs_read): Likewise.
29671 (grub_reiserfs_close): Likewise.
29672 (grub_reiserfs_get_journal): Removed.
29673
29674 * fs/fshelp.c (grub_fshelp_read): Removed.
29675 (grub_fshelp_map_block): Likewise.
29676
29677 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
29678 (grub_fshelp_journal): Likewise.
29679 (grub_fshelp_read): Likewise.
29680 (grub_fshelp_map_block): Likewise.
29681
29682 2008-06-16 Pavel Roskin <proski@gnu.org>
29683
29684 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
29685 floating point anymore.
29686 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
29687
29688 2008-06-15 Pavel Roskin <proski@gnu.org>
29689
29690 * commands/ls.c (grub_ls_list_files): Use integer calculations
29691 for human readable format, avoid floating point use.
29692 * kern/misc.c (grub_ftoa): Remove.
29693 (grub_vsprintf): Remove floating point support.
29694
29695 2008-06-15 Robert Millan <rmh@aybabtu.com>
29696
29697 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
29698 devices.
29699 Reported by Max Vozeler.
29700
29701 2008-06-15 Robert Millan <rmh@aybabtu.com>
29702
29703 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
29704 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
29705 skipped later.
29706 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
29707 the beginning of the prefix.
29708
29709 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
29710 It is assumed that if we have a memdisk, grub-mkimage has set
29711 grub_prefix to include the "(memdisk)" drive in it.
29712
29713 2008-06-15 Robert Millan <rmh@aybabtu.com>
29714
29715 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
29716 Initialize keyboard controller after registering the terminal, so that
29717 grub_printf() can be called from grub_keyboard_controller_init().
29718
29719 2008-06-15 Robert Millan <rmh@aybabtu.com>
29720
29721 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
29722 extent-btree which is written as big endian on disk.
29723 Reported by Alain Greppin <al@chilibi.org>.
29724
29725 2008-06-14 Robert Millan <rmh@aybabtu.com>
29726
29727 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
29728 * util/i386/pc/grub-install.in (modules): Likewise.
29729
29730 2008-06-13 Pavel Roskin <proski@gnu.org>
29731
29732 * commands/ls.c (grub_ls_list_files): Fix format warnings.
29733
29734 2008-06-13 Bean <bean123ch@gmail.com>
29735
29736 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
29737
29738 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
29739
29740 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
29741 to indicate sparse block.
29742
29743 2008-06-12 Pavel Roskin <proski@gnu.org>
29744
29745 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
29746 number, grub_fshelp_read() does it for us.
29747
29748 * fs/fshelp.c (grub_fshelp_read): New function. Implement
29749 linear disk read with journal translation.
29750 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
29751 * include/grub/fshelp.h: Declare grub_fshelp_read().
29752
29753 2008-06-09 Pavel Roskin <proski@gnu.org>
29754
29755 * fs/minix.c (grub_minix_mount): Handle error reading
29756 superblock.
29757
29758 2008-06-08 Robert Millan <rmh@aybabtu.com>
29759
29760 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
29761 don't append the RAID prefix afterwards.
29762 Reported by Clint Adams.
29763
29764 2008-06-08 Robert Millan <rmh@aybabtu.com>
29765
29766 Based on description from Pavel:
29767 * kern/disk.c (grub_disk_check_range): Rename to ...
29768 (grub_disk_adjust_range): ... this. Add a comment explaining the
29769 tasks performed by this function.
29770
29771 2008-06-08 Robert Millan <rmh@aybabtu.com>
29772
29773 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
29774 `num_serial' (for consistency with other variables).
29775 (struct grub_ntfs_data): Add `uuid' member.
29776 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
29777 (grub_ntfs_uuid): New function.
29778 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
29779
29780 2008-06-07 Pavel Roskin <proski@gnu.org>
29781
29782 * util/biosdisk.c (open_device): Revert last change to the
29783 function, it broke installation. The sector needs to be
29784 different dependent on which device is opened.
29785
29786 2008-06-06 Robert Millan <rmh@aybabtu.com>
29787
29788 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
29789 rest of GRUB, and breakage doesn't happen if its value were modified.
29790
29791 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
29792 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
29793 a constant (same value).
29794 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
29795 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
29796
29797 2008-06-06 Robert Millan <rmh@aybabtu.com>
29798
29799 * util/biosdisk.c (open_device): Do not modify sector offset when
29800 accessing a partition. kern/disk.c already handles this for us.
29801
29802 2008-06-06 Robert Millan <rmh@aybabtu.com>
29803
29804 * util/grub-emu.c (grub_machine_init): Move code in this function from
29805 here ...
29806 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
29807 segfault in case grub_printf() is called).
29808
29809 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
29810 grub_probe. Update all users not to explicitly add it again.
29811 (grub_device): New variable; contains corresponding device for grubdir.
29812 (fs_module, partmap_module, devabstraction_module): Pass
29813 `--device ${grub_device}' to grub_probe to avoid traversing /dev
29814 every time.
29815
29816 2008-06-05 Robert Millan <rmh@aybabtu.com>
29817
29818 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
29819 is found, print it (same layout as with labels).
29820
29821 2008-06-04 Robert Millan <rmh@aybabtu.com>
29822
29823 * util/biosdisk.c (get_drive): Rename to ...
29824 (find_grub_drive): ... this. Update all users.
29825
29826 (get_os_disk): Rename to ...
29827 (convert_system_partition_to_system_disk): ... this. Update all users.
29828
29829 (find_drive): Rename to ...
29830 (find_system_device): ... this. Update all users.
29831
29832 2008-06-04 Robert Millan <rmh@aybabtu.com>
29833
29834 * util/biosdisk.c (get_os_disk): Handle IDA devices.
29835 * util/grub-mkdevicemap.c (get_mmc_disk_name)
29836 (make_device_map): Likewise.
29837
29838 2008-06-01 Robert Millan <rmh@aybabtu.com>
29839
29840 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
29841 before dereferencing it.
29842
29843 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
29844 union with fat12/fat16-specific ones. Add some new fields, including
29845 `num_serial' for both versions.
29846 (struct grub_fat_data): Add `uuid' member.
29847 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
29848 names. Initialize `data->uuid' using `num_serial'.
29849 (grub_fat_uuid): New function.
29850 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
29851
29852 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
29853 (grub_reiserfs_uuid): New function.
29854 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
29855 member.
29856
29857 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
29858 (grub_xfs_uuid): New function.
29859 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
29860
29861 2008-06-01 Robert Millan <rmh@aybabtu.com>
29862
29863 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
29864 code that is backward compatible with pre-uuid search command.
29865
29866 2008-05-31 Robert Millan <rmh@aybabtu.com>
29867
29868 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
29869 floppies after everything else, to ensure floppy drive isn't accessed
29870 unnecessarily (patch from Bean).
29871
29872 2008-05-31 Robert Millan <rmh@aybabtu.com>
29873
29874 * commands/search.c (search_label, search_fs_uuid, search_file): Do
29875 not print device names when we were asked to set a variable.
29876
29877 2008-05-31 Robert Millan <rmh@aybabtu.com>
29878
29879 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
29880 using "cursor-on" and "cursor-off" commands (understood at least by
29881 the Open Firmware flavour on OLPC).
29882
29883 2008-05-31 Michael Gorven <michael@gorven.za.net>
29884
29885 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
29886 on and off sequences.
29887
29888 2008-05-31 Robert Millan <rmh@aybabtu.com>
29889
29890 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
29891 * util/update-grub.in: Likewise.
29892
29893 2008-05-30 Pavel Roskin <proski@gnu.org>
29894
29895 * util/biosdisk.c (linux_find_partition): Simplify logic and
29896 make the code more universal. Keep special processing for
29897 devfs, but use a simple rule for all other devices. If the
29898 device ends with a number, append 'p' and the partition number.
29899 Otherwise, append only the partition number.
29900
29901 2008-05-30 Robert Millan <rmh@aybabtu.com>
29902
29903 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
29904 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
29905 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
29906 the `root' parameter to Linux.
29907
29908 2008-05-30 Robert Millan <rmh@aybabtu.com>
29909
29910 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
29911 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
29912 --fs_uuid with --fs-uuid.
29913 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
29914 all filesystems support them).
29915
29916 2008-05-30 Robert Millan <rmh@aybabtu.com>
29917
29918 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
29919 grub_printf() flags, since we're printing in units of 2 bytes.
29920
29921 2008-05-30 Robert Millan <rmh@aybabtu.com>
29922
29923 * util/grub.d/00_header.in: Remove obsolete comment referencing
29924 convert_system_path_to_grub_path().
29925 * util/update-grub.in: Likewise.
29926 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
29927 (convert_system_path_to_grub_path): Add a warning message explaining
29928 that this function is deprecated. Rely on is_path_readable_by_grub()
29929 for the readability checks.
29930 (font_path): Use is_path_readable_by_grub() for the readability
29931 check rather than convert_system_path_to_grub_path().
29932
29933 2008-05-30 Robert Millan <rmh@aybabtu.com>
29934
29935 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
29936 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
29937 converting it first.
29938 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
29939 grub.cfg for access to font file, and afterwards call it again to set
29940 the root device.
29941
29942 2008-05-30 Robert Millan <rmh@aybabtu.com>
29943
29944 * commands/search.c (options): Add --fs_uuid option.
29945 (search_fs_uuid): New function.
29946 (grub_cmd_search): Fix --set argument passing.
29947 Use search_fs_uuid() when requested via --fs_uuid.
29948 (grub_search_init): Update help message.
29949 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
29950 and redeclare it as an array of 16-bit words.
29951 (grub_ext2_uuid): New function.
29952 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
29953 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
29954 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
29955 (GRUB_DEVICE_BOOT_UUID): New variables.
29956 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
29957 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
29958 whenever possible.
29959 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
29960 just assume `root' variable has the right value.
29961 * util/grub.d/10_linux.in: Likewise.
29962 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
29963 via PRINT_FS_UUID.
29964 (main): Recognise `-t fs_uuid' argument.
29965
29966 2008-05-30 Robert Millan <rmh@aybabtu.com>
29967
29968 * util/biosdisk.c (map): Redefine structure to hold information
29969 about GRUB drive name.
29970 (get_drive): Reimplement without assuming (and verifying) BIOS-like
29971 drive names.
29972 (call_hook): Remove.
29973 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
29974 member. Assume drive has partitions.
29975 (grub_util_biosdisk_open): Access device names via `.device' struct
29976 member.
29977 (open_device): Likewise.
29978 (find_drive): Likewise.
29979 (read_device_map): Adjust map[] usage to match the new struct
29980 definition. Don't check for duplicates (still possible, but not cheap
29981 anymore).
29982 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
29983 (make_device_name): Remove assumption of BIOS-like drive names.
29984
29985 2008-05-30 Pavel Roskin <proski@gnu.org>
29986
29987 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
29988 compiling execute.c doesn't need grub_script.tab.h anymore.
29989 (normal/command.c_DEPENDENCIES): Likewise.
29990 (normal/function.c_DEPENDENCIES): Likewise.
29991 * conf/i386-ieee1275.rmk: Likewise.
29992 * conf/i386-linuxbios.rmk: Likewise.
29993 * conf/i386-pc.rmk: Likewise.
29994 * conf/powerpc-ieee1275.rmk: Likewise.
29995 * conf/sparc64-ieee1275.rmk: Likewise.
29996
29997 2008-05-29 Pavel Roskin <proski@gnu.org>
29998
29999 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
30000 when scanning metadata for volume group name.
30001
30002 * include/grub/script.h: Don't include grub_script.tab.h. It's
30003 a generated file, which may only be included from the files with
30004 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
30005 use union YYSTYPE, as the later allows forward declaration.
30006 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
30007
30008 2008-05-29 Robert Millan <rmh@aybabtu.com>
30009
30010 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
30011 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
30012 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
30013 (grub_console_checkkey): Add grub_dprintf() call to report unknown
30014 scan codes.
30015
30016 2008-05-29 Robert Millan <rmh@aybabtu.com>
30017
30018 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
30019 control key combinations.
30020
30021 2008-05-29 Robert Millan <rmh@aybabtu.com>
30022
30023 * util/powerpc/ieee1275/grub-install.in: Move from here ...
30024 * util/ieee1275/grub-install.in: ... to here.
30025 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
30026 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
30027 (grub_install_SOURCES): Likewise.
30028
30029 2008-05-29 Robert Millan <rmh@aybabtu.com>
30030
30031 * fs/affs.c: Update copyright year.
30032 * fs/ext2.c: Likewise.
30033 * fs/fshelp.c: Likewise.
30034 * fs/hfsplus.c: Likewise.
30035 * fs/ntfs.c: Likewise.
30036 * fs/xfs.c: Likewise.
30037 * include/grub/fshelp.h: Likewise.
30038 * util/grub-mkdevicemap.c: Likewise.
30039
30040 2008-05-28 Robert Millan <rmh@aybabtu.com>
30041
30042 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
30043 might need to be fatfs to support some firmware implementations
30044 (e.g. OFW or EFI).
30045
30046 2008-05-28 Robert Millan <rmh@aybabtu.com>
30047
30048 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
30049 devices.
30050 * util/grub-mkdevicemap.c (get_mmc_disk_name)
30051 (make_device_map): Likewise.
30052
30053 2008-05-20 Bean <bean123ch@gmail.com>
30054
30055 * fs/fshelp.c (grub_fshelp_map_block): New function.
30056 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
30057 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
30058
30059 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
30060 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
30061 (grub_fshelp_journal): New structure.
30062 (grub_fshelp_map_block): New function prototype.
30063 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
30064 (grub_fshelp_map_block): Likewise.
30065
30066 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
30067 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
30068 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
30069 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
30070 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
30071 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
30072 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
30073 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
30074 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
30075 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
30076 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
30077 (grub_ext2_sblock): New members for journal support.
30078 (grub_ext3_journal_header): New structure.
30079 (grub_ext3_journal_revoke_header): Likewise.
30080 (grub_ext3_journal_block_tag): Likewise.
30081 (grub_ext3_journal_sblock): Likewise.
30082 (grub_fshelp_node): New members logfile and journal.
30083 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
30084 grub_fshelp_map_block to get real block number.
30085 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
30086 number.
30087 (grub_ext2_read_inode): Likewise.
30088 (grub_ext3_get_journal): New function.
30089 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
30090 (grub_ext2_close): Release memory used by journal.
30091
30092 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
30093 (REISERFS_MAGIC_DESC_BLOCK): New macro.
30094 (grub_reiserfs_transaction_header): Renamed to
30095 grub_reiserfs_description_block, replace field data with real_blocks.
30096 (grub_reiserfs_commit_block): New structure.
30097 (grub_reiserfs_data): New member journal.
30098 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
30099 number.
30100 (grub_reiserfs_read_symlink): Likewise.
30101 (grub_reiserfs_iterate_dir): Likewise.
30102 (grub_reiserfs_open): Likewise.
30103 (grub_reiserfs_read): Likewise.
30104 (grub_reiserfs_get_journal): New function.
30105 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
30106 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
30107 using grub_reiserfs_get_journal.
30108 (grub_reiserfs_close): Release memory used by journal.
30109
30110 * fs/affs.c (grub_affs_read_block): Change block type to
30111 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
30112
30113 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
30114
30115 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
30116
30117 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
30118
30119 * fs/udf.c (grub_udf_read_block): Change block type to
30120 grub_disk_addr_t. Use type cast to avoid warning.
30121
30122 * fs/xfs.c (grub_xfs_read_block): Likewise.
30123
30124 2008-05-16 Christian Franke <franke@computer.org>
30125
30126 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
30127 to ensure that break with ESC will always work.
30128 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
30129 Remove ESC from keyboard queue.
30130
30131 2008-05-16 Christian Franke <franke@computer.org>
30132
30133 * util/biosdisk.c: [__CYGWIN__] Add includes.
30134 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
30135 (get_os_disk): Move variable declarations to OS specific
30136 parts to avoid warning.
30137 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
30138 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
30139 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
30140 Cygwin.
30141 * util/getroot.c: [__CYGWIN__] Add includes.
30142 (strip_extra_slashes): Fix "/" case.
30143 [__CYGWIN__] (get_win32_path): New function.
30144 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
30145 [__CYGWIN__] (find_root_device): Disable.
30146 [__CYGWIN__] (get_bootsec_serial): New function.
30147 [__CYGWIN__] (find_cygwin_root_device): Likewise.
30148 [__linux__] (grub_guess_root_device): Add early returns to simplify
30149 structure.
30150 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
30151 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
30152 check for Linux only.
30153
30154 2008-05-15 Bean <bean123ch@gmail.com>
30155
30156 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
30157 keyboard hang problem in apple's intel mac.
30158
30159 2008-05-09 Robert Millan <rmh@aybabtu.com>
30160
30161 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
30162 devices.
30163 * util/grub-mkdevicemap.c (get_virtio_disk_name)
30164 (make_device_map): Likewise.
30165 Reported by Aurelien Jarno <aurel32@debian.org>
30166
30167 2008-05-07 Ian Campbell <ijc@hellion.org.uk>
30168
30169 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
30170 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
30171 (make_device_map): Output entries for xvd type disks.
30172
30173 2008-05-07 Robert Millan <rmh@aybabtu.com>
30174
30175 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
30176 devices.
30177 * util/grub-mkdevicemap.c (get_cciss_disk_name)
30178 (make_device_map): Likewise.
30179 Reported by Roland Dreier <rdreier@cisco.com>
30180
30181 2008-05-07 Robert Millan <rmh@aybabtu.com>
30182
30183 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
30184 grub_strstr() call. Correct a few mistakes in failure path handling.
30185
30186 2008-05-06 Robert Millan <rmh@aybabtu.com>
30187
30188 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
30189 Do not print a trailing slash (therefore, the root directory is an
30190 empty string).
30191 (convert_system_path_to_grub_path): Do not remove trailing slash
30192 from make_system_path_relative_to_its_root() output.
30193
30194 * util/i386/pc/grub-install.in: Add trailing slash to output from
30195 make_system_path_relative_to_its_root().
30196
30197 2008-05-06 Robert Millan <rmh@aybabtu.com>
30198
30199 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
30200 ensures that output lines aren't intermangled with those sent to
30201 stderr (via grub_util_info()).
30202 * util/grub-probe.c (grub_refresh): Likewise.
30203 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
30204
30205 2008-05-05 Christian Franke <franke@computer.org>
30206
30207 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
30208 Add Cygwin device names.
30209 (get_ide_disk_name) [__CYGWIN__]: Likewise.
30210 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
30211 (check_device): Return error instead of success on empty name.
30212 (make_device_map): Move label inside linux specific code to
30213 prevent compiler warning.
30214
30215 2008-04-30 Robert Millan <rmh@aybabtu.com>
30216
30217 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
30218 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
30219 first boot option.
30220 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
30221
30222 2008-04-29 Robert Millan <rmh@aybabtu.com>
30223
30224 * docs/grub.cfg: New file (example GRUB configuration).
30225
30226 2008-04-26 Robert Millan <rmh@aybabtu.com>
30227
30228 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
30229 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
30230 and `disk/ieee1275/nand.c'.
30231
30232 2008-04-25 Bean <bean123ch@gmail.com>
30233
30234 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
30235 i386-linuxbios.
30236
30237 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
30238 change the buffer size to 4096 for cdrom device.
30239
30240 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
30241 and nand.mod.
30242 (_linux_mod_SOURCES): New variable.
30243 (_linux_mod_CFLAGS): Likewise.
30244 (_linux_mod_LDFLAGS): Likewise.
30245 (linux_mod_SOURCES): Likewise.
30246 (linux_mod_CFLAGS): Likewise.
30247 (linux_mod_LDFLAGS): Likewise.
30248 (nand_mod_SOURCES): Likewise.
30249 (nand_mod_CFLAGS): Likewise.
30250 (nand_mod_LDFLAGS): Likewise.
30251
30252 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
30253 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
30254 type property. (nand device in olpc don't have this property)
30255
30256 * include/grub/disk.h (grub_disk_dev_id): New macro
30257 GRUB_DISK_DEVICE_NAND_ID.
30258
30259 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
30260 function prototype.
30261 (grub_rescue_cmd_initrd): Likewise.
30262
30263 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
30264 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
30265 ofw_cif_handler and ofw_idt, adjust padding number.
30266
30267 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
30268 GRUB_MACHINE_IEEE1275 is defined.
30269
30270 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
30271 Use NESTED_FUNC_ATTR attribute on the hook parameter.
30272
30273 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
30274 on nested function heap_init.
30275 (grub_upper_mem): New variable for i386-ieee1275.
30276 (grub_get_extended_memory): New function for i386-ieee1275.
30277 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
30278
30279 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
30280 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
30281 property.
30282
30283 * loader/i386/ieee1275/linux.c: New file.
30284
30285 * loader/i386/ieee1275/linux_normal.c: New file.
30286
30287 * disk/ieee1275/nand.c: New file.
30288
30289 2008-04-18 Thomas Schwinge <tschwinge@gnu.org>
30290
30291 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
30292 value.
30293 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
30294
30295 2008-04-18 Robert Millan <rmh@aybabtu.com>
30296
30297 Restructures early code path on ieee1275 to unify grub_main() as
30298 the first C function that is executed in every platform.
30299
30300 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
30301 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
30302 cmain().
30303 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
30304 * kern/ieee1275/cmain.c (cmain): Rename to ...
30305 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
30306 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
30307 at the beginning.
30308
30309 2008-04-18 Robert Millan <rmh@aybabtu.com>
30310
30311 * util/update-grub.in: Fix syntax error when setting
30312 `GRUB_PRELOAD_MODULES'.
30313 Reported by Stephane Chazelas <stephane@artesyncp.com>
30314
30315 2008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
30316
30317 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
30318 section into account, newer toolchains generate unique build ids
30319 * configure.ac: remove the test for --build-id=none acceptance,
30320 we want build ids to be preserved
30321 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
30322 far from other sections don't cause the raw binary images grow
30323 size
30324
30325 2008-04-15 Robert Millan <rmh@aybabtu.com>
30326
30327 * disk/lvm.c: Update copyright year.
30328 * kern/misc.c: Likewise.
30329
30330 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
30331
30332 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
30333 there is no memory left for physical volume name.
30334
30335 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
30336
30337 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
30338 volume name mapping to support bigger than 9 character names properly.
30339
30340 2008-04-13 Robert Millan <rmh@aybabtu.com>
30341
30342 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
30343 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
30344
30345 2008-04-13 Christian Franke <franke@computer.org>
30346
30347 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
30348 to create a floppy emulation boot CD when non emulation mode
30349 does not work.
30350 Enable Joliet CD filesystem extension.
30351
30352 2008-04-13 Robert Millan <rmh@aybabtu.com>
30353
30354 * kern/misc.c (grub_strncat): Fix off-by-one error.
30355 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
30356
30357 * kern/env.c (grub_env_context_close): Clear current context, not
30358 previous one.
30359 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
30360
30361 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
30362
30363 2008-04-13 Robert Millan <rmh@aybabtu.com>
30364
30365 Improve robustness when handling LVM.
30366
30367 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
30368 (and leave `*p' unmodified).
30369 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
30370 through it.
30371 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
30372 iterating through it.
30373 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
30374 through it.
30375 (grub_lvm_scan_device): Check the return value (and fail gracefully
30376 when due) on each grub_lvm_getvalue() or grub_strstr() call.
30377 Don't assume `vg->pvs != NULL' when iterating through it.
30378
30379 2008-04-13 Robert Millan <rmh@aybabtu.com>
30380
30381 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
30382 * genmk.rb (partmap): New variable.
30383 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
30384 (#{partmap}): New target rule.
30385 * genpartmaplist.sh: New file.
30386 * Makefile.in (pkglib_DATA): Add partmap.lst.
30387 (partmap.lst): New target rule.
30388 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
30389 modules (including all partition maps), instead of preloading them.
30390
30391 2007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
30392
30393 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
30394 `linux-boot-prober' (if installed) to detect other operating
30395 systems which are installed on the computer and add them to
30396 the boot menu.
30397 * conf/common.rmk: Build and install 30_os-prober.
30398
30399 2008-04-12 Robert Millan <rmh@aybabtu.com>
30400
30401 * kern/powerpc/ieee1275/init.c: Move from here ...
30402 * kern/ieee1275/init.c: ... to here. Update all users.
30403
30404 * kern/powerpc/ieee1275/cmain.c: Move from here ...
30405 * kern/ieee1275/cmain.c: ... to here. Update all users.
30406
30407 * kern/powerpc/ieee1275/openfw.c: Move from here ...
30408 * kern/ieee1275/openfw.c: ... to here. Update all users.
30409
30410 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
30411 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
30412
30413 2008-04-10 Pavel Roskin <proski@gnu.org>
30414
30415 * configure.ac: Always use "_cv_" in cache variables for
30416 compatibility with Autoconf 2.62.
30417
30418 2008-04-07 Robert Millan <rmh@aybabtu.com>
30419
30420 Revert grub/machine/init.h addition by Pavel (since it breaks on
30421 i386-ieee1275 and others):
30422 * util/i386/pc/misc.c: Remove grub/machine/init.h.
30423 * util/powerpc/ieee1275/misc.c: Likewise.
30424
30425 2008-04-07 Robert Millan <rmh@aybabtu.com>
30426
30427 * util/grub-probe.c (probe): Improve error message.
30428
30429 2008-04-07 Robert Millan <rmh@aybabtu.com>
30430
30431 * util/biosdisk.c (read_device_map): Skip devices that don't exist
30432 (this prevents the presence of a bogus entry from ruining the whole
30433 thing).
30434
30435 2008-04-06 Pavel Roskin <proski@gnu.org>
30436
30437 * util/biosdisk.c: Include grub/util/biosdisk.h.
30438 * util/grub-fstest.c (execute_command): Make static.
30439 * util/grub-mkdevicemap.c (check_device): Likewise.
30440 * util/i386/pc/misc.c: Include grub/machine/init.h.
30441 * util/powerpc/ieee1275/misc.c: Likewise.
30442 * util/lvm.c: Include grub/util/lvm.h.
30443 * util/misc.c: Include grub/kernel.h, grub/misc.h and
30444 grub/cache.h.
30445 * util/raid.c: Include grub/util/raid.h.
30446 (grub_util_getdiskname): Make static.
30447
30448 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
30449 grub_hostfs_fini(), as they are called from grub_init_all() and
30450 grub_fini_all() respectively. This fixes an infinite loop in
30451 grub-fstest due to double registration of hostfs.
30452 Reported by Christian Franke <Christian.Franke@t-online.de>
30453
30454 2008-04-05 Pavel Roskin <proski@gnu.org>
30455
30456 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
30457 all 8 functions. Otherwise, probe function 0 only.
30458
30459 2008-04-04 Pavel Roskin <proski@gnu.org>
30460
30461 * commands/lspci.c (grub_lspci_iter): Print the bus number
30462 correctly.
30463
30464 * commands/lspci.c (grub_pci_classes): Fix typos.
30465 (grub_lspci_iter): Don't print func twice. Print vendor ID
30466 before device ID, as it's normally done.
30467
30468 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
30469 Fix signedness warnings.
30470 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
30471 Likewise.
30472 * util/ieee1275/get_disk_name.c: Include config.h so that
30473 _GNU_SOURCE is defined and getline() is declared. Mark an
30474 unused argument as such. Fix a signedness warning.
30475
30476 2008-04-02 Pavel Roskin <proski@gnu.org>
30477
30478 * genkernsyms.sh.in: Use more robust assignments for CC and
30479 srcdir. Quote srcdir.
30480 * gensymlist.sh.in: Likewise. Assert at the compile time that
30481 the symbol table is not empty.
30482
30483 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
30484 * fs/cpio.c (grub_cpio_read): Likewise.
30485
30486 2008-04-01 Pavel Roskin <proski@gnu.org>
30487
30488 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
30489 * disk/host.c (grub_host_open): Likewise.
30490 * disk/loopback.c (grub_loopback_open): Likewise.
30491 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
30492 disk->id as in disk/host.c, not a multi-character constant.
30493
30494 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
30495 later is obsolete, potentially dangerous and sets a bad example.
30496 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
30497 * util/misc.c (grub_util_get_image_size): Likewise.
30498
30499 * disk/loopback.c (options): Improve help for "--partitions".
30500
30501 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
30502 options to align them with the short options, e.g. "echo -e".
30503
30504 2008-03-31 Bean <bean123ch@gmail.com>
30505
30506 * video/reader/png.c (grub_png_data): New member is_16bit and
30507 image_data.
30508 (grub_png_decode_image_header): Detect 16 bit png image.
30509 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
30510 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
30511 (grub_video_reader_png): Release memory occupied by image_data.
30512
30513 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
30514 4096 bytes.
30515 (grub_nfs_mount): Skip the test for sector per cluster.
30516
30517 * include/grub/ntfs.h (MAX_SPC): Removed.
30518
30519 2008-03-31 Bean <bean123ch@gmail.com>
30520
30521 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
30522 (grub_probe_SOURCES): Add fs/afs.c.
30523 (grub_fstest_SOURCES): Likewise.
30524 (afs_mod_SOURCES): New variable.
30525 (afs_mod_CFLAGS): Likewise.
30526 (afs_mod_LDFLAGS): Likewise.
30527
30528 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
30529 (grub_emu_SOURCES): Likewise.
30530
30531 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
30532
30533 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30534
30535 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
30536
30537 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30538
30539 * fs/afs.c: New file.
30540
30541 2008-03-30 Pavel Roskin <proski@gnu.org>
30542
30543 * disk/host.c: Include grub/misc.h to fix a warning.
30544 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
30545 warnings about implicit declarations.
30546
30547 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
30548 variable.
30549 * include/grub/i386/loader.h: Change declaration of
30550 grub_linux_boot() to match what grub_loader_set() expects.
30551 * util/getroot.c (grub_guess_root_device): Return const char* to
30552 fix a warning.
30553 * util/grub-probe.c (probe): Fix a warning about uninitialized
30554 abstraction_name variable.
30555 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
30556 second argument as unused to fix a warning.
30557
30558 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
30559 missing grub_error() call.
30560
30561 * util/update-grub_lib.in: Define datarootdir, since Autoconf
30562 2.60 and newer uses it to define datadir.
30563
30564 * commands/sleep.c: Fix warning about implicit declaration.
30565 * disk/memdisk.c: Likewise.
30566 * loader/aout.c: Likewise.
30567 * loader/i386/bsd_normal.c: Likewise.
30568 * util/grub-probe.c: Likewise.
30569
30570 * commands/i386/cpuid.c (has_longmode): Make static.
30571 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
30572 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
30573
30574 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
30575 GDT. This is more robust, as %ds can change.
30576 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
30577 calling real_to_prot().
30578 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
30579
30580 2008-03-28 Pavel Roskin <proski@gnu.org>
30581
30582 * kern/i386/pc/startup.S: Assert that uncompressed functions
30583 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
30584 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
30585 code, as they push parts of the code (error handlers) beyond
30586 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
30587 code as correctness and size.
30588
30589 2008-03-28 Pavel Roskin <proski@gnu.org>
30590
30591 * kern/i386/pc/startup.S
30592 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
30593 data block address to the real mode, keep offset minimal. This
30594 works around a bug in AWARD BIOS on old Athlon systems, which
30595 makes CD detection hang.
30596
30597 2008-03-26 Pavel Roskin <proski@gnu.org>
30598
30599 * normal/color.c (grub_parse_color_name_pair): Make `name' a
30600 const.
30601 * include/grub/normal.h: Add grub_parse_color_name_pair()
30602 declaration.
30603
30604 2008-03-24 Bean <bean123ch@gmail.com>
30605
30606 * disk/i386/pc/biosdisk.c (cd_start): Removed.
30607 (cd_count): Removed.
30608 (cd_drive): New variable.
30609 (grub_biosdisk_get_drive): Don't check for (cdN) device.
30610 (grub_biosdisk_call_hook): Likewise.
30611 (grub_biosdisk_iterate): Change cdrom detection method.
30612 (grub_biosdisk_open): Replace cd_start with cd_drive.
30613 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
30614 detect cdrom device.
30615
30616 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
30617 Removed.
30618 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
30619 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
30620 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
30621 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
30622 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
30623 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
30624 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
30625 (grub_biosdisk_cdrp): New structure.
30626 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
30627
30628 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
30629
30630 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
30631 device.
30632
30633 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
30634 New function.
30635
30636 2008-03-20 Robert Millan <rmh@aybabtu.com>
30637
30638 Remove 2 TiB limit in ata.mod.
30639 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
30640 (grub_ata_dumpinfo): Print sector count with 0x%llx.
30641 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
30642 grub_uint64_t instead of grub_uint32_t.
30643
30644 2008-03-05 Bean <bean123ch@gmail.com>
30645
30646 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
30647 (grub_multiboot): Set boot device.
30648
30649 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
30650
30651 2008-03-02 Bean <bean123ch@gmail.com>
30652
30653 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
30654 symlink_buffer.
30655
30656 2008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
30657
30658 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
30659 texinfo.tex.
30660
30661 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
30662 modified.
30663
30664 * docs/fdl.texi: New file.
30665
30666 * docs/mdate-sh: New file. Copied from gnulib.
30667 * docs/texinfo.tex: Likewise.
30668
30669 * config.guess: Updated from gnulib.
30670 * install-sh: Likewise.
30671
30672 2008-02-28 Robert Millan <rmh@aybabtu.com>
30673
30674 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
30675 (aout_mod_SOURCES): New variable.
30676 (aout_mod_CFLAGS): Likewise.
30677 (aout_mod_LDFLAGS): Likewise.
30678
30679 * conf/i386-ieee1275.rmk: Likewise.
30680
30681 2008-02-28 Robert Millan <rmh@aybabtu.com>
30682
30683 * util/update-grub.in: Reorganise terminal validity check. Accept
30684 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
30685 Based on suggestion by Franklin PIAT.
30686
30687 2008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
30688
30689 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
30690 function.
30691 * util/getroot.c (grub_util_check_block_device): New function that
30692 returns the given argument if it is a block device and returns NULL else.
30693 * util/grub-probe.c (argument_is_device): New variable.
30694 (probe): Promote device_name from a variable to an argument. Receive
30695 device_name from grub_util_check_block_device() if path is NULL and from
30696 grub_guess_root_device() else. Do not free() device_name anymore.
30697 (options): Introduce new parameter '-d, --device'.
30698 (main): Add description of the new parameter to the help screen.
30699 Rename path variable to argument. Set argument_is_device if the '-d'
30700 option is given. Pass argument to probe() depending on
30701 argument_is_device.
30702
30703 2008-02-24 Bean <bean123ch@gmail.com>
30704
30705 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
30706 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
30707 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
30708 (GRUB_ISO9660_VOLDESC_PART): Likewise.
30709 (GRUB_ISO9660_VOLDESC_END): Likewise.
30710 (grub_iso9660_primary_voldesc): New member escape.
30711 (grub_iso9660_data): New member joliet.
30712 (grub_iso9660_convert_string): New function.
30713 (grub_iso9660_mount): Detect joliet extension.
30714 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
30715 (grub_iso9660_iso9660_label): Likewise.
30716
30717 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
30718 (grub_setup_SOURCES): Add fs/udf.c.
30719 (grub_fstest_SOURCES): Likewise.
30720 (udf_mod_SOURCES): New variable.
30721 (udf_mod_CFLAGS): Likewise.
30722 (udf_mod_LDFLAGS): Likewise.
30723
30724 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
30725 (grub_emu_SOURCES): Likewise.
30726
30727 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
30728
30729 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30730
30731 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
30732
30733 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30734
30735 * fs/udf.c: New file.
30736
30737 2008-02-24 Robert Millan <rmh@aybabtu.com>
30738
30739 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
30740 (normal/lexer.c_DEPENDENCIES): New variables.
30741 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
30742 (normal/lexer.c_DEPENDENCIES): Likewise.
30743 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
30744 (normal/lexer.c_DEPENDENCIES): Likewise.
30745 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
30746 (normal/lexer.c_DEPENDENCIES): Likewise.
30747 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
30748 (normal/lexer.c_DEPENDENCIES): Likewise.
30749 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
30750 (normal/lexer.c_DEPENDENCIES): Likewise.
30751
30752 2008-02-23 Robert Millan <rmh@aybabtu.com>
30753
30754 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
30755 since they were intended to be in hex. This didn't break previously
30756 because of a bug in gpt_partition_map_iterate() (see below).
30757
30758 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
30759 when checking the validity of GPT header.
30760 Remove `partno', since it always provides the same information as `i'.
30761
30762 2008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
30763
30764 * include/grub/efi/time.h: Fix a wrong comment.
30765
30766 2008-02-19 Pavel Roskin <proski@gnu.org>
30767
30768 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
30769 message.
30770
30771 2008-02-19 Bean <bean123ch@gmail.com>
30772
30773 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
30774 (aout_mod_SOURCES): New variable.
30775 (aout_mod_CFLAGS): Likewise.
30776 (aout_mod_LDFLAGS): Likewise.
30777 (_bsd_mod_SOURCES): New variable.
30778 (_bsd_mod_CFLAGS): Likewise.
30779 (_bsd_mod_LDFLAGS): Likewise.
30780 (bsd_mod_SOURCES): New variable.
30781 (bsd_mod_CFLAGS): Likewise.
30782 (bsd_mod_LDFLAGS): Likewise.
30783
30784 * include/grub/aout.h: New file.
30785
30786 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
30787
30788 * include/grub/i386/bsd.h: New file.
30789
30790 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
30791 to make it public.
30792
30793 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
30794 function is called, so that it's possible to change it inside the hook.
30795 (grub_elf64_load): Likewise.
30796 (grub_elf_file): Don't close the file if elf header is not found.
30797 (grub_elf_close): Close the file if grub_elf_file fails (The new
30798 grub_elf_file won't close it).
30799 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
30800 (grub_elf64_size): Likewise.
30801
30802 * kern/i386/loader.S (grub_unix_real_boot): New function.
30803
30804 * loader/aout.c: New file.
30805
30806 * loader/i386/bsd.c: New file.
30807
30808 * loader/i386/bsd_normal.c: New file.
30809
30810 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
30811
30812 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
30813 can test other formats.
30814
30815 2008-02-19 Robert Millan <rmh@aybabtu.com>
30816
30817 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
30818 (grub_gpt_partition_type_empty): Redefine with macro from
30819 `<grub/gpt_partition.h>'.
30820 (gpt_partition_map_iterate): Adjust partition type comparison.
30821
30822 Export `entry' as partmap-specific `part.data' struct.
30823 (grub_gpt_header, grub_gpt_partentry): Move from here ...
30824
30825 * include/grub/gpt_partition.h (grub_gpt_header)
30826 (grub_gpt_partentry): ... to here (new file).
30827
30828 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
30829
30830 (grub_gpt_partition_type_bios_boot): New const variable, defined
30831 with macro from `<grub/gpt_partition.h>'.
30832
30833 (setup): Replace `first_start' with `embed_region', which keeps
30834 track of the embed region (and is partmap-agnostic).
30835
30836 Replace find_first_partition_start() with find_usable_region(),
30837 which finds a usable region for embedding using partmap-specific
30838 knowledge (supports PC/MSDOS and GPT).
30839
30840 Fix all assumptions that the embed region start at sector 1, using
30841 `embed_region.start' from now on. Similarly, use `embed_region.end'
30842 rather than `first_start' to calculate available size.
30843
30844 In grub_util_info() message, replace "into after the MBR" with an
30845 indication of the specific sector our embed region starts at.
30846
30847 2008-02-19 Robert Millan <rmh@aybabtu.com>
30848
30849 * DISTLIST: Replace `commands/ieee1275/halt.c' and
30850 `commands/ieee1275/reboot.c' with `commands/halt.c' and
30851 `commands/reboot.c'.
30852 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
30853 (halt_mod_SOURCES): Likewise.
30854 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
30855 (halt_mod_SOURCES): Likewise.
30856
30857 2008-02-17 Christian Franke <franke@computer.org>
30858
30859 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
30860
30861 2008-02-17 Robert Millan <rmh@aybabtu.com>
30862
30863 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
30864 set `first_start' to 0 for non-PC/MSDOS partition maps.
30865
30866 2008-02-16 Robert Millan <rmh@aybabtu.com>
30867
30868 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
30869 do not assume partition map is PC/MSDOS before performing checks that
30870 are specific to that layout.
30871
30872 2008-02-13 Robert Millan <rmh@aybabtu.com>
30873
30874 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
30875 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
30876 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
30877
30878 2008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
30879
30880 * configure.ac: Only a cosmetic change on the handling of
30881 -fno-stack-protector.
30882
30883 2008-02-12 Alexandre Boeglin <alex@boeglin.org>
30884
30885 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
30886 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
30887 reboot.c.
30888 (grub_install_SOURCES): Add halt.mod and reboot.mod.
30889 (halt_mod_SOURCES): New variable.
30890 (halt_mod_CFLAGS): Likewise.
30891 (halt_mod_LDFLAGS): Likewise.
30892 (reboot_mod_SOURCES): Likewise.
30893 (reboot_mod_CFLAGS): Likewise.
30894 (reboot_mod_LDFLAGS): Likewise.
30895
30896 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
30897 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
30898 reboot.c.
30899 (halt_mod_SOURCES): Likewise.
30900 (reboot_mod_SOURCES): Likewise.
30901
30902 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
30903 commands/i386/pc/reboot.c by commands/reboot.c.
30904 (reboot_mod_SOURCES): Likewise.
30905
30906 * commands/i386/pc/reboot.c: merge this file ...
30907
30908 * commands/ieee1275/reboot.c: ... and this file ...
30909
30910 * commands/reboot.c: ... to this file.
30911 Add some precompiler directive to include the correct header for
30912 each machine.
30913
30914 * commands/ieee1275/halt.c: move this file ...
30915
30916 * commands/halt.c: ... to here.
30917 Add some precompiler directive to include the correct header for
30918 each machine.
30919
30920 * include/grub/efi/efi.h (grub_reboot): New function declaration.
30921 (grub_halt): Likewise.
30922
30923 * kern/efi/efi.c (grub_reboot): New function.
30924 (grub_halt): Likewise.
30925
30926 2008-02-12 Robert Millan <rmh@aybabtu.com>
30927
30928 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
30929 /dev (like it is done for /dev/mapper). This doesn't provide support
30930 for EVMS, but at least it is now easy to identify the problem when it
30931 arises.
30932
30933 2008-02-11 Robert Millan <rmh@aybabtu.com>
30934
30935 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
30936 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
30937 comparing it with -1, not 0.
30938
30939 2008-02-10 Robert Millan <rmh@aybabtu.com>
30940
30941 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
30942 `disk/lvm.c'.
30943 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30944 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
30945
30946 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
30947 `disk/lvm.c' to the end of the list.
30948 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
30949 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
30950
30951 2008-02-10 Robert Millan <rmh@aybabtu.com>
30952
30953 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
30954 grub_print_error() instead. This will let user know why we're entering
30955 rescue mode.
30956 Based on suggestions from Sam Morris.
30957
30958 2008-02-10 Alexandre Boeglin <alex@boeglin.org>
30959
30960 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
30961 on remaining N args, instead of "--" arg N times.
30962
30963 2008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
30964
30965 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
30966 (fill_with_default_glyph): Changed to use unknown_glyph for fill
30967 pattern for unknown glyphs.
30968
30969 2008-02-09 Robert Millan <rmh@aybabtu.com>
30970
30971 * configure.ac: Probe for `help2man'.
30972 * Makefile.in (builddir): New variable.
30973 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
30974 or otherwise add a few flags/options to it.
30975 (install-local): For every executable utility or script that is
30976 installed, invoke $(HELP2MAN) to install a manpage based on --help
30977 output.
30978
30979 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
30980 that it doesn't prevent --help from working in build tree.
30981
30982 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
30983 with `bug-grub@gnu.org'.
30984 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
30985 * util/update-grub.in (usage): New function.
30986 Implement proper argument check, with support for --help and --version
30987 (as well as existing -y).
30988
30989 2008-02-09 Christian Franke <franke@computer.org>
30990
30991 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
30992 avoid overwriting previous output.
30993 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
30994
30995 2008-02-09 Robert Millan <rmh@aybabtu.com>
30996
30997 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
30998 drawing the menu.
30999
31000 2008-02-09 Robert Millan <rmh@aybabtu.com>
31001
31002 * commands/sleep.c: New file.
31003 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
31004 (sleep_mod_SOURCES): New variable.
31005 (sleep_mod_CFLAGS): Likewise.
31006 (sleep_mod_LDFLAGS): Likewise.
31007
31008 2008-02-09 Robert Millan <rmh@aybabtu.com>
31009
31010 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
31011 situations in which we can deduce the RAID size and the superblock
31012 doesn't match it.
31013
31014 2008-02-09 Robert Millan <rmh@aybabtu.com>
31015
31016 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
31017 and return a grub_diskmemberlist_t composed of LVM physical volumes.
31018 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
31019
31020 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
31021 and return a grub_diskmemberlist_t composed of physical array members.
31022 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
31023
31024 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
31025 prototype.
31026 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
31027 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
31028 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
31029
31030 * util/grub-probe.c (probe): Move partmap probing code from here ...
31031 (probe_partmap): ... to here.
31032 (probe): Use probe_partmap() once for the disk we're probing, and
31033 additionally, when such disk contains a memberlist() struct member,
31034 once for each disk that is contained in the structure returned by
31035 memberlist().
31036
31037 2008-02-09 Robert Millan <rmh@aybabtu.com>
31038
31039 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
31040 environment variable to 'all' in order to obtain debug output from
31041 non-util/ code.
31042 * util/i386/pc/grub-setup.c (main): Likewise.
31043
31044 2008-02-08 Robert Millan <rmh@aybabtu.com>
31045
31046 * disk/raid.c (grub_raid_scan_device): Check for
31047 `array->device[sb.this_disk.number]' rather than for
31048 `array->device[sb.this_disk.number]->name', since the latter is not
31049 guaranteed to be accessible.
31050
31051 2008-02-08 Robert Millan <rmh@aybabtu.com>
31052
31053 * disk/raid.c: Update copyright.
31054 * fs/cpio.c: Likewise.
31055 * include/grub/raid.h: Likewise.
31056 * loader/i386/pc/multiboot.c: Likewise.
31057 * util/hostfs.c: Likewise.
31058
31059 2008-02-08 Robert Millan <rmh@aybabtu.com>
31060
31061 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
31062 to a grub_disk_t array.
31063 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
31064 `device[x]'.
31065 (grub_raid_scan_device): Replace `device[x].name' accesses with
31066 `device[x]->name'. Simplify initialization of `array->device[x]'.
31067
31068 2008-02-08 Robert Millan <rmh@aybabtu.com>
31069
31070 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
31071 grub_dprintf() calls.
31072 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
31073 error message.
31074
31075 2008-02-07 Christian Franke <franke@computer.org>
31076
31077 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
31078 instead of fseek and ftell to support large files.
31079 (grub_hostfs_read): Likewise.
31080
31081 2008-02-07 Robert Millan <rmh@aybabtu.com>
31082
31083 Patch from Jeroen Dekkers.
31084 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
31085 failure, since successfully reading all array members might not be
31086 required.
31087
31088 2008-02-06 Robert Millan <rmh@aybabtu.com>
31089
31090 * util/grub-probe.c (probe): Simplify partmap probing (with the
31091 assumption that the first word up to the underscore equals to
31092 the module name).
31093
31094 2008-02-06 Christian Franke <franke@computer.org>
31095
31096 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
31097 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
31098 last block of a cpio or tar stream.
31099 Check for "TRAILER!!!" instead of any empty data
31100 block to detect last block of a cpio stream.
31101 (grub_cpio_dir): Fix constness of variable np.
31102 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
31103 cpio or tar trailer is detected. This fixes a crash
31104 on open of a non existing file.
31105
31106 2008-02-05 Bean <bean123ch@gmail.com>
31107
31108 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
31109 address of entry.
31110 (grub_multiboot_load_elf64): Likewise.
31111 (grub_multiboot): Initialize mbi structure.
31112
31113 * util/grub-fstest.c: Don't include unused header file script.h.
31114
31115 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
31116 of file.
31117 (grub_fstest_SOURCES): Likewise.
31118
31119 2008-02-05 Robert Millan <rmh@aybabtu.com>
31120
31121 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
31122 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
31123 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
31124 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
31125
31126 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
31127 (translation_table): Replace hardcoded values with macros
31128 provided by `<grub/term.h>'.
31129
31130 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
31131 (keyboard_map): Correct/add a few values, with macros provided
31132 by `<grub/term.h>'.
31133 (keyboard_map_shift): Zero values that don't differ from their
31134 `keyboard_map' equivalents.
31135 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
31136 Discard the second scan code that is always sent by Caps lock.
31137 Only use `keyboard_map_shift' when it provides a non-zero value,
31138 otherwise fallback to `keyboard_map'.
31139
31140 2008-02-04 Bean <bean123ch@gmail.com>
31141
31142 * Makefile.in (enable_grub_fstest): New variable.
31143
31144 * conf/common.rmk (grub_fstest_init.lst): New rule.
31145 (grub_fstest_init.h): Likewise.
31146 (grub_fstest_init.c): Likewise.
31147 (util/grub-fstest.c_DEPENDENCIES): New variable.
31148 (grub_fstest_SOURCES): Likewise.
31149
31150 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
31151
31152 * util/grub-fstest.c: New file.
31153
31154 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
31155
31156 Make grub-setup handle a separate root device.
31157
31158 * util/i386/pc/grub-setup.c (setup): Always open the root device,
31159 so that the root device can be compared with the destination
31160 device.
31161 When embedding the core image, if the root and destination devices
31162 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
31163 0xFF.
31164 When not embedding, set ROOT_DRIVE to 0xFF.
31165
31166 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
31167
31168 Add support for having a grub directory in a different drive. This
31169 is still only the data handling part.
31170
31171 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
31172 (codestart): Save %dh in GRUB_ROOT_DRIVE.
31173 (grub_root_drive): New variable.
31174
31175 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
31176 instead of GRUB_BOOT_DRIVE to construct a device name. Set
31177 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
31178 as it was.
31179
31180 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
31181
31182 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
31183 macro.
31184 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
31185
31186 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
31187 is bogus, because PXE booting does not specify any drive
31188 correctly.
31189
31190 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
31191 am not sure if this is really correct.
31192
31193 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
31194 is always identical to the boot drive when booting from a CD.
31195
31196 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
31197 longer.
31198 (root_drive): New variable.
31199 (real_start): Unconditionally set %dh to ROOT_DRIVE.
31200 (setup_sectors): Push %dx right after popping it, because %dh will
31201 be modified later.
31202 (copy_buffer): Restore %dx.
31203
31204 2008-02-03 Robert Millan <rmh@aybabtu.com>
31205
31206 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
31207 use `cdboot.img' for cdrom images.
31208
31209 2008-02-03 Robert Millan <rmh@aybabtu.com>
31210
31211 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
31212 only setup gfxterm when `font' command has succeeded.
31213
31214 2008-02-03 Robert Millan <rmh@aybabtu.com>
31215
31216 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
31217 (grub_rescue_cmd_multiboot_loader)
31218 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
31219
31220 2008-02-03 Pavel Roskin <proski@gnu.org>
31221
31222 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
31223 %edx and %esi from stack only after grub_gate_a20() is called.
31224 grub_gate_a20() clobbers %edx.
31225
31226 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
31227
31228 * configure.ac (AC_INIT): Bumped to 1.96.
31229
31230 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
31231 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
31232 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
31233 video/readers/png.c.
31234
31235 2008-02-03 Bean <bean123ch@gmail.com>
31236
31237 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
31238 (cdboot_img_SOURCES): New variable.
31239 (cdboot_img_ASFLAGS): New variable.
31240 (cdboot_img_LDFLAGS): New variable.
31241
31242 * boot/i386/pc/cdboot.S: New file.
31243
31244 * disk/i386/pc/biosdisk.c (cd_start): New variable.
31245 (cd_count): Likewise.
31246 (grub_biosdisk_get_drive): Add support for cd device.
31247 (grub_biosdisk_call_hook): Likewise.
31248 (grub_biosdisk_iterate): Likewise.
31249 (grub_biosdisk_open): Likewise.
31250 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
31251 (grub_biosdisk_rw): Support reading from cd device.
31252 (GRUB_MOD_INIT): Iterate cd devices.
31253
31254 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
31255 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
31256 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
31257
31258 * kern/i386/pc/init.c (make_install_device): Check for cd device.
31259
31260 2008-02-02 Robert Millan <rmh@aybabtu.com>
31261
31262 * commands/read.c: New file.
31263 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
31264 (read_mod_SOURCES): New variable.
31265 (read_mod_CFLAGS): Likewise.
31266 (read_mod_LDFLAGS): Likewise.
31267
31268 2008-02-02 Robert Millan <rmh@aybabtu.com>
31269
31270 * normal/main.c (grub_normal_execute): Check for `menu->size' when
31271 determining whether menu has to be displayed.
31272
31273 2008-02-02 Marco Gerards <marco@gnu.org>
31274
31275 * bus/pci.c: New file.
31276
31277 * include/grub/pci.h: Likewise.
31278
31279 * include/grub/i386/pc/pci.h: Likewise.
31280
31281 * commands/lspci.c: Likewise.
31282
31283 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
31284 `lspci.mod'.
31285 (pci_mod_SOURCES): New variable.
31286 (pci_mod_CFLAGS): Likewise.
31287 (pci_mod_LDFLAGS): Likewise.
31288 (lspci_mod_SOURCES): Likewise.
31289 (lspci_mod_CFLAGS): Likewise.
31290 (lspci_mod_LDFLAGS): Likewise.
31291
31292 2008-02-02 Bean <bean123ch@gmail.com>
31293
31294 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
31295 (grub_ufs_get_file_block): Fix indirect block calculation problem.
31296
31297 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
31298 (grub_xfs_btree_node): New structure.
31299 (grub_xfs_btree_root): New structure.
31300 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
31301 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
31302 (GRUB_XFS_EXTENT_BLOCK): Likewise.
31303 (GRUB_XFS_EXTENT_SIZE): Likewise.
31304 (grub_xfs_read_block): Support btree format type.
31305 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
31306 Use directory block as basic unit.
31307
31308 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
31309
31310 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
31311 __attribute__ ((__regparm__ (1))).
31312
31313 2008-02-01 Robert Millan <rmh@aybabtu.com>
31314
31315 Correct a mistake in previous commit.
31316
31317 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
31318 top.
31319 (normal/command.c_DEPENDENCIES): New variable.
31320
31321 2008-02-01 Robert Millan <rmh@aybabtu.com>
31322
31323 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
31324 top.
31325 (normal/command.c_DEPENDENCIES): New variable.
31326 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
31327 * conf/i386-ieee1275.rmk: Likewise.
31328 * conf/i386-linuxbios.rmk: Likewise.
31329 * conf/i386-pc.rmk: Likewise.
31330 * conf/sparc64-ieee1275.rmk: Likewise.
31331 * conf/powerpc-ieee1275.rmk: Likewise.
31332 (grub_emu_SOURCES): Add `fs/fshelp.c'.
31333
31334 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
31335
31336 2008-02-01 Robert Millan <rmh@aybabtu.com>
31337
31338 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
31339 call at beginning of function.
31340
31341 2008-01-31 Pavel Roskin <proski@gnu.org>
31342
31343 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
31344 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
31345 (grub_mkrescue_SOURCES): Likewise.
31346 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
31347
31348 2008-01-30 Robert Millan <rmh@aybabtu.com>
31349
31350 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
31351 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
31352 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
31353 (grub_probe_SOURCES): ... to here.
31354
31355 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
31356 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
31357 * conf/i386-ieee1275.rmk: Likewise.
31358 * conf/i386-linuxbios.rmk: Likewise.
31359 * conf/powerpc-ieee1275.rmk: Likewise.
31360
31361 2008-01-30 Tristan Gingold <gingold@free.fr>
31362
31363 * kern/rescue.c: Silently accept empty lines.
31364
31365 2008-01-29 Bean <bean123ch@gmail.com>
31366
31367 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
31368 (real_code_2): Code cleanup and change comment style.
31369 (move_memory): Avoid using 32-bit address mode.
31370
31371 2008-01-29 Bean <bean123ch@gmail.com>
31372
31373 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
31374 (png_mod_SOURCES): New variable.
31375 (png_mod_CFLAGS): Likewise.
31376 (png_mod_LDFLAGS): Likewise.
31377
31378 * video/readers/png.c: New file.
31379
31380 2008-01-28 Robert Millan <rmh@aybabtu.com>
31381
31382 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
31383 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
31384 `ifndef GRUB_MOD_GAP' hack.
31385 * util/elf/grub-mkimage.c (add_segments): Likewise.
31386
31387 2008-01-27 Robert Millan <rmh@aybabtu.com>
31388
31389 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
31390 `GRUB_MOD_GAP' for platforms in which it's not defined.
31391 * util/elf/grub-mkimage.c (add_segments): Likewise.
31392
31393 2008-01-27 Robert Millan <rmh@aybabtu.com>
31394
31395 Get grub-emu to build again (including parallel builds).
31396
31397 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
31398 Split into ...
31399 (util/grub-emu.c_DEPENDENCIES): ... this, ...
31400 (normal/execute.c_DEPENDENCIES): ... this, ...
31401 (grub-emu_DEPENDENCIES): ... and this.
31402
31403 * conf/i386-efi.rmk: Likewise.
31404 * conf/i386-linuxbios.rmk: Likewise.
31405 * conf/i386-ieee1275.rmk: Likewise.
31406 * conf/powerpc-ieee1275.rmk: Likewise.
31407 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
31408
31409 2008-01-27 Robert Millan <rmh@aybabtu.com>
31410
31411 * NEWS: Add a few items.
31412
31413 2008-01-27 Robert Millan <rmh@aybabtu.com>
31414
31415 Fix parallel builds with grub-emu. Based on earlier commit for
31416 grub-probe and grub-setup.
31417
31418 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
31419 (util/grub-emu.c_DEPENDENCIES): ... this.
31420 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
31421 (util/grub-emu.c_DEPENDENCIES): ... this.
31422 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
31423 (util/grub-emu.c_DEPENDENCIES): ... this.
31424 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
31425 (util/grub-emu.c_DEPENDENCIES): ... this.
31426 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
31427 (util/grub-emu.c_DEPENDENCIES): ... this.
31428
31429 2008-01-27 Pavel Roskin <proski@gnu.org>
31430
31431 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
31432 to create a gap between _end and the modules added to the image
31433 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
31434 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
31435 * util/elf/grub-mkimage.c (add_segments): Likewise.
31436
31437 2008-01-26 Pavel Roskin <proski@gnu.org>
31438
31439 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
31440 just return an error.
31441
31442 2008-01-26 Bean <bean123ch@gmail.com>
31443
31444 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
31445 (grub_reiserfs_get_item): Save offset of the next item.
31446 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
31447
31448 2008-01-25 Robert Millan <rmh@aybabtu.com>
31449
31450 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
31451 make all filesystem sources appear together (possibly fixing omissions
31452 while at it).
31453 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
31454 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31455 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
31456 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31457
31458 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
31459 add `kern/file.c'.
31460 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
31461 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
31462 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
31463 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
31464
31465 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
31466 (probe): Add a sanity check to make sure of our ability to read
31467 requested files when probing for filesystem type.
31468
31469 * genmk.rb: Update copyright year (2007).
31470
31471 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
31472 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
31473 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
31474 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
31475 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
31476 : Remove function prototypes.
31477
31478 2008-01-25 Robert Millan <rmh@aybabtu.com>
31479
31480 Revert my previous commits (based on wrong assumption of how grub_errno
31481 works).
31482
31483 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
31484 * kern/file.c (grub_file_open): Likewise.
31485
31486 2008-01-24 Pavel Roskin <proski@gnu.org>
31487
31488 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
31489 that hang if GRUB tries to setup colors.
31490 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
31491 colors for firmwares that don't support it.
31492 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
31493 Recognize Open Hack'Ware, set flags to work around its
31494 limitations.
31495
31496 2008-01-24 Robert Millan <rmh@aybabtu.com>
31497
31498 * kern/file.c (grub_file_open): Do not account previous failures of
31499 unrelated functions when grub_errno is checked for.
31500 Reported by Oleg Strikov.
31501
31502 2008-01-24 Bean <bean123ch@gmail.com>
31503
31504 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
31505 (grub_ufs_sblock): New member volume name.
31506 (grub_ufs_find_file): Fix string copy bug.
31507 (grub_ufs_label): Implement this function properly.
31508
31509 * fs/hfs.c (grub_hfs_cnid_type): New enum.
31510 (grub_hfs_iterate_records): Use the correct file number for extents
31511 and catalog file. Fix problem in next index calculation.
31512 (grub_hfs_find_node): Replace recursive function call with loop.
31513 (grub_hfs_iterate_dir): Replace recursive function call with loop.
31514
31515 2008-01-23 Robert Millan <rmh@aybabtu.com>
31516
31517 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
31518 `<grub/symbol.h>' and `<grub/multiboot.h>'.
31519 (grub_multiboot2_real_boot): New function prototype.
31520
31521 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
31522 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
31523
31524 * kern/i386/ieee1275/init.c (grub_os_area_addr)
31525 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
31526
31527 2008-01-23 Robert Millan <rmh@aybabtu.com>
31528
31529 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
31530 #ifdef'ed out grub_printf().
31531
31532 2008-01-23 Robert Millan <rmh@aybabtu.com>
31533
31534 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
31535 grub_dprintf calls, since they make "debug=all" mode unusable.
31536 (grub_console_checkkey): Likewise.
31537
31538 2008-01-23 Robert Millan <rmh@aybabtu.com>
31539
31540 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
31541 `term/i386/pc/at_keyboard.c'.
31542 (pkglib_MODULES): Add `serial.mod'.
31543 (serial_mod_SOURCES): New variable.
31544 (serial_mod_CFLAGS): Likewise.
31545 (serial_mod_LDFLAGS): Likewise.
31546
31547 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
31548 `<grub/powerpc/ieee1275/console.h>'.
31549 (grub_keyboard_controller_init): New function prototype.
31550 (grub_console_checkkey): Likewise.
31551 (grub_console_getkey): Likewise.
31552
31553 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
31554 keyboard on i386.
31555
31556 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
31557 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
31558
31559 2008-01-23 Robert Millan <rmh@aybabtu.com>
31560
31561 * kern/i386/pc/init.c (make_install_device): When memdisk image is
31562 present, "(memdisk)/boot/grub" becomes the default prefix.
31563
31564 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
31565 a memdisk tarball with all the modules. Add --overlay=DIR option that
31566 allows users to overlay additional files into the image.
31567
31568 2008-01-23 Robert Millan <rmh@aybabtu.com>
31569
31570 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
31571 and `machine/memory.h'.
31572 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
31573 (_multiboot_mod_SOURCES): New variable.
31574 (_multiboot_mod_CFLAGS): Likewise.
31575 (_multiboot_mod_LDFLAGS): Likewise.
31576 (multiboot_mod_SOURCES): Likewise.
31577 (multiboot_mod_CFLAGS): Likewise.
31578 (multiboot_mod_LDFLAGS): Likewise.
31579
31580 * include/grub/i386/ieee1275/loader.h: New file.
31581
31582 * include/grub/i386/ieee1275/machine.h: Likewise.
31583
31584 * include/grub/i386/ieee1275/memory.h: Likewise.
31585
31586 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
31587 variable declaration.
31588 (grub_os_area_size): Likewise.
31589
31590 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
31591 (grub_lower_mem, grub_upper_mem): New variables.
31592 (grub_stop_floppy): New function (just to make
31593 grub_multiboot2_real_boot() happy).
31594
31595 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
31596 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
31597 (grub_stop): New function.
31598 Include `"../realmode.S"' and `"../loader.S"'.
31599
31600 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
31601 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
31602
31603 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
31604 rely on grub_multiboot2_real_boot() for final boot.
31605
31606 2008-01-22 Robert Millan <rmh@aybabtu.com>
31607
31608 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
31609 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
31610 device that doesn't look like an SD card.
31611 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
31612 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
31613 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
31614 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
31615 found.
31616
31617 2008-01-22 Robert Millan <rmh@aybabtu.com>
31618
31619 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
31620 avoid claiming over our own code.
31621
31622 2008-01-22 Bean <bean123ch@gmail.com>
31623
31624 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
31625 (jpeg_mod_SOURCES): New variable.
31626 (jpeg_mod_CFLAGS): Likewise.
31627 (jpeg_mod_LDFLAGS): Likewise.
31628
31629 * video/readers/jpeg.c : New file.
31630
31631 2008-01-22 Bean <bean123ch@gmail.com>
31632
31633 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
31634 there are no more items.
31635
31636 2008-01-21 Robert Millan <rmh@aybabtu.com>
31637
31638 * kern/mm.c (grub_mm_init_region): Improve debug message.
31639
31640 2008-01-21 Robert Millan <rmh@aybabtu.com>
31641
31642 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
31643 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
31644 address.
31645 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
31646 a C macro.
31647 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
31648 Indicates start of upper memory.
31649 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
31650 (generate_image): Abort when image size is big enough to corrupt
31651 upper memory.
31652
31653 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
31654 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
31655 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
31656 instead of hardcoding 0xA0000.
31657 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
31658 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
31659 instead of hardcoding 0xA0000.
31660
31661 2008-01-21 Robert Millan <rmh@aybabtu.com>
31662
31663 * disk/memdisk.c (memdisk_size): New variable.
31664 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
31665 `memdisk_size'.
31666 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
31667 image to dynamic memory.
31668 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
31669 `memdisk_size'. Free memdisk block.
31670
31671 2008-01-21 Robert Millan <rmh@aybabtu.com>
31672
31673 Fix detection of very small filesystems (like tar).
31674
31675 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
31676 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
31677 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
31678 a problem with this disk).
31679
31680 2008-01-21 Robert Millan <rmh@aybabtu.com>
31681
31682 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
31683 on grub_biosdisk_rw_standard() error.
31684
31685 2008-01-21 Robert Millan <rmh@aybabtu.com>
31686
31687 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
31688 recent changes.
31689 * kern/elf.c: Likewise.
31690 * kern/ieee1275/ieee1275.c: Likewise.
31691 * kern/powerpc/ieee1275/openfw.c: Likewise.
31692 * term/ieee1275/ofconsole.c: Likewise.
31693
31694 2008-01-21 Robert Millan <rmh@aybabtu.com>
31695
31696 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
31697
31698 * include/grub/kernel.h (grub_arch_memdisk_addr)
31699 (grub_arch_memdisk_size): Moved from here ...
31700
31701 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
31702 (grub_arch_memdisk_size): ... to here.
31703
31704 2008-01-21 Robert Millan <rmh@aybabtu.com>
31705
31706 Mostly based on bugfix from Bean.
31707
31708 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
31709 attribute with hook() parameter.
31710 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
31711 declaration.
31712 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
31713 attribute with hook() parameter.
31714 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
31715 declaration.
31716
31717 2008-01-21 Robert Millan <rmh@aybabtu.com>
31718
31719 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
31720 (pkglib_MODULES): Add `memdisk.mod'.
31721 (memdisk_mod_SOURCES): New variable.
31722 (memdisk_mod_CFLAGS): Likewise.
31723 (memdisk_mod_LDFLAGS): Likewise.
31724
31725 * disk/memdisk.c: New file.
31726
31727 * include/grub/disk.h (grub_disk_dev_id): Add
31728 `GRUB_DISK_DEVICE_MEMDISK_ID'.
31729
31730 * include/grub/i386/pc/kernel.h
31731 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
31732 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
31733 (grub_kernel_image_size): New variable declaration.
31734 (grub_total_module_size): Likewise.
31735 (grub_memdisk_image_size): Likewise.
31736
31737 * include/grub/i386/pc/memory.h
31738 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
31739
31740 * include/grub/kernel.h: Include `<grub/symbol.h>'.
31741 (grub_arch_memdisk_addr): New variable declaration.
31742 (grub_arch_memdisk_size): Likewise.
31743
31744 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
31745 (grub_arch_memdisk_size): Likewise.
31746
31747 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
31748 (codestart): Replace hardcoded `0x100000' with
31749 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
31750
31751 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
31752 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
31753 not NULL, append the contents of the file it refers to, at the end of
31754 the compressed kernel image. Initialize `grub_memdisk_image_size'
31755 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
31756 (options): Add "memdisk"|'m' option.
31757 (main): Parse --memdisk|-m option, and pass user-provided path as
31758 parameter to generate_image().
31759
31760 2008-01-20 Robert Millan <rmh@aybabtu.com>
31761
31762 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
31763 grub_dprintf() calls from here ...
31764 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
31765
31766 2008-01-20 Robert Millan <rmh@aybabtu.com>
31767
31768 Fix detection of "real mode" when /options/real-mode? doesn't exist.
31769
31770 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
31771 declaration.
31772 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
31773 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
31774 `GRUB_IEEE1275_FLAG_REAL_MODE'.
31775 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
31776 property).
31777 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
31778 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
31779
31780 2008-01-19 Robert Millan <rmh@aybabtu.com>
31781
31782 Get rid of confusing function (superseded by
31783 `grub_ieee1275_get_integer_property')
31784 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
31785 prototype.
31786 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
31787 function.
31788 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
31789 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
31790 in native endianness from grub_ieee1275_get_integer_property().
31791
31792 2008-01-19 Robert Millan <rmh@aybabtu.com>
31793
31794 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
31795 command after "shut-down", since implementations differ on which
31796 the command for halt is.
31797
31798 2008-01-19 Robert Millan <rmh@aybabtu.com>
31799
31800 * include/grub/i386/linuxbios/console.h: Add header protection.
31801 (grub_keyboard_controller_init): New function prototype.
31802 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
31803 (KEYBOARD_COMMAND_READ): Likewise.
31804 (KEYBOARD_COMMAND_WRITE): Likewise.
31805 (KEYBOARD_SCANCODE_SET1): Likewise.
31806 (grub_keyboard_controller_write): New function.
31807 (grub_keyboard_controller_read): Likewise.
31808 (grub_keyboard_controller_init): Likewise.
31809
31810 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
31811 (grub_console_init): On coreboot/LinuxBIOS, call
31812 grub_keyboard_controller_init().
31813
31814 2008-01-19 Robert Millan <rmh@aybabtu.com>
31815
31816 PowerPC changes provided by Pavel Roskin.
31817
31818 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
31819 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
31820 don't rely on cmain() doing it.
31821 * kern/i386/ieee1275/startup.S (_start): Store %eax in
31822 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
31823
31824 2008-01-16 Robert Millan <rmh@aybabtu.com>
31825
31826 * include/grub/i386/linuxbios/memory.h
31827 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
31828 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
31829 receive `table_header' as argument. Instead, probe for it in the
31830 known memory ranges where it can be present.
31831 (grub_available_iterate): Do not pass a fixed `table_header' address
31832 to grub_linuxbios_table_iterate().
31833
31834 2008-01-15 Robert Millan <rmh@aybabtu.com>
31835
31836 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
31837 * conf/i386-ieee1275.rmk: New file.
31838 * include/grub/i386/ieee1275/console.h: Likewise.
31839 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
31840 * include/grub/i386/ieee1275/kernel.h: Likewise.
31841 * include/grub/i386/ieee1275/time.h: Likewise.
31842 * kern/i386/ieee1275/init.c: Likewise.
31843 * kern/i386/ieee1275/startup.S: Likewise.
31844
31845 2008-01-15 Robert Millan <rmh@aybabtu.com>
31846
31847 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
31848 when pointers are 32-bit (but still do set it to one when they are
31849 64-bit).
31850
31851 2008-01-15 Robert Millan <rmh@aybabtu.com>
31852
31853 * include/grub/ieee1275/ieee1275.h
31854 (grub_ieee1275_get_integer_property): New function prototype.
31855
31856 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
31857 (grub_ieee1275_get_integer_property): New function. Wraps around
31858 grub_ieee1275_get_property() to handle endianness.
31859
31860 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
31861 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
31862 where appropriate.
31863 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
31864 (grub_map): Likewise.
31865 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
31866
31867 2008-01-15 Bean <bean123ch@gmail.com>
31868
31869 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
31870 (grub_script_execute_cmdline): Reset grub_errno.
31871
31872 * normal/main.c (read_config_file): Reset grub_errno.
31873
31874 * normal/parse.y (script_init): New.
31875 (script): Move function and menuentry here.
31876 (delimiter): New.
31877 (command): Add delimiter at the end of command.
31878 (commands): Adjust to match the new command.
31879 (commandblock): Remove grub_script_lexer_record_start.
31880 (menuentry): Add grub_script_lexer_record_start, use the new commands.
31881 (if): Use the new commands.
31882
31883 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
31884
31885 2008-01-15 Robert Millan <rmh@aybabtu.com>
31886
31887 * normal/menu.c (run_menu): Move timeout message from here ...
31888 (print_timeout): ... to here.
31889 (run_menu): Use print_timeout() once during initial draw to print
31890 the whole message, and again in every clock tick to update only
31891 the number of seconds.
31892
31893 2008-01-15 Robert Millan <rmh@aybabtu.com>
31894
31895 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
31896 actual size of `available' from grub_ieee1275_get_property(), and
31897 restrict parsing to that bound.
31898
31899 2008-01-15 Christian Franke <franke@computer.org>
31900
31901 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
31902 (argp_program_version): Remove variable.
31903 (argp_program_bug_address): Likewise.
31904 (options): Convert from struct argp_option to struct option.
31905 (struct arguments): Remove.
31906 (parse_opt): Remove.
31907 (usage): New function.
31908 (main): Replace struct args members by simple variables.
31909 Replace argp_parse() by getopt_long().
31910 Add switch to evaluate options.
31911 Add missing "(...)" around root_dev in prefix string.
31912
31913 2008-01-14 Robert Millan <rmh@aybabtu.com>
31914
31915 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
31916 for grub_ieee1275_exit(), in order to improve portability.
31917
31918 2008-01-14 Robert Millan <rmh@aybabtu.com>
31919
31920 * util/grub.d/10_linux.in (prefix): Define.
31921 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
31922
31923 2008-01-13 Pavel Roskin <proski@gnu.org>
31924
31925 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
31926 grub_errno if no errors have been detected.
31927
31928 2008-01-12 Robert Millan <rmh@aybabtu.com>
31929
31930 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
31931 (grub_util_get_dev_abstraction): New function prototype.
31932
31933 * util/getroot.c: Include `<grub/util/getroot.h>'
31934 (grub_util_get_grub_dev): Move detection of abstraction type to ...
31935 (grub_util_get_dev_abstraction): ... here (new function).
31936
31937 * util/grub-probe.c: Convert PRINT_* to an enum. Add
31938 `PRINT_ABSTRACTION'.
31939 (probe): Probe for abstraction type when requested.
31940 (main): Understand `--target=abstraction'.
31941
31942 * util/i386/efi/grub-install.in: Add abstraction module to core
31943 image when it is found to be necessary.
31944 * util/i386/pc/grub-install.in: Likewise.
31945 * util/powerpc/ieee1275/grub-install.in: Likewise.
31946
31947 * util/update-grub_lib.in (font_path): Return system path without
31948 converting to GRUB path.
31949 * util/update-grub.in: Convert system path returned by font_path()
31950 to a GRUB path. Use `grub-probe -t abstraction' to determine what
31951 abstraction module is needed for loading fonts (if any). Export
31952 that as `GRUB_PRELOAD_MODULES'.
31953 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
31954 insmod commands).
31955
31956 2008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
31957
31958 Remove some unused code from reiserfs.
31959
31960 * fs/reiserfs.c (struct grub_reiserfs_key)
31961 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
31962 (struct grub_reiserfs_node_body): Removed.
31963 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
31964 Likewise.
31965 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
31966 Likewise.
31967 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
31968 Likewise.
31969 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
31970 Likewise.
31971 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
31972 Likewise.
31973 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
31974 Likewise.
31975 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
31976 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
31977 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
31978
31979 2008-01-10 Robert Millan <rmh@aybabtu.com>
31980
31981 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
31982 Determines if a file is garbage left by packaging systems, etc.
31983 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
31984 for processing /etc/grub.d scripts.
31985 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
31986 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
31987 as a condition for processing Linux images.
31988
31989 2008-01-10 Pavel Roskin <proski@gnu.org>
31990
31991 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
31992 to compile reiserfs.c on PowerPC.
31993
31994 2008-01-10 Robert Millan <rmh@aybabtu.com>
31995
31996 * kern/device.c (grub_device_iterate): Do not abort device iteration
31997 when one of the devices cannot be opened.
31998 * kern/disk.c (grub_disk_open): Do not account previous failures of
31999 unrelated functions when grub_errno is checked for.
32000
32001 2008-01-08 Robert Millan <rmh@aybabtu.com>
32002
32003 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
32004 `! grub_linux_is_bzimage', change order of address comparison to make
32005 it more intuitive, and improve "too big zImage" error message.
32006
32007 2008-01-08 Robert Millan <rmh@aybabtu.com>
32008
32009 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
32010 `$(update-grub_DATA)'.
32011 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
32012 targets.
32013
32014 2008-01-07 Robert Millan <rmh@aybabtu.com>
32015
32016 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
32017 which instruction is modified by grub-setup during installation
32018 (since it wasn't obvious by only looking at this file).
32019
32020 2008-01-07 Robert Millan <rmh@aybabtu.com>
32021
32022 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
32023 listing actual TODO items.
32024
32025 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
32026
32027 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
32028 correctly.
32029 (grub_reiserfs_get_key_offset): Likewise.
32030 (grub_reiserfs_set_key_offset): Likewise.
32031 (grub_reiserfs_set_key_type): Likewise.
32032 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
32033
32034 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
32035 better to remove the bitfield version completely.
32036
32037 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
32038
32039 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
32040 allocated from the heap, due to the fshelp implementation.
32041 (grub_reiserfs_dir): Free NODE, due to the same reason.
32042
32043 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
32044
32045 Mostly from Vincent Pelletier:
32046
32047 * fs/reiserfs.c: New file.
32048
32049 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
32050 (reiserfs_mod_SOURCES): New variable.
32051 (reiserfs_mod_CFLAGS): Likewise.
32052 (reiserfs_mod_LDFLAGS): Likewise.
32053
32054 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
32055 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
32056 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
32057 normal/color.c.
32058
32059 2008-01-06 Robert Millan <rmh@aybabtu.com>
32060
32061 * normal/color.c: Remove `<grub/env.h>'.
32062
32063 2008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
32064
32065 * include/grub/normal.h: Include <grub/env.h>.
32066
32067 2008-01-05 Robert Millan <rmh@aybabtu.com>
32068
32069 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
32070 usage example with `(hd0,1)'.
32071 Reported by Samuel Thibault.
32072
32073 2008-01-05 Robert Millan <rmh@aybabtu.com>
32074
32075 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
32076 (grub_linux_boot_zimage): Rename to ...
32077 (grub_linux_boot): ... this.
32078 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
32079 (grub_linux_boot_zimage): Conditionalize zImage copy.
32080
32081 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
32082 (grub_linux_boot_bzimage): Remove prototype.
32083 (grub_linux_boot_zimage): Rename to ...
32084 (grub_linux_boot): ... this.
32085
32086 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
32087 (grub_linux_boot): Remove function.
32088
32089 2008-01-05 Robert Millan <rmh@aybabtu.com>
32090
32091 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
32092 (grub_env_write_color_highlight): Likewise.
32093 (grub_wait_after_message): Likewise.
32094
32095 * normal/color.c: New file.
32096
32097 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
32098 (normal_mod_DEPENDENCIES): Likewise.
32099
32100 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
32101 (normal_mod_DEPENDENCIES): Likewise.
32102
32103 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
32104 (normal_mod_DEPENDENCIES): Likewise.
32105
32106 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
32107 (normal_mod_DEPENDENCIES): Likewise.
32108
32109 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
32110 for waiting after a message is printed.
32111 * normal/main.c (read_config_file): Likewise.
32112 (grub_normal_init): Register grub_env_write_color_normal() and
32113 grub_env_write_color_highlight() hooks. Mark `color_normal' and
32114 `color_highlight' variables as global.
32115
32116 * normal/menu.c (grub_wait_after_message): New function.
32117 (grub_color_menu_normal): New variable. Replaces ...
32118 (GRUB_COLOR_MENU_NORMAL): ... this macro.
32119 (grub_color_menu_highlight): New variable. Replaces ...
32120 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
32121 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
32122 `GRUB_TERM_COLOR_STANDARD'.
32123 (print_message): Use `grub_setcolorstate' to reload colors. Rename
32124 `normal_code' and `highlight_code' to `old_color_normal' and
32125 `old_color_highlight', respectively.
32126 (grub_menu_init_page): Update colors when drawing the menu, based on
32127 `menu_color_normal' and `menu_color_highlight' variables.
32128 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
32129 a message is printed.
32130
32131 2008-01-05 Robert Millan <rmh@aybabtu.com>
32132
32133 * kern/env.c (grub_env_context_open): Propagate hooks for global
32134 variables to new context.
32135
32136 * kern/main.c (grub_set_root_dev): Export `root' variable.
32137
32138 2008-01-05 Robert Millan <rmh@aybabtu.com>
32139
32140 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
32141 discs unconditionally, since udev and others have options to provide
32142 them.
32143
32144 2008-01-05 Robert Millan <rmh@aybabtu.com>
32145
32146 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
32147
32148 2008-01-04 Christian Franke <franke@computer.org>
32149
32150 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
32151 of eisa_mmap.
32152
32153 2008-01-03 Pavel Roskin <proski@gnu.org>
32154
32155 * kern/i386/linuxbios/init.c: Put "void" to all function
32156 declarations with no arguments.
32157 * kern/powerpc/ieee1275/init.c: Likewise.
32158 * term/i386/pc/at_keyboard.c: Likewise.
32159 * term/i386/pc/vga_text.c: Likewise.
32160 * util/grub-mkdevicemap.c: Likewise.
32161
32162 2008-01-02 Robert Millan <rmh@aybabtu.com>
32163
32164 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
32165 message when loaded image is out of bounds.
32166 (grub_multiboot_load_elf64): Likewise.
32167
32168 2008-01-02 Pavel Roskin <proski@gnu.org>
32169
32170 * util/grub.d/10_linux.in: Try version without ".old" when
32171 looking for initrd. It's better to use initrd from the newer
32172 kernel of the same version than no initrd at all.
32173
32174 2008-01-01 Robert Millan <rmh@aybabtu.com>
32175
32176 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
32177
32178 2008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
32179
32180 * include/grub/video.h: Added grub_video_unmap_color and
32181 grub_video_get_active_render_target.
32182 (grub_video_adapter): Added unmap_color and get_active_render_target.
32183
32184 * video/video.c: Added grub_video_unmap_color and
32185 grub_video_get_active_render_target.
32186 (grub_video_get_info): Changed method to accept NULL pointer as an
32187 argument to allow detection of active video adapter.
32188
32189 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
32190 grub_video_vbe_unmap_color_int.
32191 Added grub_video_vbe_unmap_color and
32192 grub_video_vbe_get_active_render_target.
32193 (grub_video_vbe_adapter): Added unmap_color and
32194 get_active_render_target.
32195
32196 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
32197 with grub_video_vbe_unmap_color_int.
32198
32199 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
32200 (DEFAULT_NORMAL_COLOR): Likewise.
32201 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
32202 (DEFAULT_FG_COLOR): Removed.
32203 (DEFAULT_BG_COLOR): Likewise.
32204 (DEFAULT_CURSOR_COLOR): Changed value.
32205 (grub_virtual_screen): Added standard_color_setting,
32206 normal_color_setting, highlight_color_setting and term_color.
32207 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
32208 (bitmap_width): Added.
32209 (bitmap_height): Likewise.
32210 (bitmap): Likewise.
32211 (set_term_color): Likewise.
32212 (grub_virtual_screen_setup): Changed to use new terminal coloring
32213 settings.
32214 (grub_gfxterm_init): Added init for bitmap.
32215 (grub_gfxterm_fini): Added destroy for bitmap.
32216 (redraw_screen_rect): Updated to use background bitmap and new
32217 terminal coloring.
32218 (scroll_up): Added optimization for case when there is no bitmap.
32219 (grub_gfxterm_cls): Fixed to use correct background color.
32220 (grub_virtual_screen_setcolorstate): Changed to use new terminal
32221 coloring.
32222 (grub_virtual_screen_setcolor): Likewise.
32223 (grub_virtual_screen_getcolor): Added.
32224 (grub_gfxterm_background_image_cmd): Likewise.
32225 (grub_video_term): Added setcolor and getcolor.
32226 (MOD_INIT): Added registration of background_image command.
32227 (MOD_TERM): Added unregistration for background_image command.
32228
32229 2007-12-30 Pavel Roskin <proski@gnu.org>
32230
32231 * loader/multiboot_loader.c: Fix multiboot command
32232 unregistration. Fix all typos in the word "multiboot".
32233
32234 2007-12-29 Pavel Roskin <proski@gnu.org>
32235
32236 * util/grub.d/10_linux.in: Refactor search for initrd. Add
32237 support for initrd names used in Fedora.
32238
32239 2007-12-26 Bean <bean123ch@gmail.com>
32240
32241 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
32242 (cpio_mod_SOURCES): New variable.
32243 (cpio_mod_CFLAGS): Likewise.
32244 (cpio_mod_LDFLAGS): Likewise.
32245
32246 * fs/cpio.c: New file.
32247
32248 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
32249
32250 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32251
32252 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
32253
32254 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32255
32256 2007-12-25 Robert Millan <rmh@aybabtu.com>
32257
32258 * include/grub/term.h (struct grub_term): Add `getcolor' function.
32259 (grub_getcolor): New function.
32260
32261 * kern/term.c (grub_getcolor): New function.
32262 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
32263 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
32264 (print_entry): Set normal and highlight colors to
32265 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
32266 respectively, before printing and restore them to old
32267 values afterwards.
32268 (grub_menu_init_page): Likewise. Fill an additional colored space
32269 that would otherwise be left blank.
32270
32271 * term/efi/console.c (grub_console_getcolor): New function.
32272 (struct grub_console_term.getcolor): New variable.
32273 * term/i386/pc/console.c (grub_console_getcolor): New function.
32274 (struct grub_console_term.getcolor): New variable.
32275 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
32276 (struct grub_console_term.getcolor): New variable.
32277
32278 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
32279 (struct grub_console_term.setcolor): Remove variable.
32280 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
32281 (struct grub_console_term.setcolor): Remove variable.
32282 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
32283 (struct grub_console_term.setcolor): Remove variable.
32284 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
32285 (struct grub_console_term.setcolor): Remove variable.
32286
32287 2007-12-25 Robert Millan <rmh@aybabtu.com>
32288
32289 * configure.ac: Search for possible unifont.hex locations, and
32290 define UNIFONT_HEX if found.
32291
32292 * Makefile.in (UNIFONT_HEX): Define variable.
32293 (DATA): Rename to ...
32294 (PKGLIB): ... this. Update all users.
32295 (PKGDATA): New variable.
32296 (pkgdata_IMAGES): Rename to ...
32297 (pkglib_IMAGES): ... this. Update all users.
32298 (pkgdata_MODULES): Rename to ...
32299 (pkglib_MODULES): ... this. Update all users.
32300 (pkgdata_PROGRAMS): Rename to ...
32301 (pkglib_PROGRAMS): ... this. Update all users.
32302 (pkgdata_DATA): Rename to ...
32303 (pkglib_DATA): ... this. Update all users.
32304 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
32305 (unicode.pff, ascii.pff): New rules.
32306 (all-local): Add `$(PKGDATA)' dependency.
32307 (install-local): Process `$(PKGDATA)'.
32308
32309 * util/update-grub_lib.in (font_path): Search for *.pff files in
32310 a few more locations, including `${pkgdata}'.
32311
32312 2007-12-23 Robert Millan <rmh@aybabtu.com>
32313
32314 Patch from Bean <bean123ch@gmail.com>:
32315 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
32316 `size'.
32317
32318 2007-12-21 Bean <bean123ch@gmail.com>
32319
32320 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
32321 (ntfscomp_mod_SOURCES): New variable.
32322 (ntfscomp_mod_CFLAGS): Likewise.
32323 (ntfscomp_mod_LDFLAGS): Likewise.
32324
32325 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
32326 (grub_probe_SOURCES): Likewise.
32327 (grub_emu_SOURCES): Likewise.
32328
32329 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
32330 (grub_emu_SOURCES): Likewise.
32331
32332 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
32333 (grub_emu_SOURCES): Likewise.
32334
32335 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
32336 (grub_emu_SOURCES): Likewise.
32337
32338 * fs/ntfs.c (grub_ntfscomp_func): New variable.
32339 (read_run_list): Renamed to grub_ntfs_read_run_list.
32340 (decomp_nextvcn): Moved to ntfscomp.c.
32341 (decomp_getch): Likewise.
32342 (decomp_get16): Likewise.
32343 (decomp_block): Likewise.
32344 (read_block): Likewise.
32345 (read_data): Partially moved to ntfscomp.c.
32346 (fixup): Change unsigned to grub_uint16_t.
32347 (read_mft): Change unsigned long to grub_uint32_t.
32348 (read_attr): Likewise.
32349 (read_data): Likewise.
32350 (read_run_data): Likewise.
32351 (read_run_list): Likewise.
32352 (read_mft): Likewise.
32353
32354 * fs/ntfscomp.c: New file.
32355
32356 * include/grub/ntfs.h: New file.
32357
32358 2007-12-16 Robert Millan <rmh@aybabtu.com>
32359
32360 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
32361 IDE disk check, since Linux is known to support 20 IDE disks.
32362 Reported by Colin Watson.
32363
32364 2007-12-15 Bean <bean123ch@gmail.com>
32365
32366 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
32367 (lnxboot_img_SOURCES): New variable.
32368 (lnxboot_img_ASFLAGS): Likewise.
32369 (lnxboot_img_LDFLAGS): Likewise.
32370
32371 * boot/i386/pc/lnxboot.S: New file.
32372
32373 2007-11-24 Pavel Roskin <proski@gnu.org>
32374
32375 * configure.ac: Test if '--build-id=none' is supported by the
32376 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
32377 objcopy to generate incorrect binary files (binutils
32378 2.17.50.0.18-1 as shipped by Fedora 8).
32379 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
32380 linking, so that build ID doesn't break the test.
32381
32382 2007-11-24 Pavel Roskin <proski@gnu.org>
32383
32384 * include/grub/i386/time.h: use "void" in the argument list
32385 of grub_cpu_idle().
32386 * include/grub/powerpc/time.h: Likewise.
32387 * include/grub/sparc64/time.h: Likewise.
32388
32389 2007-11-18 Christian Franke <franke@computer.org>
32390
32391 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
32392 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
32393 This fixes the problem that function keys did not work in grub-emu.
32394
32395 2007-11-18 Christian Franke <franke@computer.org>
32396
32397 * disk/host.c (grub_host_open): Remove attribute unused from
32398 name parameter. Add check for "host". This fixes the problem
32399 that grub-emu does not find partitions.
32400
32401 2007-11-18 Christian Franke <franke@computer.org>
32402
32403 * util/hostfs.c (is_dir): New function.
32404 (grub_hostfs_dir): Handle missing dirent.d_type case.
32405 (grub_hostfs_read): Add missing fseek().
32406 (grub_hostfs_label): Clear label pointer. This fixes a crash
32407 of grub-emu on "ls (host)".
32408
32409 2007-11-18 Christian Franke <franke@computer.org>
32410
32411 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
32412 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
32413 to 64 bit boundary by default.
32414
32415 2007-11-18 Bean <bean123ch@gmail.com>
32416
32417 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
32418 (hexdump_mod_SOURCES): New variable.
32419 (hexdump_mod_CFLAGS): Likewise.
32420 (hexdump_mod_LDFLAGS): Likewise.
32421
32422 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
32423
32424 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
32425
32426 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
32427
32428 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
32429
32430 * include/grub/hexdump.h: New file.
32431
32432 * commands/hexdump.c: New file.
32433
32434 2007-11-10 Robert Millan <rmh@aybabtu.com>
32435
32436 * commands/i386/pc/play.c (beep_off): Switch order of arguments
32437 in grub_outb() calls.
32438 (beep_on): Likewise.
32439
32440 2007-11-10 Christian Franke <franke@computer.org>
32441
32442 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
32443 (grub_menu_run): Likewise.
32444
32445 2007-11-10 Robert Millan <rmh@aybabtu.com>
32446
32447 * include/grub/i386/efi/machine.h: New file.
32448 * include/grub/i386/linuxbios/machine.h: Likewise.
32449 * include/grub/i386/pc/machine.h: Likewise.
32450 * include/grub/powerpc/ieee1275/machine.h: Likewise.
32451 * include/grub/sparc64/ieee1275/machine.h: Likewise.
32452
32453 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
32454 (serial_hw_io_addr): New variable.
32455 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
32456 instead of `(unsigned short *) 0x400'.
32457
32458 2007-11-10 Bean <bean123ch@gmail.com>
32459
32460 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
32461
32462 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
32463
32464 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
32465 (vga_mod_SOURCES): Added.
32466 (vga_mod_CFLAGS): Likewise.
32467 (vga_mod_LDFLAGS): Likewise.
32468
32469 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
32470 grub_outb() calls.
32471 (set_map_mask): Likewise.
32472 (set_read_map): Likewise.
32473 (set_read_address): Likewise.
32474 (vga_font): Removed variable.
32475 (get_vga_glyph): Removed function.
32476 (invalidate_char): Likewise.
32477 (write_char): Changed to use grub_font_get_glyph() for font
32478 information.
32479 (grub_vga_putchar): Likewise.
32480 (grub_vga_getcharwidth): Likewise.
32481
32482 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
32483
32484 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
32485 flags.
32486 (pxeboot_img_LDFLAGS): Likewise.
32487 (diskboot_img_LDFLAGS): Likewise.
32488 (kernel_img_LDFLAGS): Likewise.
32489
32490 2007-11-06 Robert Millan <rmh@aybabtu.com>
32491
32492 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
32493 in grub_outb() calls.
32494 (serial_hw_init): Likewise.
32495
32496 2007-11-05 Robert Millan <rmh@aybabtu.com>
32497
32498 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
32499 spaces. Skip non-regular files.
32500
32501 2007-11-05 Robert Millan <rmh@aybabtu.com>
32502
32503 * kern/disk.c (grub_disk_firmware_fini)
32504 (grub_disk_firmware_is_tainted): New variables.
32505
32506 * include/grub/disk.h (grub_disk_firmware_fini)
32507 (grub_disk_firmware_is_tainted): Likewise.
32508
32509 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
32510 (grub_disk_biosdisk_fini): ... to here.
32511 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
32512 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
32513 is set. Register grub_disk_biosdisk_fini() in
32514 `grub_disk_firmware_fini'.
32515
32516 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
32517 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
32518 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
32519 to finish existing firmware disk interface.
32520
32521 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
32522 (ata_mod_SOURCES): New variable.
32523 (ata_mod_CFLAGS): Likewise.
32524 (ata_mod_LDFLAGS): Likewise.
32525
32526 2007-11-05 Robert Millan <rmh@aybabtu.com>
32527
32528 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
32529 (grub_ata_wait): Reimplement using grub_millisleep().
32530
32531 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
32532 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
32533
32534 2007-11-03 Marco Gerards <marco@gnu.org>
32535
32536 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
32537 (CRTC_ADDR_PORT): New macro.
32538 (CRTC_DATA_PORT): Likewise.
32539 (CRTC_CURSOR): Likewise.
32540 (CRTC_CURSOR_ADDR_HIGH): Likewise.
32541 (CRTC_CURSOR_ADDR_LOW): Likewise.
32542 (update_cursor): New function.
32543 (grub_console_real_putchar): Call `update_cursor'.
32544 (grub_console_gotoxy): Likewise.
32545 (grub_console_cls): Set the default color when clearing the
32546 screen.
32547 (grub_console_setcursor): Implemented.
32548
32549 2007-11-03 Marco Gerards <marco@gnu.org>
32550
32551 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
32552 become activate.
32553 (grub_ata_pio_write): Likewise.
32554
32555 (grub_atapi_identify): Wait after issuing an ATA command.
32556 (grub_atapi_packet): Likewise.
32557 (grub_ata_identify): Likewise.
32558 (grub_ata_readwrite): Likewise.
32559
32560 2007-11-03 Marco Gerards <marco@gnu.org>
32561
32562 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
32563 (grub_ata_pio_write): Likewise.
32564 (grub_ata_readwrite): Use `grub_error', instead of
32565 returning `grub_errno'.
32566
32567 2007-11-03 Marco Gerards <marco@gnu.org>
32568
32569 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
32570 grub_ata_pio_write once for every single sector, instead of for
32571 multiple sectors.
32572
32573 2007-10-31 Robert Millan <rmh@aybabtu.com>
32574
32575 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
32576
32577 * conf/i386-linuxbios.rmk: New file.
32578
32579 * kern/i386/pc/hardware.c: Likewise.
32580 * term/i386/pc/at_keyboard.c: Likewise.
32581 * term/i386/pc/vga_text.c: Likewise.
32582
32583 * include/grub/i386/linuxbios/boot.h: Likewise.
32584 * include/grub/i386/linuxbios/console.h: Likewise.
32585 * include/grub/i386/linuxbios/init.h: Likewise.
32586 * include/grub/i386/linuxbios/kernel.h: Likewise.
32587 * include/grub/i386/linuxbios/loader.h: Likewise.
32588 * include/grub/i386/linuxbios/memory.h: Likewise.
32589 * include/grub/i386/linuxbios/serial.h: Likewise.
32590 * include/grub/i386/linuxbios/time.h: Likewise.
32591
32592 * kern/i386/linuxbios/init.c: Likewise.
32593 * kern/i386/linuxbios/startup.S: Likewise.
32594 * kern/i386/linuxbios/table.c: Likewise.
32595
32596 2007-10-31 Marco Gerards <marco@gnu.org>
32597
32598 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
32599 (ata_mod_SOURCES): New variable.
32600 (ata_mod_CFLAGS): Likewise.
32601 (ata_mod_LDFLAGS): Likewise.
32602
32603 * disk/ata.c: New file.
32604
32605 * include/grub/disk.h (grub_disk_dev_id): Add
32606 `GRUB_DISK_DEV_ATA_ID'.
32607
32608 2007-10-31 Robert Millan <rmh@aybabtu.com>
32609
32610 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
32611 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
32612
32613 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
32614 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
32615
32616 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
32617 `<grub/types.h>'.
32618
32619 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
32620
32621 2007-10-27 Robert Millan <rmh@aybabtu.com>
32622
32623 * include/grub/types.h (ULONG_MAX): Define macro.
32624
32625 2007-10-22 Robert Millan <rmh@aybabtu.com>
32626
32627 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
32628 `"../realmode.S"'.
32629 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
32630
32631 2007-10-22 Robert Millan <rmh@aybabtu.com>
32632
32633 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
32634 (pkgdata_MODULES): Add `biosdisk.mod'.
32635 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
32636 variables.
32637
32638 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
32639 (grub_biosdisk_init): Replace with ...
32640 (GRUB_MOD_INIT(biosdisk)): ... this.
32641 (grub_biosdisk_fini): Replace with ...
32642 (GRUB_MOD_FINI(biosdisk)): ... this.
32643
32644 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
32645 (grub_machine_init): Remove call to grub_biosdisk_init().
32646 (grub_machine_fini): Remove call to grub_machine_fini().
32647
32648 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
32649
32650 2007-10-22 Robert Millan <rmh@aybabtu.com>
32651
32652 * include/grub/time.h: New file.
32653 * include/grub/i386/time.h: Likewise.
32654 * include/grub/powerpc/time.h: Likewise.
32655 * include/grub/sparc64/time.h: Likewise.
32656
32657 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
32658 instances to ...
32659 (KERNEL_MACHINE_TIME_HEADER): ... this.
32660 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
32661 instances to ...
32662 (KERNEL_MACHINE_TIME_HEADER): ... this.
32663 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
32664 instances to ...
32665 (KERNEL_MACHINE_TIME_HEADER): ... this.
32666
32667 * kern/i386/efi/init.c: Include `<grub/time.h>'.
32668 (grub_millisleep): New function.
32669 * kern/i386/pc/init.c: Include `<grub/time.h>'.
32670 (grub_millisleep): New function.
32671 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
32672 Remove `grub/machine/time.h' include.
32673 (grub_millisleep): New function.
32674 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
32675 Remove `grub/machine/time.h' include.
32676 (grub_millisleep): New function.
32677
32678 * include/grub/misc.h (grub_div_roundup): New function.
32679
32680 * kern/misc.c: Include `<grub/time.h>'.
32681 (grub_millisleep_generic): New function.
32682
32683 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
32684 Add `time.h'.
32685 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
32686 Add `time.h'.
32687 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
32688 `machine/time.h'. Add `time.h'.
32689 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
32690
32691 2007-10-21 Robert Millan <rmh@aybabtu.com>
32692
32693 * include/grub/misc.h (grub_max): New function.
32694
32695 2007-10-21 Robert Millan <rmh@aybabtu.com>
32696
32697 * util/misc.c (grub_util_info): Call fflush() before returning.
32698
32699 2007-10-20 Robert Millan <rmh@aybabtu.com>
32700
32701 * genmk.rb (Image): Copy `extra_flags' from here ...
32702 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
32703
32704 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
32705 to `argc' and `args' arguments.
32706
32707 2007-10-17 Robert Millan <rmh@aybabtu.com>
32708
32709 * kern/i386/loader.S: New file.
32710
32711 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
32712 * kern/i386/loader.S (grub_linux_prot_size)... to here.
32713 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
32714 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
32715 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
32716 * kern/i386/loader.S (grub_linux_real_addr)... to here.
32717 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
32718 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
32719 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
32720 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
32721 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
32722 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
32723 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
32724 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
32725
32726 * kern/i386/realmode.S: New file.
32727
32728 * kern/i386/pc/startup.S (protstack): Moved from here ...
32729 * kern/i386/realmode.S (protstack)... to here.
32730 * kern/i386/pc/startup.S (gdt): Moved from here ...
32731 * kern/i386/realmode.S (gdt)... to here.
32732 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
32733 * kern/i386/realmode.S (prot_to_real)... to here.
32734
32735 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
32736 `kern/i386/realmode.S'.
32737
32738 2007-10-17 Robert Millan <rmh@aybabtu.com>
32739
32740 * include/grub/i386/loader.h: New file.
32741
32742 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
32743 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
32744 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
32745 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
32746 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
32747 * include/grub/i386/loader.h (grub_linux_prot_size)
32748 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
32749 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
32750 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
32751 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
32752
32753 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
32754
32755 2007-10-15 Robert Millan <rmh@aybabtu.com>
32756
32757 * normal/misc.c (grub_normal_print_device_info): Do not probe for
32758 filesystem when dev->disk is unset.
32759 Do probe for filesystem even when dev->disk->has_partitions is set.
32760 In case a filesystem is found, always report it.
32761 In case it isn't, if dev->disk->has_partitions is set, report that
32762 a partition table was found instead of reporting that no filesystem
32763 could be identified.
32764
32765 2007-10-12 Robert Millan <rmh@aybabtu.com>
32766
32767 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
32768 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
32769
32770 * include/grub/types.h (grub_host_to_target16): New macro.
32771 (grub_host_to_target32): Likewise.
32772 (grub_host_to_target64): Likewise.
32773 (grub_target_to_host16): Likewise.
32774 (grub_target_to_host32): Likewise.
32775 (grub_target_to_host64): Likewise.
32776
32777 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
32778 Renamed from to ...
32779 (GRUB_MOD_ALIGN): ...this. Update all users.
32780
32781 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
32782 grub_host_to_target32.
32783 Replace grub_be_to_cpu32 with grub_target_to_host32.
32784 (load_modules): Likewise.
32785 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
32786 Replace grub_be_to_cpu32 with grub_target_to_host32.
32787 Replace grub_cpu_to_be16 with grub_host_to_target16.
32788 Replace grub_cpu_to_be32 grub_host_to_target32.
32789
32790 2007-10-12 Robert Millan <rmh@aybabtu.com>
32791
32792 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
32793 * util/elf/grub-mkimage.c: ... here.
32794
32795 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
32796 `util/powerpc/ieee1275/grub-mkimage.c'.
32797
32798 2007-10-07 Robert Millan <rmh@aybabtu.com>
32799
32800 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
32801 and make it easier to figure out.
32802 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
32803 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
32804 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
32805 leave us with less than HEAP_MIN_SIZE total heap.
32806 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
32807
32808 2007-10-03 Robert Millan <rmh@aybabtu.com>
32809
32810 * include/grub/i386/io.h: New file.
32811 * commands/i386/pc/play.c (inb): Removed.
32812 (outb): Removed.
32813 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
32814 with grub_outb().
32815 * term/i386/pc/serial.c (inb): Removed.
32816 (outb): Removed.
32817 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
32818 with grub_outb().
32819 * term/i386/pc/vga.c (inb): Removed.
32820 (outb): Removed.
32821 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
32822 with grub_outb().
32823
32824 2007-10-02 Robert Millan <rmh@aybabtu.com>
32825
32826 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
32827 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32828 Reported by Marcin Kurek.
32829
32830 2007-09-07 Robert Millan <rmh@aybabtu.com>
32831
32832 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
32833 SmartFirmware version updates (as released by Sven Luther), and avoid
32834 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
32835 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
32836 known broken.
32837
32838 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
32839
32840 From Hitoshi Ozeki:
32841 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
32842 when merging two regions.
32843
32844 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
32845
32846 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
32847 * normal/completion.c (grub_normal_do_completion): Likewise.
32848 Reported by Hitoshi Ozeki.
32849
32850 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
32851
32852 Do not use devices at boot in chainloading.
32853
32854 * loader/i386/pc/chainloader.c (boot_drive): New variable.
32855 (boot_part_addr): Likewise.
32856 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
32857 with BOOT_DRIVE and BOOT_PART_ADDR.
32858 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
32859 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
32860
32861 2007-08-29 Robert Millan <rmh@aybabtu.com>
32862
32863 Patch from Simon Peter <dn.tlp@gmx.net>:
32864 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
32865 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
32866 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
32867 util/i386/pc/grub-setup.c_DEPENDENCIES.
32868 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
32869 util/grub-probe.c_DEPENDENCIES.
32870 * conf/powerpc-ieee1275.rmk: Likewise.
32871
32872 2007-08-28 Robert Millan <rmh@aybabtu.com>
32873
32874 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
32875 to tell grub-mkdevicemap how to name devices.
32876 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
32877 feature).
32878
32879 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
32880 util/i386/get_disk_name.c.
32881 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
32882 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
32883 util/ieee1275/get_disk_name.c.
32884
32885 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
32886
32887 * DISTLIST: Add util/i386/get_disk_name.c and
32888 util/ieee1275/get_disk_name.c.
32889
32890 * util/grub-mkdevicemap.c: Replace device naming logic with
32891 grub_util_get_disk_name() calls.
32892
32893 2007-08-20 Robert Millan <rmh@aybabtu.com>
32894
32895 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
32896 (so that it works for both plural and singular quantities).
32897
32898 2007-08-05 Robert Millan <rmh@aybabtu.com>
32899
32900 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
32901 so that [xz] isn't taken into account when determining order.
32902
32903 2007-08-02 Marco Gerards <marco@gnu.org>
32904
32905 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
32906 `include/multiboot2.h', `include/grub/elfload.h',
32907 `include/multiboot.h', `include/grub/multiboot.h',
32908 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
32909 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
32910 `kern/elf.c', `loader/multiboot_loader.c',
32911 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
32912 `loader/i386/pc/multiboot2.c',
32913 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
32914 `util/i386/pc/grub-mkrescue.in'. Remove
32915 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
32916 `include/grub/i386/pc/util/biosdisk.h' and
32917 `include/grub/powerpc/ieee1275/multiboot.h'.
32918
32919 2007-08-02 Bean <bean123ch@gmail.com>
32920
32921 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
32922 (ntfs_mod_SOURCES): New variable.
32923 (ntfs_mod_CFLAGS): Likewise.
32924 (ntfs_mod_LDFLAGS): Likewise.
32925
32926 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
32927 (grub_probe_SOURCES): Likewise.
32928 (grub_emu_SOURCES): Likewise.
32929
32930 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
32931 (grub_emu_SOURCES): Likewise.
32932
32933 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
32934 (grub_emu_SOURCES): Likewise.
32935
32936 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
32937
32938 * fs/ntfs.c: New file.
32939
32940 2007-08-02 Bean <bean123ch@gmail.com>
32941
32942 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
32943
32944 * file.h (grub_file): Likewise.
32945
32946 * fshelp.h (grub_fshelp_read_file): Likewise.
32947
32948 * util/i386/pc/grub-setup.c (setup): Likewise.
32949 (save_first_sector): Likewise.
32950 (save_blocklists): Likewise.
32951
32952 * fs/affs.c (grub_affs_read_file): Likewise.
32953
32954 * fs/ext2.c (grub_ext2_read_file): Likewise.
32955
32956 * fs/fat.c (grub_fat_read_data): Likewise.
32957
32958 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
32959
32960 * fs/hfs.c (grub_hfs_read_file): Likewise.
32961
32962 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
32963
32964 * fs/jfs.c (grub_jfs_read_file): Likewise.
32965
32966 * fs/minix.c (grub_minix_read_file): Likewise.
32967
32968 * fs/sfs.c (grub_sfs_read_file): Likewise.
32969
32970 * fs/ufs.c (grub_ufs_read_file): Likewise.
32971
32972 * fs/xfs.c (grub_xfs_read_file): Likewise.
32973
32974 * command/blocklist.c (read_blocklist): Likewise.
32975 (print_blocklist): Likewise.
32976
32977 2007-08-02 Marco Gerards <marco@gnu.org>
32978
32979 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
32980 `util/hostfs.c'.
32981
32982 * disk/host.c: New file.
32983
32984 * util/hostfs.c: Likewise.
32985
32986 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
32987 return `GRUB_ERR_BAD_FS'.
32988 * fs/sfs.c (grub_sfs_mount): Likewise.
32989 * fs/xfs.c (grub_xfs_mount): Likewise.
32990
32991 * include/grub/disk.h (enum grub_disk_dev_id): Add
32992 `GRUB_DISK_DEVICE_HOST_ID'.
32993
32994 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
32995
32996 2007-07-24 Jerone Young <jerone@gmail.com>
32997
32998 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
32999 modules for compilation.
33000 * conf/powerpc-ieee1275.rmk: Likewise.
33001
33002 * include/multiboot.h: Move multiboot definitions to one file. Rename
33003 many definitions to not get grub specific.
33004 * include/multiboot2.h: Create header with multiboot 2 definitions.
33005 * include/grub/multiboot.h: Header for grub specific function
33006 prototypes and definitions.
33007 * include/grub/multiboot2.h: Likewise.
33008 * include/grub/multiboot_loader.h: Likewise.
33009 * include/grub/i386/pc/multiboot.h: Removed.
33010 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
33011
33012 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
33013 and 2 to allow for one multiboot and module commands.
33014 * loader/multiboot2.c: Add multiboot2 functionality.
33015 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
33016 and definition names.
33017 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
33018 2 functions.
33019 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
33020 ieee1275 specific multiboot2 code.
33021
33022 * kern/i386/pc/startup.S: Change headers and definition names for
33023 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
33024
33025 2007-07-22 Robert Millan <rmh@aybabtu.com>
33026
33027 * geninitheader.sh: Process file specified in first parameter rather
33028 than hardcoding grub_modules_init.lst.
33029 * geninit.sh: Likewise. Also, construct header name dynamically rather
33030 than hardcoding grub_modules_init.h.
33031
33032 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
33033 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
33034 grub_probe_init.[ch] and grub_setup_init.[ch].
33035
33036 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
33037 grub_modules_init.h with grub_emu_init.h.
33038 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
33039 grub_probe_init.[ch] files.
33040 * conf/i386-efi.rmk: Likewise.
33041 * conf/i386-pc.rmk: Likewise.
33042 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
33043 grub_setup_init.[ch] files.
33044
33045 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
33046 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
33047 to initialize modules rather than a list of hardcoded functions.
33048 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
33049 grub_init_all() to initialize modules rather than a list of hardcoded
33050 functions.
33051
33052 2007-07-22 Robert Millan <rmh@aybabtu.com>
33053
33054 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
33055 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
33056
33057 2007-07-22 Robert Millan <rmh@aybabtu.com>
33058
33059 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
33060 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
33061 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
33062 flag when running on SmartFirmware.
33063 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
33064 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
33065 was set.
33066
33067 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
33068 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
33069 rather than decreasing it.
33070
33071 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
33072 there's not enough space to do it, fail in the same way as when it
33073 can't be done because there are no partitions.
33074
33075 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
33076 when nvsetenv failed.
33077
33078 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
33079
33080 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
33081 because this rule is automatically generated.
33082 (grub-mkrescue): Removed for the same reason as above.
33083
33084 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
33085
33086 Migrate to GNU General Public License Version 3.
33087
33088 * COPYING: Replaced with the plain text version of GPLv3.
33089
33090 * config.guess: Updated from gnulib.
33091 * config.sub: Likewise.
33092
33093 * geninit.sh: Output a GPLv3 copyright notice.
33094 * geninitheader.sh: Likewise.
33095 * genmodsrc.sh: Likewise.
33096 * gensymlist.sh.in: Likewise.
33097
33098 * boot/i386/pc/boot.S: Upgraded to GPLv3.
33099 * boot/i386/pc/diskboot.S: Likewise.
33100 * boot/i386/pc/pxeboot.S: Likewise.
33101 * commands/blocklist.c: Likewise.
33102 * commands/boot.c: Likewise.
33103 * commands/cat.c: Likewise.
33104 * commands/cmp.c: Likewise.
33105 * commands/configfile.c: Likewise.
33106 * commands/echo.c: Likewise.
33107 * commands/help.c: Likewise.
33108 * commands/ls.c: Likewise.
33109 * commands/search.c: Likewise.
33110 * commands/terminal.c: Likewise.
33111 * commands/test.c: Likewise.
33112 * commands/videotest.c: Likewise.
33113 * commands/i386/cpuid.c: Likewise.
33114 * commands/i386/pc/halt.c: Likewise.
33115 * commands/i386/pc/play.c: Likewise.
33116 * commands/i386/pc/reboot.c: Likewise.
33117 * commands/i386/pc/vbeinfo.c: Likewise.
33118 * commands/i386/pc/vbetest.c: Likewise.
33119 * commands/ieee1275/halt.c: Likewise.
33120 * commands/ieee1275/reboot.c: Likewise.
33121 * commands/ieee1275/suspend.c: Likewise.
33122 * disk/loopback.c: Likewise.
33123 * disk/lvm.c: Likewise.
33124 * disk/raid.c: Likewise.
33125 * disk/efi/efidisk.c: Likewise.
33126 * disk/i386/pc/biosdisk.c: Likewise.
33127 * disk/ieee1275/ofdisk.c: Likewise.
33128 * font/manager.c: Likewise.
33129 * fs/affs.c: Likewise.
33130 * fs/ext2.c: Likewise.
33131 * fs/fat.c: Likewise.
33132 * fs/fshelp.c: Likewise.
33133 * fs/hfs.c: Likewise.
33134 * fs/hfsplus.c: Likewise.
33135 * fs/iso9660.c: Likewise.
33136 * fs/jfs.c: Likewise.
33137 * fs/minix.c: Likewise.
33138 * fs/sfs.c: Likewise.
33139 * fs/ufs.c: Likewise.
33140 * fs/xfs.c: Likewise.
33141 * hello/hello.c: Likewise.
33142 * include/grub/acorn_filecore.h: Likewise.
33143 * include/grub/arg.h: Likewise.
33144 * include/grub/bitmap.h: Likewise.
33145 * include/grub/boot.h: Likewise.
33146 * include/grub/cache.h: Likewise.
33147 * include/grub/device.h: Likewise.
33148 * include/grub/disk.h: Likewise.
33149 * include/grub/dl.h: Likewise.
33150 * include/grub/elfload.h: Likewise.
33151 * include/grub/env.h: Likewise.
33152 * include/grub/err.h: Likewise.
33153 * include/grub/file.h: Likewise.
33154 * include/grub/font.h: Likewise.
33155 * include/grub/fs.h: Likewise.
33156 * include/grub/fshelp.h: Likewise.
33157 * include/grub/gzio.h: Likewise.
33158 * include/grub/hfs.h: Likewise.
33159 * include/grub/kernel.h: Likewise.
33160 * include/grub/loader.h: Likewise.
33161 * include/grub/lvm.h: Likewise.
33162 * include/grub/misc.h: Likewise.
33163 * include/grub/mm.h: Likewise.
33164 * include/grub/net.h: Likewise.
33165 * include/grub/normal.h: Likewise.
33166 * include/grub/parser.h: Likewise.
33167 * include/grub/partition.h: Likewise.
33168 * include/grub/pc_partition.h: Likewise.
33169 * include/grub/raid.h: Likewise.
33170 * include/grub/rescue.h: Likewise.
33171 * include/grub/script.h: Likewise.
33172 * include/grub/setjmp.h: Likewise.
33173 * include/grub/symbol.h: Likewise.
33174 * include/grub/term.h: Likewise.
33175 * include/grub/terminfo.h: Likewise.
33176 * include/grub/tparm.h: Likewise.
33177 * include/grub/types.h: Likewise.
33178 * include/grub/video.h: Likewise.
33179 * include/grub/efi/api.h: Likewise.
33180 * include/grub/efi/chainloader.h: Likewise.
33181 * include/grub/efi/console.h: Likewise.
33182 * include/grub/efi/console_control.h: Likewise.
33183 * include/grub/efi/disk.h: Likewise.
33184 * include/grub/efi/efi.h: Likewise.
33185 * include/grub/efi/pe32.h: Likewise.
33186 * include/grub/efi/time.h: Likewise.
33187 * include/grub/i386/linux.h: Likewise.
33188 * include/grub/i386/setjmp.h: Likewise.
33189 * include/grub/i386/types.h: Likewise.
33190 * include/grub/i386/efi/kernel.h: Likewise.
33191 * include/grub/i386/efi/loader.h: Likewise.
33192 * include/grub/i386/efi/time.h: Likewise.
33193 * include/grub/i386/pc/biosdisk.h: Likewise.
33194 * include/grub/i386/pc/boot.h: Likewise.
33195 * include/grub/i386/pc/chainloader.h: Likewise.
33196 * include/grub/i386/pc/console.h: Likewise.
33197 * include/grub/i386/pc/init.h: Likewise.
33198 * include/grub/i386/pc/kernel.h: Likewise.
33199 * include/grub/i386/pc/loader.h: Likewise.
33200 * include/grub/i386/pc/memory.h: Likewise.
33201 * include/grub/i386/pc/multiboot.h: Likewise.
33202 * include/grub/i386/pc/serial.h: Likewise.
33203 * include/grub/i386/pc/time.h: Likewise.
33204 * include/grub/i386/pc/vbe.h: Likewise.
33205 * include/grub/i386/pc/vbeblit.h: Likewise.
33206 * include/grub/i386/pc/vbefill.h: Likewise.
33207 * include/grub/i386/pc/vbeutil.h: Likewise.
33208 * include/grub/i386/pc/vga.h: Likewise.
33209 * include/grub/ieee1275/ieee1275.h: Likewise.
33210 * include/grub/ieee1275/ofdisk.h: Likewise.
33211 * include/grub/powerpc/libgcc.h: Likewise.
33212 * include/grub/powerpc/setjmp.h: Likewise.
33213 * include/grub/powerpc/types.h: Likewise.
33214 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
33215 * include/grub/powerpc/ieee1275/console.h: Likewise.
33216 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
33217 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
33218 * include/grub/powerpc/ieee1275/loader.h: Likewise.
33219 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
33220 * include/grub/powerpc/ieee1275/time.h: Likewise.
33221 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
33222 * include/grub/sparc64/libgcc.h: Likewise.
33223 * include/grub/sparc64/setjmp.h: Likewise.
33224 * include/grub/sparc64/types.h: Likewise.
33225 * include/grub/sparc64/ieee1275/console.h: Likewise.
33226 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
33227 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
33228 * include/grub/sparc64/ieee1275/time.h: Likewise.
33229 * include/grub/util/biosdisk.h: Likewise.
33230 * include/grub/util/getroot.h: Likewise.
33231 * include/grub/util/lvm.h: Likewise.
33232 * include/grub/util/misc.h: Likewise.
33233 * include/grub/util/raid.h: Likewise.
33234 * include/grub/util/resolve.h: Likewise.
33235 * io/gzio.c: Likewise.
33236 * kern/device.c: Likewise.
33237 * kern/disk.c: Likewise.
33238 * kern/dl.c: Likewise.
33239 * kern/elf.c: Likewise.
33240 * kern/env.c: Likewise.
33241 * kern/err.c: Likewise.
33242 * kern/file.c: Likewise.
33243 * kern/fs.c: Likewise.
33244 * kern/loader.c: Likewise.
33245 * kern/main.c: Likewise.
33246 * kern/misc.c: Likewise.
33247 * kern/mm.c: Likewise.
33248 * kern/parser.c: Likewise.
33249 * kern/partition.c: Likewise.
33250 * kern/rescue.c: Likewise.
33251 * kern/term.c: Likewise.
33252 * kern/efi/efi.c: Likewise.
33253 * kern/efi/init.c: Likewise.
33254 * kern/efi/mm.c: Likewise.
33255 * kern/i386/dl.c: Likewise.
33256 * kern/i386/efi/init.c: Likewise.
33257 * kern/i386/efi/startup.S: Likewise.
33258 * kern/i386/pc/init.c: Likewise.
33259 * kern/i386/pc/lzo1x.S: Likewise.
33260 * kern/i386/pc/startup.S: Likewise.
33261 * kern/ieee1275/ieee1275.c: Likewise.
33262 * kern/powerpc/cache.S: Likewise.
33263 * kern/powerpc/dl.c: Likewise.
33264 * kern/powerpc/ieee1275/cmain.c: Likewise.
33265 * kern/powerpc/ieee1275/crt0.S: Likewise.
33266 * kern/powerpc/ieee1275/init.c: Likewise.
33267 * kern/powerpc/ieee1275/openfw.c: Likewise.
33268 * kern/sparc64/cache.S: Likewise.
33269 * kern/sparc64/dl.c: Likewise.
33270 * kern/sparc64/ieee1275/init.c: Likewise.
33271 * kern/sparc64/ieee1275/openfw.c: Likewise.
33272 * loader/efi/chainloader.c: Likewise.
33273 * loader/efi/chainloader_normal.c: Likewise.
33274 * loader/i386/efi/linux.c: Likewise.
33275 * loader/i386/efi/linux_normal.c: Likewise.
33276 * loader/i386/pc/chainloader.c: Likewise.
33277 * loader/i386/pc/chainloader_normal.c: Likewise.
33278 * loader/i386/pc/linux.c: Likewise.
33279 * loader/i386/pc/linux_normal.c: Likewise.
33280 * loader/i386/pc/multiboot.c: Likewise.
33281 * loader/i386/pc/multiboot_normal.c: Likewise.
33282 * loader/powerpc/ieee1275/linux.c: Likewise.
33283 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
33284 * normal/arg.c: Likewise.
33285 * normal/cmdline.c: Likewise.
33286 * normal/command.c: Likewise.
33287 * normal/completion.c: Likewise.
33288 * normal/execute.c: Likewise.
33289 * normal/function.c: Likewise.
33290 * normal/lexer.c: Likewise.
33291 * normal/main.c: Likewise.
33292 * normal/menu.c: Likewise.
33293 * normal/menu_entry.c: Likewise.
33294 * normal/misc.c: Likewise.
33295 * normal/parser.y: Likewise.
33296 * normal/script.c: Likewise.
33297 * normal/i386/setjmp.S: Likewise.
33298 * normal/powerpc/setjmp.S: Likewise.
33299 * normal/sparc64/setjmp.S: Likewise.
33300 * partmap/acorn.c: Likewise.
33301 * partmap/amiga.c: Likewise.
33302 * partmap/apple.c: Likewise.
33303 * partmap/gpt.c: Likewise.
33304 * partmap/pc.c: Likewise.
33305 * partmap/sun.c: Likewise.
33306 * term/gfxterm.c: Likewise.
33307 * term/terminfo.c: Likewise.
33308 * term/efi/console.c: Likewise.
33309 * term/i386/pc/console.c: Likewise.
33310 * term/i386/pc/serial.c: Likewise.
33311 * term/i386/pc/vesafb.c: Likewise.
33312 * term/i386/pc/vga.c: Likewise.
33313 * term/ieee1275/ofconsole.c: Likewise.
33314 * util/biosdisk.c: Likewise.
33315 * util/console.c: Likewise.
33316 * util/genmoddep.c: Likewise.
33317 * util/getroot.c: Likewise.
33318 * util/grub-emu.c: Likewise.
33319 * util/grub-mkdevicemap.c: Likewise.
33320 * util/grub-probe.c: Likewise.
33321 * util/lvm.c: Likewise.
33322 * util/misc.c: Likewise.
33323 * util/raid.c: Likewise.
33324 * util/resolve.c: Likewise.
33325 * util/update-grub.in: Likewise.
33326 * util/update-grub_lib.in: Likewise.
33327 * util/grub.d/00_header.in: Likewise.
33328 * util/grub.d/10_hurd.in: Likewise.
33329 * util/grub.d/10_linux.in: Likewise.
33330 * util/i386/efi/grub-install.in: Likewise.
33331 * util/i386/efi/grub-mkimage.c: Likewise.
33332 * util/i386/pc/grub-install.in: Likewise.
33333 * util/i386/pc/grub-mkimage.c: Likewise.
33334 * util/i386/pc/grub-mkrescue.in: Likewise.
33335 * util/i386/pc/grub-setup.c: Likewise.
33336 * util/i386/pc/misc.c: Likewise.
33337 * util/powerpc/ieee1275/grub-install.in: Likewise.
33338 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
33339 * util/powerpc/ieee1275/misc.c: Likewise.
33340 * video/bitmap.c: Likewise.
33341 * video/video.c: Likewise.
33342 * video/i386/pc/vbe.c: Likewise.
33343 * video/i386/pc/vbeblit.c: Likewise.
33344 * video/i386/pc/vbefill.c: Likewise.
33345 * video/i386/pc/vbeutil.c: Likewise.
33346 * video/readers/tga.c: Likewise.
33347
33348 2007-07-02 Robert Millan <rmh@aybabtu.com>
33349
33350 * conf/i386-efi.rmk: Replace obsolete reference to
33351 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
33352 with util/getroot.c.
33353 * conf/powerpc-ieee1275.rmk: Likewise.
33354 * conf/sparc64-ieee1275.rmk: Likewise.
33355
33356 * util/grub-emu.c (main): Fix unchecked pointer handling.
33357
33358 2007-07-02 Robert Millan <rmh@aybabtu.com>
33359
33360 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
33361 invocation to fail, in order to support partition-less media.
33362
33363 * util/i386/pc/grub-install.in: Likewise.
33364
33365 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
33366 which fs or partmap modules are needed (akin to its sister scripts).
33367
33368 Also use grub-probe to get rid of unportable /proc/mounts check.
33369
33370 Print the same informational message that the other scripts do, before
33371 exiting.
33372
33373 2007-06-23 Robert Millan <rmh@aybabtu.com>
33374
33375 * util/update-grub_lib.in (font_path): New function. Determine whether
33376 a font file can be found and, if so, echo the GRUB path to it.
33377
33378 * util/update-grub.in: Handle multiple terminals depending on user
33379 input, platform availability and font file presence. Propagate
33380 variables of our findings to /etc/grub.d/ children.
33381
33382 * util/grub.d/00_header.in: Handle multiple terminals, based on
33383 environment setup by update-grub.
33384
33385 2007-06-23 Robert Millan <rmh@aybabtu.com>
33386
33387 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
33388
33389 2007-06-21 Robert Millan <rmh@aybabtu.com>
33390
33391 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
33392 indicate end of data section in kernel image.
33393 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
33394 GRUB_KERNEL_MACHINE_DATA_END.
33395
33396 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
33397 space for it.
33398 * kern/i386/efi/startup.S: Likewise.
33399
33400 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
33401 during image generation. Implement --prefix option to override this
33402 patch.
33403 * util/i386/efi/grub-mkimage.c: Likewise.
33404
33405 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
33406 code to make path relative to its root into a separate function.
33407
33408 * util/i386/pc/grub-install.in: Use newly provided
33409 make_system_path_relative_to_its_root() to convert ${grubdir}, then
33410 pass the result to grub-install --prefix.
33411
33412 2007-06-13 Robert Millan <rmh@aybabtu.com>
33413
33414 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
33415 DEFAULT_DEVICE_MAP.
33416 * util/grub-emu.c: Use above definitions from misc.h instead of
33417 defining them.
33418 * util/grub-mkdevicemap.c: Likewise.
33419 * util/i386/pc/grub-setup.c: Likewise.
33420 * util/grub-probe.c: Likewise.
33421 (probe): Abort with grub_util_error() when either
33422 grub_guess_root_device or grub_util_get_grub_dev fails.
33423
33424 2007-06-12 Robert Millan <rmh@aybabtu.com>
33425
33426 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
33427 "pager" assignment.
33428 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
33429 "pcdata".
33430 * util/grub-probe.c (probe): Likewise for "drive_name".
33431
33432 2007-06-11 Robert Millan <rmh@aybabtu.com>
33433
33434 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
33435 not just the cdrom one.
33436
33437 2007-06-11 Robert Millan <rmh@aybabtu.com>
33438
33439 * util/i386/pc/grub-mkrescue.in: Add "set -e".
33440 Add --pkglibdir=DIR option to override pkglibdir.
33441 Mention --image-type=TYPE in help output.
33442 Fix --grub-mkimage (it was a no-op).
33443 Abort gracefully when no parameter is given.
33444
33445 2007-06-11 Robert Millan <rmh@aybabtu.com>
33446
33447 * util/i386/pc/grub-mkrescue.in: New file.
33448 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
33449 * Makefile.in: Handle bin_SCRIPTS.
33450
33451 2007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
33452
33453 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
33454 list of video modes.
33455
33456 2007-06-06 Robert Millan <rmh@aybabtu.com>
33457
33458 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
33459 file doesn't exist, or if it is in a filesystem grub can't read.
33460
33461 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
33462 not abort if GRUB_DRIVE could not be defined. Rearrange generated
33463 header comment to fit in 80 columns when the variables are resolved.
33464
33465 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
33466 could be identified by update-grub. Remove redundant check for
33467 unifont.pff existence (since convert_system_path_to_grub_path now
33468 handles that).
33469
33470 2007-06-04 Robert Millan <rmh@aybabtu.com>
33471
33472 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
33473
33474 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
33475
33476 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
33477
33478 2007-06-04 Robert Millan <rmh@aybabtu.com>
33479
33480 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
33481
33482 * include/grub/partition.h: Declare grub_apple_partition_map_init and
33483 grub_apple_partition_map_fini.
33484
33485 * util/biosdisk.c
33486 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
33487 to access >2 TiB disks).
33488
33489 Print disk->total_sectors with %llu instead of %lu, since this
33490 variable is always 64-bit (prevents wrong disk size from being displayed
33491 on either >2 TiB disk or big-endian CPU).
33492
33493 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
33494 into a generic case that supports all (sane) partition maps.
33495
33496 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
33497 breaks big-endian.
33498
33499 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
33500 and grub_apple_partition_map_fini() after that.
33501
33502 2007-06-01 Robert Millan <rmh@aybabtu.com>
33503
33504 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
33505
33506 * util/grub.d/00_header.in: Only enable gfxterm when
33507 convert_system_path_to_grub_path() succeeds.
33508
33509 2007-05-20 Robert Millan <rmh@aybabtu.com>
33510
33511 * util/update-grub_lib.in: New file.
33512 * DISTLIST: Add update-grub_lib.in.
33513 * conf/common.rmk: Generate update-grub_lib and install it in
33514 $(lib_DATA).
33515 * Makefile.in: Add install routine for $(lib_DATA).
33516
33517 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
33518 function provided by update-grub_lib to support arbitrary paths of
33519 unifont.pff.
33520 * util/update-grub.in: Use convert_system_path_to_grub_path() to
33521 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
33522
33523 2007-05-19 Robert Millan <rmh@aybabtu.com>
33524
33525 * commands/i386/cpuid.c: New module.
33526 * DISTLIST: Add it.
33527 * conf/i386-efi.rmk: Enable cpuid.mod.
33528 * conf/i386-pc.rmk: Likewise.
33529
33530 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
33531
33532 * kern/disk.c (grub_disk_read): Check return value of
33533 grub_realloc().
33534
33535 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
33536
33537 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
33538 arrays.
33539 * disk/raid.c (grub_raid_open): Likewise.
33540
33541 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
33542
33543 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
33544 stack instead of on the heap.
33545
33546 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
33547 before doing a read on it.
33548
33549 * configure.ac: Only use -fno-stack-protector for the target
33550 environment.
33551
33552 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
33553
33554 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
33555 __attribute_ ((unused)) to mode_type argument.
33556
33557 * util/getroot.c (grub_guess_root_device): Fix #endif.
33558
33559 * kern/misc.c (memcmp): Fix prototype.
33560
33561 * include/grub/partition.h [GRUB_UTIL]
33562 (grub_gpt_partition_map_init): Add prototype.
33563 (grub_gpt_partition_map_fini): Likewise.
33564
33565 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
33566 at the right place.
33567
33568 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
33569 (grub_fat_read_data): Likewise.
33570 (grub_fat_find_dir): Likewise.
33571
33572 * font/manager.c (find_glyph): Make table a const.
33573 (grub_font_get_glyph): Remove bitmap from if statement.
33574
33575 2007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
33576
33577 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
33578 code, first search for device in /dev/mapper, then in /dev.
33579 (grub_util_get_grub_dev): New function.
33580 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
33581 prototype.
33582 * util/grub-probe.c (probe): Remove check for RAID, call
33583 grub_util_get_grub_dev() instead of
33584 grub_util_biosdisk_get_grub_dev().
33585 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
33586 grub_util_biosdisk_get_grub_dev().
33587 * util/i386/pc/grub-setup.c (main): Likewise.
33588
33589 2007-05-16 Robert Millan <rmh@aybabtu.com>
33590
33591 * DISTLIST: Update for the latest changes.
33592 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
33593 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
33594 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
33595 grub/util/biosdisk.h.
33596 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
33597 grub/util/biosdisk.h.
33598
33599 2007-05-16 Robert Millan <rmh@aybabtu.com>
33600
33601 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
33602
33603 2007-05-16 Robert Millan <rmh@aybabtu.com>
33604
33605 * util/i386/efi/grub-install.in: New.
33606 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
33607 newly added grub-install.
33608 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
33609 include.
33610 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
33611 grub/util/biosdisk.h.
33612 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
33613 grub/util/biosdisk.h.
33614
33615 2007-05-16 Robert Millan <rmh@aybabtu.com>
33616
33617 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
33618 * include/grub/util/biosdisk.h: ... here.
33619 * util/i386/pc/biosdisk.c: Moved to ...
33620 * util/biosdisk.c: ... here.
33621 * util/i386/pc/getroot.c: Moved to ...
33622 * util/getroot.c: ... here.
33623 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
33624 * util/grub-mkdevicemap.c: ... here.
33625 * util/i386/pc/grub-probe.c: Moved to ...
33626 * util/grub-probe.c: ... here.
33627
33628 2007-05-15 Robert Millan <rmh@aybabtu.com>
33629
33630 * util/update-grub.in: Remove duplicated line in grub.cfg header
33631 message.
33632
33633 2007-05-13 Robert Millan <rmh@aybabtu.com>
33634
33635 * util/update-grub.in: Fix a few assumptions about the devices holding
33636 /, /boot and /boot/grub being the same.
33637 * util/grub.d/00_header.in: Likewise.
33638 * util/grub.d/10_hurd.in: Likewise.
33639 * util/grub.d/10_linux.in: Likewise.
33640
33641 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
33642 patterns. Use that to define the `.old' suffix as older than `'.
33643
33644 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
33645
33646 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
33647 the grub.cfg header message.
33648
33649 2007-05-11 Robert Millan <rmh@aybabtu.com>
33650
33651 * util/update-grub.in: Create device.map if it doesn't already exist,
33652 before attempting to run grub-probe.
33653 Check for grub-probe and grub-mkdevicemap with the same code
33654 grub-install is using.
33655 Remove test mode.
33656
33657 2007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
33658
33659 * Makefile.in: Add the datarootdir autoconf variable.
33660
33661 2007-05-09 Robert Millan <rmh@aybabtu.com>
33662
33663 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
33664 fail gracefully if dev->disk->partition == NULL.
33665
33666 2007-05-07 Robert Millan <rmh@aybabtu.com>
33667
33668 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
33669 determine partition map module.
33670 * util/i386/pc/grub-install.in: Use this feature to decide which
33671 partition module to load, instead of hardcoding pc and gpt.
33672
33673 2007-05-07 Robert Millan <rmh@aybabtu.com>
33674
33675 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
33676 source directory differs from build directory.
33677
33678 2007-05-05 Robert Millan <rmh@aybabtu.com>
33679
33680 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
33681 initialisation.
33682
33683 2007-05-05 Robert Millan <rmh@aybabtu.com>
33684
33685 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
33686
33687 2007-05-05 Robert Millan <rmh@aybabtu.com>
33688
33689 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
33690 command-line arguments via ${GRUB_CMDLINE_LINUX}.
33691
33692 2007-05-05 Robert Millan <rmh@aybabtu.com>
33693
33694 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
33695 (grub_probe_SOURCES): Likewise.
33696 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
33697 GPT and initialize dos_part and bsd_part accordingly.
33698 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
33699 install_bsd_part.
33700 (main): Activate gpt module for use during partition identification,
33701 and deactivate it afterwards.
33702 * util/i386/pc/grub-install.in: Add gpt module to core.img.
33703 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
33704 partition identification, and deactivate it afterwards.
33705
33706 2007-05-05 Robert Millan <rmh@aybabtu.com>
33707
33708 * term/i386/pc/console.c (grub_console_fini): Call
33709 grub_term_set_current() before grub_term_unregister().
33710
33711 2007-05-04 Robert Millan <rmh@aybabtu.com>
33712
33713 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
33714 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
33715 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
33716 and update-grub_DATA.
33717 * conf/common.rmk: Build and install update-grub components.
33718 * conf/common.mk: Regenerate.
33719 * util/update-grub.in: New. Core of update-grub.
33720 * util/grub.d/00_header.in: New. Generates grub.cfg header.
33721 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
33722 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
33723 * util/grub.d/README: New. Document grub.d directory layout.
33724
33725 2007-05-01 Robert Millan <rmh@aybabtu.com>
33726
33727 * util/grub-emu.c: Move initialization functions
33728 grub_util_biosdisk_init() and grub_init_all() before
33729 grub_util_biosdisk_get_grub_dev(), which relies on them.
33730
33731 2007-04-19 Robert Millan <rmh@aybabtu.com>
33732
33733 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
33734 it is used later.
33735
33736 2007-04-18 Jerone Young <jerone@gmail.com>
33737
33738 * kernel/elf.c: Add missing parenthesis for conditional statement
33739 stanza.
33740
33741 2007-04-10 Jerone Young <jerone@gmail.com>
33742
33743 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
33744 continue on and look for device node with real device name.
33745
33746 2007-04-10 Jerone Young <jerone@gmail.com>
33747
33748 * configure.ac: Add argument for autoconf to use transformation
33749 ability.
33750 * Makefile.in: Add autoconf package transformation code.
33751 * util/i386/pc/grub-install.in: Likewise.
33752 * util/powerpc/ieee1275/grub-install.in: Likewise.
33753
33754 2007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
33755
33756 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
33757 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
33758 (EXT2_REVISION): Likewise.
33759 (EXT2_INODE_SIZE): Likewise.
33760 (struct grub_ext2_block_group): Added a missing member
33761 "used_dirs".
33762 (grub_ext2_read_inode): Divide by the inode size in a superblock
33763 instead of 128 to obtain INODES_PER_BLOCK.
33764 Use the macro EXT2_INODE_SIZE instead of directly using
33765 SBLOCK->INODE_SIZE.
33766
33767 2007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
33768
33769 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
33770 superblock instead of the structure size to compute an
33771 offset. This fixes the problem that GRUB could not read a
33772 filesystem when inode size is different from 128-byte.
33773
33774 2007-03-05 Marco Gerards <marco@gnu.org>
33775
33776 * normal/main.c (read_config_file): When "menu" is not set, create
33777 an initial context.
33778
33779 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
33780
33781 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
33782 (HEAP_LIMIT): New macro.
33783 (grub_claim_heap): Claim memory up to `heaplimit'.
33784
33785 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
33786
33787 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
33788 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
33789 (_start): Likewise.
33790 (grub_arch_modules_addr): Return address after `_end'.
33791 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
33792 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
33793 (add_segments): Calculate `_end' from phdr size and location.
33794 (ALIGN_UP): Moved to ...
33795 * include/grub/misc.h: here.
33796 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
33797 New macro.
33798 (GRUB_IEEE1275_MODULE_BASE): Removed.
33799
33800 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
33801
33802 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
33803 loop boundary.
33804
33805 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
33806
33807 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
33808 All users updated.
33809 (grub_elf64_load_hook_t): Likewise.
33810 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
33811 debug output.
33812
33813 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
33814
33815 * kern/mm.c: Update copyright.
33816 (grub_mm_debug): Correct syntax error.
33817 (grub_mm_dump_free): New function.
33818 (grub_debug_free): Call `grub_free'.
33819 * include/grub/mm.h: Update copyright.
33820 (grub_mm_dump_free): Add declaration.
33821
33822 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
33823
33824 * include/grub/ieee1275/ieee1275.h: Update copyright.
33825 * kern/powerpc/ieee1275/init.c: Likewise.
33826 * kern/powerpc/ieee1275/openfw.c: Likewise.
33827
33828 * loader/powerpc/ieee1275/linux.c: Likewise.
33829 * include/grub/elfload.h: Likewise.
33830 * kern/elf.c: Likewise.
33831 (grub_elf32_load): Pass `base' and `size' parameters. Update all
33832 callers.
33833 (grub_elf64_load): Likewise.
33834 (grub_elf32_load_segment): Move to a nested function.
33835 (grub_elf64_load_segment): Likewise.
33836
33837 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
33838
33839 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
33840 prototype.
33841 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
33842 (grub_heap_len): Likewise.
33843 (HEAP_SIZE): New macro.
33844 (grub_claim_heap): New function.
33845 (grub_machine_init): Don't claim heap directly. Call
33846 `grub_claim_heap'.
33847 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
33848 (grub_available_iterate): New function.
33849
33850 2007-02-03 Thomas Schwinge <tschwinge@gnu.org>
33851
33852 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
33853 * configure.ac: Use it for testing the HOST and TARGET compilers.
33854
33855 2006-12-13 Thomas Schwinge <tschwinge@gnu.org>
33856
33857 * Makefile.in (enable_grub_emu): New variable.
33858 * configure.ac (--enable-grub-emu): New option.
33859 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
33860 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
33861 * conf/i386-pc.rmk: Likewise.
33862 * conf/powerpc-ieee1275.rmk: Likewise.
33863 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
33864
33865 2006-12-12 Marco Gerards <marco@gnu.org>
33866
33867 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
33868
33869 * kern/env.c (grub_env_unset): Don't free the member `value' when
33870 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
33871 pointer.
33872
33873 * normal/main.c (current_menu): Removed.
33874 (free_menu): Unset the `menu' environment variable.
33875 (grub_normal_menu_addentry): Make use of the environment variable
33876 `menu', instead of using the global `current_menu'. Allocate
33877 memory for the sourcecode of this entry.
33878 (read_config_file): New argument `nested', changed all callers.
33879 Only in the case of a new context, initialize a new menu. Set the
33880 `menu' environment variable.
33881 (grub_normal_execute): Don't set and unset the environment
33882 variable `menu' here anymore. Only free the menu when leaving the
33883 context.
33884
33885 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
33886 leak.
33887
33888 2006-12-11 Marco Gerards <marco@gnu.org>
33889
33890 * normal/menu_entry.c (run): Fix off by one bug so the last line
33891 is executed. Move the loader check to outside the loop.
33892
33893 2006-12-08 Hollis Blanchard <hollis@penguinppc.org>
33894
33895 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
33896
33897 2006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
33898
33899 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
33900 the number of sectors. Reported by Andrey Shuvikov
33901 <mr_hyro@yahoo.com>.
33902
33903 2006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
33904
33905 * kern/disk.c (grub_disk_read): When there is a read error, always
33906 try to read only the necessary data.
33907
33908 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
33909 disk/raid.c.
33910 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
33911 prototype.
33912 [GRUB_UTIL] (grub_raid_fini): Likewise.
33913 [GRUB_UTIL] (grub_lvm_init): Likewise.
33914 [GRUB_UTIL] (grub_lvm_fini): Likewise.
33915 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
33916 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
33917 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
33918 and grub_raid_fini().
33919
33920 2006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
33921
33922 * include/grub/types.h (__unused): Rename to UNUSED.
33923 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
33924 (grub_elf64_size): Likewise.
33925
33926 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
33927
33928 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
33929 grub_error_push and grub_error_pop in the error-handling path.
33930 (grub_elf32_load_segment): Only call grub_file_read with non-zero
33931 length.
33932
33933 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
33934
33935 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
33936 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
33937 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33938 (kernel_elf_SOURCES): Likewise.
33939 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
33940 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
33941 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
33942 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
33943 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
33944 (elf_mod_SOURCES): New variable.
33945 (elf_mod_CFLAGS): Likewise.
33946 (elf_mod_LDFLAGS): Likewise.
33947 * include/grub/types.h (__unused): New macro.
33948 * include/grub/elfload.h: New file.
33949 * kern/elf.c: Likewise.
33950 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
33951 (ELF32_LOADMASK): New macro.
33952 (ELF64_LOADMASK): Likewise.
33953 (vmlinux): Removed.
33954 (grub_linux_load32): New function.
33955 (grub_linux_load64): Likewise.
33956 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
33957 Use grub_elf_t instead of grub_file_t.
33958
33959 2006-11-02 Hollis Blanchard <hollis@penguinppc.org>
33960
33961 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
33962 `catch_result' to struct set_color_args.
33963
33964 2006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
33965
33966 * normal/menu.c: Include grub/script.h.
33967 * normal/menu_entry.c: Likewise.
33968 * include/grub/normal.h: Do not include grub/script.h.
33969
33970 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
33971
33972 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
33973
33974 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
33975
33976 * kern/disk.c (grub_disk_open): Print debug messages when opening a
33977 disk.
33978 (grub_disk_close): Print debug messages when closing a disk.
33979 (grub_disk_read): Print debug messages when disk read fails.
33980 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
33981 filesystem type.
33982 * kern/partition.c: Include misc.h.
33983 (grub_partition_iterate): Print debug messages when detecting
33984 partition type.
33985
33986 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
33987
33988 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
33989 is negative.
33990 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
33991
33992 2006-10-26 Hollis Blanchard <hollis@penguinppc.org>
33993
33994 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
33995 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
33996
33997 2006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
33998
33999 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
34000 instead of sizeof(lv). Patch by Michael Guntsche.
34001
34002 2006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
34003
34004 * disk/lvm.c: Rename VGS to VG_LIST.
34005 (grub_lvm_iterate): Change VGS->LV to VG-LV.
34006 (grub_lvm_open): Likewise.
34007 Thanks to Michael Guntsche for finding this bug.
34008
34009 2006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
34010
34011 * configure.ac (AC_INIT): Bumped to 1.95.
34012
34013 2006-10-14 Robert Millan <rmh@aybabtu.com>
34014
34015 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
34016 with "/dev/.static/dev/md".
34017
34018 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
34019
34020 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
34021 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
34022 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
34023 DRIVE_NAME are always freed.
34024
34025 * util/i386/pc/biosdisk.c (make_device_name): Add one into
34026 DOS_PART, as a DOS partition is counted from one instead of zero
34027 now. Reported by Robert Millan.
34028
34029 2006-10-14 Robert Millan <rmh@aybabtu.com>
34030
34031 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
34032 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
34033 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
34034 string returned by grub_guess_root_device.
34035 * util/i386/pc/grub-setup.c: Likewise.
34036 * util/i386/pc/grub-probefs.c: Likewise.
34037
34038 * util/i386/pc/grub-probefs.c: Rename to ...
34039 * util/i386/pc/grub-probe.c: ... this.
34040 * DISTLIST: Remove grub-probefs, add grub-probe.
34041 * conf/i386-efi.rmk: Likewise.
34042 * conf/i386-pc.rmk: Likewise.
34043 * util/i386/pc/grub-install.in: Likewise.
34044
34045 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
34046 choose which information we want to print.
34047
34048 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
34049
34050 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
34051 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
34052 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
34053 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
34054 video/readers/tga.c and video/i386/pc/vbeutil.c.
34055
34056 2006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
34057
34058 Added support for RAID and LVM.
34059
34060 * disk/lvm.c: New file.
34061 * disk/raid.c: Likewise.
34062 * include/grub/lvm.h: Likewise.
34063 * include/grub/raid.h: Likewise.
34064 * include/grub/util/lvm.h: Likewise.
34065 * include/grub/util/raid.h: Likewise.
34066 * util/lvm.c: Likewise.
34067 * util/raid.c: Likewise.
34068
34069 * include/grub/disk.h (grub_disk_dev_id): Add
34070 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
34071 (grub_disk_get_size): New prototype.
34072 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
34073 returns a partition.
34074 (grub_disk_get_size): New function.
34075
34076 * kern/i386/pc/init.c (make_install_device): Copy the prefix
34077 verbatim if grub_install_dos_part is -2.
34078
34079 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
34080 and LVM devices.
34081
34082 * util/i386/pc/grub-setup.c (setup): New argument
34083 MUST_EMBED. Force embedding of GRUB when the argument is
34084 true. Close FILE before returning.
34085 (main): Add support for RAID and LVM.
34086
34087 * conf/common.rmk: Add RAID and LVM modules.
34088 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
34089 util/lvm.c.
34090 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
34091
34092 * kern/misc.c (grub_strstr): New function.
34093 * include/grub/misc.h (grub_strstr): New prototype.
34094
34095 2006-10-10 Tristan Gingold <tristan.gingold@bull.net>
34096
34097 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
34098
34099 2006-10-05 Tristan Gingold <tristan.gingold@bull.net>
34100
34101 * kern/misc.c (grub_strtoull): Guess the base only if not
34102 specified.
34103
34104 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
34105
34106 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
34107 PowerMac support.
34108
34109 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
34110
34111 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
34112
34113 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
34114 Remove `flags' argument. All callers changed.
34115 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
34116 (IEEE1275_IHANDLE_INVALID): New variable.
34117 (IEEE1275_CELL_INVALID): New variable.
34118 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
34119 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
34120 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
34121 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
34122 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
34123 codes from Open Firmware. All callers updated.
34124 (grub_ieee1275_next_property): Directly return Open Firmware return
34125 code.
34126 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
34127 Standardize error checking from `grub_ieee1275_get_property'.
34128 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
34129 `devalias' to `aliases'. Correct comments. Consolidate error paths.
34130
34131 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
34132
34133 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
34134 `instance_to_package_args' to `instance_to_path_args'.
34135
34136 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
34137 `grub_ieee1275_chosen'.
34138
34139 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
34140 `grub_ieee1275_interpret'.
34141
34142 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
34143
34144 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
34145
34146 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
34147
34148 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
34149 (__cmpdi): Likewise.
34150
34151 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
34152 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
34153 `grub_ssize_t'.
34154
34155 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
34156
34157 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
34158 to type `grub_ssize_t'.
34159 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
34160
34161 2006-09-22 Marco Gerards <marco@gnu.org>
34162
34163 * normal/script.c (grub_script_create_cmdmenu): Skip leading
34164 newlines.
34165
34166 2006-09-22 Marco Gerards <marco@gnu.org>
34167
34168 * commands/echo.c: New file.
34169
34170 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
34171
34172 * conf/common.rmk (echo_mod_SOURCES): New variable.
34173 (echo_mod_CFLAGS): Likewise.
34174 (echo_mod_LDFLAGS): Likewise.
34175
34176 2006-09-22 Marco Gerards <marco@gnu.org>
34177
34178 * normal/main.c (get_line): Malloc memory instead of using
34179 preallocated memory. Removed the arguments `cmdline' and
34180 `max_len'. Updated all callers.
34181
34182 2006-09-22 Marco Gerards <marco@gnu.org>
34183
34184 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
34185 (normal_mod_DEPENDENCIES): Likewise.
34186
34187 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
34188 (normal_mod_DEPENDENCIES): Likewise.
34189
34190 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
34191
34192 2006-09-22 Johan Rydberg <jrydberg@gnu.org>
34193
34194 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
34195 programs.
34196 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
34197 (normal_mod_DEPENDENCIES): Likewise.
34198 * conf/i386-pc.mk: Regenerate.
34199 * conf/i386-efi.mk: Likewise
34200 * conf/common.mk: Likewise.
34201 * conf/powerpc-ieee1275.mk: Likewise.
34202 * conf/sparc64-ieee1275.mk: Likewise.
34203
34204 2006-09-22 Robert Millan <rmh@aybabtu.com>
34205
34206 Sync with i386 version.
34207 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
34208 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
34209
34210 2006-09-21 Robert Millan <rmh@aybabtu.com>
34211
34212 Import from GRUB Legacy (lib/device.c):
34213 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
34214 (init_device_map) [__linux__]: Add support for I2O devices.
34215
34216 2006-09-14 Marco Gerards <marco@gnu.org>
34217
34218 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
34219 `-melf_i386'.
34220
34221 2006-09-14 Robert Millan <rmh@aybabtu.com>
34222
34223 * util/i386/pc/grub-install.in: Skip menu.lst when removing
34224 /boot/grub/*.lst.
34225
34226 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
34227
34228 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
34229 before adding it to device.map.
34230
34231 2006-08-15 Johan Rydberg <jrydberg@gnu.org>
34232
34233 * genmk.rb: Let GCC generate dependencies the first time it
34234 compiles a file; using the -MD option.
34235 * conf/common.mk: Regenerate.
34236 * conf/i386-pc.mk: Likewise.
34237 * conf/i386-efi.mk: Likewise.
34238 * conf/powerpc-ieee1275.mk: Likewise.
34239 * conf/sparc64-ieee1275.mk: Likewise.
34240
34241 2006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
34242
34243 Move the prototypes of grub_setjmp and grub_longjmp to
34244 cpu/setjmp.h, so that each architecture may specify different
34245 attributes.
34246
34247 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
34248 (grub_longjmp): Likewise.
34249 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
34250 (grub_longjmp): Likewise.
34251 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
34252 (grub_longjmp): Likewise.
34253
34254 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
34255 [!GRUB_UTIL] (grub_longjmp): Removed.
34256
34257 2006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
34258
34259 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
34260 "color!" method does not return any value.
34261
34262 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
34263
34264 * include/grub/bitmap.h: New file.
34265
34266 * include/grub/i386/pc/vbeutil.h: Likewise.
34267
34268 * video/bitmap.c: Likewise.
34269
34270 * video/readers/tga.c: Likewise.
34271
34272 * video/i386/pc/vbeutil.c: Likewise.
34273
34274 * commands/videotest.c: Code cleanup and updated to reflect to new
34275 video API.
34276
34277 * term/gfxterm.c: Likewise.
34278
34279 * video/video.c: Likewise.
34280
34281 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
34282 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
34283 (bitmap_mod_SOURCES): New entry.
34284 (bitmap_mod_CFLAGS): Likewise.
34285 (bitmap_mod_LDFLAGS): Likewise.
34286 (tga_mod_SOURCES): Likewise.
34287 (tga_mod_CFLAGS): Likewise.
34288 (tga_mod_LDFLAGS): Likewise.
34289
34290 * include/grub/video.h (grub_video_blit_operators): New enum type.
34291 (grub_video_render_target): Changed as forward declaration and moved
34292 actual definition to be video driver specific.
34293 (grub_video_adapter.blit_bitmap): Added blitting operator.
34294 (grub_video_adapter.blit_render_target): Likewise.
34295 (grub_video_blit_bitmap): Likewise.
34296 (grub_video_blit_render_target): Likewise.
34297
34298 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
34299 driver specific render target definition.
34300 (grub_video_vbe_map_rgba): Added driver internal helper.
34301 (grub_video_vbe_unmap_color): Updated to use
34302 grub_video_i386_vbeblit_info.
34303 (grub_video_vbe_get_video_ptr): Likewise.
34304
34305 * include/grub/i386/pc/vbeblit.h
34306 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
34307 grub_video_i386_vbeblit_info.
34308 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
34309 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
34310 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
34311 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
34312 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
34313 (grub_video_i386_vbeblit_index_index): Likewise.
34314 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
34315 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
34316 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
34317 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
34318 operator.
34319 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
34320 operator.
34321
34322 * video/i386/pc/vbeblit.c: Updated to reflect changes on
34323 include/grub/i386/pc/vbeblit.h.
34324
34325 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
34326 Updated to use grub_video_i386_vbeblit_info.
34327 (grub_video_i386_vbefill_R8G8B8): Likewise.
34328 (grub_video_i386_vbefill_index): Likewise.
34329 (grub_video_i386_vbefill): Added generic filler.
34330
34331 * video/i386/pc/vbefill.c: Updated to reflect changes on
34332 include/grub/i386/pc/vbefill.h.
34333
34334 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
34335 grub_video_i386_vbeblit_info.
34336 (grub_video_vbe_unmap_color): Likewise.
34337 (grub_video_vbe_blit_glyph): Likewise.
34338 (grub_video_vbe_scroll): Likewise.
34339 (grub_video_vbe_draw_pixel): Removed function.
34340 (grub_video_vbe_get_pixel): Likewise.
34341 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
34342 updated code to use it.
34343 (common_blitter): Added common blitter for render target and bitmap.
34344 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
34345 (grub_video_vbe_blit_render_target): Likewise.
34346
34347 2006-07-30 Johan Rydberg <jrydberg@gnu.org>
34348
34349 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
34350 is in text mode if there is no console control protocol instance
34351 available.
34352
34353 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
34354
34355 * include/grub/video.h: Code cleanup.
34356
34357 * include/grub/i386/pc/vbe.h: Likewise.
34358
34359 * video/i386/pc/vbe.c: Likewise.
34360
34361 * video/i386/pc/vbeblit.c: Likewise.
34362
34363 * video/i386/pc/vbefill.c: Likewise.
34364
34365 * video/video.c: Likewise. Also added more comments.
34366
34367 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
34368
34369 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
34370 (struct grub_biosdisk_dap): Likewise.
34371
34372 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
34373 linkage settings for all functions.
34374
34375 2006-07-12 Marco Gerards <marco@gnu.org>
34376
34377 * configure.ac (--enable-mm-debug): Fix typo.
34378
34379 * genkernsyms.sh.in: Use proper quoting for `CC'.
34380
34381 2006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
34382
34383 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
34384 (normal_mod_ASFLAGS): Remove "-m32".
34385
34386 2006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
34387
34388 * util/misc.c: Include config.h.
34389 [!HAVE_MEMALIGN]: Do not include malloc.h.
34390 (grub_memalign): Use posix_memalign, if present. Then, use
34391 memalign, if present. Otherwise, emit an error.
34392
34393 * util/grub-emu.c: Do not include malloc.h.
34394
34395 * include/grub/util/misc.h: Include unistd.h. This is required for
34396 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
34397 D. Eades III <hde@foobar-qux.org>.
34398
34399 * configure.ac (AC_GNU_SOURCE): Added.
34400 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
34401 type.
34402
34403 2006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
34404
34405 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
34406 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
34407
34408 2006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
34409
34410 * include/grub/types.h (grub_host_addr_t): Rename to
34411 grub_target_addr_t.
34412 (grub_host_off_t): Rename to grub_target_off_t.
34413 (grub_host_size_t): Rename to grub_target_size_t.
34414 (grub_host_ssize_t): Rename to grub_target_ssize_t.
34415 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
34416
34417 * include/grub/kernel.h (struct grub_module_header): Change type
34418 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
34419 (grub_module_info): Likewise.
34420
34421 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
34422
34423 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
34424 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
34425 Velazquez <jesus.velazquez@gmail.com>.
34426
34427 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
34428
34429 Count partitions from 1 instead of 0 in the string representation
34430 of partitions. Still use 0-based internally.
34431
34432 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
34433 (sun_partition_map_iterate): Use grub_partition_t instead of
34434 struct grub_partition *. Cast DESC->START_CYLINDER to
34435 grub_uint64_t after converting the endian.
34436 (sun_partition_map_probe): Subtract 1 for PARTNUM.
34437 (sun_partition_map_get_name): Add 1 to P->INDEX.
34438
34439 * partmap/pc.c (grub_partition_parse): Subtract 1 for
34440 PCDATA->DOS_PART.
34441 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
34442
34443 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
34444 zero instead of one.
34445 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
34446 (gpt_partition_map_get_name): Add 1 into P->INDEX.
34447
34448 * partmap/apple.c (apple_partition_map_iterate): Change the type
34449 of POS to unsigned.
34450 (apple_partition_map_probe): Subtract 1 for PARTNUM.
34451 (apple_partition_map_get_name): Add 1 into P->INDEX.
34452
34453 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
34454 of POS to unsigned.
34455 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
34456 calculate the offset of a partition.
34457 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
34458 (amiga_partition_map_get_name): Add 1 into P->INDEX.
34459
34460 * partmap/acorn.c (acorn_partition_map_find): Change the type of
34461 SECTOR to grub_disk_addr_t.
34462 (acorn_partition_map_iterate): Likewise.
34463 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
34464 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
34465 top.
34466 (acorn_partition_map_get_name): Add 1 into P->INDEX.
34467
34468 * kern/i386/pc/init.c (make_install_device): Add 1 into
34469 GRUB_INSTALL_DOS_PART.
34470
34471 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
34472 conditional.
34473
34474 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
34475
34476 Clean up the code to support 64-bit addressing in disks and
34477 files. This change is not enough for filesystems yet.
34478
34479 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
34480 type of "start" to grub_uint64_t.
34481 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
34482 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
34483 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
34484 convert addresses.
34485
34486 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
34487 to grub_disk_addr_t.
34488
34489 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
34490 string.
34491
34492 * partmap/pc.c (pc_partition_map_iterate): Likewise.
34493
34494 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
34495 to char *.
34496
34497 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
34498
34499 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
34500
34501 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
34502
34503 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
34504 to grub_off_t, to detect an error from grub_file_seek.
34505 (grub_multiboot_load_elf32): Likewise.
34506
34507 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
34508 maximum unsigned long value when an overflow is detected.
34509 (grub_strtoull): New function.
34510 (grub_divmod64): Likewise.
34511 (grub_lltoa): use grub_divmod64.
34512
34513 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
34514 grub_disk_addr_t.
34515 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
34516 the pointer to next character. Use grub_strtoull instead of
34517 grub_strtoul.
34518 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
34519 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
34520 respectively.
34521
34522 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
34523 return value is signed.
34524 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
34525 test if OFFSET is less than zero, as OFFSET is unsigned now.
34526
34527 * kern/disk.c (struct grub_disk_cache): Change the type of
34528 "sector" to grub_disk_addr_t.
34529 (grub_disk_cache_get_index): Change the type of SECTOR to
34530 grub_disk_addr_t. Calculate the hash with SECTOR casted to
34531 unsigned after shifting.
34532 (grub_disk_cache_invalidate): Change the type of SECTOR to
34533 grub_disk_addr_t.
34534 (grub_disk_cache_unlock): Likewise.
34535 (grub_disk_cache_store): Likewise.
34536 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
34537 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
34538 grub_disk_addr_t and grub_uint64_t, respectively.
34539 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
34540 body, as the value of OFFSET is tweaked by
34541 grub_disk_check_range. Change the types of START_SECTOR, LEN and
34542 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
34543 respectively.
34544 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
34545 body, as the value of OFFSET is tweaked by
34546 grub_disk_check_range. Change the types of LEN and N to
34547 grub_size_t.
34548
34549 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
34550 and "saved_offset" to grub_off_t.
34551 (test_header): Cast BUF to char *.
34552 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
34553 to char *.
34554 (grub_gzio_read): Change the types of OFFSET and SIZE to
34555 grub_off_t and grub_size_t, respectively.
34556
34557 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
34558 Removed.
34559 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
34560 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
34561 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
34562 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
34563 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
34564
34565 * include/grub/types.h (grub_off_t): Unconditionally set to
34566 grub_uint64_t.
34567 (grub_disk_addr_t): Changed to grub_uint64_t.
34568
34569 * include/grub/partition.h (struct grub_partition): Change the
34570 types of "start", "len" and "offset" to grub_disk_addr_t,
34571 grub_uint64_t and grub_disk_addr_t, respectively.
34572 (grub_partition_get_start): Return grub_disk_addr_t.
34573 (grub_partition_get_len): Return grub_uint64_t.
34574
34575 * include/grub/misc.h (grub_strtoull): New prototype.
34576 (grub_divmod64): Likewise.
34577
34578 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
34579 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
34580 grub_off_t, respectively.
34581 All callers and references changed.
34582
34583 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
34584 grub_size_t in "read".
34585 All callers and references changed.
34586
34587 * include/grub/file.h (struct grub_file): Change the types of
34588 "offset" and "size" to grub_off_t and grub_off_t,
34589 respectively. Change the type of SECTOR to grub_disk_addr_t in
34590 "read_hook".
34591 (grub_file_read): Change the type of LEN to grub_size_t.
34592 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
34593 grub_off_t.
34594 (grub_file_size): Return grub_off_t.
34595 (grub_file_tell): Likewise.
34596 All callers and references changed.
34597
34598 * include/grub/disk.h (struct grub_disk_dev): Change the types of
34599 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
34600 "write".
34601 (struct grub_disk): Change the type of "total_sectors" to
34602 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
34603 "read_hook".
34604 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
34605 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
34606 (grub_disk_write): Likewise.
34607 All callers and references changed.
34608
34609 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
34610 char * for grub_strncmp to silence gcc.
34611 (grub_iso9660_mount): Likewise.
34612 (grub_iso9660_mount): Likewise.
34613 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
34614 return statement.
34615 (grub_iso9660_iterate_dir): Likewise.
34616 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
34617
34618 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
34619 LEN to grub_disk_addr_t and grub_size_t, respectively.
34620
34621 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
34622
34623 * fs/jfs.c (grub_jfs_read_file): Likewise.
34624
34625 * fs/minix.c (grub_jfs_read_file): Likewise.
34626
34627 * fs/sfs.c (grub_jfs_read_file): Likewise.
34628
34629 * fs/ufs.c (grub_jfs_read_file): Likewise.
34630
34631 * fs/xfs.c (grub_jfs_read_file): Likewise.
34632
34633 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
34634 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
34635 respectively.
34636
34637 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
34638 BLKNR to -1 instead of returning GRUB_ERRNO.
34639 (grub_ext2_read_file): Change the types of SECTOR and
34640 LEN to grub_disk_addr_t and grub_size_t, respectively.
34641
34642 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
34643 LEN to grub_disk_addr_t and grub_size_t, respectively.
34644
34645 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
34646 grub_file_read.
34647
34648 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
34649 string. Do not cast SECTOR explicitly.
34650
34651 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
34652 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
34653 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
34654 grub_disk_addr_t and grub_size_t, respectively. If the sector is
34655 over 2TB and LBA mode is not supported, raise an error.
34656 (get_safe_sectors): New function.
34657 (grub_biosdisk_read): Use get_safe_sectors.
34658 (grub_biosdisk_write): Likewise.
34659
34660 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
34661 (grub_efidisk_write): Likewise.
34662
34663 * disk/loopback.c (delete_loopback): Cosmetic changes.
34664 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
34665 correctly.
34666 (grub_loopback_open): Likewise.
34667 (grub_loopback_read): Likewise. Also, change the type of POS to
34668 grub_off_t, and fix the usage of grub_memset.
34669
34670 * commands/i386/pc/play.c: Include grub/machine/time.h.
34671
34672 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
34673 print FILE->SIZE.
34674
34675 * commands/configfile.c: Include grub/env.h.
34676
34677 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
34678 GRUB_ERRNO directly instead. Change the type of POS to
34679 grub_off_t. Follow the coding standard.
34680
34681 * commands/blocklist.c: Include grub/partition.h.
34682 (grub_cmd_blocklist): Return an error if the underlying device is
34683 not a disk. Take the starting sector of a partition into account,
34684 if a partition is used.
34685
34686 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
34687 a length field.
34688 (lba_mode): Support 64-bit addresses.
34689 (chs_mode): Likewise.
34690 (copy_buffer): Adapted to the new offsets of a length field and a
34691 segment field.
34692 (blocklist_default_start): Allocate 64-bit space.
34693
34694 * boot/i386/pc/boot.S (force_lba): Removed.
34695 (boot_drive): Moved to under KERNEL_SECTOR.
34696 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
34697 space.
34698 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
34699 is useless.
34700 (lba_mode): Refactored to support a 64-bit address. More size
34701 optimization.
34702 (setup_sectors): Likewise.
34703
34704 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
34705
34706 * DISTLIST: Added include/grub/i386/linux.h. Removed
34707 include/grub/i386/pc/linux.h
34708
34709 * configure.ac (AC_INIT): Bumped to 1.94.
34710
34711 * config.guess: Updated from gnulib.
34712 * config.sub: Likewise.
34713 * install-sh: Likewise.
34714 * mkinstalldirs: Likewise.
34715
34716 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
34717
34718 * conf/common.rmk (grub_modules_init.lst): Depended on
34719 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
34720 MODSRCFILES.
34721
34722 * genmk.rb (PModule::rule): Reverted the previous change.
34723
34724 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
34725
34726 * conf/common.rmk (grub_modules_init.lst): Depends on
34727 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
34728 that the target does not exist before producing.
34729 (grub_modules_init.h): Remove the target before generating.
34730 (grub_emu_init.c): Likewise.
34731
34732 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
34733
34734 2006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
34735
34736 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
34737 for the target-specific tests. Make sure that we also have the
34738 up-to-date target variables for those tests.
34739
34740 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
34741
34742 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
34743 (PModule::rule): Likewise.
34744
34745 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
34746
34747 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
34748 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
34749 target-specific flags should be prefixed.
34750 (PModule::rule): Likewise.
34751
34752 2006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
34753
34754 * configure.ac (CMP): Check if cmp is available explicitly.
34755
34756 2006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
34757
34758 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
34759 (target_cpu): New variable.
34760 (pkglibdir): Use target_cpu instead of host_cpu.
34761
34762 * util/i386/pc/grub-install.in (host_cpu): Removed.
34763 (target_cpu): New variable.
34764 (pkglibdir): Use target_cpu instead of host_cpu.
34765
34766 * util/genmoddep.c: Removed.
34767
34768 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
34769 instead of GRUB_HOST_SIZEOF_VOID_P.
34770 * kern/dl.c: Likewise.
34771
34772 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
34773 ...
34774 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
34775 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
34776 (GRUB_TARGET_SIZEOF_LONG): ... this.
34777 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
34778 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
34779 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
34780 to ...
34781 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
34782 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
34783 (GRUB_TARGET_SIZEOF_LONG): ... this.
34784 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
34785 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
34786 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
34787 to ...
34788 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
34789 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
34790 (GRUB_TARGET_SIZEOF_LONG): ... this.
34791 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
34792 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
34793
34794 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
34795 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
34796 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
34797 instead of GRUB_HOST_SIZEOF_LONG.
34798 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
34799 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
34800 GRUB_CPU_WORDS_BIGENDIAN.
34801 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
34802 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
34803 grub_host_ssize_t.
34804
34805 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
34806 (genmoddep_SOURCES): Likewise.
34807 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
34808 (genmoddep_SOURCES): Likewise.
34809 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
34810 (genmoddep_SOURCES): Likewise.
34811 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
34812 Likewise.
34813 (genmoddep_SOURCES): Likewise.
34814
34815 * genmoddep.awk: New file.
34816
34817 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
34818 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
34819 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
34820 (PModule::rule): Likewise.
34821 (Program::rule): Likewise.
34822 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
34823 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
34824 respectively.
34825
34826 * configure.ac: Rewritten intensively to use host and target
34827 instead of build and host, respectively.
34828
34829 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
34830 (host_cpu): Removed.
34831 (target_cpu): New variable.
34832 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
34833 (BUILD_CC): Removed.
34834 (BUILD_CFLAGS): Likewise.
34835 (BUILD_CPPFLAGS): Likewise.
34836 (TARGET_CC): New variable.
34837 (TARGET_CFLAGS): Likewise.
34838 (TARGET_CPPFLAGS): Likewise.
34839 (TARGET_LDFLAGS): Likewise.
34840 (AWK): Likewise.
34841 (include): Use target_cpu instead of host_cpu.
34842 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
34843
34844 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
34845
34846 2006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
34847
34848 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
34849 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
34850 field 'false' to 'exec_on_false'.
34851 (grub_script_create_cmdif): Renamed argument names to reflect above
34852 changes.
34853
34854 * normal/execute.c (grub_script_execute_cmdif): Likewise.
34855
34856 * normal/script.c (grub_script_create_cmdif): Likewise.
34857
34858 2006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
34859
34860 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
34861 top.
34862 (grub_hfsplus_btree_recptr): Likewise.
34863 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
34864 FILEBLOCK both to pass a block number and store next block
34865 number.
34866 (grub_hfsplus_read_block): Rewritten heavily to support an extent
34867 overflow file correctly. Specify errors appropriately, because
34868 fshelp expects that GRUB_ERRNO is set when fails. Reuse
34869 grub_hfsplus_btree_recptr to get the pointer to a found key.
34870 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
34871 is found.
34872
34873 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
34874 linux.mod.
34875 (_linux_mod_SOURCES): New variable.
34876 (_linux_mod_CFLAGS): Likewise.
34877 (_linux_mod_LDFLAGS): Likewise.
34878 (linux_mod_SOURCES): Likewise.
34879 (linux_mod_CFLAGS): Likewise.
34880 (linux_mod_LDFLAGS): Likewise.
34881
34882 * DISTLIST: Added loader/i386/efi/linux.c,
34883 loader/i386/efi/linux_normal.c and
34884 include/grub/i386/efi/loader.h.
34885
34886 * loader/i386/efi/linux.c: New file.
34887 * loader/i386/efi/linux_normal.c: Likewise.
34888 * include/grub/i386/efi/loader.h: Likewise.
34889
34890 2006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
34891
34892 * commands/blocklist.c: New file.
34893
34894 * DISTLIST: Added commands/blocklist.c.
34895
34896 * term/efi/console.c (grub_console_highlight_color): Use a lighter
34897 color for the background, and a darker color for the foreground.
34898 (grub_console_checkkey): Return READ_KEY.
34899 (grub_console_cls): Set the background to
34900 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
34901
34902 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
34903
34904 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
34905 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
34906
34907 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
34908 prototype.
34909
34910 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
34911 BG. The spec is wrong again.
34912
34913 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
34914 prototype.
34915 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
34916
34917 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
34918 commands/blocklist.c.
34919 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34920
34921 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
34922 (blocklist_mod_SOURCES): New variable.
34923 (blocklist_mod_CFLAGS): Likewise.
34924 (blocklist_mod_LDFLAGS): Likewise.
34925
34926 2006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
34927
34928 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
34929 duplication.
34930 (lba_mode): Use %eax more intensively to reduce the code size.
34931
34932 2006-05-20 Marco Gerards <marco@gnu.org>
34933
34934 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
34935
34936 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
34937 for `menuentry'.
34938 (script): Accept leading newlines.
34939 (newlines): New rule to describe 0 or more newlines.
34940 (commands): Accept `command' with trailing newline. Fixed the
34941 order in which arguments were passed to `grub_script_add_cmd'.
34942 Accept commands separated by newlines.
34943 (function): Changed to accept newlines.
34944 (menuentry) Rewritten.
34945
34946 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
34947 front of the list, instead of to the end.
34948
34949 2006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
34950
34951 * util/i386/pc/grub-install.in (bindir): New variable.
34952 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
34953 Shaver <lbgwjl@gmail.com>.
34954
34955 2006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
34956
34957 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
34958 grub/machine/linux.h
34959 * loader/i386/pc/linux.c: Likewise.
34960
34961 * include/grub/i386/pc/linux.h: Moved to ...
34962 * include/grub/i386/linux.h: ... here.
34963
34964 * include/grub/i386/linux.h (struct linux_kernel_params): New
34965 struct.
34966
34967 2006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
34968
34969 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
34970 checking.
34971 (grub_video_vbe_blit_glyph): Likewise.
34972 (grub_video_vbe_blit_bitmap): Likewise.
34973 (grub_video_vbe_blit_render_target): Likewise.
34974
34975 2006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
34976
34977 * configure.ac (--with-platform): Properly quote the square
34978 brackets.
34979
34980 2006-05-08 Marco Gerards <marco@gnu.org>
34981
34982 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
34983 this...
34984 (kernel_elf_HEADERS): ...to this. Updated all users.
34985 (grubof_symlist.c): Renamed from this...
34986 (kernel_elf_symlist.c): ...to this. Updated all users.
34987 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
34988 (grubof_SOURCES): Renamed from this...
34989 (kernel_elf_SOURCES): ...to this.
34990 (grubof_HEADERS): Renamed from this...
34991 (kernel_elf_HEADERS): ...to this.
34992 (grubof_CFLAGS): Renamed from this...
34993 (kernel_elf_CFLAGS): ...to this.
34994 (grubof_ASFLAGS): Renamed from this...
34995 (kernel_elf_ASFLAGS): ...to this.
34996 (grubof_LDFLAGS): Renamed from this...
34997 (kernel_elf_LDFLAGS): ...to this.
34998
34999 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
35000 this...
35001 (kernel_elf_HEADERS): ...to this. Updated all users.
35002 (grubof_symlist.c): Renamed from this...
35003 (kernel_elf_symlist.c): ...to this. Updated all users.
35004 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
35005 (grubof_SOURCES): Renamed from this...
35006 (kernel_elf_SOURCES): ...to this.
35007 (grubof_HEADERS): Renamed from this...
35008 (kernel_elf_HEADERS): ...to this.
35009 (grubof_CFLAGS): Renamed from this...
35010 (kernel_elf_CFLAGS): ...to this.
35011 (grubof_ASFLAGS): Renamed from this...
35012 (kernel_elf_ASFLAGS): ...to this.
35013 (grubof_LDFLAGS): Renamed from this...
35014 (kernel_elf_LDFLAGS): ...to this.
35015
35016 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
35017 `kernel.elf' instead of `grubof'.
35018
35019 2006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
35020
35021 Add --with-platform to configure. Use pkglibdir instead of
35022 pkgdatadir. This is reported by Roger Leigh.
35023
35024 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
35025 (host_vendor): Likewise.
35026 (host_os): Likewise.
35027 (pkgdatadir): Likewise.
35028 (platform): New variable.
35029 (pkglibdir): Likewise.
35030 Use PKGLIBDIR instead of PKGDATADIR.
35031
35032 * util/i386/pc/grub-install.in (datadir): Removed.
35033 (host_vendor): Likewise.
35034 (host_os): Likewise.
35035 (pkgdatadir): Likewise.
35036 (platform): New variable.
35037 (pkglibdir): Likewise.
35038 Use PKGLIBDIR instead of PKGDATADIR.
35039
35040 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
35041 instead of GRUB_DATADIR.
35042 (main): Likewise.
35043 * util/i386/pc/grub-mkimage.c (usage): Likewise.
35044 (main): Likewise.
35045 * util/i386/efi/grub-mkimage.c (usage): Likewise.
35046 (main): Likewise.
35047
35048 * configure.ac (--with-platform): New option.
35049 Use PLATFORM instead of HOST_VENDOR to specify a platform.
35050
35051 * Makefile.in: Include a makefile based on PLATFORM instead of
35052 HOST_VENDOR.
35053 (pkgdatadir): Not appended by the machine type.
35054 (pkglibdir): Appended by the machine type.
35055 (host_vendor): Removed.
35056 (platform): New variable.
35057 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
35058 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
35059 (uninstall): Likewise.
35060
35061 2006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
35062
35063 Use the environment context in the menu. Remove the commands
35064 "default" and "timeout", and use variables instead.
35065
35066 * normal/menu.c: Include grub/env.h.
35067 (print_entry): Cast TITLE to silence gcc.
35068 (get_timeout): New function.
35069 (set_timeout): Likewise.
35070 (get_entry_number): Likewise.
35071 (run_menu): Use a default entry, a fallback entry and a timeout
35072 in the environment variables "default", "fallback" and
35073 "timeout". Also, tweak the default entry if it is not within the
35074 current menu entries.
35075 (grub_menu_run): Use a fallback entry in the environment variable
35076 "fallback".
35077
35078 * normal/main.c (read_config_file): Do not initialize
35079 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
35080 NEWMENU->TIMEOUT.
35081 (grub_normal_execute): Use a data slot to store the menu.
35082
35083 * include/grub/normal.h (struct grub_menu): Removed default_entry,
35084 fallback_entry and timeout.
35085 (struct grub_menu_list): Removed.
35086 (grub_menu_list_t): Likewise.
35087 (struct grub_context): Likewise.
35088 (grub_context_t): Likewise.
35089 (grub_context_get): Likewise.
35090 (grub_context_get_current_menu): Likewise.
35091 (grub_context_push_menu): Likewise.
35092 (grub_context_pop_menu): Likewise.
35093 (grub_default_init): Likewise.
35094 (grub_default_fini): Likewise.
35095 (grub_timeout_init): Likewise.
35096 (grub_timeout_fini): Likewise.
35097
35098 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
35099 and timeout.mod.
35100 (normal_mod_SOURCES): Removed normal/context.c.
35101
35102 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
35103 commands/default.c, commands/timeout.c and normal/context.c.
35104 (normal_mod_SOURCES): Removed normal/context.c.
35105
35106 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
35107 commands/timeout.c and normal/context.c.
35108 (normal_mod_SOURCES): Removed normal/context.c.
35109
35110 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
35111 commands/default.c, commands/timeout.c and normal/context.c.
35112 (normal_mod_SOURCES): Removed normal/context.c.
35113
35114 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
35115 timeout.mod.
35116 (default_mod_SOURCES): Removed.
35117 (default_mod_CFLAGS): Likewise.
35118 (default_mod_LDFLAGS): Likewise.
35119 (timeout_mod_SOURCES): Removed.
35120 (timeout_mod_CFLAGS): Likewise.
35121 (timeout_mod_LDFLAGS): Likewise.
35122
35123 * DISTLIST: Removed commands/default.c, commands/timeout.c and
35124 normal/context.c.
35125
35126 * commands/default.c: Removed.
35127 * commands/timeout.c: Likewise.
35128 * normal/context.c: Likewise.
35129
35130 2006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
35131
35132 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
35133
35134 2006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
35135
35136 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
35137 "next" to "prev" for readability.
35138 (struct grub_env_sorted_var): New struct.
35139 (grub_env_context): Renamed to ...
35140 (initial_context): ... this.
35141 (grub_env_var_context): Renamed to ...
35142 (current_context): ... this.
35143 (grub_env_find): Look only at CURRENT_CONTEXT.
35144 (grub_env_context_open): Rewritten to copy exported variables from
35145 previous context.
35146 (grub_env_context_close): Rewritten according to the new
35147 scheme. Also, add an assertion to prevent the initial context from
35148 removed.
35149 (grub_env_insert): Removed the code for the sorted list.
35150 (grub_env_remove): Likewise.
35151 (grub_env_export): Simply mark the variable with
35152 GRUB_ENV_VAR_GLOBAL.
35153 (grub_env_set): A cosmetic change for naming consistency.
35154 (grub_env_get): Likewise.
35155 (grub_env_unset): Likewise.
35156 (grub_env_iterate): Rewritten to sort variables within this
35157 function.
35158 (grub_register_variable_hook): Fixed for naming consistency. Call
35159 grub_env_find again, only if NAME is not found at the first time.
35160 (mangle_data_slot_name): New function.
35161 (grub_env_set_data_slot): Likewise.
35162 (grub_env_get_data_slot): Likewise.
35163 (grub_env_unset_data_slot): Likewise.
35164
35165 * include/grub/env.h (grub_env_var_type): New enum.
35166 (GRUB_ENV_VAR_LOCAL): New constant.
35167 (GRUB_ENV_VAR_GLOBAL): Likewise.
35168 (GRUB_ENV_VAR_DATA): Likewise.
35169 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
35170 "type".
35171 (grub_env_set): Replace VAR with NAME for consistency.
35172 (grub_register_variable_hook): Likewise.
35173 (grub_env_export): Specify the name of the argument.
35174 (grub_env_set_data_slot): New prototype.
35175 (grub_env_get_data_slot): Likewise.
35176 (grub_env_unset_data_slot): Likewise.
35177
35178 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
35179
35180 Extend the loader so that GRUB can accept a loader which comes
35181 back to GRUB when a loaded image exits. Also, this change adds
35182 support for a chainloader on EFI.
35183
35184 * term/efi/console.c: Include grub/misc.h.
35185 (grub_console_checkkey): Display a scan code on the top for
35186 debugging. This will be removed once the EFI port gets stable.
35187 Correct the scan code mapping.
35188
35189 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
35190 allocate memory from larger regions, in order to reduce the number
35191 of allocated regions. Otherwise, the MacOSX loader panics.
35192 (filter_memory_map): Avoid less than 1MB for compatibility with
35193 other loaders.
35194 (add_memory_regions): Allocate from the tail of a region, if
35195 possible, to avoid allocating a region near to 1MB, for the MacOSX
35196 loader.
35197
35198 * kern/efi/init.c (grub_efi_set_prefix): Specify
35199 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
35200
35201 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
35202 argument IMAGE_HANDLE and specify it to get a loaded image.
35203 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
35204 grub_efi_get_loaded_image.
35205 (grub_efi_get_filename): Divide the length by the size of
35206 grub_efi_char16_t.
35207 (grub_efi_get_device_path): New function.
35208 (grub_efi_print_device_path): Print End Device Path nodes. Divide
35209 the length by the size of grub_efi_char16_t for a file path device
35210 path node.
35211
35212 * kern/loader.c (grub_loader_noreturn): New variable.
35213 (grub_loader_set): Accept a new argument NORETURN. Set
35214 GRUB_LOADER_NORETURN to NORETURN.
35215 All callers changed.
35216 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
35217 grub_machine_fini.
35218
35219 * include/grub/efi/efi.h (grub_efi_get_device_path): New
35220 prototype.
35221 (grub_efi_get_loaded_image): Take an argument to specify an image
35222 handle.
35223
35224 * include/grub/loader.h (grub_loader_set): Added one more argument
35225 NORETURN.
35226
35227 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
35228 instead of grub_efi_open_protocol.
35229 (grub_efidisk_get_device_name): Likewise.
35230 (grub_efidisk_close): Print a newline.
35231 (grub_efidisk_get_device_handle): Fixed to use
35232 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
35233 GRUB_EFI_DEVICE_PATH_TYPE.
35234
35235 * disk/efi/efidisk.c (device_path_guid): Moved to ...
35236 * kern/efi/efi.c (device_path_guid): ... here.
35237
35238 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
35239 chain.mod.
35240 (kernel_mod_HEADERS): Added efi/disk.h.
35241 (_chain_mod_SOURCES): New variable.
35242 (_chain_mod_CFLAGS): Likewise.
35243 (_chain_mod_LDFLAGS): Likewise.
35244 (chain_mod_SOURCES): Likewise.
35245 (chain_mod_CFLAGS): Likewise.
35246 (chain_mod_LDFLAGS): Likewise.
35247
35248 * DISTLIST: Added include/grub/efi/chainloader.h,
35249 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
35250
35251 * include/grub/efi/chainloader.h: New file.
35252 * loader/efi/chainloader.c: Likewise.
35253 * loader/efi/chainloader_normal.c: Likewise.
35254
35255 2006-04-30 Marco Gerards <marco@gnu.org>
35256
35257 * commands/configfile.c (grub_cmd_source): New function.
35258 (GRUB_MOD_INIT): Register the commands `source' and `.'.
35259 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
35260
35261 2006-04-30 Marco Gerards <marco@gnu.org>
35262
35263 * normal/execute.c (grub_script_execute_cmd): Change the return
35264 type to `grub_err_t'. Correctly return the error.
35265 (grub_script_execute_cmdline): In case a command line is not a
35266 command or a function, try to interpret it as an assignment.
35267
35268 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
35269
35270 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
35271 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
35272 skip a node whose name is obviously invalid as UTF-16,
35273 i.e. contains a NUL character. Stop the iteration when the last
35274 directory entry is found. Instead of using the return value of
35275 grub_hfsplus_btree_iterate_node, store the value in RET and use
35276 it, because the iterator can be stopped by the last directory
35277 entry.
35278
35279 2006-04-30 Marco Gerards <marco@gnu.org>
35280
35281 * include/grub/env.h (grub_env_export): New prototype. Reported
35282 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
35283
35284 2006-04-30 Marco Gerards <marco@gnu.org>
35285
35286 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
35287 size of the extents in a catalog file record.
35288
35289 2006-04-29 Marco Gerards <marco@gnu.org>
35290
35291 * commands/configfile.c (grub_cmd_configfile): Execute the
35292 configfile within its own context.
35293
35294 * include/grub/env.h (grub_env_context_open): New prototype.
35295 (grub_env_context_close): Likewise.
35296
35297 * kern/env.c (grub_env): Removed.
35298 (grub_env_sorted): Likewise.
35299 (grub_env_context): New variable.
35300 (grub_env_var_context): Likewise.
35301 (grub_env_find): Search both the active context and the global
35302 context.
35303 (grub_env_context_open): New function.
35304 (grub_env_context_close): Likewise.
35305 (grub_env_insert): Likewise.
35306 (grub_env_remove): Likewise.
35307 (grub_env_export): Likewise.
35308 (grub_env_set): Changed to use helper functions to avoid code
35309 duplication.
35310 (grub_env_iterate): Rewritten so both the current context and the
35311 global context are being used.
35312
35313 * normal/command.c (export_command): New function.
35314 (grub_command_init): Register the `export' function.
35315
35316 2006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
35317
35318 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
35319 explicitly to suppress gcc's warnings.
35320 * fs/fat.c (grub_fat_find_dir): Likewise.
35321 (grub_fat_label): Likewise.
35322 * fs/xfs.c (grub_xfs_read_inode): Likewise.
35323 (grub_xfs_mount): Likewise.
35324 (grub_xfs_label): Likewise.
35325 * fs/affs.c (grub_affs_mount): Likewise.
35326 (grub_affs_label): Likewise.
35327 (grub_affs_iterate_dir): Likewise.
35328 * fs/sfs.c (grub_sfs_mount): Likewise.
35329 (grub_sfs_iterate_dir): Likewise.
35330 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
35331 * fs/hfs.c (grub_hfs_mount): Likewise.
35332 (grub_hfs_cmp_catkeys): Likewise.
35333 (grub_hfs_find_dir): Likewise.
35334 (grub_hfs_dir): Likewise.
35335 (grub_hfs_label): Likewise.
35336 * fs/jfs.c (grub_jfs_mount): Likewise.
35337 (grub_jfs_opendir): Likewise.
35338 (grub_jfs_getent): Likewise.
35339 (grub_jfs_lookup_symlink): Likewise.
35340 (grub_jfs_label): Likewise.
35341 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
35342 (grub_hfsplus_iterate_dir): Likewise.
35343 (grub_hfsplus_btree_iterate_node): Made static.
35344
35345 * util/grub-emu.c (prefix): New variable.
35346 (grub_machine_set_prefix): New function.
35347 (main): Do not set the environment variable "prefix" here. Only
35348 set PREFIX, which is used later by grub_machine_set_prefix.
35349
35350 * include/grub/video.h: Do not include grub/symbol.h.
35351 (grub_video_register): Not exported. This symbol is not defined in
35352 the kernel.
35353 (grub_video_unregister): Likewise.
35354 (grub_video_iterate): Likewise.
35355 (grub_video_setup): Likewise.
35356 (grub_video_restore): Likewise.
35357 (grub_video_get_info): Likewise.
35358 (grub_video_get_blit_format): Likewise.
35359 (grub_video_set_palette): Likewise.
35360 (grub_video_get_palette): Likewise.
35361 (grub_video_set_viewport): Likewise.
35362 (grub_video_get_viewport): Likewise.
35363 (grub_video_map_color): Likewise.
35364 (grub_video_map_rgb): Likewise.
35365 (grub_video_map_rgba): Likewise.
35366 (grub_video_fill_rect): Likewise.
35367 (grub_video_blit_glyph): Likewise.
35368 (grub_video_blit_bitmap): Likewise.
35369 (grub_video_blit_render_target): Likewise.
35370 (grub_video_scroll): Likewise.
35371 (grub_video_swap_buffers): Likewise.
35372 (grub_video_create_render_target): Likewise.
35373 (grub_video_delete_render_target): Likewise.
35374 (grub_video_set_active_render_target): Likewise.
35375
35376 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
35377 Undefined.
35378 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
35379
35380 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
35381 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
35382 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
35383 instead of $(srcdir)/genkernsyms.sh.
35384
35385 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
35386 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
35387 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
35388 instead of $(srcdir)/genkernsyms.sh.
35389
35390 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
35391 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
35392 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
35393 instead of $(srcdir)/genkernsyms.sh.
35394
35395 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
35396 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
35397 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
35398 instead of $(srcdir)/genkernsyms.sh.
35399
35400 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
35401 genkernsyms.sh.
35402
35403 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
35404 genkernsyms.sh.
35405 (gensymlist.sh): New target.
35406 (genkernsyms.sh): Likewise.
35407
35408 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
35409 genkernsyms.sh.in and gensymlist.sh.in.
35410
35411 * genkernsyms.sh: Removed.
35412 * gensymlist.sh: Likewise.
35413
35414 * genkernsyms.sh.in: New file.
35415 * gensymlist.sh.in: Likewise.
35416
35417 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
35418
35419 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
35420 clobber "prefix", since we may have already set it manually.
35421
35422 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
35423
35424 * kern/misc.c (abort): New alias for grub_abort.
35425
35426 2006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
35427
35428 A new machine-specific function "grub_machine_set_prefix" is
35429 defined. This is called after loading modules, so that a prefix
35430 initialization can use modules. Also, this change adds an
35431 intensive debugging feature for the memory manager via the
35432 configure option "--enable-mm-debug".
35433
35434 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
35435 PART.LEN.
35436
35437 * kern/sparc64/ieee1275/init.c (abort): Removed.
35438 (grub_stop): Likewise.
35439 (grub_exit): New function.
35440 (grub_set_prefix): Renamed to ...
35441 (grub_machine_set_prefix): ... this.
35442 (grub_machine_init): Do not call grub_set_prefix.
35443
35444 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
35445 (grub_machine_set_prefix): ... this.
35446 (grub_machine_init): Do not call grub_set_prefix.
35447
35448 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
35449 (grub_machine_init): Do not set the prefix here.
35450
35451 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
35452
35453 * kern/efi/init.c: Include grub/mm.h.
35454 (grub_efi_set_prefix): New function.
35455
35456 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
35457 (grub_efi_get_filename): New function.
35458 (grub_print_device_path): Renamed to ...
35459 (grub_efi_print_device_path): ... this.
35460
35461 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
35462 [MM_DEBUG] (grub_realloc): Likewise.
35463 [MM_DEBUG] (grub_free): Likewise.
35464 [MM_DEBUG] (grub_memalign): Likewise.
35465 [MM_DEBUG] (grub_mm_debug): New variable.
35466 [MM_DEBUG] (grub_debug_malloc): New function.
35467 [MM_DEBUG] (grub_debug_free): New function.
35468 [MM_DEBUG] (grub_debug_realloc): New function.
35469 [MM_DEBUG] (grub_debug_memalign): New function.
35470
35471 * kern/misc.c (grub_abort): Print a newline to distinguish
35472 the message.
35473
35474 * kern/main.c (grub_main): Call grub_machine_set_prefix and
35475 grub_set_root_dev after loading modules. This is necessary when
35476 setting a prefix depends on modules.
35477
35478 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
35479 (grub_efi_print_device_path): ... this.
35480 (grub_efi_get_filename): New prototype.
35481 (grub_efi_set_prefix): Likewise.
35482
35483 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
35484 and grub/disk.h.
35485 (grub_efidisk_get_device_handle): New prototype.
35486 (grub_efidisk_get_device_name): Likewise.
35487
35488 * include/grub/mm.h: Include config.h.
35489 (MM_DEBUG): Removed.
35490 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
35491 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
35492 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
35493 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
35494 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
35495 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
35496 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
35497 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
35498 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
35499
35500 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
35501
35502 * disk/efi/efidisk.c: Include grub/partition.h.
35503 (iterate_child_devices): New function.
35504 (add_device): First, compare only last device path nodes, so that
35505 devices are sorted by the types.
35506 (grub_efidisk_get_device_handle): New function.
35507 (grub_efidisk_get_device_name): Likewise.
35508
35509 * configure.ac (--enable-mm-debug): New option to enable the
35510 memory manager debugging feature. This makes the binary much
35511 bigger, so is disabled by default.
35512
35513 2006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
35514
35515 Use grub_abort instead of grub_stop, and grub_exit must be
35516 define in each architecture now. Also, this change adds support
35517 for EFI disks.
35518
35519 * util/i386/pc/grub-probefs.c: Include grub/term.h.
35520 (grub_getkey): New function.
35521 (grub_term_get_current): Likewise.
35522
35523 * util/i386/pc/grub-setup.c: Include grub/term.h.
35524 (grub_getkey): New function.
35525 (grub_term_get_current): Likewise.
35526
35527 * util/misc.c (grub_stop): Renamed to ...
35528 (grub_exit): ... this.
35529
35530 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
35531 (grub_exit): ... this.
35532 (grub_machine_init): Use grub_abort instead of abort.
35533 (grub_stop): Removed.
35534
35535 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
35536 abort.
35537
35538 * kern/i386/pc/startup.S (grub_exit): New function.
35539 (cold_reboot): New label.
35540
35541 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
35542 (grub_efi_init): Call grub_efidisk_init.
35543 (grub_efi_fini): Call grub_efidisk_fini.
35544
35545 * kern/efi/efi.c: Include grub/mm.h.
35546 (grub_efi_console_control_guid): Renamed to ...
35547 (console_control_guid): ... this.
35548 (grub_efi_loaded_image_guid): Renamed to ...
35549 (loaded_image_guid): ... this.
35550 (grub_efi_locate_handle): New function.
35551 (grub_efi_open_protocol): Likewise.
35552 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
35553 GRUB_EFI_CONSOLE_CONTROL_GUID.
35554 (grub_efi_exit): Removed.
35555 (grub_stop): Likewise.
35556 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
35557 (grub_exit): New function.
35558 (grub_print_device_path): Likewise.
35559
35560 * kern/rescue.c (grub_rescue_cmd_exit): New function.
35561 (grub_enter_rescue_mode): Register "exit".
35562
35563 * kern/misc.c (grub_real_dprintf): A cosmetic change.
35564 (grub_abort): New function.
35565
35566 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
35567
35568 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
35569
35570 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
35571
35572 * include/grub/efi/efi.h (grub_efi_exit): Removed.
35573 (grub_print_device_path): New prototype.
35574 (grub_efi_locate_handle): Likewise.
35575 (grub_efi_open_protocol): Likewise.
35576
35577 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
35578 * disk/efi/efidisk.c: Likewise.
35579
35580 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
35581
35582 * include/grub/efi/console_control.h
35583 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
35584
35585 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
35586 last 8 bytes as an array.
35587 (GRUB_EFI_DISK_IO_GUID): New macro.
35588 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
35589 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
35590 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
35591 grub_uint8_t.
35592 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
35593 (struct grub_efi_device_path): Rename the member "sub_type" to
35594 "subtype".
35595 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
35596 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
35597 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
35598 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
35599 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
35600 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
35601 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
35602 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
35603 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
35604 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
35605 (struct grub_efi_pci_device_path): New structure.
35606 (grub_efi_pci_device_path_t): New type.
35607 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
35608 (struct grub_efi_pccard_device_path): New structure.
35609 (grub_efi_pccard_device_path_t): New type.
35610 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
35611 (struct grub_efi_memory_mapped_device_path): New structure.
35612 (grub_efi_memory_mapped_device_path_t): New type.
35613 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
35614 (struct grub_efi_vendor_device_path): New structure.
35615 (grub_efi_vendor_device_path_t): New type.
35616 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
35617 (struct grub_efi_controller_device_path): New structure.
35618 (grub_efi_controller_device_path_t): New type.
35619 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
35620 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
35621 (struct grub_efi_acpi_device_path): New structure.
35622 (grub_efi_acpi_device_path_t): New type.
35623 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
35624 (struct grub_efi_expanded_acpi_device_path): New structure.
35625 (grub_efi_expanded_acpi_device_path_t): New type.
35626 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
35627 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
35628 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
35629 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
35630 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
35631 (struct grub_efi_atapi_device_path): New structure.
35632 (grub_efi_atapi_device_path_t): New type.
35633 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
35634 (struct grub_efi_fibre_channel_device_path): New structure.
35635 (grub_efi_fibre_channel_device_path_t): New type.
35636 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
35637 (struct grub_efi_1394_device_path): New structure.
35638 (grub_efi_1394_device_path_t): New type.
35639 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
35640 (struct grub_efi_usb_device_path): New structure.
35641 (grub_efi_usb_device_path_t): New type.
35642 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
35643 (struct grub_efi_usb_class_device_path): New structure.
35644 (grub_efi_usb_class_device_path_t): New type.
35645 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
35646 (struct grub_efi_i2o_device_path): New structure.
35647 (grub_efi_i2o_device_path_t): New type.
35648 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
35649 (struct grub_efi_mac_address_device_path): New structure.
35650 (grub_efi_mac_address_device_path_t): New type.
35651 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
35652 (struct grub_efi_ipv4_device_path): New structure.
35653 (grub_efi_ipv4_device_path_t): New type.
35654 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
35655 (struct grub_efi_ipv6_device_path): New structure.
35656 (grub_efi_ipv6_device_path_t): New type.
35657 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
35658 (struct grub_efi_infiniband_device_path): New structure.
35659 (grub_efi_infiniband_device_path_t): New type.
35660 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
35661 (struct grub_efi_uart_device_path): New structure.
35662 (grub_efi_uart_device_path_t): New type.
35663 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
35664 (struct grub_efi_vendor_messaging_device_path): New structure.
35665 (grub_efi_vendor_messaging_device_path_t): New type.
35666 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
35667 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
35668 (struct grub_efi_hard_drive_device_path): New structure.
35669 (grub_efi_hard_drive_device_path_t): New type.
35670 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
35671 (struct grub_efi_cdrom_device_path): New structure.
35672 (grub_efi_cdrom_device_path_t): New type.
35673 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
35674 (struct grub_efi_vendor_media_device_path): New structure.
35675 (grub_efi_vendor_media_device_path_t): New type.
35676 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
35677 (struct grub_efi_file_path_device_path): New structure.
35678 (grub_efi_file_path_device_path_t): New type.
35679 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
35680 (struct grub_efi_protocol_device_path): New structure.
35681 (grub_efi_protocol_device_path_t): New type.
35682 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
35683 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
35684 (struct grub_efi_bios_device_path): New structure.
35685 (grub_efi_bios_device_path_t): New type.
35686 (struct grub_efi_disk_io): New structure.
35687 (grub_efi_disk_io_t): New type.
35688 (struct grub_efi_block_io_media): New structure.
35689 (grub_efi_block_io_media_t): New type.
35690 (struct grub_efi_block_io): New structure.
35691 (grub_efi_block_io_t): New type.
35692
35693 * include/grub/misc.h (grub_stop): Removed.
35694 (grub_exit): New prototype.
35695 (grub_abort): Likewise.
35696
35697 * include/grub/disk.h (enum grub_disk_dev_id): Added
35698 GRUB_DISK_DEVICE_EFIDISK_ID.
35699
35700 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
35701 disk/efi/efidisk.c.
35702 (kernel_syms.lst): Remove the target if an error occurs.
35703
35704 2006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
35705
35706 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
35707 as it was simply too buggy.
35708
35709 2006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
35710
35711 * kern/misc.c (grub_lltoa): New function.
35712 (grub_vsprintf): Added support for the long long suffix,
35713 i.e. "ll".
35714
35715 2006-04-20 Hollis Blanchard <hollis@penguinppc.org>
35716
35717 * Makefile.in (LDFLAGS): Add variable.
35718 (LD): Remove variable.
35719 * configure.ac: Add -m32 to LDFLAGS.
35720 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
35721 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
35722 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
35723 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
35724 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
35725 variables.
35726 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
35727 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
35728 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
35729
35730 2006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
35731
35732 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
35733 length for unknown glyph.
35734
35735 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
35736
35737 Add support for pre-loaded modules into the EFI port.
35738
35739 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
35740 completely. Accept one more argument DIR. The caller has changed.
35741
35742 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
35743
35744 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
35745 (grub_efi_loaded_image_guid): New variable.
35746 (grub_efi_get_loaded_image): New function.
35747 (grub_arch_modules_addr): Likewise.
35748
35749 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
35750 prototype.
35751
35752 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
35753 (struct grub_efi_loaded_image): New structure.
35754 (grub_efi_loaded_image_t): New type.
35755
35756 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
35757
35758 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
35759 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
35760 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
35761
35762 2006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
35763
35764 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
35765
35766 2006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
35767
35768 * DISTLIST: Added include/grub/efi/console.h,
35769 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
35770 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
35771
35772 * include/grub/efi/console.h: New file.
35773 * include/grub/efi/time.h: Likewise.
35774 * include/grub/i386/efi/kernel.h: Likewise.
35775 * kern/efi/init.c: Likewise.
35776 * kern/efi/mm.c: Likewise.
35777 * term/efi/console.c: Likewise.
35778
35779 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
35780 (grub_stop): Removed.
35781 (grub_get_rtc): Likewise.
35782 (grub_machine_init): Simply call grub_efi_init.
35783 (grub_machine_fini): Call grub_efi_fini.
35784
35785 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
35786 (grub_efi_output_string): Removed.
35787 (grub_efi_stall): New function.
35788 (grub_stop): Likewise.
35789 (grub_get_rtc): Likewise.
35790
35791 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
35792 (grub_efi_stall): New prototype.
35793 (grub_efi_allocate_pages): Likewise.
35794 (grub_efi_free_pages): Likewise.
35795 (grub_efi_get_memory_map): Likewise.
35796 (grub_efi_mm_init): Likewise.
35797 (grub_efi_mm_fini): Likewise.
35798 (grub_efi_init): Likewise.
35799 (grub_efi_fini): Likewise.
35800
35801 * include/grub/i386/efi/time.h: Do not include
35802 grub/symbol.h. Include grub/efi/time.h.
35803 (GRUB_TICKS_PER_SECOND): Removed.
35804 (grub_get_rtc): Likewise.
35805
35806 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
35807 Added padding. The EFI spec is buggy.
35808 (GRUB_EFI_BLACK): New macro.
35809 (GRUB_EFI_BLUE): Likewise.
35810 (GRUB_EFI_GREEN): Likewise.
35811 (GRUB_EFI_CYAN): Likewise.
35812 (GRUB_EFI_RED): Likewise.
35813 (GRUB_EFI_MAGENTA): Likewise.
35814 (GRUB_EFI_BROWN): Likewise.
35815 (GRUB_EFI_LIGHTGRAY): Likewise.
35816 (GRUB_EFI_BRIGHT): Likewise.
35817 (GRUB_EFI_DARKGRAY): Likewise.
35818 (GRUB_EFI_LIGHTBLUE): Likewise.
35819 (GRUB_EFI_LIGHTGREEN): Likewise.
35820 (GRUB_EFI_LIGHTCYAN): Likewise.
35821 (GRUB_EFI_LIGHTRED): Likewise.
35822 (GRUB_EFI_LIGHTMAGENTA): Likewise.
35823 (GRUB_EFI_YELLOW): Likewise.
35824 (GRUB_EFI_WHITE): Likewise.
35825 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
35826 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
35827 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
35828 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
35829 (GRUB_EFI_BACKGROUND_RED): Likewise.
35830 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
35831 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
35832 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
35833 (GRUB_EFI_TEXT_ATTR): Likewise.
35834
35835 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
35836 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
35837 (kernel_mod_HEADERS): Added efi/time.h.
35838
35839 2006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
35840
35841 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
35842 include/grub/efi/api.h, include/grub/efi/console_control.h,
35843 include/grub/efi/efi.h, include/grub/efi/pe32.h,
35844 include/grub/i386/efi/time.h, kern/efi/efi.c,
35845 kern/i386/efi/init.c, kern/i386/efi/startup.S,
35846 and util/i386/efi/grub-mkimage.c.
35847
35848 * Makefile.in (RMKFILES): Added i386-efi.rmk.
35849
35850 * genmk.rb (PModule#rule): Do not export symbols if
35851 #{prefix}_EXPORTS is set to "no".
35852
35853 * conf/i386-efi.mk: New file.
35854 * conf/i386-efi.rmk: Likewise.
35855 * include/grub/efi/api.h: Likewise.
35856 * include/grub/efi/console_control.h: Likewise.
35857 * include/grub/efi/efi.h: Likewise.
35858 * include/grub/efi/pe32.h: Likewise.
35859 * include/grub/i386/efi/time.h: Likewise.
35860 * kern/efi/efi.c: Likewise.
35861 * kern/i386/efi/init.c: Likewise.
35862 * kern/i386/efi/startup.S: Likewise.
35863 * util/i386/efi/grub-mkimage.c: Likewise.
35864
35865 2006-04-17 Marco Gerards <marco@gnu.org>
35866
35867 * include/grub/script.h: Include <grub/parser.h> and
35868 "grub_script.tab.h".
35869 (struct grub_lexer_param): New struct.
35870 (struct grub_parser_param): Likewise.
35871 (grub_script_create_arglist): Pass the state in an argument.
35872 (grub_script_add_arglist): Likewise.
35873 (grub_script_create_cmdline): Likewise.
35874 (grub_script_create_cmdblock): Likewise.
35875 (grub_script_create_cmdif): Likewise.
35876 (grub_script_create_cmdmenu): Likewise.
35877 (grub_script_add_cmd): Likewise.
35878 (grub_script_arg_add): Likewise.
35879 (grub_script_lexer_ref): Likewise.
35880 (grub_script_lexer_deref): Likewise.
35881 (grub_script_lexer_record_start): Likewise.
35882 (grub_script_lexer_record_stop): Likewise.
35883 (grub_script_mem_record): Likewise.
35884 (grub_script_mem_record_stop): Likewise.
35885 (grub_script_malloc): Likewise.
35886 (grub_script_yylex): Likewise.
35887 (grub_script_yyparse): Likewise.
35888 (grub_script_yyerror): Likewise.
35889 (grub_script_yylex): Likewise.
35890 (grub_script_lexer_init): Return the state.
35891
35892 * normal/lexer.c (grub_script_lexer_state): Removed variable.
35893 (grub_script_lexer_done): Likewise.
35894 (grub_script_lexer_getline): Likewise.
35895 (grub_script_lexer_refs): Likewise.
35896 (script): Likewise.
35897 (newscript): Likewise.
35898 (record): Likewise.
35899 (recording): Likewise.
35900 (recordpos): Likewise.
35901 (recordlen): Likewise.
35902 (grub_script_lexer_init): Return the state instead of setting
35903 global variables.
35904 (grub_script_lexer_ref): Use the newly added argument for state
35905 instead of globals.
35906 (grub_script_lexer_deref): Likewise.
35907 (grub_script_lexer_record_start): Likewise.
35908 (grub_script_lexer_record_stop): Likewise.
35909 (recordchar): Likewise.
35910 (nextchar): Likewise.
35911 (grub_script_yylex2): Likewise.
35912 (grub_script_yylex): Likewise.
35913 (grub_script_yyerror): Likewise.
35914
35915 * normal/parser.y (func_mem): Removed variable.
35916 (menu_entry): Likewise.
35917 (err): Likewise.
35918 (%lex-param): New parser option.
35919 (%parse-param): Likewise.
35920 (script): Always return the AST.
35921 (argument): Pass the state around.
35922 (arguments): Likewise.
35923 (grubcmd): Likewise.
35924 (commands): Likewise.
35925 (function): Likewise.
35926 (menuentry): Likewise.
35927 (if_statement): Likewise.
35928 (if): Likewise.
35929
35930 * normal/script.c (grub_script_memused): Removed variable.
35931 (grub_script_parsed): Likewise.
35932 (grub_script_malloc): Added a state argument. Use that instead of
35933 global variables.
35934 (grub_script_mem_record): Likewise.
35935 (grub_script_mem_record_stop): Likewise.
35936 (grub_script_arg_add): Likewise.
35937 (grub_script_add_arglist): Likewise.
35938 (grub_script_create_cmdline): Likewise.
35939 (grub_script_create_cmdif): Likewise.
35940 (grub_script_create_cmdmenu): Likewise.
35941 (grub_script_add_cmd): Likewise.
35942 (grub_script_parse): Setup the state before calling the parser.
35943
35944 2006-04-16 Marco Gerards <marco@gnu.org>
35945
35946 * normal/command.c (grub_command_init): Remove the title command.
35947
35948 * normal/lexer.c (grub_script_yylex): Renamed from this...
35949 (grub_script_yylex2): ... to this.
35950 (grub_script_yylex): New function. Temporary
35951 introduced to filter some tokens.
35952 (grub_script_yyerror): Print a newline.
35953
35954 * normal/main.c (read_config_file): Output information about the
35955 lines that contain errors. Wait for a key after all lines have
35956 been processed. Don't return an empty menu.
35957
35958 * normal/parser.y (func_mem): Don't initialize.
35959 (menu_entry): Likewise.
35960 (err): New variable.
35961 (script): Don't return anything when an error was encountered.
35962 (ws, returns): Removed rules.
35963 (argument): Disabled concatenated variable support.
35964 (arguments): Remove explicit separators.
35965 (grubcmd): Likewise.
35966 (function): Likewise.
35967 (menuentry): Likewise.
35968 (if): Likewise.
35969 (commands): Likewise. Add error handling.
35970
35971 * normal/script.c (grub_script_create_cmdline): If
35972 `grub_script_parsed' is 0, assume the parser encountered an error.
35973
35974 2006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
35975
35976 * configure.ac: Add support for EFI. Fix the typo
35977 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
35978
35979 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
35980
35981 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
35982 foreign multibyte characters should be shown correctly.
35983
35984 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
35985
35986 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
35987 calculation.
35988 (read_config_file): Made it to close file before returning.
35989
35990 2006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
35991
35992 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
35993 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
35994 video/i386/pc/vbefill.c.
35995
35996 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
35997 video/i386/pc/vbefill.c.
35998
35999 * include/grub/video.h (grub_video_blit_format): New enum.
36000 (grub_video_mode_info): Added new member blit_format.
36001 (grub_video_get_blit_format): New function prototype.
36002
36003 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
36004 function prototype.
36005 (grub_video_vbe_map_rgb): Likewise.
36006 (grub_video_vbe_unmap_color): Likewise.
36007
36008 * include/grub/i386/pc/vbeblit.h: New file.
36009
36010 * include/grub/i386/pc/vbefill.h: New file.
36011
36012 * video/video.c (grub_video_get_blit_format): New function.
36013 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
36014 (grub_video_vbe_map_rgb): Likewise.
36015 (grub_video_vbe_unmap_color): Likewise.
36016
36017 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
36018 optimized fills.
36019 (grub_video_vbe_blit_render_target): Changed to use more optimized
36020 blits.
36021 (grub_video_vbe_setup): Added detection for optimized settings.
36022 (grub_video_vbe_create_render_target): Likewise.
36023
36024 * video/i386/pc/vbeblit.c: New file.
36025
36026 * video/i386/pc/vbefill.c: New file.
36027
36028 2006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
36029
36030 * font/manager.c (grub_font_get_glyph): Removed font fixup from
36031 here...
36032
36033 * util/unifont2pff.rb: ... and moved it to here. Improved argument
36034 parsing to support both hex and dec ranges. If filename was missing
36035 show usage information.
36036
36037 2006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
36038
36039 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
36040 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
36041
36042 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
36043 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
36044 (video_mod_SOURCES): Added.
36045 (video_mod_CFLAGS): Likewise.
36046 (video_mod_LDFLAGS): Likewise.
36047 (gfxterm_mod_SOURCES): Likewise.
36048 (gfxterm_mod_CFLAGS): Likewise.
36049 (gfxterm_mod_LDFLAGS): Likewise.
36050 (videotest_mod_SOURCES): Likewise.
36051 (videotest_mod_CFLAGS): Likewise.
36052 (videotest_mod_LDFLAGS): Likewise.
36053 (vesafb_mod_SOURCES): Removed.
36054 (vesafb_mod_CFLAGS): Likewise.
36055 (vesafb_mod_LDFLAGS): Likewise.
36056 (vga_mod_SOURCES): Likewise.
36057 (vga_mod_CFLAGS): Likewise.
36058 (vga_mod_LDFLAGS): Likewise.
36059
36060 * commands/videotest.c: New file.
36061
36062 * font/manager.c (fill_with_default_glyph): Modified to use
36063 grub_font_glyph.
36064 (grub_font_get_glyph): Likewise.
36065 (fontmanager): Renamed from this...
36066 (font_manager): ... to this.
36067
36068 * include/grub/font.h (grub_font_glyph): Added new structure.
36069 (grub_font_get_glyph): Modified to use grub_font_glyph.
36070
36071 * include/grub/misc.h (grub_abs): Added as inline function.
36072
36073 * include/grub/video.h: New file.
36074
36075 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
36076 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
36077 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
36078 (grub_vbe_get_controller_info): Renamed from this...
36079 (grub_vbe_bios_get_controller_info): ... to this.
36080 (grub_vbe_get_mode_info): Renamed from this...
36081 (grub_vbe_bios_get_mode_info): ... to this.
36082 (grub_vbe_set_mode): Renamed from this...
36083 (grub_vbe_bios_set_mode): ... to this.
36084 (grub_vbe_get_mode): Renamed from this...
36085 (grub_vbe_bios_get_mode): ... to this.
36086 (grub_vbe_set_memory_window): Renamed from this...
36087 (grub_vbe_bios_set_memory_window): ... to this.
36088 (grub_vbe_get_memory_window): Renamed from this...
36089 (grub_vbe_bios_get_memory_window): ... to this.
36090 (grub_vbe_set_scanline_length): Renamed from this...
36091 (grub_vbe_set_scanline_length): ... to this.
36092 (grub_vbe_get_scanline_length): Renamed from this...
36093 (grub_vbe_bios_get_scanline_length): ... to this.
36094 (grub_vbe_set_display_start): Renamed from this...
36095 (grub_vbe_bios_set_display_start): ... to this.
36096 (grub_vbe_get_display_start): Renamed from this...
36097 (grub_vbe_bios_get_display_start): ... to this.
36098 (grub_vbe_set_palette_data): Renamed from this...
36099 (grub_vbe_bios_set_palette_data): ... to this.
36100 (grub_vbe_set_pixel_rgb): Removed.
36101 (grub_vbe_set_pixel_index): Likewise.
36102
36103 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
36104 from this...
36105 (grub_vbe_bios_get_controller_info): ... to this.
36106 (grub_vbe_get_mode_info): Renamed from this...
36107 (grub_vbe_bios_get_mode_info): ... to this.
36108 (grub_vbe_set_mode): Renamed from this...
36109 (grub_vbe_bios_set_mode): ... to this.
36110 (grub_vbe_get_mode): Renamed from this...
36111 (grub_vbe_bios_get_mode): ... to this.
36112 (grub_vbe_set_memory_window): Renamed from this...
36113 (grub_vbe_bios_set_memory_window): ... to this.
36114 (grub_vbe_get_memory_window): Renamed from this...
36115 (grub_vbe_bios_get_memory_window): ... to this.
36116 (grub_vbe_set_scanline_length): Renamed from this...
36117 (grub_vbe_set_scanline_length): ... to this.
36118 (grub_vbe_get_scanline_length): Renamed from this...
36119 (grub_vbe_bios_get_scanline_length): ... to this.
36120 (grub_vbe_set_display_start): Renamed from this...
36121 (grub_vbe_bios_set_display_start): ... to this.
36122 (grub_vbe_get_display_start): Renamed from this...
36123 (grub_vbe_bios_get_display_start): ... to this.
36124 (grub_vbe_set_palette_data): Renamed from this...
36125 (grub_vbe_bios_set_palette_data): ... to this.
36126 (grub_vbe_bios_get_controller_info): Fixed problem with registers
36127 getting corrupted after calling it. Added more pushes and pops.
36128 (grub_vbe_bios_set_mode): Likewise.
36129 (grub_vbe_bios_get_mode): Likewise.
36130 (grub_vbe_bios_get_memory_window): Likewise.
36131 (grub_vbe_bios_set_scanline_length): Likewise.
36132 (grub_vbe_bios_get_scanline_length): Likewise.
36133 (grub_vbe_bios_get_display_start): Likewise.
36134 (grub_vbe_bios_set_palette_data): Likewise.
36135
36136 * normal/cmdline.c (cl_set_pos): Refresh the screen.
36137 (cl_insert): Likewise.
36138 (cl_delete): Likewise.
36139
36140 * term/gfxterm.c: New file.
36141
36142 * term/i386/pc/vesafb.c: Removed file.
36143
36144 * video/video.c: New file.
36145
36146 * video/i386/pc/vbe.c (real2pm): Added new function.
36147 (grub_video_vbe_draw_pixel): Likewise.
36148 (grub_video_vbe_get_video_ptr): Likewise.
36149 (grub_video_vbe_get_pixel): Likewise
36150 (grub_video_vbe_init): Likewise.
36151 (grub_video_vbe_fini): Likewise.
36152 (grub_video_vbe_setup): Likewise.
36153 (grub_video_vbe_get_info): Likewise.
36154 (grub_video_vbe_set_palette): Likewise.
36155 (grub_video_vbe_get_palette): Likewise.
36156 (grub_video_vbe_set_viewport): Likewise.
36157 (grub_video_vbe_get_viewport): Likewise.
36158 (grub_video_vbe_map_color): Likewise.
36159 (grub_video_vbe_map_rgb): Likewise.
36160 (grub_video_vbe_map_rgba): Likewise.
36161 (grub_video_vbe_unmap_color): Likewise.
36162 (grub_video_vbe_fill_rect): Likewise.
36163 (grub_video_vbe_blit_glyph): Likewise.
36164 (grub_video_vbe_blit_bitmap): Likewise.
36165 (grub_video_vbe_blit_render_target): Likewise.
36166 (grub_video_vbe_scroll): Likewise.
36167 (grub_video_vbe_swap_buffers): Likewise.
36168 (grub_video_vbe_create_render_target): Likewise.
36169 (grub_video_vbe_delete_render_target): Likewise.
36170 (grub_video_vbe_set_active_render_target): Likewise.
36171 (grub_vbe_set_pixel_rgb): Remove function.
36172 (grub_vbe_set_pixel_index): Likewise.
36173 (index_color_mode): Remove static variable.
36174 (active_mode): Likewise.
36175 (framebuffer): Likewise.
36176 (bytes_per_scan_line): Likewise.
36177 (grub_video_vbe_adapter): Added new static variable.
36178 (framebuffer): Likewise.
36179 (render_target): Likewise.
36180 (initial_mode): Likewise.
36181 (mode_in_use): Likewise.
36182 (mode_list): Likewise.
36183
36184 2006-03-10 Marco Gerards <marco@gnu.org>
36185
36186 * configure.ac (AC_INIT): Bumped to 1.93.
36187
36188 * DISTLIST: Added `include/grub/hfs.h'.
36189
36190 2006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
36191
36192 * boot/i386/pc/boot.S (general_error): Before looping, try INT
36193 18H, which might help the BIOS falling back to next boot media.
36194
36195 2006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
36196
36197 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
36198 Poe Chen <poe.poechen@gmail.com>.
36199
36200 2006-01-17 Marco Gerards <marco@gnu.org>
36201
36202 * include/grub/normal.h: Include <grub/script.h>.
36203 (grub_command_list): Removed struct.
36204 (grub_command_list_t): Removed type.
36205 (grub_menu_entry): Remove members `num' and `command_list'. Add
36206 members `commands' and `sourcecode'.
36207 * include/grub/script.h: Add inclusion guards.
36208 (grub_script_cmd_menuentry): New struct.
36209 (grub_script_execute_menuentry): New prototype.
36210 (grub_script_lexer_record_start): Likewise.
36211 (grub_script_lexer_record_stop): Likewise.
36212 * normal/execute.c (grub_script_execute_menuentry): New function.
36213 * normal/lexer.c (record, recording, recordpos, recordlen): New
36214 variables.
36215 (grub_script_lexer_record_start): New function.
36216 (grub_script_lexer_record_stop): Likewise.
36217 (recordchar): Likewise.
36218 (nextchar): Likewise.
36219 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
36220 2048 as the buffer size. Add the tokens `menuentry' and `@'.
36221 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
36222 (current_menu): New variable.
36223 (free_menu): Mainly rewritten.
36224 (grub_normal_menu_addentry): New function.
36225 (read_config_file): Rewritten.
36226 * normal/menu.c (run_menu_entry): Mainly rewritten.
36227 * normal/menu_entry.c (make_screen): Rewritten the code to insert
36228 the menu entry.
36229 (run): Mainly rewritten.
36230 * normal/parser.y (menu_entry): New variable.
36231 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
36232 (menuentry): New rule.
36233 (command): Add `menuentry'.
36234 (if_statement): Allow additional returns before `fi'.
36235 * normal/script.c (grub_script_create_cmdmenu): New function.
36236
36237 2006-01-03 Marco Gerards <marco@gnu.org>
36238
36239 * INSTALL: GNU Bison is required.
36240 * configure.ac: Rewritten the test to detect Bison.
36241 * Makefile.in (YACC): New variable. Reported by Xun Sun
36242 <xun.sun.cn@gmail.com>.
36243
36244 2006-01-03 Marco Gerards <marco@gnu.org>
36245
36246 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
36247 the HFS+ filesystem to filesystem blocks.
36248 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
36249 GCC warning is silenced.
36250
36251 2006-01-03 Marco Gerards <marco@gnu.org>
36252
36253 * partmap/apple.c (apple_partition_map_iterate): Convert the data
36254 read from disk from big endian to host byte order.
36255
36256 2006-01-03 Hollis Blanchard <hollis@penguinppc.org>
36257
36258 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
36259 documentation.
36260 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
36261 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
36262 embedded HFS+ filesystem.
36263 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
36264 (grub_hfs_sblock): Move from here...
36265 * include/grub/hfs.h: To here... New file.
36266 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
36267 documentation.
36268 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
36269 New macros.
36270 (grub_hfsplus_volheader): Change type of member `magic' to
36271 `grub_uint16_t'.
36272 (grub_hfsplus_data): Add new member `embedded_offset'.
36273 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
36274 returned block.
36275 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
36276 Calculate the offset.
36277
36278 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
36279
36280 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
36281 Removed.
36282 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
36283
36284 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
36285
36286 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
36287 ENV->NAME is NULL after allocating ENV->VALUE.
36288
36289 2005-12-25 Marco Gerards <marco@gnu.org>
36290
36291 * kern/env.c (grub_env_set): Rewritten the error handling code.
36292
36293 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
36294
36295 * geninit.sh: Made more robust, and more portable.
36296
36297 2005-12-25 Marco Gerards <marco@gnu.org>
36298
36299 Add support for Apple HFS+ filesystems.
36300
36301 * fs/hfsplus.c: New file.
36302
36303 * DISTLIST: Added `fs/hfsplus.c'.
36304
36305 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
36306 (hfsplus_mod_SOURCES): New variable.
36307 (hfsplus_mod_CFLAGS): Likewise.
36308 (hfsplus_mod_LDFLAGS): Likewise.
36309 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
36310 (grub_setup_SOURCES): Likewise.
36311 (grub_mkdevicemap_SOURCES): Likewise.
36312 (grub_emu_SOURCES): Likewise.
36313 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36314
36315 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
36316
36317 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
36318
36319 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
36320
36321 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
36322 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
36323 include/grub/parser.h, include/grub/script.h, kern/parser.c,
36324 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
36325 normal/lexer.c, normal/parser.y, normal/script.c, and
36326 partmap/gpt.c.
36327 Removed kern/sparc64/cache.c.
36328
36329 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
36330 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
36331 grub_emu_init.c.
36332
36333 * configure.ac (AC_INIT): Bumped to 1.92.
36334
36335 2005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
36336
36337 * kern/err.c (grub_error_push): Added new function to support error
36338 stacks.
36339 (grub_error_pop): Likewise.
36340 (grub_error_stack_items): New local variable to support error stacks.
36341 (grub_error_stack_pos): Likewise.
36342 (grub_error_stack_assert): Likewise.
36343 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
36344 stack depth.
36345 (grub_print_error): Added support to print errors from error stack.
36346
36347 * include/grub/err.h (grub_error_push): Added function prototype.
36348 (grub_error_pop): Likewise.
36349
36350 2005-12-09 Hollis Blanchard <hollis@penguinppc.org>
36351
36352 * configure.ac: Accept `powerpc64' as host_cpu.
36353 (amd64): Rename to `biarch32'.
36354
36355 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
36356 non-cacheline-aligned addresses.
36357
36358 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
36359 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
36360 if `size' is non-zero.
36361
36362 2005-12-03 Marco Gerards <mgerards@xs4all.nl>
36363
36364 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
36365 and `cd' to make sure the filename is not prefixed with a
36366 directory name.
36367 (pkgdata_MODULES): Add `gpt.mod'.
36368 (gpt_mod_SOURCES): New variable.
36369 (gpt_mod_CFLAGS): Likewise.
36370 (gpt_mod_LDFLAGS): Likewise.
36371
36372 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
36373
36374 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
36375 New macro.
36376
36377 * partmap/gpt.c: New file.
36378
36379 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
36380 GPT partition map is detected.
36381
36382 2005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
36383
36384 * commands/i386/pc/play.c: New file.
36385 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
36386 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
36387 macros.
36388
36389 2005-11-27 Marco Gerards <mgerards@xs4all.nl>
36390
36391 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
36392 ((unused))' to silence gcc warning.
36393
36394 2005-11-26 Hollis Blanchard <hollis@penguinppc.org>
36395
36396 * configure.ac: Correct `AC_PROG_YACC' test.
36397
36398 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
36399
36400 * util/powerpc/ieee1275/grub-install.in: Run the mount point
36401 check before installing files.
36402
36403 2005-11-22 Mike Small <smallm@panix.com>
36404
36405 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
36406 number regex so multidigit numbers are recognized correctly.
36407
36408 2005-11-22 Mike Small <smallm@panix.com>
36409
36410 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
36411 debugging message before attempting to claim memory.
36412 (grub_rescue_cmd_initrd): Add a claim debugging message and try
36413 multiple addresses in case of failure.
36414
36415 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
36416
36417 * term/tparm.c (get_space): Remove empty `if' statement.
36418
36419 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
36420
36421 * kern/parser.c (check_varstate): Rename `state' to 's'.
36422
36423 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
36424
36425 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
36426 variable definitions to the beginning of each function. Sort stack
36427 variables by size.
36428 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
36429 `buf' argument to `char *'.
36430
36431 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
36432
36433 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
36434 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
36435 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
36436 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
36437 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
36438 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
36439 configfile.mod, search.mod, gzio.mod and test.mod.
36440 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
36441 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
36442 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
36443 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
36444 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
36445 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
36446 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
36447 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
36448 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
36449 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
36450 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
36451 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
36452 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
36453 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
36454 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
36455 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
36456 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
36457 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
36458 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
36459 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
36460 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
36461 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
36462 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
36463
36464 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
36465 `grep --include'.
36466 (pkgdata_MODULES): Add test.mod.
36467
36468 2005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
36469
36470 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
36471 appending to variables with "+=".
36472 (PModule): Use full pathname to generate *.lst filenames.
36473
36474 * Makefile.in: Fixed list rules moved from genmk.rb.
36475 (.DELETE_ON_ERROR): New special target.
36476 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
36477
36478 * conf/i386-pc.rmk: Include conf/common.mk.
36479 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
36480 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
36481 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
36482 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
36483 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
36484 configfile.mod, search.mod, gzio.mod and test.mod.
36485 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
36486 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
36487 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
36488 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
36489 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
36490 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
36491 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
36492 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
36493 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
36494 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
36495 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
36496 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
36497 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
36498 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
36499 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
36500 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
36501 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
36502 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
36503 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
36504 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
36505 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
36506 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
36507 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
36508 here...
36509 * conf/common.rmk: ... to here. New file.
36510
36511 * conf/common.mk: New file.
36512
36513 2005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
36514
36515 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
36516 (grub_script.tab.c): ... here.
36517
36518 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
36519 (grub_script.tab.c): ... here.
36520
36521 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
36522 (grub_script.tab.c): ... here.
36523
36524 * normal/command.c (grub_command_find): Fixed a memory leak of
36525 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
36526
36527 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
36528
36529 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
36530 "@" which marks the start of a comment on ARM.
36531 (VARIABLE): Likewise.
36532
36533 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
36534
36535 Add support for Linux/ADFS partition tables.
36536
36537 * partmap/acorn.c: New file.
36538
36539 * include/grub/acorn_filecore.h: Likewise.
36540
36541 * DISTLIST: Added `partmap/acorn.c' and
36542 `include/grub/acorn_filecore.h'.
36543
36544 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
36545 `partmap/acorn.c'.
36546 (pkgdata_MODULES): Add `acorn.mod'.
36547 (acorn_mod_SOURCES): New variable.
36548 (acorn_mod_CFLAGS): Likewise.
36549
36550 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
36551 `partmap/acorn.c'.
36552 (pkgdata_MODULES): Add `acorn.mod'.
36553 (acorn_mod_SOURCES): New variable.
36554 (acorn_mod_CFLAGS): Likewise.
36555
36556 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
36557 (pkgdata_MODULES): Add `acorn.mod'.
36558 (acorn_mod_SOURCES): New variable.
36559 (acorn_mod_CFLAGS): Likewise.
36560 (acorn_mod_LDFLAGS): Likewise.
36561
36562 * include/types.h (grub_disk_addr_t): New typedef.
36563
36564 2005-11-13 Marco Gerards <mgerards@xs4all.nl>
36565
36566 * geninit.sh: New file.
36567
36568 * geninitheader.sh: Likewise.
36569
36570 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
36571 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
36572 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
36573 * commands/configfile.c (grub_configfile_init)
36574 (grub_configfile_fini): Likewise.
36575 * commands/default.c (grub_default_init, grub_default_fini):
36576 Likewise.
36577 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
36578 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
36579 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
36580 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
36581 Likewise.
36582 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
36583 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
36584 Likewise.
36585 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
36586 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
36587 Likewise.
36588 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
36589 Likewise.
36590 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
36591 Likewise.
36592 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
36593 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
36594 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
36595 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
36596 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
36597 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
36598 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
36599 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
36600 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
36601 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
36602 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
36603 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
36604 * partmap/amiga.c (grub_amiga_partition_map_init)
36605 (grub_amiga_partition_map_fini): Likewise.
36606 * partmap/apple.c (grub_apple_partition_map_init)
36607 (grub_apple_partition_map_fini): Likewise.
36608 * partmap/pc.c (grub_pc_partition_map_init)
36609 (grub_pc_partition_map_fini): Likewise.
36610 * partmap/sun.c (grub_sun_partition_map_init,
36611 grub_sun_partition_map_fini): Likewise.
36612 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
36613 Likewise.
36614
36615 * util/grub-emu.c: Include <grub_modules_init.h>.
36616 (main): Don't initialize and de-initialize any modules directly,
36617 use `grub_init_all' and `grub_fini_all' instead.
36618
36619 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
36620 `grub_vesafb_mod_init'.
36621 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
36622 all users.
36623 * term/i386/pc/vga.c (grub_vga_init): Renamed to
36624 `grub_vga_mod_init'. Updated all users.
36625 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
36626
36627 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
36628 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
36629 rules.
36630
36631 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
36632 Generate a function to initialize the module in utilities.
36633 Updated all callers.
36634 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
36635 initialize the module in utilities. Updated all callers.
36636
36637 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
36638
36639 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
36640 escape sequence and a literal ^L to clear the screen.
36641
36642 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
36643 when returning from Open Firmware.
36644
36645 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
36646
36647 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
36648 (grub_ofconsole_height): Likewise.
36649 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
36650 manually insert a '\n'.
36651 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
36652 `grub_ofconsole_height'. Return early if these are already set.
36653
36654 2005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
36655
36656 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
36657 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
36658 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
36659 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
36660 and `normal/script.c'.
36661 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
36662 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
36663 (test_mod_SOURCES): New variable.
36664 (test_mod_CFLAGS): Likewise.
36665 (test_mod_LDFLAGS): Likewise.
36666 (pkgdata_MODULES): Add `test.mod'.
36667 (grub_script.tab.c): New rule.
36668 (grub_script.tab.h): Likewise.
36669
36670 2005-11-07 Marco Gerards <mgerards@xs4all.nl>
36671
36672 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
36673 `commands/test.c', `normal/execute.c', `normal/lexer.c',
36674 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
36675 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
36676 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
36677 (test_mod_SOURCES): New variable.
36678 (test_mod_CFLAGS): Likewise.
36679 (pkgdata_MODULES): Add `test.mod'.
36680 (grub_script.tab.c): New rule.
36681 (grub_script.tab.h): Likewise.
36682
36683 2005-11-06 Marco Gerards <mgerards@xs4all.nl>
36684
36685 Add initial scripting support.
36686
36687 * commands/test.c: New file.
36688 * include/grub/script.h: Likewise.
36689 * normal/execute.c: Likewise.
36690 * normal/function.c: Likewise.
36691 * normal/lexer.c: Likewise.
36692 * normal/parser.y: Likewise.
36693 * normal/script.c: Likewise.
36694
36695 * configure.ac: Add `AC_PROG_YACC' test.
36696
36697 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
36698 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
36699 `normal/function.c' and `normal/script.c'.
36700 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
36701 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
36702 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
36703 variables.
36704 (pkgdata_MODULES): Add `test.mod'.
36705 (grub_script.tab.c): New rule.
36706 (grub_script.tab.h): Likewise.
36707
36708 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
36709
36710 * include/grub/normal.h (grub_test_init): New prototype.
36711 (grub_test_fini): Likewise.
36712
36713 * normal/command.c: Include <grub/script.h>.
36714 (grub_command_execute): Rewritten.
36715
36716 * util/grub-emu.c (main): Call `grub_test_init' and
36717 `grub_test_fini'.
36718
36719 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
36720
36721 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
36722 to 0.
36723 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
36724 there are no pending characters.
36725
36726 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
36727
36728 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
36729 `grub_strndup' to drop device arguments. Replace unnecessary
36730 `grub_strndup' with `grub_strdup'.
36731
36732 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
36733
36734 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
36735 `debug' environment variable has been set.
36736
36737 2005-11-02 Hollis Blanchard <hollis@penguinppc.org>
36738
36739 * Makefile.in (install-local): Use $(DATA).
36740 (uninstall): Likewise.
36741 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
36742 (sbin_UTILITIES): ... to here.
36743 (sbin_SCRIPTS): New variable.
36744 (grub_install_SOURCES): New variable.
36745 * util/powerpc/ieee1275/grub-install.in: New file.
36746 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
36747 variable.
36748 (add_segments): Call `grub_util_get_path'.
36749
36750 2005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
36751
36752 From Timothy Baldwin:
36753 * commands/ls.c (grub_ls_list_files): Close FILE with
36754 grub_file_close.
36755 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
36756
36757 2005-10-24 Marco Gerards <mgerards@xs4all.nl>
36758
36759 * include/grub/parser.h: New file.
36760
36761 * kern/parser.c: Likewise.
36762
36763 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
36764 (grub_setup_SOURCES): Likewise.
36765 (grub_probefs_SOURCES): Likewise.
36766 (grub_emu_SOURCES): Likewise.
36767 (kernel_img_HEADERS): Add `parser.h'.
36768
36769 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
36770 (grub_emu_SOURCES): Add `kern/parser.c'.
36771 (grubof_SOURCES): Likewise.
36772
36773 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
36774 (grubof_SOURCES): Add `kern/parser.c'.
36775
36776 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
36777
36778 * kern/misc.c (grub_split_cmdline): Removed function.
36779
36780 * kern/rescue.c: Include <grub/parser.h>.
36781 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
36782 of `grub_split_cmdline'.
36783
36784 * normal/command.c: Include <grub/parser.h>.
36785 (grub_command_execute): Use `grub_parser_split_cmdline' instead
36786 of `grub_split_cmdline'.
36787
36788 * normal/completion.c: Include <grub/parser.h>.
36789 (cmdline_state): New variable.
36790 (iterate_dir): End the filename with a quote depending on the
36791 command line state.
36792 (get_state): new function.
36793 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
36794 split the arguments and determine the current argument. When the
36795 argument string is not quoted, escape all spaces.
36796
36797 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
36798
36799 * normal/sparc64/setjmp.S: New file.
36800
36801 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
36802
36803 * include/grub/sparc64/libgcc.h: New file.
36804 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
36805 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
36806 normal/sparc64/setjmp.c.
36807
36808 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
36809
36810 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
36811 * kern/sparc64/cache.S: New file.
36812 * kern/sparc64/cache.c: Removed.
36813 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
36814 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
36815 -mtune=ultrasparc.
36816 (COMMON_LDFLAGS): Add -melf64_sparc.
36817 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
36818 (grubof_SOURCES): Use cache.S instead of cache.c.
36819 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
36820 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
36821 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
36822 commented though.
36823 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
36824 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
36825 (linux_mod_CFLAGS): Commented out.
36826 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
36827 out because module isn't built.
36828 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
36829 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
36830 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
36831 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
36832 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
36833 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
36834 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
36835 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
36836 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
36837 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
36838 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
36839 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
36840 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
36841 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
36842
36843 2005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
36844
36845 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
36846 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
36847 longer, because HFS should not be used on PC.
36848
36849 2005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
36850
36851 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
36852 consistently within the loop.
36853
36854 2005-10-15 Marco Gerards <mgerards@xs4all.nl>
36855
36856 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
36857 directory can not be read.
36858
36859 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
36860
36861 * configure.ac (AC_INIT): Increase the version number to 1.91.
36862
36863 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
36864 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
36865 term/i386/pc/serial.c.
36866
36867 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
36868
36869 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
36870 file size must be permitted.
36871
36872 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
36873 between %ah and %al.
36874
36875 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
36876
36877 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
36878 grub_uint64_t.
36879 Call the hook with a NUL-terminated filename.
36880 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
36881 grub_cpu_to_be32.
36882
36883 * kern/term.c (cursor_state): New variable.
36884 (grub_term_set_current): Reset the cursor state on a new
36885 terminal.
36886 (grub_setcursor): Rewritten to use CURSOR_STATE.
36887 (grub_getcursor): New function.
36888
36889 * include/grub/term.h (grub_getcursor): New prototype.
36890
36891 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
36892 integers on ARM. Reported by Timothy Baldwin
36893 <T.E.Baldwin99@members.leeds.ac.uk>.
36894
36895 2005-10-11 Marco Gerards <mgerards@xs4all.nl>
36896
36897 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
36898 allocated.
36899 (grub_sfs_dir): Likewise.
36900
36901 2005-10-09 Marco Gerards <mgerards@xs4all.nl>
36902
36903 Add support for the SFS filesystem.
36904
36905 * fs/sfs.c: New file.
36906
36907 * DISTLIST: Added `fs/sfs.c'.
36908
36909 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
36910 (grub_probefs_SOURCES): Likewise.
36911 (grub_emu_SOURCES): Likewise.
36912 (pkgdata_MODULES): Add `sfs.mod'.
36913 (sfs_mod_SOURCES): New variable.
36914 (sfs_mod_CFLAGS): Likewise.
36915 (sfs_mod_LDFLAGS): Likewise.
36916
36917 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
36918 (pkgdata_MODULES): Add `sfs.mod'.
36919 (sfs_mod_SOURCES): New variable.
36920 (sfs_mod_CFLAGS): Likewise.
36921
36922 * util/grub-emu.c (main): Call `grub_sfs_init' and
36923 `grub_sfs_fini'.
36924
36925 * include/grub/fs.h (grub_sfs_init): New prototype.
36926 (grub_sfs_fini): Likewise.
36927
36928 2005-10-07 Marco Gerards <mgerards@xs4all.nl>
36929
36930 Add support for the AFFS filesystem.
36931
36932 * fs/affs.c: New file.
36933
36934 * DISTLIST: Added `fs/affs.c'.
36935
36936 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
36937 (grub_probefs_SOURCES): Likewise.
36938 (grub_emu_SOURCES): Likewise.
36939 (pkgdata_MODULES): Add `affs.mod'.
36940 (affs_mod_SOURCES): New variable.
36941 (affs_mod_CFLAGS): Likewise.
36942 (affs_mod_LDFLAGS): Likewise.
36943
36944 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
36945 (pkgdata_MODULES): Add `affs.mod'.
36946 (affs_mod_SOURCES): New variable.
36947 (affs_mod_CFLAGS): Likewise.
36948
36949 * util/grub-emu.c (main): Call `grub_affs_init' and
36950 `grub_affs_fini'.
36951
36952 * include/grub/fs.h (grub_affs_init): New prototype.
36953 (grub_affs_fini): Likewise.
36954
36955 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
36956
36957 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
36958
36959 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
36960
36961 * configure.ac: Accept `x86_64' as host_cpu. In that case add
36962 `-m32' to CFLAGS.
36963
36964 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
36965 linking.
36966
36967 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
36968 (COMMON_LDFLAGS): New variable.
36969 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
36970 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
36971 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
36972 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
36973 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
36974 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
36975 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
36976 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
36977 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
36978 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
36979 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
36980 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
36981 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
36982 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
36983 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
36984 variables.
36985 (normal_mod_ASFLAGS): Add `-m32'.
36986
36987 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
36988 (grub_host_size_t, grub_host_ssize_t): New types.
36989 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
36990 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
36991 `GRUB_HOST_SIZEOF_VOID_P'.
36992
36993 * include/grub/kernel.h (struct grub_module_header): Type of
36994 member offset changed to `grub_host_off_t'. Type of member size
36995 changed to `grub_host_size_t'.
36996 (struct grub_module_info): Type of member offset changed to
36997 `grub_host_off_t'. Type of member size changed to
36998 `grub_host_size_t'.
36999
37000 2005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
37001
37002 Make GRUB's kernel compliant to Multiboot Specification.
37003
37004 * kern/i386/pc/startup.S (multiboot_header): New label.
37005 (multiboot_entry): Likewise.
37006 (multiboot_trampoline): Likewise.
37007
37008 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
37009 Increased to 0x4A0.
37010
37011 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
37012 put parentheses after a question mark.
37013 [!GRUB_UTIL] (my_mod): New variable.
37014
37015 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
37016
37017 2005-09-28 Marco Gerards <mgerards@xs4all.nl>
37018
37019 Adds support for the XFS filesystem. Btrees are not supported
37020 yet.
37021
37022 * fs/xfs.c: New file.
37023
37024 * DISTLIST: Added `fs/xfs.c'.
37025
37026 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
37027 (grub_probefs_SOURCES): Likewise.
37028 (grub_emu_SOURCES): Likewise.
37029 (pkgdata_MODULES): Add `xfs.mod'.
37030 (xfs_mod_SOURCES): New variable.
37031 (xfs_mod_CFLAGS): Likewise.
37032
37033 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
37034 (pkgdata_MODULES): Add `xfs.mod'.
37035 (xfs_mod_SOURCES): New variable.
37036 (xfs_mod_CFLAGS): Likewise.
37037
37038 * util/grub-emu.c (main): Call `grub_xfs_init' and
37039 `grub_xfs_fini'.
37040
37041 * include/grub/fs.h (grub_xfs_init): New prototype.
37042 (grub_xfs_fini): Likewise.
37043
37044
37045 2005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
37046
37047 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
37048 color modes, allow greater than 16 colors to be configured as
37049 a default palette.
37050
37051 2005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
37052
37053 * normal/completion.c (complete_arguments): Add the qualifier
37054 const into OPTIONS.
37055
37056 From Omniflux <omniflux+lists@omniflux.com>:
37057 * include/grub/terminfo.h: New file.
37058 * include/grub/tparm.h: Likewise.
37059 * include/grub/i386/pc/serial.h: Likewise.
37060 * term/terminfo.c: Likewise.
37061 * term/tparm.c: Likewise.
37062 * term/i386/pc/serial.c: Likewise.
37063 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
37064 serial.mod.
37065 (terminfo_mod_SOURCES): New variable.
37066 (terminfo_mod_CFLAGS): Likewise.
37067 (serial_mod_SOURCES): Likewise.
37068 (serial_mod_CFLAGS): Likewise.
37069
37070 2005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
37071
37072 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
37073 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
37074 and kern/powerpc/ieee1275/cmain.c, respectively.
37075
37076 * boot/powerpc/ieee1275/crt0.S: Moved to ...
37077 * kern/powerpc/ieee1275/crt0.S: ... here.
37078
37079 * boot/powerpc/ieee1275/cmain.c: Moved to ...
37080 * kern/powerpc/ieee1275/cmain.c: ... here.
37081
37082 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
37083 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
37084 instead of boot/powerpc/ieee1275/crt0.S and
37085 boot/powerpc/ieee1275/cmain.c, respectively.
37086
37087 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
37088 sectors. It was not used anyway.
37089
37090 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
37091
37092 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
37093 `unused parameter' warning.
37094
37095 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
37096
37097 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
37098 function.
37099 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
37100 getcharwidth.
37101
37102 2005-08-28 Marco Gerards <metgerards@student.han.nl>
37103
37104 * include/grub/normal.h (enum grub_completion_type): Added
37105 `GRUB_COMPLETION_TYPE_ARGUMENT'.
37106
37107 * normal/cmdline.c (print_completion): Handle
37108 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
37109 * normal/menu_entry.c (store_completion): Likewise.
37110
37111 * normal/completion.c (complete_arguments): New function.
37112 (grub_normal_do_completion): Call `complete_arguments' when the
37113 current words start with a dash.
37114
37115 2005-08-27 Marco Gerards <metgerards@student.han.nl>
37116
37117 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
37118 `gzio.mod' instead of `io.mod').
37119
37120 2005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
37121
37122 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
37123 (DISTDIRS): Added io and video.
37124 Rewrite the search routine to make an output consistently.
37125
37126 * DISTLIST: Added conf/sparc64-ieee1275.mk,
37127 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
37128 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
37129 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
37130 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
37131 util/powerpc/ieee1275/misc.c.
37132
37133 * include/grub/gzio.h: New file.
37134 * io/gzio.c: Likewise.
37135
37136 * kern/file.c (grub_file_close): Call grub_device_close only if
37137 FILE->DEVICE is not NULL.
37138
37139 * include/grub/mm.h [!NULL] (NULL): New macro.
37140
37141 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
37142
37143 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
37144 (pkgdata_MODULES): Added gzio.mod.
37145 (gzio_mod_SOURCES): New variable.
37146 (gzio_mod_CFLAGS): Likewise.
37147
37148 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
37149 (pkgdata_MODULES): Added gzio.mod.
37150 (gzio_mod_SOURCES): New variable.
37151 (gzio_mod_CFLAGS): Likewise.
37152
37153 * commands/cat.c: Include grub/gzio.h.
37154 (grub_cmd_cat): Use grub_gzfile_open instead of
37155 grub_file_open.
37156
37157 * commands/cmp.c: Include grub/gzio.h.
37158 (grub_cmd_cmp): Use grub_gzfile_open instead of
37159 grub_file_open.
37160
37161 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
37162 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
37163 grub_file_open.
37164 (grub_rescue_cmd_module): Likewise.
37165
37166 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
37167
37168 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
37169 kern/sparc64/ieee1275/init.c because it contains _start.
37170 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
37171
37172 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
37173
37174 * configure.ac: Add support for sparc64 host with ieee1275
37175 firmware.
37176 * configure: Generated from configure.ac.
37177 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
37178 instead of int.
37179 (grub_ofdisk_read): Likewise.
37180 (grub_ofdisk_open): Use %p to print pointer values, and cast the
37181 pointers as (void *) to remove a warning.
37182 (grub_ofdisk_close): Likewise.
37183 (grub_ofdisk_read): Likewise.
37184 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
37185 returns, so make it return void to remove a warning.
37186 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
37187 Corresponding prototype change.
37188 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
37189 values, and cast the pointers as (void *) to remove a warning.
37190 (grub_mm_dump): Likewise.
37191 * conf/sparc64-ieee1275.mk: New file.
37192 * conf/sparc64-ieee1275.rmk: Likewise.
37193 * include/grub/sparc64/setjmp.h: Likewise.
37194 * include/grub/sparc64/types.h: Likewise.
37195 * include/grub/sparc64/ieee1275/console.h: Likewise.
37196 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
37197 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
37198 * include/grub/sparc64/ieee1275/time.h: Likewise.
37199 * kern/sparc64/cache.c: Likewise.
37200 * kern/sparc64/dl.c: Likewise.
37201 * kern/sparc64/ieee1275/init.c: Likewise.
37202 * kern/sparc64/ieee1275/openfw.c: Likewise.
37203
37204 2005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
37205
37206 * util/console.c (grub_ncurses_putchar): If C is greater than
37207 0x7f, set C to a question mark.
37208 (grub_ncurses_getcharwidth): New function.
37209 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
37210 getcharwidth.
37211
37212 * normal/menu.c (print_entry): Made aware of Unicode. First,
37213 convert TITLE to UCS-4, and predict the cursor position by
37214 grub_getcharwidth.
37215
37216 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
37217 const to SRC.
37218 * kern/misc.c (grub_utf16_to_utf8): Likewise.
37219
37220 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
37221
37222 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
37223 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
37224 grub_strcat.
37225
37226 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
37227 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
37228 grub_strcpy and grub_strlen. Take it into account that a space
37229 character is inserted as a delimiter.
37230
37231 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
37232
37233 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
37234 invalid magic in the error.
37235
37236 * commands/search.c: New file.
37237
37238 * util/grub-emu.c (main): Call grub_search_init and
37239 grub_search_fini.
37240
37241 * kern/rescue.c (grub_rescue_print_disks): Removed.
37242 (grub_rescue_print_devices): New function.
37243 (grub_rescue_cmd_ls): Use grub_device_iterate with
37244 grub_rescue_print_devices instead of grub_disk_dev_iterate with
37245 grub_rescue_print_disks.
37246
37247 * kern/partition.c (grub_partition_iterate): Return the result of
37248 PARTMAP->ITERATE instead of GRUB_ERRNO.
37249
37250 * kern/device.c: Include grub/partition.h.
37251 (grub_device_iterate): New function.
37252
37253 * include/grub/partition.h (grub_partition_iterate): Return int
37254 instead of grub_err_t.
37255
37256 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
37257 prototype.
37258 [GRUB_UTIL] (grub_search_fini): Likewise.
37259
37260 * include/grub/device.h (grub_device_iterate): New prototype.
37261
37262 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
37263 commands/search.c.
37264 (pkgdata_MODULES): Added search.mod.
37265 (search_mod_SOURCES): New variable.
37266 (search_mod_CFLAGS): Likewise.
37267
37268 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
37269 (pkgdata_MODULES): Added search.mod.
37270 (search_mod_SOURCES): New variable.
37271 (search_mod_CFLAGS): Likewise.
37272
37273 * commands/ls.c (grub_ls_list_disks): Renamed to ...
37274 (grub_ls_list_devices): ... this, and use grub_device_iterate.
37275 All callers changed.
37276
37277 * DISTLIST: Added commands/search.c.
37278
37279 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
37280
37281 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
37282 conversion.
37283 (grub_getcharwidth): New function.
37284
37285 * kern/misc.c (grub_utf8_to_ucs4): New function.
37286
37287 * include/grub/term.h (struct grub_term): Added a new member
37288 "getcharwidth".
37289 (grub_getcharwidth): New prototype.
37290
37291 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
37292
37293 * term/i386/pc/console.c (map_char): New function. Segregated from
37294 grub_console_putchar.
37295 (grub_console_putchar): Use map_char.
37296 (grub_console_getcharwidth): New function.
37297 (grub_console_term): Specified grub_console_getcharwidth as
37298 getcharwidth.
37299
37300 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
37301 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
37302
37303 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
37304 GRUB_ERRNO.
37305 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
37306 on grub_strtoul completely.
37307 (write_char): Declare local variables in the beginning of the
37308 function.
37309 (grub_vesafb_getcharwidth): New function.
37310 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
37311 getcharwidth.
37312
37313 2005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
37314
37315 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
37316 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
37317 commands/i386/pc/vbetest.c.
37318
37319 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
37320 call grub_vbe_get_controller_info again, because the returned
37321 information is volatile.
37322 (grub_vbe_set_video_mode): Mostly rewritten.
37323 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
37324 grub_vbe_status_t correctly.
37325 (grub_vbe_get_video_mode_info): Likewise.
37326 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
37327 several if statements.
37328
37329 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
37330 * commands/i386/pc/vbeinfo.c: ... this.
37331
37332 * commands/i386/pc/vbe_test.c: Renamed to ...
37333 * commands/i386/pc/vbetest.c: ... this.
37334
37335 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
37336 ...
37337 (grub_cmd_vbeinfo): ... this. Save video modes before
37338 iterating. Skip a video mode, if it is not available, not enough
37339 information is given or it is monochrome. Show the memory
37340 model. Leave the interpretation of MODEVAR to grub_strtoul
37341 completely.
37342 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
37343 (GRUB_MOD_FINI): Likewise.
37344
37345 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
37346 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
37347 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
37348 duplicated grub_env_get. Leave the interpretation of MODEVAR to
37349 grub_strtoul completely.
37350 (real2pm): Removed.
37351 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
37352 (GRUB_MOD_FINI): Likewise.
37353
37354 * normal/misc.c: Include grub/mm.h.
37355
37356 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
37357 vbe_list_modes with vbetest.mod and vbeinfo.mod.
37358 (vbe_list_modes_mod_SOURCES): Removed.
37359 (vbe_list_modes_mod_CFLAGS): Likewise.
37360 (vbe_test_mod_SOURCES): Likewise.
37361 (vbe_test_mod_CFLAGS): Likewise.
37362 (vbeinfo_mod_SOURCES): New variable.
37363 (vbeinfo_mod_CFLAGS): Likewise.
37364 (vbetest_mod_SOURCES): Likewise.
37365 (vbetest_mod_CFLAGS): Likewise.
37366
37367 2005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
37368
37369 * normal/misc.c: New file.
37370
37371 * DISTLIST: Added normal/misc.c.
37372
37373 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
37374 DISK to HOOK. Call HOOK with DISK.
37375 * partmap/apple.c (apple_partition_map_iterate): Likewise.
37376 * partmap/pc.c (pc_partition_map_iterate): Likewise.
37377 * partmap/sun.c (sun_partition_map_iterate): Likewise.
37378
37379 * normal/menu_entry.c (struct screen): Added a new member
37380 "completion_shown".
37381 (completion_buffer): New global variable.
37382 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
37383 (store_completion): New function.
37384 (complete): Likewise.
37385 (clear_completions): Likewise.
37386 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
37387 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
37388 a tab, call complete.
37389
37390 * normal/completion.c (disk_dev): Removed.
37391 (print_simple_completion): Likewise.
37392 (print_partition_completion): Likewise.
37393 (print_func): New global variable.
37394 (add_completion): Do not take the arguments WHAT or PRINT any
37395 longer. Added a new argument TYPE. Instead of printing directly,
37396 call PRINT_FUNC if not NULL.
37397 All callers changed.
37398 (complete_device): Use a local variable DEV instead of
37399 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
37400 (grub_normal_do_completion): Take a new argument HOOK. Do not
37401 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
37402 empty string, return NULL instead.
37403 All callers changed.
37404
37405 * normal/cmdline.c (print_completion): New function.
37406
37407 * kern/partition.c (grub_partition_iterate): Add an argument DISK
37408 to HOOK.
37409 All callers changed.
37410
37411 * kern/disk.c (grub_print_partinfo): Removed.
37412
37413 * include/grub/partition.h (struct grub_partition_map): Add a new
37414 argument DISK into HOOK of ITERATE.
37415 (grub_partition_iterate): Add a new argument DISK to HOOK.
37416
37417 * include/grub/normal.h (enum grub_completion_type): New enum.
37418 (grub_completion_type_t): New type.
37419 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
37420 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
37421 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
37422 (GRUB_COMPLETION_TYPE_FILE): Likewise.
37423 (grub_normal_do_completion): Added a new argument HOOK.
37424 (grub_normal_print_device_info): New prototype.
37425
37426 * include/grub/disk.h (grub_print_partinfo): Removed.
37427
37428 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
37429 (normal_mod_SOURCES): Likewise.
37430 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37431 (normal_mod_SOURCES): Likewise.
37432
37433 * commands/ls.c (grub_ls_list_disks): Use
37434 grub_normal_print_device_info instead of grub_print_partinfo. Free
37435 PNAME.
37436 (grub_ls_list_files): Use grub_normal_print_device_info instead of
37437 duplicating the code.
37438
37439 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
37440
37441 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
37442 follow GCS more precisely.
37443 * commands/i386/pc/vbe_test.c: Likewise.
37444 * include/grub/i386/pc/vbe.h: Likewise.
37445 * term/i386/pc/vesafb.c: Likewise.
37446 * video/i386/pc/vbe.c: Likewise.
37447
37448 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
37449
37450 * DISTLIST: Added term/i386/pc/vesafb.c
37451 DISTLIST: Added video/i386/pc/vbe.c
37452 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
37453 DISTLIST: Added commands/i386/pc/vbe_test.c.
37454 * commands/i386/pc/vbe_list_modes.c: New file.
37455 * commands/i386/pc/vbe_test.c: Likewise.
37456 * term/i386/pc/vesafb.c: Likewise.
37457 * video/i386/pc/vbe.c: Likewise.
37458 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
37459 (grub_vbe_probe) Added prototype.
37460 (grub_vbe_set_video_mode) Likewise.
37461 (grub_vbe_get_video_mode) Likewise.
37462 (grub_vbe_get_video_mode_info) Likewise.
37463 (grub_vbe_set_pixel_rgb) Likewise.
37464 (grub_vbe_set_pixel_index) Likewise.
37465 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
37466 (pkgdata_MODULES): Added vesafb.mod.
37467 (pkgdata_MODULES): Added vbe_list_modes.mod.
37468 (pkgdata_MODULES): Added vbe_test.mod.
37469 (vbe_mod_SOURCES): Added.
37470 (vbe_mod_CFLAGS): Likewise.
37471 (vesafb_mod_SOURCES): Likewise.
37472 (vesafb_mod_CFLAGS): Likewise.
37473 (vbe_list_modes_mod_SOURCES): Likewise.
37474 (vbe_list_modes_mod_CFLAGS): Likewise.
37475 (vbe_test_mod_SOURCES): Likewise.
37476 (vbe_test_mod_CFLAGS): Likewise.
37477
37478 2005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
37479
37480 * normal/command.c (grub_command_execute): If INTERACTIVE is
37481 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
37482 CMDLINE. Disable the pager if INTERACTIVE is true.
37483 All callers are changed.
37484
37485 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
37486 before reading a config file.
37487 * normal/main.c (read_config_file): Even if a command is not
37488 found, register it if it is within an entry.
37489
37490 * util/grub-emu.c: Include sys/types.h and unistd.h.
37491 (options): Added --hold.
37492 (struct arguments): Added a new member "hold".
37493 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
37494 missing.
37495 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
37496 cleared by a debugger, if it is not zero.
37497
37498 * include/grub/normal.h (grub_command_execute): Add an argument
37499 INTERACTIVE.
37500
37501 2005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
37502
37503 * DISTLIST: Added include/grub/i386/pc/vbe.h.
37504
37505 2005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
37506
37507 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
37508 program with another one, because the old one didn't detect a bug
37509 in gcc-3.4. Always use regparm 2, because the new test is still
37510 not enough for gcc-4.0. Someone must investigate a simple test
37511 case which detects a bug in gcc-4.0.
37512
37513 2005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
37514
37515 * DISTLIST: Added normal/completion.c.
37516
37517 * normal/completion.c: New file.
37518
37519 * term/i386/pc/console.c (grub_console_getwh): New function.
37520 (grub_console_term): Assign grub_console_getwh to getwh.
37521
37522 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
37523 function is defined in normal/completion.c as
37524 grub_normal_do_completion.
37525 (grub_cmdline_get): Use grub_normal_do_completion instead of
37526 grub_tab_complete.
37527
37528 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
37529 returns non-zero, otherwise return 0.
37530 (grub_partition_iterate): First, probe the partition map. Then,
37531 call ITERATE only for this partition map.
37532
37533 * kern/misc.c (grub_strncmp): Rewritten.
37534
37535 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
37536 returns non-zero. Otherwise return 0.
37537
37538 * include/grub/partition.h (grub_partition_map_iterate): Return
37539 int instead of void.
37540
37541 * include/grub/normal.h (grub_normal_do_completion): New prototype.
37542
37543 * include/grub/misc.h (grub_strncmp): Change the type of N to
37544 grub_size_t.
37545
37546 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
37547 of void.
37548
37549 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
37550 unsigned explicitly before comparing it with I.
37551
37552 * kern/main.c (grub_env_write_root): Add the attribute unused into
37553 VAR.
37554
37555 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
37556 normal/completion.c.
37557 (normal_mod_SOURCES): Likewise.
37558 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
37559 (normal_mod_SOURCES): Likewise.
37560
37561 * normal/command.c (grub_iterate_commands): If ITERATE returns
37562 non-zero, return one immediately.
37563
37564 2005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
37565
37566 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
37567 * kern/i386/pc/startup.S: Updated Global Descriptor table's
37568 descriptions.
37569 (grub_vbe_get_controller_info): New function.
37570 (grub_vbe_get_mode_info): Likewise.
37571 (grub_vbe_set_mode): Likewise.
37572 (grub_vbe_get_mode): Likewise.
37573 (grub_vbe_set_memory_window): Likewise.
37574 (grub_vbe_get_memory_window): Likewise.
37575 (grub_vbe_set_scanline_length): Likewise.
37576 (grub_vbe_get_scanline_length): Likewise.
37577 (grub_vbe_set_display_start): Likewise.
37578 (grub_vbe_get_display_start): Likewise.
37579 (grub_vbe_set_palette_data): Likewise.
37580 * include/grub/i386/pc/vbe.h: New file.
37581
37582 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
37583
37584 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
37585 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
37586 * DISTLIST: Likewise.
37587 * kern/ieee1275/of.c: Moved to ...
37588 * kern/ieee1275/ieee1275.c: ... here.
37589
37590 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
37591
37592 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
37593 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
37594 Pass 0 as `end' parameter to grub_strtoul().
37595
37596 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
37597
37598 * include/grub/powerpc/ieee1275/console.h: Do not include
37599 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
37600 ifdef.
37601 (grub_console_cur_color): Remove i386-specific prototype.
37602 (grub_console_real_putchar): Likewise.
37603 (grub_console_checkkey): Likewise.
37604 (grub_console_getkey): Likewise.
37605 (grub_console_getxy): Likewise.
37606 (grub_console_gotoxy): Likewise.
37607 (grub_console_cls): Likewise.
37608 (grub_console_setcursor): Likewise.
37609 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
37610 Include <grub/machine/console.h>.
37611 * term/ieee1275/ofconsole.c: Likewise.
37612
37613 2005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
37614
37615 * Makefile.in (LIBLZO): New variable.
37616
37617 * configure.ac: Check for LZO version 2.
37618
37619 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
37620 lzo/lzo1x.h instead of lzo1x.h.
37621
37622 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
37623 of -llzo.
37624
37625 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
37626 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
37627
37628 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
37629 copying the data from PARTITION to P.
37630
37631 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
37632
37633 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
37634 negative, unload the module.
37635
37636 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
37637 map is "pc_partition_map" but not "pc".
37638 (usage): Fix the description. The options are --boot-image and
37639 --core-image but not --boot-file or --core-file.
37640 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
37641 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
37642 DEFAULT_DIRECTORY.
37643
37644 * util/i386/pc/grub-install.in: Do not specify --boot-file or
37645 --core-file. Specify INSTALL_DEVICE as an argument.
37646
37647 * util/console.c: Include config.h.
37648 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
37649 [HAVE_NCURSES_H]: Include ncurses.h.
37650 [HAVE_CURSES_H]: Include curses.h.
37651 [!A_NORMAL] (A_NORMAL): Defined as zero.
37652 [!A_STANDOUT] (A_STANDOUT): Likewise.
37653
37654 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
37655 -lncurses.
37656 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
37657
37658 * configure.ac: Check for curses libraries and headers.
37659
37660 * Makefile.in (LIBCURSES): New variable.
37661
37662 * genmk.rb (Script::rule): Set the executable bits.
37663
37664 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
37665 name of the PC partition map is "pc_partition_map" but not "pc".
37666
37667 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
37668
37669 * util/i386/pc/grub-install.in (grub_probefs): New variable.
37670 (modules): Likewise.
37671 (usage): Added descriptions for --modules and --grub-probefs.
37672 Handle --modules and --grub-probefs. Save the arguments in MODULES
37673 and GRUB_PROBEFS, respectively.
37674 Auto-detect a filesystem module against GRUBDIR. If the result is
37675 empty and modules are not specified explicitly, abort the
37676 installation. Add the result to MODULES.
37677
37678 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
37679 disk/powerpc/ieee1275/ofdisk.c,
37680 include/grub/powerpc/ieee1275/init.h and
37681 term/powerpc/ieee1275/ofconsole.c.
37682 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
37683 term/ieee1275/ofconsole.c.
37684
37685 * include/grub/powerpc/ieee1275/console.h: Resurrected.
37686
37687 * COPYING: Upgraded to the latest version. Only the address of the
37688 FSF office has changed.
37689
37690 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
37691
37692 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
37693 kern/ieee1275.c with kern/ieee1275/of.c.
37694
37695 * kern/ieee1275.c: Moved to ...
37696 * kern/ieee1275/of.c: ... here.
37697
37698 2005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
37699
37700 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
37701 readability.
37702
37703 * config.guess: Updated to the latest version from gnulib.
37704 * config.sub: Likewise.
37705 * install.sh: Likewise.
37706 * mkinstalldirs: Likewise.
37707
37708 * include/grub/console.h: Removed. This file is arch-specific. Do
37709 not put this in include/grub.
37710
37711 * include/grub/i386/pc/console.h: Resurrected.
37712
37713 * util/console.c: Include grub/machine/console.h instead of
37714 grub/console.h.
37715 * util/grub-emu.c: Likewise.
37716
37717 2005-08-04 Marco Gerards <metgerards@student.han.nl>
37718
37719 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
37720 hardcoded value.
37721
37722 From Vincent Pelletier <subdino2004@yahoo.fr>
37723 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
37724 Redefined to use grub_getwh.
37725 (grub_term): New member named getwh.
37726 (grub_getwh): New prototype.
37727 * kern/term.c (grub_getwh): New function.
37728 * term/i386/pc/console.c (grub_console_getwh): New function.
37729 (grub_console_term): New member `getwh'.
37730 * term/i386/pc/vga.c (grub_vga_getwh): New function.
37731 (grub_vga_term): New member `getwh'.
37732 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
37733 grub_ssize_t.
37734 (grub_ofconsole_getw): New function.
37735 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
37736 (grub_ofconsole_term): New field named getwh and new initial
37737 value.
37738
37739 2005-08-03 Hollis Blanchard <hollis@penguinppc.org>
37740
37741 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
37742 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
37743 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
37744 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
37745 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
37746 of <grub/machine/ieee1275.h>.
37747 * commands/ieee1275/reboot.c: Likewise.
37748 * boot/powerpc/ieee1275/ieee1275.c: Move ...
37749 * kern/ieee1275.c: ... to here. All users updated. Change all
37750 parameter structs to use new type `grub_ieee1275_cell_t'.
37751 * term/powerpc/ieee1275/ofconsole.c: Move ...
37752 * term/ieee1275/ofconsole.c: ... to here. All users updated.
37753 * disk/powerpc/ieee1275/ofdisk.c: Move ...
37754 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
37755 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
37756 to return int.
37757 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
37758 Remove unused prototypes. All users updated.
37759 * include/grub/powerpc/ieee1275/console.h: Removed.
37760 * include/grub/powerpc/ieee1275/ieee1275.h: Define
37761 `grub_ieee1275_cell_t'.
37762 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
37763 Cast comparisons with -1 to the correct type.
37764 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
37765 type to match `grub_ieee1275_entry_fn'.
37766
37767 2005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
37768
37769 * DISTLIST: Added util/i386/pc/grub-probefs.c.
37770
37771 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
37772 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
37773 partmap/sun.c.
37774 (grub_probefs_SOURCES): New variable.
37775
37776 * util/i386/pc/grub-probefs.c: New file.
37777
37778 * util/i386/pc/grub-setup.c (main): Call
37779 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
37780 grub_hfs_init and grub_jfs_init to initialize the system. Call
37781 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
37782 grub_pc_partition_map_fini to finish the system.
37783
37784 2005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
37785
37786 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
37787 function.
37788 (grub_multiboot_load_elf32): Likewise.
37789 (grub_multiboot_is_elf64): Likewise.
37790 (grub_multiboot_load_elf64): Likewise.
37791 (grub_multiboot_load_elf): Likewise.
37792 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
37793 an ELF32 or ELF64 file.
37794 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
37795
37796 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
37797 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
37798 NULL before calling FS->LABEL.
37799 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
37800 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
37801 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
37802 before calling FS->LABEL.
37803
37804 2005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
37805
37806 * util/i386/pc/grub-install.in (datadir): New variable.
37807 (libdir): Removed.
37808 (pkgdatadir): New variable.
37809 (pkglibdir): Removed.
37810
37811 2005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
37812
37813 * DISTLIST: Added util/i386/pc/grub-install.in.
37814
37815 * util/i386/pc/grub-install.in: New file.
37816
37817 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
37818 (grub_install_SOURCES): Likewise.
37819
37820 * genmk.rb: Added support for scripts.
37821 (Script): New class.
37822 (scripts): New variable.
37823
37824 * Makefile.in (install-local): Install sbin_SCRIPTS by
37825 INSTALL_SCRIPT.
37826 (uninstall): Remove sbin_SCRIPTS.
37827
37828 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
37829 device, try to get a GRUB device by
37830 grub_util_biosdisk_get_grub_dev.
37831 Free DEST_DEV.
37832
37833 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
37834 description for --device-map.
37835
37836 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
37837
37838 Change the semantics of variable hooks. They now return strings
37839 instead of error values.
37840
37841 * util/i386/pc/grub-setup.c: Include grub/env.h.
37842 (setup): Use grub_device_set_root instead of grub_env_set.
37843
37844 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
37845 grub_env_get instead of grub_device_set_root and
37846 grub_device_get_root, respectively.
37847
37848 * kern/main.c (grub_env_write_root): New function.
37849 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
37850 grub_env_set instead of grub_device_set_root.
37851
37852 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
37853 many variables.
37854 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
37855 rather than calling ENV->WRITE_HOOK afterwards.
37856 (grub_env_get): Return the result of ENV->READ_HOOK rather than
37857 passing a pointer of a pointer.
37858 (grub_register_variable_hook): Change the types of "read_hook" and
37859 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
37860 respectively.
37861 Allocate the default empty string on the heap, because this string
37862 may be freed later.
37863
37864 * kern/device.c: Include grub/env.h.
37865 (grub_device_set_root): Removed.
37866 (grub_device_get_root): Likewise.
37867 (grub_device_open): Use grub_env_get instead of
37868 grub_device_get_root.
37869
37870 * include/grub/env.h (grub_env_read_hook_t): New type.
37871 (grub_env_write_hook_t): Likewise.
37872 (grub_env_var): Change the types of "read_hook" and "write_hook"
37873 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
37874 (grub_register_variable_hook): Likewise.
37875
37876 * include/grub/device.h (grub_device_set_root): Removed.
37877 (grub_device_set_root): Likewise.
37878
37879 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
37880 make sure that DIRNAME terminates with '/', so that
37881 grub_fat_find_dir will fail if PATH is not a directory.
37882
37883 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
37884 from DIRNAME.
37885 Use the qualifier auto for print_files and print_files_long.
37886 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
37887 as a regular file.
37888 Put a newline only if there is no error.
37889 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
37890 used.
37891
37892 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
37893
37894 * kern/partition.c (grub_partition_probe): Initialize PART to
37895 NULL. Otherwise, when no partition map is registered, this returns
37896 a garbage.
37897
37898 2005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
37899
37900 * partmap/apple.c (apple_partition_map_iterate): Check if POS
37901 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
37902 valid.
37903
37904 2005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
37905
37906 * commands/ls.c (grub_ls_list_disks): Print the filesystem
37907 information on each device, if it does not have partitions. Print
37908 "Device" instead of "Disk", because this function is not specific
37909 to disk devices.
37910
37911 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
37912 static to ensure that it is put on the memory rather than a
37913 register.
37914
37915 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
37916
37917 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
37918 (grub_cat_init): Likewise.
37919 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
37920 (options): Likewise.
37921 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
37922 (grub_configfile_init): Likewise.
37923 * font/manager.c (GRUB_MOD_INIT): Likewise.
37924 * commands/help.c (GRUB_MOD_INIT): Likewise.
37925 (grub_help_init): Likewise.
37926 * normal/command.c (grub_command_init): Likewise.
37927 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
37928 * disk/loopback.c (grub_loop_init): Likewise.
37929 (GRUB_MOD_INIT): Likewise.
37930 * commands/ls.c (grub_ls_init): Likewise.
37931 (GRUB_MOD_INIT): Likewise.
37932 (options): Likewise.
37933 * commands/boot.c (grub_boot_init): Likewise.
37934 (GRUB_MOD_INIT): Likewise.
37935 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
37936 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
37937 (GRUB_MOD_INIT): Likewise.
37938 * commands/cmp.c (grub_cmp_init): Likewise.
37939 (GRUB_MOD_INIT): Likewise.
37940
37941 * normal/arg.c: Use <> instead of "" to include header files.
37942 (SHORT_ARG_HELP): New macro.
37943 (SHORT_ARG_USAGE): Likewise.
37944 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
37945 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
37946 descriptions.
37947 (find_short): Check if C is 'h' or 'u' explicitly.
37948 (grub_arg_show_help): Use space characters instead of tabs. Treat
37949 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
37950 are shown with --help and --usage only if they are not used for
37951 the command itself.
37952 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
37953 'h' and 'u'.
37954
37955 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
37956 const into "longarg". Change the type of "shortarg" to int.
37957
37958 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
37959
37960 * boot/i386/pc/boot.S (boot_drive_check): New label.
37961
37962 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
37963 macro.
37964
37965 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
37966 which do not pass a boot drive correctly. Copied from GRUB Legacy.
37967
37968 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
37969
37970 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
37971 When turning off Gate A20, skip the check and return immediately,
37972 because this is not fatal usually.
37973
37974 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
37975
37976 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
37977 be 0x7C00 instead of 0x8000.
37978
37979 * boot/i386/pc/pxeboot.S: Rewritten.
37980
37981 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
37982 EXT_C.
37983 (gate_a20_check_state): Read a byte from 0x108000. Invert the
37984 result.
37985
37986 2005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
37987
37988 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
37989 robustness. This routine now supports a BIOS call and System
37990 Control Port A to modify the gate A20.
37991
37992 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
37993 Increased to 0x440.
37994
37995 2005-07-12 Hollis Blanchard <hollis@penguinppc.org>
37996
37997 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
37998 device path and resulting ihandle.
37999 (grub_ofdisk_close): dprintf the ihandle being closed.
38000 (grub_ofdisk_read): dprintf function parameters.
38001 * kern/mm.c (grub_mm_init_region): Likewise.
38002 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
38003 (grub_linux_boot): dprintf the Linux entry point, initrd address and
38004 size, and boot arguments.
38005 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
38006 before loading into memory.
38007 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
38008 before loading into memory.
38009
38010 2005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
38011
38012 * kern/mm.c: Added much documentation.
38013 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
38014 8, set to 5 instead of 8.
38015
38016 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
38017
38018 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
38019
38020 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
38021 (grub_mkdevicemap_SOURCES): New variable.
38022
38023 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
38024 lib/device.c of GRUB Legacy.
38025
38026 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
38027
38028 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
38029 instead of PATH is NULL.
38030
38031 2005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
38032
38033 * commands/cmp.c (BUFFER_SIZE): New macro.
38034 (grub_cmd_cmp): Close the right file at the right time. Compare
38035 only data just read. Don't report files of different size as
38036 identical. Dynamically allocate buffers. Move variable
38037 declarations at the beginning of function.
38038
38039 2005-07-09 Yoshinori Okuji <okuji@enbug.org>
38040
38041 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
38042 reverse.
38043
38044 2004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
38045
38046 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
38047 when backspace is pressed at beginning of line.
38048
38049 2005-07-03 Yoshinori Okuji <okuji@enbug.org>
38050
38051 * DISTLIST: Added genfslist.sh.
38052
38053 * normal/main.c (fs_module_list): New variable.
38054 (autoload_fs_module): New function.
38055 (read_fs_list): Likewise.
38056 (grub_normal_execute): Call read_fs_list.
38057
38058 * kern/fs.c (grub_fs_autoload_hook): New variable.
38059 (grub_fs_probe): Added support for auto-loading.
38060
38061 * include/grub/normal.h (struct grub_fs_module_list): New struct.
38062 (grub_fs_module_list_t): New type.
38063
38064 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
38065 (grub_fs_autoload_hook): New prototype.
38066
38067 * genfslist.sh: New file.
38068
38069 * genmk.rb: Added a rule to generate a filesystem list.
38070
38071 2005-06-30 Marco Gerards <metgerards@student.han.nl>
38072
38073 * configure.ac: Fix the test for cross-compiling.
38074
38075 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
38076 define GRUB_UTIL anymore.
38077
38078 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
38079 so this function works on other systems than just big endian.
38080 (load_modules): Likewise.
38081 (add_segments): Likewise.
38082
38083 2005-06-23 Hollis Blanchard <hollis@penguinppc.org>
38084
38085 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
38086 contains `l' modifier, get a long from va_arg().
38087
38088 2005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
38089
38090 * kern/mm.c (grub_free): If the next free block which is being
38091 merged is the first free block, set the first block to the block
38092 being freed.
38093 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
38094
38095 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
38096
38097 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
38098 `grub_ieee1275_chosen'.
38099
38100 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
38101
38102 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
38103 (grub_ieee1275_chosen): New variable.
38104 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
38105 `chosen'.
38106 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
38107 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
38108 Rename first argument to `phandle' for consistency.
38109 (grub_ieee1275_get_property_length): Likewise.
38110 (grub_ieee1275_next_property): Likewise. Change type of first argument
38111 to grub_ieee1275_phandle_t.
38112 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
38113 Move export next to declaration.
38114 (grub_ieee1275_chosen): New variable.
38115 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
38116 Correct cosmetic typo.
38117 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
38118 `grub_ieee1275_chosen'.
38119 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
38120 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
38121 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
38122 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
38123 `grub_ieee1275_chosen'.
38124
38125 2005-05-10 Hollis Blanchard <hollis@penguinppc.org>
38126
38127 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
38128 /chosen/bootargs.
38129 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
38130 /chosen/bootargs as "variable=value" pairs.
38131
38132 2005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
38133
38134 * include/grub/misc.h (grub_dprintf): New macro.
38135 (grub_real_dprintf): New prototype.
38136 (grub_strword): Likewise.
38137 (grub_iswordseparator): Likewise.
38138 * kern/misc.c (grub_real_dprintf): New function.
38139 (grub_strword): Likewise.
38140 (grub_iswordseparator): Likewise.
38141
38142 2005-04-30 Hollis Blanchard <hollis@penguinppc.org>
38143
38144 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
38145 (roundup): Remove macro.
38146 (grub_ieee1275_flags): Make static.
38147 (grub_ieee1275_realmode): Remove.
38148 (grub_ieee1275_test_flag): New function.
38149 (grub_ieee1275_set_flag): Likewise.
38150 (find_options): Rename to `grub_ieee1275_find_options'; update
38151 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
38152 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
38153 (cmain): New prototype.
38154 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
38155 `grub_ieee1275_flags' directly.
38156 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
38157 machine/biosdisk.h.
38158 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
38159 Don't include grub/machine/init.h.
38160 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
38161 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
38162 Remove prototype.
38163 (grub_ieee1275_realmode): Likewise.
38164 (grub_ieee1275_flag): New enum.
38165 (grub_ieee1275_test_flag): New prototype.
38166 (grub_ieee1275_set_flag): New prototype.
38167 * include/grub/powerpc/ieee1275/init.h: Remove file.
38168 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
38169 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
38170 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
38171 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
38172 comment.
38173 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
38174 `grub_ieee1275_test_flag'.
38175 (grub_ieee1275_encode_devname): Likewise.
38176
38177 2005-04-21 Hollis Blanchard <hollis@penguinppc.org>
38178
38179 * include/grub/powerpc/ieee1275/ieee1275.h
38180 (grub_ieee1275_encode_devname): New prototype.
38181 (grub_ieee1275_get_filename): Likewise.
38182 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
38183 function.
38184 (grub_set_prefix): Likewise.
38185 (grub_machine_init): Call grub_set_prefix.
38186 * kern/powerpc/ieee1275/openfw.c: Fix typos.
38187 (grub_parse_type): New enum.
38188 (grub_ieee1275_get_devargs): New function.
38189 (grub_ieee1275_get_devname): Likewise.
38190 (grub_ieee1275_parse_args): Likewise.
38191 (grub_ieee1275_get_filename): Likewise.
38192 (grub_ieee1275_encode_devname): Likewise.
38193
38194 2005-03-30 Marco Gerards <metgerards@student.han.nl>
38195
38196 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
38197 `grub_loader_unset'.
38198
38199 2005-03-26 Hollis Blanchard <hollis@penguinppc.org>
38200
38201 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
38202 instead of grub_ieee1275_interpret.
38203 (grub_halt_init): New function.
38204 (grub_halt_fini): Likewise.
38205 (GRUB_MOD_INIT): Correct message grammar.
38206 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
38207 instead of grub_ieee1275_interpret.
38208 (grub_reboot_init): New function.
38209 (grub_reboot_fini): Likewise.
38210 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
38211 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
38212 util/i386/pc/misc.c with commands/ieee1275/halt.c,
38213 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
38214 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
38215 function.
38216 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
38217 Add prototype.
38218 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
38219 prototype.
38220 (grub_halt): Likewise.
38221 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
38222 (cmain): Remove __attribute__((unused)).
38223 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
38224 (grub_heap_len): Likewise.
38225 (grub_machine_fini): New function.
38226 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
38227 (grub_halt): Likewise.
38228 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
38229 function.
38230 * util/powerpc/ieee1275/misc.c: New file.
38231
38232 2005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
38233
38234 * DISTLIST: New file.
38235 * gendistlist.sh: Likewise.
38236
38237 * Makefile.in (COMMON_DISTFILES): Removed.
38238 (BOOT_DISTFILES): Likewise.
38239 (CONF_DISTFILES): Likewise.
38240 (DISK_DISTFILES): Likewise.
38241 (FS_DISTFILES): Likewise.
38242 (INCLUDE_DISTFILES): Likewise.
38243 (KERN_DISTFILES): Likewise.
38244 (LOADER_DISTFILES): Likewise.
38245 (TERM_DISTFILES): Likewise.
38246 (UTIL_DISTFILES): Likewise.
38247 (DISTFILES): Likewise.
38248 (uninstall): Uninstall files in $(pkgdata_DATA).
38249 (DISTLIST): New target.
38250 (distdir): Use the contents of the file DISTLIST to get a list of
38251 distributed files.
38252
38253 2005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
38254
38255 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
38256 descriptor. This is ported from GRUB Legacy.
38257
38258 * gencmdlist.sh: Added an extra semicolon to make it work with
38259 old sed versions. Reported by Robert Bihlmeyer
38260 <robbe@orcus.priv.at>.
38261
38262 2005-03-08 Yoshinori Okuji <okuji@enbug.org>
38263
38264 Automatic loading of commands is supported.
38265
38266 * normal/main.c (read_command_list): New function.
38267 (grub_normal_execute): Call read_command_list.
38268
38269 * normal/command.c (grub_register_command): Return zero or CMD.
38270 Allocate CMD->NAME from the heap.
38271 Initialize CMD->MODULE_NAME to zero.
38272 Find the same name as well. If the same command is found and it is
38273 a dummy command, overwrite members. If it is not a dummy command,
38274 return zero.
38275 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
38276 (grub_command_find): If a dummy command is found, load a module
38277 and retry to find a command only once.
38278
38279 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
38280 make sure that each command is loaded.
38281
38282 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
38283 macro.
38284 (struct grub_command): Remove const from the member `name'.
38285 Add a new member `module_name'.
38286 (grub_register_command): Return grub_command_t.
38287
38288 * commands/help.c (grub_cmd_help): Call grub_command_find to make
38289 sure that each command is loaded.
38290
38291 * genmk.rb (PModule::rule): Specify a module name without the
38292 suffix ".mod" to gencmdlist.sh.
38293
38294 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
38295
38296 * gencmdlist.sh: New file.
38297
38298 * genmk.rb (PModule::rule): Generate a rule for a command list.
38299 Clean command.lst.
38300 Generate command.lst from $(COMMANDFILES).
38301
38302 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
38303 (DATA): Added $(pkgdata_DATA).
38304 (install-local): Install files in $(pkgdata_DATA).
38305
38306 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
38307
38308 * term/i386/pc/vga.c (debug_command): Removed.
38309 (GRUB_MOD_INIT): Do not register the command "debug".
38310
38311 From Hollis Blanchard:
38312 * commands/configfile.c: New file.
38313 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
38314 commands/configfile.c.
38315 (pkgdata_MODULES): Added configfile.mod.
38316 (configfile_mod_SOURCES): New variable.
38317 (configfile_mod_CFLAGS): Likewise.
38318 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
38319 commands/configfile.c.
38320 (pkgdata_MODULES): Added configfile.mod.
38321 (configfile_mod_SOURCES): New variable.
38322 (configfile_mod_CFLAGS): Likewise.
38323 * util/grub-emu.c (main): Call grub_configfile_init and
38324 grub_configfile_fini.
38325 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
38326 prototype.
38327 [GRUB_UTIL] (grub_configfile_fini): Likewise.
38328
38329 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
38330
38331 * normal/arg.c (grub_arg_show_help): Do not show the bug report
38332 address.
38333
38334 * commands/help.c (grub_cmd_help): Do not print newlines after
38335 the last command in print_command_help.
38336
38337 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
38338
38339 * commands/default.h: New file.
38340 * commands/timeout.h: Likewise.
38341 * normal/context.c: Likewise.
38342
38343 * util/misc.c: Do not include sys/times.h.
38344 Include sys/time.h and grub/machine/time.h.
38345 (grub_get_rtc): Rewritten with gettimeofday.
38346
38347 * util/grub-emu.c (main): Call grub_default_init and
38348 grub_timeout_init before grub_normal_init, and call
38349 grub_timeout_fini and grub_default_fini after grub_main.
38350
38351 * util/console.c (grub_ncurses_checkkey): Return the read
38352 character or -1.
38353
38354 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
38355 timeouts.
38356
38357 * normal/main.c (read_config_file): Push MENU. If this fails,
38358 print an error and wait for a user input.
38359 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
38360 If a menu is empty or an error occurs, pop MENU.
38361 (grub_normal_execute): Pop and free MENU after grub_menu_run
38362 returns.
38363
38364 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
38365
38366 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
38367 include time.h.
38368 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
38369 without GRUB_UTIL.
38370 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
38371 time.h.
38372 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
38373 without GRUB_UTIL.
38374
38375 * include/grub/normal.h (struct grub_menu_list): New struct.
38376 (grub_menu_list_t): New type.
38377 (struct grub_context): New struct.
38378 (grub_context_t): New type.
38379 (grub_register_command): Got rid of EXPORT_FUNC.
38380 (grub_unregister_command): Likewise.
38381 (grub_context_get): New prototype.
38382 (grub_context_get_current_menu): Likewise.
38383 (grub_context_push_menu): Likewise.
38384 (grub_context_pop_menu): Likewise.
38385 [GRUB_UTIL] (grub_default_init): Likewise.
38386 [GRUB_UTIL] (grub_default_fini): Likewise.
38387 [GRUB_UTIL] (grub_timeout_init): Likewise.
38388 [GRUB_UTIL] (grub_timeout_fini): Likewise.
38389
38390 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
38391 commands/timeout.c and normal/context.c.
38392 (pkgdata_MODULES): Added default.mod and timeout.mod.
38393 (normal_mod_SOURCES): Added normal/context.c.
38394 (default_mod_SOURCES): New variable.
38395 (default_mod_CFLAGS): Likewise.
38396 (timeout_mod_SOURCES): Likewise.
38397 (timeout_mod_CFLAGS): Likewise.
38398 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
38399 conf/i386-pc.rmk.
38400 (pkgdata_MODULES): Added default.mod and timeout.mod.
38401 (normal_mod_SOURCES): Added normal/context.c.
38402 (default_mod_SOURCES): New variable.
38403 (default_mod_CFLAGS): Likewise.
38404 (timeout_mod_SOURCES): Likewise.
38405 (timeout_mod_CFLAGS): Likewise.
38406
38407 * Makefile.in (all-local): Added $(MKFILES).
38408
38409 2005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
38410
38411 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
38412 (grub_emu_SOURCES): Likewise.
38413 (pkgdata_MODULES): Add `sun.mod'.
38414 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
38415 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
38416 `partmap/sun.c'.
38417 (pkgdata_MODULES): Add `sun.mod'.
38418 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
38419 * include/grub/partition.h (grub_sun_partition_map_init): New
38420 prototype.
38421 (grub_sun_partition_map_fini): Likewise.
38422 * partmap/sun.c: New file.
38423 * util/grub-emu.c (main): Initialize and de-initialize the sun
38424 partitionmap support.
38425
38426 2005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
38427
38428 This implements an Emacs-like menu entry editor.
38429
38430 * normal/menu_entry.c: New file.
38431
38432 * util/console.c (grub_ncurses_putchar): Translate some Unicode
38433 characters to ASCII.
38434 (saved_char): New variable.
38435 (grub_ncurses_checkkey): Rewritten completely.
38436 (grub_ncurses_getkey): Likewise.
38437 (grub_ncurses_init): Call raw instead of cbreak.
38438
38439 * normal/menu.c (print_entry): Do not put a space.
38440 (init_page): Renamed to ...
38441 (grub_menu_init_page): ... this. All callers changed.
38442 (edit_menu_entry): Removed.
38443 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
38444
38445 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
38446
38447 * kern/misc.c (grub_vprintf): Call grub_refresh.
38448
38449 * normal/menu.c (DISP_LEFT): Renamed to ...
38450 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
38451 * normal/menu.c (DISP_UP): Renamed to ...
38452 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
38453 * normal/menu.c (DISP_RIGHT): Renamed to ...
38454 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
38455 * normal/menu.c (DISP_DOWN): Renamed to ...
38456 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
38457 * normal/menu.c (DISP_HLINE): Renamed to ...
38458 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
38459 * normal/menu.c (DISP_VLINE): Renamed to ...
38460 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
38461 * normal/menu.c (DISP_UL): Renamed to ...
38462 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
38463 * normal/menu.c (DISP_UR): Renamed to ...
38464 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
38465 * normal/menu.c (DISP_LL): Renamed to ...
38466 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
38467 * normal/menu.c (DISP_LR): Renamed to ...
38468 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
38469 * normal/menu.c (TERM_WIDTH): Renamed to ...
38470 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
38471 * normal/menu.c (TERM_HEIGHT): Renamed to ...
38472 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
38473 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
38474 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
38475 * normal/menu.c (TERM_MARGIN): Renamed to ...
38476 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
38477 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
38478 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
38479 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
38480 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
38481 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
38482 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
38483 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
38484 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
38485 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
38486 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
38487 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
38488 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
38489 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
38490 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
38491 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
38492 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
38493 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
38494 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
38495 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
38496 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
38497 All callers changed.
38498
38499 * include/grub/normal.h: New prototype.
38500
38501 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
38502 normal/menu_entry.c.
38503 (normal_mod_SOURCES): Likewise.
38504 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38505 (normal_mod_SOURCES): Likewise.
38506
38507 2005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
38508
38509 * include/grub/normal.h (grub_halt_init): New prototype.
38510 (grub_halt_fini): Likewise.
38511 (grub_reboot_init): Likewise.
38512 (grub_reboot_fini): Likewise.
38513
38514 * util/grub-emu.c: Include signal.h.
38515 (main_env): New global variable.
38516 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
38517 catch C-c.
38518 (grub_machine_fini): New function.
38519 (main): Call grub_halt_init and grub_reboot_init before
38520 grub_main, and grub_reboot_fini and grub_halt_fini after it.
38521 Call setjmp with MAIN_ENV to go back afterwards.
38522 Call grub_machine_fini right before return.
38523
38524 * include/grub/util/misc.h: Include setjmp.h.
38525 (main_env): New prototype.
38526
38527 * include/grub/kernel.h (grub_machine_fini): New prototype.
38528 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
38529 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
38530
38531 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
38532 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
38533 * term/i386/pc/console.c (grub_console_fini): Likewise.
38534
38535 * util/i386/pc/misc.c: New file.
38536
38537 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
38538 util/i386/pc/misc.c, commands/i386/pc/halt.c and
38539 commands/i386/pc/reboot.c.
38540
38541 2005-02-14 Guillem Jover <guillem@hadrons.org>
38542
38543 * include/grub/dl.h (grub_dl_check_header): New prototype.
38544 (grub_arch_dl_check_header): Change return type to grub_err_t,
38545 remove size parameter and export function. Update all callers.
38546 * kern/dl.c (grub_dl_check_header): New function.
38547 (grub_dl_load_core): Use `grub_dl_check_header' instead of
38548 `grub_arch_dl_check_header'. Check ELF type. Check if sections
38549 are inside the core.
38550 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
38551 independent ELF header checks.
38552 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
38553 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
38554 `grub_dl_check_header' instead of explicit checks. Check for the
38555 ELF type.
38556 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
38557 `grub_dl_check_header' instead of explicit checks. Remove arch
38558 specific ELF header checks.
38559
38560 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
38561 argument SIZE.
38562
38563 2005-02-13 Hollis Blanchard <hollis@penguinppc.org>
38564
38565 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
38566 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
38567
38568 2005-02-12 Hollis Blanchard <hollis@penguinppc.org>
38569
38570 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
38571 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
38572 (part_map_iterate): Clear `grub_errno' and return 0 if
38573 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
38574 * partmap/amiga.c (amiga_partition_map_iterate): Return
38575 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
38576 * partmap/apple.c (apple_partition_map_iterate): Likewise.
38577
38578 2005-02-01 Guillem Jover <guillem@hadrons.org>
38579
38580 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
38581 help info.
38582
38583 2005-01-31 Marco Gerards <metgerards@student.han.nl>
38584
38585 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
38586 Removed prototype.
38587 (grub_rescue_cmd_linux): New prototype.
38588 (grub_rescue_cmd_initrd): Likewise.
38589 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
38590 `bi_rec'.
38591 (grub_linux_release_mem): Release the memory for the initrd.
38592 (grub_load_linux): Renamed from this...
38593 (grub_rescue_cmd_linux): ...To this. Changed all callers.
38594 Changed `entry' not to be static. Loop over memory regions to
38595 find another one when the default fails.
38596 (grub_rescue_cmd_initrd): New function.
38597 (grub_linux_init): Remove function.
38598 (grub_linux_fini): Likewise.
38599 (GRUB_MOD_INIT): Register `initrd'.
38600 (GRUB_MOD_FINI): Unregister `initrd'.
38601 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
38602 Function removed.
38603 (grub_linux_normal_fini): Likewise.
38604 (GRUB_MOD_INIT): Register `initrd'.
38605 (GRUB_MOD_FINI): Unregister `initrd'.
38606
38607 2005-01-31 Marco Gerards <metgerards@student.han.nl>
38608
38609 * commands/help.c: New file.
38610 * normal/arg.c (show_help): Renamed to...
38611 (grub_arg_show_help): ... this.
38612 * commands/i386/pc/halt.c: New file.
38613 * commands/i386/pc/reboot.c: Likewise.
38614 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
38615 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
38616 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
38617 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
38618 variables.
38619 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
38620 `commands/help.c'.
38621 (pkgdata_MODULES): Add `help.mod'.
38622 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
38623 * grub/i386/pc/init.h (grub_reboot): New prototype.
38624 (grub_halt): Likewise.
38625 * include/grub/normal.h (grub_arg_show_help): New prototype.
38626 (grub_help_init): Likewise.
38627 (grub_help_fini): Likewise.
38628 * util/grub-emu.c (main): Initialize and deinitialize the help
38629 command.
38630
38631 * normal/cmdline.c (grub_cmdline_get): Doc fix.
38632
38633 * normal/command.c (grub_command_init): Fixed the description of
38634 the `set' and `unset' commands.
38635
38636 2005-01-31 Marco Gerards <metgerards@student.han.nl>
38637
38638 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
38639 function.
38640 * commands/ieee1275/halt.c: New file.
38641 * commands/ieee1275/reboot.c: Likewise.
38642 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
38643 `__attribute__ ((unused))'. Some GCS related fixed.
38644 (grub_suspend_init) [GRUB_UTIL]: Function removed.
38645 (grub_suspend_fini): Likewise.
38646 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
38647 and `halt.mod'.
38648 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
38649 (halt_mod_CFLAGS): New variables.
38650 * include/grub/powerpc/ieee1275/ieee1275.h
38651 (grub_ieee1275_interpret): New prototype.
38652
38653 2005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
38654
38655 * include/grub/misc.h (memmove): New prototype.
38656 (memcpy): Likewise.
38657
38658 2005-01-22 Hollis Blanchard <hollis@penguinppc.org>
38659
38660 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
38661 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
38662
38663 2005-01-22 Marco Gerards <metgerards@student.han.nl>
38664
38665 * kern/misc.c (grub_strndup): Function rewritten.
38666
38667 2005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
38668
38669 * normal/menu.c (TERM_WIDTH): Macro redefined.
38670 (TERM_TOP_BORDER_Y): Likewise.
38671 (draw_border): Replaced while-loop by a for-loop. Make the number
38672 of lines consistent with the number of lines displayed in
38673 print_entries. Added a margin below the rectangle.
38674 (print_entry): Make the entry fit in the rectangle.
38675 (print_entries): Display the scroll arrows next to the right
38676 border.
38677
38678 2005-01-21 Marco Gerards <metgerards@student.han.nl>
38679
38680 * fs/minix.c (grub_minix_find_file): Reserve more space for
38681 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
38682 `grub_strncpy' to copy `path' into it.
38683
38684 2005-01-21 Marco Gerards <metgerards@student.han.nl>
38685
38686 Add the loopback device, a device via which files can be accessed
38687 as devices.
38688
38689 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
38690 (pkgdata_MODULES): Add loopback.mod.
38691 (loopback_mod_SOURCES): New variable.
38692 (loopback_mod_CFLAGS): Likewise.
38693 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
38694 `disk/loopback.c'.
38695 (pkgdata_MODULES): Add loopback.mod.
38696 (loopback_mod_SOURCES): New variable.
38697 (loopback_mod_CFLAGS): Likewise.
38698 * disk/loopback.c: new file.
38699 * include/grub/normal.h (grub_loop_init): New prototype.
38700 (grub_loop_fini): New prototype.
38701 * util/grub-emu.c (main): Initialize and de-initialize loopback
38702 support.
38703 * include/grub/disk.h (grub_disk_dev_id): Add
38704 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
38705
38706 2005-01-20 Hollis Blanchard <hollis@penguinppc.org>
38707
38708 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
38709 function.
38710 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
38711 (suspend_mod_SOURCES): New variable.
38712 (suspend_mod_CFLAGS): Likewise.
38713 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
38714 New prototype.
38715 * commands/ieee1275/suspend.c: New file.
38716
38717 2005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
38718
38719 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
38720 ((unused))' to `__attribute__ ((used))'.
38721 (GRUB_MOD_FINI): Likewise.
38722 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
38723 * genmk.rb (PModule): Assign space to common symbols when linking
38724 modules.
38725
38726 2005-01-20 Marco Gerards <metgerards@student.han.nl>
38727
38728 * include/grub/mm.h (grub_mm_init_region): Change the type of the
38729 `unsigned' arguments to `grub_size_t'.
38730 (grub_malloc): Likewise.
38731 (grub_realloc): Likewise.
38732 (grub_memalign): Likewise.
38733 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
38734 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
38735 * util/misc.c (grub_malloc): Likewise.
38736 (grub_realloc): Likewise.
38737 * kern/mm.c (get_header_from_pointer): Change the casts to
38738 `unsigned' into a cast to `grub_size_t'.
38739
38740 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
38741 point to `currnode' when `currnode' is changed.
38742
38743 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
38744 Schottelius <nico-linux@schottelius.org>.
38745
38746 2005-01-09 Hollis Blanchard <hollis@penguinppc.org>
38747
38748 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
38749 (note_path): Remove variable.
38750 (GRUB_IEEE1275_NOTE_NAME): New macro.
38751 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
38752 (grub_ieee1275_note_hdr): New structure.
38753 (grub_ieee1275_note_desc): Likewise.
38754 (grub_ieee1275_note): Likewise.
38755 (load_note): Remove `dir' argument. All callers updated. Remove
38756 `note_img' and `path'. Do not load a file from `note_path'.
38757 Initialize a struct grub_ieee1275_note and write that to `out'.
38758 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
38759
38760 2005-01-05 Marco Gerards <metgerards@student.han.nl>
38761
38762 * util/misc.c (grub_util_read_image): Revert last change. It
38763 called `grub_util_read_at', which seeks from the beginning of the
38764 file.
38765
38766 2005-01-04 Hollis Blanchard <hollis@penguinppc.org>
38767
38768 * TODO: Add note about endianness in grub-mkimage.
38769 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
38770 section.
38771 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
38772 (grub_mkimage_SOURCES): New target.
38773 * include/grub/kernel.h (grub_start_addr): Remove variable.
38774 (grub_end_addr): Likewise.
38775 (grub_total_module_size): Likewise.
38776 (grub_kernel_image_size): Likewise.
38777 (GRUB_MODULE_MAGIC): New constant.
38778 (grub_module_info): New structure.
38779 (grub_arch_modules_addr): New prototype.
38780 (grub_get_end_addr): Remove prototype.
38781 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
38782 * include/grub/powerpc/ieee1275/kernel.h: New file.
38783 * include/grub/util/misc.h (grub_util_get_fp_size): New
38784 prototype.
38785 (grub_util_read_at): Likewise.
38786 (grub_util_write_image_at): Likewise.
38787 * kern/main.c (grub_get_end_addr): Remove function.
38788 (grub_load_modules): Call grub_arch_modules_addr instead of using
38789 grub_end_addr. Look for a grub_module_info struct in memory. Use
38790 the grub_module_info fields instead of calling grub_get_end_addr
38791 as loop conditions. Move grub_add_unused_region code here.
38792 (grub_add_unused_region): Remove function.
38793 * kern/i386/pc/init.c: Include grub/cache.h.
38794 (grub_machine_init): Remove call to grub_get_end_addr. Remove
38795 one call to add_mem_region.
38796 (grub_arch_modules_addr): New function.
38797 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
38798 (grub_total_module_size): Likewise.
38799 Include grub/machine/kernel.h.
38800 (grub_arch_modules_addr): New function.
38801 * util/grub-emu.c (grub_end_addr): Remove variable.
38802 (grub_total_module_size): Likewise.
38803 (grub_arch_modules_addr): New function.
38804 * util/misc.c: Include unistd.h.
38805 (grub_util_get_fp_size): New function.
38806 (grub_util_read_at): Likewise.
38807 (grub_util_write_image_at): Likewise.
38808 (grub_util_read_image): Call grub_util_read_at.
38809 (grub_util_write_image): Call grub_util_write_image_at.
38810 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
38811 additional memory in kernel_img for a struct grub_module_info.
38812 Fill in that grub_module_info.
38813 * util/powerpc/ieee1275/grub-mkimage.c: New file.
38814
38815 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
38816
38817 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
38818 New function.
38819 * include/grub/powerpc/ieee1275/ieee1275.h
38820 (grub_ieee1275_milliseconds): New prototype.
38821 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
38822 Change to 1000.
38823 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
38824 grub_ieee1275_milliseconds.
38825
38826 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
38827
38828 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
38829 variable.
38830 (find_options): New function.
38831 (cmain): Call find_options.
38832 * include/grub/powerpc/ieee1275/ieee1275.h
38833 (grub_ieee1275_realmode): New extern variable.
38834 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
38835 grub_map if grub_ieee1275_realmode is false.
38836
38837 2004-12-29 Marco Gerards <metgerards@student.han.nl>
38838
38839 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
38840 lines are inserted and make it work like readline. Reported by
38841 Vincent Pelletier <subdino2004@yahoo.fr>.
38842
38843 2004-12-28 Marco Gerards <metgerards@student.han.nl>
38844
38845 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
38846
38847 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
38848 `kern/powerpc/cache.S'.
38849
38850 2004-12-27 Marco Gerards <metgerards@student.han.nl>
38851
38852 * genmk.rb: Handle the `Program' class in the main loop. Written
38853 by Johan Rydberg <jrydberg@gnu.org>.
38854 (Program): New class.
38855 (programs): New variable.
38856 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
38857 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
38858 instead of "grub/kernel.h". Include <grub/machine/init.h>.
38859 (help_arch): Function removed.
38860 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
38861 `powerpc/libgcc.h' and `loader.h'.
38862 (pkgdata_PROGRAMS): New variable.
38863 (sbin_UTILITIES): Variable removed.
38864 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
38865 (grubof_SOURCES): Variable re-defined so it only includes the
38866 core functionality.
38867 (grubof_CFLAGS): Remove `-DGRUBOF'.
38868 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
38869 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
38870 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
38871 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
38872 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
38873 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
38874 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
38875 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
38876 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
38877 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
38878 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
38879 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
38880 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
38881 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
38882 (pc_mod_CFLAGS): New variables.
38883 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
38884 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
38885 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
38886 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
38887 Moved from here...
38888 * include/grub/i386/pc/init.h (grub_os_area_addr)
38889 (rub_os_area_size): ... to here.
38890 * include/grub/powerpc/ieee1275/ieee1275.h
38891 (grub_ieee1275_entry_fn): Export symbol.
38892 * include/grub/powerpc/ieee1275/init.h: New file.
38893 * include/grub/powerpc/libgcc.h: Likewise.
38894 * include/grub/cache.h: Likewise.
38895 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
38896 <hollis@penguinppc.org>.
38897 * kern/dl.c: Include <grub/cache.h>.
38898 (grub_dl_flush_cache): New function.
38899 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
38900 for this module.
38901 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
38902 (grub_console_init): Removed prototypes.
38903 (grub_machine_init): Don't initialize the modules anymore.
38904 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
38905 static.
38906 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
38907 Macro undef removed.
38908 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
38909 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
38910 relocation `R_PPC_REL32'. Return an error when the relocation is
38911 unknown.
38912 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
38913 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
38914 * util/misc.c (grub_arch_sync_caches): Likewise.
38915
38916 2004-12-19 Marco Gerards <metgerards@student.han.nl>
38917
38918 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
38919 `symlist.c', add `grubof_symlist.c'.
38920 (symlist.c): Variable removed.
38921 (grubof_HEADERS): Variable added.
38922 (grubof_symlist.c): New target.
38923 (kernel_syms.lst): Use `grubof_HEADERS' instead of
38924 `kernel_img_HEADERS'.
38925 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
38926 * kern/powerpc/dl.c: New file.
38927 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
38928 Function removed.
38929 (grub_arch_dl_relocate_symbols): Likewise.
38930 (grub_register_exported_symbols): Likewise.
38931
38932 2004-12-13 Marco Gerards <metgerards@student.han.nl>
38933
38934 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
38935 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
38936 to fail instead. Reported by Vincent Pelletier
38937 <subdino2004@yahoo.fr>.
38938
38939 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
38940 it is not allocated. Reported by Vincent Pelletier
38941 <subdino2004@yahoo.fr>.
38942
38943 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
38944 output so the output looks better.
38945
38946 2004-12-04 Marco Gerards <metgerards@student.han.nl>
38947
38948 Modulize the partition map support and add support for the amiga
38949 partition map.
38950
38951 * commands/ls.c: Include <grub/partition.h> instead of
38952 <grub/machine/partition.h>.
38953 * kern/disk.c: Likewise.
38954 * kern/rescue.c: Likewise.
38955 * loader/i386/pc/chainloader.c: Likewise.
38956 * normal/cmdline.c: Likewise.
38957 * kern/powerpc/ieee1275/init.c: Likewise.
38958 (grub_machine_init): Call `grub_pc_partition_map_init',
38959 `grub_amiga_partition_map_init' and
38960 `grub_apple_partition_map_init'.
38961 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
38962 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
38963 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
38964 `partition.h' and `pc_partition.h'.
38965 (grub_setup_SOURCES): Remove
38966 `disk/i386/pc/partition.c'. Add `kern/partition.c',
38967 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
38968 (grub_emu_SOURCES): Likewise.
38969 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
38970 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
38971 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
38972 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
38973 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
38974 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
38975 (grubof_SOURCES): Likewise.
38976 * disk/i386/pc/partition.c: File removed.
38977 * disk/powerpc/ieee1275/partition.c: Likewise.
38978 * include/grub/powerpc/ieee1275/partition.h: Likewise.
38979 * include/grub/i386/pc/partition.h: Likewise.
38980 * kern/partition.c: New file.
38981 * partmap/amiga.c: Likewise.
38982 * partmap/apple.c: Likewise.
38983 * partmap/pc.c: Likewise.
38984 * include/grub/partition.h: Likewise..
38985 * include/grub/pc_partition.h: Likewise.
38986 * util/grub-emu.c: Include <grub/partition.h> instead of
38987 <grub/machine/partition.h>.
38988 (main): Call `grub_pc_partition_map_init',
38989 `grub_amiga_partition_map_init' and
38990 `grub_apple_partition_map_init' and deinitialize afterwards.
38991 * util/i386/pc/biosdisk.c: Include `#include
38992 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
38993 `<grub/machine/partition.h>'.
38994 * util/i386/pc/grub-setup.c: Likewise.
38995 * util/i386/pc/biosdisk.c: Likewise.
38996 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
38997 partition information in case of a PC partition.
38998 * util/i386/pc/grub-setup.c: Include `#include
38999 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
39000 `<grub/machine/partition.h>'.
39001 (setup): Only access the PC specific partition information in case
39002 of a PC partition.
39003
39004 2004-11-17 Hollis Blanchard <hollis@penguinppc.org>
39005
39006 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
39007 (grub_longjmp): Likewise.
39008 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
39009 20.
39010 * normal/powerpc/setjmp.S: New file.
39011 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
39012 `normal/powerpc/setjmp.S'.
39013 (grubof_CFLAGS): Add `-DGRUBOF'.
39014 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
39015 [GRUB_UTIL && !GRUBOF].
39016
39017 2004-11-16 Marco Gerards <metgerards@student.han.nl>
39018
39019 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
39020 property named `name'. Correctly handle the error returned by
39021 `grub_ieee1275_finddevice' if a device can not be opened.
39022
39023 2004-11-02 Hollis Blanchard <hollis@penguinppc.org>
39024
39025 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
39026 `actual' for negativity.
39027 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
39028 kern/fshelp.c.
39029
39030 2004-11-01 Marco Gerards <metgerards@student.han.nl>
39031
39032 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
39033 (PAGE_OFFSET): New macro.
39034 (CRTC_ADDR_PORT): Likewise.
39035 (CRTC_DATA_PORT): Likewise.
39036 (START_ADDR_HIGH_REGISTER): Likewise.
39037 (START_ADDR_LOW_REGISTER): Likewise.
39038 (GRAPHICS_ADDR_PORT): Likewise.
39039 (GRAPHICS_DATA_PORT): Likewise.
39040 (READ_MAP_REGISTER): Likewise.
39041 (INPUT_STATUS1_REGISTER): Likewise.
39042 (INPUT_STATUS1_VERTR_BIT): Likewise.
39043 (page): New variable.
39044 (wait_vretrace): New function.
39045 (set_read_map): Likewise.
39046 (set_start_address): Likewise.
39047 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
39048 the right page.
39049 (check_vga_mem): Take the page into account.
39050 (write_char): Likewise.
39051 (write_cursor): Likewise.
39052 (scroll_up): Likewise. Copy the page to the page that is not
39053 shown and switch between both pages.
39054 (grub_vga_putchar): Fix off by one error.
39055 (grub_vga_cls): Wait for the vertical retrace. Take the page into
39056 account.
39057
39058 2004-11-01 Marco Gerards <metgerards@student.han.nl>
39059
39060 Add support for iso9660 (including rockridge).
39061
39062 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
39063 (iso9660_mod_SOURCES): New variable.
39064 (iso9660_mod_CFLAGS): Likewise.
39065 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
39066 * include/grub/fs.h (grub_iso9660_init): New prototype.
39067 * util/grub-emu.c (main): Call `grub_iso9660_init'.
39068 * fs/iso9660.c: New file.
39069
39070 * include/grub/misc.h (grub_strncat): New prototype.
39071 * kern/misc.c (grub_strncat): New function.
39072
39073 * fs/hfs.c (grub_hfs_mount): Translate the error
39074 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
39075 * fs/jfs.c (grub_jfs_mount): Likewise.
39076 * fs/ufs.c (grub_ufs_mount): Likewise.
39077
39078 2004-10-28 Hollis Blanchard <hollis@penguinppc.org>
39079
39080 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
39081 which initialized BAT registers.
39082 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
39083 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
39084 Move from here...
39085 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
39086 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
39087 ... to here.
39088 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
39089 (grub_mapclaim): Likewise.
39090 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
39091 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
39092 hand.
39093
39094 2004-10-19 Hollis Blanchard <hollis@penguinppc.org>
39095
39096 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
39097 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
39098 -ffreestanding and -msoft-float.
39099
39100 2004-10-15 Hollis Blanchard <hollis@penguinppc.org>
39101
39102 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
39103 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
39104 set in grub_ieee1275_flags.
39105
39106 2004-10-14 Hollis Blanchard <hollis@penguinppc.org>
39107
39108 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
39109 prototype.
39110 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
39111 grub_console_init first.
39112 Change the memory range used for grub_ieee1275_claim and
39113 grub_mm_init_region.
39114 Print an error message if the claim fails.
39115 Include <grub/misc.h>.
39116
39117 2004-10-13 Hollis Blanchard <hollis@penguinppc.org>
39118
39119 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
39120 Call grub_children_iterate for device nodes of type `scsi',
39121 `ide', or `ata'.
39122 (grub_ofdisk_open): Remove manual device alias resolution.
39123 Fix memory leak when device cannot be opened.
39124 * include/grub/powerpc/ieee1275/ieee1275.h
39125 (grub_children_iterate): New prototype.
39126 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
39127 New function.
39128 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
39129 Return -1 if args.size was -1.
39130
39131 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
39132
39133 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
39134 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
39135 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
39136 Open Firmware's memory for it; claim memory from _start to _end.
39137 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
39138 (_end): New extern.
39139 (_start): Zero BSS from __bss_start to _end.
39140 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
39141 New extern.
39142 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
39143
39144 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
39145
39146 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
39147 -1 if args.base was -1.
39148
39149 2004-10-08 Hollis Blanchard <hollis@penguinppc.org>
39150
39151 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
39152 escape sequence instead of a literal ^L. Also call
39153 grub_ofconsole_gotoxy.
39154
39155 2004-10-03 Hollis Blanchard <hollis@penguinppc.org>
39156
39157 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
39158 void * arguments to grub_addr_t. All callers updated. Also make
39159 the `result' argument optional.
39160 (grub_ieee1275_release): change void * arguments to grub_addr_t.
39161 All callers updated.
39162
39163 2004-09-22 Hollis Blanchard <hollis@penguinppc.org>
39164
39165 * commands/ls.c (grub_ls_list_files): Use the string following the
39166 initial ')', if present, as the filesystem path.
39167 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
39168
39169 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
39170
39171 2004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
39172
39173 Make the source code of the menu interface more readable.
39174
39175 * normal/menu.c: Include grub/mm.h.
39176 (TERM_WIDTH): New macro.
39177 (TERM_HEIGHT): Likewise.
39178 (TERM_INFO_HEIGHT): Likewise.
39179 (TERM_MARGIN): Likewise.
39180 (TERM_SCROLL_WIDTH): Likewise.
39181 (TERM_TOP_BORDER_Y): Likewise.
39182 (TERM_LEFT_BORDER_X): Likewise.
39183 (TERM_BORDER_WIDTH): Likewise.
39184 (TERM_MESSAGE_HEIGHT): Likewise.
39185 (TERM_BORDER_HEIGHT): Likewise.
39186 (TERM_NUM_ENTRIES): Likewise.
39187 (TERM_FIRST_ENTRY_Y): Likewise.
39188 (TERM_ENTRY_WIDTH): Likewise.
39189 (TERM_CURSOR_X): Likewise.
39190 (draw_border): Use macros instead of magic numbers.
39191 (print_entry): Likewise.
39192 (print_entries): Likewise.
39193 (run_menu): Likewise. Also, handle the key 'e'.
39194 (run_menu_entry): Ignore empty command lines.
39195 (print_message): Added a new argument EDIT. If EDIT is true,
39196 print a different message.
39197 (init_page): Likewise.
39198 (edit_menu_entry): New function. Not implemented yet.
39199
39200 2004-09-17 Marco Gerards <metgerards@student.han.nl>
39201
39202 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
39203 can be loaded from normal mode.
39204
39205 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
39206 `multiboot.mod'.
39207 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
39208 (multiboot_mod_CFLAGS): New variables.
39209 * loader/i386/pc/linux_normal.c: New file.
39210 * loader/i386/pc/multiboot_normal.c: Likewise.
39211
39212 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
39213 attribute `unused'.
39214
39215 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
39216 `fdiro' to read the mode information from instead of `diro'.
39217
39218 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
39219 looking up a symlink.
39220
39221 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
39222 macro.
39223 * normal/command.c (grub_command_execute): Don't parse the
39224 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
39225 flags of the command.
39226
39227 * normal/menu.c (grub_menu_run): Fix typo.
39228
39229 2004-09-14 Hollis Blanchard <hollis@penguinppc.org>
39230
39231 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
39232
39233 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
39234 `y + 1' instead of `y - 1'.
39235
39236 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
39237
39238 2004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
39239
39240 From Hollis Blanchard <hollis@penguinppc.org>:
39241 * kern/misc.c (memmove): New alias for grub_memmove.
39242 (memcmp): New alias for grub_memcmp.
39243 (memset): New alias for grub_memset.
39244 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
39245 Change "int handle" to "grub_ieee1275_phandle_t handle".
39246 * include/grub/powerpc/ieee1275/ieee1275.h
39247 (grub_ieee1275_get_property): Likewise.
39248
39249 2004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
39250
39251 Added normal mode command `chainloader' as module chain.mod, which
39252 depends on normal.mod and _chain.mod.
39253
39254 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
39255 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
39256 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
39257 Deleted prototype.
39258 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
39259 but arguments parsing moved to ...
39260 (grub_chainloader_cmd): ... here. New function.
39261 * include/grub/i386/pc/chainloader.h: New file.
39262 * loader/i386/pc/chainloader_normal.c: Likewise.
39263
39264 2004-09-11 Marco Gerards <metgerards@student.han.nl>
39265
39266 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
39267 (grub_mkimage_LDFLAGS): Likewise.
39268 (grub_emu_SOURCES): Likewise.
39269 (kernel_img_HEADERS): Added fshelp.h.
39270 * fs/ext2.c: Include <grub/fshelp.h>.
39271 (FILETYPE_REG): New macro.
39272 (FILETYPE_INO_REG): Likewise.
39273 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
39274 Changed all users.
39275 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
39276 all users.
39277 (grub_fshelp_node): New struct.
39278 (grub_ext2_data): Added member `diropen'. Changed member `inode'
39279 to a pointer.
39280 (grub_ext2_get_file_block): Removed function.
39281 (grub_ext2_read_block): New function.
39282 (grub_ext2_read_file): Replaced parameter `data' by `node'.
39283 This function was written.
39284 (grub_ext2_mount): Read the root inode. Create a diropen struct.
39285 (grub_ext2_find_file): Removed function.
39286 (grub_ext2_read_symlink): New function.
39287 (grub_ext2_iterate_dir): Likewise.
39288 (grub_ext2_open): Rewritten.
39289 (grub_ext2_dir): Rewritten.
39290 * include/grub/fshelp.h: New file.
39291 * fs/fshelp.c: Likewise.
39292
39293 2004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
39294
39295 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
39296 (print_message): Add a missing newline.
39297 (run_menu): Added timeout support.
39298 (run_menu_entry): New local function.
39299 (grub_menu_run): Added support for booting.
39300
39301 * kern/loader.c (grub_loader_is_loaded): New function.
39302
39303 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
39304 (grub_get_rtc): Exported.
39305
39306 * include/grub/i386/pc/time.h: Include grub/symbol.h.
39307 (grub_get_rtc): Exported.
39308
39309 * include/grub/normal.h (struct grub_command_list): Remove
39310 constant from the member `command'.
39311
39312 * include/grub/loader.h (grub_loader_is_loaded): Declared.
39313
39314 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
39315
39316 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
39317
39318 2004-08-28 Marco Gerards <metgerards@student.han.nl>
39319
39320 Add support for the JFS filesystem.
39321
39322 * fs/jfs.c: New file.
39323 * include/grub/fs.h (grub_jfs_init): New prototype.
39324 (grub_jfs_fini): New prototype.
39325 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
39326 (grub_emu_SOURCES): Likewise.
39327 (pkgdata_MODULES): Add jfs.mod.
39328 (jfs_mod_SOURCES): New variable.
39329 (jfs_mod_CFLAGS): Likewise.
39330 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
39331 (grubof_SOURCES): Likewise.
39332 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
39333
39334 * fs/fat.c (grub_fat_find_dir): Convert the filename little
39335 endian to the host endian.
39336 (grub_fat_utf16_to_utf8): Move function from there...
39337 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
39338 the endianness of the source string anymore.
39339 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
39340
39341 2004-08-24 Marco Gerards <metgerards@student.han.nl>
39342
39343 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
39344 (grub_boot_fini) [GRUB_UTIL]: Likewise.
39345 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
39346 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
39347
39348 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
39349 (grub_hfs_iterate_dir): Make the function static. Add prototypes
39350 for `node_found' and `it_dir'.
39351 (grub_hfs_dir): Add prototype for `dir_hook'.
39352
39353 * fs/minix.c (grub_minix_get_file_block): Add prototype for
39354 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
39355 and `indir32' to silence a gcc warning.
39356
39357 * include/grub/fs.h (grub_hfs_init): New prototype.
39358 (grub_hfs_fini): Likewise.
39359
39360
39361 2004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
39362
39363 Each disk device has its own id now. This is useful to make use
39364 of multiple disk devices.
39365
39366 * include/grub/disk.h (grub_disk_dev_id): New enum.
39367 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
39368 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
39369
39370 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
39371 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
39372
39373 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
39374 GRUB_DISK_DEVICE_OFDISK_ID as an id.
39375
39376 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
39377 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
39378
39379 * include/grub/disk.h (struct grub_disk_dev): Added a new member
39380 "id" which is used by the cache manager.
39381
39382 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
39383 of just "GRUB".
39384
39385 2004-08-18 Marco Gerards <metgerards@student.han.nl>
39386
39387 * fs/hfs.c: New file.
39388 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
39389 (grub_emu_SOURCES): Likewise.
39390 (pkgdata_MODULES): Add hfs.mod.
39391 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
39392 (grubof_SOURCES): Likewise.
39393 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
39394
39395 * include/grub/misc.h (grub_strncasecmp): Add prototype.
39396 * kern/misc.c (grub_strncasecmp): Add function.
39397
39398 2004-08-14 Marco Gerards <metgerards@student.han.nl>
39399
39400 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
39401 with parentheses.
39402
39403 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
39404 (grub_ext2_dir): In case the directory entry type is unknown, read
39405 it from the inode.
39406
39407 2004-08-02 Peter Bruin <pjbruin@dds.nl>
39408
39409 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
39410 grub_load_linux instead of grub_rescue_cmd_linux as second
39411 argument of grub_rescue_register_command.
39412
39413 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
39414
39415 2004-07-27 Marco Gerards <metgerards@student.han.nl>
39416
39417 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
39418 function.
39419 * commands/boot.c: Remove the check for `GRUB_UTIL'.
39420 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
39421 `loader/powerpc/ieee1275/linux.c',
39422 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
39423 * include/grub/powerpc/ieee1275/ieee1275.h
39424 (grub_ieee1275_release): New prototype.
39425 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
39426 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
39427 normal, boot, linux and linux_normal.
39428 * loader/powerpc/ieee1275/linux.c: New file.
39429 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
39430
39431 2004-07-12 Marco Gerards <metgerards@student.han.nl>
39432
39433 * normal/arg.c (grub_arg_parse): Correct error handling after
39434 reallocating the argumentlist (check if `argl' is not null instead
39435 of checking if `args' is not null).
39436 * kern/mm.c (grub_realloc): Return the same pointer when using the
39437 same region, instead of returning the header address.
39438
39439 2004-07-11 Marco Gerards <metgerards@student.han.nl>
39440
39441 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
39442 one block instead of two when looking for the initial partition.
39443 (grub_partition_probe): Initialize the local variable `p' with 0.
39444 Use base 10 for the grub_strtoul call.
39445 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
39446 need for one local variable.
39447 (grub_strtoul): Don't add the new value to `num', instead of that
39448 just assign it.
39449
39450 2004-07-11 Marco Gerards <metgerards@student.han.nl>
39451
39452 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
39453 (pxeboot_img_SOURCES): New variable.
39454 (pxeboot_img_ASFLAGS): Likewise.
39455 (pxeboot_img_LDFLAGS): Likewise.
39456 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
39457 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
39458 <lode_leroy@hotmail.com>.
39459
39460 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
39461
39462 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
39463 there was no input.
39464
39465 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
39466
39467 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
39468 the history buffer logic.
39469
39470 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
39471
39472 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
39473 (FILETYPE_INO_SYMLINK): New macros.
39474 (grub_ext2_find_file): Check if the node is a directory using the
39475 inode stat information instead of using the filetype in the
39476 dirent. Exclude the first character of an absolute symlink.
39477 (grub_ext2_dir): Mask out the filetype part of the mode member of
39478 the inode.
39479
39480 2004-05-24 Marco Gerards <metgerards@student.han.nl>
39481
39482 Add support for UFS version 1 and 2. Add support for the minix
39483 filesystem version 1 and 2, both the variants with 14 and 30 long
39484 filenames.
39485
39486 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
39487 fs/minix.c.
39488 (grub_emu_SOURCES): Likewise.
39489 (pkgdata_MODULES): Add ufs.mod and minix.mod.
39490 (ufs_mod_SOURCES): New variable.
39491 (ufs_mod_CFLAGS): Likewise.
39492 (minix_mod_SOURCES): Likewise.
39493 (minix_mod_CFLAGS): Likewise.
39494 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
39495 fs/minix.c.
39496 (grubof_SOURCES): Likewise.
39497 * fs/ufs.c: New file.
39498 * fs/minix.c: New file.
39499 * include/grub/fs.h (grub_ufs_init): New prototype.
39500 (grub_ufs_fini): Likewise.
39501 (grub_minix_init): Likewise.
39502 (grub_minix_fini): Likewise.
39503 * util/grub-emu.c (main): Initialize and deinitialize UFS and
39504 minix fs.
39505
39506 2004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
39507
39508 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
39509 commands/ls.c, commands/terminal.c, commands/boot.c,
39510 commands/cmp.c and commands/cat.c.
39511 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
39512
39513 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
39514 "env.h"
39515
39516 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
39517
39518 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
39519 and grub_, respectively. Because the conversion is trivial and
39520 mechanical, I omit the details here. Please refer to the CVS
39521 if you need more information.
39522
39523 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
39524
39525 * include/pupa: Renamed to ...
39526 * include/grub: ... this.
39527 * util/i386/pc/pupa-mkimage.c: Renamed to ...
39528 * util/i386/pc/grub-mkimage.c: ... this.
39529 * util/i386/pc/pupa-setup.c: Renamed to ...
39530 * util/i386/pc/grub-setup.c: ... this.
39531 * util/pupa-emu.c: Renamed to ...
39532 * util/grub-emu.c: ... this.
39533
39534 2004-03-29 Marco Gerards <metgerards@student.han.nl>
39535
39536 Add support for the newworld apple macintosh (PPC). This has been
39537 tested on the powerbook 2000 only. It only adds support for
39538 generic ieee1275 functions, console and disk support. This should
39539 be easy to port to other architectures with support for Open
39540 Firmware.
39541
39542 * configure.ac: Accept the powerpc as host_cpu. In the case of
39543 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
39544 specific tests are only executed while building for the i386.
39545 Inverse test for crosscompile.
39546 * genmk.rb (Utility): Allow assembler files.
39547 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
39548 * conf/powerpc-ieee1275.rmk: New file.
39549 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
39550 * disk/powerpc/ieee1275/partition.c: Likewise.
39551 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
39552 * include/pupa/powerpc/ieee1275/console.h: Likewise.
39553 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
39554 * include/pupa/powerpc/ieee1275/time.h: Likewise.
39555 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
39556 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
39557 * include/pupa/powerpc/ieee1275/loader.h
39558 * include/pupa/powerpc/setjmp.h: Likewise.
39559 * include/pupa/powerpc/types.h: Likewise.
39560 * kern/powerpc/ieee1275/init.c: Likewise.
39561 * kern/powerpc/ieee1275/openfw.c: Likewise.
39562 * term/powerpc/ieee1275/ofconsole.c: Likewise.
39563
39564 These files were written by Johan Rydberg
39565 (jrydberg@night.trouble.net) and I only modified them slightly.
39566
39567 * boot/powerpc/ieee1275/cmain.c: New file.
39568 * boot/powerpc/ieee1275/crt0.S: Likewise.
39569 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
39570 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
39571
39572 2004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
39573
39574 * Makefile.in: Update copyright.
39575 * genmodsrc.sh: Likewise.
39576 * gensymlist.sh: Likewise.
39577 * term/i386/pc/vga.c: Indent correctly.
39578
39579 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
39580 bugreporting address.
39581 * util/i386/pc/pupa-setup.c (usage): Likewise,
39582 (main): Call pupa_ext2_init and pupa_ext2_fini.
39583
39584 * fs/fat.c (log2): Renamed to ...
39585 (fat_log2): ... this.
39586 All callers changed.
39587 * kern/misc.c (memcpy): Alias to pupa_memmove.
39588 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
39589 lvalue cast.
39590 * util/console.c (pupa_ncurses_fini): Return 0.
39591
39592 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
39593 Move fail label here.
39594 [__GNU__]: Don't warn when using stat.
39595 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
39596 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
39597 long int. Use strtol instead of strtoul.
39598
39599 2004-03-14 Marco Gerards <metgerards@student.han.nl>
39600
39601 * commands/boot.c: New file.
39602 * commands/cat.c: Likewise.
39603 * commands/cmp.c: Likewise.
39604 * commands/ls.c: Likewise.
39605 * commands/terminal.c: Likewise.
39606 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
39607 (pupa_register_command): Changed interface to match the new
39608 argument parser.
39609 (pupa_command_execute): Changed (almost rewritten) so it uses
39610 pupa_split_command. Added support for setting variables using the
39611 syntax `foo=bar'.
39612 (rescue_command): Changed to work with the new argument parser.
39613 (terminal_command): Moved from here to commands/terminal.c.
39614 (set_command): New function.
39615 (unset_command): New function.
39616 (insmod_command): New function.
39617 (rmmod_command): New function.
39618 (lsmod_command): New function.
39619 (pupa_command_init): Don't initialize the command terminal
39620 anymore. Initialize the commands set, unset, insmod, rmmod and
39621 lsmod.
39622 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
39623 (kernel_img_HEADERS): Add arg.h and env.h.
39624 (pupa_mkimage_LDFLAGS): Add kern/env.c.
39625 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
39626 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
39627 normal/arg.c.
39628 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
39629 terminal.mod.
39630 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
39631 (boot_mod_SOURCES): New variable.
39632 (terminal_mod_SOURCES): Likewise.
39633 (ls_mod_SOURCES): Likewise.
39634 (cmp_mod_SOURCES): Likewise.
39635 (cat_mod_SOURCES): Likewise.
39636
39637 * normal/arg.c: New file.
39638 * kern/env.c: Likewise.
39639 * include/pupa/arg.h: Likewise.
39640 * include/pupa/env.h: Likewise.
39641 * font/manager.c (font_command): Changed to match argument parsing
39642 interface changes.
39643 (PUPA_MOD_INIT): Likewise.
39644 * hello/hello.c (pupa_cmd_hello): Likewise.
39645 (PUPA_MOD_INIT): Likewise.
39646 * include/pupa/disk.h: Include <pupa/device.h>.
39647 (pupa_print_partinfo): New prototype.
39648 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
39649 (pupa_dl_get_prefix): Likewise.
39650 * include/pupa/misc.h: Include <pupa/err.h>.
39651 (pupa_isgraph): New prototype.
39652 (pupa_isdigit): Likewise.
39653 (pupa_split_cmdline): Likewise.
39654 * include/pupa/normal.h: Include <pupa/arg.h>.
39655 (pupa_command): Changed the prototype of the member `func' to
39656 match the argument parsing interface. Added member `options'.
39657 (pupa_register_command): Updated to match function.
39658 (pupa_arg_parse): New prototype.
39659 (pupa_hello_init) [PUPA_UTIL]: New prototype.
39660 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
39661 (pupa_ls_init) [PUPA_UTIL]: Likewise.
39662 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
39663 (pupa_cat_init) [PUPA_UTIL]: Likewise.
39664 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
39665 (pupa_boot_init) [PUPA_UTIL]: Likewise.
39666 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
39667 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
39668 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
39669 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
39670 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
39671 * kern/disk.c: Include <pupa/file.h>.
39672 (pupa_print_partinfo): New function.
39673 * kern/dl.c: Include <pupa/env.h>.
39674 (pupa_dl_dir): Variable removed.
39675 (pupa_dl_load): Use the environment variable `prefix' instead of
39676 the variable pupa_dl_dir.
39677 (pupa_dl_set_prefix): Function removed.
39678 (pupa_dl_get_prefix): Likewise.
39679 * kern/i386/pc/init.c: Include <pupa/env.h>.
39680 (pupa_machine_init): Use the environment variable `prefix' instead of
39681 using pupa_dl_set_prefix to set the prefix.
39682 * kern/main.c: Include <pupa/env.h>.
39683 (pupa_set_root_dev): Use the environment variable `prefix' instead of
39684 using pupa_dl_get_prefix to get the prefix.
39685 * kern/misc.c: Include <pupa/env.h>.
39686 (pupa_isdigit): New function.
39687 (pupa_isgraph): Likewise.
39688 (pupa_ftoa): Likewise.
39689 (pupa_vsprintf): Added support for printing values of the type
39690 `double'. Make it possible to format variable output when using
39691 formatting like `%1.2%f'.
39692 (pupa_split_cmdline): New function.
39693 * kern/rescue.c: Include <pupa/env.h>.
39694 (next_word): Removed function.
39695 (pupa_rescue_cmd_prefix): Likewise.
39696 (pupa_rescue_cmd_set): New function.
39697 (pupa_rescue_cmd_unset): New function.
39698 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
39699 split the command line instead of splitting it here. Added
39700 support for setting variables using the syntax `foo=bar'. Don't
39701 initialize the prefix command anymore. Initialized the set and
39702 unset commands.
39703 * normal/cmdline.c: Include <pupa/env.h>.
39704 (pupa_tab_complete): Added prototypes for print_simple_completion,
39705 print_partition_completion, add_completion, iterate_commands,
39706 iterate_dev, iterate_part and iterate_dir. Moved code to print
39707 partition information from here to kern/disk.c.
39708 (pupa_cmdline_run): Don't check if the function exists anymore.
39709 * normal/main.c: Include <pupa/env.h>.
39710 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
39711 instead of using pupa_dl_get_prefix to get the prefix.
39712 * term/i386/pc/vga.c: Include <pupa/arg.h>.
39713 (check_vga_mem): Cast pointers to `void *' to silence a gcc
39714 warning.
39715 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
39716 (pupa_vga_setcolor): Declare unused variables with `__attribute__
39717 ((unused))' to silence a gcc warning.
39718 (pupa_vga_setcolor): Likewise.
39719 (debug_command): Changed to match argument parsing
39720 interface changes.
39721 * util/pupa-emu.c: Include <pupa/env.h>.
39722 (options): Added 0's for unused fields to silence a gcc warning.
39723 (argp): Likewise.
39724 (main): Use the environment variable `prefix' instead of using
39725 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
39726 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
39727 and terminal.
39728
39729 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
39730 * util/misc.c: Include <malloc.h>.
39731 (pupa_malloc): Rewritten so errors are correctly reported.
39732 (pupa_realloc): Likewise.
39733 (pupa_memalign): Likewise.
39734 (pupa_mm_init_region): Declare unused variables with
39735 `__attribute__ ((unused))' to silence a gcc warning.
39736 * normal/i386/setjmp.S: Remove tab at the end of the file to
39737 silence a gcc warning.
39738 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
39739 variables with `__attribute__ ((unused))' to silence a gcc
39740 warning.
39741 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
39742 local variable i unsigned to silence a gcc warning.
39743
39744 * kern/term.c: Include <pupa/misc.h>.
39745 (pupa_more_lines): New variable.
39746 (pupa_more): Likewise.
39747 (pupa_putcode): When the pager is active pause at the end of every
39748 screen.
39749 (pupa_set_more): New function.
39750 * include/pupa/term.h (pupa_set_more): New prototype.
39751
39752
39753 2004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
39754
39755 Now this project is GRUB 2 rather than PUPA. The location of
39756 the CVS repository was moved to GRUB's.
39757
39758 * configure.ac: Use bug-grub as the reporting address.
39759 Use GRUB instead of PUPA.
39760 Change the version number to 1.90.
39761
39762 2004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
39763
39764 * genkernsyms.sh: Updated copyright information.
39765 * genmk.rb: Likewise.
39766 * genmodsrc.sh: Likewise.
39767 * gensymlist.sh: Likewise.
39768 * boot/i386/pc/boot.S: Likewise.
39769 * boot/i386/pc/diskboot.S: Likewise.
39770 * disk/i386/pc/biosdisk.c: Likewise.
39771 * disk/i386/pc/partition.c: Likewise.
39772 * font/manager.c: Likewise.
39773 * fs/ext2.c: Likewise.
39774 * fs/fat.c: Likewise.
39775 * include/pupa/boot.h: Likewise.
39776 * include/pupa/device.h: Likewise.
39777 * include/pupa/disk.h: Likewise.
39778 * include/pupa/dl.h: Likewise.
39779 * include/pupa/elf.h: Likewise.
39780 * include/pupa/err.h: Likewise.
39781 * include/pupa/file.h: Likewise.
39782 * include/pupa/font.h: Likewise.
39783 * include/pupa/fs.h: Likewise.
39784 * include/pupa/kernel.h: Likewise.
39785 * include/pupa/loader.h: Likewise.
39786 * include/pupa/misc.h: Likewise.
39787 * include/pupa/mm.h: Likewise.
39788 * include/pupa/net.h: Likewise.
39789 * include/pupa/normal.h: Likewise.
39790 * include/pupa/rescue.h: Likewise.
39791 * include/pupa/setjmp.h: Likewise.
39792 * include/pupa/symbol.h: Likewise.
39793 * include/pupa/term.h: Likewise.
39794 * include/pupa/types.h: Likewise.
39795 * include/pupa/i386/setjmp.h: Likewise.
39796 * include/pupa/i386/types.h: Likewise.
39797 * include/pupa/i386/pc/biosdisk.h: Likewise.
39798 * include/pupa/i386/pc/boot.h: Likewise.
39799 * include/pupa/i386/pc/console.h: Likewise.
39800 * include/pupa/i386/pc/init.h: Likewise.
39801 * include/pupa/i386/pc/kernel.h: Likewise.
39802 * include/pupa/i386/pc/linux.h: Likewise.
39803 * include/pupa/i386/pc/loader.h: Likewise.
39804 * include/pupa/i386/pc/memory.h: Likewise.
39805 * include/pupa/i386/pc/multiboot.h: Likewise.
39806 * include/pupa/i386/pc/partition.h: Likewise.
39807 * include/pupa/i386/pc/time.h: Likewise.
39808 * include/pupa/i386/pc/vga.h: Likewise.
39809 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
39810 * include/pupa/util/getroot.h: Likewise.
39811 * include/pupa/util/misc.h: Likewise.
39812 * include/pupa/util/resolve.h: Likewise.
39813 * kern/device.c: Likewise.
39814 * kern/disk.c: Likewise.
39815 * kern/dl.c: Likewise.
39816 * kern/err.c: Likewise.
39817 * kern/file.c: Likewise.
39818 * kern/fs.c: Likewise.
39819 * kern/loader.c: Likewise.
39820 * kern/main.c: Likewise.
39821 * kern/misc.c: Likewise.
39822 * kern/mm.c: Likewise.
39823 * kern/rescue.c: Likewise.
39824 * kern/term.c: Likewise.
39825 * kern/i386/dl.c: Likewise.
39826 * kern/i386/pc/init.c: Likewise.
39827 * kern/i386/pc/lzo1x.S: Likewise.
39828 * kern/i386/pc/startup.S: Likewise.
39829 * loader/i386/pc/chainloader.c: Likewise.
39830 * loader/i386/pc/linux.c: Likewise.
39831 * loader/i386/pc/multiboot.c: Likewise.
39832 * normal/cmdline.c: Likewise.
39833 * normal/command.c: Likewise.
39834 * normal/main.c: Likewise.
39835 * normal/menu.c: Likewise.
39836 * normal/i386/setjmp.S: Likewise.
39837 * term/i386/pc/console.c: Likewise.
39838 * term/i386/pc/vga.c: Likewise.
39839 * util/console.c: Likewise.
39840 * util/genmoddep.c: Likewise.
39841 * util/misc.c: Likewise.
39842 * util/pupa-emu.c: Likewise.
39843 * util/resolve.c: Likewise.
39844 * util/unifont2pff.rb: Likewise.
39845 * util/i386/pc/biosdisk.c: Likewise.
39846 * util/i386/pc/getroot.c: Likewise.
39847 * util/i386/pc/pupa-mkimage.c: Likewise.
39848 * util/i386/pc/pupa-setup.c: Likewise.
39849
39850 2004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
39851
39852 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
39853 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
39854 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
39855 reading and reset it after reading.
39856 (pupa_ext2_close): Return PUPA_ERR_NONE.
39857
39858 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
39859 Correct value.
39860 (struct linux_kernel_header): Add kernel_version and
39861 initrd_addr_max.
39862 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
39863 pupa_file_read succeeds.
39864 (pupa_rescue_cmd_initrd): Implement.
39865
39866 2003-12-03 Marco Gerards <metgerards@student.han.nl>
39867
39868 * fs/ext2.c (pupa_ext2_label): New function.
39869 (pupa_ext2_fs): Added label.
39870 * fs/fat.c (pupa_fat_label): New function.
39871 (pupa_fat_fs): Added label.
39872 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
39873
39874 * kern/misc.c (pupa_strndup): New function.
39875 * include/pupa/misc.h (pupa_strndup): New prototype.
39876
39877 * include/pupa/normal.h: Include <pupa/err.h>.
39878 (pupa_set_history): New prototype.
39879 (pupa_iterate_commands): New prototype.
39880 * normal/cmdline.c: Include <pupa/machine/partition.h>,
39881 <pupa/disk.h>, <pupa/file.h>.
39882 (hist_size): New variable.
39883 (hist_lines): Likewise.
39884 (hist_end): Likewise.
39885 (hist_used): Likewise.
39886 (pupa_set_history): New function.
39887 (pupa_history_get): Likewise.
39888 (pupa_history_add): Likewise.
39889 (pupa_history_replace): Likewise.
39890 (pupa_tab_complete): Likewise.
39891 (pupa_cmdline_run): Added tab completion and history buffer. Tab
39892 completion shows partitionnames while completing partitions, this
39893 feature was suggested by Jeff Bailey.
39894 * normal/command.c (pupa_iterate_commands): New function.
39895 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
39896 (pupa_normal_init): Initialize history buffer.
39897 (PUPA_MOD_INIT): Likewise.
39898 (pupa_normal_fini): Free the history buffer.
39899 (PUPA_MOD_FINI): Likewise.
39900
39901 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
39902 key.
39903
39904 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
39905 * configure.ac [i386]: Check for regparam bug.
39906 (NESTED_FUNC_ATTR) [! i386]: Defined.
39907
39908 2003-11-17 Marco Gerards <metgerards@student.han.nl>
39909
39910 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
39911 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
39912 (pupa_emu_SOURCES): New variable.
39913 (pupa_emu_LDFLAGS): Likewise.
39914 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
39915 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
39916 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
39917 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
39918 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
39919 (pupa_jmp_buf): New typedef.
39920 (pupa_setjmp) [PUPA_UTIL]: New macro.
39921 (pupa_longjmp) [PUPA_UTIL]: Likewise.
39922 * include/pupa/term.h (struct pupa_term): New member `refresh'.
39923 (pupa_refresh): New prototype.
39924 * include/pupa/util/getroot.h: New file.
39925 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
39926 it.
39927 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
39928 (pupa_rescue_cmd_cat): Likewise.
39929 (pupa_rescue_cmd_ls): Likewise.
39930 (pupa_rescue_cmd_testload): Likewise.
39931 (pupa_rescue_cmd_lsmod): Likewise.
39932 * normal/cmdline.c (pupa_cmdline_get): Likewise.
39933 * normal/menu.c (run_menu): Likewise.
39934 * kern/term.c (pupa_cls): Likewise.
39935 (pupa_refresh): New function.
39936 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
39937 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
39938 * util/console.c: New file.
39939
39940 * util/i386/pc/getroot.c: New file.
39941 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
39942 (pupa_putchar): New function.
39943 (pupa_refresh): Likewise.
39944 (xgetcwd): Function moved to ...
39945 (strip_extra_slashes): Likewise.
39946 (get_prefix): Likewise.
39947 * util/i386/pc/getroot.c: ... here.
39948 (find_root_device): Function moved and renamed to...
39949 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
39950 Changed all callers.
39951 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
39952 and renamed to...
39953 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
39954 Changed all callers.
39955 * util/misc.c (pupa_memalign): New function.
39956 (pupa_mm_init_region): Likewise.
39957 (pupa_register_exported_symbols): Likewise.
39958 (pupa_putchar): Function removed.
39959 * util/pupa-emu.c: New file.
39960
39961 2003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
39962
39963 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
39964 (_multiboot_mod_SOURCES): New variable.
39965 (_multiboot_mod_CFLAGS): Likewise.
39966 * loader/i386/pc/multiboot.c: New file.
39967 * include/pupa/i386/pc/multiboot.h: Likewise.
39968 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
39969 (pupa_multiboot_real_boot): New function.
39970 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
39971 (pupa_multiboot_real_boot): New prototype.
39972 (pupa_rescue_cmd_multiboot): Likewise
39973 (pupa_rescue_cmd_module): Likewise.
39974
39975 * kern/loader.c (pupa_loader_set): Continue when
39976 pupa_loader_unload_func() fails.
39977 (pupa_loader_unset): New function.
39978 * include/pupa/loader.h (pupa_loader_unset): New prototype.
39979
39980 * kern/misc.c (pupa_stpcpy): New function.
39981 * include/pupa/misc.h (pupa_stpcpy): New prototype.
39982
39983 2003-11-12 Marco Gerards <metgerards@student.han.nl>
39984
39985 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
39986 for available extensions.
39987
39988 * include/pupa/i386/pc/time.h: New file.
39989 * kern/disk.c: Include <pupa/machine/time.h>.
39990 (PUPA_CACHE_TIMEOUT): New macro.
39991 (pupa_last_time): New variable.
39992 (pupa_disk_open): Flush the cache when there was a timeout.
39993 (pupa_disk_close): Reset the timer.
39994 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
39995 pupa_currticks.
39996 * util/misc.c: Include <sys/times.h>
39997 (pupa_get_rtc): New function.
39998
39999 2003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
40000
40001 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
40002 as blocks.
40003 (pupa_ext2_get_file_block): Use blocks member.
40004
40005 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
40006 first block. Return -1 instead of pupa_errno on error.
40007
40008 2003-10-27 Marco Gerards <metgerards@student.han.nl>
40009
40010 * README: In the pupa-mkimage example use _chain instead of chain
40011 and ext2 instead of fat.
40012 * TODO: Replace ext2fs with jfs as an example. Add an item for
40013 adding journal playback for ext2fs.
40014 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
40015 (pkgdata_MODULES): Added ext2.mod.
40016 (ext2_mod_SOURCES): New variable.
40017 (ext2_mod_CFLAGS): Likewise.
40018 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
40019 * include/pupa/misc.h (pupa_strncpy): New prototype.
40020 (pupa_strcat): Likewise.
40021 (pupa_strncmp): Likewise.
40022 * kern/misc.c (pupa_strcat): Enable function.
40023 (pupa_strncpy): New function.
40024 (pupa_strncmp): Likewise.
40025 * fs/ext2.c: New file.
40026
40027 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
40028 when the read failed before retrying.
40029 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
40030 (_FILE_OFFSET_BITS): Likewise.
40031 * configure.ac: Added AC_SYS_LARGEFILE.
40032
40033 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
40034
40035 * genmk.rb (PModule#rule): Make sure to get only symbol names
40036 from the output of nm.
40037 Reported by Robert Millan <rmh.grub@aybabtu.com>.
40038
40039 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
40040
40041 I forgot to check in these changes for a long time. This adds
40042 incomplete support for VGA console, and this is still very
40043 buggy. Also, a lot of consideration is required for I18N,
40044 UNICODE, and VGA font issues. Therefore, assume that this is
40045 such that "better than nothing".
40046
40047 * font/manager.c: New file.
40048 * include/pupa/font.h: Likewise.
40049 * include/pupa/i386/pc/vga.h: Likewise.
40050 * term/i386/pc/vga.c: Likewise.
40051 * util/unifont2pff.rb: Likewise.
40052
40053 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
40054 (pkgdata_MODULES): Added vga.mod and font.mod.
40055 (vga_mod_SOURCES): New variables.
40056 (vga_mod_CFLAGS): Likewise.
40057 (font_mod_SOURCES): Likewise.
40058 (font_mod_CFLAGS): Likewise.
40059
40060 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
40061
40062 * include/pupa/term.h: Include pupa/err.h.
40063 (struct pupa_term): Added init and fini.
40064 Changed the argument of putchar to pupa_uint32_t.
40065
40066 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
40067 (pupa_console_real_putchar): New prototype.
40068 (pupa_console_putchar): Removed.
40069 (pupa_console_checkkey): Exported.
40070 (pupa_console_getkey): Likewise.
40071
40072 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
40073 characters.
40074
40075 * kern/term.c (pupa_term_set_current): Rewritten.
40076 (pupa_putchar): Likewise.
40077 (pupa_putcode): New function.
40078
40079 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
40080 (pupa_console_real_putchar): ... this.
40081 (pupa_vga_set_mode): New function.
40082 (pupa_vga_get_font): Likewise.
40083
40084 * normal/command.c: Include pupa/term.h.
40085 (terminal_command): New function.
40086 (pupa_command_init): Register the command "terminal".
40087
40088 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
40089 (DISP_UP): Likewise.
40090 (DISP_RIGHT): Likewise.
40091 (DISP_DOWN): Likewise.
40092 (DISP_HLINE): Likewise.
40093 (DISP_VLINE): Likewise.
40094 (DISP_UL): Likewise.
40095 (DISP_UR): Likewise.
40096 (DISP_LL): Likewise.
40097 (DISP_LR): Likewise.
40098
40099 * term/i386/pc/console.c (pupa_console_putchar): New function.
40100
40101 2003-02-08 NIIBE Yutaka <gniibe@m17n.org>
40102
40103 * util/resolve.c (pupa_util_resolve_dependencies): BUG
40104 FIX. Reverse the path_list.
40105
40106 * include/pupa/normal.h: Export pupa_register_command and
40107 pupa_unregister_command.
40108
40109 * hello/hello.c (pupa_cmd_hello): New module.
40110 * conf/i386-pc.rmk: Added hello.mod.
40111
40112 2003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
40113
40114 * kern/i386/pc/lzo1x.S: New file.
40115
40116 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
40117 (compress_kernel): New variable.
40118 (generate_image): Heavily modified to support compressing a
40119 large part of the core image.
40120
40121 * util/misc.c (pupa_util_read_image): Fix a file descriptor
40122 leak.
40123 (pupa_util_load_image): New function.
40124
40125 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
40126 (pupa_compressed_size): New variable.
40127 (codestart): Enable Gate A20 here.
40128 Decompress the compressed part of the core image.
40129 Rearrange the code to put functions and variables which are
40130 required for initialization in the non-compressed part.
40131 Include lzo1x.S.
40132
40133 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
40134 here.
40135
40136 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
40137
40138 * include/pupa/i386/pc/kernel.h
40139 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
40140 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
40141 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
40142 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
40143 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
40144
40145 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
40146
40147 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
40148 (Utility#rule): Likewise.
40149
40150 * configure.ac: Check if LZO is available.
40151
40152 2003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
40153
40154 * include/pupa/normal.h: New file.
40155 * include/pupa/setjmp.h: Likewise.
40156 * include/pupa/i386/setjmp.h: Likewise.
40157 * normal/cmdline.c: Likewise.
40158 * normal/command.c: Likewise.
40159 * normal/main.c: Likewise.
40160 * normal/menu.c: Likewise.
40161 * normal/i386/setjmp.S: Likewise.
40162
40163 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
40164 (pupa_rescue_cmd_initrd): Likewise.
40165
40166 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
40167 Likewise.
40168
40169 * kern/i386/pc/startup.S (translation_table): New variable.
40170 (translate_keycode): New function.
40171 (pupa_console_getkey): Call translate_keycode.
40172
40173 * kern/rescue.c (attempt_normal_mode): New function.
40174 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
40175 it failed, print a message.
40176
40177 * kern/mm.c (pupa_real_malloc): Print more information when a
40178 free magic is broken.
40179 (pupa_free): If the first free header is not free actually, set
40180 it to P.
40181
40182 * kern/main.c (pupa_load_normal_mode): Just load the module
40183 "normal".
40184 (pupa_main): Don't print the message
40185 "Entering into rescue mode..." here.
40186
40187 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
40188 Declared.
40189 (pupa_rescue_cmd_initrd): Likewise.
40190 (pupa_rescue_cmd_initrd): Likewise.
40191
40192 * include/pupa/symbol.h (FUNCTION): Specify the type.
40193 (VARIABLE): Likewise.
40194
40195 * include/pupa/err.h (pupa_err_t): Added
40196 PUPA_ERR_UNKNOWN_COMMAND.
40197
40198 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
40199 (pupa_dl_get_prefix): Likewise.
40200
40201 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
40202 Added _chain.mod and _linux.mod instead of chain.mod and
40203 linux.mod.
40204 (chain_mod_SOURCES): Renamed to ...
40205 (_chain_mod_SOURCES): ... this.
40206 (chain_mod_CFLAGS): Renamed to ...
40207 (_chain_mod_CFLAGS): ... this.
40208 (linux_mod_SOURCES): Renamed to ...
40209 (_linux_mod_SOURCES): ... this.
40210 (linux_mod_CFLAGS): Renamed to ...
40211 (_linux_mod_CFLAGS): ... this.
40212 (normal_mod_SOURCES): New variable.
40213 (normal_mod_CFLAGS): Likewise.
40214 (normal_mod_ASFLAGS): Likewise.
40215
40216 2003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
40217
40218 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
40219 possible.
40220
40221 * kern/dl.c (pupa_dl_ref): Refer depending modules
40222 recursively.
40223 (pupa_dl_unref): Unrefer depending modules recursively.
40224 Don't call pupa_dl_unload implicitly, because PUPA can crash if
40225 a module is unloaded before one depending on that module is
40226 unloaded.
40227 (pupa_dl_unload): Unload depending modules explicitly,
40228 if possible.
40229
40230 2003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
40231
40232 * include/pupa/i386/pc/linux.h: New file.
40233 * loader/i386/pc/linux.c: Likewise.
40234
40235 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
40236 Removed.
40237 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
40238 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
40239 of PUPA_CHAINLOADER_BOOT_SECTOR.
40240
40241 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
40242 (pupa_linux_prot_size): New variable.
40243 (pupa_linux_tmp_addr): Likewise.
40244 (pupa_linux_real_addr): Likewise.
40245 (pupa_linux_boot_zimage): New function.
40246 (pupa_linux_boot_bzimage): Likewise.
40247
40248 * kern/i386/pc/init.c (struct mem_region): New structure.
40249 (MAX_REGIONS): New macro.
40250 (mem_regions): New variable.
40251 (num_regions): Likewise.
40252 (pupa_os_area_addr): Likewise.
40253 (pupa_os_area_size): Likewise.
40254 (pupa_lower_mem): Likewise.
40255 (pupa_upper_mem): Likewise.
40256 (add_mem_region): New function.
40257 (compact_mem_regions): Likewise.
40258 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
40259 the size of the conventional memory and that of so-called upper
40260 memory (before the first memory hole).
40261 Instead of adding each found region to free memory, use
40262 add_mem_region and add them after removing overlaps.
40263 Also, add only 1/4 of the upper memory to free memory. The rest
40264 is used for loading OS images. Maybe this is ad hoc, but this
40265 makes it much easier to relocate OS images when booting.
40266
40267 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
40268 (pupa_enter_rescue_mode): Don't register initrd and module.
40269
40270 * kern/mm.c: Include pupa/dl.h.
40271
40272 * kern/main.c: Include pupa/file.h and pupa/device.h.
40273
40274 * kern/loader.c (pupa_loader_load_module_func): Removed.
40275 (pupa_loader_load_module): Likewise.
40276
40277 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
40278 ``.o''.
40279
40280 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
40281 (pupa_linux_tmp_addr): Likewise.
40282 (pupa_linux_real_addr): Likewise.
40283 (pupa_linux_boot_zimage): Likewise.
40284 (pupa_linux_boot_bzimage): Likewise.
40285
40286 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
40287 (pupa_upper_mem): Likewise.
40288 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
40289 module is too dangerous.
40290
40291 * include/pupa/loader.h (pupa_os_area_addr): Declared.
40292 (pupa_os_area_size): Likewise.
40293 (pupa_loader_set): Remove the first argument. Loader doesn't
40294 manage modules or initrd any longer.
40295 (pupa_loader_load_module): Removed.
40296
40297 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
40298 (linux_mod_SOURCES): New variable.
40299 (linux_mod_CFLAGS): Likewise.
40300
40301 2003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
40302
40303 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
40304 the length of a blocklist correctly.
40305
40306 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
40307 Use ioctl only if the OS file is a block device.
40308 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
40309 not very useful for normal files.
40310
40311 * kern/main.c (pupa_set_root_dev): New function.
40312 (pupa_load_normal_mode): Likewise.
40313 (pupa_main): Call those above.
40314
40315 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
40316 pupa_uint16_t.
40317
40318 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
40319
40320 2003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
40321
40322 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
40323 (setup): Configure the installed partition information and the
40324 dl prefix.
40325
40326 * loader/i386/pc/chainloader.c (my_mod): New variable.
40327 (pupa_chainloader_unload): New function.
40328 (pupa_rescue_cmd_chainloader): Refer itself.
40329 (PUPA_MOD_INIT): Save its own module in MY_MOD.
40330
40331 * kern/i386/pc/startup.S (install_partition): Removed.
40332 (version_string): Likewise.
40333 (config_file): Likewise.
40334 (pupa_install_dos_part): New variable.
40335 (pupa_install_bsd_part): Likewise.
40336 (pupa_prefix): Likewise.
40337 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
40338
40339 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
40340 and pupa/misc.h.
40341 (make_install_device): New function.
40342 (pupa_machine_init): Set the dl prefix.
40343
40344 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
40345 (buf): Renamed to ...
40346 (linebuf): ... this.
40347 (pupa_rescue_cmd_prefix): New function.
40348 (pupa_rescue_cmd_insmod): Likewise.
40349 (pupa_rescue_cmd_rmmod): Likewise.
40350 (pupa_rescue_cmd_lsmod): Likewise.
40351 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
40352 rmmod and lsmod.
40353
40354 * kern/mm.c (pupa_memalign): If failed even after invalidating
40355 disk caches, unload unneeded modules and retry.
40356
40357 * kern/misc.c (pupa_memmove): New function.
40358 (pupa_memcpy): Removed.
40359 (pupa_strcpy): New function.
40360 (pupa_itoa): Made static.
40361
40362 * kern/dl.c (pupa_dl_iterate): New function.
40363 (pupa_dl_ref): Likewise.
40364 (pupa_dl_unref): Likewise.
40365 (pupa_dl_unload): Return if succeeded or not.
40366 (pupa_dl_unload_unneeded): New function.
40367 (pupa_dl_unload_all): Likewise.
40368 (pupa_dl_init): Renamed to ...
40369 (pupa_dl_set_prefix): ... this.
40370 (pupa_dl_get_prefix): New function.
40371
40372 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
40373 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
40374 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
40375 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
40376 (pupa_install_dos_part): Declared.
40377 (pupa_install_bsd_part): Likewise.
40378 (pupa_prefix): Likewise.
40379 (pupa_boot_drive): Likewise.
40380
40381 * include/pupa/types.h: Fix a typo.
40382
40383 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
40384 pupa_memmove.
40385 (pupa_memmove): Declared.
40386 (pupa_strcpy): Likewise.
40387
40388 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
40389 pupa_mod_init takes one argument, its own module.
40390 (pupa_dl_unload_unneeded): Declared.
40391 (pupa_dl_unload_all): Likewise.
40392 (pupa_dl_ref): Likewise.
40393 (pupa_dl_unref): Likewise.
40394 (pupa_dl_iterate): Likewise.
40395 (pupa_dl_init): Renamed to ...
40396 (pupa_dl_set_prefix): ... this.
40397 (pupa_dl_get_prefix): Declared.
40398
40399 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
40400 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
40401 unloaded.
40402 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
40403 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
40404
40405 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
40406 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
40407
40408 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
40409
40410 * util/i386/pc/pupa-setup.c (setup): Define the internal
40411 function find_first_partition_start at the top level, because GCC
40412 3.0.x cannot compile internal functions in deeper scopes
40413 correctly.
40414 (find_root_device): Use lstat instead of stat.
40415 Don't follow symbolic links.
40416 Fix the path-constructing code.
40417
40418 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
40419 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
40420 by a BLKGETSIZE ioctl first, because block devices don't fill
40421 the member st_mode of the structure stat on Linux.
40422 [__linux__] (linux_find_partition): Use a temporary buffer
40423 REAL_DEV for the working space. Copy it to DEV before returning.
40424 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
40425 buffer cache consistent.
40426 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
40427 strncmp. The previous value was merely wrong.
40428 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
40429
40430 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
40431 FAT size is 12. The previous value was merely wrong.
40432
40433 * kern/main.c (pupa_main): Don't split the starting message from
40434 newlines.
40435
40436 * kern/term.c (pupa_putchar): Put CR after LF instead of before
40437 LF, because BIOS goes crazy about character attributes in this
40438 case.
40439
40440 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
40441
40442 * include/i386/pc/util/biosdisk.h: New file.
40443 * util/i386/pc/biosdisk.c: Likewise.
40444 * util/i386/pc/pupa-setup.c: Likewise.
40445
40446 * Makefile.in (INCLUDE_DISTFILES): Added
40447 include/pupa/i386/pc/util/biosdisk.h.
40448 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
40449 directory util/i386/pc.
40450 (install-local): Added a rule for sbin_UTILITIES.
40451 (uninstall): Likewise.
40452
40453 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
40454
40455 * util/misc.c (xrealloc): New function.
40456 (pupa_malloc): Likewise.
40457 (pupa_free): Likewise.
40458 (pupa_realloc): Likewise.
40459 (pupa_stop): Likewise.
40460 (pupa_putchar): Likewise.
40461
40462 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
40463
40464 * include/pupa/util/misc.h (xrealloc): Declared.
40465
40466 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
40467 macro.
40468 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
40469 (PUPA_BOOT_MACHINE_BPB_END): ... this.
40470
40471 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
40472 [PUPA_UTIL] (pupa_fat_fini): Likewise.
40473
40474 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
40475 way should be implemented.
40476 [PUPA_UTIL] (pupa_fat_fini): Likewise.
40477
40478 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
40479 the size of NAME for safety.
40480 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
40481 0x88.
40482
40483 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
40484 (pupa_setup_SOURCES): Likewise.
40485
40486 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
40487
40488 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
40489
40490 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
40491 bunch of pushl's from pusha, because this destroys the return
40492 value.
40493
40494 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
40495
40496 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
40497 This means that any missing prototypes could be fatal. Also, you
40498 must take care when writing assembly code. See the comments at
40499 the beginning of startup.S, for more details.
40500
40501 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
40502 compilation mechanism.
40503 (pupa_chainloader_real_boot): Likewise.
40504 (pupa_biosdisk_rw_int13_extensions): Likewise.
40505 (pupa_biosdisk_rw_standard): Likewise.
40506 (pupa_biosdisk_check_int13_extensions): Likewise.
40507 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
40508 (pupa_biosdisk_get_diskinfo_standard): Likewise.
40509 (pupa_get_memsize): Likewise.
40510 (pupa_get_mmap_entry): Likewise.
40511 (pupa_console_putchar): Likewise.
40512 (pupa_console_setcursor): Likewise.
40513 (pupa_getrtsecs): Use pushl instead of push.
40514
40515 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
40516 memory instead of the stack for a mmap entry, because some
40517 BIOSes may ignore the maximum size and overflow.
40518
40519 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
40520
40521 * genmk.rb (PModule#rule): Compile automatically generated
40522 sources with module-specific CFLAGS as well as other sources.
40523
40524 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
40525
40526 * configure.ac: Check ld.
40527 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
40528 respectively, before checking endianness and sizes.
40529
40530 * Makefile.in (LD): New variable.
40531
40532 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
40533
40534 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
40535
40536 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
40537
40538 * Changelog: New file.
40539