]> git.proxmox.com Git - grub2.git/blob - ChangeLog
Move grub_chainloader_real_boot out of the kernel.
[grub2.git] / ChangeLog
1 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2
3 Move grub_chainloader_real_boot out of the kernel.
4
5 * grub-core/Makefile.am: Remove machine/loader.h.
6 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
7 Removed.
8 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
9 variable.
10 (grub_relocator16_keep_a20_enabled): Likewise.
11 (grub_relocator16_boot): Fill new variables.
12 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
13 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
14 relocator.
15 (grub_chainloader_unload): Likewise.
16 (grub_chainloader_cmd): Likewise.
17 * include/grub/i386/pc/loader.h: Removed.
18 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
19 and esi. All initialisers updated.
20
21 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
22 2011-11-12 Colin Watson <cjwatson@ubuntu.com>
23
24 * Makefile.util.def (grub-mount): New util.
25 * .bzrignore: Add grub-mount.
26 * configure.ac: Check for fuse and enable grub-mount if available.
27 * docs/man/grub-mount.h2m: New file.
28 * util/grub-mount.c: Likewise.
29
30 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
31
32 * grub-core/commands/efi/fixvideo.c: Gettextize.
33 * grub-core/commands/hashsum.c: Likewise.
34 * grub-core/commands/i386/cmostest.c: Likewise.
35 * grub-core/commands/i386/pc/drivemap.c: Likewise.
36 * grub-core/commands/i386/pc/lsapm.c: Likewise.
37 * grub-core/commands/i386/pc/sendkey.c: Likewise.
38 * grub-core/commands/lsmmap.c: Likewise.
39 * grub-core/commands/menuentry.c: Likewise.
40 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
41 * grub-core/commands/setpci.c: Likewise.
42 * grub-core/loader/i386/bsd.c: Likewise.
43 * grub-core/loader/i386/linux.c: Likewise.
44 * util/getroot.c: Likewise.
45 * util/grub-editenv.c: Likewise.
46 * util/grub-fstest.c: Likewise.
47 * util/grub-mkfont.c: Likewise.
48 * util/grub-mkimage.c: Likewise.
49 * util/grub-mkpasswd-pbkdf2.c: Likewise.
50 * util/grub-pe2elf.c: Likewise.
51 * util/grub-probe.c: Likewise.
52 * util/grub-setup.c: Likewise.
53 * util/ieee1275/ofpath.c: Likewise.
54 * util/misc.c: Likewise.
55 * util/raid.c: Likewise.
56
57 2011-11-11 Robert Millan <rmh@gnu.org>
58
59 * util/getroot.c (grub_util_get_geom_abstraction): Remove
60 __attribute__((unused)) from `os_dev', which *is* being used.
61
62 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
63
64 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
65 forgotten define.
66 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
67 GRUB_IA64_DL_GOT_ALIGN.
68 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
69 GRUB_IA64_DL_TRAMP_ALIGN.
70
71 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
72
73 Replace grub_fatal with normal errors in i386 linux loader.
74
75 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
76 (allocate_pages): Check find_efi_mmap_size return value.
77 (grub_e820_add_region): Return error.
78 (grub_linux_boot): Check mmap return value.
79
80 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
81
82 * grub-core/commands/acpihalt.c: Gettextized.
83 * grub-core/commands/cacheinfo.c: Likewise.
84 * grub-core/commands/cmp.c: Likewise.
85 * grub-core/commands/efi/loadbios.c: Likewise.
86 * grub-core/commands/gptsync.c: Likewise.
87 * grub-core/commands/ieee1275/suspend.c: Likewise.
88 * grub-core/commands/legacycfg.c: Likewise.
89 * grub-core/commands/memrw.c: Likewise.
90 * grub-core/commands/minicmd.c: Likewise.
91 * grub-core/commands/parttool.c: Likewise.
92 * grub-core/commands/time.c: Likewise.
93 * grub-core/commands/videoinfo.c: Likewise.
94 * grub-core/disk/geli.c: Likewise.
95 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
96 * grub-core/disk/luks.c: Likewise.
97 * grub-core/disk/lvm.c: Likewise.
98 * grub-core/font/font_cmd.c: Likewise.
99 * grub-core/fs/zfs/zfscrypt.c: Likewise.
100 * grub-core/fs/zfs/zfsinfo.c: Likewise.
101 * grub-core/gfxmenu/view.c: Likewise.
102 * grub-core/kern/emu/hostdisk.c: Likewise.
103 * grub-core/kern/emu/main.c: Likewise.
104 * grub-core/kern/emu/misc.c: Likewise.
105 * grub-core/kern/emu/mm.c: Likewise.
106 * grub-core/kern/mips/arc/init.c: Likewise.
107 * grub-core/kern/mips/loongson/init.c: Likewise.
108 * grub-core/kern/partition.c: Likewise.
109 * grub-core/lib/i386/halt.c: Likewise.
110 * grub-core/lib/mips/arc/reboot.c: Likewise.
111 * grub-core/lib/mips/loongson/reboot.c: Likewise.
112 * grub-core/loader/i386/pc/chainloader.c: Likewise.
113 * grub-core/loader/i386/xnu.c: Likewise.
114 * grub-core/loader/multiboot.c: Likewise.
115 * grub-core/net/bootp.c: Likewise.
116 * grub-core/net/net.c: Likewise.
117 * grub-core/normal/term.c: Likewise.
118 * grub-core/partmap/bsdlabel.c: Likewise.
119 * grub-core/parttool/msdospart.c: Likewise.
120 * grub-core/term/gfxterm.c: Likewise.
121 * grub-core/term/terminfo.c: Likewise.
122 * grub-core/video/i386/pc/vbe.c: Likewise.
123 * util/grub-menulst2cfg.c: Likewise.
124 * util/grub-mkdevicemap.c: Likewise.
125 * util/grub-mklayout.c: Likewise.
126 * util/grub-mkrelpath.c: Likewise.
127 * util/grub-script-check.c: Likewise.
128 * util/ieee1275/grub-ofpathname.c: Likewise.
129 * util/resolve.c: Likewise.
130
131 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
132
133 Support %1$d syntax.
134
135 * tests/printf_unit_test.c: New file.
136 * Makefile.util.def (printf_test): New test.
137 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
138
139 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
140
141 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
142 fix.
143
144 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
145
146 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
147 dprintf.
148 * grub-core/font/font.c (grub_font_load): Likewise.
149
150 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
151
152 * util/grub-macho2img.c: Add comment concerning gettext.
153 * grub-core/lib/legacy_parse.c: Likewise.
154
155 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
156
157 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
158 (grub_xvasprintf): Likewise.
159
160 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
161
162 Add const keyword to grub_env_get and gettextize week days.
163
164 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
165 (grub_read_hook_datetime): Return const char *.
166 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
167 updated.
168 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
169 Mark for gettext.
170 (grub_get_weekday_name): Return const char *. Call gettext.
171 * grub-core/script/argv.c (grub_script_argv_append): Receive const
172 char * and len as the argument. All users updated.
173 (grub_script_argv_split_append): Receive const char *.
174 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
175 * include/grub/env.h (grub_env_get): Likewise.
176 (grub_env_read_hook_t): Return const char *.
177 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
178 (grub_script_argv_split_append): Likewise.
179
180 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
181
182 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
183
184 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
185
186 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
187 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
188
189 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
190
191 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
192 Fix prototype.
193
194 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
195
196 Fix mips compilation.
197
198 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
199 normal decoder.
200 (hashes): Use in embed decoder as well (for sizes).
201 (dec_stream_header): Fix embed decompressor logic.
202 (dec_stream_footer): Likewise.
203
204 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
205
206 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
207 an error and not a fatal on unrecognised relocation types.
208
209 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
210
211 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
212 Issue error rather than printf on unknown arguments.
213
214 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
215
216 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
217 Make buf a const.
218
219 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
220
221 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
222 Fix module name.
223
224 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
225
226 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
227 leftover debug printf.
228
229 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
230
231 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
232
233 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
234
235 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
236 A stylistic fix.
237
238 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
239
240 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
241
242 2011-11-10 Shea Levy <slevy@tieronedesign.com>
243
244 Allow all modules to perform serial IO
245
246 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
247 * include/grub/serial.h (grub_serial_port_configure): New inline
248 function.
249 (grub_serial_port_fetch): Likewise.
250 (grub_serial_port_put): Likewise.
251 (grub_serial_port_fini): Likewise.
252 (grub_serial_find): New proto.
253
254 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
255
256 Put symlink at the end of the node and fix a potential
257 memory corruption.
258
259 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
260 Make symlink into an array.
261 (set_rockridge): Set have_symlink and alloc_dirents.
262 (grub_iso9660_read_symlink): Use new layout.
263 (grub_iso9660_iterate_dir): Fix memory corruption.
264 Use new layout.
265 (grub_iso9660_dir): Set have_symlink.
266 (grub_iso9660_open): Likewise.
267
268 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
269
270 Remove local keyword.
271
272 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
273 (version_test_gt): Likewise.
274 (version_find_latest): Likewise.
275 (gettext_printf): Likewise.
276 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
277
278 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
279
280 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
281
282 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
283
284 Fix ZFS memory and resource leaks.
285
286 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
287 All users updated.
288 Free type on exit.
289 (fill_vdev_info): New parameter inserted. All users updated.
290 (check_pool_label): Likewise.
291 (scan_disk): Likewise.
292 (scan_devices): Close non-inserted disks.
293 (fzap_iterate): Free l.
294 (unmount_device): Free children descripto memory.
295
296 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
297
298 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
299 argument (access out of bounds).
300
301 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
302
303 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
304 >= 6 drives.
305
306 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
307
308 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
309 Fix declaration.
310
311 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
312
313 Fix several memory leaks.
314
315 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
316 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
317 (grub_cpio_dir): Likewise.
318 * grub-core/fs/fat.c (grub_fat_label): Likewise.
319 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
320 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
321 (grub_romfs_label): Likewise.
322 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
323 (squash_unmount): New function.
324 (grub_squash_dir): Fix memory leak.
325 (grub_squash_open): Likewise.
326 (grub_squash_read): Likewise.
327 (grub_squash_mtime): Likewise.
328 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
329 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
330 * util/grub-fstest.c (fstest): Likewise.
331
332 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
333
334 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
335 avoid accessing beyond the array.
336
337 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
338
339 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
340
341 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
342
343 Several AFFS fixes.
344
345 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
346 (GRUB_AFFS_FLAG_FFS): Removed.
347 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
348 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
349 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
350 (grub_fshelp_node): Make block 32-bit.
351 Add block_cache and last_block_cache.
352 (grub_affs_read_block): Fill and use block cache.
353 (grub_affs_read_file): Removed.
354 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
355 boot block.
356 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
357 safety.
358 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
359 space.
360 (grub_affs_close): Free block cache.
361 (grub_affs_read): Use grub_fshelp_read_file directly.
362
363 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
364
365 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
366 with no error set.
367
368 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
369
370 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
371 used variable.
372 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
373 Likewise.
374
375 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
376
377 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
378
379 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
380 byteswap when needed.
381
382 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
383
384 Fix FreeBSD compilation.
385
386 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
387 to avoid circular dependency.
388 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
389 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
390 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
391
392 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
393
394 Fix ZFS crypto error types.
395
396 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
397 (grub_gcm_decrypt): Likewise.
398 (grub_zfs_load_key_real): Fix error code type. Handle possible error
399 from PBKDF2.
400
401 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
402
403 Illumos support.
404
405 * Makefile.util.def (10_illumos): New script.
406 * configure.ac: Set COND_HOST_ILLUMOS.
407 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
408 Support Illumos calls.
409 (find_partition_start) [__sun__]: Likewise.
410 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
411 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
412 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
413 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
414 device.
415 * util/grub-probe.c (probe) [__sun__]: Do character check.
416 * util/grub.d/10_illumos.in: New file.
417
418 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
419
420 Support escaped commas in hostdisk.
421
422 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
423 (find_grub_drive): Use unescape_cmp.
424 (make_device_name): Escape commas.
425
426 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
427
428 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
429
430 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
431
432 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
433 variable.
434
435 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
436
437 Support trampoline jumps on powerpc.
438
439 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
440 __ia64__ path.
441 (grub_dl_load_segments): Set mod->sz.
442 (grub_dl_flush_cache): Flush whole space occupied by module, not just
443 segments.
444 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
445 (jump): Likewise.
446 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
447 function.
448 (trampoline): New struct.
449 (trampoline_template): New const.
450 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
451 * include/grub/dl.h (grub_dl): Add sz element.
452 [__powerpc__]: Follow __ia64__.
453 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
454 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
455 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
456 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
457
458 2011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
459
460 ZFS crypto support.
461
462 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
463 * grub-core/Makefile.core.def (zfscrypt): New module.
464 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
465 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
466 it. All users updated.
467 (grub_zfs_decrypt): New var.
468 (grub_zfs_load_key): Likewise.
469 (zio_checksum_functions): Add SHA256+MAC.
470 (zio_checksum_verify): Handle incomplete comparison due to MAC.
471 (zio_read): Handle encrypted blocks.
472 (zap_verify): Remove incorrect check.
473 (fzap_iterate): Handle non-standard fzap.
474 (zap_iterate): Likewise.
475 (zap_iterate_u64): New function.
476 (dnode_get_fullpath): Load keys.
477 * grub-core/fs/zfs/zfscrypt.c: New file.
478 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
479 (grub_crypto_ecb_encrypt): Make input const.
480 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
481 (grub_crypto_ecb_encrypt): Make input const.
482 (GRUB_CIPHER_AES): New macro.
483 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
484 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
485 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
486 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
487 prefix. All users updated.
488 (grub_zfs_add_key): New proto.
489 (grub_zfs_decrypt): Likewise.
490 (grub_zfs_load_key): Likewise.
491 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
492 * util/grub-fstest.c (options): Add -K option.
493 (argp_parser): Likewise.
494
495 2011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
496
497 Support zle compression on ZFS.
498
499 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
500 (decomp_table): Add zle.
501 * include/grub/zfs/zio.h (zio_compress): Add zle.
502
503 2011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
504
505 Support BtrFS embedding.
506
507 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
508 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
509 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
510 * util/grub-setup.c (setup): Use fs embedding if available.
511 Add additional sanity check.
512
513 2011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
514
515 * util/grub-install.in: Fix condition for config_opt.
516
517 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
518
519 Support third redundancy strip on raidz3.
520
521 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
522 Return error on singularity. All users updated.
523 (read_device): Don't stop on 3rd failure on raidz3.
524
525 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
526
527 Support case-insensitive ZFS subvolumes.
528
529 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
530 All users updated.
531 (zap_hash): Likewise.
532 (name_cmp): New function.
533 (zap_leaf_array_equal): New parameter case_insensitive.
534 All users updated.
535 (zap_leaf_lookup): Likewise.
536 (fzap_lookup): Likewise.
537 (zap_lookup): Likewise.
538 (dnode_get_path): New parameter case_insensitive. Retrieve case
539 sensitiviness of a volume. All users updated.
540 (dnode_get_fullpath): New parameter case_insensitive.
541 All users updated.
542 (grub_zfs_dir): Set info.case_insensitiveness.
543
544 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
545
546 Support second redundancy strip on raidz(2,3).
547
548 * grub-core/fs/zfs/zfs.c (powx): New array.
549 (powx_inv): Likewise.
550 (poly): New const.
551 (xor_out): New function.
552 (gf_mul): Likewise.
553 (recovery): Likewise.
554 (read_device): Use second redundancy strip.
555
556 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
557
558 Use a power of generator representation of GF(256) multiplication group
559 to save space time and complexity.
560
561 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
562 (raid6_table2): Likewise.
563 (powx): New array.
564 (powx_inv): Likewise.
565 (poly): New const.
566 (grub_raid_block_mul): Replace with ...
567 (grub_raid_block_mulx): ...this.
568 (grub_raid6_init_table): Rewritten.
569 (grub_raid6_recover): Use power of generator representation.
570
571 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
572
573 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
574 for the right device.
575
576 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
577
578 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
579 expected by grub-mkimage and it's more clear since there is no implicit
580 padding.
581
582 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
583
584 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
585 disk.
586 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
587
588 2011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
589
590 * util/grub-mkrescue.in: Fix handling xorriso option.
591
592 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
593
594 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
595 NULL.
596
597 2011-11-03 crocket <crockabiscuit@gmail.com>
598
599 * util/grub.d/10_linux.in: Add Slackware initrd naming.
600
601 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
602
603 XZ CRC64 and SHA256 support.
604
605 * Makefile.util.def (libgrubmods): Add crc64.c.
606 * grub-core/Makefile.core.def (crc64): New module.
607 * grub-core/lib/crc64.c: New file.
608 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
609 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
610 Fix the type.
611 (MAX_HASH_SIZE): New define.
612 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
613 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
614 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
615 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
616 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
617 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
618 Handle non-crc32 hashes.
619 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
620 (dec_stream_header): Handle non-crc32 hashes.
621 (dec_stream_footer): Likewise.
622 (dec_block_header): Likewise.
623 (dec_main): Likewise.
624 (xz_dec_init): Likewise.
625 (xz_dec_reset): Likewise.
626 (xz_dec_end): Likewise.
627 * util/import_gcry.py: Add CRC64 line.
628
629 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
630
631 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
632 as well.
633
634 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
635
636 Make reiserfs label retrieval similar to other *_label functions.
637
638 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
639 (REISERFS_MAX_LABEL_LENGTH): Removed.
640 (REISERFS_LABEL_OFFSET): Likewise.
641 (grub_reiserfs_label): Rewritten.
642
643 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
644
645 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
646 field.
647
648 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
649
650 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
651
652 2011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
653
654 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
655 drive failure on both raidz and raidz2.
656
657 2011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
658
659 Fix RAIDZ(2) for >= 5 devices.
660
661 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
662 asize argument. All users updated.
663
664 2011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
665
666 Fix RAIDZ(2).
667
668 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
669 (fill_vdev_info_real): Set ashift.
670 (read_device): Rewrite RAIDZ part based on reverse engineering.
671
672 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
673
674 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
675 don't report potentially unavialiable fields in debug output.
676 (find_path): Fix double-free and memory leak.
677
678 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
679
680 Read label on UFS1.
681
682 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
683 (grub_ufs_fs): Always set .label.
684
685 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
686
687 Use shifts in UFS.
688
689 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
690 (grub_ufs_data): New field log2_blksz.
691 (grub_ufs_read_file): Use shifts.
692 (grub_ufs_mount): Check block size and logarithm it.
693
694 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
695
696 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
697 long symlinks.
698
699 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
700
701 Handle symlinks and long names on tar and cpio.
702
703 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
704 (ATTR_FILE): Likewise.
705 (ATTR_DIR): Likewise.
706 (ATTR_LNK): Likewise.
707 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
708 (grub_cpio_find_file): Fill mode, handle linkname field as well as
709 L and K entries.
710 (grub_cpio_mount): Zero-fill data.
711 (handle_symlink): New function.
712 (grub_cpio_dir): Handle symlinks.
713 (grub_cpio_open): Likewise.
714 (grub_cpio_close) [MODE_USTAR]: Free linkname.
715
716 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
717
718 Fix iso9660 filename limitations and fix memory leaks.
719
720 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
721 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
722
723 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
724
725 Fix JFS file name length limitations.
726
727 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
728 (grub_jfs_diropen): Fix maximum filename length.
729 (grub_jfs_getent): Fix filename length.
730 (grub_jfs_lookup_symlink): Fix size checks.
731
732 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
733
734 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
735 string.
736
737 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
738
739 Leverage BFS implementation to read AFS.
740
741 * Makefile.util.def (libgrubmods): Add afs.c.
742 * grub-core/Makefile.core.def (afs): New module
743 * grub-core/fs/afs.c: New file.
744 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
745
746 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
747
748 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
749
750 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
751
752 * grub-core/fs/bfs.c: Run indent.
753
754 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
755
756 BFS implementation based on the specification.
757
758 * grub-core/fs/bfs.c: New file.
759 * Makefile.util.def (libgrubmods): Add bfs.c.
760 * grub-core/Makefile.core.def (bfs): New module.
761
762 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
763
764 * util/grub-fstest.c (cmd_cp): Clarify error message.
765 (cmd_cmp): Likewise.
766
767 2011-10-30 Yves Blusseau <blusseau@zetam.org>
768
769 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
770 and befs_be.
771
772 2011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
773
774 Remove afs and befs because of copyright problem.
775
776 * grub-core/fs/afs.c: Removed.
777 * grub-core/fs/afs_be.c: Removed.
778 * grub-core/fs/befs.c: Removed.
779 * grub-core/fs/befs_be.c: Removed.
780 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
781 * grub-core/Makefile.core.def (afs): Removed.
782 (afs_be): Likewise.
783 (befs): Likewise.
784 (befs_be): Likewise.
785
786 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
787
788 Prefer rockridge over Joliet.
789
790 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
791 to ...
792 (set_rockridge): ... here.
793 (grub_iso9660_mount): Check rockridge on the primary label when
794 discovering. Ignore Joliet if Rockridge is present.
795
796 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
797
798 Use shifts in nilfs2.
799
800 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
801 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
802 (grub_nilfs2_palloc_entries_per_group): Replace with ...
803 (grub_nilfs2_log_palloc_entries_per_group): ... this.
804 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
805 (grub_nilfs2_entries_per_block): Replaced with ...
806 (grub_nilfs2_log_entries_per_block_log): ... this.
807 (grub_nilfs2_blocks_per_group): Replaced with ...
808 (grub_nilfs2_blocks_per_group_log): ... this.
809 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
810 (grub_nilfs2_blocks_per_desc_block_log): ... this.
811 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
812 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
813 (grub_nilfs2_palloc_entry_offset): Replaced ...
814 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
815 (grub_nilfs2_dat_translate): Use shifts.
816 (grub_nilfs2_read_inode): Likewise.
817 (GRUB_MOD_INIT): Ensure that logs are correct.
818
819 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
820
821 Use shifts in minix filesystem.
822
823 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
824 (GRUB_MINIX_ZONE2SECT): Likewise.
825 (grub_minix_data): Replace block_size with log_block_size.
826 (grub_minix_read_file): Use shifts.
827 (grub_minix_mount): Check block size and take a logarithm.
828
829 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
830
831 Use shifts in squash4.
832
833 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
834 (squash_mount): Check block size and take logarithm.
835 (direct_read): Use shifts.
836
837 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
838
839 Correct befs block counting logic.
840
841 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
842 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
843 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
844 (grub_afs_read_inode): Use block_shift.
845 (RANGE_SHIFT): New definition.
846 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
847 unexpected conditions, use shifts and appropriate types.
848 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
849
850 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
851
852 * grub-core/disk/raid.c (scan_devices): Check partition.
853 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
854
855 2011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
856
857 Support BFS (befs) UUID.
858
859 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
860 (grub_afs_small_data_element_header): New struct.
861 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
862 (grub_afs_read_attribute) [MODE_BFS]: New function.
863 (grub_afs_iterate_dir): Allocate for complete inode.
864 (grub_afs_mount): Likewise.
865 (grub_afs_uuid) [MODE_BFS]: New function.
866 (grub_afs_fs) [MODE_BFS]: Add .uuid.
867
868 2011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
869
870 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
871 (zfs_unmount): Fix memory leak.
872
873 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
874
875 Support NTFS reparse points.
876
877 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
878 (symlink_descriptor): New struct.
879 (grub_ntfs_read_symlink): New function.
880 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
881 (grub_ntfs_open): Likewise.
882
883 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
884
885 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
886
887 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
888
889 fstest xnu_uuid subcommand.
890
891 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
892 grub-core/commands/xnu_uuid.c.
893 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
894 (fstest): Handle xnu_uuid.
895 (options): Document xnu_uuid.
896 (argp_parser): Parse xnu_uuid.
897
898 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
899
900 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
901 -l argument. Add newline at the end if printing.
902 (GRUB_MOD_INIT): Document -l.
903
904 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
905
906 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
907
908 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
909
910 ZFS multi-device and version 33 support.
911
912 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
913 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
914 (grub_zfs_data): Add multidev-ice-related fields.
915 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
916 (dva_get_offset): Make dva const.
917 (zfs_fetch_nvlist): New function.
918 (fill_vdev_info_real): Likewise.
919 (fill_vdev_info): Likewise.
920 (check_pool_label): Likewise.
921 (scan_disk): Likewise.
922 (scan_devices): Likewise.
923 (read_device): Likewise.
924 (read_dva): Likewise.
925 (zio_read_gang): Use read_dva.
926 (zio_read_data): Likewise.
927 (zap_leaf_lookup): Add missing endian conversion.
928 (zap_verify): Add missing endian conversion. All users updated.
929 (fzap_lookup): Likewise.
930 (fzap_iterate): Likewise.
931 (dnode_get_path): Handle SA bonus.
932 (nvlist_find_value): Make input const. All users updated.
933 (unmount_device): New function.
934 (zfs_unmount): Use unmount_device.
935 (zfs_mount): Use scan_disk.
936 (zfs_mtime): New function.
937 (grub_zfs_open): Handle system attributes.
938 (fill_fs_info): Likewise.
939 (grub_zfs_dir): Likewise.
940 (grub_zfs_fs): Add mtime.
941 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
942 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
943 (SA_MTIME_OFFSET): Likewise.
944 (SA_SYMLINK_OFFSET): Likewise.
945 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
946 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
947 (fstest): Support zfsinfo.
948 (argp_parser): Likewise.
949
950 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
951
952 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
953 error.
954
955 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
956
957 ZFS fixes.
958
959 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
960 sharing the same block. Iterate over correct number of indices.
961 (dnode_get_path): Handle symlinks correctly.
962
963 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
964
965 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
966
967 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
968
969 Read label on HFS+.
970
971 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
972 (grub_hfsplus_btree_search): Fix types.
973 (grub_hfsplus_label): Implement.
974
975 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
976
977 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
978
979 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
980
981 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
982
983 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
984
985 Fix symlink handling on iso9660.
986
987 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
988 All users updated.
989 (grub_iso9660_susp_iterate): Accept zero-size iterate.
990 (grub_iso9660_read_symlink): Moved most of code ...
991 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
992
993 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
994
995 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
996 Use union to avoid breaking strict-aliasing rules.
997
998 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
999
1000 Support multi-extent iso files.
1001
1002 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
1003 Add node.
1004 (grub_fshelp_node): Revamp. All users updated.
1005 (FLAG_*): New enum.
1006 (read_node): New function.
1007 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
1008 All users updated.
1009 (grub_iso9660_mount): Don't attempt to read sua when there is none.
1010 (get_node_size): New function.
1011 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
1012 entries.
1013 Fix memory leak on . and ..
1014 (grub_iso9660_read): Use read_node.
1015 (grub_iso9660_close): Free node.
1016
1017 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1018
1019 Fix tar 4G limit and handle paths containing dot.
1020
1021 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
1022 (canonicalize): New function.
1023 (grub_cpio_find_file): Use canonicalize. Store offs in
1024 grub_disk_addr_t.
1025 (grub_cpio_dir): Use grub_disk_addr_t.
1026 (grub_cpio_open): Likewise.
1027
1028 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1029
1030 Fix handling of uncompressed blocks on squashfs and break 4G limit.
1031
1032 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
1033 unused flags.
1034 (grub_squash_inode): Add long_file and block_size.
1035 (grub_squash_cache_inode): New struct.
1036 (grub_squash_dirent): Make types into enum.
1037 (SQUASH_TYPE_LONG_REGULAR): New type.
1038 (grub_squash_frag_desc): Add field size.
1039 (SQUASH_BLOCK_FLAGS): New enum.
1040 (grub_squash_data): Use grub_squash_cache_inode.
1041 (grub_fshelp_node): Make ino_chunk 64-bit.
1042 (read_chunk): Minor argument change. All users updated.
1043 (squash_mount): Use correct le_to_cpu.
1044 (grub_squash_open): Handle LONG_REGULAR.
1045 (direct_read): New function.
1046 (grub_squash_read_data): Handle blocks correctly.
1047
1048 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1049
1050 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
1051
1052 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
1053
1054 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
1055
1056 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
1057
1058 Fix 2G limit on ZFS.
1059
1060 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
1061 types.
1062 (uberblock_verify): Likewise.
1063 (dmu_read): Likewise.
1064 (grub_zfs_read): Likewise. Remove invalid cast.
1065
1066 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
1067
1068 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
1069 (grub_jfs_blkno): Fix incorrect shift.
1070 (grub_jfs_read_file): Use more appropriate types.
1071
1072 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
1073
1074 Support triple indirect on minix2 and minix3.
1075
1076 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
1077 Declare triple_indir_zone.
1078 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
1079 indirect.
1080
1081 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
1082
1083 Minix FS fixes.
1084
1085 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
1086 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
1087 Rename ctime to mtime. All users updated.
1088 (grub_minix_get_file_block): Fix types and double indirect computations.
1089
1090 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
1091
1092 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
1093 if no label is found.
1094 (grub_fat_iterate_dir): Fix file size type.
1095 (grub_fat_iterate_dir): Likewise.
1096
1097 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
1098
1099 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
1100 save some space.
1101 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
1102 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
1103
1104 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
1105
1106 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
1107
1108 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
1109
1110 * util/import_gcry.py: Accept space between # and include.
1111
1112 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
1113
1114 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
1115
1116 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
1117
1118 Fine grainely disable warnings on lexer. Remove Wno-error on it.
1119
1120 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
1121 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
1122 yylex_strncpy.
1123 * grub-core/script/yylex.l: Add fine-grained #pragma.
1124
1125 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
1126
1127 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
1128 New inline function.
1129 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
1130 Likewise.
1131 (memset) [GRUB_UTIL]: Likewise.
1132 (memcmp) [GRUB_UTIL]: Likewise.
1133
1134 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
1135
1136 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
1137 inline function rather than a define.
1138
1139 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
1140
1141 * util/grub-setup.c: Add missing include.
1142
1143 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
1144
1145 * util/ieee1275/grub-ofpathname.c: Add missing include.
1146
1147 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
1148
1149 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
1150 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
1151 Likewise.
1152
1153 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
1154
1155 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
1156 grub_memcmp usage.
1157
1158 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
1159
1160 * util/grub-install.in: Add datarootdir as per automake manual
1161 suggestion.
1162 * util/grub-mknetdir.in: Likewise.
1163
1164 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
1165
1166 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
1167 suggestion.
1168 * util/grub.d/10_kfreebsd.in: Likewise.
1169 * util/grub.d/10_linux.in: Likewise.
1170 * util/grub.d/10_netbsd.in: Likewise.
1171 * util/grub.d/10_windows.in: Likewise.
1172 * util/grub.d/20_linux_xen.in: Likewise.
1173
1174 2011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
1175
1176 Remove redundant grub_kernel_image_size.
1177
1178 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
1179 _edata and _start.
1180 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
1181 the small code. It moves it only by few bytes but simplifies the code.
1182 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
1183 _start.
1184 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
1185 (grub_kernel_image_size): Removed.
1186 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
1187 (grub_kernel_image_size): Removed.
1188 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
1189 compiled with Apple toolchain.
1190 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
1191 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
1192 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
1193 (grub_total_module_size): Likewise.
1194 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
1195 Removed.
1196 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
1197 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
1198 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
1199 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
1200 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
1201 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
1202 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
1203 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
1204 Removed.
1205 (grub_total_module_size): Removed.
1206 * util/grub-mkimage.c (image_target_desc): Remove image_size.
1207 (image_targets): Likewise.
1208 Set .compressed_size to no field on sparc.
1209 (generate_image): Remove kernel_image_size handling.
1210
1211 2011-10-19 Szymon Janc <szymon@janc.net.pl>
1212
1213 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
1214 NULL pointer dereference.
1215
1216 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
1217
1218 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
1219 done with a dedicated section.
1220
1221 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
1222 Ensure the correct position of boot_path.
1223 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
1224 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
1225 other fields.
1226 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
1227 * include/grub/boot.h: Removed. All references removed.
1228 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
1229 Removed.
1230 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
1231
1232 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
1233
1234 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
1235 name.
1236
1237 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
1238
1239 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
1240
1241 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
1242
1243 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
1244 Don't add the bogus brackets.
1245
1246 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
1247
1248 ExFAT support.
1249
1250 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
1251 * grub-core/Makefile.core.def (exfat): New module.
1252 * grub-core/fs/exfat.c: New file.
1253 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
1254 (GRUB_FAT_ATTR_*): Make into an enum.
1255 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
1256 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
1257 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
1258 (GRUB_FAT_MAXFILE): Removed.
1259 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
1260 (grub_current_fat_bpb_t): New type.
1261 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
1262 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
1263 (grub_fat_dir_node_t): New type.
1264 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
1265 (fat_log2) [MODE_EXFAT]: Removed.
1266 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
1267 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
1268 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
1269 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
1270 (grub_fat_label) [MODE_EXFAT]: New function.
1271 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
1272 reserved_first_sector to 0.
1273
1274 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
1275
1276 Move grub_reboot out of the kernel.
1277
1278 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
1279 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
1280 * grub-core/lib/efi/reboot.c: ... here.
1281 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
1282 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
1283 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
1284 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
1285 * grub-core/lib/i386/reboot_trampoline.S: ... here.
1286 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
1287 * grub-core/lib/ieee1275/reboot.c: ... here.
1288 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
1289 * grub-core/lib/mips/arc/reboot.c: ... here.
1290 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
1291 * grub-core/lib/mips/loongson/reboot.c: ...here.
1292 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
1293 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
1294 * include/grub/emu/misc.h (grub_reboot): New function declaration.
1295 * include/grub/i386/reboot.h: New file.
1296 * include/grub/mips/loongson/ec.h: Fix includes.
1297 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
1298 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
1299 * grub-core/lib/i386/reboot.c: New file.
1300
1301 2011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
1302
1303 Make grub_prefix into module to fix the arbitrary limit and save
1304 some space.
1305
1306 * grub-core/kern/emu/main.c (grub_prefix): Removed.
1307 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
1308 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
1309 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
1310 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
1311 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
1312 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
1313 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
1314 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
1315 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
1316 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
1317 * include/grub/ia64/efi/kernel.h: Removed.
1318 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
1319 (grub_prefix): Removed.
1320 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
1321 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
1322 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
1323 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
1324 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
1325 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
1326 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
1327 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
1328 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
1329 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
1330 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
1331 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
1332 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
1333 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
1334 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
1335 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
1336 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
1337 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
1338 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
1339 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
1340 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
1341 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
1342 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
1343 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
1344 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
1345 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
1346 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
1347 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
1348 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
1349 from module.
1350 * util/grub-mkimage.c (image_target_desc): Removed prefix and
1351 prefix_end.
1352 (image_targets): Likewise.
1353 (generate_image): Put prefix as a module.
1354
1355 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
1356
1357 Replace grub_module_iterate with FOR_MODULES.
1358
1359 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
1360 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
1361 (grub_efi_modules_addr): ...this.
1362 * grub-core/kern/efi/init.c (grub_modbase): New variable.
1363 (grub_efi_init): Set grub_modbase.
1364 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
1365 (grub_modbase): New variable.
1366 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
1367 (grub_modbase): New variable.
1368 (grub_machine_init): Set grub_modbase.
1369 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
1370 (grub_modbase): New variable.
1371 (grub_machine_init): Set grub_modbase.
1372 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
1373 (grub_modbase): New variable.
1374 (grub_machine_init): Set grub_modbase.
1375 * grub-core/kern/main.c (grub_module_iterate): Remove.
1376 (grub_modules_get_end): Use grub_modbase.
1377 (grub_load_modules): Use FOR_MODULES.
1378 (grub_load_config): Likewise.
1379 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
1380 (grub_modbase): New variable.
1381 (grub_machine_init): Set grub_modbase.
1382 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
1383 (grub_modbase): New variable.
1384 (grub_machine_init): Set grub_modbase.
1385 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
1386 Removed.
1387 (grub_modbase): New variable.
1388 (grub_machine_init): Set grub_modbase.
1389 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
1390 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
1391 (grub_module_iterate): Likewise.
1392 (grub_modbase): New variable declaration.
1393 (FOR_MODULES): New macro.
1394
1395 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
1396
1397 * configure.ac: Check for __ctzdi2 and __ctzsi2.
1398 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
1399
1400 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
1401
1402 Fix few obvious type discrepancies.
1403
1404 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
1405 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
1406 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
1407 variable.
1408 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
1409 and connected types.
1410 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
1411 offset.
1412 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
1413 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
1414 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
1415 and connected types.
1416
1417 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
1418
1419 Fix python 3.x incompatibilities.
1420
1421 * gentpl.py: Put brackets around print strings.
1422 * util/import_gcry.py: Open explicitly as utf-8.
1423 Use in instead of has_key.
1424
1425 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
1426
1427 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
1428 (GRUB_XFS_INO_AGBITS): Make into inline function.
1429 (GRUB_XFS_INO_INOINAG): Likewise.
1430 (GRUB_XFS_INO_AG): Likewise.
1431 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
1432 (GRUB_XFS_EXTENT_OFFSET): Likewise.
1433 (GRUB_XFS_EXTENT_BLOCK): Likewise.
1434 (GRUB_XFS_EXTENT_SIZE): Likewise.
1435 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
1436 (GRUB_XFS_NEXT_DIRENT): Likewise.
1437 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
1438 (grub_xfs_read_file): Fix offset type.
1439
1440 2011-10-15 Robert Millan <rmh@gnu.org>
1441
1442 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
1443
1444 2011-10-15 Robert Millan <rmh@gnu.org>
1445
1446 Fix build problem on FreeBSD and GNU/kFreeBSD.
1447
1448 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
1449
1450 2011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
1451
1452 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
1453
1454 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
1455 types.
1456 (grub_hfsplus_btree_recoffset): Likewise.
1457 (grub_hfsplus_btree_recptr): Likewise.
1458 (grub_hfsplus_find_block): Likewise.
1459 (grub_hfsplus_btree_search): Likewise.
1460 (grub_hfsplus_read_block): Likewise.
1461 (grub_hfsplus_read_file): Likewise.
1462 (grub_hfsplus_mount): Likewise.
1463 (grub_hfsplus_btree_iterate_node): Likewise.
1464 (grub_hfsplus_btree_search): Likewise.
1465 (grub_hfsplus_iterate_dir): Likewise.
1466 (grub_hfsplus_read): A small code simplification.
1467
1468 2011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
1469
1470 * grub-core/kern/emu/hostdisk.c
1471 (convert_system_partition_to_system_disk): Don't assume that children
1472 of mapper nodes are mapper nodes.
1473
1474 2011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
1475
1476 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
1477 * include/grub/misc.h (grub_isxdigit): New function.
1478 * grub-core/video/colors.c (my_isxdigit): Removed. All users
1479 switched to grub_isxdigit.
1480 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
1481 number starting with a letter.
1482
1483 2011-10-09 Robert Millan <rmh@gnu.org>
1484
1485 LVM support for FreeBSD and GNU/kFreeBSD.
1486
1487 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
1488 GNU/kFreeBSD.
1489 (LVM_DEV_MAPPER_STRING): Move from here ...
1490 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
1491 * util/getroot.c: Include `<grub/util/lvm.h>'.
1492 (grub_util_get_dev_abstraction): Enable
1493 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
1494 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
1495 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
1496 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
1497 support it.
1498 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
1499 GNU/kFreeBSD.
1500 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
1501 when LVM abstraction is required for ${GRUB_DEVICE}.
1502
1503 2011-10-06 Szymon Janc <szymon@janc.net.pl>
1504
1505 Add support for LZO compression in GRUB:
1506 - import of minilzo library,
1507 - LZO decompression for btrfs,
1508 - lzop files decompression.
1509
1510 * grub-core/io/lzopio.c: New file.
1511 * grub-core/lib/adler32.c: Likewise.
1512 * grub-core/lib/minilzo/lzoconf.h: Likewise.
1513 * grub-core/lib/minilzo/lzodefs.h: Likewise.
1514 * grub-core/lib/minilzo/minilzo.c: Likewise.
1515 * grub-core/lib/minilzo/minilzo.h: Likewise.
1516 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
1517 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
1518 grub-core/lib/minilzo/minilzo.c to common.
1519 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
1520 cflags in cppflags.
1521 * grub-core/Makefile.core.def (btrfs): Likewise.
1522 * grub-core/Makefile.core.def (lzopio): New module.
1523 (adler32): Likewise.
1524 * grub-core/fs/btrfs.c: Include minilzo.h.
1525 (GRUB_BTRFS_COMPRESSION_LZO): New define.
1526 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
1527 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
1528 (grub_btrfs_lzo_decompress): New function.
1529 (grub_btrfs_extent_read): Add support for LZO compression type.
1530 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
1531 (GRUB_USHRT_MAX): Likewise.
1532 (GRUB_UINT_MAX): Likewise.
1533 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
1534 (UINT_MAX): Likewise.
1535 (CHAR_BIT): Likewise.
1536 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
1537 grub-core/lib/posix_wrap/limits.h
1538 (UCHAR_MAX): Likewise.
1539 * include/grub/file.h (grub_file_filter_id): New compression filter
1540 GRUB_FILE_FILTER_LZOPIO.
1541 * include/grub/file.h (grub_file_filter_id): Set
1542 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
1543 * include/grub/types.h (grub_get_unaligned16): New function.
1544 (grub_get_unaligned32): Likewise.
1545 (grub_get_unaligned64): Likewise.
1546 * util/import_gcry.py (cryptolist): Add adler32.
1547
1548 2011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
1549
1550 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
1551 in perspective decreases the complexity of build system and fixes
1552 compilation right now.
1553
1554 2011-10-01 Ales Nesrsta <starous@volny.cz>
1555
1556 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
1557 (fixed problem related to using UHCI with coreboot).
1558
1559 2011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
1560
1561 * gentpl.py: Use Autogen macros so that the output template file
1562 (Makefile.tpl) size is reduced.
1563
1564 2011-09-29 Mads Kiilerich <mads@kiilerich.com>
1565
1566 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
1567 extra_dist.
1568
1569 2011-09-29 Mario Limonciello <mario_limonciello@dell.com>
1570
1571 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
1572 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
1573
1574 2011-09-29 Mario Limonciello <mario_limonciello@dell.com>
1575
1576 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
1577 _fullpath.
1578
1579 2011-09-29 Mario Limonciello <mario_limonciello@dell.com>
1580
1581 Remove extra declaration of sleep for mingw32.
1582
1583 * util/misc.c (sleep) [__MINGW32__]: Removed.
1584 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
1585
1586 2011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
1587
1588 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
1589 type and packname.
1590 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
1591 Resurrected.
1592 (NETBSD_BTINFO_BOOTWEDGE): New definition.
1593 (grub_netbsd_btinfo_bootwedge): New struct.
1594 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
1595 New function.
1596 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
1597
1598 2011-09-28 Thomas Haller <thomas.haller@fen-net.de>
1599
1600 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
1601 loader.
1602
1603 2011-09-28 Andreas Born <futur.andy@googlemail.com>
1604
1605 Fix incorrect identifiers in bash-completion.
1606
1607 * util/bash-completion.d/grub-completion.bash.in
1608 (_grub_mkpasswd-pbkdf2): Rename to ...
1609 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
1610 (_grub_script-check): Rename to ...
1611 (_grub_script_check): ... this. All users updated.
1612
1613 2011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
1614
1615 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
1616 Return 0 if disk isn't biosdisk.
1617
1618 2011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
1619
1620 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
1621 on NetBSD.
1622 * Makefile.util.def (grub-fstest): Likewise.
1623
1624 2011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
1625
1626 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
1627 Get sector size from disk label.
1628
1629 2011-09-05 Colin Watson <cjwatson@ubuntu.com>
1630
1631 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
1632 */README* as well as README*.
1633 Reported by: Axel Beckert.
1634
1635 2011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
1636
1637 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
1638 case of less than 256 MiB of RAM.
1639
1640 2011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
1641
1642 * grub-core/commands/wildcard.c (make_regex): Handle @.
1643
1644 2011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
1645
1646 * util/grub-install.in: Move cryptodisk logic to appropriate place.
1647
1648 2011-08-21 Szymon Janc <szymon@janc.net.pl>
1649
1650 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
1651 AC_LANG_CONFTEST macros.
1652
1653 2011-08-20 Szymon Janc <szymon@janc.net.pl>
1654
1655 Add grub-fstest option to uncompress data for commands.
1656
1657 * util/grub-fstest.c (uncompress): New var.
1658 (options): New option -u.
1659
1660 2011-08-20 Szymon Janc <szymon@janc.net.pl>
1661
1662 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
1663 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
1664
1665 2011-08-20 Szymon Janc <szymon@janc.net.pl>
1666
1667 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
1668 file type was not recognized correctly (not gzip or corrupted).
1669
1670 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
1671
1672 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
1673 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
1674
1675 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
1676
1677 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
1678 loongson.
1679 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
1680 video_radeon_fuloong2e.
1681 * grub-core/video/radeon_fuloong2e.c: New file.
1682 * include/grub/video.h (grub_video_id_t): Add new ID
1683 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
1684
1685 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
1686
1687 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
1688 define.
1689 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
1690 that PRID matches the detected subplatform and reset the subplatform
1691 if it doesn't.
1692
1693 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
1694
1695 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
1696
1697 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
1698
1699 Fix PCI iterating on functions >= 4.
1700
1701 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
1702 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
1703 Removed.
1704 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
1705 (grub_pci_read): Fix bitmask.
1706 (grub_pci_read_word): Likewise.
1707 (grub_pci_read_byte): Likewise.
1708 (grub_pci_write): Likewise.
1709 (grub_pci_write_word): Likewise.
1710 (grub_pci_write_byte): Likewise.
1711
1712 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
1713
1714 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
1715 can still be specified in TARGET_CFLAGS)
1716
1717 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
1718
1719 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
1720
1721 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
1722 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
1723 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
1724 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
1725 (FULOONG): Rename to ...
1726 (FULOONG2F): ... this. All users updated.
1727 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
1728 (machtype_fuloong2f_str): ... this.
1729 (machtype_fuloong2e_str): New string.
1730 Check for machtype_fuloong2e_str.
1731 * grub-core/loader/mips/linux.c (loongson_machtypes)
1732 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
1733 * grub-core/term/serial.c (loongson_defserial)
1734 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
1735 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
1736 loongson_defserial.
1737 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
1738 Rename to ...
1739 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
1740 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
1741 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
1742 to IMAGE_FULOONG2F_FLASH. All users updated.
1743 (image_targets): Rename images.
1744 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
1745
1746 2011-08-19 Szymon Janc <szymon@janc.net.pl>
1747
1748 Make enable of disk cache statistics code configurable.
1749
1750 * configure.ac: --enable-cache-stats added.
1751 * config.h.in (DISK_CACHE_STATS): New define.
1752 * grub-core/Makefile.core.def (cacheinfo): New command.
1753 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
1754 * grub-core/commands/cacheinfo.c: New file.
1755 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
1756 moved to cacheinfo.c.
1757 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
1758 debug code.
1759 * include/grub/disk.h: Likewise.
1760
1761 2011-08-19 Szymon Janc <szymon@janc.net.pl>
1762
1763 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
1764 * grub-core/Makefile.am: Likewise.
1765
1766 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
1767
1768 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
1769 non-zero pull.
1770
1771 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
1772
1773 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
1774 All users updated.
1775 (grub_jfs_lookup_symlink): Use correct starting inode.
1776
1777 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
1778
1779 * util/grub-setup.c (main): Add missing gcry initialisation.
1780
1781 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
1782
1783 Don't accept text modes on EFI when booting Linux.
1784
1785 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
1786 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
1787
1788 2011-08-15 Mario Limonciello <mario_limonciello@dell.com>
1789 2011-08-15 Colin Watson <cjwatson@ubuntu.com>
1790
1791 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
1792 use of "/path/.." as in grub-install for EFI as well as handling
1793 symlinks correctly.
1794 Fixes Debian bug #637768.
1795
1796 2011-08-15 Colin Watson <cjwatson@ubuntu.com>
1797
1798 * util/grub-probe.c: Remove duplicate #include.
1799
1800 2011-08-10 Robert Millan <rmh@gnu.org>
1801
1802 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
1803
1804 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
1805 function.
1806 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
1807 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
1808
1809 2011-08-03 Robert Millan <rmh@gnu.org>
1810
1811 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
1812 la_array as packed.
1813 Reported by: Zachary Bedell
1814
1815 2011-07-26 Colin Watson <cjwatson@ubuntu.com>
1816
1817 * configure.ac: The Loongson port requires grub-mkfont due to its
1818 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
1819 be built.
1820
1821 2011-07-26 Colin Watson <cjwatson@ubuntu.com>
1822
1823 * util/grub-install.in: Don't source grub-mkconfig_lib until after
1824 processing arguments (otherwise help2man fails when GRUB has not yet
1825 been installed).
1826
1827 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
1828
1829 New script grub-mkstandalone.
1830
1831 * Makefile.util.def (grub-mkstandalone): New script.
1832 * docs/man/grub-mkstandalone.h2m: New file.
1833 * util/grub-mkstandalone.in: Likewise.
1834
1835 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
1836
1837 Support ATA disks with 4K sectors.
1838
1839 * include/grub/ata.h (grub_ata): New member log_sector_size.
1840 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
1841 (grub_ata_identify): Read sector size.
1842 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
1843
1844 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
1845
1846 * util/grub-install.in: Don't use uhci outside of x86.
1847
1848 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
1849
1850 * util/grub-mkrescue.in: Add missing quotes.
1851
1852 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
1853
1854 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
1855 dereference.
1856
1857 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
1858
1859 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
1860
1861 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
1862
1863 * include/grub/video.h: add missing EXPORT_FUND on
1864 grub_video_edid_checksum and grub_video_edid_preferred_mode.
1865
1866 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
1867
1868 * include/grub/mips/kernel.h: Fix define conflict.
1869
1870 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
1871
1872 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
1873 all four ways.
1874
1875 2011-07-21 Colin Watson <cjwatson@ubuntu.com>
1876
1877 Preferred resolution detection for VBE.
1878
1879 * grub-core/video/video.c (grub_video_edid_checksum): New function.
1880 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
1881 the Flat Panel extension, in line with the X.org VESA driver.
1882 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
1883 New function.
1884 (grub_vbe_bios_get_ddc_capabilities): Likewise.
1885 (grub_vbe_bios_read_edid): Likewise.
1886 (grub_vbe_get_preferred_mode): Likewise.
1887 (grub_video_vbe_setup): When the mode is "auto", try to get the
1888 preferred mode from VBE, and use the largest mode that is no larger
1889 than the preferred mode (some BIOSes expose a preferred mode that is
1890 not in their mode list!). If this fails, fall back to 640x480 as a
1891 safe conservative choice.
1892 (grub_video_vbe_get_edid): New function.
1893 (grub_video_vbe_adapter): Add get_edid.
1894 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
1895 (struct grub_video_adapter): Add get_edid.
1896 (grub_video_edid_checksum): Add prototype.
1897 (grub_video_edid_preferred_mode): Likewise.
1898 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
1899 structure.
1900
1901 * grub-core/commands/videoinfo.c (print_edid): New function.
1902 (grub_cmd_videoinfo): Print EDID if available.
1903
1904 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
1905 is more appropriate on a wider range of platforms than 640x480.
1906 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
1907 documentation.
1908
1909 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
1910
1911 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
1912
1913 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
1914
1915 * po/POTFILES.in: Regenerate.
1916
1917 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
1918
1919 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
1920 incorrect memory usage.
1921
1922 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
1923
1924 * util/grub-install.in: Source grub-mkconfig_lib.
1925
1926 2011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
1927
1928 Remove getroot.c from core on emu platform.
1929
1930 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
1931 kern/emu/raid.c.
1932 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
1933 useless.
1934 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
1935 * util/getroot.c (get_win32_path): ... here.
1936 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
1937 * util/getroot.c (fini_libzfs): ... here.
1938 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
1939 * util/getroot.c (grub_get_libzfs_handle): ... here.
1940 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
1941 Moved from here...
1942 * util/getroot.c (grub_find_zpool_from_dir): ... here.
1943 * grub-core/kern/emu/misc.c
1944 (grub_make_system_path_relative_to_its_root): Moved from here...
1945 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
1946 * grub-core/kern/emu/getroot.c: Moved from here ...
1947 * util/getroot.c: ... here. All users updated.
1948 * grub-core/kern/emu/raid.c: Moved from here ...
1949 * util/raid.c: ... here. All users updated.
1950
1951 2011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
1952
1953 * po/POTFILES.in: Regenerate.
1954
1955 2011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
1956
1957 Fix compilation on GNU/Linux.
1958
1959 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
1960 Disable geli.
1961 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
1962 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
1963 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
1964
1965 2011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
1966 2011-07-07 Michael Gorven <michael@gorven.za.net>
1967 2011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
1968
1969 LUKS and GELI support.
1970
1971 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
1972 grub-core/disk/luks.c, grub-core/disk/geli.c,
1973 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
1974 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
1975 grub-core/lib/arg.c.
1976 (libgrubmods.a): Remove gcrypts cflags and cppflags.
1977 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
1978 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
1979 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
1980 (grub-bin2h): Add libgcry.a.
1981 (grub-mkimage): Likewise.
1982 (grub-mkrelpath): Likewise.
1983 (grub-script-check): Likewise.
1984 (grub-editenv): Likewise.
1985 (grub-mkpasswd-pbkdf2): Likewise.
1986 (grub-pe2elf): Likewise.
1987 (grub-fstest): Likewise.
1988 (grub-mkfont): Likewise.
1989 (grub-mkdevicemap): Likewise.
1990 (grub-probe): Likewise.
1991 (grub-ofpath): Likewise.
1992 (grub-mklayout): Likewise.
1993 (example_unit_test): Likewise.
1994 (grub-menulst2cfg): Likewise.
1995 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
1996 * grub-core/Makefile.core.def (cryptodisk): New module.
1997 (luks): Likewise.
1998 (geli): Likewise.
1999 * grub-core/disk/AFSplitter.c: New file.
2000 * grub-core/disk/cryptodisk.c: Likewise.
2001 * grub-core/disk/geli.c: Likewise.
2002 * grub-core/disk/luks.c: Likewise.
2003 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
2004 grub_util_is_lvm.
2005 (grub_util_get_dm_abstraction): New function.
2006 (grub_util_follow_gpart_up): Likewise.
2007 (grub_util_get_geom_abstraction): Likewise.
2008 (grub_util_get_dev_abstraction): Use new functions.
2009 (grub_util_pull_device): Pull GELI and LUKS.
2010 (grub_util_get_grub_dev): Handle LUKS and GELI.
2011 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
2012 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
2013 (follow_geom_up): Removed.
2014 (grub_util_fd_seek): New function.
2015 (open_device): Use grub_util_fd_seek.
2016 (nread): Rename to ..
2017 (grub_util_fd_read): ... this. All users updated.
2018 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
2019 (grub_crypto_cbc_decrypt): Likewise.
2020 (grub_crypto_hmac_write): Likewise.
2021 (grub_crypto_hmac_buffer): Likewise.
2022 (grub_password_get): Extend to util.
2023 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
2024 New member modname.
2025 (gcry_md_spec) [GRUB_UTIL]: Likewise.
2026 * include/grub/cryptodisk.h: New file.
2027 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
2028 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
2029 LUKS and GELI.
2030 (grub_util_follow_gpart_up): New proto.
2031 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
2032 (grub_util_fd_read): Likewise.
2033 (grub_cryptodisk_cheat_mount): Likewise.
2034 (grub_util_cryptodisk_print_uuid): Likewise.
2035 (grub_util_get_fd_sectors): Likewise.
2036 * util/grub-fstest.c (mount_crypt): New var.
2037 (fstest): Mount crypto if requested.
2038 (options): New option -C.
2039 (argp_parser): Parse -C.
2040 (main): Init and fini gcry.
2041 * util/grub-install.in: Support cryptodisk install.
2042 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
2043 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
2044 cryptodisk.
2045 (prepare_grub_to_access_device): Likewise.
2046 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
2047 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
2048 (probe_cryptodisk_uuid): New function.
2049 (probe_abstraction): Likewise.
2050 (probe): Use new functions.
2051 * util/import_gcry.py: Create Makefile.utilgcry.def.
2052 Add modname member.
2053
2054 2011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
2055
2056 Lazy device scanning.
2057
2058 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
2059 (grub-setup): Remove util/raid.c.
2060 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
2061 * grub-core/disk/lvm.c (scan_depth): New variable.
2062 (grub_lvm_iterate): Rescan if necessary.
2063 (find_lv): New function based on grub_lvm_open.
2064 (grub_lvm_open): Use find_lv. Rescan on error.
2065 (is_node_readable): New function.
2066 (is_lv_readable): Likewise.
2067 (grub_lvm_scan_device): Skip already found disks.
2068 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
2069 Stop if searched device is found and readable.
2070 * grub-core/disk/raid.c (inscnt): New variable.
2071 (scan_depth): Likewise.
2072 (scan_devices): New function based on grub_raid_register. Abort if
2073 looked for device is found.
2074 (grub_raid_iterate): Rescan if needed.
2075 (find_array): NEw function based on -grub_raid_open.
2076 (grub_raid_open): Use find_array and rescan.
2077 (insert_array): Set became_readable_at.
2078 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
2079 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
2080 New function.
2081 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
2082 (grub_util_pull_device): New function.
2083 (grub_util_get_grub_dev): Call grub_util_pull_device.
2084 * util/raid.c: Moved to ..
2085 * grub-core/kern/emu/raid.c: ... here.
2086 (grub_util_raid_getmembers): New parameter "bootable".
2087 All users updated. Support 1.x.
2088 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
2089 All users updated.
2090 * include/grub/disk.h (grub_disk_pull_t): New enum.
2091 (grub_disk_dev): Change iterate prototype.
2092 All users updated.
2093 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
2094 New proto.
2095 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
2096 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
2097 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
2098 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
2099 All users updated.
2100 * include/grub/util/raid.h: Removed.
2101
2102 2011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
2103
2104 * po/POTFILES.in: Regenerate.
2105
2106 2011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
2107
2108 Unify sparc init with other ieee1275.
2109
2110 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
2111 instead of kern/sparc64/ieee1275/init.c.
2112 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
2113 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
2114 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
2115 grub/machine/kernel.h.
2116 (grub_ieee1275_original_stack) [__sparc__]: New variable.
2117 (grub_claim_heap) [__sparc__]: Use sparc version.
2118 (grub_machine_init): Moved args parsing to
2119 (grub_parse_cmdline): ...this.
2120 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
2121 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
2122 New definition.
2123 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
2124
2125 Move BOOTP to separate file.
2126
2127 * grub-core/Makefile.core.def (net): Add net/bootp.c.
2128 * grub-core/net/net.c: Move all BOOTP functions to
2129 * grub-core/net/bootp.c: ... here.
2130
2131 Use frame interface on PXE.
2132
2133 * grub-core/Makefile.core.def (pxecmd): Removed.
2134 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
2135 * grub-core/commands/i386/pc/pxecmd.c: Removed.
2136 * grub-core/i386/pc/pxe.c: Moved from here ...
2137 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
2138 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
2139 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
2140
2141 EFI network support.
2142
2143 * grub-core/Makefile.core.def (efinet): New module.
2144 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
2145 here...
2146 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
2147 All users updated.
2148 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
2149 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
2150 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
2151 * grub-core/net/drivers/efi/efinet.c: New file.
2152 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
2153 (grub_efi_net_config): New extern var.
2154
2155 Various cleanups and bugfixes.
2156
2157 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
2158 error.
2159 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
2160 disk declared as partition.
2161 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
2162 leak on failure.
2163 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
2164 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
2165 (grub_debug_zalloc): Likewise.
2166 (grub_debug_realloc): Likewise.
2167 (grub_debug_memalign): Likewise.
2168 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
2169 Check that target is IPv4.
2170 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
2171 local-mac-address as fallback.
2172 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
2173 memory leak.
2174 * grub-core/net/ip.c (ipchksum): Rename to ...
2175 (grub_net_ip_chksum): ... this. All users updated.
2176 (grub_net_recv_ip_packets): Special handling for DHCP.
2177 * util/grub-mkimage.c (generate_image): Zero-out aout header.
2178
2179 Unify prefix handling
2180
2181 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
2182 (grub_machine_get_bootlocation): ... this.
2183 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
2184 (grub_machine_get_bootlocation): ... this.
2185 (grub_prefix): New variable.
2186 (prefix): Removed.
2187 (root_dev): New variable.
2188 (dir): Likewise.
2189 (main): Use new variables.
2190 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
2191 Revamped into ...
2192 (grub_machine_get_bootlocation): ... this.
2193 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
2194 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
2195 (grub_machine_get_bootlocation): ... this.
2196 (grub_machine_set_prefix): Removed.
2197 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
2198 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
2199 Revamped into ...
2200 (grub_machine_get_bootlocation): ... this.
2201 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
2202 (grub_set_prefix_and_root): ... this. All users updated.
2203 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
2204 Revamped into ...
2205 (grub_machine_get_bootlocation): ... this.
2206 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
2207 (grub_machine_get_bootlocation): New proto.
2208 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
2209
2210 Less intrusive and more reliable seek on network implementation.
2211
2212 * grub-core/kern/file.c (grub_file_net_seek): Removed.
2213 (grub_file_seek): Don't call grub_file_net_seek.
2214 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
2215 (grub_net_fs_read_real): .. this.
2216 (grub_net_seek_real): Use net->offset.
2217 (grub_net_fs_read): Seek if necessary.
2218
2219 Unify IEEE1275 netwotk config with the other platforms.
2220
2221 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
2222 New variable.
2223 (grub_machine_get_bootlocation): Support network.
2224 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
2225 Support type and device parsing.
2226 (grub_ieee1275_get_device_type): New function.
2227 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
2228 into ...
2229 (grub_ieee1275_net_config_real): ... this.
2230 (grub_ofnet_probecards): Removed.
2231 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
2232 * include/grub/ieee1275/ofnet.h: Removed.
2233 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
2234 extern var.
2235 (grub_ieee1275_get_device_type): New function.
2236
2237 Unify network device closing across platforms and make more robust.
2238
2239 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
2240 grub_grubnet_fini.
2241 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
2242 already.
2243 * grub-core/net/net.c (grub_net_network_level_interface_register):
2244 Update num_ifaces.
2245 (grub_net_card_unregister): Close all interfaces.
2246 (receive_packets): Don't poll if no iterfaces are registered.
2247 Open if necessary.
2248 (grub_net_fini_hw): New function.
2249 (grub_net_restore_hw): Likewise.
2250 (fini_hnd): New variable.
2251 (GRUB_MOD_INIT): Register preboot hook.
2252 (GRUB_MOD_FINI): Run and unregister preboot hook.
2253
2254 Poll network cards when idle.
2255
2256 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
2257 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
2258 * grub-core/net/net.c (receive_packets): Save last poll time.
2259 (grub_net_poll_cards_idle_real): New function.
2260 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
2261 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
2262 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
2263
2264 Rename ofnet interfaces.
2265
2266 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
2267 (grub_ofnet_findcards): Use ofnet_%s names.
2268
2269 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
2270
2271 Cleanup socket opening.
2272
2273 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
2274 (grub_net_fs_close): Likewise.
2275 (grub_net_fs_read_real): Use eof member.
2276 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
2277 (+grub_net_udp_close): New inline function.
2278
2279 * include/grub/net/tftp.h: Moved to the top of ...
2280 * grub-core/net/tftp.c: ... here.
2281 * include/grub/net/ip.h: Moved mostly to the top of ...
2282 * grub-core/net/ip.c: ... here.
2283 * include/grub/net/ethernet.h: Moved mostly to the top of ...
2284 * grub-core/net/ethernet.c: ... here.
2285
2286 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
2287
2288 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
2289 FS name.
2290
2291 * include/grub/net/ip.h (ipv4_ini): Removed.
2292 (ipv4_fini): Likewise.
2293
2294 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
2295 (grub_net_send_ip_packets): Likewise.
2296
2297 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
2298
2299 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
2300 grub_read_cmos prototype.
2301
2302 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
2303
2304 VGA text support in qemu-mips
2305
2306 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
2307 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
2308 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
2309 text.
2310 * grub-core/kern/i386/qemu/init.c: Renamed to ...
2311 * grub-core/kern/vga_init.c: ... this.
2312 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
2313 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
2314 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
2315 Adjust.
2316 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
2317 GRUB_MACHINE_PCI_IO_BASE.
2318
2319 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
2320
2321 MIPS qemu flash support.
2322
2323 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
2324 magic.
2325 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
2326 (grub_machine_init): Probe memory if its size isn't known.
2327 * util/grub-mkimage.c (image_targets): Add flash targets.
2328 (generate_image): Handle flash targets.
2329
2330 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
2331
2332 MIPS qemu at_keyboard support.
2333
2334 * gentpl.py (videoinkernel): Add qemu-mips.
2335 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
2336 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
2337 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
2338 modules.
2339 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
2340 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
2341 * grub-core/term/serial.c (grub_serial_register)
2342 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
2343
2344 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
2345
2346 CMOS support on sparc.
2347
2348 * gentpl.py (cmos): Add powerpc and sparc.
2349 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
2350 powerpc and sparc.
2351 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
2352 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
2353 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
2354 grub_set_datetime_cmos.
2355 * grub-core/lib/ieee1275/cmos.c: New file.
2356 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
2357 (find_rtc): Set no_ieee1275_rtc on error.
2358 (grub_get_datetime): Call grub_get_datetime_cmos on error.
2359 (grub_set_datetime): Call grub_set_datetime_cmos on error.
2360 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
2361 fail. Move value to argument. All users updated
2362 (grub_cmos_write): Likewise.
2363 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
2364 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
2365 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
2366 grub_get_datetime_cmos and grub_set_datetime_cmos.
2367
2368 2011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
2369
2370 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
2371 sourcing grub-mkconfig_lib.
2372 * util/update-grub_lib.in: Likewise.
2373 * util/grub.d/00_header.in: Likewise.
2374 * util/grub.d/10_hurd.in: Likewise.
2375 * util/grub.d/10_kfreebsd.in: Likewise.
2376 * util/grub.d/10_linux.in: Likewise.
2377 * util/grub.d/10_netbsd.in: Likewise.
2378 * util/grub.d/10_windows.in: Likewise.
2379 * util/grub.d/20_linux_xen.in: Likewise.
2380 * util/grub.d/30_os-prober.in: Likewise.
2381
2382 2011-06-28 Colin Watson <cjwatson@ubuntu.com>
2383
2384 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
2385 default_bg_color rather than black.
2386 (grub_gfxterm_fullscreen): Likewise.
2387 (grub_gfxterm_background_color_cmd): Save new background color in
2388 default_bg_color.
2389
2390 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2391
2392 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
2393
2394 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2395
2396 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
2397 mismerge.
2398
2399 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2400
2401 Chainloading on coreboot support.
2402
2403 * grub-core/Makefile.core.def (chain): Add coreboot.
2404 * grub-core/loader/i386/coreboot/chainloader.c: New file.
2405
2406 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2407
2408 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
2409 if it happens.
2410
2411 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2412
2413 Implement time command.
2414
2415 * grub-core/Makefile.core.def (time): New module.
2416 * grub-core/commands/time.c: New file.
2417 * grub-core/script/parser.y: Remove "time" keyword.
2418 * grub-core/script/yylex.l: Likewise.
2419
2420 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2421
2422 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
2423
2424 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2425
2426 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
2427 when handling leftovers.
2428
2429 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2430
2431 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
2432 so that help2man doesn't fail.
2433
2434 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2435
2436 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
2437 type in pointers on sparc64.
2438 (get_card_packet): Likewise.
2439
2440 2011-06-27 Colin Watson <cjwatson@ubuntu.com>
2441
2442 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
2443 with `*'.
2444 (grub_cmd_videoinfo): Fetch current video mode.
2445
2446 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2447
2448 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
2449 because of underlying system restrictions.
2450
2451 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2452
2453 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
2454 necessary.
2455
2456 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2457
2458 Coreboot video support.
2459
2460 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
2461 (vbe): Likewise.
2462 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
2463 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
2464 here ...
2465 * grub-core/kern/i386/int.S: ... here.
2466 * grub-core/video/i386/pc/vbe.c: Updated includes.
2467 * grub-core/video/i386/pc/vga.c: Likewise.
2468 * include/grub/i386/coreboot/memory.h
2469 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
2470 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
2471 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
2472 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
2473 Disable interrupts.
2474 * include/grub/i386/pc/vga.h: Removed. All users updated.
2475
2476 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2477
2478 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
2479 definitions for dprintf.
2480 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
2481
2482 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
2483
2484 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
2485 prototype.
2486 (get_card_packet): Likewise.
2487
2488 2011-06-26 Yves Blusseau <blusseau@zetam.org>
2489
2490 Display the path of the file when file is not found
2491
2492 * grub-core/fs/fat.c: Display the filename when file is not found.
2493 * grub-core/fs/fshelp.c: Likewise.
2494 * grub-core/fs/hfs.c: Likewise.
2495 * grub-core/fs/jfs.c: Likewise.
2496 * grub-core/fs/minix.c: Likewise.
2497 * grub-core/fs/ufs.c: Likewise.
2498 * grub-core/fs/btrfs.c: Likewise.
2499 * grub-core/commands/i386/pc/play.c: Likewise.
2500
2501 2011-06-26 Szymon Janc <szymon@janc.net.pl>
2502
2503 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
2504 pointer checks before calling grub_free().
2505 * grub-core/commands/wildcard.c (match_devices): Likewise.
2506 * grub-core/commands/wildcard.c (match_files): Likewise.
2507 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
2508 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
2509 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
2510 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
2511 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
2512 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
2513 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
2514 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
2515 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
2516
2517 2011-06-25 Patrick <p55@mailinator.com>
2518
2519 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
2520
2521 2011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
2522
2523 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
2524 (grub_pxe_send): Likewise.
2525 (GRUB_MOD_INIT): Fix types.
2526
2527 2011-06-24 Szymon Janc <szymon@janc.net.pl>
2528
2529 * grub-core/io/xzio.c: Fix code style issues
2530
2531 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
2532 2011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
2533
2534 Network infrastructure.
2535 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
2536
2537 * include/grub/net/arp.h: New file.
2538 * include/grub/net/device.h: Likewise.
2539 * include/grub/net/ethernet.h: Likewise.
2540 * include/grub/net/ip.h: Likewise.
2541 * include/grub/net/netbuff.h: Likewise.
2542 * include/grub/net/tftp.h: Likewise.
2543 * include/grub/net/udp.h: Likewise.
2544 * include/grub/ieee1275/ofnet.h: Likewise.
2545 * include/grub/emu/export.h: Likewise.
2546 * include/grub/net.h: Likewise.
2547 * grub-core/net/arp.c: Likewise.
2548 * grub-core/net/ethernet.c: Likewise.
2549 * grub-core/net/ip.c: Likewise.
2550 * grub-core/net/udp.c: Likewise.
2551 * grub-core/net/tftp.c: Likewise.
2552 * grub-core/net/netbuff.c: Likewise.
2553 * grub-core/net/net.c: Likewise.
2554 * grub-core/net/drivers/emu/emunet.c: Likewise.
2555 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
2556 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
2557 export.h.
2558 * grub-core/Makefile.core.def (net): New module.
2559 (tftp): Likewise.
2560 (ofnet): Likewise.
2561 (emunet): Likewise.
2562 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
2563 network protocols.
2564 * grub-core/kern/device.c (grub_net_open) : New variable.
2565 (grub_device_open): Handle network device.
2566 (grub_device_close): Likewise.
2567 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
2568 (grub_grubnet_fini): Likewise.
2569 (grub_file_seek): Seek in network device.
2570 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
2571 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
2572 network root.
2573 (grub_machine_fini): Call grub_grubnet_fini.
2574 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
2575 network.
2576 (grub_ieee1275_get_aliasdevname): New function.
2577 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
2578 Add unofficial Solaris network info.
2579 (grub_multiboot_make_mbi): Likewise.
2580 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
2581 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
2582 * include/grub/device.h (grub_fs): Removed.
2583 * include/grub/err.h (grub_err_t): Add network-related values.
2584 * include/grub/i386/pc/pxe.h: Removed bootp parts.
2585 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
2586 (grub_ieee1275_get_aliasdevname): New proto.
2587 * include/grub/net.h: Rewritten.
2588
2589 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
2590
2591 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
2592 names.
2593
2594 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
2595
2596 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
2597 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
2598 it truncates the output.
2599 Reported by: Ximin Luo.
2600
2601 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
2602
2603 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
2604
2605 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
2606
2607 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
2608 partmap before abstraction.
2609
2610 2011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
2611
2612 * util/grub-mkconfig_lib.in: Add missing quotes.
2613
2614 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
2615
2616 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
2617 old method if mountinfo would return /dev/root and /dev/root doesn't
2618 exist.
2619
2620 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
2621
2622 ZFS zlib support
2623
2624 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
2625 (decomp_table): Add zlib entries.
2626 (zio_read): USe 8 bits for compression function rather than 3.
2627 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
2628
2629 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
2630
2631 * grub-core/disk/ahci.c: Add missing license statements.
2632 * grub-core/fs/romfs.c: Likewise.
2633 * grub-core/lib/ia64/setjmp.S: Likewise.
2634 * grub-core/loader/i386/pc/freedos.c: Likewise.
2635 * grub-core/loader/ia64/efi/linux.c: Likewise.
2636 * grub-core/video/colors.c: Likewise.
2637 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
2638
2639 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
2640
2641 AHCI support.
2642
2643 * grub-core/Makefile.core.def (ata_pthru): Removed.
2644 (ahci): New module.
2645 (pata): Likewise.
2646 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
2647 on unload.
2648 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
2649 readwrite.
2650 (grub_hdparm_do_check_powermode_cmd): Likewise.
2651 (grub_hdparm_do_smart_cmd): Likewise.
2652 (grub_hdparm_set_val_cmd): Likewise.
2653 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
2654 * grub-core/disk/ahci.c: New file.
2655 * grub-core/disk/ata.c: Factor out the low-level part into ...
2656 * grub-core/disk/pata.c: ... here.
2657 * grub-core/disk/ata_pthru.c: Contents moved to ...
2658 * grub-core/disk/pata.c: ... here.
2659 * grub-core/disk/scsi.c (grub_scsi_names): New array.
2660 (grub_scsi_iterate): Use grub_scsi_names.
2661 (grub_scsi_open): Likewise.
2662 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
2663 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
2664 (grub_ata_regs_t): New struct.
2665 (grub_disk_ata_pass_through_parms): Likewise.
2666 (grub_ata_device): Renamed to ...
2667 (grub_ata): ... this.
2668 (grub_ata_dev): New struct.
2669 Removed all low-level inline functions.
2670 * include/grub/scsi.h: Add PATA and AHCI subsystems.
2671 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
2672 iterate hooks and open. All users updated.
2673 * util/grub-install.in: Handle AHCI disk module.
2674
2675 2011-06-23 Szymon Janc <szymon@janc.net.pl>
2676
2677 Add support for DRI and RSTn markers in JPEG files.
2678
2679 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
2680 (JPEG_MARKER_RST0): Likewise.
2681 (JPEG_MARKER_RST1): Likewise.
2682 (JPEG_MARKER_RST2): Likewise.
2683 (JPEG_MARKER_RST3): Likewise.
2684 (JPEG_MARKER_RST4): Likewise.
2685 (JPEG_MARKER_RST5): Likewise.
2686 (JPEG_MARKER_RST6): Likewise.
2687 (JPEG_MARKER_RST7): Likewise.
2688 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
2689 (grub_jpeg_decode_dri): New function.
2690 (grub_jpeg_decode_sos): Move image data related part into
2691 grub_jpeg_decode_data function.
2692 (grub_jpeg_decode_data): New function.
2693 (grub_jpeg_reset): New function.
2694 (grub_jpeg_decode_jpeg): Handle new markers.
2695
2696 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
2697
2698 * util/ieee1275/ofpath.c (check_sas): Close fd.
2699 (main): Free of_path.
2700 Reported by: David Volgyes <dvolgyes>.
2701
2702 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
2703
2704 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
2705 Reported by: David Volgyes <dvolgyes>.
2706
2707 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
2708
2709 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
2710 file after stat.
2711 Reported by: David Volgyes <dvolgyes>.
2712
2713 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
2714
2715 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
2716
2717 Reported by: David Volgyes <dvolgyes>.
2718
2719 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
2720
2721 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
2722 Prevent memory leak.
2723
2724 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
2725
2726 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
2727 (main): Close file.
2728 Reported by: David Volgyes <dvolgyes>.
2729
2730 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
2731
2732 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
2733 to continue if allocation is failed.
2734
2735 Reported by: David Volgyes <dvolgyes>.
2736
2737 2011-06-23 David Volgyes <dvolgyes>
2738
2739 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
2740 dereference.
2741
2742 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
2743
2744 Fix spurious warning.
2745
2746 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
2747 (acorn_partition_map_find): Use .bin member.
2748
2749 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
2750
2751 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
2752 /dev/root as a valid device.
2753
2754 2011-06-23 Jim Meyering <meyering@redhat.com>
2755
2756 Avoid NULL deref in grub_device_open.
2757
2758 * grub-core/kern/device.c (grub_device_open): Don't dereference
2759 a NULL pointer upon failed grub_env_get.
2760
2761 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
2762
2763 Support non-512B sectors and agglomerate reads.
2764
2765 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
2766 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
2767 (disk_io_guid): Removed.
2768 (make_devices): Locate solely by BlockIO.
2769 (grub_efidisk_open): Fill log_sector_size and total_sectors.
2770 (grub_efidisk_read): Use read_blocks.
2771 (grub_efidisk_write): Use write_blocks.
2772 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
2773 log_sector_size.
2774 (get_safe_sectors): Handle non-512B sectors.
2775 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
2776 sectors.
2777 (grub_biosdisk_write): Handle non-512B sectors.
2778 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
2779 (grub_scsi_read): Remove special non-512B block handling (now handled
2780 one level up).
2781 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
2782 and do sanity checks.
2783 (grub_disk_adjust_range): Handle non-512B sectors.
2784 (transform_sector): New function.
2785 (grub_disk_read_small): Likewise.
2786 (grub_disk_read): Rewritten.
2787 (grub_disk_write): Handle non-512B sectors.
2788 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
2789 log_sector_size.
2790 (open_device): Use log_sector_size.
2791 (grub_util_biosdisk_read): Likewise.
2792 (grub_util_biosdisk_write): Likewise.
2793 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
2794 non-512B sectors.
2795 (pc_partition_map_embed): Likewise.
2796 * include/grub/disk.h (grub_disk): New field log_sector_size.
2797 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
2798 (GRUB_DISK_CACHE_BITS): Increased to 6.
2799 * util/grub-fstest.c (fstest): New command testload.
2800 (argp_parser): Likewise.
2801
2802 2011-06-16 Robert Millan <rmh@gnu.org>
2803
2804 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
2805 `ata' driver on kernel of FreeBSD 9.
2806
2807 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
2808 (get_ataraid_disk_name): New functions.
2809 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
2810 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
2811 get_ataraid_disk_name() and get_ada_disk_name().
2812
2813 2011-06-13 Colin Watson <cjwatson@ubuntu.com>
2814
2815 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
2816 input format.
2817
2818 2011-05-29 Colin Watson <cjwatson@ubuntu.com>
2819
2820 * docs/grub.texi (Obtaining and Building GRUB): Substitute
2821 `ftp.gnu.org' for `alpha.gnu.org'.
2822
2823 2011-05-27 Colin Watson <cjwatson@ubuntu.com>
2824
2825 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
2826 partitions under /dev/disk/by-id/.
2827
2828 2011-05-27 Colin Watson <cjwatson@ubuntu.com>
2829
2830 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
2831 after ten consecutive open failures. Scanning all the way up to
2832 10000 is excessive and can cause serious performance problems in
2833 some configurations.
2834 Fixes Ubuntu bug #787461.
2835
2836 2011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
2837
2838 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
2839 opening new one.
2840
2841 2011-05-21 Colin Watson <cjwatson@ubuntu.com>
2842 2011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
2843
2844 Don't stat devices unless we have to.
2845
2846 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
2847 dir == /dev/mapper.
2848 (grub_guess_root_device): Use already known os_dev if possible.
2849 * grub-core/kern/emu/hostdisk.c
2850 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
2851 if device is known to be a dm one.
2852
2853 2011-05-20 Colin Watson <cjwatson@ubuntu.com>
2854
2855 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
2856 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
2857 Reported by: Pawel Tecza.
2858
2859 2011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
2860
2861 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
2862 (lsefisystab): Likewise.
2863 (lssal): Likewise.
2864 (lsefimmap): Likewise.
2865 (hdparm): Enable on qemu-mips.
2866 (setjmp): Add ia64 nodist.
2867 (serial): Simplify tags.
2868
2869 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
2870
2871 * Makefile.util.def (grub-ofpathname): Install manual page.
2872
2873 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
2874
2875 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
2876
2877 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
2878
2879 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
2880
2881 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
2882
2883 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
2884 into dprintf.
2885
2886 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
2887
2888 Use full 64-bit division.
2889
2890 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
2891 (grub_divmod64): ... this.
2892 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
2893 version.
2894
2895 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
2896
2897 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
2898 `source'.
2899
2900 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
2901
2902 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
2903 to avoid accidents when debugging with 'sh -x'.
2904 * grub-core/gensyminfo.sh.in: Likewise.
2905 * tests/example_scripted_test.in: Likewise.
2906 * tests/grub_cmd_regexp.in: Likewise.
2907 * tests/grub_script_blanklines.in: Likewise.
2908 * tests/grub_script_dollar.in: Likewise.
2909 * tests/grub_script_expansion.in: Likewise.
2910 * tests/grub_script_final_semicolon.in: Likewise.
2911 * tests/partmap_test.in: Likewise.
2912 * tests/util/grub-shell-tester.in: Likewise.
2913 * tests/util/grub-shell.in: Likewise.
2914
2915 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
2916
2917 Move gfxmenu color handling to video, so that gfxterm can use it
2918 too.
2919
2920 * grub-core/gfxmenu/named_colors.c: Move to ...
2921 * grub-core/video/colors.c: ... here. Rename
2922 grub_gui_get_named_color to grub_video_get_named_color.
2923 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
2924 * grub-core/video/colors.c (my_isxdigit): ... here.
2925 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
2926 Move to ...
2927 * grub-core/video/colors.c (parse_hex_color_component): ... here.
2928 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
2929 to ...
2930 * grub-core/video/colors.c (grub_video_parse_color): ... here.
2931
2932 * include/grub/gui.h (grub_gui_color_t): Move to ...
2933 * include/grub/video.h (grub_video_rgba_color_t): ... here.
2934 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
2935 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
2936 * include/grub/gui.h (grub_gui_map_color): Move to ...
2937 * include/grub/video.h (grub_video_map_rgba_color): ... here.
2938 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
2939 to ...
2940 * include/grub/video.h (grub_video_get_named_color): ... here.
2941 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
2942 * include/grub/video.h (grub_video_parse_color): ... here.
2943
2944 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
2945 video/colors.c.
2946 (gfxmenu): Remove gfxmenu/named_colors.c.
2947 (video) [videomodules]: Add video/colors.c.
2948
2949 Add a background_color command.
2950
2951 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
2952 function.
2953 (GRUB_MOD_INIT): Register background_color command.
2954 (GRUB_MOD_FINI): Unregister background_color command.
2955 (redraw_screen_rect): Allow blend/replace of text layer to be
2956 controlled independently from whether there is a background bitmap.
2957 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
2958 changing bitmap.
2959
2960 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
2961
2962 Patch BPB in ntldr and chainloader --bpb.
2963
2964 * grub-core/fs/fat.c: Include grub/fat.h.
2965 (grub_fat_bpb): Moved to ...
2966 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
2967 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
2968 grub/ntfs.h.
2969 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
2970 Moved from here...
2971 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
2972 here.
2973 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
2974 New function.
2975 (grub_chainloader_cmd): Patch BPB if --bpb is given.
2976 (GRUB_MOD_INIT): Show --bpb.
2977 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
2978 * grub-core/normal/main.c (features): New variable.
2979 (GRUB_MOD_INIT): Set feature_* variables.
2980 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
2981 proto.
2982 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
2983
2984 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
2985
2986 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
2987 for cleanness.
2988
2989 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
2990
2991 FreeDOS direct loading support.
2992
2993 * docs/grub.texi (Supported OS): Add FreeDOS.
2994 * grub-core/Makefile.core.def (freedos): New module.
2995 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
2996 variable.
2997 (grub_relocator16_boot): Handle %ebx.
2998 * grub-core/lib/i386/relocator16.S: Likewise.
2999 * grub-core/loader/i386/pc/freedos.c: New file.
3000
3001 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
3002
3003 Long Linux command line support.
3004
3005 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
3006 (maximal_cmdline_size): New variable.
3007 (allocate_pages): Use maximal_cmdline_size.
3008 (grub_cmd_linux): Set and use maximal_cmdline_size.
3009 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
3010 (allocate_pages): Use maximal_cmdline_size.
3011 (grub_cmd_linux): Set and use maximal_cmdline_size.
3012 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
3013 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
3014 and cmdline_size.
3015
3016 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
3017 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
3018
3019 Improve devmapper support
3020
3021 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
3022 (grub_util_is_lvm): New function.
3023 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
3024 than lvm if not dmraid.
3025 Handle mapped md nodes.
3026 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
3027 (grub_util_device_is_mapped): ... this. Make always available. All users
3028 updated.
3029 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
3030 (convert_system_partition_to_system_disk): Handle lvm, mpath and
3031 dmraid nodes.
3032 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
3033
3034 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
3035
3036 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
3037
3038 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
3039 * grub-core/modinfo.sh.in: New file.
3040 * grub-core/Makefile.core.def (modinfo.sh): New script.
3041 * util/grub-mknetdir.in: Use modinfo.sh.
3042 * util/grub-mkrescue.in: Likewise.
3043
3044 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
3045
3046 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
3047 Fix potential usage of Elf32 instead of Elf64 when compiling on
3048 32-bit architecture. Add endianness macros while on it.
3049
3050 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
3051
3052 Use mipsel- rather than mips- in directories involving mipsel ports to
3053 allow both endiannesses coexist.
3054
3055 * configure.ac: proparate target_cpu=mipsel rather than resetting to
3056 mips. All conditions adjusted.
3057 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
3058 variable.
3059 * util/grub-install.in: Adjust conditions to take renaming into account.
3060 * util/grub-mkimage.c (image_targets): Likewise. New target
3061 mips-qemu_mips-elf for bigendian mips.
3062
3063 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
3064
3065 Avoid unnecessary copying on MIPS.
3066
3067 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
3068 early if src == dest.
3069 * util/grub-mkimage.c (generate_image): Arange for src == dest if
3070 compression is none.
3071
3072 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
3073
3074 Reduce memory footprint on SGI by putting modules before the kernel
3075 as opposed to after.
3076
3077 * grub-core/Makefile.core.def (kernel): Increase linking address.
3078 (none_decompress): Likewise.
3079 (xz_decompress): Likewise.
3080 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
3081 address.
3082 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
3083 layout change.
3084 (grub_arch_modules_addr): New function.
3085 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
3086 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
3087 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
3088 here.
3089 * grub-core/kern/mips/startup.S (total_size): Rename to ...
3090 (grub_total_modules_size): ... this. Make global.
3091 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
3092 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
3093 New definition.
3094 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
3095 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
3096 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
3097 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
3098 * util/grub-mkimage.c (image_target_desc): New flag
3099 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
3100 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
3101 (generate_image): Handle images with modules before kernel.
3102
3103 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
3104
3105 Prevent potential loss of memory map by overwrite on qemu-mips.
3106
3107 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
3108 Save ram size in $s4.
3109 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
3110 All users changed to grub_arch_memsize.
3111 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
3112 Loongson.
3113 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
3114 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
3115 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
3116 external variable.
3117
3118 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
3119
3120 * .bzrignore: Remove grub-dumpbios.
3121
3122 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
3123
3124 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
3125 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
3126 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
3127 existing options which append).
3128 * docs/grub.texi (Simple configuration): Document new options.
3129 Reported by: Ian Jackson. Fixes Debian bug #617538.
3130
3131 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
3132
3133 * util/grub-fstest.c (cmd_cat): New function.
3134 (fstest): Handle CMD_CAT.
3135 (options): Add cat.
3136 (argp_parser): Handle cat.
3137
3138 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
3139
3140 * Makefile.util.def (grub-bin2h): Don't install.
3141 * docs/man/grub-bin2h.h2m: Remove.
3142
3143 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
3144
3145 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
3146 place.
3147
3148 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
3149
3150 Reenable qemu-mips port.
3151
3152 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
3153 Fix small arc bug while on it.
3154 * gentpl.py: Handle qemu_mips.
3155 * grub-core/Makefile.am: Likewise.
3156 * grub-core/Makefile.core.def: Likewise.
3157 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
3158 inappropriate includes.
3159 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
3160 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
3161 * grub-core/kern/main.c (grub_modules_get_end)
3162 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
3163 * grub-core/kern/mips/qemu-mips: Moved to ..
3164 * grub-core/kern/mips/qemu_mips: ... this.
3165 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
3166 (grub_machine_init): Call terminfo_init and serial_init.
3167 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
3168 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
3169 New variable.
3170 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
3171 parameter passing.
3172 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
3173 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
3174 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
3175 * include/grub/mips/qemu_mips/cmos.h: New file.
3176 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
3177 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
3178 Removed.
3179 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
3180 Use correct mips-style address.
3181 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
3182 (GRUB_TICKS_PER_SECOND): Removed.
3183 (grub_get_rtc): Likewise.
3184 (grub_cpu_idle): Likewise.
3185 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
3186 New definition.
3187 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
3188 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
3189 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
3190 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
3191 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
3192 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
3193 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
3194 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
3195
3196 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
3197
3198 SGI ARCS port.
3199
3200 * Makefile.util.def (libgrubmods.a): Add dvh.c.
3201 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
3202 platforms.
3203 * configure.ac: New target mips-arc.
3204 * gentpl.py: Likewise.
3205 * grub-core/Makefile.am: Likewise.
3206 * grub-core/Makefile.core.def: Likewise.
3207 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
3208 (none_decompress): Likewise.
3209 (lsdev): New module.
3210 (datetime): Use lib/arc/datetime.c on ARC.
3211 (part_dvh): New module.
3212 * grub-core/commands/arc/lsdev.c: New file.
3213 * grub-core/disk/arc/arcdisk.c: Likewise.
3214 * grub-core/kern/mips/arc/init.c: Likewise.
3215 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
3216 aligned addresses.
3217 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
3218 support.
3219 (grub_arch_dl_relocate_symbols): Likewise.
3220 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
3221 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
3222 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
3223 platforms.
3224 * grub-core/lib/arc/datetime.c: New file.
3225 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
3226 pci.h on non-loongson.
3227 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
3228 (grub_linux_boot): Set unused registers to 0.
3229 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
3230 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
3231 * grub-core/mmap/mips/uppermem.c: ...here.
3232 * grub-core/partmap/dvh.c: New file.
3233 * grub-core/term/arc/console.c: Likewise.
3234 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
3235 (grub_terminfo_set_current): Add terminal "arc".
3236 (grub_terminfo_readkey): Support ARC sequences.
3237 * include/grub/arc/arc.h: New file.
3238 * include/grub/arc/console.h: Likewise.
3239 * include/grub/disk.h (grub_disk_dev_id): Add
3240 GRUB_DISK_DEVICE_ARCDISK_ID.
3241 * include/grub/mips/arc/kernel.h: New file.
3242 * include/grub/mips/arc/memory.h: Likewise.
3243 * include/grub/mips/arc/time.h: Likewise.
3244 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
3245 * include/grub/mips/kernel.h (grub_halt): ... here.
3246 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
3247 here...
3248 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
3249 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
3250 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
3251 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
3252 proto.
3253 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
3254 from here ...
3255 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
3256 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
3257 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
3258 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
3259 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
3260 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
3261 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
3262 (grub_phys_addr_t): Moved from here ...
3263 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
3264 (grub_vtop): Moved from here ...
3265 * include/grub/mips/memory.h (grub_vtop): ... here.
3266 (grub_map_memory): Moved from here ...
3267 * include/grub/mips/memory.h (grub_map_memory): ... here.
3268 (grub_unmap_memory): Moved from here ...
3269 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
3270 (grub_machine_mmap_iterate): Moved from here ...
3271 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
3272 (grub_mmap_get_lower): Moved from here ...
3273 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
3274 (grub_mmap_get_upper): Moved from here ...
3275 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
3276 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
3277 here ...
3278 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
3279 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
3280 here ...
3281 * include/grub/mips/time.h (grub_get_rtc): ... here.
3282 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
3283 here ...
3284 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
3285 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
3286 here ...
3287 * include/grub/mips/time.h (grub_cpu_idle): ... here.
3288 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
3289 definition.
3290 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
3291 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
3292 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
3293 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
3294 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
3295 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
3296 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
3297 (GRUB_MACHINE_LINK_ADDR): Likewise.
3298 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
3299 to 6.
3300 * util/grub-install.in: Run dvhtool on ARC.
3301 * util/grub-mkimage.c (image_targets): Add mips-arc.
3302 (generate_image): Handle ECOFF output for mips-arc.
3303
3304 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
3305
3306 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
3307 blocks.
3308
3309 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
3310
3311 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
3312 after enabling port.
3313
3314 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
3315
3316 Skip incorrect USB devices.
3317
3318 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
3319 configcnt == 0.
3320 * include/grub/usb.h (grub_usb_err_t): New enum value
3321 GRUB_USB_ERR_BADDEVICE.
3322
3323 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
3324
3325 Fuloong video init support.
3326
3327 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
3328 well.
3329 (grub_vga_read_arx): New function.
3330 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
3331 definition.
3332 (framebuffer): New members io, mmioptr and mmiobase.
3333 (read_sis_cmd): New function.
3334 (write_sis_cmd): Likewise.
3335 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
3336 rather than 640x400.
3337 * grub-core/video/sis315_init.c: New file.
3338
3339 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
3340
3341 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
3342 non-loongson.
3343 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
3344 to grub_dl_register_symbol.
3345
3346 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
3347
3348 Fix compilation errors.
3349
3350 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
3351 potentially unused.
3352 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
3353 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
3354 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
3355 to loongson machines.
3356
3357 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
3358
3359 Several FS mtime support.
3360
3361 * grub-core/fs/affs.c (grub_affs_time): New struct.
3362 (grub_affs_file): New field mtime.
3363 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
3364 type. Removed 'size'. New field 'di'. All users updated.
3365 (grub_affs_mount): Simplify checsum checking.
3366 (grub_affs_iterate_dir): New helper grub_affs_create_node.
3367 (grub_affs_dir): Handle mtime.
3368 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
3369 (grub_cpio_dir): Likewise.
3370 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
3371 (grub_hfs_filerec): New field mtime.
3372 (grub_hfs_dir): Handle mtime.
3373 (grub_hfs_mtime): New function.
3374 (grub_hfs_fs): Register grub_hfs_mtime.
3375 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
3376 (grub_iso9660_dir): New field mtime.
3377 (grub_fshelp_node): New field dirent.
3378 (iso9660_to_unixtime): New function.
3379 (iso9660_to_unixtime2): Likewise.
3380 (grub_iso9660_read_symlink): Use node->dirent.
3381 (grub_iso9660_iterate_dir): Likewise.
3382 (grub_iso9660_dir): Set mtime.
3383 (grub_iso9660_mtime): New function.
3384 (grub_iso9660_fs): Register grub_iso9660_mtime.
3385 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
3386 (grub_jfs_inode): New fields atime, ctime and mtime.
3387 (grub_jfs_dir): Set mtime.
3388 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
3389 * grub-core/fs/ntfs.c (list_file): Set mtime.
3390 (grub_ntfs_dir): Likewise.
3391 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
3392 (grub_reiserfs_iterate_dir): Set mtime.
3393 (grub_reiserfs_dir): Likewise.
3394 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
3395 (grub_fshelp_node): Likewise.
3396 (grub_sfs_iterate_dir): Set mtime.
3397 (grub_sfs_dir): Likewise.
3398 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
3399 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
3400 (grub_xfs_inode): New fields atime, mtime, ctime.
3401 (grub_xfs_dir): Set mtime.
3402 * include/grub/datetime.h (grub_datetime2unixtime): New function.
3403 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
3404 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
3405
3406 Support UDF symlinks.
3407
3408 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
3409 (grub_ufs_read_symlink): New function. All users updated.
3410
3411 Check amiga partmap checksum.
3412
3413 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
3414 (grub_amiga_partition): Likewise.
3415 (amiga_partition_map_checksum): New function.
3416 (amiga_partition_map_iterate): Check checksum.
3417
3418 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
3419
3420 ROMFS support.
3421
3422 * Makefile.util.def (libgrubmods.a): Add romfs.
3423 * grub-core/Makefile.core.def (romfs): New module.
3424 * grub-core/fs/romfs.c: New file.
3425
3426 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
3427
3428 Squashfs v4 support.
3429
3430 * Makefile.util.def (libgrubmods.a): Add squash4.
3431 * grub-core/Makefile.core.def (squash4): New module.
3432 * grub-core/fs/squash4.c: New file.
3433 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
3434 disk_input_start, disk_input.
3435 (get_byte): Handle disk_input.
3436 (grub_zlib_disk_read): New function.
3437 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
3438
3439 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
3440 2011-05-15 Feiran Zheng <famcool@gmail.com>
3441
3442 * Makefile.util.def (libgrubmods.a): Add minix3.
3443 * grub-core/Makefile.core.def (minix3): New module.
3444 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
3445 (GRUB_MINIX_BSIZE): Removed.
3446 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
3447 (grub_minix_ino_t): New type.
3448 (grub_minix_le_to_cpu_ino): New macro.
3449 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
3450 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
3451 (grub_minix_data): New field block_size.
3452 (grub_minix_read_file): Handle 64-bit correctly.
3453 * grub-core/fs/minix3.c: New file.
3454
3455 2011-05-15 Tristan Gingold <gingold@free.fr>
3456 2011-05-15 Robert Millan <rmh.grub@aybabtu.com>
3457 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
3458
3459 IA64 support.
3460
3461 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
3462 * configure.ac: Add ia64-efi target.
3463 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
3464 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
3465 * gentpl.py: Add ia64_efi platform.
3466 Rename x86_efi to efi and Add ia64-efi. All users updated.
3467 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
3468 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
3469 Remove kern/generic/rtc_get_time_ms.c on EFI.
3470 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
3471 kern/ia64/dl_helper.c on ia64-efi.
3472 Add kern/emu/cache.c on emu.
3473 (linux): Use on loader/ia64/efi/linux.c on ia64.
3474 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
3475 whether symbol is a function.
3476 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
3477 (grub_symbol): New field 'isfunc'.
3478 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
3479 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
3480 (grub_dl_load_segments): Place all sections into the same region.
3481 [__ia64__]: Create trampolines and got.
3482 [GRUB_MACHINE_EMU]: Call mprotect.
3483 (grub_dl_resolve_symbols): Resolve symbol type as well.
3484 [__ia64__]: Create function descriptors.
3485 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
3486 (grub_rtc_get_time_ms): ... this. Expressions simplified.
3487 (grub_get_rtc): New function.
3488 * grub-core/kern/emu/cache.c [__ia64__]: New file.
3489 * grub-core/kern/emu/cache.S: Renamed to ...
3490 * grub-core/kern/emu/cache_s.S: ... this.
3491 [__ia64__]: Add a nop.
3492 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
3493 [__ia64__]: New function.
3494 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
3495 * grub-core/kern/ia64/dl.c: New file.
3496 * grub-core/kern/ia64/dl_helper.c: Likewise.
3497 * grub-core/kern/ia64/efi/init.c: New file.
3498 * grub-core/kern/ia64/efi/startup.S: Likewise.
3499 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
3500 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
3501 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
3502 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
3503 * grub-core/loader/ia64/efi/linux.c: New file.
3504 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
3505 (GRUB_MOD_DEP): Likewise.
3506 (grub_dl) [__ia64__]: New fields got and tramp.
3507 (grub_dl): New field 'base'.
3508 (grub_dl_register_symbol): New argument isfunc. All users updated.
3509 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
3510 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
3511 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
3512 (grub_ia64_dl_get_tramp_got_size): New proto.
3513 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
3514 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
3515 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
3516 * include/grub/efi/api.h: Skip call wrappers on ia64.
3517 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
3518 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
3519 * include/grub/elf.h (ELF_ST_INFO): New definition.
3520 * include/grub/ia64/efi/kernel.h: New file.
3521 * include/grub/ia64/efi/memory.h: Likewise.
3522 * include/grub/ia64/efi/time.h: Likewise.
3523 * include/grub/ia64/kernel.h: Likewise.
3524 * include/grub/ia64/setjmp.h: Likewise (from glibc).
3525 * include/grub/ia64/time.h: New file.
3526 * include/grub/ia64/types.h: Likewise.
3527 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
3528 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
3529 New protos.
3530 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
3531 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
3532 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
3533 * util/grub-mkimage.c (image_target_desc): New field pe_target.
3534 All users updated.
3535 (EFI64_HEADER_SIZE): New definition. All users updated.
3536 (image_targets): Add ia64-efi.
3537 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
3538 jumpers_addr. All users updated.
3539 Create function descriptors.
3540 (count_funcs): New function.
3541 (unaligned_uint32): New struct.
3542 (MASK20): New definition.
3543 (MASK19): Likewise.
3544 (MASKF21): Likewise.
3545 (add_value_to_slot_20b): New function.
3546 (add_value_to_slot_21_real): Likewise.
3547 (add_value_to_slot_21): Likewise.
3548 (ia64_kernel_trampoline): New struct.
3549 (nopm): New variable.
3550 (jump): Likewise.
3551 (make_trampoline): New function.
3552 (relocate_addresses): Handle ia64.
3553 (make_reloc_section): Likewise.
3554 (load_image): Likewise.
3555
3556 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
3557
3558 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
3559 warning. Move variables before code while on it.
3560
3561 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
3562
3563 Fuloong support.
3564
3565 * configure.ac: Rename yeeloong platform to loongson. All users updated.
3566 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
3567 * grub-core/boot/mips/loongson/fuloong.S: New file.
3568 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
3569 Explicitly init CS5536.
3570 [FULOONG]: Don't use serial until CS5536 is available.
3571 Set GPIO based on dumps.
3572 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
3573 [FULOONG]: Handle GPIO and memory controller differences.
3574 Parse machine type in $a2.
3575 * grub-core/boot/mips/startup_raw.S: Determine and save the
3576 architecture.
3577 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
3578 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
3579 init on architecture type.
3580 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
3581 SIS315E. Don't init at_keyboard on fuloong.
3582 (grub_halt): Support Fuloong.
3583 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
3584 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
3585 (loongson_machtypes): New array.
3586 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
3587 type.
3588 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
3589 config. All users updated. Handle CS5536 serial.
3590 * grub-core/term/serial.c (grub_serial_register): Conditionalise
3591 default port on machine type. Register serial as inactive.
3592 * grub-core/video/sis315pro.c: New file.
3593 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
3594 definition.
3595 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
3596 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
3597 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
3598 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
3599 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
3600 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
3601 to ...
3602 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
3603 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
3604 definition.
3605 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
3606 (grub_arch_machine): New extern var.
3607 * include/grub/mips/loongson/serial.h
3608 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
3609 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
3610 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
3611 (GRUB_MACHINE_SERIAL_PORT0): ... this.
3612 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
3613 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
3614 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
3615 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
3616 * include/grub/term.h (grub_term_register_input_inactive): New inline
3617 function.
3618 (grub_term_register_output_inactive): Likewise.
3619 * include/grub/video.h (grub_video_driver_id): New value
3620 GRUB_VIDEO_DRIVER_SIS315PRO.
3621 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
3622 New field "names". All users updated.
3623 New field value IMAGE_FULOONG_FLASH.
3624 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
3625
3626 2011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
3627
3628 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
3629 and add some clarification.
3630
3631 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3632
3633 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
3634 platforms if kernel is compressed.
3635
3636 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3637
3638 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
3639 unused modules since currently referrence counter isn't reliable and
3640 there isn't much memory to recover there anyway.
3641
3642 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3643
3644 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
3645 rather than resetting it to allow modules to reference themselves
3646 in init.
3647
3648 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3649
3650 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
3651 counter on dependencies since grub_dl_unref already handles this.
3652
3653 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3654
3655 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
3656 on error if not already done.
3657
3658 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3659
3660 Fix few potential memory misusage.
3661
3662 * grub-core/font/font.c (load_font_index): Don't free char_index to
3663 avoid double free.
3664 (grub_font_load): Zero-fill font at alloc for safety.
3665 Close file on error.
3666 (free_font): Free bmp_idx.
3667
3668 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3669
3670 * docs/grub.texi (Installation): Fix several outdated claims.
3671
3672 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3673
3674 Handle module_license on windows.
3675
3676 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
3677 sections shifted.
3678 (insert_string): Make argument const char * instead of char *.
3679 (write_section_data): Handle long section names.
3680 Handle module_license.
3681
3682 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3683
3684 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
3685 handle class-free menuentries.
3686 (grub_normal_add_menu_entry): Add a check to be sure.
3687
3688 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
3689
3690 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
3691 PgUp and PgDown.
3692
3693 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
3694
3695 * configure.ac: Bump version to 1.99.
3696
3697 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
3698
3699 Give ATA device a bit more time on first try in order to allow disks
3700 to spin up.
3701
3702 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
3703 if dev->present is 1. Reset dev->present on failure.
3704 (grub_ata_device_initialize): Set dev->present to 1.
3705 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
3706 (grub_ata_device): New member 'present'.
3707
3708 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
3709
3710 * util/grub-mkimage.c (generate_image): Update hash.
3711
3712 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
3713
3714 Flush caches on DMA memory.
3715
3716 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
3717 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
3718 (grub_dma_free): Likewise.
3719 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
3720
3721 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
3722
3723 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
3724 to avoid asm treating ld and sd as macros.
3725
3726 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
3727
3728 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
3729 decompressor.
3730
3731 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
3732
3733 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
3734 grub_decompress_core since later would fail if grub_decompress_core
3735 is too far.
3736
3737 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
3738
3739 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
3740 R_MIPS_JALR since it's used by newer compiler.
3741
3742 2011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
3743
3744 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
3745
3746 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
3747
3748 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
3749 file_path to 0 for surety.
3750 (grub_chainloader_boot): Set exit_data to NULL.
3751 Unset the loader once done.
3752 (grub_cmd_chainloader): Fix confusing error message if file is empty.
3753
3754 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
3755
3756 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
3757 unknown key into a dprintf.
3758
3759 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
3760
3761 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
3762 on first non-existant partition.
3763
3764 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
3765
3766 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
3767 openning fails.
3768 Reported by: Mark Korenberg.
3769
3770 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
3771
3772 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
3773 overflow.
3774
3775 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
3776
3777 * util/grub-mkimage.c (main): Explicitely flush and sync the output
3778 before closing to ensure that it will be readable by grub-setup.
3779
3780 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
3781
3782 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
3783 (devpath_1): Use MAKE_PIWG_PATH.
3784 (devpath_2): Likewise.
3785 (devpath_3): Likewise.
3786 (devpath_4): Likewise.
3787 (devpath_5): Likewise.
3788 (devpath_6): Likewise.
3789
3790 The appleldr.mod was checked that to be binary identical to previous
3791 version.
3792
3793 2011-05-05 Zach <mikezackles>
3794
3795 Support 2010 Macbooks.
3796
3797 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
3798 (devs): Add devpath_6.
3799
3800 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
3801
3802 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
3803 /dev/random. /dev/urandom is good enough for our purposes (salting).
3804
3805 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
3806
3807 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
3808
3809 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
3810
3811 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
3812 hexadecimal.
3813
3814 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
3815
3816 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
3817 and not 0 on failure.
3818
3819 2011-05-03 Colin Watson <cjwatson@ubuntu.com>
3820
3821 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
3822 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
3823 disk; otherwise grub_fs_probe will not fall back to the next
3824 filesystem.
3825 (grub_pxefs_open): Likewise, for consistency.
3826 Reported and tested by: Ezekiel Grave.
3827
3828 2011-05-03 Colin Watson <cjwatson@ubuntu.com>
3829
3830 * tests/partmap_test.in: Don't hardcode path to parted.
3831 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
3832
3833 2011-05-01 Colin Watson <cjwatson@ubuntu.com>
3834
3835 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
3836 of `ls' to find out which devices are available.
3837
3838 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
3839
3840 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
3841 than source address for efi mmap buffer.
3842
3843 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
3844
3845 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
3846 wrong action on non-detecting the magic.
3847
3848 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
3849
3850 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
3851 already supplied by another part of the module (fixes compilation on
3852 FreeBSD).
3853
3854 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
3855
3856 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
3857 match the one used by mdadm.
3858
3859 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
3860
3861 * po/README: Add instructions for creating po/LINGUAS.
3862
3863 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
3864
3865 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
3866 #551428.
3867
3868 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
3869 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
3870 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
3871 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
3872 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
3873 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
3874 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
3875 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
3876 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
3877 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
3878 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
3879 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
3880 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
3881 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
3882 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
3883 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
3884 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
3885 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
3886 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
3887 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
3888 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
3889 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
3890
3891 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
3892
3893 * grub-core/kern/emu/getroot.c
3894 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
3895 test that was incorrectly reintroduced in r3214.
3896 Reported by: Ian Dall. Fixes Savannah bug #33133.
3897
3898 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
3899
3900 Fix stack pointer handling in 16-bit relocator.
3901
3902 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
3903 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
3904 Fixes Ubuntu bug #683904.
3905
3906 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
3907
3908 * configure.ac: Bump version to 1.99~rc2.
3909
3910 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
3911
3912 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
3913 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
3914 * grub-core/lib/x86_64/setjmp.S: Likewise.
3915 * grub-core/lib/mips/setjmp.S: Likewise.
3916 * grub-core/lib/powerpc/setjmp.S: Likewise.
3917 * grub-core/lib/sparc64/setjmp.S: Likewise.
3918
3919 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
3920
3921 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
3922 * grub-core/lib/efi/datetime.c: Likewise.
3923
3924 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
3925
3926 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
3927 New function.
3928 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
3929 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
3930 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
3931
3932 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
3933
3934 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
3935 bitmap.
3936 (grub_gfxterm_term_init): Likewise.
3937
3938 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
3939
3940 Take into account the decorations the computing menu entry width.
3941
3942 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
3943 (grub_gfxmenu_create_box): Register get_border_width.
3944 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
3945 if available.
3946 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
3947 get_border_width.
3948
3949 2011-04-18 Endres Puschner <code@e7p.de>
3950
3951 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
3952 Don't skip first class.
3953
3954 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
3955
3956 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
3957 chunks.
3958 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
3959
3960 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
3961
3962 Complete 64-bit division support.
3963
3964 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
3965 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
3966 * include/grub/misc.h (grub_divmod64): Rename to ...
3967 (grub_divmod64_full): ... this.
3968 (grub_divmod64): New inline function.
3969
3970 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
3971
3972 * util/grub-mkimage.c (generate_image): Add forgotten comma.
3973
3974 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
3975
3976 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
3977 performing the necessary test.
3978
3979 2011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
3980
3981 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
3982 (kfreebsd.elf): Likewise.
3983 (pc-chainloader.elf): Likewise.
3984 (ntldr.elf): Likewise.
3985
3986 2011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
3987
3988 Identify RAID by its UUID rather than (guessed) name.
3989
3990 * grub-core/disk/raid.c (ascii2hex): New function.
3991 (grub_raid_open): Accept mduuid/%s specification.
3992 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
3993 (get_mdadm_uuid): ... this.
3994 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
3995
3996 2011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
3997
3998 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
3999 to negative size.
4000
4001 2011-04-13 Colin Watson <cjwatson@ubuntu.com>
4002
4003 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
4004 btrfs subvolume.
4005 * util/grub.d/20_linux_xen.in: Likewise.
4006
4007 2011-04-13 Colin Watson <cjwatson@ubuntu.com>
4008
4009 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
4010 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
4011
4012 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
4013 Build a list of relevant visible mounts using the mnt_id and
4014 parent_mnt_id fields, and then scan that list at the end.
4015
4016 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
4017
4018 * docs/grub.texi (normal): New section.
4019 (normal_exit): New section.
4020 (Embedded configuration): Add reference to normal.
4021 (GRUB only offers a rescue shell): Likewise.
4022 * docs/grub-dev.texi (Error Handling): Fix typo.
4023
4024 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
4025
4026 * NEWS: Drop obsolete entry about probe-only btrfs support.
4027
4028 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
4029
4030 * util/import_gcry.py: Fix typo.
4031
4032 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
4033
4034 * NEWS: Add btrfs support.
4035
4036 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
4037 2011-04-11 Colin Watson <cjwatson@ubuntu.com>
4038
4039 BtrFS support. Written by me (Vladimir) with important bugfixes and
4040 even more important testing by Colin.
4041
4042 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
4043 * grub-core/Makefile.core.def (btrfs): Add crc.c.
4044 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
4045 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
4046 mem_input_off and mem_input. All users updated to accept in-RAM input.
4047 (gzio_seek): New function.
4048 (test_zlib_header): Likewise.
4049 (grub_gzio_read): Likewise.
4050 (grub_zlib_decompress): Likewise.
4051 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
4052 Accept partial and non-virtual mounts.
4053 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
4054 avoid receiving /dev/dm-X as device.
4055 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
4056 Handle bind and partial mounts.
4057 * grub-core/lib/crc.c: New file.
4058 * include/grub/deflate.h: Likewise.
4059 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
4060 proto.
4061 * include/grub/lib/crc.h: New file.
4062
4063 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
4064
4065 Implement automatic module license checking according to new GNU
4066 guidelines.
4067
4068 * grub-core/kern/dl.c (grub_dl_check_license): New function.
4069 (grub_dl_load_core): Use grub_dl_check_license.
4070 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
4071 (GRUB_MOD_LICENSE): Likewise.
4072 (GRUB_MOD_DUAL_LICENSE): Likewise.
4073 All modules updated.
4074
4075 2011-04-11 Colin Watson <cjwatson@ubuntu.com>
4076
4077 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
4078 reserved_first_sector to 1. btrfs reserves plenty of space for boot
4079 loaders.
4080 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
4081
4082 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
4083
4084 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
4085
4086 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
4087
4088 * util/grub-fstest.c (read_file): Report GRUB error if file opening
4089 failed.
4090
4091 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
4092
4093 * grub-core/kern/file.c (grub_file_open): Don't take into account the
4094 parenthesis in the middle of the filename.
4095
4096 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
4097
4098 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
4099 rather than trying to put initrd way too high.
4100 Reported by: Ryan Lortie <desrt@desrt.ca>
4101
4102 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
4103
4104 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
4105 improperly removed string.
4106
4107 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
4108
4109 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
4110 is_disk.
4111 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
4112 (open_device) Likewise.
4113 (grub_util_biosdisk_close): Likewise.
4114 Reported by: Mark Korenberg.
4115
4116 2011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
4117
4118 * util/grub-mkconfig_lib.in: Add missing quotes.
4119
4120 2011-04-10 Colin Watson <cjwatson@ubuntu.com>
4121
4122 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
4123 is NULL.
4124
4125 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
4126
4127 Dynamically count the number of lines for the lower banner.
4128
4129 * grub-core/normal/menu_entry.c (per_term_screen): New member
4130 num_entries.
4131 (print_down): Use num_entries.
4132 (update_screen): Likewise.
4133 (grub_menu_entry_run): Set num_entries.
4134 * grub-core/normal/menu_text.c (menu_viewer_data): New member
4135 num_entries.
4136 (grub_print_message_indented): Move real part to ...
4137 (grub_print_message_indented_real): ... here. Additional argument
4138 dry_run.
4139 (draw_border): Additional argument num_entries.
4140 (print_message): Additional argument dry_run.
4141 (print_entries): Receive menu viewer data.
4142 (grub_menu_init_page): New argment num_entries.
4143 (menu_text_set_chosen_entry): Use num_entries.
4144 (grub_menu_try_text): Likewise.
4145 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
4146 All users updated.
4147 (grub_ucs4_count_lines): New function.
4148 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
4149 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
4150 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
4151 (grub_term_border_height): Likewise.
4152 (grub_term_num_entries): Likewise.
4153
4154 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
4155
4156 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
4157 Remove now unused string.
4158
4159 2011-04-09 Colin Watson <cjwatson@ubuntu.com>
4160
4161 * docs/grub-dev.texi (Finding your way around): Update for 1.99
4162 build system.
4163 (Getting started): GRUB is developed in Bazaar now, not Subversion.
4164
4165 (Comment): Fix typo.
4166 (Getting started): General copy-editing.
4167 (Typical Development Experience): Likewise.
4168 (Error Handling): Likewise.
4169 (Video API): Likewise.
4170
4171 2011-04-09 Colin Watson <cjwatson@ubuntu.com>
4172
4173 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
4174 throughout.
4175
4176 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
4177
4178 * util/grub-mkimage.c (main): Handle special naming of yeeloong
4179 directory.
4180
4181 2011-04-08 Colin Watson <cjwatson@ubuntu.com>
4182
4183 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
4184 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
4185 "development".
4186
4187 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
4188
4189 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
4190 grub_strcpy since the lines aren't necessarily 0-terminated.
4191
4192 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
4193
4194 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
4195 root on legacy.
4196
4197 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
4198
4199 * grub-core/commands/probe.c (options): Argument to set isn't optional.
4200 (GRUB_MOD_INIT): DEVICE isn't optional.
4201
4202 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
4203
4204 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
4205 word on new line if it's too long anyway. Fixes a hang.
4206
4207 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
4208
4209 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
4210 const.
4211 * util/grub-setup.c (main): Reuse md device name if available.
4212 * util/raid.c (grub_util_raid_getmembers): Receive device name and
4213 not GRUB name as argument.
4214 Based on patch by: Florian Wagner <fwagner>.
4215
4216 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
4217
4218 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
4219 Place mbi on low memory for better compatibility.
4220
4221 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
4222
4223 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
4224
4225 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
4226 2011-04-08 Colin Watson <cjwatson@ubuntu.com>
4227
4228 * autogen.sh: Ensure that collate and ctype locale is C.
4229 * conf/Makefile.common: Likewise.
4230
4231 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
4232
4233 * grub-core/normal/menu.c: Add missing include.
4234
4235 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
4236
4237 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
4238
4239 2011-04-08 Martin Zuther <mzuther@mzuther.de>
4240
4241 * util/grub-mkconfig.in: Ignore emacsen backup.
4242
4243 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
4244
4245 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
4246 on open.
4247 (grub_util_biosdisk_close): Likewise.
4248
4249 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
4250
4251 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
4252 const attribute and use grub_isdigit.
4253
4254 2011-04-06 Andrey <dev_null@ukr.net>
4255
4256 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
4257 gcc warning.
4258
4259 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
4260
4261 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
4262 useful grub_dprintf's.
4263
4264 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
4265
4266 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
4267
4268 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
4269
4270 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
4271
4272 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
4273
4274 Output errors if theme loading failed.
4275
4276 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
4277 grub_gfxterm_fullscreen on error paths to ...
4278 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
4279 theme loading error.
4280
4281 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
4282
4283 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
4284 space for older compilers.
4285 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
4286
4287 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
4288
4289 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
4290 and report them as not RAID members since they are useless for GRUB.
4291 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
4292
4293 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
4294
4295 Increase LVM implementation robustness in order not to crash on
4296 configurations like pvmove. Previously code assumed that in some places
4297 only lvs or only pvs are used whereas it seems that they are used
4298 interchangeably.
4299
4300 * grub-core/disk/lvm.c (read_node): New function.
4301 (read_lv): Use read_node.
4302 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
4303 Match volumes only at the end when all lvs are found. Take both
4304 pvs (first) and lvs (second) into account.
4305 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
4306 mirror_* into node_*. All users updated.
4307 (grub_lvm_stripe): Merge this ...
4308 (grub_lvm_mirror): ... and this ...
4309 (grub_lvm_node): ... into this. All users updated.
4310
4311 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
4312
4313 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
4314 of function to allow further scanning for LVMs.
4315
4316 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
4317
4318 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
4319 on failed seek as it breaks open fd reusage.
4320
4321 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
4322
4323 * util/grub-install.in: Add a recommendation to use --recheck before
4324 reporting bugs.
4325
4326 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
4327
4328 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
4329 are obtained.
4330
4331 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
4332
4333 GRUB developper manual based on existing Internals section and
4334 contributions by the various authors with active copyright assignment.
4335
4336 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
4337 * docs/font_char_metrics.png: New file.
4338 * docs/font_char_metrics.txt: Likewise.
4339 * docs/grub-dev.texi: Likewise.
4340 * docs/grub.texi (Internals): Move from here ...
4341 * docs/grub-dev.texi: ... here.
4342
4343 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
4344
4345 Store the loopback device as data on loopback grub_disk structures,
4346 rather than the file it points to. This fixes use of freed memory
4347 if an existing loopback device is replaced.
4348
4349 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
4350 disk->data, not dev->file.
4351 (grub_loopback_read): Adjust file assignment to match.
4352 Fixes Ubuntu bug #742967.
4353
4354 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
4355
4356 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
4357 when replacing an existing device.
4358
4359 2011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
4360
4361 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
4362 memory corruptions.
4363
4364 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
4365 unsigned.
4366 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
4367 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
4368 (grub_jfs_read_inode): Likewise.
4369 (grub_jfs_opendir): Likewise. Remove now useless casts.
4370 (grub_jfs_getent): Likewise.
4371 Make ino a grub_uint32_t rather than int.
4372 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
4373 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
4374 division and module with bit operations.
4375 (grub_jfs_find_file): Make ino a grub_uint32_t.
4376 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
4377
4378 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
4379
4380 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
4381 warning. (This was in fact always initialised before use, but GCC
4382 wasn't smart enough to prove that.)
4383 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
4384
4385 2011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
4386
4387 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
4388 stack alignment.
4389 (efi_wrap_1): Likewise.
4390 (efi_wrap_2): Likewise.
4391 (efi_wrap_3): Likewise.
4392 (efi_wrap_4): Likewise.
4393 (efi_wrap_5): Likewise.
4394 (efi_wrap_6): Likewise.
4395 (efi_wrap_10): Likewise.
4396 Based on information by: Red Hat/Peter Jones.
4397
4398 2011-03-31 Colin Watson <cjwatson@ubuntu.com>
4399
4400 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
4401 set-but-not-used variable.
4402
4403 2011-03-31 Colin Watson <cjwatson@ubuntu.com>
4404
4405 * docs/grub.texi (Simple configuration): Be more explicit about
4406 GRUB_DEFAULT, and add an example.
4407 Reported by: Leslie Rhorer.
4408
4409 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
4410
4411 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
4412 shell".
4413
4414 2011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
4415
4416 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
4417 * util/grub.d/20_linux_xen.in: Likewise.
4418
4419 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
4420
4421 * util/grub.d/10_linux.in: Try alternative config filenames where
4422 we parse config file.
4423 * util/grub.d/20_linux_xen.in: Likewise.
4424
4425 2011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
4426
4427 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
4428 * util/grub.d/20_linux_xen.in: Likewise.
4429
4430 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
4431
4432 * grub-core/disk/raid.c (insert_array): Add few potentially
4433 useful grub_util_info.
4434 (grub_raid_register): Likewise.
4435
4436 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
4437
4438 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
4439 Preserve partition number in mdadm code path.
4440
4441 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
4442
4443 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
4444 few potentially useful grub_util_info.
4445
4446 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
4447
4448 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
4449
4450 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
4451
4452 * docs/grub.texi (default): Use @example rather than nested
4453 itemized lists to avoid breaking gendocs.
4454
4455 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
4456
4457 * docs/grub.texi (Future): Update.
4458
4459 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
4460
4461 * docs/grub.texi (Environment): New chapter.
4462 (Changes from GRUB Legacy): Link to "Environment block" section for
4463 details of limitations.
4464 (Simple configuration): Likewise. Link to documentation of gfxmode
4465 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
4466 respectively.
4467 (Shell-like scripting): Note that normal variables are stored in the
4468 environment.
4469 (gettext): Link to documentation of lang and locale_dir.
4470 (list_env): New section.
4471 (load_env): New section.
4472 (save_env): New section.
4473
4474 (Reporting bugs): Fix typo.
4475
4476 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
4477
4478 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
4479 the example.
4480
4481 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
4482
4483 * grub-core/term/at_keyboard.c (set_scancodes)
4484 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
4485
4486 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
4487
4488 * docs/grub.texi (Menu-specific commands): Remove some semantics
4489 that were true in GRUB Legacy but not in GRUB 2.
4490 (submenu): New section.
4491 (false): New section.
4492 (read): New section.
4493 (true): New section.
4494
4495 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
4496
4497 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
4498
4499 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
4500
4501 * docs/grub.texi (Simple configuration): Explain some of the
4502 current limitations of grub-mkconfig.
4503 Reported by: Leslie Rhorer.
4504
4505 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
4506
4507 Old macs search for boot.efi rather than for bootia32.efi.
4508
4509 * util/grub-install.in: Copy bootia32.efi to boot.efi.
4510 * util/grub-mkrescue.in: Likewise.
4511 Suggested by: Peter Jones.
4512
4513 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
4514
4515 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
4516
4517 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
4518
4519 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
4520 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
4521 (grub_lvm_mirror): New struct.
4522 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
4523 (grub_lvm_iterate): Iterate only visible volumes.
4524 (grub_lvm_read): Factor out to ..
4525 (read_lv): ... this. Support mirrors.
4526 (grub_lvm_read): New wrapper function.
4527 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
4528 stripped or mirrored.
4529
4530 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
4531
4532 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
4533
4534 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
4535
4536 * docs/grub.texi (loopback): New section.
4537
4538 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
4539
4540 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
4541 removed -p option.
4542
4543 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
4544
4545 * docs/grub.texi (BIOS installation): New section, partly based on
4546 previous text in other sections.
4547 (Installing GRUB using grub-install): Replace BIOS discussion with a
4548 cross-reference.
4549 (Images): Likewise.
4550
4551 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
4552
4553 * grub-core/kern/emu/hostdisk.c (find_partition_start)
4554 [HAVE_DIOCGDINFO]: Add safety checks.
4555
4556 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
4557
4558 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
4559 per default compiled in kernel and prior to 8.0 isn't shipped at all.
4560
4561 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
4562
4563 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
4564 real_sb->size is zero (e.g. RAID-0), get the disk size from
4565 real_sb->data_size instead.
4566 Fixes Ubuntu bug #743136.
4567
4568 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
4569
4570 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
4571 printf clauses for printing size and start.
4572
4573 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
4574
4575 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
4576 Reported and tested by: Timothy Nikkel.
4577
4578 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
4579
4580 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
4581 (dirty_region_add_real): ... this.
4582 (dirty_region_add): Don't discard margin refresh when performing
4583 scheduled repaint.
4584
4585 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
4586
4587 * grub-core/lib/relocator.c (allocate_regstart)
4588 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
4589 terminals are capabple of malloc-free operation.
4590 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
4591 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
4592
4593 2011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
4594
4595 * util/grub-setup.c: Copy the partition table zone if floppy support
4596 is disabled, even if no partition table is found.
4597
4598 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
4599 during POST if an invalid partition table is contained in the PBR
4600 of the active partition when GRUB is installed to a partition.
4601
4602 2011-03-28 Colin Watson <cjwatson@debian.org>
4603
4604 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
4605 comment.
4606
4607 2011-03-28 Colin Watson <cjwatson@debian.org>
4608
4609 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
4610 to be specific about what kind of RAID device we're scanning for.
4611
4612 2011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
4613
4614 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
4615 return freed string.
4616
4617 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
4618
4619 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
4620
4621 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
4622
4623 Use libgeom on FreeBSD to detect partitions.
4624
4625 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
4626 (grub-mkrelpath): Likewise.
4627 (grub-script-check): Likewise.
4628 (grub-editenv): Likewise.
4629 (grub-mkpasswd-pbkdf2): Likewise.
4630 (grub-fstest): Likewise.
4631 (grub-mkfont): Likewise.
4632 (grub-mkdevicemap): Likewise.
4633 (grub-probe): Likewise.
4634 (grub-setup): Likewise.
4635 (grub-ofpathname): Likewise.
4636 (grub-mklayout): Likewise.
4637 (example_unit_test): Likewise.
4638 (grub-menulst2cfg): Likewise.
4639 * grub-core/Makefile.core.def (grub-emu): Likewise.
4640 (grub-emu-lite): Likewise.
4641 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
4642 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
4643 define HAVE_DIOCGDINFO.
4644 (follow_geom_up) [FreeBSD]: New function.
4645 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
4646 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
4647 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
4648 unconditionally of HAVE_DIOCGDINFO.
4649
4650 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
4651
4652 Fix FreeBSD compilation problem.
4653
4654 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
4655 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
4656
4657 2011-03-24 Colin Watson <cjwatson@ubuntu.com>
4658
4659 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
4660 Switch back to page zero before loading a kernel, since some kernel
4661 drivers expect that.
4662 Thanks to: Felix Kuehling.
4663
4664 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
4665
4666 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
4667 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
4668 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
4669
4670 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
4671
4672 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
4673 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
4674
4675 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
4676
4677 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
4678 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
4679 malloc is disabled.
4680
4681 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
4682
4683 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
4684 for modules headers when counting the needed allocation size.
4685
4686 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
4687
4688 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
4689 if no ASCII character is found to prevent crash.
4690
4691 2011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
4692
4693 * grub-core/video/bitmap.c (match_extension): Ignore case.
4694
4695 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
4696
4697 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
4698
4699 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
4700
4701 * grub-core/script/parser.y: Declare "time" as valid argument.
4702
4703 2011-03-23 Peter Jones <pjones@redhat.com>
4704
4705 Fix incorrect assert failure reporting.
4706
4707 * grub-core/tests/example_functional_test.c (example_test): Add
4708 a failure comment.
4709 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
4710 (failure_start): ...this. Check that malloc succeeded.
4711 Don't call xvasprintf. Return failure struct.
4712 (failure_append_vtext): New function.
4713 (failure_append_text): Likewise.
4714 (add_failure): Likewise.
4715 (grub_test_assert_helper): Likewise.
4716 * include/grub/test.h (grub_test_assert_helper): New declaration.
4717 (grub_test_assert): Macro rewritten.
4718
4719 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
4720
4721 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
4722
4723 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
4724
4725 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
4726
4727 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
4728
4729 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
4730 into GRUB-style one.
4731
4732 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
4733
4734 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
4735 error and not grub_errno.
4736 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
4737
4738 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
4739
4740 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
4741 GRUB_USB_SPEED_NONE in case of failure and not the error code.
4742
4743 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
4744
4745 * grub-core/efiemu/i386/pc/cfgtables.c
4746 (grub_machine_efiemu_init_tables): Make declaration a prototype.
4747 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
4748 (grub_xnu_unlock): Likewise.
4749 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
4750
4751 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
4752
4753 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
4754 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
4755 * grub-core/commands/hashsum.c (aliases): Likewise.
4756 * grub-core/commands/setpci.c (pci_registers): Likewise.
4757 * grub-core/disk/usbms.c (attach_hook): Likewise.
4758 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
4759 (zio_checksum_table): Likewise.
4760 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
4761 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
4762 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
4763 * grub-core/lib/relocator.c (leftovers): Likewise.
4764 (extra_blocks): Likewise.
4765 * grub-core/loader/i386/bsd.c (relocator): Likewise.
4766 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
4767 (modules_last): Likewise.
4768 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
4769 (devices): Likewise.
4770 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
4771 (modules_last): Likewise.
4772 * grub-core/normal/auth.c (users): Likewise.
4773 * grub-core/normal/context.c (initial_menu): Likewise.
4774 (current_menu): Likewise.
4775 * grub-core/normal/crypto.c (crypto_specs): Likewise.
4776 * grub-core/term/serial.c (grub_serial_ports): Likewise.
4777 (grub_serial_terminfo_input_template): Likewise.
4778 (grub_serial_terminfo_output_template): Likewise.
4779 (grub_serial_terminfo_input): Likewise.
4780 (grub_serial_terminfo_output): Likewise.
4781 (registered): Likewise.
4782 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
4783
4784 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
4785
4786 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
4787 grub_video_mode_type_t.
4788 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
4789 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
4790 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
4791
4792 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
4793
4794 * util/grub-install.in: Correct the x86-64 name as x86_64.
4795
4796 2011-03-11 Colin Watson <cjwatson@ubuntu.com>
4797
4798 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
4799 initial chunk read from the kernel always includes GRUB's multiboot
4800 header, which is now outside the first sector.
4801
4802 2011-03-09 Colin Watson <cjwatson@ubuntu.com>
4803
4804 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
4805 cached mmap_size, so that this works correctly when called multiple
4806 times.
4807 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
4808
4809 2011-03-09 Colin Watson <cjwatson@ubuntu.com>
4810
4811 * docs/grub.texi (Simple configuration): Tidy up formatting.
4812
4813 2011-03-07 Szymon Janc <szymon@janc.net.pl>
4814
4815 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
4816 Set-but-not-used variable removed.
4817
4818 2011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4819
4820 Workaround yet another IEEE1275 bug.
4821
4822 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
4823 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
4824 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
4825 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
4826 is set.
4827 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
4828 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
4829
4830 2011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4831
4832 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
4833 error.
4834
4835 2011-02-11 Colin Watson <cjwatson@ubuntu.com>
4836
4837 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
4838 empty, since in that case we can only generate either nothing or a
4839 syntactically invalid configuration file.
4840 Reported by: Michal Suchanek. Fixes Debian bug #612898.
4841
4842 2011-02-09 Colin Watson <cjwatson@ubuntu.com>
4843
4844 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
4845 (Making a GRUB bootable CD-ROM): Likewise.
4846 (Invoking grub-mkrescue): New section.
4847 Reported by: Yann Dirson. Fixes Debian bug #612585.
4848
4849 2011-02-09 Colin Watson <cjwatson@ubuntu.com>
4850
4851 * util/grub-install.in: Remove unnecessary brackets from tr
4852 arguments.
4853 * util/grub.d/10_hurd.in: Likewise.
4854 * util/grub.d/10_kfreebsd.in: Likewise.
4855 * util/grub.d/10_linux.in: Likewise.
4856 * util/grub.d/20_linux_xen.in: Likewise.
4857 Reported by: Jamie Heilman. Fixes Debian bug #612564.
4858
4859 2011-02-08 Colin Watson <cjwatson@ubuntu.com>
4860
4861 * include/grub/file.h (not_easly_seekable): Rename to ...
4862 (not_easily_seekable): ... this. Update all users.
4863
4864 2011-01-28 Colin Watson <cjwatson@ubuntu.com>
4865
4866 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
4867 grub-mkrescue.
4868
4869 2011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
4870
4871 * util/grub-mkimage.c (generate_image): Refuse to create the images
4872 bigger than the actual flash (512K) in Loongson machines. 512K is also
4873 the biggest chip supported by them.
4874
4875 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
4876
4877 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
4878
4879 2011-01-22 Anthony DeRobertis <anthony@derobert.net>
4880
4881 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
4882 super_offset field.
4883
4884 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
4885
4886 * util/grub-install.in: Ignore install device on platforms
4887 where it doesn't make sense. Always use UUIDs except on pc, efi and
4888 sparc64.
4889 Reported by: Daniel Kahn Gillmor.
4890
4891 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
4892
4893 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
4894
4895 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
4896
4897 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
4898 (iterate_real): Don't rely on partition being non-NULL.
4899
4900 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
4901
4902 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
4903 supported platforms. Put a compile time assert for this rather than
4904 generate a warning with 32-bit shift.
4905
4906 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
4907
4908 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
4909 logical expression more readable.
4910
4911 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
4912
4913 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
4914 even if some elements have a name.
4915 Reported by: Alexander GQ Gerasiov.
4916
4917 2011-01-22 Colin Watson <cjwatson@ubuntu.com>
4918
4919 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
4920 path unreadable if `grub-probe -t abstraction' fails, for example if
4921 memberlist fails on an LVM volume group.
4922 Reported by: Darius Jahandarie.
4923
4924 2011-01-22 Colin Watson <cjwatson@ubuntu.com>
4925
4926 * docs/grub.texi (Simple configuration): Document
4927 GRUB_PRELOAD_MODULES.
4928
4929 2011-01-17 Colin Watson <cjwatson@ubuntu.com>
4930
4931 * .bzrignore: Remove nonexistent grub-pbkdf2.
4932
4933 2011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
4934
4935 * configure.ac: Bump version to 1.99~rc1.
4936
4937 2011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
4938
4939 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
4940 for safety.
4941
4942 2011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
4943
4944 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
4945 module.
4946
4947 2011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
4948
4949 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
4950
4951 2011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
4952
4953 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
4954 diskdevid.
4955
4956 2011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
4957
4958 Fix compilation on cygwin.
4959
4960 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
4961 -R .drectve on cygwin.
4962 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
4963 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
4964 (COND_CYGWIN): New condition.
4965 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
4966 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
4967 not @TARGET_OBJ2ELF@.
4968 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
4969 type to determine whether aux is to be used.
4970
4971 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4972
4973 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
4974 realpath'ed device string.
4975 Handle floppy (somewhat).
4976 Issue error in unknown case rather than garbage.
4977 Reported by: Axel Beckert.
4978
4979 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4980
4981 * util/grub.d/00_header.in (load_video): Handle the case when no video
4982 drivers available.
4983 Thanks to: Axel Beckert.
4984
4985 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4986
4987 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
4988 variable. Fixes problem on big endian platforms.
4989
4990 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4991
4992 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
4993 It doesn't work well there.
4994
4995 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4996
4997 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
4998 warning.
4999 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
5000 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
5001 counter.
5002
5003 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
5004
5005 Use alias->path rather than buggy "canon".
5006
5007 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
5008 (ofdisk_hash_add): New argument curcan. All users updated.
5009
5010 2011-01-11 Colin Watson <cjwatson@ubuntu.com>
5011
5012 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
5013
5014 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
5015
5016 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
5017 loadmask before doing any calculations. Use correct type for offset.
5018 (grub_linux_load64): Likewise.
5019
5020 2011-01-11 Colin Watson <cjwatson@ubuntu.com>
5021
5022 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
5023 with NULL.
5024 (console_grub_equivalences_unshift): Likewise.
5025 Reported by: Daniel Dehennin.
5026
5027 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
5028
5029 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
5030 (set_env_limn_ro): Likewise.
5031 (GRUB_MOD_INIT): Likewise.
5032 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
5033 ARRAY_SIZE while on it.
5034 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
5035 * grub-core/normal/context.c (grub_env_export): Move from here ...
5036 * grub-core/kern/env.c (grub_env_export): ... here.
5037 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
5038 prefix.
5039 * grub-core/kern/main.c (grub_main): Export root and prefix.
5040 * include/grub/env.h (grub_env_export): Export.
5041 Reported by: Seth Goldberg.
5042
5043 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
5044
5045 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
5046 Take into account space used by ELF sections and multiboot palette.
5047 Reported by: Grégoire Sutre.
5048
5049 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
5050
5051 * BUGS: New file.
5052
5053 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
5054
5055 Pass more appropriate video id to Linux.
5056
5057 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
5058 grub_video_get_driver_id and variable gfxpayloadforcelfb to
5059 fill have_vga.
5060 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
5061 shift params->lfb_size.
5062 * include/grub/i386/linux.h: Make an enume out of have_vga values.
5063
5064 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
5065
5066 * util/grub-menulst2cfg.c: Add missing include of misc.h.
5067
5068 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
5069
5070 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
5071 separator and pass bootpath/devid even if only one of them is available.
5072 Reported by: Seth Goldberg.
5073
5074 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
5075
5076 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
5077 implementations bug on them.
5078
5079 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
5080 memory.
5081 (filter_memory_map): Likewise.
5082
5083 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
5084
5085 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
5086 Reported by: nebuchadnezzar.
5087
5088 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
5089
5090 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
5091 Reported by: nebuchadnezzar.
5092
5093 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
5094
5095 Submenu default support.
5096
5097 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
5098 auto_boot. All users updated.
5099 Declared static.
5100 Handle chosen and default with submenus.
5101 (grub_menu_execute_with_fallback): Declared static.
5102 Don't notify failure if autobooted. Upper level does it.
5103 (menuentry_eq): New function.
5104 (get_entry_number): Use menuentry_eq.
5105 (show_menu): New parameter "autobooted". All users updated.
5106 (grub_show_menu): Likewise.
5107 * include/grub/normal.h (grub_show_menu): Likewise.
5108 * include/grub/menu.h (grub_menu_execute_entry): Removed.
5109 (grub_menu_execute_with_fallback): Likewise.
5110
5111 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
5112
5113 * util/grub-mklayout.c (usage): Update help text.
5114
5115 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
5116
5117 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
5118
5119 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
5120
5121 * util/grub-menulst2cfg.c (main): Trim the line.
5122
5123 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
5124
5125 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
5126 (grub_machine_init): Don't check amount of low memory as reportedly
5127 INT 12h can be broken and if low memory is too low we wouldn't have
5128 gotten into grub_machine_init anyway.
5129
5130 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
5131
5132 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
5133 (grub_machine_mmap_iterate): Take low memory into account
5134
5135 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
5136
5137 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
5138 badfs.
5139 Reported by: TiCPU.
5140
5141 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
5142
5143 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
5144 members errors.
5145
5146 2011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
5147
5148 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
5149 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
5150
5151 2011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
5152
5153 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
5154 openbsd and netbsd types being in part_bsd module.
5155
5156 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
5157
5158 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
5159 (_FILE_OFFSET_BITS): Likewise.
5160 Reported by: Seth Goldberg.
5161
5162 2011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
5163
5164 * configure.ac: Check for libdevmapper header.
5165
5166 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
5167
5168 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
5169 avoid aliasing.
5170 (fzap_lookup): Likewise.
5171 (dnode_get): Likewise.
5172 (make_mdn): Likewise.
5173 (zfs_mount): Likewise.
5174 (fzap_iterate): Use temporary pointer to avoid aliasing.
5175 (grub_zfs_read): Likewise.
5176 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
5177 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
5178 pointers to avoid aliasing.
5179 (grub_cmd_xnu_kernel64): Likewise.
5180 (grub_xnu_load_driver): Likewise.
5181
5182 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
5183
5184 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
5185 aliasing warning.
5186 (grub_cmd_terminal_output): Likewise.
5187 Reported and tested by: Grégoire Sutre.
5188
5189 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
5190
5191 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
5192 warning.
5193 Reported and tested by: Grégoire Sutre.
5194
5195 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
5196
5197 * configure.ac: Do CPU substitution even if it's specified explicitly.
5198 Reported and tested by: Alain Greppin.
5199
5200 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
5201
5202 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
5203 Reported and tested by: Alain Greppin.
5204
5205 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
5206
5207 Satisfy some bison versions need for inttypes.h.
5208
5209 * grub-core/lib/posix_wrap/inttypes.h: New file.
5210 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
5211 (int16_t): Likewise.
5212 (int32_t): Likewise.
5213 (int64_t): Likewise.
5214 Reported and tested by: Alain Greppin.
5215
5216 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
5217
5218 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
5219 Silence spurious warning.
5220 Reported and tested by: Alain Greppin.
5221
5222 2011-01-07 Szymon Janc <szymon@janc.net.pl>
5223
5224 * docs/grub.texi (Support automatic decompression): Update with xz
5225 decompression support.
5226
5227 2011-01-07 Szymon Janc <szymon@janc.net.pl>
5228
5229 Improve loaders' kernel command line handling.
5230
5231 * grub-core/lib/cmdline.c: New file.
5232 * include/grub/lib/cmdline.h: Likewise.
5233 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
5234 grub_create_loader_cmdline to create kernel command line.
5235 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
5236 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
5237 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
5238 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
5239 (linux): Add lib/cmdline.c on common.
5240
5241 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
5242
5243 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
5244 inopos might be unaligned.
5245
5246 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
5247
5248 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
5249 endian transformations.
5250 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
5251 Based on report by: Doug Nazar.
5252
5253 2011-01-07 Doug Nazar <nazard.michi@gmail.com>
5254
5255 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
5256 array->members[i].start_sector.
5257 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
5258
5259 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
5260
5261 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
5262 Reported and tested by: Grégoire Sutre.
5263
5264 2011-01-06 Colin Watson <cjwatson@ubuntu.com>
5265
5266 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
5267 avoid causing test failures by clearing the screen.
5268
5269 2011-01-06 Colin Watson <cjwatson@ubuntu.com>
5270
5271 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
5272 Fix prefix check to handle the case where dir ends with a slash
5273 (most significantly, "/" itself).
5274 Reported by: Michael Vogt.
5275
5276 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
5277
5278 Run terminfo_cls on initing terminfo output to clear the screen and
5279 move the cursor to (0,0).
5280
5281 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
5282 Call grub_terminfo_output_init.
5283 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
5284 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
5285 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
5286
5287 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
5288
5289 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
5290 only when needed.
5291
5292 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
5293
5294 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
5295 CTRL.
5296
5297 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
5298
5299 The E820 type 5 is BADRAM, not EXEC_CODE.
5300
5301 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
5302 (GRUB_E820_BADRAM): New define.
5303 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
5304 into reserved. Propagate BADRAM.
5305 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
5306 (GRUB_E820_BADRAM): New define.
5307
5308 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
5309
5310 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
5311 Ignore the memory post-4G.
5312 (grub_relocator_firmware_alloc_region): Additional debug statement.
5313
5314 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
5315
5316 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
5317 names.
5318 Reported by: David Pravec.
5319
5320 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
5321
5322 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
5323 BIOSes.
5324
5325 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
5326
5327 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
5328 Prevent overflow.
5329 (grub_reed_solomon_recover): Likewise.
5330
5331 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
5332
5333 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
5334
5335 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
5336
5337 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
5338 variable.
5339
5340 2011-01-04 Colin Watson <cjwatson@ubuntu.com>
5341
5342 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
5343 descriptions of extract_legacy_entries_source and
5344 extract_legacy_entries_configfile.
5345 Reported by: Seung Soo, Ha.
5346
5347 2011-01-03 Colin Watson <cjwatson@ubuntu.com>
5348
5349 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
5350 on devices that do not implement function 0.
5351
5352 2011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
5353
5354 * grub-core/fs/hfsplus.c: Make parent unsigned.
5355 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
5356 overflows.
5357 (grub_hfsplus_cmp_extkey): Likewise
5358
5359 2011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
5360
5361 * util/grub-install.in: Correctly use bootloader_id and not
5362 GRUB_DISTRIBUTOR on efibootmgr line.
5363
5364 2011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
5365
5366 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
5367
5368 2010-12-31 Ian Campbell <ijc@hellion.org.uk>
5369
5370 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
5371 Xen and reorder menu item wording to make it clearer that this entry
5372 will launch Xen. Print separate messages when loading Xen and
5373 Linux.
5374
5375 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
5376
5377 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
5378 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
5379 loop in case of incorrect amiga partmap.
5380
5381 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
5382
5383 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
5384 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
5385 Reported by:EHeM.
5386
5387 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
5388
5389 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
5390 spurious warning.
5391 Reported by: crocket
5392
5393 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
5394
5395 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
5396 Preload EFIemu.
5397 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
5398
5399 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
5400
5401 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
5402 is loaded
5403 (grub_cmd_xnu_kextdir): Likewise.
5404 (grub_cmd_xnu_splash): Likewise.
5405
5406 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
5407
5408 Avoid using Reed-Solomon with 0 redundancy.
5409
5410 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
5411 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
5412 or 0 redundancy.
5413 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
5414 (grub_reed_solomon_recover): Likewise.
5415
5416 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
5417
5418 Don't use disk subsystem in freebsd_boot.
5419
5420 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
5421 (freebsd_biosdev): Likewise.
5422 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
5423 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
5424
5425 2010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
5426
5427 Handling of files of unknown size is currently limited. They can't be
5428 used e.g. for initrd or modules. Moreover gzip handling of not
5429 easily seekable files is buggy. Disable unknown file size for now. May
5430 be inefficient but works.
5431
5432 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
5433 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
5434
5435 2010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
5436
5437 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
5438 floppy probe.
5439
5440 2010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
5441
5442 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
5443
5444 2010-12-25 Shea Levy <shlevy>
5445
5446 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
5447
5448 2010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
5449
5450 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
5451 Windows Server 2008.
5452 Reported by: Devin Giddings.
5453
5454 2010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
5455
5456 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
5457 writing an error message because of async power management.
5458 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
5459 (grub_reboot): Likewise.
5460
5461 2010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
5462
5463 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
5464 keep unit tests from failing when they shouldn't.
5465
5466 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
5467
5468 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
5469 previous patch increased the size of the RS code by 20 bytes (at
5470 least with gcc-4.4), so increase this by 20 bytes to match.
5471 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
5472
5473 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
5474
5475 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
5476 scratch area. Make sure to initialise chosen in standalone mode as
5477 well as non-standalone.
5478 Reported by: Robert Hooker and Andy Whitcroft.
5479 Tested by: Andy Whitcroft.
5480
5481 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
5482
5483 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
5484 constructing a new unescaped string and passing it to grub_xputs in
5485 one go, rather than passing characters to grub_printf one at a time.
5486
5487 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
5488
5489 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
5490 initialising utf16.
5491
5492 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
5493
5494 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
5495 comment. Add an extra layer of quotation, requiring the output of
5496 this function to be used in a printf format string.
5497 (gettext_printf): New function.
5498 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
5499 Extract translatable strings from here-documents and use a temporary
5500 variable instead, so that xgettext can find them.
5501 * util/grub.d/10_kfreebsd.in: Likewise.
5502 * util/grub.d/10_linux.in: Likewise.
5503 * util/grub.d/20_linux_xen.in: Likewise.
5504
5505 * po/grub.d.sed: New file.
5506 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
5507 arguments. Set c-format flags on all strings extracted from
5508 util/grub.d/ (xgettext refuses to include these itself for strings
5509 it extracted from a shell file, but these really are c-format).
5510
5511 2010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
5512
5513 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
5514 Avoid next pointing to nowhere.
5515
5516 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
5517
5518 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
5519 rather than assuming than rootblock is exactly in the middle.
5520 (grub_affs_label): Likewise.
5521
5522 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
5523
5524 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
5525 reserved_first_sector to 0.
5526 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
5527 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
5528 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
5529
5530 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
5531
5532 Fix handling of UTF-16 UDF labels.
5533
5534 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
5535 (read_string): .. here.
5536 (grub_udf_label): Use read_string.
5537
5538 2010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
5539
5540 * grub-core/normal/menu_entry.c (run): Execute commands from menu
5541 editor under argument scope.
5542 Reported by: Jordan Uggla
5543
5544 2010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
5545
5546 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
5547
5548 2010-12-18 Colin Watson <cjwatson@ubuntu.com>
5549
5550 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
5551 line, and other keys scroll an entire page (previous handling was
5552 for \r and \n to scroll a page and other keys to scroll two lines).
5553
5554 2010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
5555
5556 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
5557 Set ptrdest to correct get_physical_target_address rather than
5558 incorrect get_virtual_current_address.
5559
5560 2010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
5561
5562 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
5563 correct cat to grub_uint8_t * rather than grub_uint32_t *.
5564
5565 2010-12-10 Colin Watson <cjwatson@ubuntu.com>
5566
5567 * .bzrignore: Ignore grub-core/rs_decoder.S.
5568
5569 2010-12-10 Colin Watson <cjwatson@ubuntu.com>
5570
5571 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
5572 .mo/.mo.gz opening sequence to ...
5573 (grub_mofile_open_lang): ... here.
5574 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
5575 * util/grub.d/00_header.in (grub_lang): Include country part of
5576 locale.
5577 Reported by: Mario Limonciello.
5578
5579 2010-12-09 Robert Millan <rmh@gnu.org>
5580
5581 * NEWS: Document addition of ZFS support.
5582
5583 2010-12-04 Colin Watson <cjwatson@ubuntu.com>
5584
5585 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
5586 rather than `/ 2', as the latter requires -Wa,--divide which would
5587 require bumping our minimum binutils version.
5588
5589 2010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
5590
5591 * util/grub-script-check.c (main): Print script line number on
5592 error.
5593
5594 2010-12-01 Robert Millan <rmh@gnu.org>
5595
5596 * grub-core/fs/zfs/zfs.c: New file.
5597 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
5598 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
5599 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
5600 * grub-core/fs/zfs/zfsinfo.c: Likewise.
5601
5602 * include/grub/zfs/dmu.h: Likewise.
5603 * include/grub/zfs/dmu_objset.h: Likewise.
5604 * include/grub/zfs/dnode.h: Likewise.
5605 * include/grub/zfs/dsl_dataset.h: Likewise.
5606 * include/grub/zfs/dsl_dir.h: Likewise.
5607 * include/grub/zfs/sa_impl.h: Likewise.
5608 * include/grub/zfs/spa.h: Likewise.
5609 * include/grub/zfs/uberblock_impl.h: Likewise.
5610 * include/grub/zfs/vdev_impl.h: Likewise.
5611 * include/grub/zfs/zap_impl.h: Likewise.
5612 * include/grub/zfs/zap_leaf.h: Likewise.
5613 * include/grub/zfs/zfs.h: Likewise.
5614 * include/grub/zfs/zfs_acl.h: Likewise.
5615 * include/grub/zfs/zfs_znode.h: Likewise.
5616 * include/grub/zfs/zil.h: Likewise.
5617 * include/grub/zfs/zio.h: Likewise.
5618 * include/grub/zfs/zio_checksum.h: Likewise.
5619
5620 * Makefile.util.def: Build ZFS into libgrubmods.
5621 * grub-core/Makefile.core.def: Build zfs.mod.
5622
5623 2010-11-30 Szymon Janc <szymon@janc.net.pl>
5624
5625 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
5626 variable.
5627 * grub-core/commands/wildcard.c (match_files): Likewise.
5628
5629 2010-11-30 Robert Millan <rmh@gnu.org>
5630
5631 * grub-core/loader/i386/bsd.c
5632 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
5633 whether kernel is loaded using grub_loader_is_loaded(), rather
5634 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
5635 certain error conditions.
5636
5637 2010-11-30 Robert Millan <rmh@gnu.org>
5638
5639 * grub-core/commands/echo.c: Include `<grub/term.h>'.
5640 (grub_cmd_echo): Call grub_refresh() after printing a message.
5641
5642 2010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
5643
5644 Avoid using tricks for initialising endian variables.
5645
5646 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
5647 Make const.
5648 (GRUB_MOD_INIT): Don't byte-swap.
5649 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
5650 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
5651 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
5652 (grub_swap_bytes32_compile_time): Likewise.
5653 (grub_cpu_to_le32_compile_time): Likewise.
5654 (grub_cpu_to_le16_compile_time): Likewise.
5655
5656 2010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
5657
5658 * util/grub-setup.c (setup): Stop recommending --force. People who
5659 understand the dangers of blocklists are able to find this option
5660 anyway and the ones who don't shouldn't use it anyway.
5661
5662 2010-11-26 Robert Millan <rmh@gnu.org>
5663
5664 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
5665 Update all users.
5666
5667 2010-11-26 Colin Watson <cjwatson@ubuntu.com>
5668
5669 Fix LVM-on-RAID probing.
5670
5671 * util/grub-probe.c (probe): Remember which disk was detected as
5672 RAID (perhaps an LVM physical volume). Use that disk's raidname
5673 rather than that of the top-level disk.
5674
5675 2010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
5676
5677 Fix cmdline argument quotes for setparams command of menuentry
5678 definitions.
5679
5680 * grub-core/commands/menuentry.c (setparams_prefix): Use single
5681 quotes for arguments.
5682 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
5683 grub_strchrsub function instead.
5684
5685 * include/grub/misc.h (grub_strchrsub): New function.
5686
5687 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
5688
5689 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
5690 effort by skipping "." and ".." entries up-front.
5691 Suggested by: Michael Lazarev.
5692
5693 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
5694
5695 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
5696 ldflags to ldadd, to fix link line ordering.
5697 (none_decompress): Likewise.
5698
5699 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
5700
5701 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
5702 platforms.
5703 (grub-emu-lite): Remove kern/emu/cache.S.
5704
5705 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
5706
5707 * util/deviceiter.c (compare_devices): If the by-id link for a
5708 device couldn't be resolved, fall back to sorting by the by-id link
5709 rather than segfaulting.
5710 Reported and tested by: Daniel Mierswa.
5711
5712 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
5713
5714 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
5715 ldflags, to fix link line ordering.
5716
5717 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
5718
5719 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
5720 linkers are picky about this.
5721
5722 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
5723
5724 * grub-core/Makefile.am (command.lst): Adjust sed expression
5725 ordering so that extended and priority commands aren't treated as
5726 ordinary commands.
5727
5728 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
5729
5730 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
5731 Remove byte-swapping function calls, which are not valid in
5732 structure initialisers.
5733 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
5734 non-const.
5735 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
5736 grub_gpt_partition_type_bios_boot.
5737
5738 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
5739
5740 Fix test program build on GNU/kFreeBSD.
5741
5742 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
5743 $(LIBNVPAIR)' library dependencies.
5744
5745 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
5746
5747 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
5748
5749 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
5750
5751 * util/grub-install.in: Remove excessive quoting that broke
5752 installations to RAID devices.
5753
5754 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
5755
5756 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
5757 bootloader version instead of 0.
5758
5759 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
5760
5761 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
5762 warning.
5763
5764 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
5765
5766 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
5767 retrieve the metadat sector if size isn't known.
5768 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
5769
5770 2010-11-18 Robert Millan <rmh@gnu.org>
5771
5772 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
5773 with grub_memcmp().
5774
5775 2010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
5776
5777 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
5778 arrow.
5779 Reported by: Jordan Uggla.
5780
5781 2010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
5782
5783 Make better UTF compliant.
5784
5785 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
5786 sequences as incorrect.
5787 (grub_is_valid_utf8): Likewise.
5788 (grub_utf8_to_ucs4): Likewise.
5789 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
5790 (grub_ucs4_to_utf8_alloc): Likewise.
5791 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
5792
5793 2010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
5794
5795 Make legacy_source behave like source.
5796
5797 * grub-core/commands/legacycfg.c (legacy_file): Don't call
5798 grub_show_menu.
5799 (grub_cmd_legacy_source): Call grub_show_menu if needed.
5800
5801 2010-11-16 Colin Watson <cjwatson@debian.org>
5802
5803 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
5804 (-Wunused implies -Wunused-parameter, but not vice versa).
5805
5806 2010-11-16 Colin Watson <cjwatson@ubuntu.com>
5807
5808 * configure.ac: Make error messages less confusing by testing for
5809 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
5810 accepted, but produces a diagnostic if something else is wrong).
5811
5812 2010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
5813
5814 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
5815 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
5816 (now unused).
5817 (grub_keyboard_controller_init)
5818 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
5819 read the initial state since controller isn't inited yet.
5820
5821 2010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
5822
5823 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
5824 allocate_regbeg may need to create new chunk header.
5825
5826 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
5827
5828 Fix quoting in legacy parser.
5829
5830 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
5831 single quotes.
5832 (grub_legacy_parse): Likewise.
5833 Reported by: Jordan Uggla.
5834 Tested by: Jordan Uggla.
5835
5836 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
5837
5838 Don't add -lgcc on i386 and x86_64.
5839
5840 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
5841 * conf/Makefile.common (LDADD_KERNEL): Likewise.
5842 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
5843
5844 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
5845
5846 * configure.ac: Add -Wno-trampolines when supported.
5847
5848 2010-11-14 Modestas Vainius <modax@debian.org>
5849
5850 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
5851 fakeraid.
5852
5853 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
5854
5855 Add generic logical block size support for UDF.
5856
5857 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
5858 (GRUB_UDF_BLKSZ): Removed.
5859 (struct grub_udf_data): New field "lbshift" to hold the logical block
5860 size of the file system in log2 format. All users updated.
5861 (sblocklist): Change type to unsigned.
5862 (grub_udf_mount): Change type of "sblklist" to unsigned.
5863 Move AVDP search before VRS recognition, because the latter requires
5864 knowledge of the logical block size, which is detected during the
5865 former.
5866 Detect and validate logical block size during AVDP search, adding
5867 support for block sizes 512, 1024 and 4096.
5868 Make VRS recognition independent of block size.
5869
5870 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
5871
5872 Properly handle deleted files on UDF.
5873
5874 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
5875 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
5876 set.
5877
5878 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
5879
5880 Support reading files larger than 2 GiB.
5881
5882 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
5883 "offset" to grub_off_t.
5884 (grub_udf_read_file): Likewise for parameter "pos".
5885
5886 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
5887
5888 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
5889 unavailable.
5890 (Simple configuration): Refer to Changes from GRUB Legacy about
5891 save_env availability.
5892
5893 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
5894
5895 * util/grub-install.in: Ignore empty partition table detection
5896 instead of trying to include part_ module.
5897
5898 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
5899
5900 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
5901 LVM on RAID support.
5902
5903 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
5904
5905 Properly define WORDS_BIGENDIAN in wrapped environments.
5906
5907 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
5908 definition.
5909 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
5910
5911 Reported by: Manoel Rebelo Abranches.
5912 Tested by: Manoel Rebelo Abranches.
5913
5914 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
5915
5916 * util/grub-mkconfig.in: Fix quoting.
5917
5918 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
5919
5920 Support big ext2 files.
5921
5922 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
5923 (grub_ext2_read_block): Support triple indirect blocks.
5924 (grub_ext2_read_file): Use 64-bit types and read size_high.
5925 (grub_ext2_open): Read size_high.
5926 Reported by: Ximin Luo.
5927 Tested by: Manoel Rebelo Abranches.
5928
5929 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
5930
5931 * util/grub-install.in: Handle filenames containing spaces.
5932 Reported by: Jordan Uggla.
5933 Tested by: Jordan Uggla.
5934
5935 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
5936
5937 * util/grub-mkconfig.in (grub_script_check): New variable.
5938 Use grub_script_check instead of grub-script-check.
5939 Reported by: Barry Jackson.
5940
5941 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
5942
5943 * docs/grub.texi (menu): Correct the order.
5944 Reported by: D. Hugh Redelmeier.
5945
5946 2010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
5947
5948 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
5949 jump.
5950
5951 2010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
5952
5953 * include/grub/elfload.h (grub_elf32_size): New parameter.
5954 All users updated.
5955 Return maximum segments alignment.
5956 (grub_elf64_size): Likewise.
5957 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
5958 Return maximum segments alignment.
5959 (grub_elf64_size): Likewise.
5960 * grub-core/loader/powerpc/ieee1275/linux.c:
5961 (grub_linux_claimmap_iterate): New function. Uses the
5962 "available" property in the "memory" node for memory allocation
5963 for kernel in the PowerPC loader.
5964 (grub_linux_load32): Correctly find linux entry point offset.
5965 (grub_linux_load64): Likewise.
5966
5967 2010-11-07 Robert Millan <rmh@gnu.org>
5968
5969 On mips-yeeloong, build with -march=loongson2f when this flag is
5970 available (GCC >= 4.4).
5971 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
5972 `-march=mips3'.
5973 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
5974 or otherwise add -march=mips3.
5975
5976 2010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
5977
5978 Suppress shell expansion on echo '*' and echo "*" like cases.
5979 Reported by: Jordan Uggla.
5980
5981 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
5982 string arguments before shell expansion.
5983 * tests/grub_cmd_echo.in: New testcases.
5984
5985 2010-11-07 Robert Millan <rmh@gnu.org>
5986
5987 * conf/mips-qemu-mips.rmk: Remove stale file from previous
5988 transition.
5989
5990 2010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
5991
5992 * grub-core/kern/emu/hostdisk.c
5993 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
5994
5995 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
5996
5997 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
5998 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
5999 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
6000
6001 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
6002
6003 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
6004
6005 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
6006
6007 * util/grub-install.in: Replace useless recomendation to pass
6008 --modules with a recomendation to report a bug.
6009
6010 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
6011
6012 Properly register serial terminfo.
6013 Reported by: Jordan Uggla
6014
6015 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
6016 const.
6017 (grub_serial_terminfo_output_template): Likewise.
6018 (grub_cmd_serial): Register "serial" with terminfo.
6019 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
6020 grub_serial_terminfo_output.
6021
6022 2010-11-05 Robert Millan <rmh@gnu.org>
6023
6024 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
6025 needed).
6026
6027 2010-11-05 Robert Millan <rmh@gnu.org>
6028
6029 On Yeeloong, pass machine type information to Linux.
6030
6031 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
6032 (LOONGSON_MACHTYPE): New macro, set to
6033 "machtype=lemote-yeeloong-2f-8.9inches".
6034 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
6035 additional argument to Linux.
6036
6037 2010-11-04 Robert Millan <rmh@gnu.org>
6038
6039 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
6040 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
6041 (its SATA disks are detected as slaveless IDE master drives on
6042 kFreeBSD).
6043 Reported by Carsten Aulbert.
6044
6045 2010-11-02 Colin Watson <cjwatson@ubuntu.com>
6046
6047 * util/bin2h.c (main): Fix spelling error in generated output.
6048
6049 2010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
6050
6051 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
6052
6053 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
6054
6055 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
6056 vga= option is supplied.
6057
6058 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
6059
6060 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
6061 * util/grub.d/10_kfreebsd.in: Likewise.
6062 * util/grub.d/10_linux.in: Likewise.
6063 * util/grub.d/20_linux_xen.in: Likewise.
6064
6065 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
6066
6067 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
6068 argument as an argument to no-argument option.
6069
6070 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
6071
6072 * util/grub.d/10_linux.in: Add missing load_video with explicit
6073 GRUB_GFXPAYLOAD_LINUX.
6074
6075 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
6076
6077 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
6078
6079 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
6080
6081 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
6082 elements with invlid index.
6083 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
6084 * grub-core/disk/raid.c (insert_array): Automatically reallocate
6085 members.
6086 * include/grub/raid.h (grub_raid_member): New struct.
6087 (grub_raid_array): Transform devices and start_sector into usage of
6088 grub_raid_member. All users updated
6089 (allocated_devs): New member.
6090
6091 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
6092
6093 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
6094 is modified
6095
6096 2010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
6097
6098 NetBSD build fix for getline function conflict from gnulib.
6099
6100 * Makefile.util.def (libgrubkern.a): New library for grub kernel
6101 components that depend on gnulib headers.
6102 (libgrubmods.a): Renamed from earlier libgrub.a.
6103 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
6104
6105 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
6106
6107 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
6108 install rather than creating a broken install.
6109
6110 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
6111
6112 * util/grub-setup.c (argp): Remove misleading example of installing to
6113 a partition.
6114
6115 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
6116
6117 * util/grub-setup.c (setup): Clarify the error message.
6118
6119 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
6120
6121 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
6122
6123 2010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6124
6125 * grub-core/kern/emu/misc.c
6126 (grub_make_system_path_relative_to_its_root)
6127 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
6128
6129 2010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
6130
6131 * grub-core/kern/emu/misc.c
6132 (grub_make_system_path_relative_to_its_root): Revert r2882.
6133
6134 2010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
6135
6136 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
6137 useless field head. All users updated.
6138 (free_subchunk): Correct handling of IN_REGION subchunk.
6139
6140 2010-10-22 Colin Watson <cjwatson@ubuntu.com>
6141
6142 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
6143 (Supported kernels): Likewise.
6144
6145 2010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
6146
6147 Make mktemp invocations portable.
6148
6149 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
6150 exit if mktemp fails.
6151 * tests/grub_script_blockarg.in: Likewise.
6152 * tests/partmap_test.in: Likewise.
6153 * tests/util/grub-shell-tester.in: Likewise.
6154 * tests/util/grub-shell.in: Likewise.
6155 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
6156 * Makefile.am: Likewise, and chain shell commands with `&&'
6157 instead of ';'.
6158 * util/grub-mkrescue.in: Use the same explicit template as above, and
6159 exit if mktemp fails.
6160
6161 2010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
6162
6163 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
6164 Linux kernel, reported by Dennis Schridde.
6165
6166 2010-10-17 Szymon Janc <szymon@janc.net.pl>
6167
6168 * grub-core/normal/auth.c (grub_auth_check_authentication):
6169 Set-but-not-used variable removed.
6170
6171 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
6172
6173 * docs/grub.texi (GNU/Linux): Document APM unavailability with
6174 32-bit linux protocol.
6175
6176 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
6177
6178 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
6179 cursor shape for sanity.
6180
6181 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
6182
6183 * docs/grub.texi (Installation): Document buggy BIOS install.
6184
6185 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
6186
6187 * docs/grub.texi (Installation): Indent.
6188
6189 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
6190
6191 * util/grub-setup.c (setup): New parameter allow_floppy.
6192 (arguments): New member allow_floppy.
6193 (argp_parser): Handle --allow-floppy.
6194 (main): Pass allow_floppy.
6195 * util/grub-install.in: New option --allow-floppy passed though to
6196 grub-setup.
6197
6198 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
6199
6200 * util/grub-install.in: Handle partitionless disks.
6201
6202 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
6203
6204 * util/grub-setup.c (setup): Don't clean blocklists before readability
6205 verfification.
6206
6207 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
6208
6209 * docs/grub.texi (Installation): Document embedding zone. Remove
6210 obsolete grub-install example.
6211
6212 2010-10-16 Szymon Janc <szymon@janc.net.pl>
6213
6214 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
6215 Set-but-not-used variable ifdef'ed.
6216 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
6217 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
6218 variable removed.
6219 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
6220 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
6221 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
6222 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
6223 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
6224 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
6225 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
6226 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
6227 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
6228 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
6229 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
6230 Likewise.
6231
6232 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
6233
6234 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
6235 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
6236 enum value.
6237
6238 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
6239
6240 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
6241 synonym to _S5_. Needed for some DSDTs.
6242
6243 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
6244
6245 Userspace ACPI parser debugging.
6246
6247 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
6248 headers and add relevant defines. Don't include standard headers.
6249 (main) [GRUB_DSDT_TEST]: New function.
6250 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
6251 Don't declare functions.
6252
6253 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
6254
6255 Remove dead grub_efi_mm_fini.
6256
6257 * grub-core/kern/efi/mm.c (allocated_page): Removed.
6258 (ALLOCATED_PAGES_SIZE): Likewise.
6259 (MAX_ALLOCATED_PAGES): Likewise.
6260 (allocated_pages): Likewise.
6261 (grub_efi_allocate_pages): Don't record allocated pages.
6262 (grub_efi_free_pages): Likewise.
6263 (grub_efi_mm_init): Likewise.
6264 (grub_efi_mm_fini): Removed.
6265
6266 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
6267
6268 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
6269 (grub_efi_mm_init): Take into account the memory map size increase.
6270
6271 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
6272
6273 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
6274 (serial_hw_put): Wait based on real time rather than port reads. Don't
6275 roken ports.
6276 * include/grub/serial.h (grub_serial_port): New field broken.
6277
6278 2010-10-16 Robert Millan <rmh@gnu.org>
6279
6280 * grub-core/kern/emu/misc.c
6281 (grub_make_system_path_relative_to_its_root): Fix premature return
6282 when processing non-root ZFS filesystems.
6283 Reported by Sergio Talens-Oliag.
6284
6285 2010-10-15 Robert Millan <rmh@gnu.org>
6286
6287 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
6288 guarantee compressed ones are processed first.
6289
6290 2010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
6291
6292 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
6293 grub_efiemu_autocore.
6294
6295 2010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
6296
6297 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
6298 rather than 0x1b.
6299 (grub_console_getkey): Use correct jae opcode rather than ja.
6300
6301 2010-10-12 Robert Millan <rmh@gnu.org>
6302
6303 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
6304 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
6305 variable. All references updated.
6306
6307 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
6308
6309 2010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
6310
6311 Correctly distinguish mdraid flavours.
6312
6313 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
6314 (insert_array): New argument raid.
6315 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
6316 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
6317 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
6318
6319 2010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
6320
6321 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
6322 handling of special keys.
6323
6324 2010-10-02 Aleš Nesrsta <starous@volny.cz>
6325
6326 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
6327 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
6328
6329 2010-10-02 Aleš Nesrsta <starous@volny.cz>
6330
6331 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
6332 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
6333 users updated.
6334 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
6335 Use right endpoint when querying descriptor.
6336
6337 2010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
6338
6339 Clear out 0x80 color bit on EFI.
6340 Tested by: decoder
6341 Reported by: decoder and meta tech.
6342
6343 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
6344 (grub_console_setcolorstate): Clear out 0x80 bit.
6345 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
6346 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
6347 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
6348
6349 2010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
6350
6351 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
6352 Set to "auto".
6353
6354 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
6355
6356 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
6357 mo_file after freeing.
6358
6359 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
6360
6361 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
6362
6363 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
6364
6365 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
6366 flags.
6367
6368 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
6369
6370 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
6371 usage.
6372
6373 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
6374
6375 Put terminfo into core on ieee1275 and yeeloong (needed for console).
6376
6377 * gentpl.py: New groups terminfoinkernel and terminfomodule.
6378 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
6379 and terminfo.h when needed.
6380 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
6381 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
6382 (terminfo): Enable only on terminfokernel.
6383 (extcmd): Likewise.
6384 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
6385 * include/grub/lib/arg.h: Likewise.
6386 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
6387 incorrect usage of ->.
6388
6389 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
6390
6391 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
6392 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
6393
6394 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
6395
6396 Fix coreboot compilation.
6397
6398 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
6399 Take VBE info into account even if only text is supported.
6400 (fill_vbe_info): Take into account the case when only VGA text
6401 is supported.
6402 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
6403 on coreboot, multiboot and qemu.
6404
6405 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
6406
6407 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
6408 debug messages.
6409 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
6410
6411 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
6412
6413 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
6414 parameters.
6415
6416 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
6417
6418 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
6419 if they were BSD-style.
6420
6421 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
6422
6423 * grub-core/boot/i386/pc/lnxboot.S: Replace
6424 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
6425 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
6426
6427 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
6428
6429 Write embedding zone using Reed-Solomon.
6430
6431 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
6432 * grub-core/Makefile.am (rs_decoder.S): New target.
6433 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
6434 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
6435 (multiboot): Move to RS part.
6436 (post_reed_solomon): New label.
6437 (grub_boot_drive): Move to non-RS part since it's modified in memory
6438 on boot.
6439 Include rs_decoder.S.
6440 * grub-core/lib/reed_solomon.c: New file.
6441 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
6442 New definition.
6443 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
6444 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
6445 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
6446 * include/grub/partition.h (grub_partition_map): Change prototype of
6447 embed to allow returning additional sectors.
6448 * include/grub/reed_solomon.h: New file.
6449 * util/grub-setup.c (setup): Handle Reed-Solomon.
6450
6451 2010-09-28 Colin Watson <cjwatson@ubuntu.com>
6452
6453 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
6454 i386 and x86-64 definedness tests.
6455
6456 2010-09-27 Yves Blusseau <blusseau@zetam.org>
6457
6458 Fix generation of kernel_syms.lst
6459
6460 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
6461 ASM_PREFIX
6462
6463 2010-09-26 Robert Millan <rmh@gnu.org>
6464
6465 Support degraded ZFS arrays in "grub-probe -t device" resolution.
6466
6467 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
6468 the pool is an array of devices, iterate through it and return the
6469 first device that passes a stat() test (instead of blindly returning
6470 the first one).
6471
6472 2010-09-26 Robert Millan <rmh@gnu.org>
6473
6474 Build fixes for GNU/kFreeBSD.
6475
6476 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
6477 to programs that require ZFS conversion.
6478 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
6479 kernels that don't have FLOPPY_MAJOR.
6480
6481 2010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
6482
6483 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
6484
6485 2010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
6486
6487 Fix grub-emu build.
6488
6489 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
6490 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
6491 mdraid09 and mdraid1x.
6492
6493 2010-09-24 Colin Watson <cjwatson@ubuntu.com>
6494
6495 Re-enable grub-extras.
6496
6497 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
6498 avoid confusing Automake. Run autogen only twice, once for the top
6499 level and once for grub-core. Add Makefile.util.def and
6500 Makefile.core.def from extra modules to the appropriate autogen
6501 invocations. If Makefile.common exists in an extra module, include
6502 it in both Makefile.util.am and grub-core/Makefile.core.am;
6503 similarly, include any Makefile.util.common file in Makefile.util.am
6504 and any Makefile.core.common file in grub-core/Makefile.core.am.
6505 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
6506 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
6507 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
6508 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
6509
6510 * gentpl.py (gvar_add): Turn GVARS into a set.
6511 (global_variable_initializers): Sort global variables on output.
6512 (vars_init): New function.
6513 (first_time): Likewise.
6514 (library): Ensure that non-global variable initialisations are
6515 emitted before the first time we emit code for a library block.
6516 Append to variables rather than setting them. Only emit
6517 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
6518 each conditional path.
6519 (program): installdir() emits an Autogen macro, so must be passed to
6520 var_add rather than gvar_add.
6521 (data): Likewise.
6522 (script): Likewise.
6523 (rules): New function, centralising handling for different target
6524 types. Set up Guile association lists for first_time and vars_init,
6525 and send most output to a diversion so that variable initialisations
6526 can be emitted first.
6527 (module_rules): Use new rules function.
6528 (kernel_rules): Likewise.
6529 (image_rules): Likewise.
6530 (library_rules): Likewise.
6531 (program_rules): Likewise.
6532 (script_rules): Likewise.
6533 (data_rules): Likewise.
6534
6535 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
6536
6537 * .bzrignore: Add contrib and grub-core/contrib. Remove
6538 grub-core/Makefile.gcry.am.
6539
6540 2010-09-24 Yves Blusseau <blusseau@zetam.org>
6541
6542 * grub-core/lib/LzFind.c: Add missing include.
6543 * grub-core/lib/LzmaEnc.c: Likewise.
6544 * grub-core/script/lexer.c: Likewise.
6545 * grub-core/script/yylex.l: Likewise.
6546 * util/grub-macho2img.c: Likewise.
6547 * util/grub-menulst2cfg.c: Likewise.
6548 * util/grub-mklayout.c: Likewise.
6549 * util/grub-mkpasswd-pbkdf2.c
6550 * util/grub-mkrelpath.c: Likewise.
6551 * util/resolve.c: Likewise.
6552
6553 2010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
6554
6555 * Makefile.util.def (example_unit_test): Add
6556 grub-core/gnulib/libgnu.a.
6557
6558 2010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
6559
6560 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
6561
6562 2010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
6563
6564 Support xz compression on yeeloong.
6565
6566 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
6567 * configure.ac: Check for LZMA.
6568 * grub-core/Makefile.core.def (xz_decompress): New target.
6569 (none_decompress): Likewise.
6570 * grub-core/boot/decompressor/minilib.c: New file.
6571 * grub-core/boot/decompressor/none.c: Likewise.
6572 * grub-core/boot/decompressor/xz.c: Likewise.
6573 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
6574 * grub-core/kern/mips/cache_flush.S: Likewise.
6575 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
6576 * grub-core/kern/mips/startup.S: Move first stage to ...
6577 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
6578 nomacro.
6579 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
6580 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
6581 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
6582 Allocate statically.
6583 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
6584 Allocate statically or use scratch. Don't check CRC32.
6585 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
6586 Allocate statically. Don't check CRC32.
6587 * include/grub/decompressor.h: New file.
6588 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
6589 Removed.
6590 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
6591 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
6592 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
6593 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
6594 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
6595 * util/grub-mkimage.c (grub_compression_t): New type.
6596 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
6597 (image_target_desc): New field default_compression.
6598 (image_targets): Adjust yeeloong targets.
6599 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
6600 (compress_kernel): New parameter comp.
6601 (generate_image): Likewise. Handle new compression case.
6602 (options): New option --compression
6603 (help): Likewise.
6604 (main): Handle new option.
6605
6606 2010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
6607
6608 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
6609
6610 2010-09-22 Colin Watson <cjwatson@ubuntu.com>
6611
6612 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
6613 typo in __i386__ conditional.
6614
6615 2010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
6616
6617 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
6618 include.
6619
6620 2010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
6621
6622 Implement EFI and ACPI multiboot2 extensions.
6623
6624 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
6625 new tags as supported.
6626 (acpiv2_size): New function.
6627 (grub_multiboot_get_mbi_size): Take new tags into account.
6628 (grub_multiboot_make_mbi): Add new tags.
6629 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6630
6631 2010-09-21 Aleš Nesrsta <starous@volny.cz>
6632
6633 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
6634 Added missing configuration of USB device.
6635
6636 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
6637
6638 * grub-core/normal/menu_entry.c (run): Make sure we always return
6639 a value.
6640
6641 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
6642
6643 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
6644 NumberOfPages is UINT64 according to the UEFI specification, not
6645 UINTN. Fix printf format.
6646
6647 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
6648
6649 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
6650 `err' to grub_usb_err_t.
6651 Reported and tested by: KESHAV P.R.
6652
6653 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
6654
6655 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
6656 tpart non-const, so that we can assign to it. (Since this is a
6657 typedef, the constness refers to the pointer rather than what it
6658 points to.)
6659
6660 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
6661
6662 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
6663 $(top_srcdir)/grub-core/gnulib as well as
6664 $(top_builddir)/grub-core/gnulib.
6665 Reported by: KESHAV P.R.
6666
6667 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
6668
6669 * util/grub-install.in: Fix the bootloader ID option to be
6670 consistently --bootloader-id, not --bootloader_id.
6671 Reported by: KESHAV P.R.
6672
6673 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
6674
6675 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
6676 check hash checksum." consistently translatable.
6677
6678 2010-09-21 Yves Blusseau <blusseau@zetam.org>
6679
6680 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
6681 $(top_builddir).
6682
6683 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
6684
6685 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
6686 (GRUB_MOD_INIT): Register sha1sum command.
6687 (GRUB_MOD_FINI): Unregister sha1sum command.
6688
6689 2010-09-21 Yves Blusseau <blusseau@zetam.org>
6690
6691 Keep boot and grub directory names in sync with utils scripts
6692
6693 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
6694 * config.h.in: Add previous macros.
6695 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
6696 * util/grub-install.in: Use $bootdir and $grubdir variables.
6697
6698 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
6699
6700 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
6701 convert partition names to disk names if the new `convert' parameter
6702 is set.
6703 (grub_util_biosdisk_get_grub_dev): If opening the disk device
6704 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
6705 disk in its own right. This can happen with Xen disk images.
6706
6707 2010-09-21 Yves Blusseau <blusseau@zetam.org>
6708
6709 * util/grub-editenv.c: Update strings to avoid warnings when generating
6710 grub.pot file.
6711 * util/grub-setup.c: Likewise.
6712
6713 2010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
6714
6715 * configure.ac: Change version to 1.99~beta0.
6716
6717 2010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
6718
6719 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
6720 Add BADRAM.
6721 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
6722 Likewise.
6723 * include/multiboot.h: Resynced with specification.
6724 * include/multiboot2.h: Likewise.
6725
6726 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
6727
6728 Fix po directory handling.
6729
6730 * configure.ac: Create po/Makefile.in rather than po/Makefile.
6731 * grub-core/gnulib/Makefile.am: Import gettext module.
6732 * m4/gnulib-cache.m4: Likewise.
6733 * m4/gnulib-comp.m4: Likewise.
6734 * m4/gettext.m4: New file, from gnulib.
6735 * m4/glibc2.m4: Likewise.
6736 * m4/iconv.m4: Likewise.
6737 * m4/intdiv0.m4: Likewise.
6738 * m4/intl.m4: Likewise.
6739 * m4/intldir.m4: Likewise.
6740 * m4/intlmacosx.m4: Likewise.
6741 * m4/intmax.m4: Likewise.
6742 * m4/inttypes-pri.m4: Likewise.
6743 * m4/lcmessage.m4: Likewise.
6744 * m4/lib-ld.m4: Likewise.
6745 * m4/lib-link.m4: Likewise.
6746 * m4/lib-prefix.m4: Likewise.
6747 * m4/lock.m4: Likewise.
6748 * m4/nls.m4: Likewise.
6749 * m4/po.m4: Likewise.
6750 * m4/printf-posix.m4: Likewise.
6751 * m4/progtest.m4: Likewise.
6752 * m4/threadlib.m4: Likewise.
6753 * m4/uintmax_t.m4: Likewise.
6754 * m4/visibility.m4: Likewise.
6755 * po/Makefile.am: Remove.
6756 * po/Makefile.in.in: New file, from gettext.
6757 ($(DOMAIN).pot-update): Support POTFILES-shell.
6758 * po/Makevars: New file.
6759 * po/POTFILES-shell: Rename to ...
6760 * po/POTFILES-shell.in: ... this. Update.
6761 * po/POTFILES: Rename to ...
6762 * po/POTFILES.in: ... this. Update.
6763 * po/Rules-quot: New file, from gettext.
6764 * po/boldquot.sed: Likewise.
6765 * po/en@boldquot.header: Likewise.
6766 * po/en@quot.header: Likewise.
6767 * po/insert-header.sin: Likewise.
6768 * po/quot.sed: Likewise.
6769 * po/remove-potcdate.sin: Likewise.
6770
6771 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
6772
6773 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
6774
6775 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
6776
6777 * util/grub.d/20_linux_xen.in: Use submenus.
6778
6779 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
6780
6781 Support submenus.
6782
6783 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
6784 parameter submenu. All users updated.
6785 * grub-core/normal/main.c (free_menu): Rename to ...
6786 (grub_normal_free_menu): ... this. Made global.
6787 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
6788 if requested.
6789 * grub-core/normal/menu_entry.c (screen): New field submenu.
6790 (make_screen): Set submenu.
6791 (run): Open new context if requested.
6792 * include/grub/menu.h (grub_menu_entry): New field submenu.
6793 * include/grub/normal.h (grub_normal_free_menu): New proto.
6794
6795 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
6796
6797 Menu entries extractor.
6798
6799 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
6800 variants.
6801 (GRUB_MOD_INIT): Register new variants.
6802 (GRUB_MOD_FINI): Unregister new variants.
6803 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
6804 into grub_cmd_legacy_source.
6805 (grub_cmd_legacy_source): Implement extractor variants.
6806 (GRUB_MOD_INIT): Register new variants.
6807 (GRUB_MOD_FINI): Unregister new variants.
6808 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
6809 as an extractor.
6810 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
6811 search as an extractor.
6812 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
6813 test as an extractor.
6814 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
6815 as an extractor.
6816 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
6817 (grub_env_new_context): New function.
6818 (grub_env_context_open): Likewise.
6819 (grub_env_extractor_open): Likewise.
6820 (grub_env_extractor_close): Likewise.
6821 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
6822 grub_extractor_level.
6823 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
6824 * include/grub/env.h (grub_env_extractor_open): New proto.
6825 (grub_env_extractor_close): Likewise.
6826 * include/grub/normal.h (grub_extractor_level): New external variable.
6827
6828 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
6829
6830 Make cutmem accept a region specification.
6831 Suggested by: Samuel Thibault
6832
6833 * grub-core/mmap/mmap.c (parsemem): New function.
6834 (grub_cmd_cutmem): Handle new arguments.
6835
6836 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
6837
6838 New command cutmem.
6839
6840 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
6841 (GRUB_MOD_INIT): Register new command.
6842 (GRUB_MOD_FINI): Unregister new command.
6843
6844 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
6845
6846 Support some annoying BSD and Minix subpartitions.
6847
6848 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
6849 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
6850 Properly handle concatenation.
6851 * grub-core/kern/device.c (grub_device_iterate): Likewise.
6852 * grub-core/normal/completion.c (iterate_partition): Likewise.
6853 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
6854 contain partition. All users updated.
6855 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
6856 struct.
6857 (grub_openbsdlabel_partition_map): Likewise.
6858 (bsdlabel_partition_map_iterate): Rename to ..
6859 (iterate_real): ... this. New arguments sector, freebsd and pmap.
6860 (bsdlabel_partition_map_iterate): New function.
6861 (netopenbsdlabel_partition_map_iterate): Likewise.
6862 (netbsdlabel_partition_map_iterate): Likewise.
6863 (openbsdlabel_partition_map_iterate): Likewise.
6864 (GRUB_MOD_INIT): Register new partmaps.
6865 (GRUB_MOD_FINI): Unregister new partmaps.
6866 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
6867 (grub_partition_msdos_iterate): ... this. All users updated.
6868 Don't support embedding other than in a minix partition.
6869 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
6870 proto.
6871 * include/grub/partition.h (grub_partition): New field msdostype.
6872 * util/grub-install.in: Handle openbsd and netbsd types being in
6873 part_bsd module.
6874
6875 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
6876
6877 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
6878
6879 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
6880 * grub-core/Makefile.core.def (mdraid): Renamed to ...
6881 (mdraid09): ... this.
6882 (mdraid1x): New module.
6883 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
6884 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
6885
6886 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
6887
6888 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
6889 vsprintf.
6890
6891 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
6892
6893 * grub-core/commands/efi/lsefimmap.c: Correct header.
6894 * NEWS: Update.
6895
6896 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
6897
6898 * util/grub-editenv.c (argp_parser): Don't pass translated strings
6899 as printf format strings; the translations might contain '%' which
6900 could cause a crash.
6901 (main): Likewise.
6902 * util/grub-fstest.c (argp_parser): Likewise.
6903 * util/grub-setup.c (argp_parser): Likewise.
6904 (main): Likewise.
6905
6906 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
6907
6908 Use argp in grub-fstest.
6909
6910 * util/grub-fstest.c: Don't include getopt.h.
6911 Include argp.h.
6912 (root): New variable.
6913 (args_count): Likewise.
6914 (nparm): Likewise.
6915 (num_disks): Likewise.
6916 (images): Likewise.
6917 (cmd): Likewise.
6918 (debug_str): Likewise.
6919 (args): Likewise.
6920 (options): Transformed to argp.
6921 (usage): Removed.
6922 (main): Split argument parsing into ...
6923 (argp_parser): ... this. Changed to argp format.
6924 (argp): New variable.
6925 (main): Use argp_parse.
6926
6927 2010-09-20 Tristan Gingold <gingold@free.fr>
6928 2010-09-20 Robert Millan <rmh.grub@aybabtu.com>
6929 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
6930
6931 * grub-core/commands/efi/lsefimmap.c: New file.
6932 * grub-core/Makefile.core.def (lsefimmap): New module.
6933 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
6934
6935 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
6936
6937 Pause the execution (10s max) if any errors are displayed so the user
6938 has a chance to see them.
6939
6940 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
6941 (grub_print_error): Increment grub_err_printed_errors.
6942 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
6943 execution if any errors were displayed.
6944 (show_menu): Remove old code for pause.
6945 * grub-core/normal/menu_entry.c (run): Likewise.
6946 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
6947 users updated.
6948 (grub_normal_get_char_counter): Likewise.
6949 * include/grub/err.h (grub_err_printed_errors): New external variable.
6950 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
6951
6952 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
6953
6954 Support multiboot VBE info.
6955
6956 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
6957 Take VBE info into account.
6958 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
6959 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
6960 Call fill_vbe_info when appropriate.
6961 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
6962 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
6963 as supported.
6964 (grub_multiboot_get_mbi_size): Take new tags into account.
6965 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
6966 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
6967 Call fill_vbe_tag when appropriate.
6968 (grub_multiboot_make_mbi): Properly align tags.
6969 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
6970 function.
6971 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
6972 proto.
6973 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
6974
6975 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
6976
6977 Suport manual terminal geometry specification.
6978
6979 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
6980 Save state in grub_ofconsole_terminfo_output.
6981 (grub_ofconsole_term): Use grub_terminfo_getwh.
6982 (grub_ofconsole_getwh): Removed.
6983 * grub-core/term/serial.c (grub_serial_getwh): Removed.
6984 (grub_serial_term): Use grub_terminfo_getwh.
6985 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
6986 (options): New struct.
6987 (OPTION_*): New enum.
6988 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
6989 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
6990 width and height.
6991 (grub_terminfo_getwh): New proto.
6992 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
6993
6994 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
6995
6996 Handle legacy "terminal" command.
6997
6998 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
6999 and FLAG_TERMINAL.
7000 (legacy_commands): Add terminal and title.
7001 (grub_legacy_parse): Handle terminal. Simplify title handling.
7002
7003 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
7004
7005 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
7006 parameters overflow.
7007
7008 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
7009
7010 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
7011 widthspec.h.
7012
7013 * docs/grub.texi (Shell-like scripting): Document `!'.
7014 (Network): Simplify using new i386-pc-pxe format. Mention
7015 grub-mknetdir.
7016
7017 * NEWS: Update.
7018
7019 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
7020
7021 * Makefile.am (SUBDIRS): Restore "."; it's important to force
7022 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
7023 when needed.
7024
7025 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
7026
7027 * grub-core/commands/efi/lsefisystab.c: Correct header.
7028 * grub-core/commands/efi/lssal.c: Likewise.
7029 * grub-core/commands/testload.c: Likewise.
7030
7031 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
7032
7033 * util/grub-mkrescue.in: Add explicit root argument to --set to
7034 prevent the UUID being interpreted as an argument to --set (matches
7035 previous change to prepare_grub_to_access_device).
7036
7037 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
7038
7039 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
7040 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
7041 the verbosity of later #ifs.
7042 (find_partition_start): Define this function on FreeBSD too.
7043 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
7044 function.
7045 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
7046 on FreeBSD.
7047
7048 2010-09-20 Yves Blusseau <blusseau@zetam.org>
7049
7050 * util/grub-editenv.c: Use argp instead of getopt.
7051
7052 2010-09-20 Yves Blusseau <blusseau@zetam.org>
7053
7054 * util/grub-setup.c: Use argp instead of getopt.
7055
7056 2010-09-20 Yves Blusseau <blusseau@zetam.org>
7057
7058 Use gnulib-tool to create gnulib source files.
7059
7060 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
7061 grub-core/gnulib directories
7062 * .bzignore: Add **/.deps and autogenerated gnulib files
7063 * configure.ac: Assign auxiliary directory to build-aux, add invocation
7064 of gnulib macros, add grub-core/gnulib/Makefile
7065 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
7066 include m4 directory to aclocal.
7067 * Makefile.util.def: Remove direct compilation of gnulib source files
7068 and use the new grub-core/gnulib/libgnu.a.
7069 * build-aux/config.rpath: move config.rpath from top directory to
7070 build-aux
7071 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
7072 in gnulib headers
7073 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
7074 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
7075 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
7076 header.
7077 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
7078 string.
7079
7080 2010-09-20 Yves Blusseau <blusseau@zetam.org>
7081
7082 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
7083 grub-core/genmod.sh and grub-core/gensyminfo.sh
7084
7085 2010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
7086
7087 Add a test for echo command options.
7088
7089 * tests/grub_cmd_echo.in: New test.
7090 * Makefile.util.def: Rules for new test.
7091
7092 2010-09-20 Szymon Janc <szymon@janc.net.pl>
7093
7094 Remove crc.mod and move crc command to hashsum.mod.
7095 Remove lib/crc.c - users updated to use gcrypt implementation.
7096
7097 * grub-core/commands/crc.c: Removed.
7098 * grub-core/Makefile.core.def (crc): Module removed.
7099 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
7100 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
7101 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
7102 * grub-core/lib/crc.c: Removed.
7103 * include/grub/lib/crc.h: Removed.
7104 * Makefile.util.def (crc): Remove lib/crc.c
7105 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
7106 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
7107 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
7108 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
7109 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
7110 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
7111
7112 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
7113
7114 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
7115
7116 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
7117
7118 Split config.h for util and core.
7119
7120 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
7121 (ADDR32): Likewise.
7122 (DATA32): Likewise.
7123 (BSS_START_SYMBOL): Likewise.
7124 (END_SYMBOL): Likewise.
7125 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
7126 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
7127 * config.h.in: New file.
7128 * configure.ac: Use config-util.h as config define file.
7129 Rename MACHINE into GRUB_MACHINE. All users updated.
7130 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
7131 updated.
7132 (NESTED_FUNC_ATTR): Likewise.
7133 Substitue new variables.
7134 (COND_HAVE_ASM_USCORE): New conditional.
7135 * grub-core/Makefile.am (ASM_PREFIX): New variable.
7136 (kernel_syms.lst): Use ASM_PREFIX.
7137 * grub-core/kern/emu/console.c: Include config-util.h.
7138 * grub-core/kern/emu/misc.c: Likewise.
7139 * grub-core/kern/emu/mm.c: Likewise.
7140 * include/grub/emu/misc.h: Likewise.
7141 * include/grub/libgcc.h: Likewise.
7142
7143 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
7144
7145 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
7146 constants usage.
7147 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
7148 Fix GRUB_TERM_KEY_* constants usage.
7149 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
7150
7151 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
7152
7153 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
7154 print pointer.
7155 * grub-core/bus/usb/uhci.c: Remove empty define.
7156 (grub_uhci_check_transfer): Add missing cast.
7157 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
7158 print pointer.
7159 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
7160 PRIuGRUB_SIZE.
7161 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
7162
7163 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
7164
7165 * grub-core/Makefile.core.def (legacycfg): Add
7166 lib/i386/pc/vesa_modes_table.c on emu.
7167
7168 2010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
7169
7170 Reduce number of temporary files generated by build system.
7171
7172 * grub-core/gencmdlist.sh: Removed.
7173 * grub-core/genfslist.sh: Removed.
7174 * grub-core/genhandlerlist.sh: Removed.
7175 * grub-core/genmodsrc.sh: Removed.
7176 * grub-core/genpartmaplist.sh: Removed.
7177 * grub-core/genparttoollist.sh: Removed.
7178 * grub-core/gentermiinallist.sh: Removed.
7179 * grub-core/genvideolist.sh: Removed.
7180
7181 * grub-core/genmod.sh.in: New file.
7182 * grub-core/gensyminfo.sh.in: New file.
7183
7184 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
7185 * conf/Makefile.extra-dist: Update with new files.
7186 * gentpl.py: Remove rules related to unnecessary temporary files.
7187 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
7188 and und-* files.
7189 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
7190 genmod.sh scripts.
7191 * grub-core/bus/usb/uhci.c: Remove empty #define.
7192 * grub-core/genmoddep.awk: Updated with new syminfo format.
7193 * util/bash-completion.d/Makefile.am: Add config.log to
7194 CLEANFILES.
7195
7196 2010-09-19 Yves Blusseau <blusseau@zetam.org>
7197
7198 * Makefile.util.def: Add forgotten $(LIBINTL) library.
7199
7200 2010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
7201
7202 * util/grub-mkconfig.in: Check the config script for syntax errors
7203 before saving.
7204
7205 2010-09-19 Colin Watson <cjwatson@ubuntu.com>
7206 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
7207
7208 * Makefile.util.def (grub-install): Use util/grub-install.in on all
7209 platforms.
7210 * util/grub-install.in: Add EFI and IEEE1275 support.
7211 * util/i386/efi/grub-install.in: Removed.
7212 * util/ieee1275/grub-install.in: Likewise.
7213
7214 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
7215
7216 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
7217 (grub_cmd_cmosclean): Likewise.
7218 (GRUB_MOD_INIT): Register command cmosclean.
7219 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
7220 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
7221
7222 2010-09-18 Carles Pina i Estany <carles@pina.cat>
7223 2010-09-18 Aleš Nesrsta <starous@volny.cz>
7224 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
7225
7226 Add keyboard layouts support.
7227
7228 * Makefile.util.def (grub-mklayout): New file.
7229 (grub-kbdcomp): New script.
7230 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
7231 Add keyboard_layouts.h.
7232 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
7233 commands/boot.c on yeeloong.
7234 (keylayouts): New module.
7235 * grub-core/bus/usb/ohci.c
7236 * grub-core/bus/usb/uhci.c
7237 * grub-core/bus/usb/usbhub.c (rescan): New variable.
7238 (grub_usb_add_hub): Poll interrupt pipe for device handling.
7239 (attach_root_port): Likewise.
7240 (poll_nonroot_hub): Likewise.
7241 (grub_usb_poll_devices): Likewise.
7242 (detach_device): Close transfer.
7243 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
7244 function.
7245 (grub_usb_bulk_setup_readwrite): Likewise.
7246 (grub_usb_bulk_finish_readwrite): Likewise.
7247 * grub-core/commands/keylayouts.c: New file.
7248 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
7249 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
7250 aliases.
7251 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
7252 support scancode 2.
7253 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
7254 * include/grub/keyboard_layouts.h: New file.
7255 * util/grub-mklayout.c: New file.
7256 * util/grub-kbdcomp.in: Likewise.
7257
7258 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
7259
7260 Unify memory types.
7261
7262 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
7263 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
7264 types.
7265 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
7266 (grub_upper_mem): Likewise.
7267 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
7268 * include/grub/memory.h (grub_memory_type_t): New enum.
7269 All users updated.
7270
7271 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
7272
7273 * grub-core/Makefile.core.def (lsapm): New module.
7274 * grub-core/commands/i386/pc/lsapm.c: New file.
7275 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
7276 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
7277 Likewise.
7278 * include/grub/i386/pc/apm.h: New file.
7279 * include/multiboot.h (multiboot_apm_info): New struct.
7280
7281 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
7282
7283 GRUB-legacy configuration file support.
7284
7285 * Makefile.util.def (grub-menulst2cfg): New util.
7286 * docs/man/grub-menulst2cfg.h2m: New file.
7287 * grub-core/Makefile.core.def (legacycfg): New module.
7288 * grub-core/commands/legacycfg.c: New file.
7289 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
7290 (grub_normal_add_menu_entry): ... this.
7291 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
7292 (grub_normal_set_password): ...this.
7293 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
7294 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
7295 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
7296 * grub-core/lib/legacy_parse.c: New file.
7297 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
7298 * include/grub/i386/pc/vesa_modes_table.h: New file.
7299 * include/grub/legacy_parse.h: Likewise.
7300 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
7301 * util/grub-menulst2cfg.c: New file.
7302
7303 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
7304
7305 * grub-core/kern/emu/hostdisk.c
7306 (convert_system_partition_to_system_disk): Initialise node.
7307
7308 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
7309
7310 * grub-core/kern/emu/hostdisk.c
7311 (convert_system_partition_to_system_disk): Fix devmapper memory pool
7312 leak.
7313 Reported and based on patch by: Modestas Vainius.
7314
7315 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
7316
7317 Fix DM-RAID probing with recent versions of device-mapper udev
7318 rules.
7319
7320 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
7321 canonicalise device paths under /dev/mapper/.
7322 (convert_system_partition_to_system_disk): Compare the
7323 uncanonicalised path to /dev/mapper/ rather than the canonicalised
7324 path, since device nodes under /dev/mapper/ are often symlinks.
7325
7326 2010-09-17 Yves Blusseau <blusseau@zetam.org>
7327
7328 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
7329
7330 2010-09-16 Yves Blusseau <blusseau@zetam.org>
7331
7332 * configure.ac: Avoid some annoying error messages if freetype-config
7333 program is not found.
7334
7335 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
7336
7337 Support RAID on virtio devices, and others.
7338
7339 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
7340 Rename to ...
7341 [__MINGW32__] (grub_find_device): ... this.
7342 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
7343 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
7344 reasonable default if dir is NULL.
7345 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
7346 ...
7347 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
7348 (grub_guess_root_device): Update callers.
7349 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
7350
7351 * util/raid.c (grub_util_getdiskname): Remove.
7352 (grub_util_raid_getmembers): Use grub_find_device rather than
7353 grub_util_getdiskname.
7354
7355 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
7356
7357 * docs/grub.texi (serial): Remove obsolete comment about GRUB
7358 needing to be compiled with serial support.
7359 (ls): Indicate that multiple files are accepted.
7360 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
7361 indicate that multiple files are accepted.
7362
7363 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
7364
7365 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
7366 libgrub_a_init.c, and util/bash-completion.d/grub.
7367
7368 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
7369
7370 * util/grub-setup.c (setup): Fix incorrect container semantics.
7371
7372 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
7373
7374 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
7375 misusage.
7376 Reported by: J. Nick Terry
7377
7378 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
7379
7380 Move embedding routines to partmap sources files.
7381
7382 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
7383 [GRUB_UTIL]: New variable.
7384 (gpt_partition_map_iterate): Set part.parent.
7385 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
7386 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
7387 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
7388 New function.
7389 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
7390 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
7391 (grub_partition_map) [GRUB_UTIL]: New field embed.
7392 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
7393 (setup): Use ->embed.
7394
7395 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
7396
7397 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
7398 function.
7399 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
7400 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
7401
7402 2010-09-15 Yves Blusseau <blusseau@zetam.org>
7403
7404 Add function to get completions from usage.
7405
7406 * util/bash-completion.d/grub-completion.bash.in: Add function to get
7407 completions from usage. Use LC_ALL=C to get options properly.
7408
7409 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
7410
7411 * grub-core/gnulib/basename-lgpl.c: Imported.
7412 * grub-core/gnulib/basename.c: Likewise.
7413 * grub-core/gnulib/dirname-lgpl.c: Likewise.
7414 * grub-core/gnulib/dirname.c: Likewise.
7415 * grub-core/gnulib/dirname.h: Likewise.
7416 * grub-core/gnulib/stripslash.c: Likewise.
7417
7418 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
7419
7420 * grub-core/gnulib/error.c: Resynced.
7421 * grub-core/gnulib/getopt.c: Likewise.
7422 * grub-core/gnulib/getopt_int.h: Likewise.
7423 * grub-core/gnulib/regex.h: Likewise.
7424 * grub-core/gnulib/regex_internal.c: Likewise.
7425 * grub-core/gnulib/regex_internal.h: Likewise.
7426
7427 2010-09-15 Szymon Janc <szymon@janc.net.pl>
7428
7429 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
7430 CRC calculations and validity checks.
7431 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
7432 calculations.
7433
7434 2010-09-15 Szymon Janc <szymon@janc.net.pl>
7435
7436 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
7437
7438 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
7439
7440 Fix incorrect echo options handling.
7441 Reported by: Yves Blusseau.
7442
7443 * include/grub/command.h (grub_command_flags_t): New flags
7444 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
7445 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
7446 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
7447
7448 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
7449
7450 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
7451 users updated.
7452 (GRUB_COMMAND_FLAG_MENU): Likewise.
7453 (GRUB_COMMAND_FLAG_BOTH): Likewise.
7454 (GRUB_COMMAND_FLAG_TITLE): Removed.
7455 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
7456 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
7457 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
7458 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
7459 (grub_command_flags_t): New enum. All users updated.
7460
7461 2010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
7462
7463 Fix solaris compilation.
7464
7465 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
7466 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
7467 (grub-emu-list): Likewise.
7468
7469 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
7470
7471 Remove deprecated root command.
7472
7473 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
7474 updated.
7475
7476 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
7477
7478 * util/i386/pc/grub-setup.c: Merge this ...
7479 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
7480 * util/grub-setup.c: ... into this.
7481 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
7482 New struct.
7483
7484 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
7485
7486 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
7487 possible.
7488
7489 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
7490
7491 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
7492 allocate p.
7493
7494 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
7495
7496 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
7497 explicit root argument to set to prevent UUID to be interpreted as
7498 argument to set.
7499
7500 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
7501
7502 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
7503
7504 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
7505
7506 Don't export grub_gate_a20.
7507
7508 * grub-core/kern/i386/pc/init.c: Remove leftovers.
7509 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
7510 to ...
7511 (grub_gate_a20): ... this. All users updated.
7512 * include/grub/i386/pc/init.h: Removed. All users updated.
7513
7514 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
7515
7516 Create euro.pf2 which supports most European languages.
7517
7518 * Makefile.am (grubdata_DATA): Add euro.pf2.
7519 (euro.pf2): New target.
7520 (CLEANFILES): Add euro.pf2.
7521
7522 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
7523
7524 * configure.ac: Disable emu-usb by default to prevent inadvertent
7525 device takeover.
7526
7527 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
7528
7529 Disable usbserial on grub-emu since our libusb code isn't good enough
7530 yet.
7531
7532 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
7533 (usbserial_pl2303): Likewise.
7534 (usbserial_ftdi): Likewise.
7535
7536 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
7537
7538 * include/grub/disk.h (grub_disk): Remove has_partitions.
7539 All users updated.
7540 * disk/loopback.c (grub_loopback): Remove has_partitions.
7541 All users updated.
7542 (options): Remove partitions. All users updated.
7543 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
7544 * util/i386/pc/grub-setup.c (setup): copy partition table only when
7545 actual partition table is found.
7546
7547 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
7548
7549 Remove readability checks (too many false negatives).
7550
7551 * util/grub-install.in: Remove readability checks.
7552 * util/grub-mkconfig.in: Likewise.
7553 * util/grub.d/10_hurd.in: Likewise.
7554 * util/grub.d/10_kfreebsd.in: Likewise.
7555 * util/grub.d/10_linux.in: Likewise.
7556 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
7557 way.
7558
7559 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
7560
7561 Enable acpi shutdown on all ACPI platforms.
7562
7563 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
7564 on coreboo, multiboot and EFI.
7565 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
7566 (grub_acpi_halt): Likewise.
7567 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
7568 (grub_cmd_halt): Don't call grub_acpi_halt directly.
7569 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
7570 * grub-core/lib/i386/halt.c (grub_halt)
7571 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
7572
7573 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
7574
7575 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
7576 context.
7577
7578 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
7579
7580 * grub-core/video/efi_gop.c: Fix over-80-chars line.
7581 * grub-core/video/efi_uga.c: Likewise.
7582
7583 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
7584
7585 Filter devaliases and never open same device twice.
7586
7587 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
7588 (last_ihandle): Likewise.
7589 (ofdisk_hash_ent): New member shortest.
7590 (ofdisk_hash_add): Add canonical path too.
7591 (scan): New function.
7592 (grub_ofdisk_iterate): Iterate over hashed entries.
7593 (compute_dev_path): Don't add :0.
7594 (grub_ofdisk_open): Don't really open the disk.
7595 (grub_ofdisk_close): Avoid closing unrelated disk.
7596 (grub_ofdisk_read): Implement reopen logic.
7597 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
7598 New function.
7599 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
7600 New proto.
7601
7602 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
7603
7604 Fix sparc64.
7605
7606 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
7607 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
7608 right address. Add sparc64_ieee1275_ldflags.
7609 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
7610 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
7611 to grub_host_to_target_addr
7612 (load_image): Likewise.
7613
7614 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
7615
7616 * grub-core/normal/completion.c (complete_file): Handle device
7617 containing slash.
7618 Fix based on patch by Doug Nazar.
7619
7620 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
7621
7622 grub-mknetdir script.
7623
7624 * Makefile.util.def (grub-mknetdir): New module.
7625 * tests/util/grub-shell.in: Support boot=net
7626 * util/grub-mknetdir.in: New file.
7627
7628 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
7629
7630 videoinfo on non-vbe.
7631
7632 * grub-core/Makefile.core.def (vbeinfo): Removed.
7633 (vbetest): Removed.
7634 (videoinfo): New module.
7635 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
7636 * grub-core/commands/i386/pc/vbetest.c: Removed.
7637 * grub-core/commands/videoinfo.c: New file.
7638 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
7639 specification.
7640 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
7641 as vbetest.
7642 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
7643 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
7644 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
7645 mode_number. New parameter mode. All users updated.
7646 (grub_video_gop_iterate): New function.
7647 (grub_video_efi_gop): New member iterate.
7648 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
7649 (grub_vbe_set_video_mode): Remove setting useless fields.
7650 (vbe2videoinfo): New function.
7651 (grub_video_vbe_iterate): Likewise.
7652 (grub_video_vbe_setup): Use vbe2videoinfo.
7653 (grub_video_vbe_print_adapter_specific_info): New function.
7654 (grub_video_vbe_adapter): New fields iterate and
7655 print_adapter_specific_info.
7656 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
7657 All users updated.
7658 (grub_video_mode_info): New field mode_number.
7659 (grub_video_adapter): New fields iterate and
7660 print_adapter_specific_info.
7661
7662 2010-09-13 Tristan Gingold <gingold@free.fr>
7663 2010-09-13 Robert Millan <rmh.grub@aybabtu.com>
7664 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
7665
7666 * grub-core/commands/efi/lsefisystab.c: New file.
7667 * grub-core/commands/efi/lssal.c: Likewise.
7668 * grub-core/Makefile.core.def (lsacpi): New module.
7669 (lsefisystab): Likewise.
7670 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
7671 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
7672 (grub_efi_sal_system_table): New struct.
7673 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
7674 (grub_efi_sal_system_table_memory_descriptor): Likewise.
7675 (grub_efi_sal_system_table_platform_features): Likewise.
7676 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
7677 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
7678 (grub_efi_sal_system_table_ap_wakeup): Likewise.
7679 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
7680
7681 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
7682
7683 Support explicit user claim that a device is BIOS-visible.
7684
7685 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
7686 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
7687 * grub-core/kern/emu/hostdisk.c
7688 (convert_system_partition_to_system_disk): Support mdX.
7689 (find_system_device): New parameter add. All users updated.
7690 (grub_util_biosdisk_is_present): New function.
7691 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
7692 proto.
7693
7694 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
7695
7696 Search hints support.
7697
7698 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
7699 All users updated.
7700
7701 2010-09-13 Yves Blusseau <blusseau@zetam.org>
7702
7703 Bash completion script for util commands
7704
7705 * Makefile.am: Add util/bash-completion.d directory
7706 * configure.ac: Likewise.
7707 * util/bash-completion.d/Makefile.am: New file.
7708 * util/bash-completion.d/grub-completion.bash.in: Likewise.
7709
7710 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
7711
7712 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
7713 (print_backlog): set backlog_ucs4 and backlog_glyphs.
7714 Reported by: Yves Blusseau.
7715
7716 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
7717
7718 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
7719 partition size and offset.
7720
7721 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
7722
7723 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
7724
7725 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
7726
7727 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
7728
7729 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
7730
7731 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
7732 (grub_xvasprintf): Likewise.
7733
7734 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
7735
7736 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
7737
7738 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
7739
7740 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
7741 args ending with NULL.
7742
7743 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
7744
7745 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
7746 pointer.
7747
7748 2010-09-11 Szymon Janc <szymon@janc.net.pl>
7749
7750 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
7751
7752 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
7753
7754 Shutdown using ACPI.
7755
7756 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
7757 * grub-core/commands/acpihalt.c: New file.
7758 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
7759 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
7760 (grub_acpi_halt): New proto.
7761 (GRUB_ACPI_SLP_EN): New const.
7762 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
7763 (GRUB_ACPI_OPCODE_*): New enum.
7764 (GRUB_ACPI_EXTOPCODE_*): Likewise.
7765
7766 2010-09-11 Tristan Gingold <gingold@free.fr>
7767 2010-09-11 Robert Millan <rmh.grub@aybabtu.com>
7768 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
7769
7770 * commands/lsacpi.c: New file.
7771 * grub-core/Makefile.core.def (lsacpi): New module.
7772 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
7773 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
7774 (grub_acpi_madt_entry_header): New struct.
7775 (grub_acpi_madt): Likewise.
7776 (grub_acpi_madt_entry_interrupt_override): Likewise.
7777 (grub_acpi_madt_entry_sapic): Likewise.
7778 (grub_acpi_madt_entry_lsapic): Likewise.
7779 (grub_acpi_madt_entry_platform_int_source): Likewise.
7780 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
7781 (PRIuGRUB_UINT32_T): Likewise.
7782 (PRIxGRUB_UINT64_T): Likewise.
7783
7784 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
7785
7786 Implement loading palette on ieee1275_fb.
7787
7788 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
7789 (have_setcolors): Likewise.
7790 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
7791 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
7792 (grub_video_ieee1275_set_palette): Implement.
7793
7794 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
7795 2010-09-11 Colin Watson <cjwatson@ubuntu.com>
7796
7797 * util/grub-install.in (grub_partition): New variable.
7798 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
7799 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
7800 Fixes a bug reported by Yves Blusseau.
7801
7802 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
7803
7804 Fix emu on mipsel.
7805
7806 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
7807 =grub_cpu_flush_cache on all mips and not only yeeloong.
7808 * configure.ac (COND_mips): New conditional.
7809 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
7810 platforms.
7811 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
7812 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
7813 [GRUB_LINKER_HAVE_INIT]: New function.
7814 (grub_emu_post_init): Likewise.
7815 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
7816 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
7817 * include/grub/cache.h (_mips): Include mips/cache.h.
7818 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
7819 LVM and RAID prototypes.
7820 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
7821 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
7822 function.
7823
7824 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
7825
7826 * util/grub-install.in: Don't try to verify core.img until after
7827 running grub-mkimage to create it.
7828
7829 2010-09-10 Robert Millan <rmh@gnu.org>
7830
7831 * util/grub.d/10_hurd.in: Add misc readability checks.
7832 * util/grub.d/10_kfreebsd.in: Likewise.
7833 * util/grub.d/10_linux.in: Likewise.
7834
7835 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
7836
7837 * util/grub-install.in: ${imgext} won't be defined here until the
7838 install branch is merged. For the meantime, only verify core.img on
7839 i386-pc and sparc64-ieee1275 platforms.
7840
7841 2010-09-10 Robert Millan <rmh@gnu.org>
7842
7843 Solaris support in grub_find_zpool_from_dir(). Thanks
7844 Seth Goldberg for referring to getextmntent() facility.
7845
7846 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
7847 `sys/mkdev.h'.
7848 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
7849 `<sys/mnttab.h>'.
7850 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
7851 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
7852 method for finding zpool name.
7853
7854 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
7855
7856 grub-fstest needs the host and hostfs modules while other utilities
7857 actively require those modules to be absent, so grub-fstest needs
7858 its own initialisation and finalisation code.
7859
7860 * Makefile.am (grub_fstest.pp): New target.
7861 (grub_fstest_init.lst): Likewise.
7862 (grub_fstest_init.c): Likewise.
7863 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
7864
7865 2010-09-10 Robert Millan <rmh@gnu.org>
7866
7867 * configure.ac: Check for `struct statfs.f_fstypename' and
7868 `struct statfs.f_mntfromname'.
7869
7870 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
7871 kFreeBSD-specific code.
7872
7873 2010-09-10 Robert Millan <rmh@gnu.org>
7874
7875 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
7876 on ZFS. Now non-main filesystems are supported as / too.
7877
7878 2010-09-09 Colin Watson <cjwatson@ubuntu.com>
7879
7880 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
7881 and grub-core/disk/host.c to ...
7882 (grub-fstest): ... here. Having the host disk implementation
7883 present confuses grub-probe and other utility programs.
7884
7885 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
7886 when writing to a file, not when writing to stdout.
7887
7888 2010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
7889
7890 * tests/partmap_test.in: New test for partitions.
7891 * Makefile.util.def: Rules for new test.
7892
7893 2010-09-09 Robert Millan <rmh@gnu.org>
7894
7895 * util/grub-probe.c (probe): Fix a pair of unhandled error
7896 conditions.
7897
7898 2010-09-09 Robert Millan <rmh@gnu.org>
7899
7900 Basic Btrfs support (detection and UUID).
7901
7902 * grub-core/fs/btrfs.c: New file.
7903 * Makefile.util.def (library): Register btrfs.c.
7904 * grub-core/Makefile.core.def: Likewise.
7905
7906 2010-09-08 Robert Millan <rmh@gnu.org>
7907
7908 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
7909 with (optional) parameters to specify device and relative path.
7910 * util/grub-install.in: Use is_path_readable_by_grub() to
7911 verify readability of a few critical files.
7912 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
7913 verify readability of grub.cfg.new.
7914
7915 2010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
7916
7917 Split minix.mod into minix.mod and minix2.mod.
7918
7919 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
7920 * grub-core/Makefile.core.def (minix2): New module.
7921 * grub-core/fs/minix.c: Use definitions instead of runtime version
7922 checking.
7923 * grub-core/fs/minix2.c: New file.
7924
7925 2010-09-08 Yves Blusseau <blusseau@zetam.org>
7926
7927 Add new --boot-directory option to replace --root-directory
7928
7929 * util/grub-install.in: Add new --boot-directory option
7930 * util/grub-reboot.in: Likewise.
7931 * util/grub-set-default.in: Likewise.
7932
7933 2010-09-08 Yves Blusseau <blusseau@zetam.org>
7934
7935 * util/grub-mkconfig.in: Use new variable.
7936
7937 2010-09-08 Yves Blusseau <blusseau@zetam.org>
7938
7939 * configure.ac: Define some useful variables.
7940
7941 2010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
7942
7943 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
7944 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
7945 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
7946 Use terminfo and don't use cursor-on/cursor-off unless it's known
7947 to work.
7948 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
7949 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
7950
7951 2010-09-08 Colin Watson <cjwatson@ubuntu.com>
7952
7953 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
7954 starts with "(,", fill the drive containing the loaded image in
7955 between those two characters, but expect that a full partition
7956 specification including partition map names will follow.
7957
7958 2010-09-08 Robert Millan <rmh@gnu.org>
7959
7960 * configure.ac: Remove `--enable-grub-fstest' option.
7961 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
7962
7963 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
7964 `grub-fstest' instead of `grub-probe' for readability verification.
7965 * util/grub-probe.c (probe): Remove readability verification kludge.
7966
7967 2010-09-08 Robert Millan <rmh@gnu.org>
7968
7969 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
7970 initializing `GRUB_FS'.
7971
7972 2010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
7973
7974 Not command (!) support to GRUB script.
7975
7976 * tests/grub_script_not.in: New test.
7977 * Makefile.util.def: Rules for new test.
7978
7979 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
7980 ! command as a special case.
7981 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
7982
7983 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
7984
7985 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
7986 grub_free.
7987
7988 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
7989
7990 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
7991
7992 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
7993
7994 * docs/grub.texi (Shell-like scripting): Documentation for break,
7995 continue, shift and return commands.
7996
7997 2010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
7998
7999 Rename CD-ROM to cd on BIOS.
8000
8001 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
8002 "cd".
8003 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
8004
8005 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
8006
8007 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
8008 * util/grub-probe.c (main): Likewise.
8009 * util/i386/pc/grub-setup.c (main): Likewise.
8010 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
8011 Reported and debugged by: alexxy
8012
8013 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
8014
8015 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
8016 diagnostic info.
8017
8018 2010-09-05 Jo Shields <directhex@apebox.org>
8019
8020 * util/grub.d/30_os-prober.in: Add missing classes.
8021
8022 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
8023
8024 * docs/grub.texi (Theme file format): Document new position format.
8025
8026 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
8027
8028 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
8029 a table. Use @code instead of @verbatim.
8030
8031 2010-09-05 Colin D Bennett <colin@gibibit.com>
8032
8033 Gfxmenu documentation.
8034
8035 * docs/grub.texi (Theme file format): New chapter.
8036
8037 2010-09-05 Szymon Janc <szymon@janc.net.pl>
8038
8039 * grub-core/Makefile.core.def (xzio): New module.
8040 * grub-core/io/xzio.c: New file.
8041 * grub-core/lib/xzembed/xz.h: New file (from xembed).
8042 * grub-core/lib/xzembed/xz_config.h: Likewise.
8043 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
8044 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
8045 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
8046 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
8047 * grub-core/lib/xzembed/xz_private.h: Likewise.
8048 * grub-core/lib/xzembed/xz_stream.h: Likewise.
8049 * include/grub/file.h (grub_file_filter_id): New compression filter
8050 GRUB_FILE_FILTER_XZIO.
8051
8052 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
8053
8054 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
8055 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
8056 size.
8057
8058 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
8059
8060 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
8061 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
8062
8063 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
8064
8065 Uncompressed checksum support.
8066
8067 * grub-core/commands/hashsum.c (options): Add option --uncompress.
8068 (check_list): New parameter uncompress.
8069 (grub_cmd_hashsum): Handle --uncompress.
8070
8071 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
8072
8073 Reintroduce testload.
8074
8075 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
8076 from here ...
8077 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
8078 (GRUB_MOD_INIT): New function.
8079 (GRUB_MOD_FINI): Likewise.
8080 * grub-core/Makefile.core.def (testload): New module.
8081
8082 2010-09-05 Szymon Janc <szymon@janc.net.pl>
8083
8084 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
8085 (uint8_t): New type.
8086 (uint16_t): Likewise.
8087 (uint32_t): Likewise.
8088 (uint64_t): Likewise.
8089
8090 2010-09-05 Szymon Janc <szymon@janc.net.pl>
8091
8092 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
8093
8094 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
8095
8096 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
8097 Made static.
8098 (grub_gzfile_open): Removed. All users updated.
8099 (GRUB_MOD_INIT): New function.
8100 (GRUB_MOD_FINI): Likewise.
8101 * grub-core/kern/file.c (grub_file_filters_all): New variable.
8102 (grub_file_filters_enabled): Likewise.
8103 (grub_file_open): Handle filters.
8104 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
8105 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
8106 * include/grub/file.h (grub_file_filter_id_t): New type.
8107 (grub_file_filter_t): Likewise.
8108 (grub_file_filters_all): New extern variable.
8109 (grub_file_filters_enabled): Likewise.
8110 (grub_file_filter_register): New inline function.
8111 (grub_file_filter_unregister): Likewise.
8112 (grub_file_filter_disable): Likewise.
8113 (grub_file_filter_disable_compression): Likewise.
8114 * include/grub/gzio.h: Removed.
8115
8116 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
8117
8118 Filename expansion support for wildcards in GRUB script.
8119
8120 * tests/grub_script_expansion.in: New test.
8121 * Makefile.util.def: Rule for new test.
8122
8123 * grub-core/commands/wildcard.c: New file, implements filename
8124 expansion support for GRUB script.
8125 * grub-core/Makefile.core.def: Rule update for regexp.mod.
8126 * grub-core/script/argv.c: Cosmetic changes.
8127 * grub-core/script/execute.c (grub_script_arglist_to_argv):
8128 Refactored to perform wildcard expansion on arguments.
8129 * include/grub/script_sh.h (grub_script_wildcard_translator): New
8130 struct.
8131
8132 * tests/util/grub-shell.in: Fix quoting for read input.
8133
8134 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
8135
8136 Support for updating environment variables with matched substrings
8137 of regexp.
8138
8139 * tests/grub_cmd_regexp.in: New test.
8140 * Makefile.util.def: Rule for new test.
8141
8142 * grub-core/commands/regexp.c: New option -s to update environment
8143 variables with regexp matches.
8144
8145 2010-09-04 Szymon Janc <szymon@janc.net.pl>
8146
8147 * include/grub/file.h (grub_file): New member not_easly_seekable.
8148 (grub_file_seekable): New inline function.
8149 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
8150 easily seekable.
8151 (grub_gzio_open): Set not_easly_seekable.
8152 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
8153 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
8154
8155 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
8156
8157 Support for options to appear multiple times on cmdline.
8158
8159 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
8160 * grub-core/commands/extcmd.c: Support for repeatable option.
8161 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
8162 repeatable option support.
8163
8164 Refactor menuentry into a regular command.
8165
8166 * grub-core/commands/menuentry.c: New file, menuentry command
8167 implementation.
8168 * grub-core/Makefile.core.def: Rule update for normal.mod.
8169 * grub-core/normal/main.c: Moved menuentry creation to
8170 grub-core/commands/menuentry.c.
8171 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
8172 (grub_menu_execute_entry_real): Removed.
8173 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
8174 function.
8175 (grub_script_execute_menuentry): Removed.
8176 * grub-core/script/parser.y (menuentry): Removed.
8177 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
8178 * grub-core/script/yylex.l (menuentry): Removed.
8179 * include/grub/menu.h (grub_menu_init): New prototype.
8180 (grub_menu_fini): New prototype.
8181 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
8182 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
8183 (grub_script_execute_sourcecode): New prototype.
8184
8185 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
8186
8187 "return" command for GRUB script functions.
8188
8189 * tests/grub_script_return.in: New test.
8190 * Makefile.util.def: Rules for new test.
8191
8192 * grub-core/script/execute.c (grub_script_return): New function.
8193 * grub-core/script/main.c: Register/unregister return commaond.
8194 * include/grub/script_sh.h (grub_script_return): New prototype.
8195
8196 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
8197
8198 "setparams" command to update positional parameters.
8199
8200 * tests/grub_script_setparams.in: New test.
8201 * Makefile.util.def: Rules for new test.
8202
8203 * grub-core/script/argv.c (grub_script_argv_make): New function.
8204 * grub-core/script/execute.c (replace_scope): New function.
8205 (grub_script_setparams): New function.
8206 * grub-core/script/lexer.c: Remove unused variables.
8207 * grub-core/script/main.c: Register/unregister setparams command.
8208 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
8209 (grub_script_setparams): New prototype.
8210
8211 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
8212
8213 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
8214 grub_free order.
8215
8216 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
8217
8218 Support for passing block of commands as an argument to extcmds.
8219
8220 * Makefile.util.def: Rules for new test.
8221 * tests/grub_script_blockarg.in: New test.
8222 * grub-core/tests/test_blockarg.c: New file, block argument
8223 command used in the test.
8224
8225 * include/grub/extcmd.h (grub_extcmd_context): New struct.
8226 (grub_register_extcmd_prio): New function prototype.
8227 (grub_extcmd_dispatcher): New function prototype.
8228 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
8229 type.
8230 * include/grub/script_sh.h (struct grub_script): New members
8231 `children', `next_siblings' and `refcnt' for block arguments and
8232 reference counting.
8233 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
8234 (grub_script_arg): New member `script' for block argument.
8235 (grub_script_argv): New member `script' for block argument.
8236 (grub_parser_param): New member `scripts' for block argument.
8237 (grub_script_mem_free): New extern function prototype.
8238 (grub_script_ref): New function prototype.
8239 (grub_script_unref): New function prototype.
8240
8241 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
8242 extcmd form to support block arguments.
8243 * grub-core/script/argv.c: Block arguments support.
8244 * grub-core/script/execute.c: Likewise.
8245 * grub-core/script/lexer.c: Likewise.
8246 * grub-core/script/main.c: Likewise.
8247 * grub-core/script/script.c: Likewise.
8248 * grub-core/script/parser.y: Likewise. New `block' and `block0'
8249 non-terminals.
8250
8251 * grub-core/commands/acpi.c: Update extcmd implementations with
8252 grub_extcmd_context_t.
8253 * grub-core/commands/cat.c: Likewise.
8254 * grub-core/commands/echo.c: Likewise.
8255 * grub-core/commands/extcmd.c: Likewise.
8256 * grub-core/commands/hashsum.c: Likewise.
8257 * grub-core/commands/hdparm.c: Likewise.
8258 * grub-core/commands/help.c: Likewise.
8259 * grub-core/commands/hexdump.c: Likewise.
8260 * grub-core/commands/i386/cpuid.c: Likewise.
8261 * grub-core/commands/i386/pc/drivemap.c: Likewise.
8262 * grub-core/commands/i386/pc/halt.c: Likewise.
8263 * grub-core/commands/i386/pc/sendkey.c: Likewise.
8264 * grub-core/commands/iorw.c: Likewise.
8265 * grub-core/commands/keystatus.c: Likewise.
8266 * grub-core/commands/loadenv.c: Likewise.
8267 * grub-core/commands/ls.c: Likewise.
8268 * grub-core/commands/lspci.c: Likewise.
8269 * grub-core/commands/memrw.c: Likewise.
8270 * grub-core/commands/probe.c: Likewise.
8271 * grub-core/commands/search_wrap.c: Likewise.
8272 * grub-core/commands/setpci.c: Likewise.
8273 * grub-core/commands/sleep.c: Likewise.
8274 * grub-core/disk/loopback.c: Likewise.
8275 * grub-core/hello/hello.c: Likewise.
8276 * grub-core/loader/i386/bsd.c: Likewise.
8277 * grub-core/loader/xnu.c: Likewise.
8278 * grub-core/term/gfxterm.c: Likewise.
8279 * grub-core/term/serial.c: Likewise.
8280 * grub-core/tests/lib/functional_test.c: Likewise.
8281
8282 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
8283
8284 Multi-line quoted strings support.
8285
8286 * grub-core/script/lexer.c (append_newline): Removed.
8287 (grub_script_lexer_yywrap): Refactored.
8288 (grub_script_lexer_init): Refactored.
8289 * grub-core/script/yylex.l (yywrap): New function.
8290 (grub_lexer_resplit): New function.
8291 (grub_lexer_unput): New function.
8292 * include/grub/script_sh.h (grub_lexer_param): New members, unput
8293 and resplit.
8294 * tests/grub_script_echo1.in: Added few more testcases.
8295
8296 2010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
8297
8298 * grub-core/kern/misc.c: Don't add abort alias in utils.
8299 Reported by: echoline.
8300
8301 2010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
8302
8303 Add missing files into "make dist" tarball for other platforms.
8304
8305 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
8306 * conf/Makefile.common (dist_noinst_DATA): New variable.
8307 * conf/Makefile.extra-dist: Added missing make dist files.
8308 * grub-core/Makefile.core.def: Likewise.
8309
8310 2010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
8311
8312 Compress grub_prefix.
8313
8314 * grub-core/boot/i386/pc/lnxboot.S: Use
8315 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
8316 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
8317 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
8318 GRUB_MACHINE_PREFIX_END. All users updated.
8319 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
8320 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
8321 + 0x40.
8322 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
8323 * util/grub-mkimage.c (image_target_desc): Change data_end to
8324 prefix_end. All users updated.
8325
8326 2010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
8327
8328 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
8329 value.
8330 (grub_openbsd_boot): Likewise.
8331 (grub_netbsd_boot): Likewise.
8332 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
8333 (grub_xnu_boot): Likewise.
8334
8335 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
8336
8337 * configure.ac: Clean LIBS variable after tests.
8338
8339 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
8340
8341 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
8342
8343 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
8344
8345 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
8346 echo if libdevmapper will be used.
8347
8348 2010-09-02 Ian Turner <Ian.Turner@deshaw.com>
8349
8350 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
8351 constant for the same file.
8352
8353 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
8354
8355 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
8356
8357 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
8358
8359 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
8360 grub-core/*.pp.
8361
8362 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
8363
8364 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
8365 required by the boot protocol.
8366
8367 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
8368 ebp and edi members.
8369 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
8370 state.ebp and state.edi.
8371 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
8372 %ebp and %edi according to grub_relocator32_ebp and
8373 grub_relocator32_edi respectively.
8374 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
8375 and state.edi.
8376
8377 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
8378
8379 Add i386-pc-pxe image target.
8380
8381 * util/grub-mkimage.c (image_target_desc): New enum value
8382 IMAGE_I386_PC_PXE.
8383 (image_targets): New target i386-pc-pxe.
8384 (generate_image): Handle i386-pc-pxe image.
8385
8386 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
8387
8388 Fix grub_pxe_scan.
8389
8390 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
8391 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
8392 All users updated.
8393 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
8394 (grub_pxe_pxenv): Correct type.
8395
8396 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
8397
8398 * NEWS: Document most of the important changes since 1.98.
8399
8400 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
8401
8402 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
8403 generated manual page) a little.
8404
8405 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
8406
8407 * docs/grub.texi: Add myself as an author.
8408
8409 2010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
8410
8411 * Makefile.util.def (libgrub.a): Add missing sunpc.
8412 Reported by: Seth Goldberg.
8413
8414 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
8415
8416 Interrupt wrapping and code simplifications.
8417
8418 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
8419 x86_noieee1275 which are functionaly equivalent in this case.
8420 (grub-install): Make source on each platform explicit. Enable on
8421 all noemu.
8422 * gentpl.py (x86_efi_pc): Removed group.
8423 (x86_noefi): Likewise.
8424 (i386_noefi): Likewise.
8425 (x86_noieee1275): Likewise.
8426 (i386_noieee1275): Likewise.
8427 (i386_noefi_noieee1275): Likewise.
8428 (i386_pc_qemu_coreboot): Likewise.
8429 (i386_coreboot_multiboot): Likewise.
8430 (i386_pc_coreboot_multiboot_qemu): Likewise.
8431 (x86_noefi_mips): Likewise.
8432 (noieee1275): Likewise.
8433 (ieee1275_mips): Likewise.
8434 (noemu_noieee1275): Likewise.
8435 (cmos): New group.
8436 (usb): Likewise.
8437 (videoinkernel): Likewise.
8438 (videomodules): Likewise.
8439 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
8440 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
8441 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
8442 include/grub/loader.h, include/grub/msdos_partition.h,
8443 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
8444 include/grub/machine/console.h, include/grub/machine/vga.h,
8445 include/grub/machine/vbe.h, include/grub/machine/init.h,
8446 include/grub/machine/kernel.h, include/grub/cpu/time.h,
8447 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
8448 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
8449 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
8450 * grub-core/Makefile.core.def (kernel): Explicit the source for
8451 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
8452 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
8453 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
8454 Use videoinkernel tag.
8455 (usb): Enable on all usb.
8456 (usbserial_common): Likewise.
8457 (usbserial_pl2303): Likewise.
8458 (usbserial_ftdi): Likewise.
8459 (uhci): Enable on all x86.
8460 (ohci): Enable on all pci.
8461 (cmostest): Enable on all CMOS.
8462 (acpi): Include commands/acpi.c on all platforms.
8463 (halt): Add relevant lib/*/halt.c.
8464 (hdparm): Enable on all pci.
8465 (lspci): Likewise.
8466 (usbtest): Enable on all usb.
8467 (ata): Enable on all pci.
8468 (ata_pthru): Likewise.
8469 (usbms): Enable on all usb.
8470 (usb_keyboard): Likewise.
8471 (font): Use tag videomodules.
8472 (bufio): Likewise.
8473 (datetime): Use tag cmos. Enable on all noemu.
8474 (mmap): Use tags common and x86.
8475 (gfxterm): Use tag videomodules.
8476 (bitmap): Likewise.
8477 (bitmap_scale): Likewise.
8478 (video_fb): Likewise.
8479 (video): Likewise.
8480 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
8481 adjust padding accordingly. All users updated.
8482 (grub_ohci_transaction): Fix bad format specification.
8483 (GRUB_MOD_INIT): Add asserts for struct size.
8484 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
8485 (grub_alloc_td): Likewise.
8486 (grub_free_queue): Likewise.
8487 (grub_uhci_transfer): Likewise.
8488 (grub_uhci_transaction): Fix bad format specification.
8489 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
8490 (grub_usb_bulk_readwrite): Likewise.
8491 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
8492 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
8493 Made static.
8494 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
8495 Made static.
8496 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
8497 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
8498 Transformed into C.
8499 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
8500 Moved from here ...
8501 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
8502 ... here. Transformed into C. Made static.
8503 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
8504 Moved from here ...
8505 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
8506 ... here. Transformed into C. Made static.
8507 * grub-core/kern/i386/pc/startup.S
8508 (grub_biosdisk_check_int13_extensions): Moved from here ...
8509 * grub-core/disk/i386/pc/biosdisk.c
8510 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
8511 Made static.
8512 * grub-core/kern/i386/pc/startup.S
8513 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
8514 * grub-core/disk/i386/pc/biosdisk.c
8515 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
8516 Transformed into C. Made static.
8517 * grub-core/kern/i386/pc/startup.S
8518 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
8519 * grub-core/disk/i386/pc/biosdisk.c
8520 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
8521 Transformed into C. Made static.
8522 * grub-core/kern/i386/pc/startup.S
8523 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
8524 * grub-core/disk/i386/pc/biosdisk.c
8525 (grub_biosdisk_get_diskinfo_standard): ... here.
8526 Transformed into C. Made static.
8527 * grub-core/kern/i386/pc/startup.S
8528 (grub_biosdisk_get_num_floppies): Moved from here ...
8529 * grub-core/disk/i386/pc/biosdisk.c
8530 (grub_biosdisk_get_num_floppies): ... here.
8531 Transformed into C. Made static.
8532 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
8533 New function.
8534 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
8535 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
8536 Transformed into C. Made static.
8537 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
8538 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
8539 Transformed into C. Made static.
8540 * grub-core/kern/i386/ieee1275/init.c: Removed.
8541 * grub-core/kern/i386/misc.S: Likewise.
8542 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
8543 Splitted from here ...
8544 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
8545 Transformed into C. Made static. All users updated.
8546 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
8547 Transformed into C. Made static. All users updated.
8548 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
8549 Moved from here...
8550 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
8551 Transformed into C. Made static. All users updated.
8552 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
8553 Moved from here...
8554 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
8555 Transformed into C. Made static. All users updated.
8556 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
8557 Removed (replaced by C version).
8558 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
8559 Moved from here...
8560 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
8561 Transformed into C. Made static.
8562 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
8563 Moved from here...
8564 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
8565 ... here. Transformed into C.
8566 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
8567 Moved from here...
8568 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
8569 ... here. Transformed into C.
8570 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
8571 Moved from here...
8572 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
8573 ... here. Transformed into C. Made static.
8574 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
8575 Moved from here...
8576 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
8577 ... here. Transformed into C.
8578 * grub-core/kern/i386/pc/startup.S
8579 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
8580 * grub-core/video/i386/pc/vbe.c
8581 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
8582 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
8583 Moved from here...
8584 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
8585 ... here. Transformed into C.
8586 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
8587 Moved from here...
8588 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
8589 ... here. Transformed into C.
8590 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
8591 Moved from here...
8592 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
8593 ... here. Transformed into C.
8594 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
8595 Moved from here...
8596 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
8597 ... here. Transformed into C.
8598 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
8599 Moved from here...
8600 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
8601 ... here. Transformed into C. Made static.
8602 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
8603 Moved from here...
8604 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
8605 ... here. Transformed into C. Made static.
8606 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
8607 Moved from here...
8608 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
8609 ... here. Transformed into C. Made static.
8610 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
8611 pxe_rm_entry as third argument.
8612 (grub_bios_interrupt): New function.
8613 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
8614 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
8615 of calling grub_stop.
8616 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
8617 * grub-core/lib/efi/halt.c (grub_halt): ...here.
8618 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
8619 * grub-core/lib/emu/halt.c (grub_halt): ... here.
8620 * grub-core/lib/i386/halt.c: Moved from here ...
8621 * grub-core/lib/i386/halt.c: ... here.
8622 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
8623 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
8624 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
8625 grub_stop_floppy.
8626 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
8627 * include/grub/i386/coreboot/init.h: Removed.
8628 * include/grub/i386/multiboot/init.h: Likewise.
8629 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
8630 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
8631 * include/grub/i386/pc/int.h: New file.
8632 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
8633 (grub_pxe_scan): Removed.
8634 (grub_pxe_call): Update prototype.
8635 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
8636 prototypes.
8637 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
8638 * include/grub/i386/qemu/init.h: Removed.
8639 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
8640 noreturn.
8641 (grub_halt): Likewise.
8642 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
8643 (grub_reboot): Likewise.
8644 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
8645 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
8646 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
8647
8648 2010-08-30 Robert Millan <rmh@gnu.org>
8649
8650 * NEWS: Document addition of ZFS support in `grub-install' and
8651 `grub-mkconfig'.
8652
8653 2010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
8654
8655 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
8656 dprintf output.
8657
8658 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
8659
8660 Remove leftover embedding of font objects.
8661
8662 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
8663 * util/grub-install.in (font): Removed.
8664 * util/grub-mkimage.c (generate_image): Remove font support. All users
8665 updated.
8666
8667 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
8668
8669 Remove leftover embedding of font objects.
8670
8671 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
8672 * util/grub-install.in (font): Removed.
8673 * util/grub-mkimage.c (generate_image): Remove font support. All users
8674 updated.
8675
8676 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
8677
8678 * docs/grub.texi (Network): Fix reference to pxe_blksize.
8679 Reported by: Ian Turner
8680
8681 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
8682
8683 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
8684 timeout to avoid indefinite boot stalling.
8685
8686 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
8687
8688 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
8689 (grub_env_write_color_highlight): Likewise.
8690
8691 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
8692
8693 * grub-core/normal/term.c (print_more): Return to normal and not
8694 to standard state after printing "---MORE---".
8695
8696 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
8697
8698 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
8699 Mask out the bit 0x80 since it has other meaning that specifiing color.
8700
8701 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
8702
8703 New relocator. Allows for more kernel support and more straightforward
8704 loader writing.
8705
8706 * Makefile.am (BOOTTARGET): New variable.
8707 (QEMU32): Likewise.
8708 (linux.init.x86_64): New target.
8709 (linux.init.i386): Likewise.
8710 (multiboot.elf): Likewise.
8711 (kfreebsd.elf): Likewise.
8712 (kfreebsd.aout): Likewise.
8713 (pc-chainloader.elf): Likewise.
8714 (pc-chainloader.bin): Likewise.
8715 (ntldr.elf): Likewise.
8716 (ntldr.bin): Likewise.
8717 (multiboot2.elf): Likewise.
8718 (kfreebsd.init.x86_64): Likewise.
8719 (kfreebsd.init.i386): Likewise.
8720 (knetbsd.init.i386): Likewise.
8721 (kopenbsd.init.i386): Likewise.
8722 (knetbsd.init.x86_64): Likewise.
8723 (kopenbsd.init.x86_64): Likewise.
8724 (linux-initramfs.i386): Likewise.
8725 (linux-initramfs.x86_64): Likewise.
8726 (kfreebsd-mfsroot.i386.img): Likewise.
8727 (knetbsd.image.i386): Likewise.
8728 (kopenbsd.image.i386): Likewise.
8729 (kopenbsd.image.x86_64): Likewise.
8730 (knetbsd.miniroot-image.i386.img): Likewise.
8731 (kfreebsd-mfsroot.x86_64.img): Likewise.
8732 (knetbsd.image.x86_64): Likewise.
8733 (knetbsd.miniroot-image.x86_64.img): Likewise.
8734 (kfreebsd-mfsroot.i386.gz): Likewise.
8735 (bootcheck-kfreebsd-i386): Likewise.
8736 (kfreebsd-mfsroot.x86_64.gz): Likewise.
8737 (bootcheck-kfreebsd-x86_64): Likewise.
8738 (knetbsd.miniroot-image.i386.gz): Likewise.
8739 (bootcheck-knetbsd-i386): Likewise.
8740 (bootcheck-kopenbsd-i386): Likewise.
8741 (bootcheck-kopenbsd-x86_64): Likewise.
8742 (knetbsd.miniroot-image.x86_64.gz): Likewise.
8743 (bootcheck-knetbsd-x86_64): Likewise.
8744 (bootcheck-linux-i386): Likewise.
8745 (bootcheck-linux-x86_64): Likewise.
8746 (bootcheck-linux16-i386): Likewise.
8747 (bootcheck-linux16-x86_64): Likewise.
8748 (bootcheck-multiboot): Likewise.
8749 (bootcheck-multiboot2): Likewise.
8750 (bootcheck-kfreebsd-aout): Likewise.
8751 (bootcheck-pc-chainloader): Likewise.
8752 (bootcheck-ntldr): Likewise.
8753 (CLEANFILES): Add new targets.
8754 (BOOTCHECKS): New variable.
8755 (.PHONY): Add bootchecks.
8756 (SUCCESSFUL_BOOT_STRING): New variable.
8757 (BOOTCHECK_TIMEOUT): Likewise.
8758 (bootcheck): New target
8759 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
8760 * configure.ac: Correct efiemu excuse.
8761 * docs/grub.texi (Supported kernels): New chapter.
8762 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
8763 include/grub/mm_private.h. Simplify inclusion of
8764 include/grub/boot.h, include/grub/loader.h
8765 and include/grub/msdos_partition.h
8766 (KERNEL_HEADER_FILES) [i386_coreboot]:
8767 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
8768 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
8769 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
8770 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
8771 include/grub/machine/loader.h.
8772 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
8773 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
8774 extra_dist.
8775 (pci.mod): Enable on i386-multiboot.
8776 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
8777 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
8778 i386-qemu.
8779 (relocator.mod): Rewritten.
8780 (aout.mod): Enable on all x86.
8781 (bsd.mod): Likewise.
8782 (ntldr.mod): New module.
8783 (linux.mod): Use loader/i386/linux.c on all x86.
8784 (xnu.mod): Enable on all x86.
8785 (vga_text.mod): disable on EFI and QEMU.
8786 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
8787 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
8788 * grub-core/efiemu/loadcore.c: Likewise.
8789 * grub-core/efiemu/main.c: Likewise.
8790 (grub_efiemu_exit_boot_services): Removed.
8791 (grub_efiemu_finish_boot_services): Likewise.
8792 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
8793 function.
8794 * grub-core/efiemu/i386/nocfgtables.c: New file.
8795 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
8796 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
8797 (grub_efi_finish_boot_services): Moved from here ...
8798 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
8799 Fille finish memory map and related data.
8800 (finish_mmap_buf): New variable.
8801 (grub_efi_uintn_t finish_mmap_size): Likewise.
8802 (grub_efi_uintn_t finish_key): Likewise.
8803 (grub_efi_uintn_t finish_desc_size): Likewise.
8804 (grub_efi_uint32_t finish_desc_version): Likewise.
8805 (grub_efi_is_finished): Likewise.
8806 (grub_efi_get_memory_map): Use saved memory map if EFI is already
8807 finished.
8808 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
8809 (grub_elf64_phdr_iterate): Likewise.
8810 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
8811 (grub_os_area_size): Likewise.
8812 (grub_machine_init): Don't reserve os area.
8813 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
8814 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
8815 * grub-core/kern/i386/loader.S: Removed.
8816 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
8817 (grub_os_area_size): Likewise.
8818 (grub_machine_init): Don't reserve os area.
8819 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
8820 Don't call grub_dl_unload_all.
8821 Don't include loader.S.
8822 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
8823 Declare the memory after _end as available.
8824 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
8825 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
8826 (GRUB_MM_ALLOC_MAGIC): Moved from here...
8827 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
8828 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
8829 * include/grub/mm_private.h (grub_mm_header): ... here.
8830 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
8831 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
8832 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
8833 (grub_mm_region): ..here. Removed addr. Added pre_size.
8834 All users updated.
8835 * grub-core/kern/mm.c (base): Renamed to ...
8836 (grub_mm_base): ... this. Made global.
8837 (grub_real_malloc): Alloc from end of region.
8838 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
8839 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
8840 * grub-core/kern/powerpc/cache_flush.S: ... here.
8841 * grub-core/lib/efi/relocator.c: New file.
8842 * grub-core/lib/i386/relocator.c: Rewritten.
8843 * grub-core/lib/i386/relocator16.S: New file.
8844 * grub-core/lib/i386/relocator32.S: Likewise.
8845 * grub-core/lib/i386/relocator64.S: Likewise.
8846 * grub-core/lib/i386/relocator_asm.S: Rewritten.
8847 * grub-core/lib/i386/relocator_common.S: New file.
8848 * grub-core/lib/ieee1275/relocator.c: Likewise.
8849 * grub-core/lib/mips/relocator.c: Rewritten.
8850 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
8851 stylistic adjustments.
8852 * grub-core/lib/powerpc/relocator.c: New file.
8853 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
8854 * grub-core/lib/relocator.c: Rewritten.
8855 * grub-core/lib/x86_64/relocator_asm.S: New file.
8856 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
8857 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
8858 (bsd_tag): New struct.
8859 (tags): New variable.
8860 (tags_last): Likewise.
8861 (netbsd_module): New struct.
8862 (netbsd_mods): New variable.
8863 (netbsd_mods_last): Likewise.
8864 (openbsd_opts): New parameter "serial".
8865 (OPENBSD_SERIAL_ARG): New definition.
8866 (netbsd_opts): New parameter "serial".
8867 (NETBSD_SERIAL_ARG): New definition.
8868 (grub_freebsd_add_meta): Reorganised into ...
8869 (grub_bsd_add_meta): ...this. All users updated.
8870 (grub_freebsd_add_mmap): Reorganised into ...
8871 (generate_e820_mmap): ...this...
8872 (grub_bsd_add_mmap): ...and this. All users updated.
8873 (grub_freebsd_list_modules): Use tags.
8874 (grub_netbsd_add_meta_module): New function.
8875 (grub_netbsd_list_modules): Likewise.
8876 (grub_freebsd_boot): Use relocator and finish EFI.
8877 (grub_openbsd_boot): Likewise.
8878 (grub_netbsd_setup_video): New function.
8879 (grub_netbsd_add_modules): Likewise.
8880 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
8881 and finish EFI.
8882 (grub_bsd_unload): Unload tags.
8883 (grub_bsd_load_aout): Use relocator.
8884 (grub_bsd_elf32_size_hook): New function.
8885 (grub_bsd_elf32_hook): Use relocator.
8886 (grub_bsd_elf64_size_hook): New function.
8887 (grub_bsd_elf64_hook): Use relocator.
8888 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
8889 (grub_bsd_load): Zero-out openbsd_ramdisk.
8890 (grub_bsd_load): Use relocator.
8891 (grub_cmd_openbsd): Support serial.
8892 (grub_cmd_netbsd): Support modules.
8893 (grub_cmd_freebsd_module): Use relocator.
8894 (grub_netbsd_module_load): New function.
8895 (grub_cmd_netbsd_module): Likewise.
8896 (grub_cmd_openbsd_ramdisk): Likewise.
8897 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
8898 kopenbsd_ramdisk.
8899 (GRUB_MOD_FINI): Unregister new commands.
8900 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
8901 (grub_freebsd_load_elfmodule_obj): Use relocator.
8902 (grub_freebsd_load_elfmodule): Likewise.
8903 (grub_freebsd_load_elf_meta): Likewise.
8904 (grub_netbsd_load_elf_meta): New function.
8905 (grub_openbsd_find_ramdisk): Likewise.
8906 * grub-core/loader/i386/bsd_helper.S: Removed.
8907 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
8908 * grub-core/loader/i386/bsd_trampoline.S: Removed.
8909 * grub-core/loader/i386/efi/linux.c: Likewise.
8910 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
8911 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
8912 (DEFAULT_VIDEO_MODE): Likewise.
8913 (real_mode_target): New variable.
8914 (prot_mode_target): Likewise.
8915 (initrd_mem_target): Likewise.
8916 (relocator): Likewise.
8917 (efi_mmap_buf): Likewise.
8918 (efi_mmap_size): Likewise.
8919 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
8920 (free_pages): Use relocator.
8921 (allocate_pages): Account for efi_mmap and use relocator. Return error.
8922 (grub_linux_setup_video): Return error.
8923 (grub_linux_trampoline_start): Removed.
8924 (grub_linux_trampoline_end): Likewise.
8925 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
8926 andd video parameters depending on firmware.
8927 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
8928 [GRUB_MACHINE_EFI]: Pass EFI parameters.
8929 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
8930 (grub_cmd_initrd): Use relocator.
8931 * grub-core/loader/i386/linux_trampoline.S: Removed.
8932 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
8933 (elf_sec_entsize): Likewise.
8934 (elf_sec_shstrndx): Likewise.
8935 (elf_sections): Likewise.
8936 (grub_multiboot_load): Use relocator.
8937 (grub_multiboot_get_mbi_size): Account for sections.
8938 (grub_multiboot_make_mbi): Use relocator and support sections.
8939 (grub_multiboot_add_elfsyms): New function.
8940 (grub_multiboot_free_mbi): Free sections.
8941 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
8942 (grub_linux_real_target): Likewise.
8943 (grub_linux_real_chunk): Likewise.
8944 (grub_linux16_prot_size): Likewise.
8945 (grub_linux16_boot): Use relocator.
8946 (grub_linux_unload): Unload relocator.
8947 (grub_cmd_linux): Use relocator.
8948 (grub_cmd_initrd): Likewise.
8949 * grub-core/loader/i386/pc/ntldr.c: New file.
8950 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
8951 Don't try to guess CPU frequency.
8952 (grub_xnu_set_video): Stretch bitmap.
8953 (grub_xnu_boot): Use relocator.
8954 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
8955 (grub_linux_unload): Free relocator.
8956 (grub_linux_load32): Use relocator.
8957 (grub_linux_load64): Likewise.
8958 (grub_cmd_initrd): Likewise.
8959 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
8960 (grub_multiboot_unload): Unload relocator.
8961 (grub_cmd_multiboot): Use relocator.
8962 (grub_cmd_module): Likewise.
8963 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
8964 Use relocator and support sections.
8965 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
8966 (elf_sec_entsize): Likewise.
8967 (elf_sec_shstrndx): Likewise.
8968 (elf_sections): Likewise.
8969 (grub_multiboot_load): Use relocator.
8970 (grub_multiboot_get_mbi_size): Account for sections.
8971 (grub_multiboot_make_mbi): Use relocator and support sections.
8972 (grub_multiboot_add_elfsyms): New function.
8973 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
8974 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
8975 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
8976 Prototype changed. All users updated.
8977 (grub_xnu_align_heap): Simplified.
8978 (grub_xnu_writetree_toheap): Likewise.
8979 (grub_xnu_unload): Unload relocator.
8980 (grub_cmd_xnu_kernel): Use relocator.
8981 (grub_cmd_xnu_kernel64): Likewise.
8982 (grub_xnu_register_memory): Simplified.
8983 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
8984 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
8985 EFI is finished.
8986 (grub_console_checkkey): Likewise.
8987 (grub_console_getkey): Likewise.
8988 (grub_console_getwh): Likewise.
8989 (grub_console_getxy): Likewise.
8990 (grub_console_gotoxy): Likewise.
8991 (grub_console_cls): Likewise.
8992 (grub_console_setcolorstate): Likewise.
8993 (grub_console_setcursor): Likewise.
8994 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
8995 * grub-core/tests/boot/kbsd.init-i386.S: New file.
8996 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
8997 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
8998 * grub-core/tests/boot/kernel-8086.S: Likewise.
8999 * grub-core/tests/boot/kernel-i386.S: Likewise.
9000 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
9001 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
9002 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
9003 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
9004 * grub-core/tests/boot/knetbsd.cfg: Likewise.
9005 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
9006 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
9007 * grub-core/tests/boot/linux.cfg: Likewise.
9008 * grub-core/tests/boot/linux.init-i386.S: Likewise.
9009 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
9010 * grub-core/tests/boot/linux16.cfg: Likewise.
9011 * grub-core/tests/boot/multiboot.cfg: Likewise.
9012 * grub-core/tests/boot/multiboot2.cfg: Likewise.
9013 * grub-core/tests/boot/ntldr.cfg: Likewise.
9014 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
9015 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
9016 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
9017 New definition.
9018 * include/grub/dl.h (grub_dl_unload_all): Removed.
9019 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
9020 (grub_efi_finish_boot_services): Change prototype.
9021 (grub_efi_is_finished): New variable.
9022 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
9023 Changed prototype.
9024 (grub_efiemu_finish_boot_services): Removed.
9025 (grub_machine_efiemu_init_tables): New prototype.
9026 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
9027 (grub_elf64_phdr_iterate): Likewise.
9028 * include/grub/i386/bsd.h: Include relocator.h.
9029 (freebsd_tag_header): New struct.
9030 (grub_openbsd_bios_mmap): Removed.
9031 (grub_unix_real_boot): Removed.
9032 (grub_freebsd_load_elfmodule32): Changed prototype.
9033 (grub_freebsd_load_elfmodule_obj64): Likewise.
9034 (grub_freebsd_load_elf_meta32): Likewise.
9035 (grub_freebsd_load_elf_meta64): Likewise.
9036 (grub_freebsd_add_meta): Removed.
9037 (grub_netbsd_load_elf_meta32): New prototype.
9038 (grub_netbsd_load_elf_meta64): Likewise.
9039 (grub_bsd_add_meta): Likewise.
9040 (grub_openbsd_ramdisk_descriptor): New struct.
9041 (grub_openbsd_find_ramdisk32): New prototype.
9042 (grub_openbsd_find_ramdisk64): Likewise.
9043 * include/grub/i386/coreboot/loader.h: Removed.
9044 * include/grub/i386/efi/loader.h: Likewise.
9045 * include/grub/i386/ieee1275/loader.h: Likewise.
9046 * include/grub/i386/linux.h (linux_kernel_header): Change void *
9047 to grub_uint32_t.
9048 * include/grub/i386/loader.h: Removed.
9049 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
9050 value.
9051 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
9052 (grub_phys_addr_t): New type.
9053 (grub_vtop): New inline function.
9054 (grub_map_memory): Likewise.
9055 (grub_unmap_memory): Likewise.
9056 * include/grub/i386/multiboot/loader.h: Removed.
9057 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
9058 (NETBSD_BTINFO_CONSOLE): New definition.
9059 (NETBSD_BTINFO_SYMTAB): Likewise.
9060 (NETBSD_BTINFO_MODULES): Likewise.
9061 (NETBSD_BTINFO_FRAMEBUF): Likewise.
9062 (grub_netbsd_bootinfo): New struct.
9063 (grub_netbsd_btinfo_common): Use explicit bitsize.
9064 (grub_netbsd_btinfo_mmap_entry): Removed.
9065 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
9066 (grub_netbsd_btinfo_bootdisk): New struct.
9067 (grub_netbsd_btinfo_symtab): Likewise.
9068 (grub_netbsd_btinfo_serial): Likewise.
9069 (grub_netbsd_btinfo_modules): Likewise.
9070 (grub_netbsd_btinfo_framebuf): Likewise.
9071 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
9072 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
9073 Likewise.
9074 (grub_openbsd_bootargs): Use explicit bitsize.
9075 (grub_openbsd_bootarg_console): New struct.
9076 (GRUB_OPENBSD_COM_MAJOR): New definition.
9077 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
9078 * include/grub/i386/pc/efiemu.h: Removed.
9079 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
9080 * include/grub/i386/qemu/loader.h: Removed.
9081 * include/grub/i386/relocator.h: Rewritten.
9082 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
9083 * include/grub/mips/memory.h: New file.
9084 * include/grub/mips/multiboot.h: Rewritten.
9085 * include/grub/mips/relocator.h: Rewritten.
9086 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
9087 (grub_vtop): New function.
9088 (grub_map_memory): Likewise.
9089 (grub_unmap_memory): Likewise.
9090 * include/grub/misc.h (ALIGN_DOWN): New definition.
9091 * include/grub/mm.h (grub_mm_check_real): New proto.
9092 (GRUB_MM_CHECK): New definition.
9093 * include/grub/mm_private.h: New file.
9094 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
9095 (grub_multiboot_get_mbi_size): Removed.
9096 (grub_multiboot_make_mbi): Change prottype.
9097 (grub_multiboot_set_accepts_video): New proto.
9098 (grub_multiboot_add_elfsyms): Likewise.
9099 (grub_multiboot_payload_eip): New variable.
9100 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
9101 New prototype.
9102 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
9103 New definition.
9104 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
9105 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
9106 * include/grub/powerpc/ieee1275/loader.h: Removed.
9107 * include/grub/powerpc/memory.h: New file.
9108 * include/grub/powerpc/relocator.h: Likewise.
9109 * include/grub/relocator.h: Likewise.
9110 * include/grub/relocator_private.h: Likewise.
9111 * include/grub/sparc64/ieee1275/loader.h: Removed.
9112 * include/grub/x86_64/memory.h: New file.
9113 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
9114 (grub_xnu_heap_malloc): Likewise.
9115 (grub_xnu_heap_real_start): Removed.
9116 (grub_xnu_heap_start): Likewise.
9117 (grub_xnu_relocator): New variable.
9118 (grub_xnu_heap_target_start): Likewise.
9119 * tests/util/grub-shell.in: Support non-pc.
9120 * util/grub-mkimage.c (image_targets): Fix multiboot target.
9121
9122 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
9123
9124 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
9125 on malloc error.
9126 (grub_bidi_logical_to_visual): Check that malloc succeded.
9127 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
9128 puts.
9129 (grub_xputs_normal): Likewise.
9130
9131 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
9132
9133 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
9134 extra_dist.
9135
9136 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
9137
9138 * grub-core/efiemu/runtime/efiemu.sh: Removed.
9139
9140 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
9141
9142 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
9143
9144 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
9145
9146 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
9147 dprintf.
9148
9149 2010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
9150
9151 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
9152
9153 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
9154
9155 * grub-core/normal/term.c (print_more): Fix a memory leak.
9156 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
9157 (grub_xputs_normal): Likewise.
9158
9159 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
9160
9161 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
9162 the begining of the string
9163
9164 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
9165
9166 * grub-core/script/script.c (grub_script_parse): Free parsed on
9167 failure.
9168
9169 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
9170
9171 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
9172 on failure.
9173
9174 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
9175
9176 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
9177 return.
9178
9179 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
9180
9181 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
9182 (scroll_up): Fix a memory leak.
9183
9184 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
9185
9186 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
9187 errors.
9188
9189 2010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
9190
9191 Handle USB pendrives exposed as floppies.
9192
9193 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
9194 floppy.
9195 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
9196 Check for partitions on all devices.
9197
9198 2010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
9199
9200 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
9201 (readkey): Likewise.
9202
9203 2010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
9204
9205 Multiple variable names support to "export" command.
9206
9207 * normal/context.c (grub_cmd_export): "export" command supports
9208 multiple variable names.
9209
9210 2010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
9211
9212 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
9213 --target=drive output to Mach device name.
9214
9215 2010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
9216
9217 New Automake based build system for GRUB.
9218
9219 * ABOUT-NLS: New file.
9220 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
9221 in Makefile.util.def file.
9222 * Makefile.util.def: New file. Autogen build definitions file for
9223 GRUB host utils.
9224 * conf/Makefile.common: New file. Common variables for GRUB host
9225 utils and target modules.
9226 * conf/Makefile.extra-dist: New file. Extra files for make dist.
9227 * docs/Makefile.am: New file. Automake file for docs.
9228 * gentpl.py: New file. Python script to generate Autogen
9229 template.
9230 * grub-core/Makefile.am: New file. GRUB target modules' rules
9231 that doesn't fit in Makefile.core.def file.
9232 * grub-core/Makefile.core.def: New file. Autogen build
9233 definitions file for GRUB target modules.
9234 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
9235 specific setjmp.S file.
9236 * po/Makefile.am: New file.
9237
9238 * .bzrignore: New ignores.
9239 * INSTALL: New requirements, without Ruby.
9240 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
9241 * autogen.sh: Updated to invoke autogen as necessary.
9242 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
9243 and defines for Automake conditionals.
9244 * geninit.sh: Refactoring.
9245
9246 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
9247 necessary.
9248 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
9249 New prototype.
9250
9251 * include/grub/test.h: Fix functional test modules' naming.
9252 * grub-core/tests/example_functional_test.c: Fix test module name.
9253
9254 * util/misc.c: Hosted versions' of grub functions for libgrub.a
9255 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
9256 * util/grub-editenv.c: Likewise.
9257 * util/grub-fstest.c: Likewise.
9258 * util/grub-mkdevicemap.c: Likewise.
9259 * util/grub-mkfont.c: Likewise.
9260 * util/grub-mkimage.c: Likewise.
9261 * util/grub-mkpasswd-pbkdf2.c: Likewise.
9262 * util/grub-probe.c: Likewise.
9263 * util/grub-script-check.c: Likewise.
9264 * util/i386/pc/grub-setup.c: Likewise.
9265 * util/sparc64/ieee1275/grub-setup.c: Likewise.
9266
9267 * tests/util/grub-shell.in: Fix override directory path.
9268 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
9269 * util/import_gcry.py: Create Makefile.gcry.def file instead.
9270
9271 * util/lvm.c: Update #includes.
9272 * util/raid.c: Likewise.
9273 * util/resolve.c: Likewise.
9274 * grub-core/bus/emu/pci.c: Likewise.
9275 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
9276 * grub-core/lib/posix_wrap/string.h: Likewise.
9277 * grub-core/kern/emu/main.c: Likewise.
9278
9279 * grub-core/gensymlist.sh: New file. Script for generating kernel
9280 symbols file.
9281 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
9282
9283 * grub-core/gentrigtables.c: Fix unused variable warnings.
9284
9285 * Makefile.in: Removed.
9286 * conf/any-emu.rmk: Removed.
9287 * conf/common.rmk: Removed.
9288 * conf/i386-coreboot.rmk: Removed.
9289 * conf/i386-efi.rmk: Removed.
9290 * conf/i386-ieee1275.rmk: Removed.
9291 * conf/i386-multiboot.rmk: Removed.
9292 * conf/i386-pc.rmk: Removed.
9293 * conf/i386-qemu.rmk: Removed.
9294 * conf/i386.rmk: Removed.
9295 * conf/mips-yeeloong.rmk: Removed.
9296 * conf/mips.rmk: Removed.
9297 * conf/powerpc-ieee1275.rmk: Removed.
9298 * conf/sparc64-ieee1275.rmk: Removed.
9299 * conf/tests.rmk: Removed.
9300 * conf/x86-efi.rmk: Removed.
9301 * conf/x86_64-efi.rmk: Removed.
9302 * gendistlist.sh: Removed.
9303 * geninitheader.sh: Removed.
9304 * genkernsyms.sh.in: Removed.
9305 * genmk.rb: Removed.
9306 * gensymlist.sh.in: Removed.
9307 * mkinstalldirs: Removed.
9308 * boot: Moved ...
9309 * grub-core/boot: ... to here.
9310 * bus: Moved ...
9311 * grub-core/bus: ... to here.
9312 * commands: Moved ...
9313 * grub-core/commands: ... to here.
9314 * disk: Moved ...
9315 * grub-core/disk: ... to here.
9316 * efiemu: Moved ...
9317 * grub-core/efiemu: ... to here.
9318 * font: Moved ...
9319 * grub-core/font: ... to here.
9320 * fs: Moved ...
9321 * grub-core/fs: ... to here.
9322 * gencmdlist.sh: Moved ...
9323 * grub-core/gencmdlist.sh: ... to here.
9324 * genemuinit.sh: Moved ...
9325 * grub-core/genemuinit.sh: ... to here.
9326 * genemuinitheader.sh: Moved ...
9327 * grub-core/genemuinitheader.sh: ... to here.
9328 * genfslist.sh: Moved ...
9329 * grub-core/genfslist.sh: ... to here.
9330 * genhandlerlist.sh: Moved ...
9331 * grub-core/genhandlerlist.sh: ... to here.
9332 * genmoddep.awk: Moved ...
9333 * grub-core/genmoddep.awk: ... to here.
9334 * genmodsrc.sh: Moved ...
9335 * grub-core/genmodsrc.sh: ... to here.
9336 * genpartmaplist.sh: Moved ...
9337 * grub-core/genpartmaplist.sh: ... to here.
9338 * genparttoollist.sh: Moved ...
9339 * grub-core/genparttoollist.sh: ... to here.
9340 * genterminallist.sh: Moved ...
9341 * grub-core/genterminallist.sh: ... to here.
9342 * gentrigtables.c: Moved ...
9343 * grub-core/gentrigtables.c: ... to here.
9344 * genvideolist.sh: Moved ...
9345 * grub-core/genvideolist.sh: ... to here.
9346 * gettext: Moved ...
9347 * grub-core/gettext: ... to here.
9348 * gfxmenu: Moved ...
9349 * grub-core/gfxmenu: ... to here.
9350 * gnulib: Moved ...
9351 * grub-core/gnulib: ... to here.
9352 * hello: Moved ...
9353 * grub-core/hello: ... to here.
9354 * hook: Moved ...
9355 * grub-core/hook: ... to here.
9356 * io: Moved ...
9357 * grub-core/io: ... to here.
9358 * kern: Moved ...
9359 * grub-core/kern: ... to here.
9360 * lib: Moved ...
9361 * grub-core/lib: ... to here.
9362 * loader: Moved ...
9363 * grub-core/loader: ... to here.
9364 * mmap: Moved ...
9365 * grub-core/mmap: ... to here.
9366 * normal: Moved ...
9367 * grub-core/normal: ... to here.
9368 * partmap: Moved ...
9369 * grub-core/partmap: ... to here.
9370 * parttool: Moved ...
9371 * grub-core/parttool: ... to here.
9372 * script: Moved ...
9373 * grub-core/script: ... to here.
9374 * term: Moved ...
9375 * grub-core/term: ... to here
9376 * tests/example_functional_test.c: Moved ...
9377 * grub-core/tests/example_functional_test.c: ... to here.
9378 * tests/lib/functional_test.c: Moved ...
9379 * grub-core/tests/lib/functional_test.c: ... to here.
9380 * tests/lib/test.c: Moved ...
9381 * grub-core/tests/lib/test.c: ... to here.
9382 * video: Moved ...
9383 * grub-core/video: ... to here.
9384
9385 2010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
9386
9387 Replace --enable-grub-emu-modules with grub-emu-lite.
9388
9389 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
9390 cache.S.
9391
9392 * include/grub/emu/misc.h (grub_emu_init): New prototype.
9393 * kern/emu/full.c: New file. For grub-emu specific initialization.
9394 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
9395 * kern/emu/main.c: Call initialization function grub_emu_init.
9396
9397 * Makefile.in: Include grub-emu-lite in install.
9398 * commands/parttool.c: Use grub_no_autoload to differentiate
9399 between grub-emu and grub-emu-lite.
9400 * include/grub/misc.h: New variable grub_no_autoload.
9401
9402 * conf/any-emu.rmk: New rules for grub-emu-lite.
9403 * configure.ac: Remove --enable-grub-emu-modules.
9404 * genmk.rb: Cleanup unnecessary rules.
9405 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
9406
9407 * normal/main.c: Don't load list files on grub-emu-lite.
9408 * util/misc.c (grub_arch_sync_caches): Removed.
9409
9410 2010-08-23 Colin Watson <cjwatson@ubuntu.com>
9411
9412 * kern/mips/startup.S (grub_prefix): Update comment to refer to
9413 grub-mkimage rather than grub-mkelfimage.
9414 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
9415
9416 2010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
9417
9418 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
9419 a key after CapsLock or NumLock. It's just a qemu bug.
9420
9421 2010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
9422
9423 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
9424 needed by libusb wrapper.
9425
9426 2010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
9427
9428 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
9429
9430 2010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
9431
9432 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
9433 --nounzip is passed.
9434
9435 2010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
9436
9437 USB hotunplugging and USB serial support.
9438
9439 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
9440 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
9441 (grub_uhci_transfer): Respect timeout and set *actual.
9442 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
9443 non-standard length.
9444 (grub_usb_device_attach): Autoload modules.
9445 (GRUB_MOD_INIT): Set grub_term_poll_usb.
9446 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
9447 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
9448 users updated.
9449 (grub_usb_add_hub): Fill nports and children.
9450 (attach_root_port): Receive hub instead of controller.
9451 All users updated. Fill hub->devices.
9452 (grub_usb_root_hub): Allocate hub->devices.
9453 (detach_device): New function.
9454 (poll_nonroot_hub): Fill children and detach devices.
9455 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
9456 actual arguments. All users updated.
9457 (grub_usb_bulk_read_extended): New function.
9458 * bus/usb/serial/common.c: New file.
9459 * bus/usb/serial/ftdi.c: Likewise.
9460 * bus/usb/serial/pl2303.c: Likewise.
9461 * commands/terminal.c (handle_command): Support wildcard.
9462 * commands/usbtest.c: Output "Unknown" instead of empty string.
9463 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
9464 (usbserial_common_mod_SOURCES): New variable.
9465 (usbserial_common_mod_CFLAGS): Likewise.
9466 (usbserial_common_mod_LDFLAGS): Likewise.
9467 (pkglib_MODULES): Add usbserial_pl2303.mod.
9468 (usbserial_pl2303_mod_SOURCES): New variable.
9469 (usbserial_pl2303_mod_CFLAGS): Likewise.
9470 (usbserial_pl2303_mod_LDFLAGS): Likewise.
9471 (pkglib_MODULES): Add usbserial_ftdi.mod.
9472 (usbserial_ftdi_mod_SOURCES): New variable.
9473 (usbserial_ftdi_mod_CFLAGS): Likewise.
9474 (usbserial_ftdi_mod_LDFLAGS): Likewise.
9475 (pkglib_MODULES): Add serial.mod.
9476 (serial_mod_SOURCES): New variable.
9477 (serial_mod_CFLAGS): Likewise.
9478 (serial_mod_LDFLAGS): Likewise.
9479 * conf/i386-pc.rmk: Likewise.
9480 * conf/mips-yeeloong.rmk: Likewise.
9481 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
9482 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
9483 * disk/usbms.c (first_available_slot): New variable.
9484 (grub_usbms_attach): Don't reuse free slots due to potential cache
9485 problems.
9486 * include/grub/serial.h: Moved to ..
9487 * include/grub/ns8250.h: ...this.
9488 * include/grub/serial.h: New file.
9489 * include/grub/term.h (grub_term_poll_usb): New variable.
9490 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
9491 readkey. All users updated.
9492 (grub_terminfo_output_state): Pass term to put.
9493 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
9494 (grub_usb_controller_dev): Add timeout and actual arguments to
9495 transfer. All users updated.
9496 (grub_usb_interface): New field detach_data.
9497 (grub_usb_device): New fields children and nports.
9498 (grub_usb_ep_type_t): New type.
9499 (grub_usb_get_ep_type): New function.
9500 (grub_usb_bulk_read_extended): Likewise.
9501 * include/grub/usbdesc.h (grub_usb_desc): New type.
9502 * include/grub/usbserial.h: New file.
9503 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
9504 * kern/term.c (grub_term_poll_usb): New variable.
9505 (grub_getkey): Call grub_term_poll_usb if set.
9506 (grub_checkkey): Likewise.
9507 (grub_getkeystatus): Likewise.
9508 * term/serial.c: Moved controller-specific parts to ...
9509 * term/ns8250.c: ... here.
9510 * term/serial.c: Mostly rewritten.
9511 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
9512 according to spec.
9513
9514 2010-08-20 Robert Millan <rmh@gnu.org>
9515
9516 Make kFreeBSD code more generic to support ext2fs as root, ufs as
9517 a separate module and maybe other interesting combinations.
9518
9519 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
9520 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
9521 (kfreebsd_entry): Add generic filesystem module load routine.
9522 Map GRUB `ext2' to kFreeBSD `ext2fs'.
9523
9524 2010-08-20 Colin Watson <cjwatson@ubuntu.com>
9525
9526 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
9527 "numcenter" (I misunderstood the purpose of this entry).
9528 * docs/grub.texi (sendkey): Likewise.
9529
9530 2010-08-20 Colin Watson <cjwatson@ubuntu.com>
9531
9532 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
9533 status flag options; simply omitting the option is equivalent and
9534 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
9535 (keysym_table): Rename "num5numlock" to "numlock".
9536 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
9537 can uniformly say that only the last of multiple `sendkey'
9538 invocations has any effect.
9539 * docs/grub.texi (sendkey): New section.
9540
9541 2010-08-19 Colin Watson <cjwatson@ubuntu.com>
9542
9543 * commands/i386/pc/sendkey.c (options): Fix three typos.
9544
9545 2010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
9546
9547 Implement sendkey support.
9548
9549 * commands/i386/pc/sendkey.c: New file.
9550 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
9551 (sendkey_mod_SOURCES): New variable.
9552 (sendkey_mod_CFLAGS): Likewise.
9553 (sendkey_mod_LDFLAGS): Likewise.
9554
9555 2010-08-18 Colin Watson <cjwatson@ubuntu.com>
9556
9557 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
9558 fix warnings from Autoconf.
9559
9560 2010-08-18 Colin Watson <cjwatson@ubuntu.com>
9561
9562 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
9563 to avoid false positives with some assemblers that output things
9564 like "someprefix_func" as part of their output.
9565
9566 2010-08-15 Robert Millan <rmh@gnu.org>
9567
9568 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
9569 errors.
9570 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
9571 grub_get_libzfs_handle() errors.
9572
9573 2010-08-14 Robert Millan <rmh@gnu.org>
9574
9575 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
9576 filesystem is not ZFS.
9577
9578 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
9579
9580 Fix for misspelled color names defaulting to black/black (bug
9581 reported by Doug Nazar)
9582
9583 * include/grub/normal.h (grub_parse_color_name_pair): Add return
9584 status to prototype.
9585 * normal/color.c (grub_parse_color_name_pair): Return failure
9586 status.
9587 (grub_env_write_color_normal): Ignore bad color names.
9588 (grub_env_write_color_highlight): Likewise.
9589 * normal/main.c (GRUB_MOD_INIT): Set default color names.
9590
9591 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
9592
9593 "shift" command support to GRUB script.
9594
9595 * include/grub/script_sh.h (grub_script_shift): New prototype.
9596 * script/execute.c (grub_script_shift): New function.
9597 * script/main.c (grub_script_init): Register shift command.
9598 (grub_script_fini): Unregister shift command.
9599 * util/grub-script-check.c (grub_script_cmd_shift): New function.
9600
9601 * tests/grub_script_shift.in: New testcase.
9602 * conf/tests.rmk: Rules for new testcase.
9603
9604 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
9605
9606 "continue" command support to GRUB script.
9607
9608 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
9609 (grub_script_break): Continue support.
9610 * script/main.c (grub_script_init): Register continue command.
9611 (grub_script_fini): Unregister continue command.
9612
9613 * tests/grub_script_continue.in: New testcase.
9614 * conf/tests.rmk: Rules for new testcase.
9615
9616 2010-08-12 BVK Chaitanya <bvk@dbook>
9617
9618 "break" command support to GRUB script.
9619
9620 * conf/common.rmk: Rule updates to grub-script-check.
9621 * include/grub/misc.h (grub_min): New function.
9622 * include/grub/script_sh.h (grub_script_init): New prototype.
9623 (grub_script_fini): New prototype.
9624 (grub_script_break): New prototype.
9625 * script/main.c (grub_script_init): New function.
9626 (grub_script_fini): New function.
9627 * script/execute.c (grub_script_break): New function.
9628 * normal/main.c: Calls to grub_script_{init,fini}.
9629 * util/grub-script-check.c (grub_script_break): New function.
9630
9631 * tests/grub_script_break.in: New testcase.
9632 * conf/tests.rmk: Rules for new test case.
9633
9634 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
9635
9636 Function parameters support to GRUB script.
9637
9638 * script/yylex.l (VARIABLE): Regular expression update.
9639 * script/function.c (grub_script_function_call): Moved ...
9640 * script/execute.c (grub_script_function_call): ... to here.
9641 (grub_script_execute_arglist_to_argv): Removed.
9642 (grub_script_arglist_to_argv): New function.
9643 * script/argv.c: New file.
9644 (grub_script_argv_free): New function.
9645 (grub_script_argv_next): Likewise.
9646 (grub_script_argv_append): Likewise.
9647 (grub_script_argv_split_append): Likewise.
9648 * include/grub/script_sh.h (grub_script_argv): New struct.
9649 (grub_script_argv_free): New function.
9650 (grub_script_argv_next): Likewise.
9651 (grub_script_argv_append): Likewise.
9652 (grub_script_argv_split_append): Likewise.
9653
9654 * conf/common.rmk (normal.mod): New source script/argv.c.
9655
9656 * tests/grub_script_echo1.in: More tests.
9657 * tests/grub_script_vars1.in: Likewise.
9658 * tests/grub_script_functions.in: New test case.
9659 * conf/tests.rmk: Rules for new testcase.
9660
9661 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
9662
9663 Remove grub_script_cmdblock struct.
9664
9665 * include/grub/script_sh.h: Remove grub_script_cmdblock.
9666 * script/parser.y: Likewise.
9667 * script/execute.c: Rename cmdblock suffix to cmdlist.
9668 * script/script.c: Likewise.
9669 * util/grub-script-check.c: Likewise.
9670
9671 2010-08-11 Yves Blusseau <blusseau@zetam.org>
9672
9673 * .bzrignore: add grub-macho2img
9674
9675 2010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
9676
9677 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
9678
9679 2010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
9680
9681 Remove the dump of sm712 initialisation sequence.
9682
9683 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
9684 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
9685 (GRUB_VGA_IO_MISC_WRITE): Likewise.
9686 (GRUB_VGA_CR_*): Added many registers.
9687 (GRUB_VGA_SR_*): Likewise.
9688 (GRUB_VGA_GR_*): Likewise.
9689 (grub_vga_write_arx): New function.
9690 (grub_video_hw_config): New struct.
9691 (grub_vga_set_geometry): New function.
9692 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
9693 GRUB_PCI_CLASS_SUBCLASS_VGA.
9694 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
9695 * video/sm712.c (grub_sm712_write_reg): New function
9696 (grub_sm712_read_reg): Likewise.
9697 (grub_sm712_sr_write): Likewise.
9698 (grub_sm712_gr_write): Likewise.
9699 (grub_sm712_cr_write): Likewise.
9700 (grub_sm712_write_arx): Likewise.
9701 (grub_sm712_cr_shadow_write): Likewise.
9702 (grub_sm712_write_dda_lookup): Likewise.
9703 (grub_video_sm712_setup): Initialise the video rather then
9704 blindly replay the dump.
9705 (main) [TEST]: Add a routine to be able to compile as standalone for
9706 tests.
9707 * video/sm712_init.c (sm712_init): Removed.
9708 (sm712_sr_seq1): New array.
9709 (sm712_sr_seq2): Likewise.
9710
9711 2010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
9712
9713 * include/grub/vga.h: Add missing grub/pci.h include.
9714
9715 2010-08-10 Yves Blusseau <blusseau@zetam.org>
9716
9717 * util/grub-macho2img.c (main): fix typo
9718
9719 2010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
9720
9721 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
9722 (grub_vga_gr_read): Likewise.
9723 (grub_vga_cr_write): Likewise.
9724 (grub_vga_cr_read): Likewise.
9725 (grub_vga_sr_write): Likewise.
9726 (grub_vga_sr_read): Likewise.
9727 (grub_vga_palette_read): Likewise.
9728 (grub_vga_palette_write): Likewise.
9729 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
9730 (grub_sm712_sr_read): New function.
9731 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
9732 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
9733
9734 2010-08-09 Robert Millan <rmh@gnu.org>
9735
9736 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
9737 out unused variables on non-ZFS build.
9738
9739 2010-08-08 Robert Millan <rmh@gnu.org>
9740
9741 Fix path generation for sub-filesystems in ZFS.
9742
9743 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
9744 missing slash.
9745
9746 2010-08-08 Robert Millan <rmh@gnu.org>
9747
9748 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
9749
9750 2010-08-08 Robert Millan <rmh@gnu.org>
9751
9752 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
9753 exist, issue a proper error message (rely on `ls' for translated
9754 strings).
9755
9756 2010-08-08 Robert Millan <rmh@gnu.org>
9757
9758 Fix grub-probe invocation.
9759
9760 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
9761
9762 2010-08-04 Robert Millan <rmh@gnu.org>
9763
9764 * configure.ac: Remove checks for getfsstat() and getmntany().
9765 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
9766 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
9767 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
9768 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
9769 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
9770 function.
9771 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
9772 via find_mount_point_from_dir() and getfsstat() / getmntany().
9773
9774 2010-08-04 Robert Millan <rmh@gnu.org>
9775
9776 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
9777 (grub_find_zpool_from_mount_point): Merge into ...
9778 (grub_find_zpool_from_dir): ... this.
9779 * kern/emu/misc.c: Likewise.
9780
9781 * kern/emu/misc.c
9782 (grub_make_system_path_relative_to_its_root): Replace
9783 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
9784 with grub_find_zpool_from_dir().
9785 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
9786
9787 2010-08-04 Robert Millan <rmh@gnu.org>
9788
9789 Support OpenSolaris in ZFS device resolution.
9790
9791 * configure.ac: Check for getmntany().
9792 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
9793 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
9794 support.
9795
9796 2010-08-03 Robert Millan <rmh@gnu.org>
9797
9798 Fix grub-emu build.
9799
9800 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
9801 * include/grub/emu/misc.h: ... here.
9802
9803 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
9804 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
9805
9806 * util/misc.c: Remove `<grub/util/libzfs.h>'.
9807 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
9808 (grub_get_libzfs_handle): Move to ...
9809 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
9810 (grub_get_libzfs_handle): ... here.
9811
9812 2010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
9813
9814 * script/execute.c (grub_script_execute_cmdline): Check for NULL
9815 as command name case.
9816
9817 2010-08-02 Colin Watson <cjwatson@ubuntu.com>
9818
9819 * disk/raid.c (insert_array): Select unique numbers for named arrays
9820 as well, for use as keys in the disk cache.
9821
9822 2010-08-01 Robert Millan <rmh@gnu.org>
9823
9824 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
9825 kFreeBSD device name, except on ZFS where the filesystem label is
9826 used.
9827 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
9828 `/boot/zfs/zpool.cache'.
9829 Set mountfrom kernel variable using ${kfreebsd_device}.
9830
9831 2010-08-01 Robert Millan <rmh@gnu.org>
9832
9833 Make it even harder to use uninitialized `libzfs_handle' (and
9834 make the interface a bit simpler).
9835
9836 * include/grub/util/misc.h (grub_util_init_libzfs)
9837 (libzfs_handle): Remove.
9838 (grub_get_libzfs_handle): New prototype.
9839
9840 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
9841 attribute.
9842 (grub_util_init_libzfs): Remove.
9843 (grub_get_libzfs_handle): New function.
9844
9845 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
9846 grub_get_libzfs_handle() to obtain a libzfs handle instead of
9847 accessing `libzfs_handle' directly.
9848
9849 2010-08-01 Robert Millan <rmh@gnu.org>
9850
9851 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
9852 (grub_find_zpool_from_mount_point): New function prototypes.
9853
9854 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
9855 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
9856
9857 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
9858 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
9859 `static' attribute.
9860
9861 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
9862 finding zpool from mount point into ...
9863 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
9864
9865 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
9866 requested path is part of a ZFS pool, use
9867 grub_find_zpool_from_mount_point() to detect its filesystem name,
9868 and generate a path with `/fsname@path' syntax.
9869
9870 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
9871
9872 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
9873 (void) rather than () so that this is a proper prototype.
9874
9875 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
9876
9877 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
9878
9879 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
9880
9881 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
9882 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
9883
9884 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
9885
9886 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
9887
9888 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
9889
9890 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
9891
9892 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
9893
9894 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
9895 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
9896 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
9897 disable gfxpayload.
9898 (Shell-like scripting): Add real content.
9899 (Serial terminal): Suggest `terminal_input serial; terminal_output
9900 serial' rather than putting the two commands on separate lines,
9901 since console input will be inoperative after the first command.
9902 (menuentry): Document --class, --users, and --hotkey options.
9903 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
9904 Vladimir Serbinenko).
9905
9906 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
9907 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
9908
9909 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
9910
9911 2010-08-01 Robert Millan <rmh@gnu.org>
9912
9913 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
9914 (grub_find_zpool_from_mount_point): New function prototypes.
9915
9916 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
9917 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
9918
9919 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
9920 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
9921 `static' attribute.
9922
9923 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
9924 finding zpool from mount point into ...
9925 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
9926
9927 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
9928 requested path is part of a ZFS pool, use
9929 grub_find_zpool_from_mount_point() to detect its filesystem name,
9930 and generate a path with `/fsname@path' syntax.
9931
9932 2010-08-01 Robert Millan <rmh@gnu.org>
9933
9934 Prevent accidental use of uninitialized libzfs_handle.
9935
9936 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
9937 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
9938 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
9939
9940 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
9941
9942 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
9943 util/grub.d/10_linux.in). Fixes Debian bug #591093.
9944
9945 2010-08-01 Robert Millan <rmh@gnu.org>
9946
9947 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
9948
9949 2010-07-31 Robert Millan <rmh@gnu.org>
9950
9951 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
9952
9953 2010-07-31 Robert Millan <rmh@gnu.org>
9954
9955 * kern/emu/misc.c: Add missing license header.
9956
9957 2010-07-31 Robert Millan <rmh@gnu.org>
9958
9959 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
9960
9961 * include/grub/util/libnvpair.h: Include `<config.h>'.
9962 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
9963 declaring libnvpair prototypes ourselves.
9964 * include/grub/util/libzfs.h: Include `<config.h>'.
9965 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
9966 declaring libzfs prototypes ourselves.
9967
9968 (libzfs_handle): Moved to ...
9969 * include/grub/util/misc.h (libzfs_handle): ... here.
9970 Include `<grub/util/libzfs.h>'.
9971
9972 2010-07-30 Robert Millan <rmh@gnu.org>
9973
9974 * include/grub/emu/misc.h: Add missing license header.
9975
9976 2010-07-30 Robert Millan <rmh@gnu.org>
9977
9978 Enable `grub-probe -t device' resolution on ZFS.
9979
9980 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
9981 * include/grub/util/libnvpair.h: New file.
9982 * include/grub/util/libzfs.h: New file.
9983
9984 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
9985 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
9986 `<grub/util/libnvpair.h>'.
9987 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
9988
9989 (find_mount_point_from_dir): New static function.
9990 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
9991 function.
9992 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
9993 find_root_device_from_libzfs() before ressorting to find_root_device().
9994
9995 * include/grub/util/misc.h (grub_util_init_libzfs): New function
9996 prototype.
9997 * util/misc.c: Include `<grub/util/libzfs.h>'.
9998 (grub_util_init_libzfs): New function.
9999 [HAVE_LIBZFS] (libzfs_handle): New global variable.
10000 [HAVE_LIBZFS] (fini_libzfs): New static function.
10001 (grub_util_init_libzfs): New function.
10002 * util/grub-probe.c (main): Call grub_util_init_libzfs().
10003
10004 2010-07-30 Robert Millan <rmh@gnu.org>
10005
10006 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
10007 (xmalloc, xrealloc, xstrdup, xasprintf): Add
10008 `warn_unused_result' attribute.
10009 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
10010 (grub_xasprintf, grub_xvasprintf): Likewise.
10011 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
10012
10013 2010-07-29 Robert Millan <rmh@gnu.org>
10014
10015 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
10016 (probe): Handle `PRINT_FS_LABEL'.
10017 (main): Handle `-t fs_label'.
10018
10019 2010-07-29 Robert Millan <rmh@gnu.org>
10020
10021 * configure.ac: Remove grub-mkisofs checks.
10022
10023 2010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
10024
10025 * util/ieee1275/grub-install.in: Don't use empty grub_device.
10026 Reported by: Lennart Sorensen.
10027
10028 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
10029
10030 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
10031 prior to terminal_input/terminal_output separation. It's been over 1.5
10032 years and those versions weren't widely deployed.
10033
10034 2010-07-22 Colin Watson <cjwatson@ubuntu.com>
10035
10036 * disk/raid.c (insert_array): Don't count named arrays when looking
10037 for unused array numbers.
10038 Reported and tested by: Michael Guntsche.
10039
10040 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
10041
10042 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
10043 implementation of this so that grub-emu links again, with a note
10044 that this should support hotplugging in the future.
10045
10046 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
10047
10048 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
10049
10050 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
10051
10052 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
10053 handle on failure.
10054 (grub_loopback_close): Remove empty function.
10055 (grub_loopback_dev): Remove close method.
10056
10057 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
10058
10059 Disable EFI cursor when the EFI console becomes inactive.
10060
10061 * term/efi/console.c (grub_efi_console_init): New function.
10062 (grub_efi_console_fini): New function.
10063 (grub_console_term_output): Register init and fini methods.
10064
10065 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
10066
10067 * tests/util/grub-shell-tester.in: Remove bashism and declare as
10068 sh script.
10069
10070 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
10071
10072 * disk/loopback.c (grub_loopback): Replace filename with file.
10073 (delete_loopback): Handle new semantics.
10074 (grub_cmd_loopback): Likewise.
10075 (grub_loopback_iterate): Likewise.
10076 (grub_loopback_close): Likewise.
10077
10078 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
10079
10080 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
10081 with -p "".
10082 Reported by: Tito Keitel.
10083
10084 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
10085
10086 * docs/grub.texi (Naming convention): Document new naming convention.
10087
10088 2010-07-20 Vadim Solomin <vadic052@gmail.com>
10089 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
10090
10091 Generate device.map in something closer to the old ordering.
10092
10093 * util/deviceiter.c (struct device): New declaration.
10094 (compare_file_names): Rename to ...
10095 (compare_devices): ... this. Sort by kernel name in preference to
10096 the stable by-id name, but keep the latter as a fallback comparison.
10097 Update header comment.
10098 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
10099 of `struct device' rather than of plain file names.
10100
10101 2010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
10102
10103 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
10104 on i386.
10105
10106 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
10107
10108 * commands/acpi.c (setup_common_tables): Use sizeof instead of
10109 hardcoding size.
10110 (setv1table): Likewise.
10111
10112 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
10113
10114 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
10115 removing the homehost if present.
10116 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
10117 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
10118 removing the homehost if present.
10119 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
10120 if possible.
10121 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
10122
10123 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
10124 parameter. Set its pointer target to 0.
10125 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
10126 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
10127 `data_offset' value from the superblock for 1.x metadata.
10128 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
10129 data on the device.
10130 (insert_array): Record the start sector of data on the device.
10131 (grub_raid_register): Pass start_sector parameters to
10132 grub_raid_list->detect and insert_array.
10133 * include/grub/raid.h (struct grub_raid_array): Add start_sector
10134 member.
10135 (struct grub_raid): Add start_sector parameter to `detect'.
10136
10137 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
10138 __attribute__ ((packed)), leaving a comment.
10139 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
10140 (grub_mdraid_detect_09): ... here and ...
10141 (grub_mdraid_detect_1x): ... here.
10142
10143 2010-07-20 Peter Henn <peter.henn@web.de>
10144
10145 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
10146 chunk size and disk size, which are already given as sector counts
10147 as distinct from the 0.90 units. Fetch the correct device number
10148 from the role table instead of using the table index.
10149
10150 2010-07-20 Felix Zielcke <fzielcke@z-51.de>
10151
10152 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
10153 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
10154 (WriteMostly1): New macro.
10155 Set array->name to NULL for metadata format 0.90. Add support for
10156 metadata 1.x. Fix some comments.
10157 * disk/raid.c (): Add support for name based RAID arrays. Fix a
10158 few comments.
10159 * util/getroot.c (grub_util_get_grub_dev): Add support for
10160 /dev/md/name style devices.
10161
10162 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
10163
10164 * .bzrignore: Ignore 20_linux_xen.
10165
10166 2010-07-17 Colin Watson <cjwatson@ubuntu.com>
10167
10168 * util/import_unicode.py: Remove unnecessary imports.
10169
10170 2010-07-17 Aleš Nesrsta <starous@volny.cz>
10171
10172 Hotplugging and USB hub support.
10173
10174 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
10175 (grub_ohci): Likewise.
10176 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
10177 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
10178 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
10179 (GRUB_OHCI_CTRL_EDS): Likewise.
10180 (GRUB_OHCI_BULK_EDS): Likewise.
10181 (GRUB_OHCI_TDS): Likewise.
10182 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
10183 (grub_ohci_ed_phys2virt): New function.
10184 (grub_ohci_virt_to_phys): Likewise.
10185 (grub_ohci_td_phys2virt): Likewise.
10186 (grub_ohci_td_virt2phys): Likewise.
10187 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
10188 attachment.
10189 (grub_ohci_find_ed): New function.
10190 (grub_ohci_alloc_td): Likewise.
10191 (grub_ohci_free_td): Likewise.
10192 (grub_ohci_free_tds): Likewise.
10193 (grub_ohci_transfer): Use previously allocated memory.
10194 (grub_ohci_portstatus): Reset status changed bit.
10195 (grub_ohci_detect_dev): Supply status changed.
10196 (grub_ohci_fini_hw): Free memory.
10197 (grub_ohci_restore_hw): Reallocate memory.
10198 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
10199 Reset status change.
10200 (grub_uhci_detect_dev): Supply status_change.
10201 * bus/usb/usb.c (attach_hooks): New var.
10202 (grub_usb_device_attach): New function.
10203 (grub_usb_register_attach_hook_class): Likewise.
10204 (grub_usb_unregister_attach_hook_class): Likewise.
10205 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
10206 (grub_usb_add_hub): Reset connection changed bit.
10207 (attach_root_port): New function.
10208 (grub_usb_root_hub): Likewise.
10209 (poll_nonroot_hub): Likewise.
10210 (grub_usb_poll_devices): Likewise.
10211 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
10212 * disk/usbms.c (grub_usbms_open): Use device hooks.
10213 (grub_usbms_iterate) :Poll devices.
10214 (grub_usbms_finddevs): Split into ...
10215 (grub_usbms_attach): ... this ...
10216 (grub_usbms_attach): ... and this.
10217 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
10218 in detect_dev.
10219 (grub_usb_interface): New fields attached and detach_hook.
10220 (grub_usb_attach_hook_class): New type.
10221 (grub_usb_attach_desc): New struct.
10222 (grub_usb_register_attach_hook_class): New function.
10223 (grub_usb_unregister_attach_hook_class): Likewise.
10224 (grub_usb_poll_devices): Likewise.
10225 (grub_usb_device_attach): Likewise.
10226 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
10227 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
10228
10229 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
10230
10231 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
10232 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
10233 delta determination style. Works with most NetBSD partitions too.
10234
10235 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
10236
10237 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
10238 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
10239
10240 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
10241
10242 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
10243
10244 2010-07-14 Anton Blanchard <anton@samba.org>
10245
10246 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
10247 ET_DYN files.
10248
10249 2010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
10250
10251 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
10252
10253 2010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
10254
10255 * kern/partition.c (grub_partition_check_containment): New function to
10256 check that a partition is physically contained in a parent. Since
10257 offsets are relative (and non-negative), this reduces to checking that
10258 the partition ends before its parent.
10259 (grub_partition_map_probe): Discard out-of-range sub-partitions.
10260 (grub_partition_iterate): Likewise.
10261 * include/grub/partition.h (grub_partition_map): Slightly more detailed
10262 comments.
10263 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
10264 partitions that start before their parent, and add debug printfs.
10265
10266 2010-07-13 Colin Watson <cjwatson@ubuntu.com>
10267
10268 * Makefile.in (.SUFFIX): Spell correctly, as ...
10269 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
10270 bare module name without `.mod', e.g. `test') tried to invoke a
10271 Modula-2 compiler.
10272
10273 2010-07-13 Colin Watson <cjwatson@ubuntu.com>
10274
10275 * README: Point to the Info manual.
10276
10277 2010-07-13 Jiro SEKIBA <jir@unicus.jp>
10278
10279 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
10280 2nd superblock position from partition size.
10281
10282 2010-07-10 Colin Watson <cjwatson@ubuntu.com>
10283
10284 * Makefile.in (MAINTAINER_CLEANFILES): Remove
10285 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
10286 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
10287 outputs.
10288
10289 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
10290
10291 Restructure SCSI .id handling.
10292 Reported and tested by: Aleš Nesrsta.
10293
10294 * disk/ata.c (grub_atapi_close): Removed. All users updated.
10295 (grub_atapi_dev): Changed .name to "ata". New field .id.
10296 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
10297 (grub_usbms_dev): New field .id.
10298 * disk/scsi.c (grub_scsi_iterate): Generate name.
10299 (grub_scsi_open): Parse name.
10300 * include/grub/scsi.h (grub_make_scsi_id): New function.
10301 (grub_scsi_dev): Change iterate and open to number instead of naming
10302 busses. All users updated.
10303 (grub_scsi): Remove name. Add .bus.
10304
10305 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
10306
10307 * commands/help.c (grub_cmd_help): Fix a typo.
10308
10309 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
10310
10311 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
10312 Reported and tested by: Colin Watson.
10313
10314 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
10315
10316 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
10317 in this context.
10318
10319 2010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
10320
10321 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
10322
10323 2010-07-07 Colin Watson <cjwatson@ubuntu.com>
10324
10325 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
10326 indentation.
10327
10328 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
10329
10330 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
10331 and disk/raid6_recover.c.
10332 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
10333 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
10334
10335 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
10336
10337 * term/gfxterm.c (repaint_schedulded): Rename to ...
10338 (repaint_scheduled): ... this. Update all callers.
10339 (repaint_was_schedulded): Rename to ...
10340 (repaint_was_scheduled): ... this. Update all callers.
10341
10342 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
10343
10344 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
10345 which we expect to be handled by upper layers.
10346
10347 2010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
10348
10349 * bus/usb/usbhub.c: #include time.h header.
10350
10351 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
10352
10353 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
10354 entry_name also for entries without stat blocks (e.g. ".."); fixes
10355 corruption of the first entry in a directory.
10356
10357 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
10358
10359 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
10360 after setting gfxterm as the active terminal. GRUB_BACKGROUND
10361 doesn't work otherwise.
10362
10363 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
10364
10365 * docs/grub.texi (Features): Update list of supported file systems.
10366 (GNU/Linux): Update for GRUB 2.
10367 (Serial terminal): Remove mention of --disable-serial, which was a
10368 GRUB Legacy configure option. Update instructions to use
10369 `terminal_input' and `terminal_output' rather than `terminal'.
10370 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
10371 configuration' and `Installing GRUB using grub-install'.
10372 (Menu entry editor): Update for GRUB 2.
10373 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
10374 Document new -a, -u, and -v options.
10375 (initrd): New section.
10376 (initrd16): New section.
10377 (linux): New section.
10378 (linux16): New section.
10379 (search): The `var' argument to `--set' is optional.
10380 (GRUB only offers a rescue shell): Go into a little more detail on
10381 drive ordering.
10382
10383 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
10384
10385 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
10386
10387 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
10388
10389 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
10390 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
10391
10392 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
10393
10394 * util/i386/pc/grub-setup.c (setup): Rename prefix to
10395 install_prefix, in line with install_dos_part and install_bsd_part.
10396 Add new prefix variable, which is copied to install_prefix after
10397 comparing core.img in memory with the one read from disk in the
10398 no-embedding case, and use that rather than overwriting
10399 install_prefix immediately when installing to a partition.
10400 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
10401 Bicakci.
10402
10403 2010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
10404
10405 * configure.ac: Avoid == in test command, it's not portable.
10406 * util/grub.d/30_os-prober.in: Likewise.
10407
10408 2010-07-04 Colin Watson <cjwatson@ubuntu.com>
10409
10410 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
10411
10412 2010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
10413
10414 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
10415 multiple (top-level) partmaps.
10416
10417 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
10418
10419 * util/i386/efi/grub-install.in: Don't use empty grub_device.
10420 Reported by: Tino Keitel.
10421
10422 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
10423
10424 Bidi and diacritics support.
10425
10426 * Makefile.in (widthspec.bin): New target.
10427 (widthspec.h): Likewise.
10428 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
10429 * autogen.sh: Generate unidata.c.
10430 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
10431 * commands/ls.c (grub_ls_list_devices): Likewise.
10432 (grub_ls_list_files): Likewise.
10433 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
10434 (grub_mini_cmd_lsmod): Likewise.
10435 * commands/read.c: Likewise.
10436 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
10437 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
10438 * lib/arg.c (grub_arg_show_help): Likewise.
10439 * lib/crypto.c (grub_password_get): Likewise.
10440 * normal/auth.c (grub_username_get): Likewise.
10441 * normal/misc.c (grub_normal_print_device_info): Likewise.
10442 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
10443 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
10444 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
10445 (normal/charset.c_DEPENDENCIES): New variable.
10446 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
10447 (pkglib_MODULES): Remove charset.mod.
10448 (charset_mod_SOURCES): Removed.
10449 (charset_mod_CFLAGS): Likewise.
10450 (charset_mod_LDFLAGS): Likewise.
10451 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
10452 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
10453 and term/tparm.c.
10454 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
10455 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
10456 (kernel_img_HEADERS): Add terminfo.h.
10457 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
10458 Fill ->font. Reverse ascii bitmaps.
10459 (grub_font_get_xheight): New function.
10460 * font/font.c (grub_font_get_string_width): Moved from here ...
10461 * gfxmenu/font.c (grub_font_get_string_width): ... here.
10462 * font/font.c (grub_font_draw_string): Moved from here ...
10463 * gfxmenu/font.c (grub_font_draw_string): ... here.
10464 * font/font.c (grub_font_dup_glyph): New function.
10465 (grub_font_blit_glyph): Likewise.
10466 (grub_font_blit_glyph_mirror): Likewise.
10467 (blit_comb): Likewise.
10468 (grub_font_construct_dry_run): Likewise.
10469 (grub_font_get_constructed_device_width): Likewise.
10470 (grub_font_construct_glyph): Likewise.
10471 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
10472 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
10473 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
10474 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
10475 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
10476 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
10477 (grub_font_get_xheight): New proto.
10478 (grub_font_get_constructed_device_width): Likewise.
10479 (grub_font_construct_glyph): Likewise.
10480 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
10481 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
10482 * include/grub/font.h (grub_font_draw_string): Moved from here ...
10483 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
10484 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
10485 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
10486 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
10487 (grub_console_getcharwidth): Likewise.
10488 * include/grub/misc.h (grub_xputs): New proto.
10489 (grub_puts): Inlined.
10490 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
10491 (grub_normal_get_line_counter): Removed.
10492 (grub_install_newline_hook): Likewise.
10493 (grub_normal_get_char_counter): New proto.
10494 (grub_normal_reset_more): Likewise.
10495 (grub_xputs_normal): Likewise.
10496 * include/grub/powerpc/ieee1275/console.h: Removed.
10497 * include/grub/sparc64/ieee1275/console.h: Likewise.
10498 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
10499 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
10500 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
10501 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
10502 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
10503 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
10504 (grub_term_input): Pass reference to self. All users updated.
10505 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
10506 Pass reference to self. New fields normal_color, highlight_color and
10507 data. All users updated.
10508 (grub_putchar): Removed.
10509 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
10510 (grub_unicode_estimate_width): New function.
10511 (grub_term_getcharwidth): Add defaults.
10512 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
10513 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
10514 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
10515 (grub_cls): Remove EXPORT_FUNC.
10516 (grub_setcolorstate): Inline.
10517 (grub_newline_hook): Removed.
10518 * include/grub/terminfo.h: Rewritten. All users updated.
10519 * include/grub/unicode.h: New file.
10520 * include/grub/video.h (grub_video_signed_rect): New type.
10521 * kern/emu/console.c (grub_console_highlight_color): Removed.
10522 (grub_console_normal_color): Likewise.
10523 (grub_console_standard_color): Made static.
10524 (grub_ncurses_putchar): Remove mapping.
10525 (grub_ncurses_getcharwidth): Removed.
10526 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
10527 (grub_ncurses_setcolor): Removed.
10528 (grub_ncurses_getcolor): Likewise.
10529 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
10530 (grub_console_putchar): ... this.
10531 (grub_console_putchar): Handle argument difference.
10532 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
10533 console_init_early and console_init_lately.
10534 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
10535 * kern/misc.c (grub_puts): Removed.
10536 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
10537 (grub_vsnprintf_real): Remove str = NULL support.
10538 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
10539 * normal/charset.c (grub_utf8_to_ucs4): ... here.
10540 * kern/term.c (grub_putcode): Renamed to ...
10541 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
10542 (grub_putchar): Removed.
10543 (grub_xputs_dumb): New function.
10544 (grub_xputs): New variable.
10545 * lib/charset.c: Move from here ...
10546 * normal/charset.c: ... to here.
10547 (grub_ucs4_to_utf8): New function.
10548 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
10549 (join_types): New variable.
10550 (unpack_join): New function.
10551 (bidi_types): New variable.
10552 (unpack_bidi): New function.
10553 (get_bidi_type): Likewise.
10554 (get_join_type): Likewise.
10555 (is_mirrored): Likewise.
10556 (grub_unicode_get_comb_type): Likewise.
10557 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
10558 (is_type_after): Likewise.
10559 (grub_unicode_aglomerate_comb): Likewise.
10560 (bidi_line_wrap): Likewise.
10561 (grub_bidi_line_logical_to_visual): Likewise.
10562 (grub_bidi_logical_to_visual): Likewise.
10563 (grub_unicode_mirror_code): Likewise.
10564 (grub_unicode_shape_code): Likewise.
10565 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
10566 Don't use grub_putchar.
10567 * normal/main.c (grub_normal_init_page): Use grub_putcode.
10568 (grub_normal_reader_init): Likewise.
10569 (grub_xputs_saved): New variable.
10570 (GRUB_MOD_INIT): Set grub_xputs.
10571 (GRUB_MOD_FINI): Restore grub_xputs.
10572 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
10573 (menu_init): Avoid printing gfxmenu error.
10574 (show_menu): Use grub_normal_get_char_counter.
10575 * normal/menu_entry.c (update_screen): Fix out-of-array.
10576 (complete): Avoid NULL dereferencing.
10577 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
10578 * normal/menu_text.c (print_spaces): Removed.
10579 (grub_print_ucs4): Likewise.
10580 (grub_print_message_indented): Use grub_print_ucs4.
10581 (print_message): Use grub_putcode.
10582 (print_entry): Hanlde diacritics.
10583 * normal/term.c (term_state): New type.
10584 (grub_more_lines): Removed.
10585 (term_states): New variable.
10586 (grub_normal_line_counter): Renamed to ..
10587 (grub_normal_char_counter): ...this. All users updated.
10588 (grub_normal_get_line_counter): Renamed to ...
10589 (grub_normal_get_char_counter): ... this.
10590 (grub_normal_reset_more): New function.
10591 (process_newline): Removed.
10592 (print_more): New function.
10593 (grub_install_newline_hook): Removed.
10594 (map_code): New function.
10595 (grub_puts_terminal): Use grub_print_ucs4.
10596 (putglyph): New function.
10597 (putcode_real): Likewise.
10598 (grub_putcode): Use putcode_real.
10599 (get_maxwidth): New function.
10600 (get_startwidth): Likewise.
10601 (print_ucs4_terminal): Likewise.
10602 (find_term_state): Likewise.
10603 (put_glyphs_terminal): Likewise.
10604 (print_backlog): Likewise.
10605 (print_ucs4_real): Likewise.
10606 (grub_print_ucs4): Likewise.
10607 (grub_xputs_normal): Likewise.
10608 * term/efi/console.c (grub_console_putchar): Output diacritics.
10609 (grub_console_getcharwidth): Removed.
10610 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
10611 * term/gfxterm.c (clear_char): Free chars.
10612 (scroll_up): Avoid leaking memory.
10613 (grub_gfxterm_putchar): Support diacritics.
10614 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
10615 * term/i386/pc/console.c (grub_console_term_output): Declare as
10616 GRUB_TERM_CODE_TYPE_VGA.
10617 * term/i386/pc/vga.c (grub_vga_term): Declare as
10618 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
10619 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
10620 GRUB_TERM_CODE_TYPE_VGA.
10621 * term/i386/vga_common.c (map_char): Removed.
10622 (grub_console_putchar): Likewise.
10623 (grub_console_getcharwidth): Likewise.
10624 * term/ieee1275/ofconsole.c: Simplify using terminfo.
10625 (colors): Reordered to match terminfo.
10626 (grub_ofconsole_normal_color): Removed.
10627 (grub_ofconsole_writeesc): Likewise.
10628 (grub_ofconsole_highlight_color): Likewise.
10629 (grub_ofconsole_getcharwidth): Likewise.
10630 (grub_ofconsole_setcolorstate): Likewise.
10631 (grub_ofconsole_setcolor): Likewise.
10632 (grub_ofconsole_getcolor): Likewise.
10633 (grub_ofconsole_readkey): Renamed to ...
10634 (readkey): ... this. Remove escape sequence handling. Return -1 on no
10635 key.
10636 (grub_ofconsole_checkkey): Removed.
10637 (grub_ofconsole_getkey): Likewise.
10638 (grub_ofconsole_getxy): Likewise.
10639 (grub_ofconsole_gotoxy): Likewise.
10640 (grub_ofconsole_cls): Likewise.
10641 (grub_ofconsole_refresh): Likewise.
10642 (grub_ofconsole_terminfo_input): New struct.
10643 (grub_ofconsole_terminfo_output): Likewise.
10644 (grub_ofconsole_term_input): Use terminfo.
10645 (grub_ofconsole_term_output): Likewise.
10646 (grub_console_init): Split into ...
10647 (grub_console_init_early): ...this and ...
10648 (grub_console_init_lately): ...this. Use terminfo.
10649 (grub_ofconsole_putchar): Renamed to ...
10650 (put): ... this. Remove mapping.
10651 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
10652 * term/serial.c: Simplify using terminfo.
10653 (xpos): Removed.
10654 (ypos): Likewise.
10655 (keep_track): Likewise.
10656 (registered): Likewise.
10657 (input_buf): Likewise.
10658 (npending): Likewise.
10659 (serial_translate_key_sequence): Likewise.
10660 (fill_input_buf): Likewise.
10661 (grub_serial_checkkey): Likewise.
10662 (grub_serial_getkey): Likewise.
10663 (grub_serial_getxy): Likewise.
10664 (grub_serial_gotoxy): Likewise.
10665 (grub_serial_putchar): Likewise.
10666 (grub_serial_cls): Likewise.
10667 (grub_serial_setcolorstate): Likewise.
10668 (grub_serial_setcursor): Likewise.
10669 (serial_hw_init): Use serial_hw_fetch.
10670 (grub_serial_terminfo_input): New variable.
10671 (grub_serial_terminfo_output): Likewise.
10672 (grub_serial_term_input): Use terminfo.
10673 (grub_serial_term_output): Likewise.
10674 * term/terminfo.c (putstr): Use put.
10675 (grub_terminfo_all_free): New function
10676 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
10677 (grub_terminfo_output_register): New function.
10678 (grub_terminfo_output_unregister): Likewise.
10679 (grub_terminfo_getxy): Likewise.
10680 (grub_terminfo_readkey): Likewise.
10681 (grub_terminfo_checkkey): Likewise.
10682 (grub_terminfo_getkey): Likewise.
10683 (grub_terminfo_input_init): Likewise.
10684 (print_terminfo): Likewise.
10685 (grub_cmd_terminfo): Handle encoding.
10686 (grub_terminfo_gotoxy): Track position.
10687 (grub_terminfo_cls): Likewise.
10688 (grub_terminfo_putchar): Likewise.
10689 (grub_terminfo_setcolorstate): Handle colors
10690 (grub_terminfo_cursor_on): This ...
10691 (grub_terminfo_cursor_off): ... and this merged into ...
10692 (grub_terminfo_setcursor): ... this.
10693 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
10694 * unicode/ArabicShaping.txt: New file (imported from Unicode).
10695 * unicode/BidiMirroring.txt: Likewise.
10696 * unicode/UnicodeData.txt: Likewise.
10697 * unicode/COPYING: Likewise.
10698 * util/grub-editenv.c (grub_putchar): Removed.
10699 (grub_xputs_real): New function.
10700 (grub_xputs): New variable.
10701 * util/grub-fstest.c (grub_putchar): Removed.
10702 (grub_xputs_real): New function.
10703 (grub_xputs): New variable.
10704 * util/grub-mkdevicemap.c (grub_putchar): Removed.
10705 (grub_xputs_real): New function.
10706 (grub_xputs): New variable.
10707 * util/grub-probe.c (grub_putchar): Removed.
10708 (grub_xputs_real): New function.
10709 (grub_xputs): New variable.
10710 * util/grub-script-check.c (grub_putchar): Removed.
10711 (grub_xputs_real): New function.
10712 (grub_xputs): New variable.
10713 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
10714 (grub_xputs_real): New function.
10715 (grub_xputs): New variable.
10716 * util/import_unicode.py: New file.
10717 * util/grub-mkfont.c (ft_errmsgs): New array.
10718 (grub_glyph_info): Make bitmap a pointer.
10719 (file_formats): New type WIDTH_SPEC.
10720 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
10721 (options): Add width-spec.
10722 (help): Likewise.
10723 (add_char): Renamed to ...
10724 (add_glyph): ... this.
10725 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
10726 (glyph_replace): New type.
10727 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
10728 (add_char): New function.
10729 (add_subst): Likewise.
10730 (process_cursive): Likewise.
10731 (add_font): Handle GSUB.
10732 (write_font_width_spec): New function.
10733 (main): Sort glyphs.
10734 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
10735 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
10736 * kern/term.c (grub_cls): Moved from here...
10737 * normal/term.c (grub_cls): ... here.
10738
10739 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
10740
10741 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
10742 suitable for using within the format argument of printf when
10743 converting grub_size_t.
10744 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
10745 "x" to convert grub_size_t arguments.
10746
10747 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
10748
10749 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
10750 too long captions.
10751 (list_get_minimal_size): Take selection box into account.
10752
10753 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
10754
10755 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
10756 NULL font.
10757
10758 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
10759
10760 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
10761 devices when iterating over /dev/disk/by-id; they will be handled
10762 later if appropriate, which they aren't always (e.g. LVM).
10763
10764 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
10765
10766 * include/grub/misc.h (grub_reboot): Declare as noreturn.
10767 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
10768 fails.
10769 (grub_halt): Likewise.
10770 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
10771 reset-all fails.
10772 (grub_halt): Don't return, even if all of shut-down, power-off, and
10773 poweroff fail.
10774
10775 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
10776
10777 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
10778 arguments, not three.
10779
10780 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
10781
10782 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
10783 * util/grub.d/10_linux.in: Use it to check for LVM, so that
10784 LVM-on-RAID is handled correctly.
10785
10786 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
10787
10788 * docs/grub.texi (Changes from GRUB Legacy): New section.
10789 (Future): Fix typo.
10790
10791 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
10792
10793 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
10794 grub.d/README accidentally ends up executable for one reason or
10795 another. Ignore it.
10796
10797 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
10798
10799 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
10800 (gpt_partition_map_iterate): Support non-512B sectors.
10801
10802 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
10803
10804 * kern/efi/init.c (grub_efi_init): Disable watchdog.
10805 Tested by: Seth Goldberg.
10806
10807 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
10808
10809 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
10810 Properly align mbi.
10811 Reported by: Seth Goldberg.
10812
10813 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
10814
10815 * util/grub-mkrescue.in: Avoid module duplication.
10816
10817 2010-07-01 Sean Finney <seanius@seanius.net>
10818
10819 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
10820
10821 2010-07-01 Sean Finney <seanius@seanius.net>
10822
10823 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
10824
10825 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
10826
10827 * disk/lvm.c (grub_lvm_checkvalue): New function.
10828 (grub_lvm_check_flag): Likewise.
10829
10830 2010-07-01 Robert Millan <rmh@gnu.org>
10831
10832 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
10833 Support 'p' as partition separator on kernel of FreeBSD (used
10834 with GPT labels).
10835 (grub_util_biosdisk_get_grub_dev): Likewise.
10836
10837 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
10838
10839 Yeeloong firmware port.
10840
10841 * boot/mips/yeeloong/fwstart.S: New file.
10842 * bus/cs5536.c (gpiodump): New const.
10843 (set_io_space): New function.
10844 (set_iod): Likewise.
10845 (set_p2d): Likewise.
10846 (grub_cs5536_init_geode): Likewise.
10847 * commands/mips/yeeloong/lsspd.c: New file.
10848 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
10849 (serial_mod_SOURCES): New variable.
10850 (serial_mod_CFLAGS): Likewise.
10851 (serial_mod_LDFLAGS): Likewise.
10852 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
10853 term/terminfo.c and term/tparm.c.
10854 (pkglib_IMAGES): Add fwstart.img.
10855 (fwstart_img_SOURCES): New variable.
10856 (fwstart_img_CFLAGS): Likewise.
10857 (fwstart_img_ASFLAGS): Likewise.
10858 (fwstart_img_LDFLAGS): Likewise.
10859 (fwstart_img_FORMAT): Likewise.
10860 (pkglib_MODULES): Add lsspd.mod.
10861 (lsspd_mod_SOURCES): New variable.
10862 (lsspd_mod_CFLAGS): Likewise.
10863 (lsspd_mod_LDFLAGS): Likewise.
10864 (pkglib_MODULES): Add halt.mod.
10865 (halt_mod_SOURCES): New variable.
10866 (halt_mod_CFLAGS): Likewise.
10867 (halt_mod_LDFLAGS): Likewise.
10868 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
10869 (serial_mod_SOURCES): Removed.
10870 (serial_mod_CFLAGS): Likewise.
10871 (serial_mod_LDFLAGS): Likewise.
10872 * disk/ata.c (check_device): New function.
10873 (grub_ata_device_initialize): Use check_device.
10874 (grub_ata_iterate): Recheck devices.
10875 (grub_ata_open): Likewise.
10876 (grub_atapi_iterate): Likewise.
10877 (grub_atapi_open): Likewise.
10878 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
10879 (GRUB_ATA_CH1_PORT1): Likewise.
10880 (GRUB_ATA_CH0_PORT2): Likewise.
10881 (GRUB_ATA_CH1_PORT2): Likewise.
10882 * include/grub/mips/loongson.h: New file.
10883 * include/grub/mips/yeeloong/ec.h: Likewise.
10884 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
10885 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
10886 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
10887 * include/grub/misc.h (grub_halt): Declare as noreturn.
10888 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
10889 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
10890 (UART_ENABLE_FIFO_TRIGGER1): New definition.
10891 (UART_ENABLE_DTRRTS): Likewise.
10892 (UART_ENABLE_MODEM): Removed.
10893 (UART_ENABLE_OUT2): New const.
10894 * include/grub/term.h (grub_term_register_input_active): New function.
10895 (grub_term_register_output_active): Likewise.
10896 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
10897 argument.
10898 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
10899 (init_pci): New function.
10900 (grub_machine_init): Execute platform init when firmware. Init serial.
10901 (grub_halt): Implement.
10902 (grub_exit): Likewise.
10903 (grub_reboot): Likewise.
10904 * term/serial.c (serial_hw_init): Update macros.
10905 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
10906 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
10907 (image_targets): New target mipsel-yeeloong-flash.
10908 (generate_image): Support IMAGE_YEELOONG_FLASH.
10909 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
10910 (grub_video_sm712_setup): Init card.
10911 (grub_video_sm712_set_palette): Removed.
10912 * video/sm712_init.c: New file.
10913
10914 2010-06-30 Colin Watson <cjwatson@ubuntu.com>
10915
10916 * Makefile.in (install-local): Temporarily prepend $(builddir) to
10917 PATH when running help2man and then run it on the unadorned
10918 executable names, rather than passing $(builddir)/* paths to
10919 help2man. This avoids the build directory ending up in generated
10920 manual pages.
10921
10922 2010-06-29 Colin Watson <cjwatson@ubuntu.com>
10923
10924 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
10925 to avoid accidents when debugging with 'sh -x'.
10926 * util/grub-mkrescue.in: Likewise.
10927 * util/grub.d/00_header.in: Likewise.
10928 * util/grub.d/10_hurd.in: Likewise.
10929 * util/grub.d/10_kfreebsd.in: Likewise.
10930 * util/grub.d/10_linux.in: Likewise.
10931 * util/grub.d/10_netbsd.in: Likewise.
10932 * util/grub.d/10_windows.in: Likewise.
10933 * util/grub.d/20_linux_xen.in: Likewise.
10934 * util/grub.d/30_os-prober.in: Likewise.
10935 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
10936
10937 2010-06-29 Colin Watson <cjwatson@ubuntu.com>
10938
10939 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
10940 last character in the buffer.
10941 Reported by: Vladimir Serbinenko.
10942
10943 2010-06-29 Robert Millan <rmh@gnu.org>
10944
10945 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
10946 (Command-line and menu entry commands): Document `badram' command.
10947
10948 2010-06-28 Robert Millan <rmh@gnu.org>
10949
10950 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
10951 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
10952 command using ${GRUB_BADRAM} as parameter.
10953
10954 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
10955
10956 * docs/grub.texi (Device map): New section.
10957 (Themes): New section (stub).
10958 * Makefile.in (docs/grub.info): The info documentation now builds
10959 without errors. Make sure it stays that way.
10960
10961 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
10962
10963 Use normal parser for menu entries.
10964 Reported by: Thomas Frauendorfer
10965
10966 * include/grub/parser.h (grub_parser_execute): Don't export.
10967 * normal/menu.c (grub_menu_execute_entry_real): New function.
10968 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
10969
10970 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
10971
10972 * docs/grub.texi (Embedded configuration): New section (replacing
10973 old "Preset Menu" stub).
10974 (Images): New section.
10975 (configfile): Note that any menu entries defined in `file' are shown
10976 immediately.
10977
10978 2010-06-28 Josh Triplett <josh@joshtriplett.org>
10979
10980 * mmap/i386/pc/mmap_helper.S: Set CF on return.
10981
10982 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
10983
10984 * util/grub-install.in: Add --debug-image= option.
10985
10986 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
10987
10988 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
10989 possible on Linux.
10990
10991 * util/deviceiter.c (check_device): Rename to ...
10992 (check_device_readable_unique): ... this. Update all callers.
10993 Maintain and check a list of which devices (by canonicalized name)
10994 have already been seen.
10995 (clear_seen_devices): New function.
10996 (compare_file_names) [__linux__]: New function.
10997 (grub_util_iterate_devices): Clear the list of seen devices on exit
10998 and (just in case) on entry.
10999 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
11000 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
11001 seen-devices list, superseded by general code in check_device.
11002
11003 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
11004
11005 * commands/cat.c (options): New variable.
11006 (grub_cmd_cat): Parse options. If the --dos option is given, print
11007 DOS-style "\r\n" line endings as simple newlines (Debian bug
11008 #586358).
11009 (GRUB_MOD_INIT): Use extcmd.
11010 (GRUB_MOD_FINI): Likewise.
11011 * docs/grub.texi (cat): Document --dos.
11012
11013 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
11014
11015 XEN with Linux grub-mkconfig support.
11016
11017 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
11018 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
11019 GRUB_CMDLINE_XEN_DEFAULT.
11020 * util/grub.d/20_linux_xen.in: New file.
11021
11022 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
11023
11024 Initialise VGA video on qemu ourselves.
11025
11026 * boot/i386/qemu/boot.S: Don't call 0xc000.
11027 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
11028 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
11029 (kernel_img_HEADERS): Add pci.h.
11030 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
11031 * configure.ac: Force unifont on qemu and yeeloong.
11032 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
11033 (grub_vga_palette_write): Use correct register.
11034 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
11035 Call grub_qemu_init_cirrus.
11036 * kern/i386/qemu/init.c: New file.
11037 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
11038
11039 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
11040
11041 2010-06-26 Pavel Roskin <proski@gnu.org>
11042
11043 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
11044 13.
11045
11046 2010-06-26 Colin Watson <cjwatson@ubuntu.com>
11047
11048 * docs/grub.texi (Simple configuration): Explain that
11049 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
11050 set to `true' to disable their respective recovery entries, not
11051 merely set.
11052
11053 2010-06-26 Colin Watson <cjwatson@ubuntu.com>
11054
11055 Make the `source' command slightly faster.
11056
11057 * normal/main.c (grub_normal_execute): Don't re-read list files when
11058 nested.
11059
11060 2010-06-23 Colin Watson <cjwatson@ubuntu.com>
11061
11062 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
11063 field position and mask size to red fields from mode_info, not
11064 green.
11065 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
11066 Remove redundant tag->common.framebuffer_type assignment.
11067 Reported by: Seth Goldberg.
11068
11069 2010-06-23 Colin Watson <cjwatson@ubuntu.com>
11070
11071 Sync up other versions of the Linux loader with Robert Millan's
11072 change of 2010-01-09, "Make loader output a bit more user-friendly".
11073
11074 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
11075 grub_dprintf().
11076 (grub_cmd_linux): Likewise.
11077 (grub_cmd_initrd): Likewise.
11078 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
11079 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
11080
11081 2010-06-21 Colin Watson <cjwatson@ubuntu.com>
11082
11083 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
11084 larger than MEMORY_MAP_SIZE.
11085
11086 2010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
11087
11088 Fix parallel build.
11089
11090 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
11091 dependency.
11092 * script/parser.y: #include grub_script.tab.h header.
11093
11094 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
11095
11096 Support >3GiB and <16MiB RAM in i386-qemu.
11097
11098 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
11099 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
11100 (grub_lower_mem): Removed.
11101 (grub_upper_mem): Likewise.
11102 (mem_size): Made static.
11103 (above_4g): New variable.
11104 (grub_machine_mmap_init): Detect small mem_size and above_4g.
11105 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
11106 support.
11107
11108 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
11109
11110 Cirrus 5446 and Bochs video cards support.
11111
11112 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
11113 video_bochs.mod
11114 (video_cirrus_mod_SOURCES): New variable.
11115 (video_cirrus_mod_CFLAGS): Likewise.
11116 (video_cirrus_mod_LDFLAGS): Likewise.
11117 (video_bochs_mod_SOURCES): Likewise.
11118 (video_bochs_mod_CFLAGS): Likewise.
11119 (video_bochs_mod_LDFLAGS): Likewise.
11120 * include/grub/vga.h: New file.
11121 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
11122 (grub_video_fb_set_page_t): New type.
11123 (grub_video_fb_setup): New prototype.
11124 (grub_video_fb_swap_buffers): Likewise.
11125 (grub_video_fb_get_info_and_fini): Likewise.
11126 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
11127 (CRTC_DATA_PORT): Likewise.
11128 (CRTC_CURSOR): Likewise.
11129 (CRTC_CURSOR_ADDR_HIGH): Likewise.
11130 (CRTC_CURSOR_ADDR_LOW): Likewise.
11131 (CRTC_CURSOR_DISABLE): Likewise.
11132 (update_cursor): Use grub_vga_cr_write.
11133 (grub_vga_text_setcursor): Likewise.
11134 * video/bochs.c: New file.
11135 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
11136 (palette): Likewise.
11137 (palette_size): Likewise.
11138 (framebuffer): New variable.
11139 (grub_video_fb_init): Use 'framebuffer'.
11140 (grub_video_fb_fini): Likewise.
11141 (grub_video_fb_get_info): Likewise.
11142 (grub_video_fb_get_palette): Likewise.
11143 (grub_video_fb_set_palette): Likewise.
11144 (grub_video_fb_set_viewport): Likewise.
11145 (grub_video_fb_get_viewport): Likewise.
11146 (grub_video_fb_map_color): Likewise.
11147 (grub_video_fb_map_rgb): Likewise.
11148 (grub_video_fb_map_rgba): Likewise.
11149 (grub_video_fb_unmap_color): Likewise.
11150 (grub_video_fb_unmap_color_int): Likewise.
11151 (grub_video_fb_fill_rect): Likewise.
11152 (grub_video_fb_blit_bitmap): Likewise.
11153 (grub_video_fb_blit_render_target): Likewise.
11154 (grub_video_fb_scroll): Likewise.
11155 (grub_video_fb_create_render_target): Likewise.
11156 (grub_video_fb_doublebuf_blit_init): Likewise.
11157 (grub_video_fb_set_active_render_target): Handle doublebuffering.
11158 (doublebuf_pageflipping_update_screen): New function.
11159 (doublebuf_pageflipping_init): Likewise.
11160 (grub_video_fb_setup): Likewise.
11161 (grub_video_fb_swap_buffers): Likewise.
11162 (grub_video_fb_get_info_and_fini): Likewise.
11163 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
11164 All users updated.
11165 (doublebuf_pageflipping_commit): Restructured into ...
11166 (doublebuf_pageflipping_set_page): ... this.
11167 (doublebuf_pageflipping_update_screen): Removed.
11168 (doublebuf_pageflipping_init): Likewise.
11169 (double_buffering_init): Likewise.
11170 (grub_video_vbe_setup): Use grub_video_fb_setup.
11171 (grub_video_vbe_swap_buffers): Removed.
11172 (grub_video_vbe_set_active_render_target): Likewise.
11173 (grub_video_vbe_get_active_render_target): Likewise.
11174 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
11175 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
11176 grub_video_fb_set_active_render_target and
11177 grub_video_fb_get_active_render_target.
11178 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
11179 (SEQUENCER_DATA_PORT): Likewise.
11180 (MAP_MASK_REGISTER): Likewise.
11181 (CRTC_ADDR_PORT): Likewise.
11182 (CRTC_DATA_PORT): Likewise.
11183 (START_ADDR_HIGH_REGISTER): Likewise.
11184 (START_ADDR_LOW_REGISTER): Likewise.
11185 (GRAPHICS_ADDR_PORT): Likewise.
11186 (GRAPHICS_DATA_PORT): Likewise.
11187 (READ_MAP_REGISTER): Likewise.
11188 (INPUT_STATUS1_REGISTER): Likewise.
11189 (INPUT_STATUS1_VERTR_BIT): Likewise.
11190 (get_map_mask): Use grub_vga_sr_read.
11191 (set_map_mask): Use grub_vga_sr_write.
11192 (set_read_map): Use grub_vga_gr_write.
11193 (set_start_address): Use grub_vga_cr_write.
11194 * video/sm712.c (framebuffer): Remove leftover fields.
11195
11196 2010-06-20 Colin Watson <cjwatson@ubuntu.com>
11197
11198 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
11199 setting GRUB_VIDEO_BACKEND. Make it available as a user override
11200 instead. Replace the gfxterm backend check with a check that
11201 ${GRUB_PREFIX}/video.lst is non-empty.
11202 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
11203 again.
11204 (load_video): New generated function. Call it before loading
11205 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
11206 * util/grub.d/10_linux.in (linux_entry): Call load_video.
11207 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
11208 * docs/grub.texi (Simple configuration): Document
11209 GRUB_VIDEO_BACKEND.
11210
11211 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
11212
11213 Use video functions in linux and xnu loaders.
11214
11215 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
11216 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
11217 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
11218 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
11219 loader/i386/pc/linux.c.
11220 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
11221 (find_line_len): Removed.
11222 (find_framebuf): Likewise.
11223 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
11224 * loader/i386/efi/xnu.c: Removed.
11225 * loader/i386/pc/xnu.c: Moved from here...
11226 * loader/i386/xnu.c: ...here.
11227
11228 Enable priorities in video drivers.
11229
11230 * include/grub/video.h (grub_video_adapter_prio_t): New type.
11231 (grub_video_adapter): New field prio.
11232 (grub_video_register): Respect prio when inserting.
11233 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
11234 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
11235 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
11236 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
11237 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
11238 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
11239 * video/sm712.c (grub_video_sm712_adapter): Likewise.
11240
11241 Fix SDL driver ID.
11242
11243 * include/grub/video.h (grub_video_driver_id_t): New value
11244 GRUB_VIDEO_DRIVER_SDL.
11245 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
11246
11247 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
11248
11249 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
11250 argument to printf.
11251 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
11252
11253 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
11254
11255 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
11256 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
11257
11258 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
11259
11260 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
11261 directly, and recommend grub-install instead.
11262 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
11263
11264 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
11265
11266 Fix i386-pc prefix handling with nested partitions (Debian bug
11267 #585068). Note that the case where the core image is booted using
11268 multiboot and relocated from its original location still requires
11269 more work.
11270
11271 * kern/i386/pc/init.c (make_install_device): If the prefix starts
11272 with "(,", fill the boot drive in between those two characters, but
11273 expect that a full partition specification including partition map
11274 names will follow.
11275 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
11276 specified, write a prefix without the drive name but including a
11277 full partition specification.
11278
11279 2010-06-16 Colin Watson <cjwatson@ubuntu.com>
11280
11281 * util/grub-mkconfig.in: Ignore non-option arguments, for
11282 compatibility with older versions (before 2010-06-12) which did the
11283 same. In particular, this makes it easier to ship an update-grub
11284 wrapper which is compatible with that used with GRUB Legacy (Debian
11285 bug #586056).
11286
11287 2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
11288
11289 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
11290 for manual page generation.
11291
11292 2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
11293
11294 * po/POTFILES: Remove leftover commands/handler.c.
11295
11296 2010-06-14 Colin Watson <cjwatson@ubuntu.com>
11297
11298 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
11299 left this script non-functional.
11300
11301 2010-06-14 Colin Watson <cjwatson@ubuntu.com>
11302
11303 * docs/man/grub-emu.h2m: New file.
11304
11305 2010-06-13 Colin Watson <cjwatson@ubuntu.com>
11306
11307 * docs/grub.texi (Commands): Document reduced command set in rescue
11308 mode.
11309 (cpuid): New section.
11310
11311 2010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
11312
11313 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
11314 new partition naming style.
11315 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
11316
11317 2010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
11318
11319 Add "-o grub.iso" like cmdline options support.
11320
11321 * util/grub-install.in: Improve cmdline option parsing.
11322 * util/grub-mkconfig.in: Likewise.
11323 * util/grub-mkrescue.in: Likewise.
11324 * util/grub-reboot.in: Likewise.
11325 * util/grub-set-default.in: Likewise.
11326 * util/i386/efi/grub-install.in: Likewise.
11327 * util/ieee1275/grub-install.in: Likewise.
11328 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
11329
11330 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
11331
11332 * .bzrignore: Ignore 41_custom.
11333
11334 2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
11335
11336 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
11337
11338 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
11339
11340 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
11341 prototype declarations.
11342
11343 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
11344 generating fs, partmap, and video lists.
11345 * include/grub/fs.h (grub_fs_register): Omit prototype if
11346 GRUB_LST_GENERATOR is defined.
11347 * include/grub/partition.h (grub_partition_map_register): Likewise.
11348 * include/grub/video.h (grub_video_register): Likewise.
11349
11350 2010-06-12 Javier Martín <lordhabbit@gmail.com>
11351
11352 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
11353
11354 2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
11355
11356 * util/grub-mkrescue.in: Support --xorriso argument.
11357
11358 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
11359
11360 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
11361 Suggested by: Thomas Schmitt.
11362
11363 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
11364
11365 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
11366 Suggested by: Thomas Schmitt.
11367
11368 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
11369
11370 custom.cfg support.
11371
11372 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
11373 * util/grub.d/41_custom.in: New file.
11374
11375 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
11376
11377 * util/grub-mkrescue.in (make_image): Remove sh module, which has
11378 been merged back into normal.
11379
11380 2010-06-11 Colin Watson <cjwatson@ubuntu.com>
11381
11382 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
11383 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
11384
11385 2010-06-11 Colin Watson <cjwatson@ubuntu.com>
11386
11387 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
11388 when generating manual pages.
11389 * docs/man/grub-bin2h.h2m: New file.
11390 * docs/man/grub-editenv.h2m: New file.
11391 * docs/man/grub-fstest.h2m: New file.
11392 * docs/man/grub-install.h2m: New file.
11393 * docs/man/grub-macho2img.h2m: New file.
11394 * docs/man/grub-mkconfig.h2m: New file.
11395 * docs/man/grub-mkdevicemap.h2m: New file.
11396 * docs/man/grub-mkfont.h2m: New file.
11397 * docs/man/grub-mkimage.h2m: New file.
11398 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
11399 * docs/man/grub-mkrelpath.h2m: New file.
11400 * docs/man/grub-mkrescue.h2m: New file.
11401 * docs/man/grub-ofpathname.h2m: New file.
11402 * docs/man/grub-pe2elf.h2m: New file.
11403 * docs/man/grub-probe.h2m: New file.
11404 * docs/man/grub-reboot.h2m: New file.
11405 * docs/man/grub-script-check.h2m: New file.
11406 * docs/man/grub-set-default.h2m: New file.
11407 * docs/man/grub-setup.h2m: New file.
11408
11409 2010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
11410
11411 Use FOR_* macros instead of *_iterate whenever possible.
11412
11413 * commands/handler.c: Removed.
11414 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
11415 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
11416 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
11417 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
11418 (grub_probe_SOURCES): Remove kern/parser.c.
11419 (util/grub-script-check.c_DEPENDENCIES): Removed.
11420 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
11421 and grub_script_check_init.c.
11422 (grub_script_check_init.lst): Removed.
11423 (grub_script_check_init.h): Likewise.
11424 (grub_script_check_init.c): Likewise.
11425 (pkglib_MODULES): Remove handler.mod and sh.mod.
11426 (handler_mod_SOURCES): Removed.
11427 (handler_mod_CFLAGS): Likewise.
11428 (handler_mod_LDFLAGS): Likewise.
11429 (normal_mod_SOURCES): Remove normal/handler.c.
11430 Add script/main.c, script/script.c, script/execute.c,
11431 script/function.c, script/lexer.c, grub_script.tab.c
11432 and grub_script.yy.c.
11433 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
11434 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
11435 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
11436 (grub_setup_SOURCES): Remove kern/parser.c.
11437 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
11438 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
11439 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
11440 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
11441 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
11442 (grub_setup_SOURCES): Remove kern/parser.c.
11443 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
11444 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
11445 * include/grub/command.h (grub_command_iterate): Removed.
11446 (FOR_COMMANDS): New macro.
11447 * include/grub/dl.h (grub_dl): New member next.
11448 (grub_dl_iterate): Removed.
11449 (grub_dl_head): New variable declaration.
11450 (FOR_DL_MODULES): New macro.
11451 * include/grub/fs.h: Include list.h.
11452 (grub_fs): Make next first element.
11453 (grub_fs_list): New variable declaration.
11454 (grub_fs_register): Make inline.
11455 (grub_fs_unregister): Likewise.
11456 (grub_fs_iterate): Removed.
11457 (FOR_FILESYSTEMS): New macro.
11458 * include/grub/handler.h: Removed.
11459 * include/grub/list.h (grub_list_hook_t): Removed.
11460 (grub_list_test_t): Likewise.
11461 (grub_list_pop): Likewise.
11462 (grub_list_iterate): Likewise.
11463 (grub_list_insert): Likewise.
11464 (FOR_LIST_ELEMENTS): New macro.
11465 * include/grub/parser.h (grub_parser_class): Removed.
11466 (grub_parser_register): Likewise.
11467 (grub_parser_unregister): Likewise.
11468 (grub_parser_get_current): Likewise.
11469 (grub_parser_set_current): Likewise.
11470 (grub_register_rescue_parser): Likewise.
11471 (grub_rescue_parse_line): New function.
11472 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
11473 * include/grub/script_sh.h (grub_script_function_list): New variable
11474 declaration.
11475 (FOR_SCRIPT_FUNCTIONS): New macro.
11476 (grub_script_function_iterate): Removed.
11477 (grub_normal_parse_line): New prototype.
11478 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
11479 (FOR_DISABLED_TERM_INPUTS): Likewise.
11480 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
11481 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
11482 * include/grub/video.h (grub_video_adapter): Move 'next' to first
11483 element.
11484 (grub_video_register): Inline.
11485 (grub_video_unregister): Likewise.
11486 (grub_video_adapter_list): New variable declaration.
11487 (grub_video_iterate): Removed.
11488 (FOR_VIDEO_ADAPTERS): New macro.
11489 * kern/dl.c (grub_dl_list): Removed. All users updated.
11490 (grub_dl_iterate): Removed.
11491 * kern/fs.c (grub_fs_list): Make global.
11492 (grub_fs_register): Removed.
11493 (grub_fs_unregister): Likewise.
11494 (grub_fs_iterate): Likewise.
11495 * kern/handler.c: Removed.
11496 * kern/list.c (grub_list_pop): Removed.
11497 (grub_list_iterate): Likewise.
11498 (grub_list_insert): Likewise.
11499 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
11500 (grub_prio_list_insert): Don't use grub_list_insert.
11501 * kern/main.c (grub_register_rescue_parser): Don't call
11502 grub_register_rescue_parser.
11503 * kern/parser.c (grub_parser_class): Removed.
11504 (grub_parser_execute): Use grub_rescue_parse_line.
11505 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
11506 (grub_rescue_parser): Removed.
11507 (grub_register_rescue_parser): Likewise.
11508 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
11509 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
11510 (grub_auth_check_authentication): Likewise.
11511 * normal/completion.c (iterate_command): Removed.
11512 (grub_normal_do_completion): Use FOR_COMMANDS.
11513 * normal/handler.c: Removed.
11514 * normal/main.c (read_config_file): Remove parser changing.
11515 (grub_normal_execute): Don't call read_handler_list.
11516 (grub_normal_read_line_real): Statically allocate prompt.
11517 (grub_cmdline_run): Use grub_normal_parse_line.
11518 (GRUB_MOD_FINI): Don't call free_handler_list.
11519 * normal/menu_entry.c (run): Likewise.
11520 * script/function.c (grub_script_function_list): Make global.
11521 (grub_script_function_iterate): Removed.
11522 * script/main.c (grub_normal_parse_line): Make global.
11523 (grub_sh_parser): Removed.
11524 (GRUB_MOD_INIT): Likewise.
11525 (GRUB_MOD_FINI): Likewise.
11526 * tests/lib/functional_test.c (grub_functional_test): Use
11527 FOR_LIST_ELEMENTS.
11528 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
11529 (grub_test_run): Use FOR_LIST_ELEMENTS.
11530 * tests/lib/unit_test.c (main): Likewise.
11531 * util/deviceiter.c (grub_util_iterate_devices): Don't use
11532 grub_list_pop.
11533 * util/grub-fstest.c (grub_term_input_class): Removed.
11534 (grub_term_output_class): Likewise.
11535 * util/grub-probe.c: Likewise.
11536 * util/i386/pc/grub-setup.c: Likewise.
11537 * util/sparc64/ieee1275/grub-setup.c: Likewise.
11538 * util/grub-script-check.c (main): Don't call grub_init_all and
11539 grub_fini_all.
11540 * video/video.c (grub_video_adapter_list): Make global.
11541 (grub_video_register): Removed.
11542 (grub_video_unregister): Likewise.
11543 (grub_video_iterate): Likewise.
11544
11545 2010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
11546
11547 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
11548 reported by Henrique Ferreiro.
11549
11550 2010-06-09 Robert Millan <rmh@gnu.org>
11551
11552 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
11553 ones, when both are available.
11554
11555 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
11556
11557 Make --version uniform and avoid hard-coded program name.
11558
11559 * util/grub-mkimage.c (main): Use `program_name' instead of
11560 hard-coded string.
11561 * util/i386/pc/grub-setup.c (main): Likewise.
11562 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
11563 * util/grub-install.in: Save the basename of $0 in $self, and use the
11564 latter in informational messages. Use the same format for --version
11565 as the binary programs.
11566 * util/grub-mkconfig.in: Likewise.
11567 * util/grub-mkrescue.in: Likewise.
11568 * util/grub-reboot.in: Likewise.
11569 * util/grub-set-default.in: Likewise.
11570 * util/i386/efi/grub-install.in: Likewise.
11571 * util/ieee1275/grub-install.in: Likewise.
11572 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
11573
11574 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
11575
11576 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
11577 embedding area. Use <= instead of == when checking for non-emptiness.
11578
11579 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
11580
11581 * configure.ac: Add `.' to the directories searched for unifont.
11582
11583 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
11584
11585 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
11586 grub_script.yy.h.
11587
11588 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
11589
11590 * docs/grub.texi (History): Expand to cover GRUB 2.
11591 (Serial terminal): Refer to `terminal_input' and `terminal_output'
11592 commands, not `terminal'.
11593 (serial): Likewise.
11594 (terminal_input): New section.
11595 (terminal_output): New section.
11596 (uppermem): New section (stub).
11597 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
11598
11599 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
11600
11601 * docs/grub.texi (Security): Menu entries are unrestricted by
11602 default, not restricted to superusers as I had previously thought.
11603 Reword to account for this.
11604
11605 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
11606
11607 * kern/emu/misc.c (device_mapper_null_log): New function.
11608 (grub_device_mapper_supported): New function.
11609 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
11610 prototype.
11611 * kern/emu/hostdisk.c (find_partition_start): Check whether
11612 device-mapper is supported before trying to use it.
11613 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
11614
11615 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
11616
11617 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
11618 (File name syntax): Likewise.
11619 (help): --all is no longer supported in GRUB 2. Be more precise
11620 about pattern matching.
11621
11622 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
11623
11624 * normal/completion.c (grub_normal_do_completion): When completing
11625 arguments to "set" and the current word contains an equals sign,
11626 skip to after the equals sign before starting completion.
11627
11628 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
11629
11630 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
11631
11632 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
11633
11634 * docs/grub.texi (Network): New section.
11635 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
11636 `(nd)' as in GRUB Legacy.
11637 (pxe_unload): New section.
11638
11639 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
11640
11641 * docs/grub.texi (Troubleshooting): `echo' is not usually available
11642 in the rescue shell, so recommend using `set' instead. Thanks,
11643 Jordan Uggla.
11644
11645 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
11646
11647 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
11648 (password): New section.
11649 (password_pbkdf2): New section.
11650 (search): New section.
11651 (Security): New section.
11652 (Troubleshooting): New section, currently very incomplete.
11653 (Invoking grub-mkpasswd-pbkdf2): New section.
11654 (Internals): New section, currently very incomplete.
11655
11656 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
11657
11658 * util/grub.d/00_header.in: Add some more quoting (of
11659 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
11660 work again.
11661 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
11662
11663 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
11664
11665 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
11666 to `count', fixing variable shadowing that broke the -c option.
11667
11668 2010-06-05 Colin Watson <cjwatson@ubuntu.com>
11669
11670 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
11671 in case they contain spaces.
11672
11673 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
11674
11675 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
11676 "part_" to partmap module names, in line with grub-install.
11677 Reported by: Jindřich Makovička (Debian bug #584426).
11678
11679 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
11680
11681 * util/grub-mkimage.c: Make target-related error messages slightly
11682 more helpful; -O talks about "format". Explicitly point to the use
11683 of -O if no target is specified.
11684 Reported by: Didier Raboud (Debian bug #584415).
11685
11686 2010-06-03 Colin Watson <cjwatson@ubuntu.com>
11687
11688 * INSTALL: Document several build requirements for optional features
11689 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
11690
11691 2010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
11692
11693 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
11694 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
11695 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
11696
11697 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
11698
11699 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
11700 Thanks to Jordan Uggla for spotting this.
11701
11702 2010-06-02 Aleš Nesrsta <starous@volny.cz>
11703
11704 Finally make USB usable.
11705
11706 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
11707 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
11708 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
11709 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
11710 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
11711 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
11712 (GRUB_OHCI_FSMPS): Likewise.
11713 (GRUB_OHCI_PERIODIC_START): Likewise.
11714 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
11715 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
11716 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
11717 (GRUB_OHCI_SET_PORT_RESET): Likewise.
11718 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
11719 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
11720 (grub_ohci_transaction): Likewise.
11721 (grub_ohci_transfer): Improve condition detection algorithms.
11722 Handle toggle property. Program the transactions correctly.
11723 Improve error handling. Various important fixups.
11724 (grub_ohci_portstatus): Put register writes in right order.
11725 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
11726 (grub_uhci_transfer): Don't show "failed" message on success.
11727 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
11728 array.
11729 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
11730 determine its size.
11731 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
11732 before initialization is completed. Use IN direction for empty
11733 transfers. Use last_trans and compute toggle.
11734 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
11735 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
11736 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
11737 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
11738 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
11739 (grub_usb_device): Increase toggle to 256.
11740 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
11741 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
11742 GRUB_USBMS_SUBCLASS_SFF8070.
11743 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
11744 (grub_scsi_inquiry): New member page and alloc_length.
11745 (grub_scsi_request_sense): New structure.
11746 (grub_scsi_request_sense_data): Likewise.
11747 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
11748 control.
11749 * disk/scsi.c (grub_scsi_request_sense): New function.
11750 (grub_scsi_test_unit_ready): Likewise.
11751 (grub_scsi_inquiry): Fill new fields.
11752 (grub_scsi_read_capacity): Likewise.
11753 (grub_scsi_read10): Add request sense at the end.
11754 (grub_scsi_read12): Likewise.
11755 (grub_scsi_write10): Likewise.
11756 (grub_scsi_write12): Likewise.
11757 (grub_scsi_open): Add Test Unit Ready.
11758 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
11759 Support additional subclasses. Con't clear halt yet. Activate the
11760 proper config. Calculate LUNs correctly.
11761 (grub_usbms_transfer): Various important fixups.
11762
11763 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
11764
11765 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
11766 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
11767 (grub_ohci_fini_hw): New function.
11768 (grub_ohci_restore_hw): Likewise.
11769 (GRUB_MOD_INIT(ohci)): Register preboot hook.
11770 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
11771 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
11772
11773 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
11774
11775 Dedicated DMA allocations.
11776
11777 * bus/pci.c (grub_memalign_dma32): New function
11778 (grub_dma_free): Likewise.
11779 (grub_dma_get_virt): Likewise.
11780 (grub_dma_get_phys): Likewise.
11781 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
11782 (grub_ohci_pci_iter): Use dma32_alloc.
11783 (grub_ohci_transfer): Likewise.
11784 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
11785 (grub_usb_bulk_readwrite): Likewise.
11786 * include/grub/pci.h: Add declarations.
11787
11788 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
11789
11790 CS5536 support.
11791
11792 * bus/cs5536.c: New file.
11793 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
11794 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
11795 (cs5536_mod_SOURCES): New variable.
11796 (cs5536_mod_CFLAGS): Likewise.
11797 (cs5536_mod_LDFLAGS): Likewise.
11798 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
11799 machine/pci.h.
11800 (kernel_img_SOURCES): Add bus/cs5536.c.
11801 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
11802 usb_keyboard.mod.
11803 (usb_mod_SOURCES): New variable.
11804 (usb_mod_CFLAGS): New variable.
11805 (usb_mod_LDFLAGS): New variable.
11806 (usbtest_mod_SOURCES): New variable.
11807 (usbtest_mod_CFLAGS): New variable.
11808 (usbtest_mod_LDFLAGS): New variable.
11809 (ohci_mod_SOURCES): New variable.
11810 (ohci_mod_CFLAGS): New variable.
11811 (ohci_mod_LDFLAGS): New variable.
11812 (usbms_mod_SOURCES): New variable.
11813 (usbms_mod_CFLAGS): New variable.
11814 (usbms_mod_LDFLAGS): New variable.
11815 (usb_keyboard_mod_SOURCES): New variable.
11816 (usb_keyboard_mod_CFLAGS): New variable.
11817 (usb_keyboard_mod_LDFLAGS): New variable.
11818 * include/grub/smbus.h: New file.
11819 * include/grub/cs5536.h: New file.
11820
11821 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
11822
11823 * util/grub.d/00_header.in: Add safety check to make sure that
11824 ${locale_dir} exists before trying to probe it.
11825
11826 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
11827
11828 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
11829 per the GNU Coding Standards; this is now too obscure to be worth
11830 documenting.
11831 (QNX): Likewise.
11832 (chainloader): Remove cross-reference to `SCO UnixWare'.
11833
11834 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
11835
11836 * docs/grub.texi (Chain-loading): New section.
11837 (DOS/Windows): New section, borrowed from GRUB Legacy with details
11838 adjusted for GRUB 2.
11839 (SCO UnixWare): Likewise.
11840 (QNX): Likewise.
11841 (chainloader): Add reference to `Block list syntax'.
11842 (drivemap): New section.
11843 (parttool): New section.
11844
11845 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
11846
11847 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
11848 the grub shell'.
11849 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
11850 (Installing GRUB using grub-install): Remove reference to the grub
11851 shell; mention `grub-mkimage' and `grub-setup' instead.
11852 (Invoking grub-install): Likewise.
11853 (Interface): Add reference to `Menu entry editor'.
11854 (serial): Remove `--device' option.
11855
11856 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
11857
11858 * docs/grub.texi (Configuration): New section, documenting
11859 configuration file generation using grub-mkconfig. I've left a slot
11860 for documenting the full shell scripting format but have not yet
11861 started on writing that up.
11862 (Invoking grub-mkconfig): New section.
11863
11864 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
11865
11866 * docs/grub.texi (direntry): Remove grub-terminfo reference.
11867 (GNU GRUB manual): Likewise.
11868 (General commands): Update description of `terminfo' for GRUB 2.
11869
11870 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
11871
11872 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
11873 (GRUB_MOD_INIT): Fix capitalisation.
11874 * docs/grub.texi (Command-line and menu entry commands): Document
11875 gettext and gptsync commands.
11876
11877 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
11878
11879 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
11880 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
11881
11882 2010-06-01 Colin Watson <cjwatson@ubuntu.com>
11883
11884 Add btrfs probing support, currently only in the single-device case.
11885
11886 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
11887 function.
11888 (grub_guess_root_device): Call find_root_device_from_mountinfo
11889 before looking in /dev.
11890
11891 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
11892
11893 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
11894 GRUB_DISK_SIZE_UNKNOWN.
11895 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
11896
11897 2010-05-31 Jiro SEKIBA <jir@unicus.jp>
11898
11899 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
11900 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
11901 corrupted or not synced properly.
11902
11903 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
11904
11905 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
11906 Reported by: Seth Goldberg.
11907
11908 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
11909
11910 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
11911 addition of dest.
11912 Reported by: Seth Goldberg.
11913
11914 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
11915
11916 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
11917 Reported by: Seth Goldberg.
11918
11919 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
11920
11921 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
11922 64-bit address as signed on MIPS.
11923
11924 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
11925
11926 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
11927 to the empty string.
11928
11929 2010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
11930
11931 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
11932
11933 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
11934 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
11935 * kern/misc.c (__enable_execute_stack): Disable on
11936 GRUB_MACHINE_EMU.
11937
11938 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
11939
11940 Make grub-probe work with symbolic links under /dev/mapper as well
11941 as with real block devices. The Linux world seems to be (at best)
11942 in transition here, and GRUB shouldn't get caught in the middle.
11943
11944 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
11945 /dev/mapper.
11946
11947 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
11948
11949 * util/grub-script-check.c (main): Ensure defined behaviour on empty
11950 input files (in which case exit zero).
11951
11952 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
11953
11954 * kern/emu/misc.c (canonicalize_file_name): realpath can still
11955 return NULL for various reasons even if it has a maximum-length
11956 buffer: for example, there might be a symlink loop, or the path
11957 might exceed PATH_MAX. If this happens, return NULL.
11958
11959 2010-05-27 Robert Millan <rmh@gnu.org>
11960
11961 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
11962 partmap module to handle cross-partmap setups.
11963 Reported by Orestes Mas. Gràcies!
11964
11965 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
11966
11967 * util/grub-mkrescue.in: Initialise override_dir rather than
11968 assuming that it's unset or empty in the environment.
11969
11970 2010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
11971
11972 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
11973 variable index into p_index to suppress a warning with -Wshadow.
11974
11975 2010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
11976
11977 * INSTALL: Added flex >= 2.5.35 requirement.
11978
11979 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
11980
11981 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
11982
11983 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
11984
11985 cmostest support.
11986
11987 * commands/i386/cmostest.c: New file.
11988 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
11989 (cmostest_mod_SOURCES): New variable.
11990 (cmostest_mod_CFLAGS): Likewise.
11991 (cmostest_mod_LDFLAGS): Likewise.
11992 * conf/i386-pc.rmk: Likewise.
11993 * docs/grub.texi (Vendor power-on keys): New section.
11994 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
11995 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
11996 and GRUB_BUTTON_CMOS_ADDRESS.
11997 * util/grub.d/00_header.in: Handle powering-on by separate button.
11998
11999 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
12000
12001 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
12002 Removed drawing_scrollbar argument. All users updated
12003 Fixes #29792.
12004 Reported by Jo Shields
12005
12006 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
12007
12008 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
12009 buffer since gfxterm handles double repaint.
12010
12011 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
12012
12013 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
12014 * term/gfxterm.c (real_scroll): Likewise.
12015
12016 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
12017
12018 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
12019 before calling BIOS.
12020
12021 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
12022
12023 * include/grub/i18n.h: Always enable grub_gettext.
12024
12025 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
12026
12027 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
12028 partition naming style.
12029
12030 2010-05-21 Colin Watson <cjwatson@ubuntu.com>
12031
12032 * util/grub-mkconfig.in: Fix handling of -o so that it works when
12033 not the first option.
12034
12035 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
12036
12037 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
12038
12039 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
12040
12041 * util/misc.c: Move inclusion of <limits.h> to ...
12042 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
12043
12044 2010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
12045
12046 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
12047 Fix merge error in NetBSD code.
12048 (find_partition_start) [__NetBSD__]: Likewise.
12049
12050 2010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
12051
12052 Fix grub-mkrescue usage unit testing.
12053
12054 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
12055
12056 2010-05-18 Christian Franke <franke@computer.org>
12057
12058 * util/grub.d/10_windows.in: Use path names instead of
12059 drive letters to prevent warning from Cygwin 1.7.
12060 Add drivemap command to menuentry if needed.
12061
12062 2010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
12063
12064 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
12065 gnumach and gnumach.gz.
12066
12067 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
12068
12069 * include/grub/i18n.h (gettext): Inline instead of using #define.
12070 (grub_gettext): Likewise.
12071 (_): Likewise.
12072
12073 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
12074
12075 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
12076 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
12077 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
12078 (main): Add a slash after pkglibdirroot.
12079
12080 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
12081
12082 * util/grub-install.in: Add missing "in" keyword.
12083
12084 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
12085
12086 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
12087 Reported by: Seth Goldberg.
12088
12089 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
12090
12091 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
12092
12093 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
12094
12095 * configure.ac: Check for Linux device-mapper support.
12096
12097 * util/hostdisk.c (device_is_mapped): New function.
12098 (find_partition_start): New function, partly broken out from
12099 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
12100 device-mapper support added.
12101 (linux_find_partition): Use find_partition_start.
12102 (convert_system_partition_to_system_disk): Add `st' argument.
12103 Support Linux /dev/mapper/* devices if device-mapper support is
12104 available; only DM-RAID devices are understood at present.
12105 (find_system_device): Add `st' argument. Pass it to
12106 convert_system_partition_to_system_disk.
12107 (grub_util_biosdisk_get_grub_dev): Pass stat result to
12108 find_system_device and convert_system_partition_to_system_disk. Use
12109 find_partition_start.
12110
12111 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
12112 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
12113 * util/deviceiter.c [__linux__]: Define MINOR.
12114 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
12115 * util/mkdevicemap.c (grub_putchar): New function.
12116 (grub_getkey): New function.
12117 (grub_refresh): New function.
12118 (main): Set debug=all if -v -v is used.
12119
12120 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
12121
12122 Fix build with non-GNU libcs.
12123
12124 * util/misc.c (canonicalize_file_name): Move to ...
12125 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
12126 grub_make_system_path_relative_to_its_root.
12127
12128 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
12129
12130 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
12131 we handle finding grub-mkimage. Default to finding grub-mkimage in
12132 ${bindir} with program_transform_name applied, and provide a
12133 --grub-mkimage option to override this.
12134
12135 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
12136
12137 Remove grub-mkisofs.
12138
12139 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
12140 (grub_mkisofs_SOURCES): Removed.
12141 (grub_mkisofs_CFLAGS): Removed.
12142 * util/mkisofs/defaults.h: Removed.
12143 * util/mkisofs/eltorito.c: Likewise.
12144 * util/mkisofs/exclude.h: Likewise.
12145 * util/mkisofs/hash.c: Likewise.
12146 * util/mkisofs/include/: Likewise.
12147 * util/mkisofs/include/fctldefs.h: Likewise.
12148 * util/mkisofs/include/mconfig.h: Likewise.
12149 * util/mkisofs/include/prototyp.h: Likewise.
12150 * util/mkisofs/include/statdefs.h: Likewise.
12151 * util/mkisofs/iso9660.h: Likewise.
12152 * util/mkisofs/joliet.c: Likewise.
12153 * util/mkisofs/match.c: Likewise.
12154 * util/mkisofs/match.h: Likewise.
12155 * util/mkisofs/mkisofs.c: Likewise.
12156 * util/mkisofs/mkisofs.h: Likewise.
12157 * util/mkisofs/msdos_partition.h: Likewise.
12158 * util/mkisofs/multi.c: Likewise.
12159 * util/mkisofs/name.c: Likewise.
12160 * util/mkisofs/rock.c: Likewise.
12161 * util/mkisofs/tree.c: Likewise.
12162 * util/mkisofs/write.c: Likewise.
12163
12164 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
12165
12166 Unify grub-mkimage accross platforms.
12167
12168 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
12169 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
12170 (grub_mkelfimage_SOURCES): Removed.
12171 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
12172 (util/grub-mkimage.c_DEPENDENCIES): .. this.
12173 (bin_UTILITIES): Add grub-mkimage.
12174 (grub_mkimage_SOURCES): New variable.
12175 (kernel_img_HEADERS): Remove machine/kernel.h.
12176 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
12177 (pkglib_PROGRAMS): Add kernel.img.
12178 (kernel_img_HEADERS): Add machine/kernel.h.
12179 (kernel_img_FORMAT): Removed.
12180 (bin_UTILITIES): Remove grub-mkimage.
12181 (grub_mkimage_SOURCES): Removed.
12182 (grub_mkimage_CFLAGS): Likewise.
12183 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
12184 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
12185 (pkglib_PROGRAMS): Add kernel.img.
12186 (bin_UTILITIES): Remove grub-mkimage.
12187 (grub_mkimage_SOURCES): Removed.
12188 (grub_mkimage_CFLAGS): Likewise.
12189 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
12190 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
12191 (pkglib_PROGRAMS): Add kernel.img.
12192 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
12193 (pkglib_PROGRAMS): Add kernel.img.
12194 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
12195 (grub_mkimage_SOURCES): Removed.
12196 (grub_mkimage_CFLAGS): Likewise.
12197 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
12198 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
12199 (pkglib_PROGRAMS): Add kernel.img.
12200 (bin_UTILITIES): Remove grub-mkimage.
12201 (grub_mkimage_SOURCES): Removed.
12202 (grub_mkimage_CFLAGS): Likewise.
12203 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
12204 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
12205 (grub_mkimage_SOURCES): Removed.
12206 (grub_mkimage_CFLAGS): Likewise.
12207 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
12208 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
12209 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
12210 (grub_pe32_optional_header): ... this.
12211 (grub_pe64_optional_header): ... and this. All users updated.
12212 (GRUB_PE32_PE32_MAGIC): Split into ..
12213 (GRUB_PE32_PE32_MAGIC): .. this.
12214 (GRUB_PE32_PE64_MAGIC): .. and this.
12215 (GRUB_PE32_SIGNATURE_SIZE): New definition.
12216 * include/grub/elf.h (PT_GNU_STACK): New definition.
12217 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
12218 * include/grub/i386/efi/kernel.h: Likewise.
12219 * include/grub/i386/kernel.h: Likewise.
12220 * include/grub/i386/pc/kernel.h: Likewise.
12221 * include/grub/i386/qemu/boot.h: Likewise.
12222 * include/grub/mips/kernel.h: Likewise.
12223 * include/grub/mips/qemu-mips/kernel.h: Likewise.
12224 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
12225 * include/grub/powerpc/kernel.h: Likewise.
12226 * include/grub/sparc64/ieee1275/boot.h: Likewise.
12227 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
12228 * include/grub/sparc64/kernel.h: Likewise.
12229 * include/grub/x86_64/efi/kernel.h: Likewise.
12230 * include/grub/x86_64/kernel.h: Likewise.
12231 * include/grub/offsets.h: New file.
12232 * include/grub/kernel.h (grub_module_info): Split into ...
12233 (grub_module_info32): ... this.
12234 (grub_module_info64): ... and this.
12235 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
12236 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
12237 (grub_boot_blocklist): Moved from here ...
12238 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
12239 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
12240 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
12241 * include/grub/types.h (grub_target_to_host16): Removed.
12242 (grub_target_to_host32): Likewise.
12243 (grub_target_to_host64): Likewise.
12244 (grub_host_to_target16): Likewise.
12245 (grub_host_to_target32): Likewise.
12246 (grub_host_to_target64): Likewise.
12247 (grub_host_to_target_addr): Likewise.
12248
12249 Support grub-mkrescue for efi, coreboot and qemu.
12250
12251 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
12252 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
12253 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
12254 * util/grub-mkrawimage.c: Moved from here ...
12255 * util/grub-mkimage.c: ... here. All users updated.
12256 (ALIGN_ADDR): Use image_target.
12257 (TARGET_NO_FIELD): New const.
12258 (image_target_desc): New type.
12259 (image_targets): New array.
12260 (grub_target_to_host64): Use image_target.
12261 (grub_target_to_host32): Likewise.
12262 (grub_target_to_host16): Likewise.
12263 (grub_host_to_target64): Likewise.
12264 (grub_host_to_target32): Likewise.
12265 (grub_host_to_target16): Likewise.
12266 (grub_host_to_target_addr): Likewise.
12267 (generate_image): Handle multiimage.
12268 (main): Require -O parameter. All users updated.
12269 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
12270 util/efi/grub-mkimage.c
12271 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
12272 New option --rom-directory.
12273 Use xorriso.
12274 * util/i386/efi/grub-mkimage.c: Removed.
12275 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
12276 (grub_target_to_host32): Likewise.
12277 (grub_target_to_host64): Likewise.
12278 (grub_host_to_target16): Likewise.
12279 (grub_host_to_target32): Likewise.
12280 (grub_host_to_target64): Likewise.
12281 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
12282 (grub_target_to_host32): Likewise.
12283 (grub_target_to_host64): Likewise.
12284 (grub_host_to_target16): Likewise.
12285 (grub_host_to_target32): Likewise.
12286 (grub_host_to_target64): Likewise.
12287
12288 2010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
12289
12290 Source tree is reorganized for emu build.
12291
12292 * include/grub/util/console.h: Move from here...
12293 * include/grub/emu/console.h: ...to here.
12294 * include/grub/util/getroot.h: Move from here...
12295 * include/grub/emu/getroot.h: ...to here.
12296 * include/grub/util/hostdisk.h: Move from here...
12297 * include/grub/emu/hostdisk.h: ...to here.
12298 * util/console.c: Move from here...
12299 * kern/emu/console.c: ...to here.
12300 * util/getroot.c: Move from here...
12301 * kern/emu/getroot.c: ...to here.
12302 * util/grub-emu.c: Move from here...
12303 * kern/emu/main.c: ...to here.
12304 * util/hostdisk.c: Move from here...
12305 * kern/emu/hostdisk.c: ...to here.
12306 * util/hostfs.c: Move from here...
12307 * kern/emu/hostfs.c: ...to here.
12308 * util/mm.c: Move from here...
12309 * kern/emu/mm.c: ...to here.
12310 * util/pci.c: Move from here...
12311 * bus/emu/pci.c: ...to here.
12312 * util/sdl.c: Move from here...
12313 * video/emu/sdl.c: ...to here.
12314 * util/time.c: Move from here...
12315 * kern/emu/time.c: ...to here.
12316 * util/usb.c: Move from here...
12317 * bus/usb/emu/usb.c: ...to here.
12318
12319 * include/grub/emu/misc.h: New header for grub-emu functions.
12320 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
12321
12322 * conf/any-emu.rmk: Rule updates for above renames.
12323 * conf/common.rmk: Likewise.
12324 * conf/i386-pc.rmk: Likewise.
12325 * conf/i386-qemu.rmk: Likewise.
12326 * conf/mips.rmk: Likewise.
12327 * conf/sparc64-ieee1275.rmk: Likewise.
12328 * conf/x86-efi.rmk: Likewise.
12329
12330 * disk/lvm.h: #include updates for above renames.
12331 * util/grub-mkrelpath.c: Likewise.
12332 * util/grub-probe.c: Likewise.
12333 * util/i386/pc/grub-setup.c: Likewise.
12334 * util/sparc64/ieee1275/grub-setup.c: Likewise.
12335 * kern/emu/console.c: Likewise.
12336 * kern/emu/getroot.c: Likewise.
12337 * kern/emu/hostdisk.c: Likewise.
12338 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
12339
12340 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
12341 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
12342 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
12343 * util/misc.c: Remove grub-emu functions.
12344
12345 2010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
12346
12347 Fix gfxmenu crash.
12348 Reported by: Thorsten Grützmacher.
12349
12350 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
12351 timeout hook.
12352 (circprog_set_property): Register and unregister timeout hook.
12353 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
12354 (label_destroy): Free template. and unregister hook.
12355 (label_set_state): New function.
12356 (label_set_property): Handle templates and hooks.
12357 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
12358 timeout hook.
12359 (progress_bar_set_property): Register and unregister timeout hook.
12360 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
12361 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
12362 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
12363 (update_timeout_visit): Removed.
12364 (update_timeouts): New function.
12365 (redraw_timeouts): Likewise.
12366 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
12367 (grub_gfxmenu_clear_timeout): Likewise.
12368 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
12369 (grub_gfxmenu_timeout_notify): Likewise.
12370 (grub_gfxmenu_timeout_notifications): New external variable.
12371 (grub_gfxmenu_timeout_register): New function.
12372 (grub_gfxmenu_timeout_unregister): Likewise.
12373
12374 2010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
12375
12376 Transform (broken) vga terminal into (working) vga video driver.
12377
12378 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
12379 video/i386/pc/vga.c.
12380 * include/grub/video.h (grub_video_driver_id):
12381 Add GRUB_VIDEO_DRIVER_VGA.
12382 * term/i386/pc/vga.c: Renamed to ...
12383 * video/i386/pc/vga.c: ...this
12384 (DEBUG_VGA): Removed.
12385 (CHAR_WIDTH): Likewise.
12386 (CHAR_HEIGHT): Likewise.
12387 (TEXT_WIDTH): Likewise.
12388 (TEXT_HEIGHT): Likewise.
12389 (DEFAULT_FG_COLOR): Likewise.
12390 (DEFAULT_BG_COLOR): Likewise.
12391 (colored_char): Likewise.
12392 (xpos): Likewise.
12393 (ypos): Likewise.
12394 (cursor_state): Likewise.
12395 (fg_color): Likewise.
12396 (bg_color): Likewise.
12397 (text_buf): Likewise.
12398 (page): Likewise.
12399 (font): Likewise.
12400 (framebuffer): New variable.
12401 (set_read_map): Disabled.
12402 (setup): New variable.
12403 (is_target): Likewise.
12404 (grub_vga_mod_init): Likewise.
12405 (grub_vga_mod_fini): Likewise.
12406 (check_vga_mem): Likewise.
12407 (write_char): Likewise.
12408 (write_cursor): Likewise.
12409 (scroll_up): Likewise.
12410 (grub_vga_putchar): Likewise.
12411 (grub_vga_getcharwidth): Likewise.
12412 (grub_vga_getwh): Likewise.
12413 (grub_vga_getxy): Likewise.
12414 (grub_vga_gotoxy): Likewise.
12415 (grub_vga_cls): Likewise.
12416 (grub_vga_setcolorstate): Likewise.
12417 (grub_vga_setcursor): Likewise.
12418 (grub_video_vga_init): New function.
12419 (grub_video_vga_setup): Likewise.
12420 (grub_video_vga_fini): Likewise.
12421 (update_target): Likewise.
12422 (grub_video_vga_blit_bitmap): Likewise.
12423 (grub_video_vga_blit_render_target): Likewise.
12424 (grub_video_vga_set_active_render_target): Likewise.
12425 (grub_video_vga_get_active_render_target): Likewise.
12426 (grub_video_vga_swap_buffers): Likewise.
12427 (grub_video_vga_set_palette): Likewise.
12428 (grub_video_vga_get_info_and_fini): Likewise.
12429 (grub_vga_term): Removed.
12430 (grub_video_vga_adapter): New variable.
12431 (GRUB_MOD_INIT): Register a video driver instead of terminal.
12432 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
12433
12434 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
12435
12436 * video/readers/jpeg.c: Indented.
12437
12438 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
12439
12440 Various jpeg cleanups.
12441
12442 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
12443 (grub_jpeg_decode_quan_table): Use sizeof.
12444 (grub_jpeg_decode_du): Use ARRAY_SIZE.
12445
12446 2010-05-05 Peter Hurley <No e-mail available> (tiny change)
12447
12448 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
12449 tables. Ignore non-last ac bit.
12450 (grub_jpeg_decode_quan_table): Likewise.
12451
12452 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
12453
12454 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
12455 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
12456 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
12457 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
12458 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
12459 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
12460
12461 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
12462
12463 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
12464 error.
12465
12466 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
12467
12468 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
12469
12470 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
12471
12472 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
12473 condition.
12474
12475 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
12476
12477 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
12478 part.
12479
12480 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
12481
12482 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
12483 pointers.
12484
12485 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
12486
12487 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
12488
12489 2010-05-01 Christian Franke <franke@computer.org>
12490
12491 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
12492 Remove broken Cygwin path conversion.
12493 * util/misc.c: [__CYGWIN__] Add include and define.
12494 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
12495 for Cygwin 1.7.
12496 (make_system_path_relative_to_its_root): Simplify loop, replace early
12497 return by break.
12498 [__CYGWIN__] Add conversion to win32 path.
12499 Include "/" case in trailing slash removal.
12500
12501 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
12502
12503 * kern/main.c (grub_load_config): Fix copy-pasted comment.
12504 Reported by: Seth Goldberg
12505
12506 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
12507
12508 * commands/help.c (grub_cmd_help): Fix a typo.
12509 Reported by: Seth Goldberg
12510
12511 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
12512
12513 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
12514 name and add N_.
12515 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
12516 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
12517 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
12518 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
12519 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
12520 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
12521 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
12522 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
12523 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
12524 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
12525 * normal/context.c (GRUB_MOD_INIT): Likewise.
12526 * normal/main.c (GRUB_MOD_INIT): Likewise.
12527 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
12528 * term/serial.c (GRUB_MOD_INIT): Likewise.
12529 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
12530
12531 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
12532
12533 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
12534 extra == 0.
12535
12536 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
12537
12538 * commands/iorw.c: New file.
12539 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
12540 (iorw_mod_SOURCES): New variable.
12541 (iorw_mod_CFLAGS): Likewise.
12542 (iorw_mod_LDFLAGS): Likewise.
12543
12544 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
12545
12546 Hotkey support
12547
12548 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
12549 * normal/main.c (hotkey_aliases): New variable.
12550 (grub_normal_add_menu_entry): Parse "--hotkey".
12551 * normal/menu_text.c (run_menu): Handle hotkeys.
12552
12553 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
12554
12555 * kern/i386/coreboot/init.c (grub_machine_init): Call
12556 grub_machine_mmap_init on qemu.
12557
12558 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
12559
12560 * boot/i386/qemu/boot.S: Add a missing .code16.
12561
12562 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
12563
12564 Use LBIO on coreboot.
12565
12566 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
12567 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
12568 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
12569 New declaration.
12570 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
12571 grub_machine_mmap_init on coreboot.
12572 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
12573 GRUB_LINUXBIOS_MEMBER_LINK.
12574 (grub_machine_mmap_iterate): Fix declaration.
12575 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
12576
12577 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
12578
12579 Split coreboot and multiboot ports.
12580
12581 * conf/i386-multiboot.rmk: New file.
12582 * configure.ac: Add multiboot port.
12583 * include/grub/i386/multiboot/boot.h: New file.
12584 * include/grub/i386/multiboot/console.h: Likewise.
12585 * include/grub/i386/multiboot/init.h: Likewise.
12586 * include/grub/i386/multiboot/kernel.h: Likewise.
12587 * include/grub/i386/multiboot/loader.h: Likewise.
12588 * include/grub/i386/multiboot/memory.h: Likewise.
12589 * include/grub/i386/multiboot/serial.h: Likewise.
12590 * include/grub/i386/multiboot/time.h: Likewise.
12591 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
12592 * loader/multiboot.c: Likewise.
12593 * loader/multiboot_mbi2.c: Likewise.
12594 * util/grub-mkrescue.in: Generate multiboot rescue.
12595
12596 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
12597
12598 * kern/parser.c (grub_parser_execute): Cope with read-only config.
12599
12600 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
12601
12602 Merge handling of input and output terminals. Fix a hang.
12603
12604 * commands/terminal.c (abstract_terminal): New struct.
12605 (handle_command): New function. Based on grub_cmd_terminal_input.
12606 (grub_cmd_terminal_input): Use handle_command.
12607 (grub_cmd_terminal_output): Use handle_command.
12608
12609 2010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
12610
12611 Fix comment handling.
12612
12613 * tests/grub_script_comments.in: New testcase.
12614 * conf/tests.rmk: Rules for new testcase.
12615 * script/yylex.l: Updated flex rules.
12616
12617 2010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
12618
12619 * docs/grub.texi (play): Document that zero pitches produce rests.
12620 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
12621 if argc is 1.
12622
12623 2010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
12624
12625 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
12626 autogen issues.
12627
12628 2010-04-26 Christian Franke <franke@computer.org>
12629
12630 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
12631 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
12632 (grub_get_prefix): Remove function.
12633 * util/grub-emu.c (main): Replace grub_get_prefix () call by
12634 make_system_path_relative_to_its_root ().
12635 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
12636
12637 2010-04-24 Christian Franke <franke@computer.org>
12638
12639 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
12640 (kernel_img_LDFLAGS): Remove -static-libgcc.
12641
12642 2010-04-24 Christian Franke <franke@computer.org>
12643
12644 * configure.ac: Do not CHECK_BSS_START_SYMBOL
12645 and CHECK_END_SYMBOL if grub-emu is built.
12646 Unset TARGET_OBJ2ELF if grub-emu is built
12647 without module support.
12648
12649 2010-04-24 Jiro SEKIBA <jir@unicus.jp>
12650
12651 Nilfs2 support.
12652
12653 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
12654 (grub_fstest_SOURCES): Likewise.
12655 (pkglib_MODULES): Add nilfs2.mod.
12656 (nilfs2_mod_SOURCES): New variable.
12657 (nilfs2_mod_CFLAGS): Likewise.
12658 (nilfs2_mod_LDFLAGS): Likewise.
12659 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
12660 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
12661 * fs/nilfs2.c: New file.
12662
12663 2010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
12664
12665 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
12666 is not supported.
12667
12668 2010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
12669
12670 Add grub-mkconfig support for NetBSD.
12671
12672 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
12673 * util/grub-mkconfig.in: export new NetBSD specific variables.
12674 * po/POTFILES-shell: added 10_netbsd.in.
12675 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
12676
12677 2010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
12678
12679 Fix emu build with grub-emu-pci and grub-emu-modules.
12680
12681 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
12682 functions.
12683 * include/grub/libpciaccess.h: New file.
12684 * conf/any-emu.rmk: Update kernel headers for emu build.
12685
12686 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
12687
12688 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
12689
12690 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
12691
12692 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
12693
12694 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
12695
12696 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
12697 Retrieve chosen/bootpath if bootpath isn't hardcoded.
12698 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
12699 util/ieee1275/ofpath.c.
12700 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
12701 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
12702 * include/grub/sparc64/ieee1275/boot.h
12703 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
12704 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
12705 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
12706 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
12707 const char *.
12708 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
12709 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
12710 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
12711 install.
12712
12713 2010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
12714
12715 * util/grub-mkconfig.in: Corrected two == equality tests.
12716 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
12717 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
12718 expect a number appended to it.
12719 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
12720 expects a number appended to it.
12721
12722 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
12723
12724 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
12725
12726 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
12727
12728 * util/hostdisk.c (make_device_name): Change to new partition naming.
12729
12730 2010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
12731
12732 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
12733
12734 2010-04-17 Christian Franke <franke@computer.org>
12735
12736 * Makefile.in: Add missing localedir setting.
12737
12738 2010-04-14 Colin Watson <cjwatson@ubuntu.com>
12739
12740 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
12741 mistake in r2156. Noticed by Anthony Fok.
12742
12743 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
12744 @localedir@.
12745 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
12746
12747 2010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
12748
12749 Fix a spurious, uninitialized variable warning.
12750
12751 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
12752 Initialize variable, shdr.
12753 (grub_freebsd_load_elfmodule): Likewise.
12754 (grub_freebsd_load_elf_meta): Likewise.
12755
12756 2010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
12757
12758 Fix for escaped dollar in double quoted strings.
12759
12760 * script/yylex.l: Updated flex rules.
12761 * conf/tests.rmk: Rule for new testcase.
12762 * tests/grub_script_dollar.in: New testcase.
12763
12764 2010-04-13 Carles Pina i Estany <carles@pina.cat>
12765 2010-04-13 Colin Watson <cjwatson@ubuntu.com>
12766
12767 Enclose all translated strings in grub.cfg in single quotes, and
12768 escape them appropriately (Ubuntu bug #552921).
12769
12770 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
12771 * util/grub.d/10_hurd.in: Use it.
12772 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
12773 * util/grub.d/10_linux.in (linux_entry): Likewise.
12774
12775 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
12776
12777 Fix cygwin compilation.
12778
12779 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
12780 * include/grub/misc.h (__register_frame_info)
12781 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
12782 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
12783 * kern/misc.c (__register_frame_info)
12784 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
12785 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
12786
12787 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
12788
12789 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
12790
12791 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
12792
12793 Unify libgcc processing.
12794
12795 * Makefile.in (kernel_img_LDFLAGS): New variable.
12796 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
12797 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
12798 overwriting.
12799 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
12800 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
12801 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
12802 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
12803 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
12804 overwriting. Remove -lgcc and -static-libgcc
12805 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
12806 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
12807 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
12808 (kernel_img_LDFLAGS): Append instead of overwriting.
12809 Remove -lgcc and -static-libgcc
12810 * conf/sparc64-ieee1275.rmk: Likewise.
12811 * include/grub/powerpc/libgcc.h: Move to ...
12812 * include/grub/libgcc.h: .. this.
12813 * include/grub/libgcc.h: Don't export most of the function on x86.
12814 (__bswapsi2): New export.
12815 (__bswapdi2): Likewise.
12816 * include/grub/mips/libgcc.h: Removed.
12817 * include/grub/sparc64/libgcc.h: Likewise.
12818
12819 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
12820
12821 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
12822 disk_info_msg (conflicts with gettexting into languages with cases).
12823
12824 2010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
12825
12826 Add grub-probe support for NetBSD.
12827
12828 * util/getroot.c (find_root_device): Convert block device to
12829 character device on NetBSD.
12830 * util/probe.c (probe): Require character device on NetBSD.
12831 * util/hostdisk.c: NetBSD specific headers.
12832 (configure_device_driver): new function to tune device driver
12833 parameters (currently only for NetBSD floppy driver).
12834 (grub_util_biosdisk_open): NetBSD specific code (get disk size
12835 via disklabel ioctl).
12836 (open_device): call configure_device_driver on NetBSD.
12837 (convert_system_partition_to_system_disk): NetBSD specific code.
12838 (device_is_wholedisk): Likewise.
12839 (grub_util_biosdisk_get_grub_dev): Likewise.
12840 (make_device_name): Fixed a typo in bsd_part_str.
12841 * configure.ac: check for opendisk() and getrawpartition() on
12842 NetBSD and set LIBUTIL.
12843 * Makefile.in: add LIBUTIL to LIBS.
12844
12845 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
12846
12847 Documentation fix.
12848
12849 * util/grub-script-check.c: Better help message.
12850
12851 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
12852
12853 Fix FreeBSD build.
12854
12855 * configure.ac: Flex version check.
12856 * conf/common.rmk: Add -Wno-error to sh.mod.
12857 * script/yylex.l: Remove all #pragma.
12858
12859 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
12860
12861 * include/grub/util/misc.h (canonicalise_file_name): Add missing
12862 prototype.
12863 Reported by: Seth Goldberg.
12864
12865 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
12866
12867 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
12868 Rename "module" to "module2".
12869 Reported by: Seth Goldberg.
12870
12871 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
12872
12873 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
12874 EXPORT_FUNC.
12875 Reported by: Seth Goldberg.
12876
12877 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
12878
12879 * lib/posix_wrap/locale.h: Add missing file.
12880 Reported by: Seth Goldberg.
12881
12882 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
12883
12884 grub-emu module load support.
12885
12886 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
12887 NO_DYNAMIC_MODULES switched to this.
12888 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
12889 (CFLAGS): Likewise.
12890 * conf/any-emu.rmk: Generate symlist.
12891 (kernel_img_HEADERS): Add util/datetime.h.
12892 (kernel_img_HEADERS) [sdl]: Add sdl.h.
12893 (kernel_img_HEADERS) [libusb]: Add libusb.h.
12894 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
12895 kern/$(target_cpu)/cache.S.
12896 * configure.ac (grub-emu-modules): New option.
12897 * genmk.rb: Handle multiple source lists.
12898 * include/grub/sdl.h: New file.
12899 * include/grub/libusb.h: Likewise.
12900 * util/grub-emu.c (main): Hanle (host) root.
12901 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
12902 GRUB_ERR_UNKNOWN_DEVICE.
12903 * util/misc.c: Move mm functions to ...
12904 * util/mm.c: ... here. All users updated.
12905
12906 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
12907
12908 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
12909 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
12910 missing files.
12911 (maintainer-clean): Remove libgcrypt-grub.
12912
12913 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
12914
12915 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
12916
12917 2010-04-09 EFI Coder <eficoder@hotmail.com>
12918
12919 * normal/menu_text.c (print_message): Clean up the message and show
12920 the Fn information when on EFI
12921 * term/efi/console.c (grub_console_checkkey): Add F4 support.
12922
12923 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
12924
12925 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
12926 All users updated.
12927 * normal/crypto.c (read_crypto_list): Likewise.
12928 * normal/dyncmd.c (read_command_list): Likewise.
12929 * normal/term.c (read_terminal_list): Likewise.
12930 * normal/main.c (read_lists): Use explicit prefix.
12931 (read_lists_hook): Use read_lists.
12932 (grub_normal_execute): Likewise.
12933
12934 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
12935
12936 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
12937 Reported by: Thomas Schmitt.
12938 Add -no-emul-boot to grub-mkisofs parameters.
12939
12940 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
12941
12942 * font/font.c: Indented.
12943
12944 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
12945
12946 Elif support to GRUB script (by Deepak Vankadaru).
12947
12948 * tests/grub_script_if.in: New testcase.
12949 * conf/tests.rmk: Rule for new testcase.
12950 * script/parser.y: Grammar rules for elif.
12951
12952 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
12953
12954 While and until loops support to GRUB script.
12955
12956 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
12957 (grub_script_create_cmdwhile): New function prototype.
12958 (grub_script_execute_cmdwhile): New function prototype.
12959 * script/execute.c (grub_script_execute_cmdwhile): New function.
12960 * script/parser.y (command): New commands.
12961 (whilecmd): New grammar rule.
12962 (untilcmd): New grammar rule.
12963 * script/script.c (grub_script_create_cmdwhile): New function.
12964 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
12965 function.
12966
12967 * tests/grub_script_while1.in: New testcase.
12968 * conf/tests.rmk: Rule for new testcase.
12969
12970 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
12971
12972 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
12973 as *.jpg.
12974
12975 2010-04-09 Mario Vazquez <mariovazq@gmail.com>
12976
12977 GRUB_BACKGROUND support.
12978
12979 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
12980 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
12981
12982 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
12983
12984 Load fonts and modules for gfxmenu in grub-mkconfig.
12985 Idea by: Mario Vazquez
12986
12987 * util/grub.d/00_header.in: Load pf2 and image modules.
12988
12989 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
12990
12991 grub-mkconfig multiple terminal support.
12992
12993 * util/grub-mkconfig.in: Handle multiple terminals correctly.
12994 * util/grub.d/00_header.in: Likewise.
12995
12996 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
12997
12998 * Makefile.in: Specify files explicitly instead of using $< and $@ since
12999 we use cd $(srcdir).
13000
13001 2010-04-08 Colin Watson <cjwatson@ubuntu.com>
13002
13003 * util/grub.d/10_linux.in: Only use the first word of
13004 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
13005 spaces in GRUB_DISTRIBUTOR.
13006 * util/grub.d/10_kfreebsd.in: Likewise.
13007 * util/grub.d/10_hurd.in: Likewise.
13008
13009 2010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
13010
13011 Fix unit testing framework for Qemu 0.12.
13012
13013 * tests/util/grub-shell.in: Remove -serial stdio option.
13014
13015 2010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
13016
13017 POSIX header file wrappers.
13018
13019 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
13020 equivalents.
13021 * lib/posix_wrap/ctype.h: Likewise.
13022 * lib/posix_wrap/errno.h: Likewise.
13023 * lib/posix_wrap/langinfo.h: Likewise.
13024 * lib/posix_wrap/limits.h: Likewise.
13025 * lib/posix_wrap/localcharset.h: Likewise.
13026 * lib/posix_wrap/stdint.h: Likewise.
13027 * lib/posix_wrap/stdio.h: Likewise.
13028 * lib/posix_wrap/stdlib.h: Likewise.
13029 * lib/posix_wrap/string.h: Likewise.
13030 * lib/posix_wrap/sys/types.h: Likewise.
13031 * lib/posix_wrap/unistd.h: Likewise.
13032 * lib/posix_wrap/wchar.h: Likewise.
13033 * lib/posix_wrap/wctype.h: Likewise.
13034 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
13035 (grub_script.yy.h): Likewise.
13036 * script/yylex.l: Remove POSIX emulation #defines.
13037 * Makefile.in (POSIX_CFLAGS): New variable.
13038 (GNULIB_UTIL_CFLAGS): Likewise.
13039
13040 Regexp support.
13041
13042 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
13043 (regexp_mod_SOURCES): New variable.
13044 (regexp_mod_CFLAGS): Likewise.
13045 (regexp_mod_LDFLAGS): Likewise.
13046 * commands/regexp.c: New file.
13047 * gnulib/regcomp.c: New file. Imported from gnulib.
13048 * gnulib/regex.c: Likewise.
13049 * gnulib/regex_internal.c: Likewise.
13050 * gnulib/regex_internal.h: Likewise.
13051 * gnulib/regexec.c: Likewise.
13052 * gnulib/regex.h: Likewise.
13053
13054 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
13055
13056 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
13057 unsupported video mode types.
13058
13059 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
13060
13061 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
13062
13063 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
13064
13065 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
13066 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
13067
13068 2010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
13069
13070 Remove unused grub_vga_get_font.
13071
13072 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
13073 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
13074
13075 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
13076
13077 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
13078 * include/grub/misc.h: Likewise.
13079
13080 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
13081
13082 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
13083 for which failure is fatal.
13084
13085 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
13086
13087 * util/grub-install.in: Use mkdir -p to create grub directory.
13088 * util/i386/efi/grub-install.in: Likewise.
13089 * util/ieee1275/grub-install.in: Likewise.
13090
13091 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
13092
13093 * Makefile.in (LEX): new variable.
13094
13095 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
13096
13097 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
13098 `=' and added double quotes on operands of this equality test.
13099
13100 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
13101
13102 * Makefile.in (uninstall): Remove a leftover debug echo.
13103 Reported by: Grégoire Sutre
13104
13105 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
13106
13107 MIPS multiboot2 support.
13108
13109 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
13110 (multiboot2_mod_SOURCES): New variable.
13111 (multiboot2_mod_CFLAGS): Likewise.
13112 (multiboot2_mod_LDFLAGS): Likewise.
13113 (multiboot2_mod_ASFLAGS): Likewise.
13114 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
13115 definition.
13116 (MULTIBOOT_ENTRY_REGISTER): Likewise.
13117 (MULTIBOOT_MBI_REGISTER): Likewise.
13118 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
13119 (MULTIBOOT_ELF32_MACHINE): Likewise.
13120 (MULTIBOOT_ELF64_MACHINE): Likewise.
13121 * include/grub/mips/multiboot.h: New file.
13122 * include/grub/video.h (grub_video_driver_id): New type
13123 GRUB_VIDEO_DRIVER_SM712.
13124 (grub_video_get_info_and_fini): Export.
13125 (grub_video_get_palette): Likewise.
13126 (grub_video_get_driver_id): Likewise.
13127 * include/multiboot2.h: Resynced with spec.
13128 * loader/i386/multiboot.c: Moved from here ...
13129 * loader/multiboot.c: ... here. All users updated.
13130 (grub_multiboot_boot): Use platform-specific macros.
13131 * loader/i386/multiboot_elfxx.c: Moved from here ...
13132 * loader/multiboot_elfxx.c: ... here. All users updated.
13133 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
13134 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
13135 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
13136
13137 2010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
13138
13139 Import gnulib argp module.
13140
13141 * gnulib/argp-ba.c: New file.
13142 * gnulib/argp-eexst.c: Likewise.
13143 * gnulib/argp-fmtstream.c: Likewise.
13144 * gnulib/argp-fmtstream.h: Likewise.
13145 * gnulib/argp-fs-xinl.c: Likewise.
13146 * gnulib/argp-help.c: Likewise.
13147 * gnulib/argp-namefrob.h: Likewise.
13148 * gnulib/argp-parse.c: Likewise.
13149 * gnulib/argp-pin.c: Likewise.
13150 * gnulib/argp-pv.c: Likewise.
13151 * gnulib/argp-pvh.c: Likewise.
13152 * gnulib/argp-version-etc.c: Likewise.
13153 * gnulib/argp-version-etc.h: Likewise.
13154 * gnulib/argp-xinl.c: Likewise.
13155 * gnulib/argp.h: Likewise.
13156
13157 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
13158
13159 * kern/device.c (grub_device_iterate): Clear errors after failed
13160 opening device.
13161
13162 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
13163
13164 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
13165 returned by firmware.
13166
13167 2010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
13168
13169 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
13170 compilation on coreboot and qemu
13171
13172 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
13173
13174 * include/multiboot2.h: Resync with spec.
13175
13176 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
13177
13178 Multiboot2 tag support
13179
13180 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
13181 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
13182 Remove loader/multiboot_loader.c.
13183 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
13184 (grub_multiboot2_real_boot): Likewise.
13185 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
13186 (grub_get_multiboot_mmap_count): New proto.
13187 (grub_fill_multiboot_mmap): Likewise.
13188 (grub_multiboot_set_video_mode): Likewise.
13189 (grub_multiboot_set_console): Likewise.
13190 (grub_multiboot_load): Likewise.
13191 (grub_multiboot_load_elf): Likewise.
13192 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
13193 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
13194 * include/multiboot.h: Resynced with specification.
13195 * include/multiboot2.h: Resynced with specification.
13196 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
13197 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
13198 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
13199 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
13200 users updated.
13201 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
13202 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
13203 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
13204 Removed.
13205 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
13206 Moved from here...
13207 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
13208 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
13209 Moved from here...
13210 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
13211 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
13212 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
13213 All users updated.
13214 * loader/i386/multiboot_mbi2.c: New file.
13215
13216 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
13217
13218 Resync with gnulib.
13219
13220 * Makefile.in (GNULIB_CFLAGS): New variable.
13221 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
13222 (grub_script_check_CFLAGS): New variable.
13223 * gnulib/alloca.h: Resync with gnulib.
13224 * gnulib/error.c: Likewise.
13225 * gnulib/error.h: Likewise.
13226 * gnulib/fnmatch.c: Likewise.
13227 * gnulib/fnmatch_loop.c: Likewise.
13228 * gnulib/getdelim.c: Likewise.
13229 * gnulib/getline.c: Likewise.
13230 * gnulib/getopt.c: Likewise.
13231 * gnulib/getopt1.c: Likewise.
13232 * gnulib/getopt_int.h: Likewise.
13233 * gnulib/gettext.h: Likewise.
13234 * gnulib/progname.c: Likewise.
13235 * gnulib/progname.h: Likewise.
13236
13237 2010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
13238
13239 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
13240 which is the case with --disabled-nls.
13241
13242 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
13243 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
13244 * util/misc.c: Likewise.
13245 * util/mkisofs/mkisofs.c: Likewise.
13246 * util/mkisofs/mkisofs.h: Likewise.
13247
13248 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
13249
13250 Simplify Apple CC support.
13251
13252 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
13253 Add 0 byte at the end not to have a symbol with empty target.
13254 * mmap/i386/pc/mmap_helper.S: Likewise.
13255 * genmk.rb: Ignore errors 2030 and 2050.
13256 * kern/i386/pc/startup.S: Use LOCAL when possible.
13257
13258 2010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
13259
13260 Testcase and the fix for final semicolon on cmdline.
13261
13262 * tests/grub_script_final_semicolon.in: New testcase.
13263 * conf/tests.rmk: Rules for the new testcase.
13264 * script/parser.y: Grammar fix.
13265
13266 2010-03-26 BVK Chaitanya <bvk@localhost>
13267
13268 Blank lines testcase for GRUB script.
13269
13270 * tests/grub_script_blanklines.in: New testcase.
13271 * conf/tests.rmk: Rules for the new testcase.
13272
13273 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
13274
13275 Don't use __FILE__.
13276
13277 * genmk.rb: Add -DGRUB_FILE to all C targets.
13278 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
13279 * include/grub/list.h: Likewise.
13280 * include/grub/misc.h: Likewise.
13281 * include/grub/mm.h: Likewise.
13282 * include/grub/test.h: Likewise.
13283 * kern/mm.c: Likewise.
13284 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
13285
13286 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
13287
13288 Sunpc partitions support.
13289
13290 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
13291 (grub_fstest_SOURCES): Likewise.
13292 (pkglib_MODULES): Add part_sunpc.mod.
13293 (part_sunpc_mod_SOURCES): New variable.
13294 (part_sunpc_mod_CFLAGS): Likewise.
13295 (part_sunpc_mod_LDFLAGS): Likewise.
13296 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
13297 * partmap/sunpc.c: New file.
13298
13299 2010-03-26 BVK Chaitanya <bvk@localhost>
13300
13301 For loop support to GRUB script.
13302
13303 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
13304 (grub_script_create_cmdfor): New function prototype.
13305 (grub_script_execute_cmdfor): New function prototype.
13306 * script/execute.c (grub_script_execute_cmdfor): New function.
13307 * script/parser.y (command): New for command.
13308 (forcmd): New grammar rule.
13309 * script/script.c (grub_script_create_cmdfor): New function.
13310 * util/grub-script-check.c (grub_script_execute_cmdfor): New
13311 function.
13312 * tests/grub_script_for1.in: New testcase.
13313 * conf/tests.rmk: Rules for new testcase.
13314
13315 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
13316
13317 Nested partitions
13318
13319 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
13320 'partition' is NULL, grub_partition_get_start already does that.
13321 * commands/loadenv.c (check_blocklists): Likewise.
13322 (write_blocklists): Likewise.
13323 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
13324 (grub_fstest_SOURCES): Likewise.
13325 (pkglib_MODULES): Add part_bsd.mod.
13326 (part_bsd_mod_SOURCES): New variable.
13327 (part_bsd_mod_CFLAGS): Likewise.
13328 (part_bsd_mod_LDFLAGS): Likewise.
13329 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
13330 (grub_emu_SOURCES): Likewise.
13331 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13332 * include/grub/bsdlabel.h: New file.
13333 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
13334 'get_name'.
13335 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
13336 (grub_partition_map_list): New variable.
13337 (grub_partition_map_register): Inline.
13338 (grub_partition_map_unregister): Likewise.
13339 (FOR_PARTITION_MAPS): New macro.
13340 (grub_partition_map_iterate): Removed.
13341 (grub_partition_get_start): Handle nested partitions.
13342 * include/grub/msdos_partition.h: Remove bsd-related entries.
13343 (grub_pc_partition): Remove.
13344 * kern/disk.c (grub_disk_close): Free partition data.
13345 (grub_disk_adjust_range): Handle nested partitions.
13346 * kern/partition.c (grub_partition_map_probe): New function.
13347 (grub_partition_probe): Parse name to number, handle subpartitions.
13348 (get_partmap): New function.
13349 (grub_partition_iterate): Handle subpartitions.
13350 (grub_partition_get_name): Likewise.
13351 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
13352 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
13353 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
13354 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
13355 Set 'number'.
13356 (acorn_partition_map_probe): Remove.
13357 (acorn_partition_map_get_name): Likewise.
13358 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
13359 Set 'number'.
13360 Set 'index' to 0 since there can be only one partition entry per sector.
13361 (amiga_partition_map_probe): Remove.
13362 (amiga_partition_map_get_name): Likewise.
13363 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
13364 Set 'number'.
13365 Set 'offset' and 'index' to real positions of partitions.
13366 (apple_partition_map_probe): Remove.
13367 (apple_partition_map_get_name): Likewise.
13368 * partmap/bsdlabel.c: New file.
13369 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
13370 Set 'number'.
13371 Allocate 'data' so it can be correctly freed.
13372 Set 'index' to offset inside sector.
13373 (gpt_partition_map_probe): Remove.
13374 (gpt_partition_map_get_name): Likewise.
13375 * partmap/msdos.c (grub_partition_parse): Remove.
13376 (pc_partition_map_iterate): Don't force raw access.
13377 Set 'number'.
13378 Make 'ext_offset' a local variable.
13379 (pc_partition_map_probe): Remove.
13380 (pc_partition_map_get_name): Remove.
13381 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
13382 Set 'number'.
13383 (sun_partition_map_probe): Remove.
13384 (sun_partition_map_get_name): Likewise.
13385 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
13386 (grub_pcpart_type): Likewise.
13387 * util/hostdisk.c (open_device): Handle new numbering scheme.
13388 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
13389 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
13390 * util/grub-probe.c (probe_partmap): Handle nested paritions.
13391 * util/grub-install.in: Insert all subpartition modules.
13392 * util/ieee1275/grub-install.in: Likewise.
13393
13394 2010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
13395
13396 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
13397 grammar.
13398
13399 2010-03-24 Colin Watson <cjwatson@ubuntu.com>
13400
13401 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
13402
13403 2010-03-21 Colin Watson <cjwatson@ubuntu.com>
13404
13405 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
13406 match where 'make install' puts them.
13407 * util/i386/efi/grub-install.in: Likewise.
13408
13409 2010-03-19 Colin Watson <cjwatson@ubuntu.com>
13410
13411 * .bzrignore: Add gentrigtables, grub-script-check,
13412 grub_script_check_init.c, grub_script_check_init.h, and
13413 trigtables.c.
13414
13415 2010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
13416
13417 * kern/parser.c: Indented.
13418
13419 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
13420
13421 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
13422
13423 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
13424
13425 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
13426 alpha_mask_size == 0 case.
13427
13428 2010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
13429
13430 GRUB shell lexer and parser improvements.
13431
13432 * conf/any-emu.rmk: Build rule updates.
13433 * conf/common.rmk: Likewise.
13434 * conf/i386-coreboot.rmk: Likewise.
13435 * conf/i386-efi.rmk: Likewise.
13436 * conf/i386-ieee1275.rmk: Likewise.
13437 * conf/i386-pc.rmk: Likewise.
13438 * conf/powerpc-ieee1275.rmk: Likewise.
13439 * conf/x86_64-efi.rmk: Likewise.
13440
13441 * configure.ac: Configure check for flex.
13442
13443 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
13444 types.
13445 (grub_lexer_param): Struct member updates.
13446 (grub_parser_param): Likewise.
13447 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
13448 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
13449 (grub_script_lexer_init): Prototype update.
13450 (grub_script_lexer_record_start): Likewise.
13451 (grub_script_lexer_record_stop): Likewise.
13452 (grub_script_lexer_yywrap): New function prototype.
13453 (grub_script_lexer_fini): Likewise.
13454 (grub_script_execute_argument_to_string): Removed by...
13455 (grub_script_execute_argument_to_argv): ...better version.
13456
13457 * script/execute.c (ROUND_UPTO): New macro.
13458 (grub_script_execute_cmdline): Out of memory fixes.
13459 (grub_script_execute_menuentry): Likewise.
13460 (grub_script_execute_argument_to_string): Removed. Update all
13461 users by...
13462 (grub_script_execute_argument_to_argv): ...better version.
13463 * script/function.c (grub_script_function_create): Use
13464 grub_script_execute_argument_to_argv instead of
13465 grub_script_execute_argument_to_string.
13466
13467 * script/lexer.c (check_varstate): Removed.
13468 (check_textstate): Removed.
13469 (grub_script_lexer_record_start): Likewise.
13470 (grub_script_lexer_record_stop): Likewise.
13471 (recordchar): Replaced with...
13472 (grub_script_lexer_record): ...new function.
13473 (nextchar): Removed.
13474 (grub_script_lexer_init): Rewritten.
13475 (grub_script_yylex): Rewritten.
13476 (append_newline): New function.
13477 (grub_script_lexer_yywrap): New function.
13478 (grub_script_lexer_fini): New function.
13479 (grub_script_yyerror): Sets error flag.
13480
13481 * script/yylex.l: New file.
13482 (grub_lexer_yyfree): Wrapper for flex yyffre.
13483 (grub_lexer_yyalloc): Likewise.
13484 (grub_lexer_yyrealloc): Likewise.
13485 * script/parser.y: Refactored.
13486
13487 * script/script.c (grub_script_arg_add): Out of memory fixes.
13488 (grub_script_add_arglist): Likewise.
13489 (grub_script_create_cmdline): Likewise.
13490 (grub_script_create_cmdmenu): Likewise.
13491 (grub_script_add_cmd): Likewise.
13492 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
13493 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
13494 unnecessary code.
13495
13496 * tests/grub_script_echo1.in: New testcase.
13497 * tests/grub_script_vars1.in: New testcase.
13498 * tests/grub_script_echo_keywords.in: New testcase.
13499
13500 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
13501
13502 Remove some redundancy in build system.
13503
13504 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
13505 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
13506 (TARGET_LDFLAGS): Add -nostdlib.
13507 (TARGET_IMG_LDFLAGS): Likewise.
13508 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
13509 anything since mmap isn't available.
13510 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
13511 Add util/time.c.
13512 (pkglib_MODULES): Remove reboot.mod.
13513 (reboot_mod_SOURCES): Removed.
13514 (reboot_mod_CFLAGS): Likewise.
13515 (reboot_mod_LDFLAGS): Likewise.
13516 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
13517 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
13518 (DEFSYMFILES): Add kernel_syms.lst.
13519 (kernel_img_HEADERS): Add common headers.
13520 (symlist.c): New target.
13521 (kernel_syms.lst): Likewise.
13522 (pkglib_MODULES): Add memdisk.mod.
13523 (memdisk_mod_SOURCES): New variable.
13524 (memdisk_mod_CFLAGS): Likewise.
13525 (memdisk_mod_LDFLAGS): Likewise.
13526 (pkglib_MODULES): Add reboot.mod.
13527 (reboot_mod_SOURCES): New variable.
13528 (reboot_mod_CFLAGS): Likewise.
13529 (reboot_mod_LDFLAGS): Likewise.
13530 (pkglib_MODULES): Add date.mod.
13531 (date_mod_SOURCES): New variable.
13532 (date_mod_CFLAGS): Likewise.
13533 (date_mod_LDFLAGS): Likewise.
13534 (pkglib_MODULES): Add datehook.mod.
13535 (datehook_mod_SOURCES): New variable.
13536 (datehook_mod_CFLAGS): Likewise.
13537 (datehook_mod_LDFLAGS): Likewise.
13538 (pkglib_MODULES): Add lsmmap.mod.
13539 (lsmmap_mod_SOURCES): New variable.
13540 (lsmmap_mod_CFLAGS): Likewise.
13541 (lsmmap_mod_LDFLAGS): Likewise.
13542 (pkglib_MODULES): Add boot.mod.
13543 (boot_mod_SOURCES): New variable.
13544 (boot_mod_CFLAGS): Likewise.
13545 (boot_mod_LDFLAGS): Likewise.
13546 * conf/i386-coreboot.rmk: Removed redundant parts.
13547 * conf/i386-ieee1275.rmk: Likewise.
13548 * conf/i386-pc.rmk: Likewise.
13549 * conf/mips-yeeloong.rmk: Likewise.
13550 * conf/mips.rmk: Likewise.
13551 * conf/powerpc-ieee1275.rmk: Likewise.
13552 * conf/sparc64-ieee1275.rmk: Likewise.
13553 * conf/x86_64-efi.rmk: Likewise.
13554 * conf/i386-coreboot.rmk: Moved qemu parts ..
13555 * conf/i386-qemu.rmk: ... here
13556 * conf/i386-efi.rmk: Moved common parts to...
13557 * conf/x86-efi.rmk: ... here.
13558 * conf/i386.rmk: Added modules common to all x86 variants.
13559 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
13560 * disk/memdisk.c: Remove grub/machine/kernel.h.
13561 * gensymlist.sh.in: Include symbol.h.
13562 * hook/datehook.c: Correct module name.
13563 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
13564 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
13565 * include/grub/i386/efi/serial.h: New file.
13566 * include/grub/x86_64/efi/serial.h: Likewise.
13567 * util/time.c: Likewise.
13568 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
13569
13570 2010-03-14 Colin King <colin.king@ubuntu.com>
13571 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
13572
13573 Shrink the pre-partition-table part of boot.img by eight bytes.
13574
13575 * boot/i386/pc/boot.S (ERR): New macro.
13576 (chs_mode): Use ERR.
13577 (geometry_error): Likewise.
13578 (hd_probe_error): Remove. This is only used once, so we wrwite
13579 it inline instead.
13580 (read_error): Instead of printing read_error_string, just set up
13581 %si and fall through to ...
13582 (error_message): ... this new function, also used by ERR.
13583
13584 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
13585
13586 Speed up consecutive hostdisk operations on the same device.
13587
13588 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
13589 (grub_util_biosdisk_open): Initialise disk->data.
13590 (struct linux_partition_cache): New structure.
13591 (linux_find_partition): Cache partition start positions; these are
13592 expensive to compute on every read and write.
13593 (open_device): Cache open file descriptor in disk->data, so that we
13594 don't have to reopen it and flush the buffer cache for consecutive
13595 operations on the same device.
13596 (grub_util_biosdisk_close): New function.
13597 (grub_util_biosdisk_dev): Set `close' member.
13598
13599 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
13600 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
13601 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
13602 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
13603 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
13604
13605 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
13606
13607 Compile parts of grub-emu as modules.
13608
13609 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
13610 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
13611 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
13612 (all-local): Add $(GRUB_EMU).
13613 (install-local): Install $(GRUB_EMU).
13614 (uninstall): Uninstall $(GRUB_EMU).
13615 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
13616 * kern/dl.c: Likewise.
13617 * commands/sleep.c: Not include machine/time.h.
13618 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
13619 (COMMON_CFLAGS): Likewise.
13620 (sbin_UTILITIES): Remove grub-emu.
13621 (grub_emu_SOURCES): Removed.
13622 (kernel_img_RELOCATABLE): New variable.
13623 (pkglib_PROGRAMS): Add kernel.img.
13624 (kernel_img_SOURCES): New variable
13625 (kernel_img_CFLAGS): Likewise.
13626 (kernel_img_LDFLAGS): Likewise.
13627 (TARGET_NO_STRIP): Likewise.
13628 (TARGET_NO_DYNAMIC_MODULES): Likewise.
13629 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
13630 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
13631 (grub-emu): New target.
13632 (GRUB_EMU): New variable.
13633 * configure.ac: Whitelist -emu as possible x86_64 architecture.
13634 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
13635 * loader/xnu.c: Likewise.
13636 * include/grub/pci.h: Likewise.
13637 * genemuinit.sh: New file.
13638 * genemuinitheader.sh: Likewise.
13639 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
13640 Support TARGET_NO_DYNAMIC_MODULES.
13641 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
13642 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
13643 * disk/loopback.c: Likewise.
13644 * font/font_cmd.c: Likewise.
13645 * partmap/acorn.c: Likewise.
13646 * partmap/amiga.c: Likewise.
13647 * partmap/apple.c: Likewise.
13648 * partmap/gpt.c: Likewise.
13649 * partmap/msdos.c: Likewise.
13650 * partmap/sun.c: Likewise.
13651 * parttool/msdospart.c: Likewise.
13652 * term/gfxterm.c: Likewise.
13653 * video/bitmap.c: Likewise.
13654 * video/readers/jpeg.c: Likewise.
13655 * video/readers/png.c: Likewise.
13656 * video/readers/tga.c: Likewise.
13657 * video/video.c: Likewise.
13658 * util/grub-emu.c (read_command_list): Removed.
13659 (main): Don't call util_init_nls.
13660 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
13661 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
13662
13663 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
13664
13665 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
13666 date.mod, datehook.mod.
13667 (datetime_mod_SOURCES): New variable.
13668 (datetime_mod_CFLAGS): Likewise.
13669 (datetime_mod_LDFLAGS): Likewise.
13670 (date_mod_SOURCES): Likewise.
13671 (date_mod_CFLAGS): Likewise.
13672 (date_mod_LDFLAGS): Likewise.
13673 (datehook_mod_SOURCES): Likewise.
13674 (datehook_mod_CFLAGS): Likewise.
13675 (datehook_mod_LDFLAGS): Likewise.
13676 * conf/sparc64-ieee1275.rmk: Likewise.
13677 * lib/ieee1275/datetime.c: New file.
13678
13679 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
13680
13681 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
13682 (ieee1275_fb_mod_SOURCES): New variable.
13683 (ieee1275_fb_mod_CFLAGS): Likewise.
13684 (ieee1275_fb_mod_LDFLAGS): Likewise.
13685 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
13686 New proto.
13687 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
13688 (HEAP_MAX_ADDR): Likewise.
13689 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
13690 type.
13691 Correct stop condition.
13692 (grub_ieee1275_devices_iterate): New function.
13693 * video/ieee1275.c: New file.
13694
13695 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
13696
13697 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
13698
13699 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
13700 as scratch.
13701 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
13702 SCRATCH_PAD_DISKBOOT as scratch.
13703 (bootit): Pass Openfirmware pointer in %o4.
13704 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
13705 of 0x200000.
13706 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
13707 with util/grub-mkrawimage.c.
13708 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
13709 * include/grub/aout.h (AOUT_MID_SUN): New definition.
13710 (grub_aout_get_type) [GRUB_UTIL]: Removed.
13711 (grub_aout_load) [GRUB_UTIL]: Likewise.
13712 * include/grub/kernel.h (grub_modules_get_end): New proto.
13713 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
13714 (SCRATCH_PAD_BOOT): New definition.
13715 (SCRATCH_PAD_DISKBOOT): Likewise.
13716 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
13717 * include/grub/sparc64/ieee1275/ieee1275.h
13718 (grub_ieee1275_original_stack): New variable
13719 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
13720 New definition
13721 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
13722 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
13723 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
13724 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
13725 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
13726 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
13727 (grub_platform_image_format_t): New type.
13728 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
13729 * kern/main.c (grub_modules_get_end)
13730 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
13731 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
13732 (codestart): Switch stacks.
13733 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
13734 variable.
13735 (grub_heap_init): Use grub_modules_get_end.
13736 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
13737 stack.
13738 * util/grub-mkrawimage.c (generate_image): Support sparc64.
13739 (main): Likewise.
13740 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
13741
13742 2010-03-14 Thorsten Glaser <tg@mirbsd.org>
13743
13744 * util/grub-mkrescue.in: Base ISO UUID on UTC.
13745
13746 2010-03-08 Matt Kraai <kraai@ftbfs.org>
13747
13748 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
13749 bug #559005).
13750
13751 2010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
13752
13753 * genmoddep.awk: Output all missing symbols and not only first.
13754
13755 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
13756
13757 * NEWS: Put the date of 1.98 release.
13758
13759 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
13760
13761 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
13762 ft2build.h.
13763
13764 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
13765
13766 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
13767 completition in the middle of string.
13768
13769 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
13770
13771 * util/grub-mkrescue.in: Use mktemp with explicit template.
13772
13773 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
13774
13775 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
13776
13777 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
13778
13779 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
13780 right pointer.
13781
13782 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
13783
13784 Fix FreeBSD compilation.
13785
13786 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
13787 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
13788
13789 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
13790
13791 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
13792
13793 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
13794
13795 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
13796
13797 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
13798
13799 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
13800
13801 2010-03-04 Robert Millan <rmh.grub@aybabtu.com>
13802
13803 Support relative image path in theme file.
13804
13805 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
13806 (image_set_property): Handle theme_dir and relative path.
13807
13808 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
13809
13810 * configure.ac: Alias amd64 to x86_64.
13811
13812 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
13813
13814 * NEWS: mention multiboot on EFI.
13815
13816 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
13817
13818 * kern/main.c (grub_load_modules): Handle errors from init functions of
13819 embeded modules.
13820
13821 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
13822
13823 * normal/autofs.c (autoload_fs_module): Handle errors.
13824
13825 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
13826
13827 Disable linux.mod on qemu-mips since it's not functional and leads
13828 to compilation failure.
13829
13830 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
13831 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
13832 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
13833 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
13834 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
13835 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
13836 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
13837 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
13838 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
13839 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
13840 Reported by: BVK Chaitanya
13841
13842 2010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
13843
13844 * INSTALL: Add gettext as a dependency and add qemu to a new section
13845 "Prerequisites for make-check".
13846
13847 2010-03-04 Christian Franke <franke@computer.org>
13848
13849 * util/grub-pe2elf.c: Add missing include "progname.h".
13850
13851 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
13852
13853 * normal/crypto.c (read_crypto_list): Fix a typo.
13854 Reported by: Seth Goldberg.
13855
13856 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
13857
13858 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
13859 Reported by: Seth Goldberg.
13860
13861 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
13862
13863 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
13864 ascii.bitmaps.
13865
13866 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
13867
13868 * genmk.rb: Remove terminal*.lst in make clean.
13869 Reported by: Seth Goldberg.
13870
13871 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
13872
13873 * util/i386/efi/grub-install.in: Copy gettext files.
13874
13875 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
13876
13877 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
13878
13879 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
13880
13881 Wait for user entry basing on presence of output rather than on errors.
13882
13883 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
13884 (grub_install_newline_hook): Likewise.
13885 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
13886 * normal/menu.c (show_menu): Check line_counter to determine presence
13887 of output.
13888 * normal/term.c (grub_normal_line_counter): New variable.
13889 (grub_normal_get_line_counter): New function.
13890 (grub_install_newline_hook): Likewise.
13891
13892 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
13893
13894 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
13895
13896 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
13897
13898 * configure.ac: Update version to 1.98.
13899
13900 2010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
13901
13902 * util/grub.d/10_linux.in (linux_entry): Don't default to
13903 gfxpayload=keep if Linux doesn't support video handover.
13904
13905 2010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
13906
13907 Don't compile video modules on yeeloong since video subsystem is part
13908 of kernel.
13909
13910 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
13911 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
13912 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
13913 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
13914 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
13915 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
13916 * include/grub/bitmap_scale.h: Likewise.
13917 * include/grub/bufio.h: Likewise.
13918 * include/grub/font.h: Likewise.
13919 * include/grub/gfxterm.h: Likewise.
13920 * include/grub/video.h: Likewise.
13921 * include/grub/vbe.h: Don't include video_fb.h.
13922 * video/i386/pc/vbe.c: Include video_fb.h.
13923 * commands/i386/pc/vbetest.c: Include video.h.
13924
13925 2010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
13926
13927 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
13928 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
13929 default entry if GRUB_SAVEDEFAULT=true. This allows using
13930 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
13931 saving a new default on every boot.
13932
13933 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
13934
13935 * normal/crypto.c (read_crypto_list): Fix a memory leak.
13936 * normal/term.c (read_terminal_list): Likewise.
13937 * normal/main.c (grub_normal_init_page): Likewise.
13938 (grub_normal_read_line_real): Likewise.
13939
13940 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
13941
13942 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
13943 memory leak.
13944 Reported by: Seth Goldberg.
13945
13946 2010-02-24 Joey Korkames <joey+lists@kidfixit.com>
13947
13948 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
13949 duplicate declaration of `start'.
13950
13951 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
13952
13953 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
13954 filename.
13955 Reported by: Georgy Buranov
13956
13957 2010-02-20 Carles Pina i Estany <carles@pina.cat>
13958
13959 * util/grub-mkrawimage.c (usage): Change string formatting to
13960 improve gettext.
13961
13962 2010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
13963
13964 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
13965 backspace keys.
13966
13967 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
13968
13969 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
13970 Reported by: Michael Suchanek.
13971
13972 2010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
13973
13974 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
13975 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
13976
13977 2010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
13978
13979 Remove any reference to non-free fonts.
13980
13981 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
13982 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
13983 uses non-free components.
13984 * font/font.c (grub_font_get_name): Remove example name.
13985 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
13986 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
13987 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
13988 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
13989
13990 2010-02-16 Georgy Buranov <gburanov@gmail.com>
13991
13992 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
13993
13994 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
13995
13996 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
13997 Double divisor.
13998 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
13999 features.
14000 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
14001
14002 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
14003
14004 * gensymlist.sh.in: Use TARGET_CC instead of CC.
14005
14006 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
14007
14008 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
14009 * docs/grub.texi (Command-line and menu entry commands): Document play
14010 command.
14011
14012 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
14013
14014 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
14015 parse arguments as inline tempo and notes. Move code for playing notes
14016 to...
14017 (play): ... new function.
14018
14019 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
14020
14021 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
14022 grub_uint16_t instead of short.
14023 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
14024 disk from little endian to cpu endianness.
14025
14026 2010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
14027
14028 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
14029 GRUB_TICKS_PER_SECOND instead of 120.
14030
14031 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
14032
14033 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
14034 escape sequence after \e.
14035
14036 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
14037
14038 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
14039 non-ASCII characters.
14040
14041 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
14042
14043 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
14044 set root in single quotes to prevent \, from being unescaped.
14045
14046 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
14047
14048 Prevent unknown commands from stopping menuentry execution.
14049
14050 * script/execute.c (grub_script_execute_cmdline): Print error after
14051 unknown command.
14052
14053 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
14054
14055 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
14056 Reported by: Pavel Pisa.
14057
14058 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
14059
14060 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
14061
14062 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
14063
14064 Merge grub_ieee1275_map_physical into grub_map and rename to
14065 grub_ieee1275_map
14066
14067 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
14068 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
14069 Remove.
14070 * kern/ieee1275/openfw.c (grub_map): Rename to ...
14071 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
14072 necessary.
14073 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
14074
14075 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
14076
14077 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
14078 opening and not after.
14079
14080 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
14081
14082 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
14083 constants.
14084
14085 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
14086
14087 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
14088 (alloc_phys): Use ALIGN_UP instead of align_addr.
14089
14090 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
14091
14092 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
14093
14094 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
14095
14096 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
14097
14098 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
14099
14100 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
14101 verbose dprintf.
14102
14103 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
14104
14105 Fix over-4GiB seek on sparc64.
14106
14107 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
14108 Replace pos_i and pos_lo with pos. All users updated.
14109 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
14110 New constant.
14111 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
14112 Likewise.
14113 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
14114 and pos_lo.
14115
14116 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
14117
14118 * util/grub-mkrawimage.c (main): Call set_program_name.
14119
14120 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
14121
14122 Properly align 64-bit targets.
14123
14124 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
14125 (generate_image): Use ALIGN_ADDR.
14126
14127 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
14128
14129 Properly create cross-endian images.
14130
14131 * include/grub/types.h (grub_host_to_target_addr): New macro
14132 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
14133
14134 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
14135
14136 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
14137
14138 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
14139
14140 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
14141
14142 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
14143 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
14144 (grub_linux_boot): Divide by 64K when on VESA.
14145
14146 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
14147
14148 Support GRUB_GFXPAYLOAD_LINUX.
14149
14150 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
14151 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
14152
14153 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
14154
14155 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
14156 to show messages instead of discarding them.
14157 Process errors after executing command and not before. Keep old method
14158 too as precaution.
14159
14160 2010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
14161
14162 * configure.ac: Check for ft2build.h.
14163
14164 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
14165
14166 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
14167
14168 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
14169
14170 * genkernsyms.sh.in: Use TARGET_CC.
14171
14172 2010-02-07 Colin Watson <cjwatson@ubuntu.com>
14173
14174 * NEWS: Update.
14175
14176 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
14177
14178 * include/grub/multiboot2.h: Remove leftover file.
14179 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
14180 * include/grub/partition.h [GRUB_UTIL]: Likewise.
14181
14182 2010-02-07 Yves Blusseau <blusseau@zetam.org>
14183
14184 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
14185
14186 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
14187
14188 Fix warnings in grub-emu when compiling with maximum warning options.
14189
14190 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
14191 (grub_arch_modules_addr): Return 0 and not NULL.
14192 * util/misc.c (ENABLE_RELOCATABLE): New definition.
14193 (xstrdup): Use newstr instead of dup.
14194 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
14195 of disk to dsk to avoid shadowing.
14196 (find_free_slot): Fix prototype.
14197 * util/getroot.c (grub_util_is_dmraid): Make static.
14198 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
14199 Add missing prototype.
14200 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
14201
14202 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
14203
14204 * loader/i386/linux.c (grub_linux_setup_video): Handle error
14205 appropriately.
14206
14207 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
14208
14209 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
14210 code out.
14211
14212 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
14213
14214 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
14215 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
14216 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
14217 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
14218 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
14219 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
14220
14221 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
14222
14223 * include/grub/err.h (grub_err_printf): Don't export.
14224
14225 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
14226
14227 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
14228
14229 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
14230
14231 * include/grub/i18n.h (grub_gettext_dummy): Removed.
14232 * kern/misc.c (grub_gettext_dummy): Make static.
14233
14234 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
14235
14236 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
14237 by non-valid ones.
14238 * kern/term.c (grub_putchar): Likewise.
14239
14240 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
14241
14242 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
14243 buggy hook call and memory leak.
14244
14245 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
14246
14247 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
14248
14249 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
14250
14251 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
14252
14253 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
14254
14255 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
14256 modevar.
14257 Return grub_errno on allocation error.
14258
14259 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
14260
14261 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
14262
14263 2010-02-06 Yves Blusseau <blusseau@zetam.org>
14264
14265 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
14266 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
14267
14268 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
14269
14270 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
14271 non-pxe disk.
14272 (grub_pxefs_open): Likewise.
14273
14274 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
14275
14276 * util/grub.d/10_hurd.in: Add --class information to menuentries.
14277 * util/grub.d/10_kfreebsd.in: Likewise.
14278 * util/grub.d/10_linux.in: Likewise.
14279
14280 2010-02-06 Colin D Bennett <colin@gibibit.com>
14281
14282 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
14283 (gfxmenu_mod_SOURCES): New variable.
14284 (gfxmenu_mod_CFLAGS): Likewise.
14285 (gfxmenu_mod_LDFLAGS): Likewise.
14286 * include/grub/term.h (grub_term_set_current_output): Declare
14287 argument as const.
14288 * docs/gfxmenu-theme-example.txt: New file.
14289 * gfxmenu/gfxmenu.c: Likewise.
14290 * gfxmenu/gui_box.c: Likewise.
14291 * gfxmenu/gui_canvas.c: Likewise.
14292 * gfxmenu/gui_circular_progress.c: Likewise.
14293 * gfxmenu/gui_image.c: Likewise.
14294 * gfxmenu/gui_label.c: Likewise.
14295 * gfxmenu/gui_list.c: Likewise.
14296 * gfxmenu/gui_progress_bar.c: Likewise.
14297 * gfxmenu/gui_string_util.c: Likewise.
14298 * gfxmenu/gui_util.c: Likewise.
14299 * gfxmenu/icon_manager.c: Likewise.
14300 * gfxmenu/model.c: Likewise.
14301 * gfxmenu/named_colors.c: Likewise.
14302 * gfxmenu/theme_loader.c: Likewise.
14303 * gfxmenu/view.c: Likewise.
14304 * gfxmenu/widget-box.c: Likewise.
14305 * include/grub/gfxmenu_model.h: Likewise.
14306 * include/grub/gfxmenu_view.h: Likewise.
14307 * include/grub/gfxwidgets.h: Likewise.
14308 * include/grub/gui.h: Likewise.
14309 * include/grub/gui_string_util.h: Likewise.
14310 * include/grub/icon_manager.h: Likewise.
14311
14312 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
14313
14314 Agglomerate scrolling in gfxterm.
14315
14316 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
14317 (grub_virtual_screen_setup): Initialise 'total_screen'.
14318 (write_char): Split to ...
14319 (paint_char): ... this ...
14320 (write_char): ... and this.
14321 (paint_char): Handle delayed scrolling.
14322 (draw_cursor): Likewise.
14323 (scroll_up): Split to ...
14324 (real_scroll): ... this ...
14325 (scroll_up): ... and this.
14326 (real_scroll): Handle multi-line scroll and draw below-the-bottom
14327 characters.
14328 (grub_gfxterm_refresh): Call real_scroll.
14329
14330 2010-02-06 Colin D Bennett <colin@gibibit.com>
14331
14332 * include/grub/misc.h (grub_iscntrl): New inline function.
14333 (grub_isalnum): Likewise.
14334 (grub_strtol): Likewise.
14335
14336 2010-02-06 Colin D Bennett <colin@gibibit.com>
14337
14338 * normal/menu_text.c (get_entry_number): Move from here ...
14339 * normal/menu.c (get_entry_number): ... moved here.
14340 * include/grub/menu.h (grub_menu_get_default_entry_index):
14341 New prototype.
14342 * normal/menu.c (grub_menu_get_default_entry_index): New function.
14343 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
14344 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
14345 (grub_menu_viewer_should_return): Likewise.
14346 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
14347 * normal/menu_text.c (run_menu): Enable menu switching.
14348 * normal/menu_viewer.c (should_return): New variable.
14349 (menu_viewer_changed): Likewise.
14350 (grub_menu_viewer_show_menu): Handle menu viewer changes.
14351 (grub_menu_viewer_should_return): New function.
14352 (menuviewer_write_hook): Likewise.
14353 (grub_menu_viewer_init): Likewise.
14354
14355 2010-02-06 Colin D Bennet <colin@gibibit.com>
14356 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
14357
14358 Support for gfxterm in a window.
14359
14360 * include/grub/gfxterm.h: New file.
14361 * include/grub/video.h (struct grub_video_rect): New declaration.
14362 (grub_video_rect_t): Likewise.
14363 * term/gfxterm.c (struct grub_gfxterm_window): New type.
14364 (refcount): New variable.
14365 (render_target): Likewise.
14366 (window): Likewise.
14367 (repaint_callback): Likewise.
14368 (grub_virtual_screen_setup): Use 'render_target'.
14369 (init_window): New function.
14370 (grub_gfxterm_init_window): Likewise.
14371 (grub_gfxterm_init): Check reference counter.
14372 Use init_window.
14373 (destroy_window): New function.
14374 (grub_gfxterm_destroy_window): Likewise.
14375 (grub_gfxterm_fini): Check reference counter.
14376 Use destroy_window.
14377 (redraw_screen_rect): Restore viewport.
14378 Use 'render_target' and 'window'.
14379 Call 'repaint_callback'.
14380 (write_char): Use 'render_target'.
14381 (draw_cursor): Likewise.
14382 (scroll_up): Restore viewport.
14383 Use 'render_target' and 'window'.
14384 Call 'repaint_callback'.
14385 (grub_gfxterm_cls): Likewise.
14386 (grub_gfxterm_refresh): Use 'window'.
14387 (grub_gfxterm_set_repaint_callback): New function.
14388 (grub_gfxterm_background_image_cmd): Use 'window'.
14389 (grub_gfxterm_get_term): New function.
14390 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
14391
14392 2010-02-06 Colin D Bennett <colin@gibibit.com>
14393
14394 Bitmap scaling support.
14395
14396 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
14397 (bitmap_scale_mod_SOURCES): New variable.
14398 (bitmap_scale_mod_CFLAGS): Likewise.
14399 (bitmap_scale_mod_LDFLAGS): Likewise.
14400 * include/grub/bitmap_scale.h: New file.
14401 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
14402 (background_image_cmd_options): New variable.
14403 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
14404 (cmd): Rename and change type to ...
14405 (background_image_cmd_handle): ... this. All users updated.
14406 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
14407 * video/bitmap_scale.c: New file.
14408
14409 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
14410
14411 SDL support.
14412
14413 * Makefile.in (LIBSDL): New variable.
14414 (enable_grub_emu_sdl): Likewise.
14415 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
14416 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
14417 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
14418 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
14419 * util/sdl.c: New file.
14420
14421 2010-02-06 Colin D Bennett <colin@gibibit.com>
14422 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
14423
14424 Double buffering support.
14425
14426 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
14427 * include/grub/video.h: Update comment.
14428 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
14429 New type.
14430 (grub_video_fb_doublebuf_blit_init): New prototype.
14431 * term/gfxterm.c (scroll_up): Support double buffering.
14432 (grub_gfxterm_refresh): Likewise.
14433 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
14434 (grub_video_fb_doublebuf_blit_init): Likewise.
14435 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
14436 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
14437 'displayed_page', 'render_page' and 'update_screen'.
14438 (grub_video_vbe_fini): Free offscreen buffer.
14439 (doublebuf_pageflipping_commit): New function.
14440 (doublebuf_pageflipping_update_screen): Likewise.
14441 (doublebuf_pageflipping_init): Likewise.
14442 (double_buffering_init): Likewise.
14443 (grub_video_vbe_setup): Enable doublebuffering.
14444 (grub_video_vbe_swap_buffers): Implement.
14445 (grub_video_vbe_set_active_render_target): Handle double buffering.
14446 (grub_video_vbe_get_active_render_target): Likewise.
14447 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
14448 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
14449 (grub_video_vbe_enable_double_buffering): Likewise.
14450 (grub_video_vbe_swap_buffers): Use update_screen.
14451 (grub_video_set_mode): Use double buffering.
14452
14453 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
14454
14455 * maintainance/gentrigtables.py: Remove.
14456 * lib/trig.c: Likewise.
14457
14458 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
14459
14460 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
14461 `trigtables.c'.
14462 (trigtables.c): New rule.
14463 (gentrigtables): Likewise.
14464 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
14465
14466 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
14467
14468 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
14469 integer constants.
14470
14471 2010-02-06 Colin D Bennet <colin@gibibit.com>
14472
14473 Trigonometry support.
14474
14475 * include/grub/trig.h: New file.
14476 * lib/trig.c: Likewise.
14477 * maintainance/gentrigtables.py: Likewise.
14478 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
14479 (trig_mod_SOURCES): New variable.
14480 (trig_mod_CFLAGS): Likewise.
14481 (trig_mod_LDFLAGS): Likewise.
14482
14483 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
14484
14485 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
14486 disk devices.
14487
14488 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
14489
14490 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
14491 error.
14492
14493 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
14494
14495 * util/hostdisk.c (open_device): Don't use partition device when reading
14496 before the partition.
14497 (grub_util_biosdisk_read): Don't read from partition and before the
14498 partition in single operation.
14499 (grub_util_biosdisk_write): Don't write to partition and before the
14500 partition in single operation.
14501
14502 2010-02-03 Torsten Landschoff <torsten@debian.org>
14503
14504 * kern/disk.c (grub_disk_read): Fix offset computation when reading
14505 last sectors.
14506
14507 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
14508
14509 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
14510 CDROM reads.
14511 (grub_biosdisk_write): Refuse to write to CDROM.
14512
14513 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
14514
14515 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
14516
14517 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
14518
14519 * font/font.c (find_glyph): Check that bmp_idx is available before
14520 using it.
14521 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
14522 with (font == NULL).
14523
14524 2010-01-28 Christian Schmitt <chris@ilovelinux.de>
14525
14526 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
14527
14528 2010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
14529
14530 * include/grub/script_sh.h (sourcecode): Add const qualifier.
14531 * util/grub-script-check.c (getline): Fix empty lines case.
14532
14533 2010-01-28 Robert Millan <rmh.grub@aybabtu.com>
14534
14535 * Makefile.in (check): Exit with fail status when one of the tests
14536 fails.
14537 * tests/example_functional_test.c (example_test): Fix reversed assert.
14538 * tests/example_unit_test.c (example_test): Likewise.
14539
14540 2010-01-28 Colin Watson <cjwatson@ubuntu.com>
14541
14542 * util/grub.d/10_linux.in: This script does not use any of the
14543 contents of gettext.sh, only the external command `gettext', so stop
14544 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
14545 the same prefix as GRUB.)
14546 * util/grub.d/10_kfreebsd.in: Likewise.
14547
14548 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
14549
14550 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
14551 of the line.
14552
14553 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
14554
14555 * kern/disk.c (grub_disk_read): Fix offset computation when reading
14556 last sectors.
14557
14558 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
14559
14560 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
14561 having a 4KiB and not 32KiB buffer size.
14562
14563 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
14564
14565 * util/hostfs.c: Include `<errno.h>'.
14566 (grub_hostfs_read): Handle errors from fseeko() and fread().
14567
14568 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
14569
14570 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
14571 loop when using read hooks on files whose size isn't sector-aligned.
14572
14573 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
14574
14575 Remove unused parameter.
14576
14577 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
14578 (grub_iso9660_open): Remove initialization of `data->length'.
14579
14580 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
14581
14582 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
14583 memleak conditions.
14584
14585 2010-01-27 Carles Pina i Estany <carles@pina.cat>
14586
14587 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
14588 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
14589
14590 2010-01-26 Carles Pina i Estany <carles@pina.cat>
14591
14592 * util/bin2h.c (usage): Fix warning (space after backslash).
14593
14594 2010-01-26 Carles Pina i Estany <carles@pina.cat>
14595
14596 * font/font.c: Include `grub/fontformat.h.
14597 Remove font file format constants.
14598 (grub_font_load): Use the new macros.
14599 * include/grub/fontformat.h: New file.
14600 * util/grub-mkfont.c: Include `grub/fontformat.c'.
14601 (write_font_pf2): Use the new macros.
14602
14603 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
14604
14605 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
14606 does.
14607
14608 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
14609
14610 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
14611
14612 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
14613 (_start): Macroify `0x7F'.
14614
14615 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
14616 (make_install_device): Use "(pxe)" as fallback prefix when booting
14617 via PXE.
14618
14619 2010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
14620
14621 * configure.ac: Reset LIBS after check for libgcc symbols.
14622
14623 2010-01-25 Colin Watson <cjwatson@ubuntu.com>
14624
14625 * util/hostdisk.c (open_device): Add trailing newline to debug
14626 message.
14627
14628 2010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
14629
14630 * configure.ac: Check for `limits.h'.
14631 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
14632
14633 2010-01-24 Robert Millan <rmh.grub@aybabtu.com>
14634
14635 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
14636 capitalize error strings.
14637
14638 2010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
14639
14640 * util/grub.d/10_hurd.in: Add a recovery mode.
14641
14642 2010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
14643
14644 * configure.ac: Check for libgcc symbols with -nostdlib.
14645
14646 2010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
14647
14648 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
14649
14650 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
14651
14652 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
14653 stack since heap may be unavailable at that point.
14654 (grub_ofconsole_gotoxy): Likewise.
14655
14656 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
14657
14658 * configure.ac: Check for _restgpr_14_x.
14659 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
14660 and _savegpr_* prototypes.
14661
14662 2010-01-22 Robert Millan <rmh.grub@aybabtu.com>
14663
14664 Use generic grub_reboot() for i386-efi.
14665
14666 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
14667 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
14668 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
14669
14670 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
14671
14672 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
14673 presence of "prefix" variable as it breaks when normal.mod is
14674 embedded.
14675
14676 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
14677
14678 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
14679 stack since heap is unavailable at that point.
14680
14681 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
14682
14683 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
14684 (grub_freebsd_bootinfo): Rewritten.
14685 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
14686
14687 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
14688
14689 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
14690
14691 2010-01-21 Robert Millan <rmh.grub@aybabtu.com>
14692
14693 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
14694 domain now.
14695
14696 2010-01-20 Felix Zielcke <fzielcke@z-51.de>
14697
14698 * util/misc.c (make_system_path_relative_to_its_root): Change the work
14699 around for handling "/" to the correct fix. Fix a memory leak. Use
14700 xstrdup instead of strdup.
14701
14702 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
14703
14704 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
14705
14706 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
14707
14708 Optimise glyph lookup by Basic Multilingual Plane lookup array.
14709
14710 * font/font.c (struct grub_font): New member 'bmp_idx'.
14711 (font_init): Initialise 'bmp_idx'.
14712 (load_font_index): Fill 'bmp_idx'.
14713 (find_glyph): Make inline. Use bmp_idx for BMP characters.
14714
14715 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
14716
14717 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
14718 unnecessary calls.
14719
14720 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
14721
14722 Move context handling out of the kernel.
14723
14724 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
14725 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
14726 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
14727 * conf/i386-efi.rmk: Likewise.
14728 * conf/i386-ieee1275.rmk: Likewise.
14729 * conf/i386-pc.rmk: Likewise.
14730 * conf/powerpc-ieee1275.rmk: Likewise.
14731 * conf/sparc64-ieee1275.rmk: Likewise.
14732 * conf/x86_64-efi.rmk: Likewise.
14733 * include/grub/env.h: Include grub/menu.h.
14734 (grub_env_var_type): Removed.
14735 (grub_env_var): Replaced field 'type' with 'global'.
14736 (grub_env_find): New prototype.
14737 (grub_env_context_open): Remove EXPORT_FUNC.
14738 (grub_env_context_close): Likewise.
14739 (grub_env_export): Likewise.
14740 (grub_env_set_data_slot): Removed.
14741 (grub_env_get_data_slot): Likewise.
14742 (grub_env_unset_data_slot): Likewise.
14743 (grub_env_unset_menu): New prototype.
14744 (grub_env_set_menu): Likewise.
14745 (grub_env_get_menu): Likewise.
14746 * include/grub/env_private.h: New file.
14747 * include/grub/normal.h (grub_context_init): New prototype.
14748 (grub_context_fini): Likewise.
14749 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
14750 * normal/context.c (grub_cmd_export): ... to here.
14751 * kern/env.c: Include env_private.h.
14752 (HASHSZ): Moved to include/grub/env_private.h.
14753 (grub_env_context): Likewise.
14754 (grub_env_sorted_var): Likewise.
14755 (current_context): Renamed from this ...
14756 (grub_current_context): ...to this. 'static' removed. All users updated.
14757 (grub_env_find): Removed 'static'.
14758 (grub_env_context_open): Moved to normal/context.c.
14759 (grub_env_context_close): Likewise.
14760 (grub_env_export): Likewise.
14761 (mangle_data_slot_name): Removed.
14762 (grub_env_set_data_slot): Likewise.
14763 (grub_env_get_data_slot): Likewise.
14764 (grub_env_unset_data_slot): Likewise.
14765 * kern/main.c (grub_set_root_dev): Don't export root.
14766 It will be done later.
14767 (grub_main): Don't export prefix.
14768 It will be done later.
14769 * normal/context.c: New file.
14770 * normal/main.c (free_menu): Use grub_env_unset_menu.
14771 (grub_normal_add_menu_entry): Use grub_env_get_menu.
14772 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
14773 (GRUB_MOD_INIT(normal)): Call grub_context_init.
14774 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
14775
14776 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
14777
14778 setpci support.
14779
14780 * commands/setpci.c: New file.
14781 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
14782 (setpci_mod_SOURCES): New variable.
14783 (setpci_mod_CFLAGS): Likewise.
14784 (setpci_mod_LDFLAGS): Likewise.
14785
14786 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
14787
14788 Byte-addressable PCI configuration space.
14789
14790 * bus/pci.c (grub_pci_make_address): Use byte address instead of
14791 dword address.
14792 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
14793 GRUB_PCI_REG_CACHELINE.
14794 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
14795 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
14796 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
14797 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
14798 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
14799 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
14800 grub_pci_make_address.
14801 (lock_rom_area): Likewise.
14802 * commands/lspci.c (grub_lspci_iter): Use macroses
14803 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
14804 of grub_pci_make_address.
14805 * disk/ata.c (grub_ata_pciinit): Likewise.
14806 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
14807 (GRUB_PCI_REG_VENDOR): Likewise.
14808 (GRUB_PCI_REG_DEVICE): Likewise.
14809 (GRUB_PCI_REG_COMMAND): Likewise.
14810 (GRUB_PCI_REG_STATUS): Likewise.
14811 (GRUB_PCI_REG_REVISION): Likewise.
14812 (GRUB_PCI_REG_CLASS): Likewise.
14813 (GRUB_PCI_REG_CACHELINE): Likewise.
14814 (GRUB_PCI_REG_LAT_TIMER): Likewise.
14815 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
14816 (GRUB_PCI_REG_BIST): Likewise.
14817 (GRUB_PCI_REG_ADDRESSES): Likewise.
14818 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
14819 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
14820 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
14821 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
14822 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
14823 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
14824 (GRUB_PCI_REG_CIS_POINTER): Likewise.
14825 (GRUB_PCI_REG_SUBVENDOR): Likewise.
14826 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
14827 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
14828 (GRUB_PCI_REG_CAP_POINTER): Likewise.
14829 (GRUB_PCI_REG_IRQ_LINE): Likewise.
14830 (GRUB_PCI_REG_IRQ_PIN): Likewise.
14831 (GRUB_PCI_REG_MIN_GNT): Likewise.
14832 (GRUB_PCI_REG_MAX_LAT): Likewise.
14833 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
14834 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
14835 * video/efi_uga.c (find_framebuf): Likewise.
14836 * video/sm712.c (grub_video_sm712_setup): Likewise.
14837 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
14838 space.
14839
14840 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
14841
14842 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
14843 can be reliably determined to be supported.
14844
14845 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
14846
14847 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
14848 that VESA is supported.
14849 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
14850 supported.
14851
14852 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
14853
14854 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
14855
14856 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
14857
14858 * util/misc.c (make_system_path_relative_to_its_root): Work around
14859 special-casing of "/", as previous incarnation of this routine did.
14860
14861 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
14862
14863 Fix any-emu compilation.
14864
14865 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
14866 * grub_bin2h_SOURCES: New variable.
14867
14868 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
14869
14870 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
14871
14872 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
14873
14874 * util/grub.d/00_header.in: Fix handling of locale_dir.
14875
14876 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
14877
14878 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
14879 as possible unifont location (Gentoo).
14880 Reported by: Alexander Brüning
14881
14882 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
14883
14884 Don't try to generate lists for kernel.img.
14885
14886 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
14887 (pkglib_MODULES): Remove kernel.img.
14888 (kernel_img_EXPORTS): Removed.
14889 (kernel_img_RELOCATABLE): New variable.
14890 * conf/x86_64-efi.rmk: Likewise.
14891 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
14892
14893 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
14894
14895 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
14896 grub_xasprintf or grub_snprintf.
14897 (grub_vsprintf): Likewise.
14898 (grub_snprintf): New proto.
14899 (grub_vsnprintf): Likewise.
14900 (grub_xasprintf): Likewise.
14901 (grub_xvasprintf): Likewise.
14902 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
14903 (grub_sprintf): Removed.
14904 (grub_vsnprintf): New function.
14905 (grub_snprintf): Likewise.
14906 (grub_xvasprintf): Likewise.
14907 (grub_xasprintf): Likewise.
14908 (grub_vsprintf): Renamed to ...
14909 (grub_vsnprintf_real): ...this. New argument max_len.
14910
14911 2010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
14912
14913 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
14914 fix grub-script-check warning.
14915
14916 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
14917
14918 * include/grub/font.h (grub_font_load): Fix prototype.
14919
14920 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
14921
14922 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
14923
14924 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
14925
14926 * include/grub/x86_64/at_keyboard.h: New file.
14927
14928 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
14929
14930 * loader/mips/linux.c: Include missing grub/i18n.h.
14931
14932 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
14933
14934 * normal/menu.c (notify_execution_failure): Clarify error message.
14935
14936 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
14937
14938 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
14939 return value (and revert all return statements). Update users.
14940
14941 2010-01-20 Dan Merillat <debian@dan.merillat.org>
14942
14943 * kern/device.c (grub_device_iterate): Allocate new part_ent
14944 structure based on sizeof (*p) rather than sizeof (p->next), to
14945 account for structure padding.
14946
14947 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
14948 disk is NULL, which might happen for LVM physical volumes with no
14949 LVM signature.
14950
14951 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
14952
14953 * loader/mips/linux.c (grub_cmd_initrd)
14954 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
14955
14956 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
14957
14958 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
14959 (grub_video_video_init, grub_video_bitmap_init)
14960 (grub_font_manager_init, grub_term_gfxterm_init)
14961 (grub_at_keyboard_init): New extern declarations.
14962 (grub_machine_init): Initialize gfxterm and at_keyboard.
14963
14964 * kern/main.c (grub_main): Revert grub_printf delay kludge.
14965
14966 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
14967 `gfxterm.mod' into core image.
14968
14969 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
14970 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
14971 (kernel_img_FORMAT): Copy to ...
14972
14973 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
14974 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
14975 (kernel_img_FORMAT): ... here, and ...
14976
14977 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
14978 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
14979 (kernel_img_FORMAT): ... here.
14980
14981 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
14982 and input (at_keyboard) terminals in kernel.
14983 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
14984
14985 (pkglib_MODULES): Remove `pci.mod'.
14986 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
14987 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
14988 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
14989 (at_keyboard_mod_LDFLAGS): Remove variables.
14990
14991 2010-01-11 Felix Zielcke <fzielcke@z-51.de>
14992
14993 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
14994
14995 2009-12-10 Robert Millan <rmh.grub@aybabtu.com>
14996
14997 * include/grub/mips/libgcc.h: Only export symbols for functions
14998 that libgcc provides.
14999
15000 2009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
15001
15002 MIPS support.
15003
15004 * bus/bonito.c: New file.
15005 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
15006 GRUB_PCI_NUM_DEVICES.
15007 * term/i386/pc/serial.c: Move to ...
15008 * term/serial.c: ... here. All users updated.
15009 * util/i386/pc/grub-mkimage.c: Move to ...
15010 * util/grub-mkrawimage.c: ... here. All users updated.
15011 * term/i386/pc/at_keyboard.c: Move to ...
15012 * term/at_keyboard.c: ... here. All users updated.
15013 * conf/mips-qemu-mips.rmk: New file.
15014 * conf/mips-yeeloong.rmk: Likewise.
15015 * conf/mips.rmk: Likewise.
15016 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
15017 mipsel-qemu-mips.
15018 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
15019 to port addresses.
15020 (grub_ata_pciinit): Support CS5536.
15021 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
15022 * font/font_cmd.c (loadfont_command): Open file before passing it to
15023 grub_font_load.
15024 (pseudo_file_read): New function.
15025 (pseudo_file_close): Likewise.
15026 (pseudo_fs): New structure.
15027 (load_font_module): New function.
15028 (GRUB_MOD_INIT(font_manager)): Load embedded font.
15029 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
15030 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
15031 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
15032 * include/grub/i386/at_keyboard.h: Split into ...
15033 * include/grub/at_keyboard.h: ... this ...
15034 * include/grub/i386/at_keyboard.h: ... and this.
15035 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
15036 New prototype.
15037 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
15038 updated.
15039 (grub_elf64_size): Likewise.
15040 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
15041 filename.
15042 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
15043 * include/grub/i386/coreboot/serial.h: Rewritten.
15044 * include/grub/i386/ieee1275/serial.h: Include
15045 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
15046 * include/grub/i386/pc/serial.h: Moved from here ...
15047 * include/grub/serial.h: ... to here. All users updated.
15048 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
15049 (GRUB_PCI_NUM_BUS): Likewise.
15050 (GRUB_PCI_NUM_DEVICES): Likewise.
15051 (grub_pci_device_map_range): Add missing volatile keyword.
15052 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
15053 * include/grub/mips/at_keyboard.h: New file.
15054 * include/grub/mips/cache.h: Likewise.
15055 * include/grub/mips/io.h: Likewise.
15056 * include/grub/mips/kernel.h: Likewise.
15057 * include/grub/mips/libgcc.h: Likewise.
15058 * include/grub/mips/pci.h: Likewise.
15059 * include/grub/mips/qemu-mips/boot.h: Likewise.
15060 * include/grub/mips/qemu-mips/kernel.h: Likewise.
15061 * include/grub/mips/qemu-mips/loader.h: Likewise.
15062 * include/grub/mips/qemu-mips/memory.h: Likewise.
15063 * include/grub/mips/qemu-mips/serial.h: Likewise.
15064 * include/grub/mips/qemu-mips/time.h: Likewise.
15065 * include/grub/mips/relocator.h: Likewise.
15066 * include/grub/mips/time.h: Likewise.
15067 * include/grub/mips/types.h: Likewise.
15068 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
15069 * include/grub/mips/yeeloong/boot.h: Likewise.
15070 * include/grub/mips/yeeloong/kernel.h: Likewise.
15071 * include/grub/mips/yeeloong/loader.h: Likewise.
15072 * include/grub/mips/yeeloong/memory.h: Likewise.
15073 * include/grub/mips/yeeloong/pci.h: Likewise.
15074 * include/grub/mips/yeeloong/serial.h: Likewise.
15075 * include/grub/mips/yeeloong/time.h: Likewise.
15076 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
15077 * kern/elf.c (grub_elf32_size): New parameter. All users
15078 updated.
15079 (grub_elf64_size): Likewise.
15080 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
15081 Load modules before saying "Welcome to GRUB!".
15082 Call grub_refresh after saying "Welcome to GRUB!".
15083 * kern/mips/cache.S: New file.
15084 * kern/mips/cache_flush.S: Likewise.
15085 * kern/mips/dl.c: Likewise.
15086 * kern/mips/init.c: Likewise.
15087 * kern/mips/qemu-mips/init.c: Likewise.
15088 * kern/mips/startup.S: Likewise.
15089 * kern/mips/yeeloong/init.c: Likewise.
15090 * kern/term.c (grub_putcode): Handle NULL terminal.
15091 (grub_getcharwidth): Likewise.
15092 (grub_getkey): Likewise.
15093 (grub_checkkey): Likewise.
15094 (grub_getkeystatus): Likewise.
15095 (grub_getxy): Likewise.
15096 (grub_getwh): Likewise.
15097 (grub_gotoxy): Likewise.
15098 (grub_cls): Likewise.
15099 (grub_setcolorstate): Likewise.
15100 (grub_setcolor): Likewise.
15101 (grub_getcolor): Likewise.
15102 (grub_refresh): Likewise.
15103 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
15104 (write_jump): Add hatch nop.
15105 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
15106 * lib/mips/setjmp.S: New file.
15107 * loader/mips/linux.c: Likewise.
15108 * term/i386/pc/at_keyboard.c: Move from here ...
15109 * term/at_keyboard.c: ... to here.
15110 * term/i386/pc/serial.c: Moved from here ...
15111 * term/serial.c: ... to here. All users updated.
15112 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
15113 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
15114 (serial_translate_key_sequence): Avoid deadlock.
15115 (grub_serial_getkey): Handle backspace.
15116 (grub_serial_putchar): Fix newline handling.
15117 * util/i386/pc/grub-mkimage.c: Move from here ...
15118 * util/grub-mkrawimage.c: ... to here. All users updated.
15119 (generate_image): New parameters 'font_path' and 'format'.
15120 Support embedding font.
15121 Use grub_host_to_target* instead of grub_cpu_to_le*.
15122 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
15123 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
15124 (options): New option "--font".
15125 (usage): Likewise.
15126 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
15127 (main): Handle "--font".
15128 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
15129 (grub_virtual_screen_setup): Set bg_color_display.
15130 (redraw_screen_rect): Use bg_color_display instead of incorrect
15131 bg_color.
15132 (grub_gfxterm_cls): Likewise.
15133 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
15134 Support embedding config file.
15135 (add_segments): Likewise.
15136 (options): New option "--config".
15137 (main): Handle "--config".
15138 * video/sm712.c: New file.
15139
15140 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
15141
15142 Fix parallel builds.
15143
15144 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
15145 font.c depend on ascii.h).
15146
15147 2010-01-12 Carles Pina i Estany <carles@pina.cat>
15148
15149 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
15150
15151 2010-01-11 Carles Pina i Estany <carles@pina.cat>
15152
15153 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
15154 By default: disabled.
15155 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
15156 parameter.
15157
15158 2010-01-10 Carles Pina i Estany <carles@pina.cat>
15159
15160 * font/font.c: Update copyright years.
15161 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
15162
15163 2010-01-10 Carles Pina i Estany <carles@pina.cat>
15164
15165 * font/font.c: Include `ascii.h'.
15166 (ASCII_BITMAP_SIZE): New macro.
15167 (ascii_font_glyph): Define.
15168 (ascii_glyph_lookup): New function.
15169 (grub_font_get_string_width): Change comment. If glyph not found, use
15170 ascii_glyph_lookup.
15171 (grub_font_get_glyph_with_fallback): If glyph not available returns
15172 ascii_glyph_lookup.
15173 * util/grub-mkfont.c (file_formats): New enum.
15174 (options): Add `ascii-bitmaps' new option.
15175 (usage): Add `asii-bitmaps' new option.
15176 (write_font_ascii_bitmap): New function.
15177 (write_font): Rename to ...
15178 (write_font_p2): ... this. Remove print_glyphs call.
15179 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
15180 used. Call print_glyphs.
15181 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
15182
15183 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
15184
15185 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
15186 (grub_bin2h_SOURCES): New variable.
15187 * util/bin2h.c: New file.
15188
15189 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
15190
15191 * include/multiboot.h: Resynced with spec.
15192 * include/multiboot2.h: Likewise.
15193 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
15194 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
15195
15196 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
15197
15198 * include/grub/term.h (grub_term_register_input,
15199 grub_term_register_output): Check return of terminal init()
15200 routines, and abort if errors are raised.
15201
15202 * commands/terminal.c: Update copyright year.
15203
15204 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
15205
15206 * commands/terminal.c (grub_cmd_terminal_input)
15207 (grub_cmd_terminal_output): Check return of terminal init()
15208 routines, and abort if errors are raised.
15209
15210 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
15211
15212 * include/grub/i386/bsd.h: Fix include pathes.
15213
15214 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
15215
15216 Add missing *BSD copyright headers.
15217
15218 * include/grub/aout.h: Add BSD licence.
15219 * include/grub/i386/bsd.h: Parts under different licences moved to ...
15220 * include/grub/i386/freebsd_linker.h: ... here,
15221 * include/grub/i386/freebsd_reboot.h: ... here,
15222 * include/grub/i386/netbsd_bootinfo.h: ... here,
15223 * include/grub/i386/netbsd_reboot.h: ... here,
15224 * include/grub/i386/openbsd_bootarg.h: ... here,
15225 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
15226 licence to each file.
15227
15228 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
15229
15230 * acinclude.m4: Remove `nop' assembly instruction; it's not
15231 implemented by all architectures.
15232
15233 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
15234
15235 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
15236 ELILO. This is no longer necessary.
15237
15238 2010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
15239
15240 Added new tool, grub-scrit-check to verify grub.cfg syntax.
15241
15242 * util/grub-script-check.c: grub-script-check tool.
15243 * conf/common.rmk: Make rules for grub-script-check.
15244
15245 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
15246
15247 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
15248 spotting it back in 2008. Shame on me for forgetting he did.
15249
15250 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
15251
15252 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
15253
15254 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
15255 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
15256 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
15257 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
15258 (GRUB_VIDEO_TYPE_EFI): Rename to ...
15259 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
15260
15261 2010-01-17 Robert Millan <rmh.grub@aybabtu.com>
15262
15263 * include/grub/test.h: Add license header.
15264 * tests/example_functional_test.c: Likewise.
15265 * tests/example_unit_test.c: Likewise.
15266 * tests/lib/functional_test.c: Likewise.
15267 * tests/lib/test.c: Likewise.
15268 * tests/lib/unit_test.c: Likewise.
15269
15270 2010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
15271
15272 Use flag-based instead of hook-based video mode selection and "auto"
15273 keyword.
15274
15275 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
15276 (grub_video_set_mode): Changed prototype. All users updated.
15277 (grub_video_check_mode_flag): New inline function.
15278 * video/video.c (parse_modespec): New function.
15279 (grub_video_set_mode): Parse flags and keywords.
15280
15281 2010-01-17 Carles Pina i Estany <carles@pina.cat>
15282
15283 * util/misc.c (grub_util_info): Fix the order of the parameters in a
15284 fprintf call.
15285
15286 2010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
15287
15288 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
15289
15290 2010-01-16 Carles Pina i Estany <carles@pina.cat>
15291
15292 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
15293 string.
15294 * util/grub-emu.c (usage): Likewise.
15295 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
15296 * util/i386/efi/grub-mkimage.c (usage): Likewise.
15297 * util/i386/pc/grub-mkimage.c (usage): Likewise.
15298 * util/i386/pc/grub-setup.c (usage): Likewise.
15299
15300 2010-01-16 Carles Pina i Estany <carles@pina.cat>
15301
15302 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
15303 the message.
15304 (grub_util_info): Likewise.
15305 (grub_util_error): Likewise.
15306 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
15307 and/or new lines in `grub_util_warna', `grub_util_info',
15308 `grub_util_error' calls.
15309 * util/getroot.c: Likewise.
15310 * util/grub-editenv.c: Likewise.
15311 * util/grub-emu.c: Likewise.
15312 * util/grub-fstest.c: Likewise.
15313 * util/grub-mkdevicemap.c: Likewise.
15314 * util/grub-mkfont.c: Likewise.
15315 * util/grub-mkpasswd-pbkdf2.c: Likewise.
15316 * util/grub-mkrelpath.c: Likewise.
15317 * util/grub-pe2elf.c: Likewise.
15318 * util/grub-probe.c: Likewise.
15319 * util/hostdisk.c: Likewise.
15320 * util/i386/efi/grub-mkimage.c: Likewise.
15321 * util/i386/pc/grub-mkimage.c: Likewise.
15322 * util/i386/pc/grub-setup.c: Likewise.
15323 * util/ieee1275/ofpath.c: Likewise.
15324 * util/mkisofs/eltorito.c: Likewise.
15325 * util/mkisofs/rock.c: Likewise.
15326 * util/mkisofs/write.c: Likewise.
15327 * util/raid.c: Likewise.
15328 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
15329 * util/sparc64/ieee1275/grub-setup.c: Likewise.
15330
15331 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
15332
15333 Enable multiboot on non-pc.
15334
15335 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
15336 multiboot.mod and multiboot2.mod to ...
15337 * conf/i386.rmk (pkglib_MODULES): ... here.
15338 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
15339 Moved to ...
15340 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
15341 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
15342 Moved to ...
15343 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
15344 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
15345 Moved to ...
15346 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
15347 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
15348 Moved to ...
15349 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
15350 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
15351 relocator.mod.
15352 (ata_mod_SOURCES): Removed.
15353 (ata_mod_CFLAGS): Likewise.
15354 (ata_mod_LDFLAGS): Likewise.
15355 (relocator_mod_SOURCES): Removed.
15356 (relocator_mod_CFLAGS): Likewise.
15357 (relocator_mod_ASFLAGS): Likewise.
15358 (relocator_mod_LDFLAGS): Likewise.
15359 Include i386.mk.
15360 * include/grub/x86_64/multiboot.h: New file.
15361 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
15362 Terminate EFI.
15363
15364 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
15365
15366 Video multiboot support.
15367
15368 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
15369 New prototype.
15370 * include/multiboot.h: Resynced with multiboot specification.
15371 * include/multiboot2.h: Likewise.
15372 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
15373 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
15374 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
15375 (HAS_VGA_TEXT): Likewise.
15376 (accepts_video): New variable.
15377 (grub_multiboot_set_accepts_video): New function.
15378 (grub_multiboot_get_mbi_size): Account for video structures.
15379 (set_video_mode): New function.
15380 (retrieve_video_parameters): Likewise.
15381 (grub_multiboot_make_mbi): Fill video fields.
15382
15383 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
15384
15385 Video driver ids.
15386
15387 * include/grub/video.h (grub_video_driver_id): New type.
15388 (grub_video_adapter): New member 'id'. All users updated.
15389 (grub_video_get_driver_id): New proto.
15390 * video/video.c (grub_video_get_driver_id): New function.
15391
15392 2010-01-14 Carles Pina i Estany <carles@pina.cat>
15393
15394 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
15395 `var=val'.
15396
15397 2010-01-14 Carles Pina i Estany <carles@pina.cat>
15398
15399 * normal/cmdline.c (print_completion): Gettextizze.
15400
15401 2001-01-14 Carles Pina i Estany <carles@pina.cat>
15402
15403 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
15404
15405 2010-01-14 Carles Pina i Estany <carles@pina.cat>
15406
15407 * gettext/gettext.c (grub_gettext_translate): Push and pop
15408 grub_errno.
15409 (grub_gettext_delete_list): Change comment style.
15410 * kern/err.c (grub_error): Gettextizze.
15411 (grub_fatal): Gettextizze.
15412
15413 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
15414
15415 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
15416 (grub_linux16_real_boot): ... this.
15417 * kern/i386/loader.S: Likewise.
15418 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
15419 (grub_linux16_boot): New function. Switches to text mode and calls
15420 grub_linux16_real_boot().
15421
15422 * loader/i386/bsd.c: Include `<grub/video.h>'.
15423 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
15424 text mode before calling grub_unix_real_boot().
15425
15426 * loader/i386/multiboot.c: Include `<grub/video.h>'.
15427 (grub_multiboot_boot): Switch to text mode before calling
15428 grub_relocator32_boot().
15429
15430 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
15431 (grub_chainloader_boot): Switch to text mode before calling
15432 grub_chainloader_real_boot().
15433
15434 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
15435 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
15436
15437 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
15438 non-empty value.
15439
15440 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
15441 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
15442
15443 * util/grub.d/00_header.in: Define a "savedefault" function for use
15444 in menu entries.
15445 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
15446
15447 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
15448 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
15449
15450 * util/grub-mkconfig_lib.in (save_default_entry): Only set
15451 saved_entry if boot_once is unset.
15452 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
15453 previous saved entry (i.e. grub-reboot).
15454
15455 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
15456
15457 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
15458
15459 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
15460
15461 * util/grub.d/00_header.in: Use `set var=val' rather than plain
15462 `var=val'.
15463 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
15464
15465 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
15466
15467 * util/grub-reboot.in: Fix --version output.
15468 * util/grub-set-default.in: Likewise.
15469
15470 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
15471
15472 * util/grub.d/00_header.in: Silently ignore zero-sized environment
15473 blocks.
15474
15475 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
15476
15477 * util/grub.d/00_header.in: Quote the value assigned to `default',
15478 in case it contains spaces.
15479
15480 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
15481
15482 * util/grub.d/30_os-prober.in: Fix merge error that moved a
15483 `save_default_entry' call from the macosx case to the linux case.
15484
15485 2009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15486 2009-10-25 Colin Watson <cjwatson@ubuntu.com>
15487
15488 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
15489 in `chosen' environment variable.
15490 * normal/menu_text.c (get_entry_number): Check if the variable
15491 matches the title of a menu entry.
15492 (run_menu): Pass menu to get_entry_number.
15493
15494 * util/grub-reboot.in: New file.
15495 * util/grub-set-default.in: New file.
15496 * conf/common.rmk (grub-reboot): New utility.
15497 (grub-set-default): New utility.
15498
15499 * util/grub-mkconfig_lib.in (save_default_entry): New function.
15500 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
15501 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
15502 move it to `saved_entry' for the next boot. Load environment on
15503 initialisation.
15504 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
15505 * util/grub.d/10_hurd.in: Likewise.
15506 * util/grub.d/10_linux.in (linux_entry): Likewise.
15507 * util/grub.d/10_windows.in: Likewise.
15508 * util/grub.d/30_os-prober.in: Likewise.
15509
15510 * util/grub-install.in: Create environment block.
15511 * util/i386/efi/grub-install.in: Likewise.
15512 * util/ieee1275/grub-install.in: Likewise.
15513 * util/sparc64/ieee1275/grub-install.in: Likewise.
15514
15515 2010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
15516
15517 Unit testing framework for GRUB.
15518
15519 * Makefile.in: Test framework build rules for 'make check'.
15520 * conf/tests.rmk: Build rules for individual tests and framework.
15521
15522 * include/grub/test.h: Header file for whitebox tests.
15523 * tests/lib/functional_test.c: Framework support for whitebox
15524 functional tests.
15525 * tests/lib/test.c: Common whitebox testing code for unit and
15526 functional tests.
15527 * tests/lib/unit_test.c: Framework support for whitebox unit
15528 tests.
15529
15530 * tests/util/grub-shell-tester.in: Support utility for grub-script
15531 tests.
15532 * tests/util/grub-shell.in: Utility to execute grub-script
15533 commands in a Qemu instance.
15534
15535 * tests/example_functional_test.c: Example whitebox functional
15536 test.
15537 * tests/example_grub_script_test.in: Example grub-script test.
15538 * tests/example_scripted_test.in: Example scripted test.
15539 * tests/example_unit_test.c: Example whitebox unit test.
15540
15541 2010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
15542
15543 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
15544 Add loader/i386/multiboot_mbi.c.
15545 (multiboot2_mod_SOURCES): Likewise.
15546 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
15547 (multiboot2_mod_SOURCES): Likewise.
15548 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
15549 (grub_multiboot_make_mbi): Likewise.
15550 (grub_multiboot_free_mbi): Likewise.
15551 (grub_multiboot_init_mbi): Likewise.
15552 (grub_multiboot_add_module): Likewise.
15553 (grub_multiboot_set_bootdev): Likewise.
15554 * loader/i386/multiboot.c (mbi): Removed.
15555 (mbi_dest): Likewise.
15556 (alloc_mbi): New variable.
15557 (grub_multiboot_payload_size): Removed. All users updated.
15558 (grub_multiboot_pure_size): New variable.
15559 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
15560 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
15561 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
15562 (grub_fill_multiboot_mmap): Likewise.
15563 (grub_multiboot_get_bootdev): Likewise.
15564 (grub_multiboot): Use multiboot_mbi functions.
15565 * loader/i386/multiboot_mbi.c: New file.
15566
15567 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
15568
15569 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
15570 it would result in module crash.
15571
15572 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
15573
15574 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
15575 (grub_ofconsole_getwh): Split to ...
15576 (grub_ofconsole_getwh): ... this.
15577 (grub_ofconsole_dimensions): ...and this.
15578 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
15579
15580 2010-01-13 Robert Millan <rmh.grub@aybabtu.com>
15581
15582 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
15583
15584 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
15585
15586 * loader/i386/pc/multiboot2.c: Removed stalled file.
15587
15588 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
15589
15590 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
15591 Reported by: Grégoire Sutre
15592
15593 2010-01-11 Robert Millan <rmh.grub@aybabtu.com>
15594
15595 * util/misc.c (canonicalize_file_name): New function.
15596 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
15597 instead of realpath().
15598
15599 2010-01-11 Colin Watson <cjwatson@ubuntu.com>
15600
15601 * util/grub-install.in (usage): Clarify meaning of --root-directory,
15602 and make it clearer that it's optional. Based on confusion
15603 witnessed on IRC.
15604
15605 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
15606
15607 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
15608 in premature implicit newline.
15609
15610 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
15611
15612 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
15613 which resulted in garbled command line at the end of screen.
15614
15615 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
15616
15617 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
15618 initialization with similar approach as with other Linux loaders.
15619
15620 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
15621
15622 Fix i386-ieee1275 build.
15623
15624 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
15625 and grub_term_height() for video_{width,height} initialization.
15626
15627 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
15628
15629 Fix grub-emu build.
15630
15631 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
15632
15633 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
15634 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
15635
15636 Support for multiple terminals.
15637
15638 * Makefile.in (pkglib_DATA): terminal.lst.
15639 (terminal.lst): New target.
15640 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
15641 (GRUB_MOD_INIT(handler)): Likewise.
15642 (GRUB_MOD_FINI(handler)): Likewise.
15643 * commands/help.c (grub_cmd_help): Handle multiple terminals.
15644 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
15645 * commands/sleep.c (do_print): Use grub_term_restore_pos.
15646 (grub_cmd_sleep): Use grub_term_save_pos.
15647 * commands/terminal.c: New file.
15648 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
15649 commands/terminal.c and lib/charset.c.
15650 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
15651 (pkglib_MODULES): Add terminal.mod.
15652 (terminal_mod_SOURCES): New variable.
15653 (terminal_mod_CFLAGS): Likewise.
15654 (terminal_mod_LDFLAGS): Likewise.
15655 * genhandlerlist.sh: Don't handle terminals.
15656 * genmk.rb: Generate terminal-*.lst.
15657 * genterminallist.sh: New file.
15658 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
15659 (grub_is_valid_utf8): Likewise.
15660 (grub_utf8_to_ucs4_alloc): Likewise.
15661 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
15662 (grub_menu_register_viewer): Changed argument.
15663 (grub_menu_try_text): New proto.
15664 (grub_gfxmenu_try_hook): New declaration.
15665 * include/grub/normal.h (grub_normal_exit_level): New declaration.
15666 (grub_menu_init_page): Additional argument term.
15667 (grub_normal_init_page): Likewise.
15668 (grub_cmdline_get): Arguments simplified.
15669 (grub_utf8_to_ucs4_alloc): Removed.
15670 (grub_print_ucs4): Additional argument term.
15671 (grub_getstringwidth): Likewise.
15672 (grub_print_message_indented): Likewise.
15673 (grub_menu_text_register_instances): New proto.
15674 (grub_show_menu): Likewise.
15675 (read_terminal_list): Likewise.
15676 (grub_set_more): Likewise.
15677 * include/grub/parser.h: Include handler.h.
15678 * include/grub/reader.h: Rewritten.
15679 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
15680 (GRUB_TERM_WIDTH): Changed to function.
15681 (GRUB_TERM_HEIGHT): Likewise.
15682 (GRUB_TERM_BORDER_WIDTH): Likewise.
15683 (GRUB_TERM_BORDER_HEIGHT): Likewise.
15684 (GRUB_TERM_NUM_ENTRIES): Likewise.
15685 (GRUB_TERM_ENTRY_WIDTH): Likewise.
15686 (GRUB_TERM_CURSOR_X): Likewise.
15687 (grub_term_input_class): Likewise.
15688 (grub_term_output_class): Likewise.
15689 (grub_term_outputs_disabled): New declaration.
15690 (grub_term_inputs_disabled): Likewise.
15691 (grub_term_outputs): Likewise.
15692 (grub_term_inputs): Likewise.
15693 (grub_term_register_input): Rewritten.
15694 (grub_term_register_output): Likewise.
15695 (grub_term_unregister_input): Likewise.
15696 (grub_term_unregister_output): Likewise.
15697 (FOR_ACTIVE_TERM_INPUTS): New macro.
15698 (FOR_DISABLED_TERM_INPUTS): Likewise.
15699 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
15700 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
15701 * include/grub/terminfo.h: Add oterm argument to all protypes.
15702 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
15703 Use grub_rescue_run.
15704 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
15705 All users updated.
15706 * kern/reader.c: Removed. All users updated.
15707 * kern/rescue_reader.c (grub_rescue_init): Removed.
15708 (grub_rescue_reader): Likewise.
15709 (grub_register_rescue_reader): Likewise.
15710 (grub_rescue_run): New function based on kern/reader.c.
15711 * kern/term.c: Adapted for multiterm.
15712 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
15713 (grub_is_valid_utf8): Likewise.
15714 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
15715 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
15716 right terminal.
15717 * loader/i386/linux.c (grub_linux_boot): Likewise.
15718 * normal/auth.c (grub_username_get): New function.
15719 (grub_auth_check_authentication): Use grub_username_get.
15720 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
15721 * normal/color.c: Adapt for multiterm.
15722 * normal/main.c (read_config_file): Don't use grub_reader_loop.
15723 (grub_normal_init_page): Additional argument term.
15724 (read_lists): Call read_terminal_lists.
15725 (grub_enter_normal_mode): Call grub_cmdline_run.
15726 Handle grub_normal_exit_level.
15727 (grub_cmd_normal): Make reentrant.
15728 (grub_cmd_normal_exit): New function.
15729 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
15730 * normal/menu.c: Adapt for multiterm.
15731 * normal/menu_entry.c: Likewise.
15732 * normal/menu_text.c: Likewise.
15733 * normal/menu_viewer.c: Removed. All users updated.
15734 * normal/term.c: New file.
15735 * util/console.c: Change order of includes to workaround a bug in
15736 ncurses headers.
15737 * term/terminfo.c: New argument oterm on all exported functions.
15738 All users updated.
15739 * util/grub-editenv.c (grub_term_input_class): Removed.
15740 (grub_term_output_class): Likewise.
15741
15742 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
15743
15744 Make loader output a bit more user-friendly.
15745
15746 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
15747 is being loaded. Likewise for the Hurd.
15748
15749 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
15750 that kernel of FreeBSD ${version} is being loaded.
15751
15752 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
15753 grub_dprintf().
15754 (grub_cmd_initrd): Likewise.
15755 * util/grub.d/10_linux.in (linux_entry): Print message indicating
15756 that Linux ${version} is being loaded. Likewise for initrd.
15757
15758 2010-01-09 Carles Pina i Estany <carles@pina.cat>
15759
15760 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
15761
15762 2010-01-08 Carles Pina i Estany <carles@pina.cat>
15763
15764 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
15765 (GRUB_MOD_INIT): Gettextizze.
15766 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
15767 (GRUB_MOD_INIT): Gettextizze.
15768 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
15769 (grub_cmd_linux): Capitalise Linux.
15770 (GRUB_MOD_INIT): Gettextizze.
15771 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
15772 (grub_cmd_linux): Capitalise Linux.
15773 (GRUB_MOD_INIT): Gettextizze.
15774 * loader/i386/linux.c: Include `<grub/i18n.h>'.
15775 (grub_cmd_linux): Capitalise Linux.
15776 (GRUB_MOD_INIT): Gettextizze.
15777 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
15778 (GRUB_MOD_INIT): Gettextizze.
15779 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
15780 (grub_cmd_linux): Capitalise Linux.
15781 (GRUB_MOD_INIT): Gettextizze.
15782 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
15783 (grub_cpu_xnu_init): Gettextizze.
15784 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
15785 (GRUB_MOD_INIT): Gettextizze.
15786 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
15787 (GRUB_MOD_INIT): Gettextizze.
15788 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
15789 (grub_linux_load64): Capitalise Linux.
15790 (GRUB_MOD_INIT): Gettextizze.
15791 * loader/xnu.c: Include `<grub/i18n.h>'.
15792 (GRUB_MOD_INIT): Gettextizze.
15793 * po/POTFILES: Add `loader/efi/appleloader.c',
15794 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
15795 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
15796 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
15797 `loader/i386/xnu.c', `loader/multiboot_loader.c',
15798 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
15799 and `loader/xnu.c'.
15800
15801 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
15802
15803 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
15804
15805 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
15806
15807 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
15808 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
15809 * util/mkisofs/mkisofs.c (main): Readjust --version output.
15810
15811 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
15812
15813 Reset Multiboot 2 support. New loader implements the draft in
15814 /branches/multiboot2 and shares as much code as possible with the
15815 production Multiboot 1 implementation.
15816
15817 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
15818 * loader/multiboot2.c: Likewise.
15819 * loader/i386/multiboot_helper.S: Likewise.
15820 * include/multiboot2.h: Replace with latest version from the draft
15821 in /branches/multiboot2.
15822
15823 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
15824 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
15825 and `loader/multiboot2.c'.
15826 (pkglib_MODULES): Add `multiboot2.mod'.
15827 (multiboot2_mod_SOURCES): New variable.
15828 (multiboot2_mod_LDFLAGS): Likewise.
15829 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
15830
15831 * conf/i386-pc.rmk: Likewise.
15832
15833 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
15834 (multiboot_mod_SOURCES): Remove variable.
15835 (multiboot_mod_LDFLAGS): Likewise.
15836 (multiboot_mod_CFLAGS): Likewise.
15837
15838 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
15839 `<multiboot2.h>' instead of `<multiboot.h>'.
15840 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
15841 (MULTIBOOT_HEADER_MAGIC): New macros.
15842
15843 * loader/multiboot_loader.c (module_version_status): Remove variable.
15844 (find_multi_boot2_header): Remove function.
15845 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
15846 logic. Always check for the Multiboot version we're compiling for.
15847 (grub_cmd_module_loader): Likewise.
15848 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
15849 command instead of `multiboot'.
15850
15851 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
15852
15853 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
15854 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
15855 all users.
15856
15857 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
15858 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
15859
15860 Fix breakage introduced with previous commit.
15861
15862 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
15863 commands.
15864 * normal/handler.c (read_handler_list): Revert part of previous commit
15865 affecting this file.
15866 * normal/main.c (read_lists): Move read_handler_list() call back to ...
15867 (grub_normal_execute): ... here.
15868
15869 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
15870
15871 Merge prefix-redefinition-fix branch.
15872
15873 * normal/autofs.c (read_fs_list): Make function capable of being
15874 run multiple times, gracefuly replacing the previous data
15875 structures.
15876 * normal/dyncmd.c (read_command_list): Likewise.
15877 * normal/handler.c (read_handler_list): Likewise.
15878 * normal/main.c (read_lists): New function. Calls all the
15879 list reading functions.
15880 (grub_normal_execute): Use read_lists() instead of calling all
15881 list reading functions explicitly. Register read_lists() as a
15882 variable hook attached to ${prefix}.
15883
15884 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
15885
15886 Merge crypto branch.
15887
15888 * Makefile.in (pkglib_DATA): Add crypto.lst.
15889 (crypto.lst): New target.
15890 * commands/hashsum.c: New file.
15891 * commands/password.c (check_password): Use grub_crypto_memcmp.
15892 * commands/password_pbkdf2.c: New file.
15893 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
15894 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
15895 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
15896 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
15897 -I$(srcdir)/lib/libgcrypt_wrap.
15898 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
15899 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
15900 password_pbkdf2.mod.
15901 (crypto_mod_SOURCES): New variable.
15902 (crypto_mod_CFLAGS): Likewise.
15903 (crypto_mod_LDFLAGS): Likewise.
15904 (hashsum_mod_SOURCES): New variable.
15905 (hashsum_mod_CFLAGS): Likewise.
15906 (hashsum_mod_LDFLAGS): Likewise.
15907 (pbkdf2_mod_SOURCES): New variable.
15908 (pbkdf2_mod_CFLAGS): Likewise.
15909 (pbkdf2_mod_LDFLAGS): Likewise.
15910 (password_pbkdf2_mod_SOURCES): New variable.
15911 (password_pbkdf2_mod_CFLAGS): Likewise.
15912 (password_pbkdf2_mod_LDFLAGS): Likewise.
15913 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
15914 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
15915 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
15916 Include conf/gcry.rmk.
15917 * include/grub/auth.h: Rewritten.
15918 * include/grub/crypto.h: New file.
15919 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
15920 * include/grub/normal.h (read_crypto_list): New prototype.
15921 * lib/crypto.c: New file.
15922 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
15923 * lib/pbkdf2.c: Likewise.
15924 * normal/auth.c (grub_auth_strcmp): Removed.
15925 (grub_iswordseparator): Likewise.
15926 (grub_auth_strword): Likewise.
15927 (is_authenticated): Use grub_strword.
15928 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
15929 and grub_strword. Pass entered password to authentication callback.
15930 * normal/crypto.c: New file.
15931 * normal/main.c: Call read_crypto_list.
15932 * util/grub-mkpasswd-pbkdf2.c: New file.
15933 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
15934
15935 2010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
15936
15937 Fix descent and ascent calculation.
15938
15939 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
15940 (options): New option "asce".
15941 (usage): Likewise.
15942 (add_char): Ignore invalid glyphs for descent calculation.
15943 Calculate ascent from actual content.
15944 (print_glyphs): Use 'asce'.
15945 (write_font): Likewise. Allow ascent override.
15946 (main): Handle "asce" option.
15947
15948 2010-01-06 Carles Pina i Estany <carles@pina.cat>
15949
15950 * kern/err.c: Include `<grub/i18n.h>'.
15951 (grub_print_error): Add full stop. Gettextizze.
15952 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
15953 (grub_bsd_load_elf): Capitalise ELF.
15954 (grub_cmd_freebsd_loadenv): Add `s' in error string.
15955 (grub_cmd_freebsd_module): Likewise.
15956 (grub_cmd_freebsd_module_elf): Likewise.
15957 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
15958
15959 2010-01-06 Carles Pina i Estany <carles@pina.cat>
15960
15961 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
15962 * commands/search_file.c (HELP_MESSAGE): New macro.
15963 * commands/search_label.c (HELP_MESSAGE): Likewise.
15964 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
15965 * po/POTFILES: Add `commands/search_file.c',
15966 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
15967 `commands/search.c'.
15968
15969 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
15970
15971 * config.rpath: Update from Gnulib.
15972
15973 2010-01-05 Yves Blusseau <blusseau@zetam.org>
15974
15975 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
15976
15977 2010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
15978
15979 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
15980
15981 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
15982
15983 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
15984 arguments to fread so that we get a return value in bytes, rather
15985 than something that will normally be rounded down to 0.
15986 Adjust error handling to avoid producing garbage when size_t is not
15987 the same size as long long.
15988
15989 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
15990
15991 * util/mkisofs/write.c (padblock_write): Check return value of
15992 fread.
15993
15994 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
15995
15996 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
15997 floppy images now.
15998
15999 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
16000
16001 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
16002
16003 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
16004 instead of manual alignment.
16005 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
16006 verbose). Avoid attempts to read past end of the device
16007 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
16008 but GRUB_DISK_CACHE_SIZE may exceed that).
16009
16010 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
16011
16012 * commands/crc.c (grub_cmd_crc): Abort on read errors.
16013 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
16014 it to upper layer.
16015
16016 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
16017
16018 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
16019 New constant.
16020 (grub_efi_piwg_device_path): New structure
16021 (grub_efi_piwg_device_path_t): New type.
16022 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
16023 (devpath_1): Transform to a structure. All users updated.
16024 (devpath_2): Likewise.
16025 (devpath_3): Likewise.
16026 (devpath_4): Likewise.
16027 (devpath_5): Likewise.
16028
16029 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
16030
16031 * loader/efi/appleloader.c: Restored. Update all users.
16032
16033 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
16034
16035 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
16036
16037 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
16038 (struct boot_blocklist): Move from here ...
16039 * include/grub/i386/pc/boot.h [ASM_FILE]
16040 (struct grub_boot_blocklist): ... to here. Update all users.
16041 (setup): Only initialize `start' member of `first_block'
16042 structure. Add assert() calls to verify the other members.
16043
16044 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
16045 (generate_image): Fix broken blocklist length initialization.
16046 Add assert() call to verify blocklist `segment' field.
16047
16048 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
16049
16050 * loader/efi/appleloader.c: Remove. Update all users.
16051
16052 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
16053
16054 * boot/i386/pc/boot.S: Update copyright year.
16055 * boot/i386/pc/cdboot.S: Likewise.
16056 * boot/i386/pc/diskboot.S: Likewise.
16057 * boot/i386/pc/lnxboot.S: Likewise.
16058 * boot/i386/pc/pxeboot.S: Likewise.
16059 * bus/pci.c: Likewise.
16060 * commands/cmp.c: Likewise.
16061 * commands/help.c: Likewise.
16062 * commands/hexdump.c: Likewise.
16063 * commands/i386/pc/halt.c: Likewise.
16064 * commands/i386/pc/play.c: Likewise.
16065 * commands/i386/pc/vbeinfo.c: Likewise.
16066 * commands/ls.c: Likewise.
16067 * commands/test.c: Likewise.
16068 * disk/dmraid_nvidia.c: Likewise.
16069 * disk/i386/pc/biosdisk.c: Likewise.
16070 * disk/ieee1275/nand.c: Likewise.
16071 * disk/ieee1275/ofdisk.c: Likewise.
16072 * disk/lvm.c: Likewise.
16073 * disk/raid.c: Likewise.
16074 * disk/raid6_recover.c: Likewise.
16075 * disk/scsi.c: Likewise.
16076 * fs/affs.c: Likewise.
16077 * fs/cpio.c: Likewise.
16078 * fs/ext2.c: Likewise.
16079 * fs/hfs.c: Likewise.
16080 * fs/iso9660.c: Likewise.
16081 * fs/ntfs.c: Likewise.
16082 * fs/sfs.c: Likewise.
16083 * fs/udf.c: Likewise.
16084 * fs/ufs.c: Likewise.
16085 * fs/xfs.c: Likewise.
16086 * gencmdlist.sh: Likewise.
16087 * genmk.rb: Likewise.
16088 * include/grub/disk.h: Likewise.
16089 * include/grub/efi/api.h: Likewise.
16090 * include/grub/efi/efi.h: Likewise.
16091 * include/grub/efi/pe32.h: Likewise.
16092 * include/grub/elf.h: Likewise.
16093 * include/grub/fs.h: Likewise.
16094 * include/grub/i386/at_keyboard.h: Likewise.
16095 * include/grub/i386/pc/memory.h: Likewise.
16096 * include/grub/i386/pc/vbe.h: Likewise.
16097 * include/grub/i386/pci.h: Likewise.
16098 * include/grub/i386/tsc.h: Likewise.
16099 * include/grub/ieee1275/ieee1275.h: Likewise.
16100 * include/grub/ntfs.h: Likewise.
16101 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
16102 * include/grub/sparc64/libgcc.h: Likewise.
16103 * include/grub/symbol.h: Likewise.
16104 * include/grub/types.h: Likewise.
16105 * include/multiboot2.h: Likewise.
16106 * io/gzio.c: Likewise.
16107 * kern/device.c: Likewise.
16108 * kern/disk.c: Likewise.
16109 * kern/efi/efi.c: Likewise.
16110 * kern/efi/mm.c: Likewise.
16111 * kern/elf.c: Likewise.
16112 * kern/file.c: Likewise.
16113 * kern/i386/dl.c: Likewise.
16114 * kern/i386/pc/init.c: Likewise.
16115 * kern/i386/pc/startup.S: Likewise.
16116 * kern/ieee1275/ieee1275.c: Likewise.
16117 * kern/ieee1275/init.c: Likewise.
16118 * kern/main.c: Likewise.
16119 * kern/mm.c: Likewise.
16120 * kern/powerpc/dl.c: Likewise.
16121 * kern/sparc64/dl.c: Likewise.
16122 * kern/x86_64/dl.c: Likewise.
16123 * lib/hexdump.c: Likewise.
16124 * loader/efi/appleloader.c: Likewise.
16125 * loader/i386/ieee1275/linux.c: Likewise.
16126 * loader/i386/pc/chainloader.c: Likewise.
16127 * loader/i386/pc/linux.c: Likewise.
16128 * loader/i386/pc/multiboot2.c: Likewise.
16129 * loader/ieee1275/multiboot2.c: Likewise.
16130 * loader/multiboot2.c: Likewise.
16131 * loader/multiboot_loader.c: Likewise.
16132 * loader/powerpc/ieee1275/linux.c: Likewise.
16133 * normal/completion.c: Likewise.
16134 * normal/menu_entry.c: Likewise.
16135 * partmap/apple.c: Likewise.
16136 * util/grub.d/10_hurd.in: Likewise.
16137 * util/hostfs.c: Likewise.
16138 * video/readers/png.c: Likewise.
16139
16140 2010-01-03 Colin Watson <cjwatson@ubuntu.com>
16141
16142 * include/grub/misc.h (GNUC_PREREQ): New macro.
16143 (ATTRIBUTE_ERROR): New macro.
16144 * include/grub/list.h (grub_bad_type_cast_real): Use
16145 ATTRIBUTE_ERROR.
16146
16147 2010-01-03 Carles Pina i Estany <carles@pina.cat>
16148
16149 * normal/menu_text.c (print_message): Change messages.
16150
16151 2010-01-03 Carles Pina i Estany <carles@pina.cat>
16152
16153 * normal/menu_entry.c (store_completion): Gettextizze.
16154
16155 2010-01-03 Carles Pina i Estany <carles@pina.cat>
16156
16157 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
16158
16159 2010-01-03 Carles Pina i Estany <carles@pina.cat>
16160
16161 * po/POTFILES: Sort correctly.
16162
16163 2010-01-03 Carles Pina i Estany <carles@pina.cat>
16164
16165 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
16166 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
16167 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
16168 full stop.
16169 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
16170 summary. Gettextizze the strings.
16171 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
16172 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
16173 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
16174 full stop.
16175 (GRUB_MOD_INIT): Remove command name from summary.
16176 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
16177 summary.
16178 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
16179 * term/i386/pc/serial.c (options): Add full stops.
16180 (GRUB_MOD_INIT): Remove command name from the summary.
16181
16182 2010-01-03 Carles Pina i Estany <carles@pina.cat>
16183
16184 * commands/acpi.c: Gettextizze help strings and/or options. Include
16185 `grub/i18n.h' if needed.
16186 * commands/blocklist.c: Likewise.
16187 * commands/boot.c: Likewise.
16188 * commands/cat.c: Likewise.
16189 * commands/cmp.c: Likewise.
16190 * commands/configfile.c: Likewise.
16191 * commands/crc.c: Likewise.
16192 * commands/date.c: Likewise.
16193 * commands/echo.c: Likewise.
16194 * commands/efi/fixvideo.c: Likewise.
16195 * commands/efi/loadbios.c: Likewise.
16196 * commands/gptsync.c: Likewise.
16197 * commands/halt.c: Likewise.
16198 * commands/handler.c: Likewise.
16199 * commands/hdparm.c: Likewise.
16200 * commands/hexdump.c: Likewise.
16201 * commands/i386/cpuid.c: Likewise.
16202 * commands/i386/pc/drivemap.c: Likewise.
16203 * commands/i386/pc/halt.c: Likewise.
16204 * commands/i386/pc/pxecmd.c: Likewise.
16205 * commands/i386/pc/vbeinfo.c: Likewise.
16206 * commands/i386/pc/vbetest.c: Likewise.
16207 * commands/ieee1275/suspend.c: Likewise.
16208 * commands/keystatus.c: Likewise.
16209 * commands/loadenv.c: Likewise.
16210 * commands/ls.c: Likewise.
16211 * commands/lsmmap.c: Likewise.
16212 * commands/lspci.c: Likewise.
16213 * commands/memrw.c: Likewise.
16214 * commands/minicmd.c: Likewise.
16215 * commands/parttool.c: Likewise.
16216 * commands/password.c: Likewise.
16217 * commands/probe.c: Likewise.
16218 * commands/read.c: Likewise.
16219 * commands/reboot.c: Likewise.
16220 * commands/search.c: Likewise.
16221 * commands/sleep.c: Likewise.
16222 * commands/test.c: Likewise.
16223 * commands/true.c: Likewise.
16224 * commands/usbtest.c: Likewise.
16225 * commands/videotest.c: Likewise.
16226 * commands/xnu_uuid.c: Likewise.
16227 * disk/loopback.c: Likewise.
16228 * hello/hello.c: Likewise.
16229 * loader/i386/bsd.c: Likewise.
16230 * term/i386/pc/serial.c: Likewise.
16231 * po/POTFILES: Add new files.
16232
16233 2010-01-02 Colin Watson <cjwatson@ubuntu.com>
16234
16235 * term/i386/pc/at_keyboard.c
16236 (keyboard_controller_wait_untill_ready): Rename to ...
16237 (keyboard_controller_wait_until_ready): ... this. Update all users.
16238
16239 2010-01-01 Carles Pina i Estany <carles@pina.cat>
16240
16241 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
16242 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
16243 string using string width.
16244 * normal/menu_text.c (grub_print_message_indented): Use
16245 grub_print_spaces and not print_spaces.
16246 (print_timeout): Likewise.
16247 (print_spaces): Move to...
16248 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
16249
16250 2010-01-01 Robert Millan <rmh.grub@aybabtu.com>
16251
16252 Import from Gnulib.
16253
16254 * gnulib/getdelim.c: New file.
16255 * gnulib/getline.c: Likewise.
16256
16257 2009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
16258
16259 * include/grub/list.h (grub_assert_fail): Removed.
16260 (grub_bad_type_cast_real): New function.
16261 (grub_bad_type_cast): New macro.
16262 (GRUB_AS_LIST): Use grub_bad_type_cast.
16263 (GRUB_AS_LIST_P): Likewise.
16264 (GRUB_AS_NAMED_LIST): Likewise.
16265 (GRUB_AS_NAMED_LIST_P): Likewise.
16266 (GRUB_AS_PRIO_LIST): Likewise.
16267 (GRUB_AS_PRIO_LIST_P): Likewise.
16268 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
16269
16270 2009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
16271
16272 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
16273 Fix syntax error.
16274
16275 2009-12-29 Robert Millan <rmh.grub@aybabtu.com>
16276
16277 * configure.ac: Check for TARGET_CFLAGS initialization before we
16278 initialize it ourselves (sigh).
16279 Move a few modifications to TARGET_CFLAGS to be unconditional
16280 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
16281 eh_frame)
16282
16283 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
16284 * term/i386/pc/at_keyboard.c
16285 (keyboard_controller_wait_untill_ready): Likewise.
16286 (keyboard_controller_led): Rename `led_status' paramter to avoid
16287 name conflict.
16288
16289 2009-12-28 Carles Pina i Estany <carles@pina.cat>
16290
16291 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
16292 quotes.
16293
16294 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
16295
16296 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
16297
16298 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
16299
16300 * normal/menu_text.c (grub_print_message_indented): Prevent
16301 past-the-end-of-array dereference.
16302
16303 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
16304
16305 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
16306 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
16307
16308 2009-12-27 Carles Pina i Estany <carles@pina.cat>
16309
16310 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
16311 * normal/main.c (grub_normal_read_line): Remove a space from the
16312 default prompt.
16313
16314 2009-12-27 Carles Pina i Estany <carles@pina.cat>
16315
16316 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
16317 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
16318 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
16319 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
16320 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
16321 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
16322 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
16323
16324 2009-12-26 Carles Pina i Estany <carles@pina.cat>
16325
16326 * video/readers/jpeg.c (cmd): Declare.
16327 (grub_cmd_jpegtest): Use `grub_command_t' type.
16328 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
16329 Assign to `cmd'.
16330 (GRUB_MOD_FINI): Use `cmd' to unregister.
16331 * video/readers/png.c (cmd): Declare.
16332 (grub_cmd_pngtest): Use `grub_command_t' type.
16333 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
16334 Assign to `cmd'.
16335 (GRUB_MOD_FINI): Use `cmd' to unregister.
16336 * video/readers/tga.c (cmd): Declare.
16337 (grub_cmd_tgatest): Use `grub_command_t' type.
16338 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
16339 Assign to `cmd'.
16340 (GRUB_MOD_FINI): Use `cmd' to unregister.
16341
16342 2009-12-26 Carles Pina i Estany <carles@pina.cat>
16343
16344 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
16345 stops.
16346 * kern/corecmd.c (grub_register_core_commands): Likewise.
16347 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
16348 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
16349 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
16350 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
16351 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
16352 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
16353 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
16354 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
16355 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
16356 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
16357 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
16358 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
16359 * normal/handler.c (insert_handler): Likewise.
16360 * normal/main.c (GRUB_MOD_INIT): Likewise.
16361 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
16362
16363 2009-12-26 Carles Pina i Estany <carles@pina.cat>
16364
16365 * commands/help.c (grub_cmd_help): Print the command name before the
16366 summary.
16367 (GRUB_MOD_INIT): Remove command name from the summary.
16368 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
16369 string as summary.
16370 * lib/arg.c (find_long): Print the command name before the summary.
16371 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
16372 summary.
16373 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
16374 * commands/cat.c (GRUB_MOD_INIT): Likewise.
16375 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
16376 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
16377 * commands/crc.c (GRUB_MOD_INIT): Likewise.
16378 * commands/date.c (GRUB_MOD_INIT): Likewise.
16379 * commands/echo.c (GRUB_MOD_INIT): Likewise.
16380 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
16381 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
16382 * commands/handler.c (GRUB_MOD_INIT): Likewise.
16383 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
16384 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
16385 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
16386 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
16387 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
16388 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
16389 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
16390 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
16391 * commands/ls.c (GRUB_MOD_INIT): Likewise.
16392 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
16393 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
16394 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
16395 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
16396 * commands/password.c (GRUB_MOD_INIT): Likewise.
16397 * commands/probe.c (GRUB_MOD_INIT): Likewise.
16398 * commands/read.c (GRUB_MOD_INIT): Likewise.
16399 * commands/search.c (GRUB_MOD_INIT): Likewise.
16400 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
16401 * commands/test.c (GRUB_MOD_INIT): Likewise.
16402 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
16403 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
16404 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
16405 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
16406 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
16407 * lib/arg.c (GRUB_MOD_INIT): Likewise.
16408 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
16409 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
16410 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
16411 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
16412 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
16413 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
16414 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
16415 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
16416
16417 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
16418
16419 Use search command for preliminar UUID search.
16420
16421 * commands/search.c: Split into ...
16422 * commands/search_wrap.c: ...this
16423 * commands/search.c: ...and this.
16424 * commands/search_file.c: New file.
16425 * commands/search_label.c: New file.
16426 * commands/search_uuid.c: New file.
16427 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
16428 Add commands/search_wrap.c, commands/search_file.c,
16429 commands/search_label.c and commands/search_uuid.c.
16430 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
16431 (search_mod_SOURCES): Set to commands/search_wrap.c.
16432 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
16433 search_label.mod.
16434 (search_fs_file_mod_SOURCES): New variable.
16435 (search_fs_file_mod_CFLAGS): Likewise.
16436 (search_fs_file_mod_LDFLAGS): Likewise.
16437 (search_label_mod_SOURCES): Likewise.
16438 (search_label_mod_CFLAGS): Likewise.
16439 (search_label_mod_LDFLAGS): Likewise.
16440 (search_fs_uuid_mod_SOURCES): New variable.
16441 (search_fs_uuid_mod_CFLAGS): Likewise.
16442 (search_fs_uuid_mod_LDFLAGS): Likewise.
16443 (fs_file_mod_SOURCES): Removed.
16444 (fs_file_mod_CFLAGS): Likewise.
16445 (fs_file_mod_LDFLAGS): Likewise.
16446 (fs_uuid_mod_SOURCES): Removed.
16447 (fs_uuid_mod_CFLAGS): Likewise.
16448 (fs_uuid_mod_LDFLAGS): Likewise.
16449 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
16450 Set to util/grub-install.in.
16451 * disk/fs_file.c: Removed.
16452 * disk/fs_uuid.c: Likewise.
16453 * include/grub/search.h: New file.
16454 * util/grub-install.in: Handle sparc64.
16455 Create and use load.cfg.
16456 * util/sparc64/ieee1275/grub-install.in: Removed.
16457
16458 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
16459
16460 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
16461 Ignore return status if CF is cleared.
16462 (grub_biosdisk_get_diskinfo_standard): Likewise.
16463
16464 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
16465
16466 * term/i386/pc/at_keyboard.c
16467 (keyboard_controller_wait_untill_ready): New function.
16468 (grub_keyboard_controller_write, grub_keyboard_controller_read)
16469 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
16470 for keyboard polling, rather than duplicate the same loop. This
16471 saves a few bytes in code size.
16472
16473 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
16474
16475 Support for (pxe[:server[:gateway]]) syntax and
16476 use environment variable for PXE.
16477
16478 * commands/i386/pc/pxecmd.c (options): Removed.
16479 (print_ip): Removed.
16480 (grub_cmd_pxe): Removed
16481 (grub_cmd_pxe_unload): New function.
16482 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
16483 (grub_pxe_your_ip): Made static.
16484 (grub_pxe_default_server_ip): Likewise.
16485 (grub_pxe_default_gateway_ip): Likewise.
16486 (grub_pxe_blksize): Likewise.
16487 (parse_ip): New function.
16488 (grub_pxe_open): Support server and gateway specification.
16489 (grub_pxe_close): Free disk->data.
16490 (grub_pxefs_open): Use disk->data.
16491 (grub_pxefs_read): Likewise.
16492 (grub_env_write_readonly): New function.
16493 (set_mac_env): Likewise.
16494 (set_env_limn_ro): Likewise.
16495 (parse_dhcp_vendor): Likewise.
16496 (grub_pxe_detect): Set the environment variables.
16497 (set_ip_env): New function.
16498 (write_ip_env): Likewise.
16499 (grub_env_write_pxe_default_server): Likewise.
16500 (grub_env_write_pxe_default_gateway): Likewise.
16501 (grub_env_write_pxe_blocksize): Likewise.
16502 (GRUB_MOD_INIT(pxe)): Set environment variables.
16503 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
16504 (grub_pxe_mac_addr_t): ... this. All users updated.
16505 (grub_pxe_your_ip): Removed.
16506 (grub_pxe_server_ip): Likewise.
16507 (grub_pxe_gateway_ip): Likewise.
16508 (grub_pxe_blksize): Likewise.
16509
16510 2009-12-25 Carles Pina i Estany <carles@pina.cat>
16511
16512 * commands/help.c: Include `<grub/i18n.h>'.
16513 (grub_cmd_help): Gettextizze.
16514 (GRUB_MOD_INIT): Likewise.
16515 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
16516 (GRUB_MOD_INIT): Gettextizze.
16517 * commands/search.c: Include `<grub/i18n.h>'.
16518 (options): Gettextizze.
16519 (GRUB_MOD_INIT): Gettextizze.
16520 * lib/arg.c: Include `<grub/i18n.h>'.
16521 (help_options): Gettextizze.
16522 (find_long): Likewise.
16523 (grub_arg_show_help): Likewise.
16524 * normal/dyncmd.c: Include `<grub/i18n.h>'.
16525 (read_command_list): Gettextizze.
16526 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
16527 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
16528
16529 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
16530
16531 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
16532 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
16533 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
16534 (led_status): New variable.
16535 (keyboard_controller_led): New function.
16536 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
16537 update led status for caps lock, num lock and scroll lock.
16538
16539 2009-12-25 Felix Zielcke <fzielcke@z-51.de>
16540
16541 * util/hostdisk.c (open_device): Fix a comment.
16542
16543 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
16544
16545 * util/grub-install.in (host_os): New variable.
16546 * util/i386/efi/grub-install.in (host_os): Likewise.
16547
16548 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
16549
16550 * util/mkisofs/write.c (padblock_write): Abort when given an
16551 excedingly large embed image, instead of silently truncating it.
16552
16553 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
16554
16555 * include/multiboot.h: Indentation fixes.
16556
16557 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
16558
16559 * include/multiboot.h (struct multiboot_aout_symbol_table)
16560 (struct multiboot_elf_section_header_table): New structure
16561 declarations (stolen from GRUB Legacy).
16562 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
16563 table information.
16564
16565 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
16566 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
16567 type aliases.
16568
16569 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
16570
16571 * include/multiboot.h: Make comments src2texi-friendly.
16572
16573 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
16574
16575 For consistency with [multiboot]/docs/boot.S.
16576
16577 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
16578 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
16579 (MULTIBOOT_MAGIC2): Rename from this ...
16580 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
16581
16582 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
16583
16584 * include/multiboot.h: Remove `<grub/types.h>'.
16585 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
16586 types. Update all users.
16587
16588 2009-12-25 Carles Pina i Estany <carles@pina.cat>
16589
16590 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
16591 `couldn't' and `can not' by `cannot'.
16592 * commands/i386/pc/drivemap.c: Likewise.
16593 * disk/ata.c: Likewise.
16594 * disk/ieee1275/nand.c: Likewise.
16595 * fs/affs.c: Likewise.
16596 * fs/fat.c: Likewise.
16597 * fs/hfs.c: Likewise.
16598 * fs/hfsplus.c: Likewise.
16599 * fs/iso9660.c: Likewise.
16600 * fs/jfs.c: Likewise.
16601 * fs/minix.c: Likewise.
16602 * fs/reiserfs.c: Likewise.
16603 * fs/sfs.c: Likewise.
16604 * fs/udf.c: Likewise.
16605 * fs/ufs.c: Likewise.
16606 * fs/xfs.c: Likewise.
16607 * loader/powerpc/ieee1275/linux.c: Likewise.
16608 * loader/sparc64/ieee1275/linux.c: Likewise.
16609 * util/grub-probe.c: Likewise.
16610 * util/misc.c: Likewise.
16611
16612 2009-12-24 Carles Pina i Estany <carles@pina.cat>
16613
16614 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
16615 grub_errno calls.
16616 * commands/acpi.c: Likewise.
16617 * commands/blocklist.c: Likewise.
16618 * commands/efi/loadbios.c: Likewise.
16619 * commands/i386/pc/drivemap.c: Likewise.
16620 * commands/loadenv.c: Likewise.
16621 * commands/memrw.c: Likewise.
16622 * commands/password.c: Likewise.
16623 * commands/videotest.c: Likewise.
16624 * disk/ata.c: Likewise.
16625 * disk/ata_pthru.c: Likewise.
16626 * disk/dmraid_nvidia.c: Likewise.
16627 * disk/ieee1275/nand.c: Likewise.
16628 * disk/ieee1275/ofdisk.c: Likewise.
16629 * disk/loopback.c: Likewise.
16630 * disk/lvm.c: Likewise.
16631 * disk/mdraid_linux.c: Likewise.
16632 * disk/raid.c: Likewise.
16633 * disk/raid6_recover.c: Likewise.
16634 * disk/scsi.c: Likewise.
16635 * efiemu/main.c: Likewise.
16636 * efiemu/mm.c: Likewise.
16637 * efiemu/pnvram.c: Likewise.
16638 * efiemu/symbols.c: Likewise.
16639 * font/font.c: Likewise.
16640 * fs/cpio.c: Likewise.
16641 * fs/hfsplus.c: Likewise.
16642 * fs/iso9660.c: Likewise.
16643 * fs/jfs.c: Likewise.
16644 * fs/minix.c: Likewise.
16645 * fs/ntfs.c: Likewise.
16646 * fs/ntfscomp.c: Likewise.
16647 * fs/reiserfs.c: Likewise.
16648 * fs/ufs.c: Likewise.
16649 * fs/xfs.c: Likewise.
16650 * gettext/gettext.c: Likewise.
16651 * include/grub/auth.h: Likewise.
16652 * kern/elf.c: Likewise.
16653 * kern/file.c: Likewise.
16654 * kern/ieee1275/init.c: Likewise.
16655 * kern/ieee1275/mmap.c: Likewise.
16656 * kern/ieee1275/openfw.c: Likewise.
16657 * kern/powerpc/dl.c: Likewise.
16658 * kern/sparc64/dl.c: Likewise.
16659 * lib/arg.c: Likewise.
16660 * loader/i386/bsd.c: Likewise.
16661 * loader/i386/bsdXX.c: Likewise.
16662 * loader/i386/efi/linux.c: Likewise.
16663 * loader/i386/efi/xnu.c: Likewise.
16664 * loader/i386/ieee1275/linux.c: Likewise.
16665 * loader/i386/linux.c: Likewise.
16666 * loader/i386/multiboot.c: Likewise.
16667 * loader/i386/pc/linux.c: Likewise.
16668 * loader/i386/pc/multiboot2.c: Likewise.
16669 * loader/i386/xnu.c: Likewise.
16670 * loader/ieee1275/multiboot2.c: Likewise.
16671 * loader/macho.c: Likewise.
16672 * loader/machoXX.c: Likewise.
16673 * loader/multiboot2.c: Likewise.
16674 * loader/multiboot_loader.c: Likewise.
16675 * loader/powerpc/ieee1275/linux.c: Likewise.
16676 * loader/sparc64/ieee1275/linux.c: Likewise.
16677 * loader/xnu.c: Likewise.
16678 * loader/xnu_resume.c: Likewise.
16679 * mmap/i386/pc/mmap.c: Likewise.
16680 * normal/menu_viewer.c: Likewise.
16681 * partmap/acorn.c: Likewise.
16682 * partmap/amiga.c: Likewise.
16683 * partmap/apple.c: Likewise.
16684 * script/lexer.c: Likewise.
16685 * term/gfxterm.c: Likewise.
16686 * term/i386/pc/serial.c: Likewise.
16687 * term/i386/pc/vga.c: Likewise.
16688 * term/ieee1275/ofconsole.c: Likewise.
16689 * term/terminfo.c: Likewise.
16690 * video/bitmap.c: Likewise.
16691 * video/efi_gop.c: Likewise.
16692 * video/efi_uga.c: Likewise.
16693 * video/fb/video_fb.c: Likewise.
16694 * video/i386/pc/vbe.c: Likewise.
16695 * video/readers/tga.c: Likewise.
16696 * video/video.c: Likewise.
16697
16698 2009-12-23 Felix Zielcke <fzielcke@z-51.de>
16699
16700 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
16701 * commands/lspci.c: Likewise.
16702 * commands/probe.c: Likewise.
16703 * commands/xnu_uuid.c: Likewise.
16704 * conf/i386-coreboot.rmk: Likewise.
16705 * conf/i386-efi.rmk: Likewise.
16706 * conf/i386-ieee1275.rmk: Likewise.
16707 * conf/i386-pc.rmk: Likewise.
16708 * conf/powerpc-ieee1275.rmk: Likewise.
16709 * conf/sparc64-ieee1275.rmk: Likewise.
16710 * conf/x86_64-efi.rmk: Likewise.
16711 * fs/i386/pc/pxe.c: Likewise.
16712 * gettext/gettext.c: Likewise.
16713 * include/grub/efi/graphics_output.h: Likewise.
16714 * include/grub/i386/pc/memory.h: Likewise.
16715 * kern/env.c: Likewise.
16716 * kern/i386/qemu/startup.S: Likewise.
16717 * lib/i386/pc/biosnum.c: Likewise.
16718 * lib/i386/relocator.c: Likewise.
16719 * lib/i386/relocator_asm.S: Likewise.
16720 * lib/relocator.c: Likewise.
16721 * loader/i386/bsd.c: Likewise.
16722 * loader/i386/multiboot.c: Likewise.
16723 * loader/i386/pc/chainloader.c: Likewise.
16724 * loader/i386/xnu.c: Likewise.
16725 * loader/xnu.c: Likewise.
16726 * normal/main.c: Likewise.
16727 * normal/menu_text.c: Likewise.
16728 * util/getroot.c: Likewise.
16729 * util/grub-mkconfig_lib.in: Likewise.
16730 * util/grub.d/00_header.in: Likewise.
16731 * util/i386/pc/grub-mkimage.c: Likewise.
16732 * util/mkisofs/eltorito.c: Likewise.
16733 * util/mkisofs/exclude.h: Likewise.
16734 * util/mkisofs/hash.c: Likewise.
16735 * util/mkisofs/iso9660.h: Likewise.
16736 * util/mkisofs/joliet.c: Likewise.
16737 * util/mkisofs/mkisofs.c: Likewise.
16738 * util/mkisofs/mkisofs.h: Likewise.
16739 * util/mkisofs/multi.c: Likewise.
16740 * util/mkisofs/name.c: Likewise.
16741 * util/mkisofs/rock.c: Likewise.
16742 * util/mkisofs/tree.c: Likewise.
16743 * util/mkisofs/write.c: Likewise.
16744 * video/efi_gop.c: Likewise.
16745
16746 2009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
16747
16748 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
16749 size counting.
16750
16751 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
16752
16753 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
16754 * genmk.rb (class SCRIPT): Modify the target file instead of source.
16755
16756 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
16757
16758 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
16759 (GRUB_MOD_INIT(memrw)): Update help line.
16760
16761 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
16762
16763 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
16764 Use grub_extcmd_t. All users updated.
16765 (options): New variable.
16766 (grub_cmd_read): Restructure for readability. Support "-v" option.
16767 (grub_cmd_write): Restructure for readability.
16768
16769 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
16770
16771 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
16772
16773 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
16774
16775 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
16776 with the actual contents of the correspondending make variable.
16777 * util/grub-mkrescue.in (pkglib_DATA): New variable.
16778 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
16779 specifying `*.lst' and `efiemu??.o'
16780
16781 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
16782
16783 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
16784 after function name.
16785 Noticed by Rene Engelhard <rene@debian.org>.
16786
16787 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
16788
16789 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
16790 (options): New variable.
16791 (iospace): Likewise.
16792 (grub_lspci_iter): List IO spaces if "-i" was given.
16793 (grub_cmd_lspci): Parse options.
16794 (GRUB_MOD_INIT(lspci)): Use extcmd.
16795 (GRUB_MOD_FINI(lspci)): Likewise.
16796
16797 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
16798
16799 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
16800 `function' keyword.
16801 Patch by Tony Mancill <tmancill@debian.org>.
16802
16803 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
16804
16805 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
16806 (grub_uhci_portstatus): Likewise.
16807 (grub_uhci_portstatus): Add necessary delay.
16808 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
16809
16810 2009-12-21 Carles Pina i Estany <carles@pina.cat>
16811
16812 * commands/acpi.c (options): Fix capitalizations and/or full stops.
16813 (GRUB_MOD_INIT): Likewise.
16814 * commands/boot.c (GRUB_MOD_INIT): Likewise.
16815 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
16816 * commands/echo.c (options): Fix capitalizations and/or full stops.
16817 * commands/efi/loadbios.c (enable_rom_area): Likewise.
16818 (enable_rom_area): Likewise.
16819 (GRUB_MOD_INIT): Likewise.
16820 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
16821 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
16822 * commands/handler.c (GRUB_MOD_INIT): Likewise.
16823 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
16824 * commands/hexdump.c (options): Likewise.
16825 * commands/i386/cpuid.c (options): Likewise.
16826 (GRUB_MOD_INIT): Likewise.
16827 * commands/i386/pc/drivemap.c (options): Likewise.
16828 (GRUB_MOD_INIT): Likewise.
16829 * commands/i386/pc/halt (options): Likewise.
16830 (GRUB_MOD_INIT): Likewise.
16831 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
16832 * commands/i386/pc/pxecmd.c (options): Likewise.
16833 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
16834 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
16835 * commands/keystatus.c (options): Likewise.
16836 (GRUB_MOD_INIT): Likewise.
16837 * commands/loadenv.c (options): Likewise.
16838 * commands/ls.c (options): Likewise.
16839 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
16840 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
16841 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
16842 * commands/parttool.c (helpmsg): Likewise.
16843 * commands/probe.c (options): Likewise.
16844 * commands/read.c (GRUB_MOD_INIT): Likewise.
16845 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
16846 * commands/search.c (options): Likewise.
16847 * commands/sleep.c (options): Likewise.
16848 * commands/test.c (GRUB_MOD_INIT): Likewise.
16849 * commands/true.c (GRUB_MOD_INIT): Likewise.
16850 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
16851 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
16852 * lib/arg.c (help_options): Likewise.
16853 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
16854 `$(XGETTEXT)'.
16855 * po/POTFILES: Add `commands/loadenv.c'.
16856
16857 2009-12-21 Felix Zielcke <fzielcke@z-51.de>
16858
16859 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
16860 instead of specifying them explicit.
16861
16862 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
16863
16864 * NEWS: Add grub-probe support for GNU/Hurd.
16865
16866 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
16867
16868 * NEWS: gettext was added after 1.97.
16869
16870 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
16871
16872 * util/mkisofs/msdos_partition.h: New file (based on
16873 include/grub/msdos_partition.h).
16874 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
16875 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
16876 (ld_options, main): Recognize --protective-msdos-label.
16877 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
16878 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
16879 (padblock_write): If `use_protective_msdos_label' is set, patch a
16880 protective DOS-style label in the output image.
16881
16882 * util/grub-mkrescue.in: Use --protective-msdos-label.
16883
16884 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
16885
16886 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
16887 boot.
16888
16889 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
16890
16891 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
16892 variables.
16893 (ld_options, main): Recognize `--embedded-boot'.
16894 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
16895 declarations.
16896 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
16897 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
16898 (padblock_write): Likewise. Rewrite to support embedded boot image.
16899
16900 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
16901 for BIOS-based disk boot instead of only ElTorito.
16902
16903 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
16904
16905 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
16906 build (not needed for bootstrap).
16907
16908 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
16909
16910 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
16911 from i386-pc build (not needed for bootstrap).
16912 Rewrite a pair of strings.
16913
16914 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
16915
16916 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
16917
16918 2009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
16919
16920 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
16921
16922 2009-12-21 Andreas Born <futur.andy@googlemail.com>
16923
16924 * kern/env.c (grub_env_context_open): Mark exported variable for
16925 reexport.
16926
16927 2009-12-21 Andreas Born <futur.andy@googlemail.com>
16928
16929 * kern/env.c (grub_env_export): Create nonexistent variables before
16930 exporting.
16931
16932 2009-12-20 Carles Pina i Estany <carles@pina.cat>
16933
16934 * include/grub/auth.h: Include `<grub/i18n.h>'.
16935 (GRUB_GET_PASSWORD): Gettextizze string.
16936 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
16937 menu_text.c.
16938 (grub_utf8_to_ucs4_alloc): Fix indentation.
16939 (grub_print_ucs4): Likewise.
16940 (grub_getstringwidth): Likewise.
16941 (print_message_indented): New declaration.
16942 * normal/auth.c: Include `<grub/i18n.h>'.
16943 (grub_auth_check_authentication): Gettexttize string.
16944 * normal/cmdline.c: Include `<grub/i18n.h>'.
16945 (grub_cmdline_get): Gettextizze.
16946 * normal/color.c: Include `<grub/i18n.h>'.
16947 (grub_parse_color_name_pair): Gettexttize strings.
16948 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
16949 string (use `print_message_indented').
16950 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
16951 `include/grub/normal.h'.
16952 (print_message_indented): Renamed to ...
16953 (grub_print_message_indented): ... this. Remove `static' qualifer (now
16954 used in normal/main.c).
16955 (print_message): Use `grub_print_message_indented' instead of
16956 `print_message_indented'.
16957 (print_timeout): Likewise.
16958 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
16959 (grub_normal_print_device_info): Gettexttize strings.
16960 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
16961
16962 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
16963
16964 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
16965 of arguments. Return number of tokens and not arguments. All users
16966 updated.
16967
16968 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
16969
16970 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
16971 non-MSDOS paritions.
16972
16973 2009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
16974
16975 * include/grub/types.h (UNUSED): Removed since it conflicts with
16976 NetBSD headers. All users changed to direct __attribute__ ((unused)).
16977 Reported by Grégoire Sutre.
16978
16979 2009-12-19 Carles Pina i Estany <carles@pina.cat>
16980
16981 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
16982 (grub_print_ucs4_alloc): Likewise.
16983 (grub_getstringwidth): Likewise.
16984 * normal/main.c (grub_normal_init_page): Gettextize version string.
16985 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
16986 (getstringwidth): Renamed to ...
16987 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
16988 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
16989 (grub_print_ucs4): Remove `static' qualifer (now used in
16990 normal/main.c).
16991 * po/POTFILES: Add normal/main.c.
16992
16993 2009-12-19 Carles Pina i Estany <carles@pina.cat>
16994
16995 * normal/menu_text.c (STANDARD_MARGIN): New macro.
16996 (print_message_indented): Add `margin_left' and `margin_right'
16997 parameters.
16998 (print_message): Update `print_message_indented' calls. Adds '\n' to the
16999 strings.
17000 (print_timeout): Use `print_message_indented' to print the message.
17001 Deletes `second_stage' parameter.
17002 (run_menu): Update `print_timeout' calls.
17003
17004 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
17005
17006 Fix console palette on OpenFirmware.
17007
17008 * term/ieee1275/ofconsole.c (MAX): Removed.
17009 (colors): Redone based on VGA palette.
17010 (grub_ofconsole_setcolor): Discard brightness bit since only 8
17011 colors are supported.
17012 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
17013
17014 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
17015
17016 Fix potential EfiEmu double prepare.
17017
17018 * efiemu/main.c (prepared): New variable
17019 (grub_efiemu_unload): Set prepare to '0'.
17020 (grub_efiemu_prepare): Return if already prepared. Set prepared.
17021
17022 set_virtual_address_map support.
17023
17024 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
17025 prototype.
17026 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
17027 prototype.
17028 (grub_efiemu_crc32): Likewise.
17029 (grub_efiemu_crc64): Likewise.
17030 (grub_efiemu_set_virtual_address_map): Likewise.
17031 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
17032 New definition.
17033 (grub_autoefi_set_virtual_address_map): Likewise.
17034 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
17035 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
17036 Restructure flow to accomodate it.
17037 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
17038 (grub_efiemu_crc): Recompute CRC32.
17039 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
17040 (efiemu_ptv_relocated): ... this. Made global. All users updated.
17041 * efiemu/symbols.c (relocated_handle): New variable.
17042 (grub_efiemu_free_syms): Free relocated_handle.
17043 (grub_efiemu_alloc_syms): Allocate relocated_handle.
17044 (grub_efiemu_write_sym_markers): New function.
17045 (grub_efiemu_set_virtual_address_map): Likewise.
17046
17047 Newer XNU parameters.
17048
17049 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
17050 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
17051 (grub_xnu_fill_devicetree): New prototype.
17052 (grub_xnu_heap_real_start): New variable.
17053 * loader/xnu.c (get_name_ptr): New function.
17054 (grub_xnu_load_driver): Fill namelen and name.
17055
17056 64-bit xnu support.
17057
17058 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
17059 and 'loader/macho64.c'.
17060 * conf/i386-pc.rmk: Likewise.
17061 * conf/x86_64-efi.rmk: Likewise.
17062 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
17063 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
17064 * include/grub/macho.h (grub_macho_segment64): New structure.
17065 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
17066 (grub_macho_size32): ... to this.
17067 (grub_macho32_get_entry_point): Renamed from ...
17068 (grub_macho_get_entry_point32): ... to this.
17069 (grub_macho_contains_macho64): New prototype.
17070 (grub_macho_size64): Likewise.
17071 (grub_macho_get_entry_point64): Likewise.
17072 (grub_macho32_load): Renamed from ...
17073 (grub_macho_load32): ... to this.
17074 (grub_macho32_filesize): Renamed from ...
17075 (grub_macho_filesize32): ... to this.
17076 (grub_macho32_readfile): Renamed from ...
17077 (grub_macho_readfile32): ... to this.
17078 (grub_macho_filesize64): New prototype.
17079 (grub_macho_readfile64): Likewise.
17080 (grub_macho_parse32): Likewise.
17081 (grub_macho_parse64): Likewise.
17082 * loader/macho.c: Split into ...
17083 * loader/machoXX.c: ... and this. Replace 32 with XX.
17084 * loader/macho32.c: New file.
17085 * loader/macho64.c: Likewise.
17086 * loader/xnu.c (grub_xnu_is_64bit): New variable.
17087 (grub_cmd_xnu_kernel): Make 32-bit only.
17088 (grub_cmd_xnu_kernel64): New function.
17089 (grub_xnu_load_driver): Support Mach-O 64.
17090 (grub_cmd_xnu_mkext): Likewise.
17091 * util/grub.d/30_os-prober.in (osx_entry): New function.
17092 Generate entries for 64-bit boot too.
17093
17094 Eliminate ad-hoc tree format in XNU and EfiEmu.
17095
17096 * efiemu/main.c (grub_efiemu_prepare): Update comment.
17097 * efiemu/pnvram.c: Rewritten to use environment variables.
17098 All users updated.
17099
17100 Inline utf16_to_utf8.
17101
17102 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
17103 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
17104 All users updated.
17105 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
17106
17107 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
17108 * commands/usbtest.c (grub_usb_get_string): ... move here.
17109 (usb_print_str): Fix error handling.
17110 * include/grub/usb.h (grub_usb_get_string): Remove.
17111
17112 UTF-8 to UTF-16 transformation.
17113
17114 * conf/common.rmk (pkglib_MODULES): Add charset.mod
17115 (charset_mod_SOURCES): New variable.
17116 (charset_mod_CFLAGS): Likewise.
17117 (charset_mod_LDFLAGS): Likewise.
17118 * include/grub/utf.h: New file.
17119 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
17120
17121 Support for device properties.
17122
17123 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
17124 (grub_xnu_devprop_device_header): Likewise.
17125 (grub_xnu_devprop_device_descriptor): Likewise.
17126 (grub_xnu_devprop_add_device): New prototype.
17127 (grub_xnu_devprop_remove_device): Likewise.
17128 (grub_xnu_devprop_remove_property): Likewise.
17129 (grub_xnu_devprop_add_property_utf8): Likewise.
17130 (grub_xnu_devprop_add_property_utf16): Likewise.
17131 (grub_cpu_xnu_init): Likewise.
17132 (grub_cpu_xnu_fini): Likewise.
17133 (grub_cpu_xnu_unload): Likewise.
17134 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
17135 (property_descriptor): Likewise.
17136 (devices): New variable.
17137 (grub_xnu_devprop_remove_property): New function.
17138 (grub_xnu_devprop_add_device): Likewise.
17139 (grub_xnu_devprop_remove_device): Likewise.
17140 (grub_xnu_devprop_add_property): Likewise.
17141 (grub_xnu_devprop_add_property_utf8): Likewise.
17142 (grub_xnu_devprop_add_property_utf16): Likewise.
17143 (hextoval): Likewise.
17144 (grub_cpu_xnu_fill_devprop): Likewise.
17145 (grub_cmd_devprop_load): Likewise.
17146 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
17147 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
17148 (cmd_devprop_load): New variable.
17149 (grub_cpu_xnu_init): New function.
17150 (grub_cpu_xnu_fini): Likewise.
17151 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
17152 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
17153 (grub_cmd_xnu_devtree): Likewise.
17154 (hextoval): New function.
17155 (unescape): Likewise.
17156 (grub_xnu_fill_devicetree): Likewise.
17157
17158 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
17159 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
17160
17161 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
17162
17163 Workaround for broken ATI VBE.
17164
17165 * video/i386/pc/vbe.c (last_set_mode): New variable.
17166 (grub_vbe_set_video_mode): Set 'last_set_mode'.
17167 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
17168 (grub_video_vbe_setup): Don't check for reserved flag.
17169
17170 2009-12-17 Felix Zielcke <fzielcke@z-51.de>
17171
17172 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
17173 the `find' command.
17174
17175 2009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
17176
17177 UUID support for HFS.
17178
17179 * fs/hfs.c (grub_hfs_uuid): New function.
17180 (grub_hfs_fs): New value .uuid.
17181 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
17182
17183 2009-12-14 Felix Zielcke <fzielcke@z-51.de>
17184
17185 Fix a segfault with parsing unknown long options.
17186
17187 * util/grub-mkrelpath.c (options): Zero terminate it.
17188
17189 2009-12-13 Carles Pina i Estany <carles@pina.cat>
17190
17191 * include/grub/misc.h (grub_puts): New declaration.
17192 (grub_puts_): Likewise.
17193 * kern/misc.c (grub_puts): New definition.
17194 (grub_puts_): Likewise.
17195
17196 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
17197
17198 * util/grub-probe.c (probe): Improve error message.
17199
17200 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
17201
17202 * loader/i386/multiboot_elfxx.c
17203 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
17204 initialization.
17205
17206 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
17207
17208 Relocator framework
17209
17210 * loader/i386/xnu_helper.S: Removed. All users updated.
17211 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
17212 (relocator_mod_SOURCES): New variable.
17213 (relocator_mod_CFLAGS): Likewise.
17214 (relocator_mod_LDFLAGS): Likewise.
17215 (relocator_mod_ASFLAGS): Likewise.
17216 * conf/x86_64.rmk: Likewise.
17217 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
17218 (grub_multiboot_payload_entry_offset): Likewise.
17219 (grub_multiboot_forward_relocator): Likewise.
17220 (grub_multiboot_forward_relocator_end): Likewise.
17221 (grub_multiboot_backward_relocator): Likewise.
17222 (grub_multiboot_backward_relocator_end): Likewise.
17223 (grub_multiboot_payload_eip): New variable.
17224 (grub_multiboot_payload_orig): Likewise.
17225 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
17226 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
17227 * include/grub/i386/memory.h
17228 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
17229 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
17230 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
17231 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
17232 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
17233 * include/grub/i386/relocator.h: New file.
17234 * include/grub/x86_64/relocator.h: Likewise.
17235 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
17236 (XNU_RELOCATOR): New macro.
17237 (grub_xnu_launcher_start): Remove.
17238 (grub_xnu_launcher_end): Likewise.
17239 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
17240 (grub_xnu_heap_real_start): Remove.
17241 (grub_xnu_heap_start): Change to void *. All users updated.
17242 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
17243 * lib/i386/relocator.c: New file.
17244 * lib/i386/relocator_asm.S: Likewise.
17245 * lib/i386/relocator_backward.S: Likewise.
17246 * lib/mips/relocator.c: Likewise.
17247 * lib/mips/relocator_asm.S: Likewise.
17248 * lib/relocator.c: Likewise.
17249 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
17250 (entry): Removed.
17251 (playground): Likewise.
17252 (grub_multiboot_payload_orig): New variable.
17253 (grub_multiboot_payload_dest): Likewise.
17254 (grub_multiboot_payload_size): Likewise.
17255 (grub_multiboot_payload_eip): Likewise.
17256 (grub_multiboot_payload_esp): Likewise.
17257 (grub_multiboot_boot): Use grub_relocator32_boot.
17258 (grub_multiboot_unload): Free relocators.
17259 (grub_multiboot): Setup stack. Use relocators.
17260 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
17261 (grub_multiboot_load_elfXX): Use relocators.
17262 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
17263 (grub_multiboot_payload_size): Likewise.
17264 (grub_multiboot_payload_dest): Likewise.
17265 (grub_multiboot_payload_entry_offset): Likewise.
17266 (grub_multiboot_forward_relocator): Likewise.
17267 (grub_multiboot_backward_relocator): Likewise.
17268 (grub_multiboot_real_boot): Likewise.
17269 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
17270 (grub_xnu_entry_point): Likewise.
17271 (grub_xnu_arg1): Likewise.
17272 (grub_xnu_stack): Likewise.
17273 (grub_xnu_launch): Removed.
17274 (grub_xnu_boot_resume): New function.
17275 (grub_xnu_boot): Use relocators.
17276 * loader/i386/xnu_helper.S: Removed.
17277 * loader/xnu.c (grub_xnu_heap_start): New variable.
17278 (grub_xnu_heap_size): Likewise.
17279 (grub_xnu_heap_malloc): Use relocators.
17280 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
17281
17282 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
17283
17284 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
17285 anything.
17286
17287 2009-12-13 Carles Pina i Estany <carles@pina.cat>
17288
17289 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
17290 GRUB_ERR_NONE before calling grub_env_set.
17291
17292 2009-12-12 Robert Millan <rmh@aybabtu.com>
17293
17294 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
17295 * genmk.rb (video): New variable.
17296 (CLEANFILES, VIDEOFILES): Add #{video}.
17297 (#{video}): New target rule.
17298 * genvideolist.sh: New file.
17299 * Makefile.in (pkglib_DATA): Add video.lst.
17300 (video.lst): New target rule.
17301 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
17302 `video.lst'.
17303 * util/grub.d/30_os-prober.in: Replace `vbe' with
17304 ${GRUB_VIDEO_BACKEND}.
17305
17306 2009-12-11 Robert Millan <rmh.grub@aybabtu.com>
17307
17308 * THANKS: Add David Miller.
17309
17310 2009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
17311
17312 libpciaccess support.
17313
17314 * Makefile.in (LIBPCIACCESS): New variable.
17315 (enable_grub_emu_pci): Likewise.
17316 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
17317 util/pci.c and commands/lspci.c.
17318 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
17319 * configure.ac (grub-emu-pci): New option.
17320 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
17321 (grub_pci_device_unmap_range): Likewise.
17322 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
17323 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
17324 (grub_pci_address_t) [!GRUB_UTIL]: New type.
17325 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
17326 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
17327 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
17328 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
17329 * include/grub/pciutils.h: New file.
17330 * util/pci.c: Likewise.
17331
17332 2009-12-11 Felix Zielcke <fzielcke@z-51.de>
17333
17334 * util/misc.c: Don't include <errno.h> twice.
17335
17336 2009-12-10 Felix Zielcke <fzielcke@z-51.de>
17337
17338 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
17339 name in an error message.
17340 (grub_biosdisk_rw): Likewise.
17341
17342 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
17343
17344 Eliminate NTFS 4Gib barrier.
17345
17346 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
17347 (read_run_data): Likewise.
17348 (grub_ntfs_read_run_list): Likewise.
17349 (grub_ntfs_read_block): Likewise.
17350 (grub_ntfs_iterate_dir): Likewise.
17351 (read_mft): Likewise.
17352 (read_data): Likewise.
17353 Use COM_LOG_LEN.
17354 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
17355 to avoid 64-bit division
17356 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
17357 (grub_ntfs_rlst): Use grub_disk_addr_t.
17358
17359 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
17360
17361 Eliminate grub-fstest 4Gib barrier.
17362
17363 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
17364 (read_file): Fix error reporting.
17365
17366 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
17367
17368 Eliminate hexdump 4Gib barrier.
17369
17370 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
17371 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
17372
17373 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
17374
17375 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
17376 Fixes amarsh bug.
17377
17378 2009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
17379
17380 Remove miscellaneous files in distclean target.
17381
17382 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
17383
17384 2009-12-09 Colin Watson <cjwatson@ubuntu.com>
17385
17386 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
17387 if they're already set. This resolves the conflict between my
17388 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
17389 fixing the --grub-probe option again.
17390 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
17391 change on 2009-10-06, so that we now once again source
17392 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
17393
17394 2009-12-08 Robert Millan <rmh.grub@aybabtu.com>
17395
17396 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
17397 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
17398 `util/devicemap.c'.
17399
17400 2009-12-08 Carles Pina i Estany <carles@pina.cat>
17401
17402 * include/grub/misc.h (grub_printf_): New declaration.
17403 * kern/misc.c (grub_printf_): New definition.
17404 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
17405 instead of `grub_printf' and `_'.
17406 * normal/menu_entry.c (store_completion): Likewise.
17407 (run): Likewise.
17408 (grub_menu_entry_run): Likewise.
17409 * normal/menu_text.c (grub_wait_after_message): Likewise.
17410 (notify_booting): Likewise.
17411 (notify_fallback): Likewise.
17412 (notify_execution_failure): Likewise.
17413
17414 2009-12-07 Colin Watson <cjwatson@ubuntu.com>
17415
17416 * configure.ac: Check for vasprintf.
17417 * util/misc.c (asprintf): Move allocation from here ...
17418 (vasprintf): ... to here. New function.
17419 (xasprintf): New function.
17420 * include/grub/util/misc.h (vasprintf, xasprintf): Add
17421 prototypes.
17422 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
17423 * util/grub-mkfont.c (write_font): Likewise.
17424 * util/grub-probe.c (probe): Likewise.
17425 * util/hostdisk.c (make_device_name): Likewise.
17426
17427 2009-12-06 David S. Miller <davem@sunset.davemloft.net>
17428
17429 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
17430 anything even prefixed with 'cdrom' as a cdrom.
17431
17432 2009-12-06 Felix Zielcke <fzielcke@z-51.de>
17433
17434 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
17435 mount points.
17436
17437 2009-12-05 Carles Pina i Estany <carles@pina.cat>
17438
17439 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
17440 grub_gettext_msg_list.
17441 (grub_gettext_gettranslation_from_position): Return const char *
17442 and not char *.
17443 (grub_gettext_translate): Add the translated strings into a list,
17444 returns from the list if existing there.
17445 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
17446 (grub_gettext_delete_list): Delete the list.
17447 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
17448 lang environment variable is changed.
17449 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
17450
17451 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
17452
17453 Rename kernel.mod to kernel.img.
17454
17455 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
17456 (kernel_mod_EXPORTS): Rename to ...
17457 (kernel_img_EXPORTS): ... this.
17458 (kernel_mod_SOURCES): Rename to ...
17459 (kernel_img_SOURCES): ... this.
17460 (kernel_mod_HEADERS): Rename to ...
17461 (kernel_img_HEADERS): ... this. All users updated.
17462 (kernel_mod_CFLAGS): Rename to ...
17463 (kernel_img_CFLAGS): ... this.
17464 (kernel_mod_ASFLAGS): Rename to ...
17465 (kernel_img_ASFLAGS): ... this.
17466 (kernel_mod_LDFLAGS): Rename to ...
17467 (kernel_img_LDFLAGS): ... this.
17468 * conf/x86_64-efi.rmk: Likewise.
17469 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
17470 (read_kernel_image): ... this. All users updated.
17471 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
17472
17473 2009-12-05 Carles Pina i Estany <carles@pina.cat>
17474
17475 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
17476 (print_spaces): New function.
17477 (grub_print_ucs4): New function.
17478 (getstringwidth): New function.
17479 (print_message_indented): New function.
17480 (print_message): Gettexttize strings using print_message_indented.
17481 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
17482 width.
17483 (get_entry_number): Gettextize and uses dynamic terminal width.
17484 (notify_booting, notify_fallback, notify_execution_failure):
17485 Gettextize.
17486 * normal/menu_entry.c (store_completion): Cleanup the gettextized
17487 string.
17488 (run): Likewise.
17489 (grub_menu_entry_run): Likewise.
17490 * PO/POTFILES: Add normal/menu_entry.c.
17491
17492 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
17493
17494 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
17495
17496 2009-12-05 Carles Pina i Estany <carles@pina.cat>
17497
17498 * util/grub-install.in: Install gettext .mo files.
17499 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
17500
17501 2009-12-05 Carles Pina i Estany <carles@pina.cat>
17502
17503 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
17504 grub_dprintf.
17505
17506 2009-12-05 Robert Millan <rmh.grub@aybabtu.com>
17507
17508 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
17509 non-firmware-dependant one in realmode.S takes precedence.
17510
17511 2009-12-04 Robert Millan <rmh.grub@aybabtu.com>
17512
17513 * commands/halt.c: Replace misc arch-specific headers with
17514 `<grub/misc.h>'.
17515 * commands/reboot.c: Likewise.
17516 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
17517 `<grub/misc.h>'.
17518 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
17519 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
17520 (kernel_img_SOURCES): ... to here.
17521
17522 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
17523 * include/grub/i386/pc/init.h: Likewise.
17524 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
17525 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
17526
17527 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
17528
17529 * include/grub/i386/halt.h: Remove.
17530 * include/grub/i386/reboot.h: Likewise.
17531
17532 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
17533
17534 2009-12-03 David S. Miller <davem@sunset.davemloft.net>
17535
17536 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
17537 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
17538 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
17539 "progname.h"
17540 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
17541 * util/sparc64/ieee1275/grub-setup.c: Likewise.
17542 (usage): Add missing comma in printf.
17543
17544 2009-12-02 Robert Millan <rmh.grub@aybabtu.com>
17545
17546 Use the same reboot approach on i386 coreboot and qemu as we do on
17547 BIOS.
17548
17549 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
17550 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
17551 * kern/i386/reboot.c: Remove.
17552 * include/grub/i386/reboot.h (grub_reboot): Export function.
17553 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
17554 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
17555 0xf000:0xfff0 instead of 0xffff:0x0000.
17556 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
17557 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
17558
17559 2009-11-30 Robert Millan <rmh.grub@aybabtu.com>
17560
17561 Fix $srcdir != $objdir build.
17562
17563 * Makefile.in (po/%.po): Rewrite as ...
17564 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
17565
17566 2009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
17567
17568 Fix GNU/Hurd grub-install crash.
17569 * util/grub-probe.c (probe): Try to access `path' only when it is not
17570 NULL.
17571
17572 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
17573
17574 Correct module naming.
17575
17576 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
17577 (GRUB_MOD_INIT(efi_uga)): ... to this
17578 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
17579 (GRUB_MOD_FINI(efi_uga)): ... to this
17580 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
17581 (GRUB_MOD_INIT(efi_gop)): ... to this
17582 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
17583 (GRUB_MOD_FINI(efi_gop)): ... to this
17584
17585 2009-11-28 Robert Millan <rmh.grub@aybabtu.com>
17586
17587 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
17588 translatable.
17589 (usage): Translate `arg' strings using gettext().
17590 Thanks to Jordi Mallach for the suggestion.
17591
17592 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
17593
17594 GOP support. Based on patch from Bean
17595 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
17596
17597 * video/efi_gop.c: New file.
17598 * include/grub/efi/graphics_output.h: Likewise.
17599 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
17600 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
17601 variables.
17602 * conf/x86_64-efi.rmk: Likewise.
17603
17604 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
17605
17606 Rename efi_fb to efi_uga.
17607
17608 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
17609 'efi_uga.mod'.
17610 (efi_fb_mod_SOURCES): Rename this ...
17611 (efi_uga_mod_SOURCES): ... to this.
17612 (efi_fb_mod_CFLAGS): Rename this ...
17613 (efi_uga_mod_CFLAGS): ... to this.
17614 (efi_fb_mod_LDFLAGS): Rename this ...
17615 (efi_uga_mod_LDFLAGS): ... to this.
17616 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
17617 'efi_uga.mod'.
17618 (efi_fb_mod_SOURCES): Rename this ...
17619 (efi_uga_mod_SOURCES): ... to this.
17620 (efi_fb_mod_CFLAGS): Rename this ...
17621 (efi_uga_mod_CFLAGS): ... to this.
17622 (efi_fb_mod_LDFLAGS): Rename this ...
17623 (efi_uga_mod_LDFLAGS): ... to this.
17624 * video/efi_fb.c: Move this ...
17625 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
17626
17627 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
17628
17629 * po/README: New file. Explain our PO file workflow.
17630
17631 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
17632
17633 * po/ChangeLog: Remove. Move relevant entries back to ...
17634 * ChangeLog: ... here.
17635 * po/ca.po: Remove (now handled by TLP).
17636 * po/id.po: Likewise.
17637 * po/zh_CN.po: Likewise.
17638 * Makefile.in (LINGUAS): Initialize in a way that supports
17639 empty set.
17640
17641 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
17642
17643 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
17644 reliing on po/LINGUAS.
17645 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
17646 (po/%.po): ... this.
17647
17648 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
17649
17650 * util/i386/efi/grub-mkimage.c: Include "progname.h".
17651 (main): Use `program_name' instead of nonexistent `progname'.
17652
17653 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
17654
17655 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
17656 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
17657
17658 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
17659
17660 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
17661 commit.
17662 * conf/i386-efi.rmk: Likewise.
17663 * conf/i386-ieee1275.rmk: Likewise.
17664 * conf/powerpc-ieee1275.rmk: Likewise.
17665 * conf/sparc64-ieee1275.rmk: Likewise.
17666 * conf/x86_64-efi.rmk: Likewise.
17667
17668 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
17669
17670 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
17671
17672 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
17673
17674 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
17675
17676 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
17677
17678 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
17679 (grub_mkdevicemap_SOURCES): New variable.
17680 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
17681 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
17682 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
17683 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
17684 (grub_mkdevicemap_SOURCES): Remove.
17685 * conf/i386-efi.rmk: Likewise.
17686 * conf/i386-ieee1275.rmk: Likewise.
17687 * conf/i386-pc.rmk: Likewise.
17688 * conf/powerpc-ieee1275.rmk: Likewise.
17689 * conf/sparc64-ieee1275.rmk: Likewise.
17690 * conf/x86_64-efi.rmk: Likewise.
17691 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
17692 (usage): Fix strings to use `program_name'.
17693 (main): Initialize gettext.
17694 * util/grub-editenv.c: Likewise.
17695 * util/grub-emu.c: Likewise.
17696 * util/grub-fstest.c: Likewise.
17697 * util/grub-mkdevicemap.c: Likewise.
17698 * util/grub-mkfont.c: Likewise.
17699 * util/grub-mkrelpath.c: Likewise.
17700 * util/grub-pe2elf.c: Likewise.
17701 * util/grub-probe.c: Likewise.
17702 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
17703 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
17704 * util/sparc64/ieee1275/grub-setup.c: Likewise.
17705
17706 * util/misc.c: Include `"progname.h"'.
17707 (progname): Remove variable.
17708 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
17709
17710 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
17711
17712 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
17713 printf and print a newline after the menuentry header line.
17714 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
17715
17716 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
17717
17718 autoconf >= 2.60 support $(localedir).
17719
17720 * INSTALL: Note that autoconf 2.60 is required.
17721 * configure.ac (AC_PREREQ): Bump to 2.60.
17722 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
17723 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
17724
17725 2009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
17726
17727 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
17728 aclocal is run.
17729
17730 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
17731
17732 * normal/main.c (grub_normal_read_line): Fix off-by-one
17733 buffer overflow.
17734
17735 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
17736
17737 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
17738 "parser.grub" in grub_command_execute() call.
17739
17740 2009-11-24 Carles Pina i Estany <carles@pina.cat>
17741
17742 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
17743 * conf/i386-efi.rmk: Likewise.
17744 * conf/i386-ieee1275.rmk: Likewise.
17745 * conf/i386-pc.rmk: Likewise.
17746 * conf/powerpc-ieee1275.rmk: Likewise.
17747 * conf/sparc64-ieee1275.rmk: Likewise.
17748 * conf/x86_64-efi.rmk: Likewise.
17749 * gettext/gettex.c: Include <grub/i18n.h>.
17750 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
17751 here ...
17752 * include/grub/i18n.h: ... to here
17753 * include/grub/i18n.h: ... to here.
17754 * kern/misc.c: Include <grub/i18n.h>
17755 (grub_gettext_dummy): Move above user.
17756
17757 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
17758
17759 * util/Makefile.in (install-local): Convert a `for' into a normal
17760 shell expansion.
17761
17762 2009-11-24 Robert Millan <rmh.grub@aybabtu.com>
17763
17764 * autogen.sh: Add automake call.
17765 * config.guess: Remove.
17766 * config.sub: Likewise.
17767 * install-sh: Likewise.
17768
17769 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
17770
17771 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
17772
17773 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
17774
17775 * util/Makefile.in (install-local): Convert a make `$(foreach)'
17776 function to a normal shell `for'.
17777
17778 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
17779
17780 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
17781
17782 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
17783
17784 * util/grub-mkrelpath.c: New file.
17785 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
17786 (grub_mkrelpath_SOURCES): New variable.
17787 * include/grub/util/misc.h: New function prototype.
17788 * util/misc.c (make_system_path_relative_to_its_root): New function.
17789
17790 * util/grub-mkconfig_lib.in (bindir): New variable.
17791 (grub_mkrelpath): Likewise.
17792 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
17793
17794 * util/probe.c (probe): Make the file path relative to its root.
17795 Change a info message to use the GRUB path. Enable again the
17796 check if we can read the file with GRUB facilities.
17797
17798 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
17799 to its root.
17800
17801 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
17802
17803 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
17804 platform.
17805
17806 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
17807
17808 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
17809 strncmp().
17810
17811 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
17812
17813 * util/getroot.c (grub_util_is_dmraid): New function.
17814 (grub_util_get_dev_abstraction): Treat dmraid and multipath
17815 devices as normal ones, not as LVM.
17816
17817 2009-11-23 Carles Pina i Estany <carles@pina.cat>
17818
17819 * conf/common.rmk: Add grub-gettext_lib target and updates
17820 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
17821 LDFLAGS.
17822 * gettext/gettext.c: New file. (Reads mo files).
17823 * include/grub/file.h (grub_file_pread): New prototype.
17824 * include/grub/i18n.h (_): New prototype.
17825 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
17826 prototypes.
17827 * kern/misc.c (grub_gettext_dummy): New function.
17828 * normal/menu_text.c: Include <grub/i18n.h>.
17829 * normal/menu_text.c (print_timeout): Gettexttize string.
17830 * normal/menu_text.c (print_message): Gettexttize string.
17831 * po/POTFILES: Add `normal/menu_text.c'.
17832 * po/ca.po: Add new translations.
17833 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
17834 gettext module and defines locale_dir and lang in grub.cfg.
17835 * NEWS: Add gettext support.
17836
17837 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
17838
17839 * util/hostdisk.c: Include `<grub/i18n.h>'.
17840 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
17841 (make_device_name): Rewrite using asprintf.
17842 (convert_system_partition_to_system_disk): Replace 0 with NULL.
17843 (find_system_device): If a device is not found, generate one just
17844 by reusing the OS path name.
17845 (read_device_map): Make it permissible for device.map not to exist.
17846
17847 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
17848
17849 * script/sh/execute.c: Move from here ...
17850 * script/execute.c: ... to here. Update all users.
17851 * script/sh/function.c: Move from here ...
17852 * script/function.c: ... to here. Update all users.
17853 * script/sh/lexer.c: Move from here ...
17854 * script/lexer.c: ... to here. Update all users.
17855 * script/sh/main.c: Move from here ...
17856 * script/main.c: ... to here. Update all users.
17857 * script/sh/parser.y: Move from here ...
17858 * script/parser.y: ... to here. Update all users.
17859 * script/sh/script.c: Move from here ...
17860 * script/script.c: ... to here. Update all users.
17861
17862 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
17863
17864 * configure.ac: Detect all `emu' platforms. Define
17865 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
17866 --enable-grub-emu logic. Disable include/grub/machine
17867 symlink on `emu' platforms.
17868
17869 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
17870 * gensymlist.sh.in: Likewise.
17871
17872 * include/grub/i386/coreboot/machine.h: Remove file.
17873 * include/grub/i386/efi/machine.h: Likewise.
17874 * include/grub/i386/ieee1275/machine.h: Likewise.
17875 * include/grub/i386/pc/machine.h: Likewise.
17876 * include/grub/i386/qemu/machine.h: Likewise.
17877 * include/grub/powerpc/ieee1275/machine.h: Likewise.
17878 * include/grub/sparc64/ieee1275/machine.h: Likewise.
17879 * include/grub/x86_64/efi/machine.h: Likewise.
17880
17881 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
17882 * commands/halt.c: Likewise.
17883 * commands/reboot.c: Likewise.
17884 * include/grub/autoefi.h: Likewise.
17885 * include/grub/i386/at_keyboard.h: Likewise.
17886 * include/grub/i386/kernel.h: Likewise.
17887 * include/grub/i386/loader.h: Likewise.
17888 * include/grub/i386/pc/memory.h: Likewise.
17889 * kern/dl.c: Likewise.
17890 * kern/i386/coreboot/init.c: Likewise.
17891 * loader/i386/bsd.c: Likewise.
17892 * loader/i386/linux.c: Likewise.
17893 * loader/multiboot_loader.c: Likewise.
17894 * term/i386/pc/serial.c: Likewise.
17895 * term/usb_keyboard.c: Likewise.
17896
17897 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
17898 `<grub/machine/machine.h>'
17899 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
17900 * util/misc.c: Remove `<grub/machine/machine.h>' and
17901 `<grub/machine/time.h>'.
17902
17903 * Makefile.in (enable_grub_emu): Remove variable.
17904 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
17905
17906 * conf/any-emu.rmk: New file.
17907 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
17908 (grub_emu_init.c): Move from here ...
17909 * conf/any-emu.rmk: ... to here.
17910
17911 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
17912 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
17913 * conf/any-emu.rmk: ... to here.
17914
17915 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
17916
17917 * include/grub/parser.h (grub_parser_register): Document need
17918 of `name' parameter.
17919 * normal/main.c (grub_normal_read_line): Simplify prompt string.
17920 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
17921 "sh" to "grub".
17922
17923 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
17924
17925 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
17926 `$(XGETTEXT)'.
17927 * include/grub/i18n.h (N_): New macro.
17928 * util/mkisofs/mkisofs.h: Likewise.
17929 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
17930 around N_().
17931 (usage): Use gettext() to translate help strings when printing them.
17932
17933 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
17934
17935 Based on patch from Bean
17936 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
17937
17938 * video/efi_fb.c: New file.
17939 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
17940 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
17941 variables.
17942 * conf/x86_64-efi.rmk: Likewise.
17943
17944 2009-11-22 Robert Millan <rmh.grub@aybabtu.com>
17945
17946 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
17947 * util/i386/pc/grub-setup.c: Likewise.
17948
17949 2009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
17950
17951 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
17952 <hurd/fs.h>
17953 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
17954 file_get_storage_info to implement grub_guess_root_device.
17955
17956 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
17957
17958 * Makefile.in (target): Use make's builtin $(shell) function
17959 instead of calling directly $(SHELL) to create the locale directories,
17960 inside the $(foreach) function.
17961
17962 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
17963
17964 * util/grub-mkrescue.in: Print an error and usage if output option
17965 has not been given.
17966
17967 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
17968
17969 Patch from Loïc Minier <loic.minier@ubuntu.com>.
17970 * util/grub.d/30_os-prober.in: Cope with Linux entries where
17971 root and /boot are on different devices.
17972
17973 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
17974
17975 Fix build for srcdir != objdir.
17976
17977 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
17978 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
17979 $(srcdir).
17980 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
17981 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
17982 reference for input.
17983
17984 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
17985
17986 * util/grub-mkrescue.in: Use source directory direcly (without copiing
17987 or hardlinking it). Remove -J option, Joliet is not compatible with
17988 multiple source directories.
17989
17990 2009-11-21 Carles Pina i Estany <carles@pina.cat>
17991 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
17992
17993 * util/grub-mkrescue.in: Recognize `--override-directory' option.
17994 (process_input_dir): New function. Process an arbitrary input
17995 directory.
17996 Misc adjustments to support both "override mode" and system-wide mode.
17997
17998 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
17999
18000 * configure.ac (UNIFONT_BDF): Rename to ...
18001 (FONT_SOURCE): ... this. Update all users.
18002
18003 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
18004
18005 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
18006 to the list of unifont files to look for.
18007
18008 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
18009
18010 Patch from Joe Auricchio <jauricchio@gmail.com>
18011 * commands/minicmd.c (grub_mini_cmd_clear): New function.
18012 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
18013 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
18014
18015 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
18016
18017 * Makefile.in (install-local): Add a missing backslash.
18018
18019 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
18020
18021 * include/grub/x86_64/io.h: New file.
18022
18023 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
18024
18025 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
18026 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
18027 Include `"progname.h"'.
18028 (main): Initialize gettext.
18029 * util/i386/pc/grub-setup.c: Gettexttize.
18030 * util/i386/pc/grub-mkimage.c: Likewise.
18031
18032 * Makefile.in (po/*.po): Redefine as ...
18033 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
18034
18035 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
18036
18037 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
18038
18039 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
18040 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
18041 (program_name): Remove.
18042 (main): Initialize gettext support.
18043 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
18044 Include `<libintl.h>'.
18045 (_): New macro.
18046
18047 * util/mkisofs/eltorito.c: Gettexttize.
18048 * util/mkisofs/joliet.c: Likewise.
18049 * util/mkisofs/mkisofs.c: Likewise.
18050 * util/mkisofs/multi.c: Likewise.
18051 * util/mkisofs/rock.c: Likewise.
18052 * util/mkisofs/tree.c: Likewise.
18053 * util/mkisofs/write.c: Likewise.
18054
18055 * po/POTFILES: Update with new files.
18056
18057 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
18058
18059 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
18060 * util/mkisofs/iso9660.h: Likewise.
18061 * util/mkisofs/joliet.c: Likewise.
18062 * util/mkisofs/mkisofs.c: Likewise.
18063 * util/mkisofs/mkisofs.h: Likewise.
18064 * util/mkisofs/rock.c: Likewise.
18065 * util/mkisofs/tree.c: Likewise.
18066 * util/mkisofs/write.c: Likewise.
18067
18068 * util/mkisofs/eltorito.c (rcsid): Remove.
18069 * util/mkisofs/hash.c: Likewise.
18070 * util/mkisofs/joliet.c: Likewise.
18071 * util/mkisofs/name.c: Likewise.
18072 * util/mkisofs/rock.c: Likewise.
18073 * util/mkisofs/tree.c: Likewise.
18074 * util/mkisofs/write.c: Likewise.
18075
18076 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
18077
18078 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
18079 instead of static allocation.
18080 * util/mkisofs/match.h: Likewise.
18081
18082 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
18083
18084 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
18085 and `util/grub.d/10_linux.in'.
18086 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
18087 translatable Shell files.
18088
18089 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
18090
18091 * Makefile.in ($(srcdir)/aclocal.m4): New target.
18092
18093 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
18094
18095 * INSTALL: Document Automake is needed for bootstrap.
18096 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
18097 * util/grub.d/10_kfreebsd.in (bindir): New variable.
18098 Add gettext initialization.
18099 (kfreebsd_entry): Make menuentry output translatable.
18100
18101 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
18102
18103 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
18104 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
18105 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
18106 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
18107 (LINGUAS): Auto-generate using `po/LINGUAS'.
18108 * po/LINGUAS: New file.
18109
18110 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
18111
18112 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
18113 other things).
18114 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
18115 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
18116 bindtextdomain() calls for gettext initialization.
18117
18118 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
18119
18120 * gnulib/progname.c: New file (imported from Gnulib).
18121 * gnulib/progname.h: Likewise.
18122 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
18123 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
18124 (usage): Replace `progname' with `program_name'.
18125 (main): Use set_program_name() for program name initialization.
18126
18127 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
18128
18129 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
18130 from here ...
18131 * Makefile.in (CPPFLAGS): ... to here.
18132
18133 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
18134
18135 * aclocal.m4: Move from here ...
18136 * acinclude.m4: ... to here.
18137 * autogen.sh: Add call to `aclocal'.
18138 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
18139
18140 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
18141
18142 * Makefile.in (CLEANFILES): Add `po/*.mo'.
18143 (LINGUAS): New variable.
18144 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
18145 (install-local): Install MO files.
18146 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
18147 * include/grub/i18n.h: New file.
18148 * po/POTFILES: New file.
18149 * po/ca.po: New file.
18150 * util/grub.d/10_linux.in (bindir): New variable.
18151 Add gettext initialization.
18152 (linux_entry): Make menuentry output translatable.
18153 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
18154 (usage): Make --help output translatable.
18155 (main): Initialize gettext.
18156
18157 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
18158
18159 * import_gcry.py: New file (written by Vladimir with minor
18160 adjustments).
18161 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
18162 ciphers.
18163 * INSTALL: Document that Python is required for bootstrap.
18164
18165 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
18166
18167 Import ciphers from libgcrypt 1.4.4.
18168
18169 * lib/libgcrypt/cipher/ChangeLog
18170 * lib/libgcrypt/cipher/ac.c
18171 * lib/libgcrypt/cipher/arcfour.c
18172 * lib/libgcrypt/cipher/bithelp.h
18173 * lib/libgcrypt/cipher/blowfish.c
18174 * lib/libgcrypt/cipher/camellia-glue.c
18175 * lib/libgcrypt/cipher/camellia.c
18176 * lib/libgcrypt/cipher/camellia.h
18177 * lib/libgcrypt/cipher/cast5.c
18178 * lib/libgcrypt/cipher/cipher.c
18179 * lib/libgcrypt/cipher/crc.c
18180 * lib/libgcrypt/cipher/des.c
18181 * lib/libgcrypt/cipher/dsa.c
18182 * lib/libgcrypt/cipher/ecc.c
18183 * lib/libgcrypt/cipher/elgamal.c
18184 * lib/libgcrypt/cipher/hash-common.c
18185 * lib/libgcrypt/cipher/hash-common.h
18186 * lib/libgcrypt/cipher/hmac-tests.c
18187 * lib/libgcrypt/cipher/md.c
18188 * lib/libgcrypt/cipher/md4.c
18189 * lib/libgcrypt/cipher/md5.c
18190 * lib/libgcrypt/cipher/primegen.c
18191 * lib/libgcrypt/cipher/pubkey.c
18192 * lib/libgcrypt/cipher/rfc2268.c
18193 * lib/libgcrypt/cipher/rijndael-tables.h
18194 * lib/libgcrypt/cipher/rijndael.c
18195 * lib/libgcrypt/cipher/rmd.h
18196 * lib/libgcrypt/cipher/rmd160.c
18197 * lib/libgcrypt/cipher/rsa.c
18198 * lib/libgcrypt/cipher/seed.c
18199 * lib/libgcrypt/cipher/serpent.c
18200 * lib/libgcrypt/cipher/sha1.c
18201 * lib/libgcrypt/cipher/sha256.c
18202 * lib/libgcrypt/cipher/sha512.c
18203 * lib/libgcrypt/cipher/tiger.c
18204 * lib/libgcrypt/cipher/twofish.c
18205 * lib/libgcrypt/cipher/whirlpool.c
18206
18207 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
18208
18209 Fix build for systems without error().
18210
18211 * gnulib/error.c: New file (imported from Gnulib).
18212 * gnulib/error.h: Likewise.
18213 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
18214 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
18215 (this variable is now used by error()).
18216
18217 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
18218
18219 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
18220 instead of relying that char is signed.
18221
18222 2009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
18223
18224 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
18225 blocksize different from specified.
18226 (grub_pxefs_read): Likewise.
18227
18228 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
18229
18230 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
18231
18232 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
18233 (grub_ata_readwrite): Likewise. Update 2 format strings.
18234 (grub_atapi_read): Likewise.
18235
18236 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
18237 * conf/i386.rmk (pkglib_MODULES): ... to here ...
18238 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
18239 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
18240 (ata_mod_LDFLAGS): Move from here ...
18241 * conf/i386.rmk: ... to here ...
18242 * conf/x86_64-efi.rmk: ... and here.
18243 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
18244 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
18245
18246 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
18247
18248 Relicense multiboot.h, with RMS' blessing.
18249
18250 * include/multiboot.h: Change to X11 license.
18251
18252 2009-11-15 Robert Millan <rmh.grub@aybabtu.com>
18253
18254 Support --version in grub-mkisofs.
18255
18256 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
18257 (OPTION_VERSION): New macro.
18258 (ld_options): Recognize --version.
18259 (usage): Move `program_name' from here ...
18260 (program_name): ... to here. Add `static' qualifier.
18261 (main): Recognize `OPTION_VERSION'.
18262
18263 2009-11-15 Felix Zielcke <fzielcke@z-51.de>
18264
18265 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
18266 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
18267
18268 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
18269
18270 Fix help2man generation for mkisofs.
18271
18272 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
18273 (usage): Send output to stdout (rather than stderr).
18274
18275 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
18276
18277 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
18278 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
18279 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
18280 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
18281 (bin_SCRIPTS): Add `grub-mkfloppy'.
18282 (grub_mkfloppy_SOURCES): New variable.
18283
18284 * util/grub-mkrescue.in: New file.
18285 * util/i386/pc/grub-mkfloppy.in: New file.
18286
18287 * util/i386/coreboot/grub-mkrescue.in: Remove.
18288 * util/i386/pc/grub-mkrescue.in: Remove.
18289
18290 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
18291
18292 * include/grub/multiboot.h (struct grub_multiboot_header): Move
18293 from here ...
18294 * include/multiboot.h (struct multiboot_header): ... to here. Update
18295 all users.
18296 * include/grub/multiboot.h (struct grub_multiboot_info): Move
18297 from here ...
18298 * include/multiboot.h (struct multiboot_info): ... to here. Update
18299 all users.
18300 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
18301 from here ...
18302 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
18303 Update all users.
18304 * include/grub/multiboot.h (struct grub_mod_list): Move
18305 from here ...
18306 * include/multiboot.h (struct multiboot_mod_list): ... to here.
18307 Update all users.
18308
18309 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
18310
18311 * include/multiboot2.h (multiboot_word): Rename from this ...
18312 (multiboot2_word): ... to this. Update all users.
18313 (multiboot_header): Rename from this ...
18314 (multiboot2_header): ... to this. Update all users.
18315 (multiboot_tag_header): Rename from this ...
18316 (multiboot2_tag_header): ... to this. Update all users.
18317 (multiboot_tag_start): Rename from this ...
18318 (multiboot2_tag_start): ... to this. Update all users.
18319 (multiboot_tag_name): Rename from this ...
18320 (multiboot2_tag_name): ... to this. Update all users.
18321 (multiboot_tag_module): Rename from this ...
18322 (multiboot2_tag_module): ... to this. Update all users.
18323 (multiboot_tag_memory): Rename from this ...
18324 (multiboot2_tag_memory): ... to this. Update all users.
18325 (multiboot_tag_unused): Rename from this ...
18326 (multiboot2_tag_unused): ... to this. Update all users.
18327 (multiboot_tag_end): Rename from this ...
18328 (multiboot2_tag_end): ... to this. Update all users.
18329
18330 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
18331
18332 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
18333 this platform we should support Multiboot1 first.
18334
18335 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
18336 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
18337 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
18338
18339 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
18340
18341 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
18342 of write calls (converting them to fwrite() if they aren't already).
18343 (get_torito_desc): Likewise.
18344 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
18345
18346 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
18347
18348 * util/i386/pc/grub-install.in: Move from here ...
18349 * util/grub-install.in: ... to here. Update all users.
18350
18351 2009-11-11 Colin Watson <cjwatson@ubuntu.com>
18352
18353 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
18354
18355 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
18356
18357 Support for El Torito without floppy emulation.
18358
18359 * util/mkisofs/eltorito.c: Include `<errno.h>'.
18360 (init_boot_catalog): Improve error handling.
18361 (get_torito_desc): Don't use floppy emulation unless requested by
18362 user. Patch boot information table when requested via
18363 `-boot-info-table'.
18364 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
18365 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
18366 (use_boot_info_table): New variables.
18367 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
18368 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
18369 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
18370 `--eltorito-emul-floppy'.
18371 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
18372 and `OPTION_ELTORITO_EMUL_FLOPPY'.
18373 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
18374 (use_boot_info_table, get_731): New prototypes.
18375 * util/mkisofs/write.c (get_731): New function.
18376
18377 2009-11-11 Felix Zielcke <fzielcke@z-51.de>
18378
18379 Fix the generation of the man page.
18380
18381 * util/pc/i386/grub-install.in: Source
18382 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
18383
18384 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
18385
18386 Large file support for grub-mkisofs.
18387
18388 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
18389 * util/mkisofs/mkisofs.c (next_extent, last_extent)
18390 (session_start): Upgrade type to `uint64_t'. Update all users.
18391 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
18392 (struct directory_entry): Upgrade type of `starting_block' and
18393 `size' to `uint64_t'. Update all users.
18394 (struct deferred): Remove unused structure.
18395 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
18396 Update all users.
18397 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
18398 file is larger than `UINT32_MAX'.
18399 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
18400 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
18401 return value.
18402 (struct deferred_write): Upgrade type of `extent' and `size' to
18403 `uint64_t'. Update all users.
18404 (last_extent_written): Upgrade type to `uint64_t'. Update all
18405 users.
18406 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
18407 Update all users. Upgrade type of `remain' to `int64_t' and
18408 `use' to `size_t'. Use error() to handle fread() errors.
18409 (write_files): Rely on write_one_file() rather than calling
18410 xfwrite() directly.
18411
18412 2009-11-09 Felix Zielcke <fzielcke@z-51.de>
18413
18414 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
18415
18416 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
18417
18418 * util/mkisofs/fnmatch.c: Remove.
18419 * util/mkisofs/getopt1.c: Likewise.
18420 * util/mkisofs/getopt.c: Likewise.
18421 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
18422 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
18423 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
18424 `gnulib/getopt1.c' and `gnulib/getopt.c'.
18425 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
18426
18427 * configure.ac: Detect `mingw32msvc' host_os.
18428 Check for lstat(), getuid() and getgid().
18429
18430 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
18431 instances of `u_char' with `uint8_t'.
18432
18433 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
18434 [!HAVE_GETUID] (getuid): New function (stub).
18435 [!HAVE_GETGID] (getgid): Likewise.
18436 [!HAVE_LSTAT] (lstat): Likewise.
18437 [!S_IROTH] (S_IROTH): New macro (dummy).
18438 [!S_IRGRP] (S_IRGRP): Likewise.
18439
18440 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
18441
18442 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
18443 conditional expression).
18444
18445 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
18446
18447 Import from Gnulib.
18448
18449 * gnulib/fnmatch.c: New file.
18450 * gnulib/fnmatch.h: Likewise.
18451 * gnulib/fnmatch_loop.c: Likewise.
18452 * gnulib/getopt.c: Likewise.
18453 * gnulib/getopt.h: Likewise.
18454 * gnulib/getopt1.c: Likewise.
18455 * gnulib/getopt_int.h: Likewise.
18456 * gnulib/gettext.h: Likewise.
18457
18458 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
18459
18460 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
18461 * normal/handler.c (read_handler_list): Likewise.
18462
18463 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
18464
18465 Misc cleanup.
18466
18467 * kern/command.c (grub_register_command_prio): Use
18468 grub_zalloc() instead of explicitly zeroing data.
18469 * kern/list.c: Include `<grub/mm.h>'.
18470 (grub_named_list_find): Replace `0' with `NULL'.
18471 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
18472 (fs_module_list): Change type to `grub_named_list_t'. Update all
18473 users.
18474 * normal/dyncmd.c (read_command_list): Add space between function
18475 call and parenthesis.
18476 * normal/handler.c (read_handler_list): Likewise.
18477
18478 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
18479
18480 * normal/auth.c (punishment_delay): Moved from here ...
18481 (grub_auth_strcmp): ... to here (inside function).
18482
18483 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
18484
18485 * include/grub/list.h (struct grub_named_list): Remove `const'
18486 qualifier from `name'.
18487 (struct grub_prio_list): Likewise.
18488
18489 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
18490
18491 * normal/auth.c: Include `<grub/time.h>'.
18492 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
18493
18494 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
18495
18496 * normal/auth.c (punishment_delay): New variable.
18497 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
18498 (grub_auth_check_authentication): Punish failed login attempts with
18499 an incremental (2^N) delay.
18500
18501 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
18502
18503 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
18504 path with $(srcdir).
18505
18506 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
18507
18508 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
18509
18510 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
18511
18512 * util/i386/coreboot/grub-mkrescue.in: New file.
18513 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
18514 variables.
18515
18516 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
18517 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
18518 * configure.ac: Add header and function checks to satisfy grub-mkisofs
18519 requirements.
18520 * util/mkisofs/defaults.h: New file.
18521 * util/mkisofs/eltorito.c: Likewise.
18522 * util/mkisofs/exclude.h: Likewise.
18523 * util/mkisofs/fnmatch.c: Likewise.
18524 * util/mkisofs/getopt.c: Likewise.
18525 * util/mkisofs/getopt1.c: Likewise.
18526 * util/mkisofs/hash.c: Likewise.
18527 * util/mkisofs/include/fctldefs.h: Likewise.
18528 * util/mkisofs/include/mconfig.h: Likewise.
18529 * util/mkisofs/include/prototyp.h: Likewise.
18530 * util/mkisofs/include/statdefs.h: Likewise.
18531 * util/mkisofs/iso9660.h: Likewise.
18532 * util/mkisofs/joliet.c: Likewise.
18533 * util/mkisofs/match.c: Likewise.
18534 * util/mkisofs/match.h: Likewise.
18535 * util/mkisofs/mkisofs.c: Likewise.
18536 * util/mkisofs/mkisofs.h: Likewise.
18537 * util/mkisofs/multi.c: Likewise.
18538 * util/mkisofs/name.c: Likewise.
18539 * util/mkisofs/rock.c: Likewise.
18540 * util/mkisofs/tree.c: Likewise.
18541 * util/mkisofs/write.c: Likewise.
18542
18543 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
18544
18545 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
18546 being insecure.
18547
18548 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
18549
18550 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
18551 `grub-mkimage' (and use $0 when possible).
18552
18553 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
18554
18555 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
18556 error message for excessively large memory map.
18557
18558 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
18559
18560 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
18561 executable bit.
18562
18563 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
18564
18565 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
18566 message for coreboot users.
18567
18568 2009-11-07 Robert Millan <rmh.grub@aybabtu.com>
18569
18570 Fix build with GNU gold.
18571
18572 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
18573 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
18574 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
18575 link addresses.
18576 * aclocal.m4: Likewise.
18577
18578 2009-11-04 Felix Zielcke <fzielcke@z-51.de>
18579
18580 * configure.ac (AC_PREREQ): Bump to 2.59d.
18581 * INSTALL: Make it more clear when Autoconf and Ruby are
18582 needed and when to run `./autogen.sh'.
18583
18584 2009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
18585
18586 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
18587 OSes.
18588
18589 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
18590
18591 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
18592
18593 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
18594
18595 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
18596 giving it to GNU Mach.
18597
18598 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
18599
18600 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
18601 GNU partition number to get internal GRUB partition number.
18602
18603 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
18604
18605 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
18606 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
18607
18608 2009-11-01 Robert Millan <rmh.grub@aybabtu.com>
18609
18610 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
18611 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
18612 case.
18613
18614 2009-11-01 Felix Zielcke <fzielcke@z-51.de>
18615
18616 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
18617
18618 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
18619
18620 Fix build problem.
18621
18622 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
18623 `-isystem=$(srcdir)/include'.
18624
18625 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
18626
18627 * util/i386/pc/grub-install.in: Remove hint that device.map should be
18628 checked (grub-install doesn't currently rely on it).
18629
18630 2009-10-29 Robert Millan <rmh.grub@aybabtu.com>
18631
18632 Revert SVN r2660.
18633
18634 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
18635 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
18636 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
18637 * conf/i386-ieee1275.rmk: Likewise.
18638 * conf/i386-pc.rmk: Likewise.
18639 * conf/powerpc-ieee1275.rmk: Likewise.
18640 * conf/sparc64-ieee1275.rmk: Likewise.
18641 * conf/x86_64-efi.rmk: Likewise.
18642
18643 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
18644
18645 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
18646
18647 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
18648
18649 * include/grub/misc.h: Stop checking for APPLE_CC.
18650
18651 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
18652
18653 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
18654 doesn't cause an infinite call loop.
18655
18656 2009-10-28 Felix Zielcke <fzielcke@z-51.de>
18657
18658 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
18659 strings.
18660
18661 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
18662
18663 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
18664 variable.
18665 * Makefile.in: Likewise.
18666
18667 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
18668
18669 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
18670
18671 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
18672
18673 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
18674
18675 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
18676
18677 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
18678
18679 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
18680
18681 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
18682 from here ...
18683 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
18684
18685 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
18686
18687 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
18688 in $(MAKEINFO) invocation. This makes it clear in output that
18689 errors are being ignored.
18690
18691 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
18692
18693 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
18694 from here ...
18695 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
18696 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
18697 * conf/i386-ieee1275.rmk: Likewise.
18698 * conf/i386-pc.rmk: Likewise.
18699 * conf/powerpc-ieee1275.rmk: Likewise.
18700 * conf/sparc64-ieee1275.rmk: Likewise.
18701 * conf/x86_64-efi.rmk: Likewise.
18702
18703 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
18704
18705 * util/grub-editenv.c (main): If only a command is given, use
18706 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
18707 (usage): FILENAME is now optional and has a default.
18708
18709 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
18710
18711 Improve grub-mkconfig performance when there are several menu
18712 entries on a single filesystem.
18713
18714 * util/grub.d/10_linux.in (linux_entry): Cache the output of
18715 prepare_grub_to_access_device.
18716 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
18717 * util/grub.d/30_os-prober.in: Likewise.
18718
18719 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
18720
18721 * util/grub.d/10_freebsd.in: Remove.
18722 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
18723 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
18724
18725 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
18726
18727 * docs/grub.cfg: Fix example usage of *BSD loaders.
18728
18729 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
18730
18731 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
18732 grub_util_error() call.
18733
18734 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
18735
18736 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
18737 `reserved_first_sector' member.
18738 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
18739 `reserved_first_sector' to 1.
18740 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
18741 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
18742 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
18743 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
18744 filesystems which begin at first sector.
18745 (options): New option --skip-fs-probe.
18746 (main): Handle --skip-fs-probe and pass it to setup().
18747
18748 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
18749
18750 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
18751 (memset): Fix function prototype.
18752
18753 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
18754 2009-10-25 Vasily Averin <vvs@parallels.com>
18755
18756 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
18757 `dirent.direntlen == 0'.
18758
18759 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
18760
18761 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
18762 `cpio'.
18763 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
18764
18765 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
18766
18767 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
18768 `__trampoline_setup' and `__ucmpdi2'.
18769 * include/grub/powerpc/libgcc.h: Only export symbols for functions
18770 that libgcc provides.
18771
18772 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
18773
18774 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
18775 * include/grub/sparc64/libgcc.h (memset): Likewise.
18776 * include/grub/misc.h (memset, memcmp): New function prototypes.
18777
18778 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
18779
18780 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
18781 `cpio'.
18782 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
18783
18784 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
18785
18786 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
18787 * docs/grub.cfg: Compensate for recent change in multiboot
18788 loader (since 2009-08-14 it won't pass filename to payload).
18789 * util/grub.d/10_hurd.in: Likewise.
18790
18791 2009-10-21 Felix Zielcke <fzielcke@z-51.de>
18792
18793 * config.guess: Update to latest version from config git
18794 repository.
18795 * config.sub: Likewise.
18796
18797 2009-10-20 Robert Millan <rmh.grub@aybabtu.com>
18798
18799 Fix build on sparc64.
18800
18801 * configure.ac: Perform checks for libgcc symbols before
18802 adding `-nostdlib' to LDFLAGS.
18803
18804 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
18805
18806 Let user specify OpenBSD root device.
18807
18808 * loader/i386/bsd.c (openbsd_root): New variable.
18809 (openbsd_opts): New option 'root'.
18810 (OPENBSD_ROOT_ARG): New macro.
18811 (grub_openbsd_boot): Use 'openbsd_root'.
18812 (grub_cmd_openbsd): Fill 'openbsd_root'.
18813
18814 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
18815
18816 * NEWS: Misc adjustments.
18817
18818 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
18819
18820 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
18821
18822 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
18823
18824 * configure.ac: Bump version to 1.97.
18825
18826 2009-10-16 Colin Watson <cjwatson@ubuntu.com>
18827
18828 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
18829 -mno-3dnow on x86 architectures. Some toolchains enable these
18830 features by default, but they rely on registers that aren't enabled
18831 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
18832
18833 2009-10-15 Robert Millan <rmh.grub@aybabtu.com>
18834
18835 Make entry text a bit more readable.
18836
18837 * util/grub.d/10_linux.in: Add `with' before `Linux'.
18838
18839 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
18840
18841 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
18842
18843 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
18844
18845 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
18846 operations.
18847
18848 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
18849
18850 * configure.ac: Add missing dollar.
18851
18852 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
18853
18854 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
18855
18856 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
18857 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
18858 exports.
18859 * include/grub/sparc64/libgcc.h: Likewise. Use
18860 preprocessor conditionals.
18861
18862 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
18863
18864 * conf/common.rmk (grub-dumpbios): Remove rule.
18865 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
18866 * util/grub-dumpbios.in: Remove file.
18867
18868 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
18869
18870 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
18871 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
18872
18873 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
18874 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
18875 users.
18876
18877 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
18878 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
18879 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
18880 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
18881 users.
18882
18883 2009-10-12 Robert Millan <rmh.grub@aybabtu.com>
18884
18885 * term/tparm.c: Switch to GPLv3.
18886
18887 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
18888
18889 * include/grub/i386/cpuid.h: Add header protection.
18890
18891 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
18892
18893 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
18894
18895 * include/grub/i386/cpuid.h: New file.
18896 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
18897 (has_longmode): Rename to ...
18898 (grub_cpuid_has_longmode): ... this. Update all users. Remove
18899 `static' attribute.
18900 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
18901 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
18902 on a CPU that doesn't implement AMD64 instruction set.
18903
18904 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
18905
18906 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
18907 that version.texi is rebuilt on version number changes.
18908
18909 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
18910
18911 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
18912 Fixes bug #27602.
18913
18914 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
18915
18916 * util/i386/pc/grub-install.in: Source
18917 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
18918 that the --grub-probe option will work.
18919 * util/sparc64/ieee1275/grub-install.in: Likewise.
18920
18921 2009-10-05 Robert Millan <rmh.grub@aybabtu.com>
18922
18923 * configure.ac: Bump version to 1.97~beta4.
18924
18925 2009-10-03 Robert Millan <rmh.grub@aybabtu.com>
18926
18927 Resync grub-mkdevicemap in x86_64-efi.
18928
18929 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
18930 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
18931 `util/devicemap.c'.
18932
18933 2009-10-01 Colin Watson <cjwatson@ubuntu.com>
18934
18935 * util/grub-editenv.c (create_envblk_file): Write new block with a
18936 .new suffix and then rename it into place, to ensure atomic
18937 creation.
18938
18939 2009-09-28 Robert Millan <rmh.grub@aybabtu.com>
18940
18941 Do not automatically install headers.
18942
18943 * Makefile.in (include_DATA): Remove. Update all users.
18944
18945 2009-09-26 Robert Millan <rmh.grub@aybabtu.com>
18946
18947 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
18948 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
18949
18950 * util/osdetect.lua: Remove.
18951 * script/lua/lauxlib.c: Likewise.
18952 * script/lua/ldebug.c: Likewise.
18953 * script/lua/grub_main.c: Likewise.
18954 * script/lua/lauxlib.h: Likewise.
18955 * script/lua/ldebug.h: Likewise.
18956 * script/lua/ltablib.c: Likewise.
18957 * script/lua/liolib.c: Likewise.
18958 * script/lua/lstrlib.c: Likewise.
18959 * script/lua/lualib.h: Likewise.
18960 * script/lua/ldo.c: Likewise.
18961 * script/lua/ldump.c: Likewise.
18962 * script/lua/ldo.h: Likewise.
18963 * script/lua/loslib.c: Likewise.
18964 * script/lua/lundump.c: Likewise.
18965 * script/lua/grub_lib.c: Likewise.
18966 * script/lua/ldblib.c: Likewise.
18967 * script/lua/lundump.h: Likewise.
18968 * script/lua/lmem.c: Likewise.
18969 * script/lua/grub_lib.h: Likewise.
18970 * script/lua/lmathlib.c: Likewise.
18971 * script/lua/lstate.c: Likewise.
18972 * script/lua/ltm.c: Likewise.
18973 * script/lua/lvm.c: Likewise.
18974 * script/lua/lmem.h: Likewise.
18975 * script/lua/lstate.h: Likewise.
18976 * script/lua/ltm.h: Likewise.
18977 * script/lua/ltable.c: Likewise.
18978 * script/lua/lvm.h: Likewise.
18979 * script/lua/llex.c: Likewise.
18980 * script/lua/lgc.c: Likewise.
18981 * script/lua/grub_lua.h: Likewise.
18982 * script/lua/loadlib.c: Likewise.
18983 * script/lua/lfunc.c: Likewise.
18984 * script/lua/lopcodes.c: Likewise.
18985 * script/lua/lparser.c: Likewise.
18986 * script/lua/ltable.h: Likewise.
18987 * script/lua/llex.h: Likewise.
18988 * script/lua/lgc.h: Likewise.
18989 * script/lua/lfunc.h: Likewise.
18990 * script/lua/lbaselib.c: Likewise.
18991 * script/lua/lopcodes.h: Likewise.
18992 * script/lua/lparser.h: Likewise.
18993 * script/lua/lzio.c: Likewise.
18994 * script/lua/linit.c: Likewise.
18995 * script/lua/lobject.c: Likewise.
18996 * script/lua/llimits.h: Likewise.
18997 * script/lua/lstring.c: Likewise.
18998 * script/lua/lzio.h: Likewise.
18999 * script/lua/lapi.c: Likewise.
19000 * script/lua/lcode.c: Likewise.
19001 * script/lua/lua.h: Likewise.
19002 * script/lua/lobject.h: Likewise.
19003 * script/lua/lstring.h: Likewise.
19004 * script/lua/lapi.h: Likewise.
19005 * script/lua/lcode.h: Likewise.
19006 * script/lua/luaconf.h: Likewise.
19007
19008 2009-09-26 Colin Watson <cjwatson@ubuntu.com>
19009
19010 * docs/grub.texi (Command-line and menu entry commands): Document
19011 date and echo commands.
19012
19013 2009-09-24 Pavel Roskin <proski@gnu.org>
19014
19015 * include/grub/kernel.h (struct grub_module_header): Remove
19016 `grub_module_header_types'. Make `type' unsigned. Make `size'
19017 32-bit on all platforms.
19018 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
19019 8-bit field. Use grub_host_to_target32() for `size'.
19020 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
19021 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
19022 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
19023
19024 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
19025
19026 Fix "lost keypress" bug in at_keyboard.
19027
19028 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
19029 Checks for readyness of input buffer (without flushing it).
19030 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
19031 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
19032
19033 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
19034
19035 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
19036 size check within GRUB_MACHINE_PCBIOS section.
19037
19038 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
19039
19040 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
19041 return value.
19042 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
19043 KEYBOARD_ISREADY check.
19044 (grub_at_keyboard_checkkey): Rename to ...
19045 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
19046 Remove gratuitous cast.
19047
19048 2009-09-23 Colin Watson <cjwatson@ubuntu.com>
19049
19050 * configure.ac: Call AC_PROG_MKDIR_P.
19051 * Makefile.in (docs/stamp-vti): Create docs directory. Create
19052 version.texi in $(builddir) rather than $(srcdir).
19053 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
19054 to makeinfo's @include search path.
19055
19056 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
19057
19058 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
19059
19060 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
19061
19062 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
19063 for `*.dpkg-new'.
19064
19065 2009-09-21 Colin Watson <cjwatson@ubuntu.com>
19066
19067 Build info documentation. Some code borrowed from Automake.
19068
19069 * configure.ac: Check for makeinfo.
19070 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
19071 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
19072 docs/version.texi.
19073 (MOSTLYCLEANFILES): Add vti.tmp.
19074 (docs/version.texi, docs/stamp-vti): Update automatically.
19075 (docs/grub.info): Build info documentation. Use --force and ignore
19076 errors for now.
19077 (all-local): Add $(INFOS).
19078 (install-local): Install info files.
19079 (uninstall): Uninstall info files.
19080 * docs/version.texi: Remove from revision control. This file is
19081 automatically generated on build now.
19082 * gendistlist.sh: Add `*.info'.
19083
19084 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
19085
19086 * kern/term.c: Fix indentation.
19087
19088 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
19089
19090 * util/hostdisk.c: Fix a comment.
19091
19092 2009-09-20 Robert Millan <rmh.grub@aybabtu.com>
19093
19094 Fix regression introduced in r2539.
19095
19096 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
19097 to 0xA1.
19098
19099 2009-09-19 Colin Watson <cjwatson@ubuntu.com>
19100
19101 * util/grub.d/30_os-prober.in: Don't throw away stderr from
19102 os-prober. Under normal operation, it does not print anything to
19103 stderr; if it does, we need to debug it, and throwing away stderr
19104 makes that excessively difficult.
19105
19106 2009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
19107
19108 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
19109
19110 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
19111
19112 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
19113 AC_LANG_PROGRAM from autoconf.
19114 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
19115 prototypes (fixes warning).
19116
19117 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
19118 `--disable-werror' was used.
19119
19120 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
19121
19122 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
19123 uninitialized `lastaddr'.
19124
19125 2009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
19126
19127 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
19128
19129 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
19130
19131 * commands/test.c (get_fileinfo): Return immediately if
19132 grub_fs_probe fails.
19133
19134 2009-09-14 José Martínez <xosemp@gmail.com>
19135
19136 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
19137
19138 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
19139
19140 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
19141 output.
19142
19143 2009-09-13 Robert Millan <rmh.grub@aybabtu.com>
19144
19145 * configure.ac: Remove --enable-grub-pe2elf. Only build
19146 grub-pe2elf when needed by the build system itself.
19147 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
19148
19149 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
19150
19151 * configure.ac: Bump version to 1.97~beta3.
19152 * docs/version.texi: Likewise.
19153
19154 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
19155
19156 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
19157 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
19158 from here ...
19159 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
19160 (grub_linux_setup_video): ... to here (with some adjustments).
19161
19162 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
19163
19164 Fix memory corruption issue (spotted by Colin Watson).
19165
19166 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
19167 causing returned size to be stored in an incorrect memory location.
19168 Fix use of uninitialized value when storing the returned size.
19169
19170 2009-09-12 Yves Blusseau <blusseau@zetam.org>
19171
19172 Change clean rules to properly remove files
19173
19174 * genmk.rb: add new clean rules
19175 * Makefile.in (clean): add the new targets
19176 (mostlyclean): likewise
19177
19178 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
19179
19180 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
19181 to grub_uint64_t.
19182 * fs/ntfs.c (init_file): Understand 64-bit sizes for
19183 non-resident files.
19184
19185 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
19186
19187 * configure.ac: Don't look for help2man when cross-compiling. Fixes
19188 part of bug #27349.
19189
19190 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
19191
19192 * util/grub-mkconfig.in: Make the created config mode 400 and
19193 print a warning if it fails.
19194
19195 2009-09-10 Robert Millan <rmh.grub@aybabtu.com>
19196
19197 * util/grub.d/40_custom.in: Ask user to type custom entries below
19198 comment, rather than below 'exec tail' line.
19199
19200 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
19201
19202 * util/grub.d/40_custom.in: Make sure that the explanatory text is
19203 visible in grub.cfg.
19204
19205 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
19206
19207 * util/grub.d/40_custom.in: Make it a little clearer how to use this
19208 file.
19209
19210 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
19211
19212 * docs/grub.cfg: Add an example menu entry for memtest86+.
19213
19214 2009-09-09 Felix Zielcke <fzielcke@z-51.de>
19215
19216 * config.guess: Update to latest version from config git.
19217 * config.sub: Likewise.
19218
19219 2009-09-08 Colin Watson <cjwatson@ubuntu.com>
19220
19221 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
19222 unknown-command case. Fixes bug #27320.
19223
19224 2009-09-08 Felix Zielcke <fzielcke@z-51.de>
19225
19226 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
19227 `help' if the command exists.
19228
19229 2009-09-06 Robert Millan <rmh.grub@aybabtu.com>
19230
19231 * INSTALL: Require GCC 4.1.3 or later.
19232
19233 2009-09-06 Yves Blusseau <blusseau@zetam.org>
19234
19235 * Makefile.in (RMKFILES): add i386-qemu.rmk
19236 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
19237 $(srcdir)/stamp-h.in
19238
19239 2009-09-05 Robert Millan <rmh.grub@aybabtu.com>
19240
19241 * util/grub-probe.c (probe): Comment out buggy codepath, which
19242 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
19243 should be re-enabled after 1.97.
19244
19245 2009-09-05 Felix Zielcke <fzielcke@z-51.de>
19246
19247 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
19248 find searches for.
19249
19250 2009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
19251
19252 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
19253 unnecessary calls to grub_error.
19254
19255 2009-09-04 Colin Watson <cjwatson@ubuntu.com>
19256
19257 * NEWS: Mention `keystatus' and Unicode fonts.
19258
19259 2009-09-04 Robert Millan <rmh.grub@aybabtu.com>
19260
19261 * configure.ac: Bump version to 1.97~beta2.
19262 * docs/version.texi: Likewise.
19263
19264 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
19265
19266 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
19267 containing unwind information in some cases where it previously did
19268 not. Use -fno-dwarf2-cfi-asm if available to restore the old
19269 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
19270 discussion.
19271
19272 2009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
19273
19274 Embedding loadenv module into grub-emu
19275
19276 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
19277 commands/loadenv.c
19278 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
19279 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
19280 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
19281 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
19282 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
19283 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
19284
19285 2009-09-03 Magnus Granberg <zorry@ume.nu>
19286
19287 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
19288 include -fPIE in the default specs.
19289 * configure.ac: Check if pie_possible is yes and add -fno-PIE
19290 to TARGET_CFLAGS.
19291
19292 2009-09-03 Felix Zielcke <fzielcke@z-51.de>
19293
19294 * INSTALL: Note that GNU Bison 2.3 or later is required.
19295
19296 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
19297
19298 * kern/i386/pc/startup.S: Fix typo.
19299
19300 2009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
19301
19302 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
19303 according to GCS.
19304
19305 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
19306
19307 * docs/grub.texi (Naming convention): Describe one-based partition
19308 numbering.
19309 (Device syntax): Likewise.
19310 (File name syntax): Likewise.
19311 (Block list syntax): Likewise.
19312 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
19313 menu.lst.
19314 (File name syntax): Likewise.
19315 (Command-line and menu entry commands): Document acpi, blocklist,
19316 crc, export, insmod, keystatus, ls, set, and unset commands.
19317
19318 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
19319
19320 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
19321 to avoid implying that only one of --shift, --ctrl, or --alt may be
19322 used.
19323
19324 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
19325
19326 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
19327 rather than comparing against S_IFREG, which will almost never work.
19328
19329 2009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
19330
19331 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
19332 (write_blocklists): Likewise.
19333
19334 2009-09-01 Colin Watson <cjwatson@ubuntu.com>
19335
19336 * script/lua/grub_lua.h (fputs): Supply a format string as the first
19337 argument to grub_printf.
19338
19339 2009-09-01 Felix Zielcke <fzielcke@z-51.de>
19340
19341 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
19342 non GNU test.
19343
19344 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
19345
19346 * kern/file.c (grub_file_read): Spelling fix
19347
19348 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
19349
19350 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
19351 loading of headers in some cases.
19352
19353 2009-08-30 Robert Millan <rmh.grub@aybabtu.com>
19354
19355 * configure.ac: Bump version to 1.97~beta1.
19356 * docs/version.texi: Likewise.
19357
19358 2009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
19359
19360 * include/grub/i386/xnu.h: Add license header.
19361 include grub/err.h explicitly.
19362
19363 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
19364
19365 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
19366 to `ufs' in the vfs.root.mountfrom kernel parameter.
19367
19368 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
19369
19370 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
19371
19372 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
19373 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
19374
19375 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
19376 `ARRAY_SIZE' macro.
19377
19378 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
19379
19380 * kern/file.c (grub_file_read): Check offset.
19381 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
19382 * fs/jfs.c (grub_jfs_read_file): Likewise.
19383 * fs/ntfs.c (grub_ntfs_read): Likewise.
19384 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
19385 * fs/minix.c (grub_minix_read_file): Correct offset check.
19386 * fs/ufs.c (grub_ufs_read_file): Likewise.
19387
19388 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
19389
19390 * term/i386/pc/console.c (bios_data_area): Cast
19391 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
19392
19393 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
19394
19395 1-bit optimised blitters.
19396
19397 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
19398 prototype.
19399 (grub_video_fbblit_replace_24bit_1bit): Likewise.
19400 (grub_video_fbblit_replace_16bit_1bit): Likewise.
19401 (grub_video_fbblit_replace_8bit_1bit): Likewise.
19402 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
19403 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
19404 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
19405 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
19406 function.
19407 (grub_video_fbblit_replace_24bit_1bit): Likewise.
19408 (grub_video_fbblit_replace_16bit_1bit): Likewise.
19409 (grub_video_fbblit_replace_8bit_1bit): Likewise.
19410 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
19411 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
19412 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
19413 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
19414 when possible.
19415 * video/video.c (grub_video_get_blit_format): Return
19416 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
19417
19418 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
19419
19420 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
19421 the first argument to grub_printf.
19422
19423 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
19424 2009-08-28 Robert Millan <rmh.grub@aybabtu.com>
19425
19426 Add `getkeystatus' terminal method. Add a new `keystatus' command
19427 to query it.
19428
19429 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
19430 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
19431 modifier key bitmasks.
19432 (struct grub_term_input): Add `getkeystatus' member.
19433 (grub_getkeystatus): Add prototype.
19434 * kern/term.c (grub_getkeystatus): New function.
19435
19436 * include/grub/i386/pc/memory.h
19437 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
19438 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
19439 Data Area layout.
19440 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
19441 (grub_console_term_input): Set `getkeystatus' member.
19442 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
19443 constants.
19444 (grub_usb_keyboard_getreport): Likewise.
19445 (grub_usb_keyboard_checkkey): Likewise.
19446 (grub_usb_keyboard_getkeystatus): New function.
19447 (grub_usb_keyboard_term): Set `getkeystatus' member.
19448
19449 * commands/keystatus.c: New file.
19450 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
19451 (keystatus_mod_SOURCES): New variable.
19452 (keystatus_mod_CFLAGS): Likewise.
19453 (keystatus_mod_LDFLAGS): Likewise.
19454 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
19455 commands/keystatus.c.
19456 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
19457 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19458 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
19459 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19460 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19461 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
19462
19463 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
19464
19465 Split befs.mod and afs.mod into *_be.mod and *.mod
19466
19467 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
19468 (grub_fstest_SOURCES): Likewise.
19469 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
19470 (afs_be_mod_SOURCES): New variable.
19471 (afs_be_mod_CFLAGS): Likewise.
19472 (afs_be_mod_LDFLAGS): Likewise.
19473 (befs_be_mod_SOURCES): Likewise.
19474 (befs_be_mod_CFLAGS): Likewise.
19475 (befs_be_mod_LDFLAGS): Likewise.
19476 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
19477 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
19478 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19479 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
19480 (grub_emu_SOURCES): Likewise.
19481 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19482 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19483 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
19484 * fs/afs_be.c: New file.
19485 * fs/befs_be.c: New file.
19486 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
19487 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
19488 (U16): Replaced with ...
19489 (grub_afs_to_cpu16): ...this. All users updated.
19490 (U32): Replaced with ...
19491 (grub_afs_to_cpu32): ...this. All users updated.
19492 (U64): Replaced with ...
19493 (grub_afs_to_cpu64): ...this. All users updated.
19494 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
19495 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
19496 (grub_afs_validate_sblock): Check only one endianness.
19497 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
19498 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
19499 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
19500 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
19501 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
19502 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
19503 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
19504 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
19505
19506 2009-08-26 Bean <bean123ch@gmail.com>
19507
19508 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
19509 64-bit number.
19510 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
19511 (grub_xfs_inode_block): Change return type to grub_uint64_t.
19512 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
19513
19514 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
19515
19516 NetBSD memory map support.
19517
19518 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
19519 (grub_netbsd_btinfo_mmap_header): New structure.
19520 (grub_netbsd_btinfo_mmap_entry): Likewise.
19521 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
19522
19523 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
19524
19525 Enable bsd.mod on coreboot.
19526
19527 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
19528 (bsd_mod_SOURCES): New variable.
19529 (bsd_mod_CFLAGS): Likewise.
19530 (bsd_mod_LDFLAGS): Likewise.
19531 (bsd_mod_ASFLAGS): Likewise.
19532 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
19533 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
19534
19535 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
19536
19537 Cleanup NetBSD root support.
19538
19539 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
19540 grub_bsd_get_device.
19541 Fix typo.
19542
19543 2009-08-25 Felix Zielcke <fzielcke@z-51.de>
19544
19545 * util/grub.d/00_header.in: Move check for the video backend of
19546 gfxterm from here ...
19547 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
19548 a suitable video backend.
19549
19550 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
19551
19552 Fix breakage in grub-setup.
19553
19554 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
19555 "msdos_partition_map".
19556
19557 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
19558
19559 Fix breakage in normal/auth.c.
19560
19561 * normal/auth.c (grub_iswordseparator): New function.
19562
19563 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
19564
19565 Authentication support.
19566
19567 * commands/password.c: New file.
19568 * conf/common.rmk (pkglib_MODULES): Add password.mod.
19569 (password_mod_SOURCES): New variable.
19570 (password_mod_CFLAGS): Likewise.
19571 (password_mod_LDFLAGS): Likewise.
19572 (normal_mod_SOURCES): Add normal/auth.c.
19573 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
19574 normal/auth.c.
19575 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
19576 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19577 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
19578 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19579 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19580 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
19581 * include/grub/auth.h: New file.
19582 * include/grub/err.h (grub_err_t): New enum value
19583 GRUB_ERR_ACCESS_DENIED.
19584 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
19585 'users'.
19586 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
19587 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
19588 users updated.
19589 * normal/auth.c: New file.
19590 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
19591 (grub_cmdline_run): Don't allow to go to command line without
19592 authentication.
19593 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
19594 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
19595 menuentry without superuser rights.
19596 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
19597 user isn't a superuser.
19598
19599 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
19600
19601 Save space by inlining misc.c functions.
19602
19603 * kern/misc.c (grub_iswordseparator): Made static.
19604 * kern/misc.c (grub_strcat): Moved from here ...
19605 * include/grub/misc.h (grub_strcat): ... here. Inlined.
19606 * kern/misc.c (grub_strncat): Moved from here ...
19607 * include/grub/misc.h (grub_strncat): ... here. Inlined.
19608 * kern/misc.c (grub_strcasecmp): Moved from here ...
19609 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
19610 * kern/misc.c (grub_strncasecmp): Moved from here ...
19611 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
19612 * kern/misc.c (grub_isalpha): Moved from here ...
19613 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
19614 * kern/misc.c (grub_isdigit): Moved from here ...
19615 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
19616 * kern/misc.c (grub_isgraph): Moved from here ...
19617 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
19618 * kern/misc.c (grub_tolower): Moved from here ...
19619 * include/grub/misc.h (grub_tolower): ... here. Inlined.
19620
19621 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
19622
19623 * script/sh/function.c (grub_script_function_find): Cut error message
19624 not to flood terminal.
19625 * script/sh/lexer.c (grub_script_yylex): Remove command line length
19626 limit.
19627 * script/sh/script.c (grub_script_arg_add): Duplicate string.
19628
19629 2009-08-24 Colin Watson <cjwatson@ubuntu.com>
19630
19631 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
19632 `report' grub_uint8_t *.
19633 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
19634 Use a 50-millisecond timeout rather than just repeating
19635 grub_usb_keyboard_getreport 50 times.
19636 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
19637
19638 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
19639
19640 Rename *_partition_map to part_*
19641
19642 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
19643 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
19644 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
19645 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
19646 All users updated.
19647 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
19648 All users updated.
19649 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
19650 * util/grub-probe.c (probe_partmap): Don't transform partition name
19651 to get module name.
19652
19653 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
19654
19655 Fix OpenBSD and NetBSD support.
19656
19657 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
19658 memory address conflict.
19659 (OPENBSD_MMAP_ACPI): New definition.
19660 (OPENBSD_MMAP_NVS): Likewise.
19661 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
19662 and OPENBSD_MMAP_NVS.
19663 Add memory map terminator
19664 Explicit cast when calling grub_unix_real_boot.
19665 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
19666
19667 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
19668
19669 Let user specify NetBSD root device.
19670
19671 * loader/i386/bsd.c (netbsd_root): New variable.
19672 (netbsd_opts): New option 'root'.
19673 (NETBSD_ROOT_ARG): New macro.
19674 (grub_netbsd_boot): Use 'netbsd_root'.
19675 (grub_bsd_unload): Free 'netbsd_root'.
19676 (grub_cmd_netbsd): Fill 'netbsd_root'.
19677
19678 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
19679
19680 Support for 64-bit NetBSD.
19681
19682 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
19683 point when booting non-FreeBSD.
19684
19685 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
19686
19687 Support --no-smp and --no-acpi for NetBSD.
19688
19689 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
19690 (NETBSD_AB_NOACPI): Likewise.
19691 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
19692 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
19693
19694 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
19695
19696 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
19697 errors.
19698 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
19699 errors. Call grub_error when needed.
19700
19701 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
19702
19703 * commands/search.c (search_fs): Try searching without autoload first.
19704 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
19705 filesystem module explicitly for faster booting.
19706
19707 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
19708
19709 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
19710
19711 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
19712
19713 * util/grub.d/30_os-prober.in: Disable os-prober if
19714 `GRUB_DISABLE_OS_PROBER' was set to true.
19715
19716 2009-08-23 Robert Millan <rmh.grub@aybabtu.com>
19717
19718 * partmap/pc.c: Rename to ...
19719 * partmap/msdos.c: ... this. Update all users.
19720 (grub_pc_partition_map): Rename to ...
19721 (grub_msdos_partition_map): ... this. Update all users.
19722
19723 * parttool/pcpart.c: Rename to ...
19724 * parttool/msdospart.c: ... this. Update all users.
19725
19726 * include/grub/pc_partition.h: Rename to ...
19727 * include/grub/msdos_partition.h: ... this. Update all users.
19728 (grub_pc_partition_bsd_entry): Rename to ...
19729 (grub_msdos_partition_bsd_entry): ... this. Update all users.
19730 (grub_pc_partition_disk_label): Rename to ...
19731 (grub_msdos_partition_disk_label): ... this. Update all users.
19732 (grub_pc_partition_entry): Rename to ...
19733 (grub_msdos_partition_entry): ... this. Update all users.
19734 (grub_pc_partition_mbr): Rename to ...
19735 (grub_msdos_partition_mbr): ... this. Update all users.
19736 (grub_pc_partition): Rename to ...
19737 (grub_msdos_partition): ... this. Update all users.
19738 (grub_pc_partition_is_empty): Rename to ...
19739 (grub_msdos_partition_is_empty): ... this. Update all users.
19740 (grub_pc_partition_is_extended): Rename to ...
19741 (grub_msdos_partition_is_extended): ... this. Update all users.
19742 (grub_pc_partition_is_bsd): Rename to ...
19743 (grub_msdos_partition_is_bsd): ... this. Update all users.
19744
19745 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
19746 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
19747 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
19748 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
19749 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
19750 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
19751 (gpt_mod_LDFLAGS): Rename to ...
19752 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
19753 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
19754 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
19755 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
19756 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
19757 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
19758 (part_gpt_mod_LDFLAGS): ... this.
19759 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
19760 `pcpart.mod' to `msdospart.mod'.
19761 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
19762 to ...
19763 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
19764 (msdospart_mod_LDFLAGS): ... this.
19765
19766 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
19767
19768 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
19769 (openbsd_opts): Likewise.
19770 (netbsd_opts): Likewise.
19771 (freebsd_flags): Added 0 terminator.
19772 (openbsd_flags): Likewise.
19773 (netbsd_flags): Likewise.
19774 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
19775 (grub_cmd_freebsd): Transformed into extended command.
19776 (grub_cmd_openbsd): Likewise.
19777 (grub_cmd_netbsd): Likewise.
19778 (cmd_freebsd): Changed type to grub_extcmd_t.
19779 (cmd_openbsd): Likewise.
19780 (cmd_netbsd): Likewise.
19781 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
19782 grub_cmd_openbsd as extended commands.
19783 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
19784 cmd_netbsd and cmd_openbsd
19785
19786 2009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
19787
19788 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
19789
19790 2009-08-21 Pavel Roskin <proski@gnu.org>
19791
19792 * Makefile.in (install-local): When checking if a file is in the
19793 build directory, use "test -e" to detect symlinks.
19794
19795 * Makefile.in (install-local): Remove all files in
19796 $(DESTDIR)$(pkglibdir) before installing new files there.
19797
19798 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
19799
19800 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
19801 grub-mkelfimage.
19802
19803 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
19804
19805 * util/grub-mkconfig.in: Don't use gfxterm by default if not
19806 explicitly specified by the user.
19807
19808 2009-08-18 Pavel Roskin <proski@gnu.org>
19809
19810 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
19811 grub_uint8_t pointer for data.
19812 * include/grub/fbutil.h (struct grub_video_fbblit_info):
19813 Likewise.
19814 * video/fb/fbutil.c: Remove unnecessary casts.
19815
19816 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
19817
19818 VBE cleanup.
19819
19820 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
19821 (grub_vbe_set_video_mode): Save active mode info
19822 only after setting the mode.
19823 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
19824 second argument.
19825
19826 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
19827
19828 Rename variables for clarity.
19829
19830 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
19831 (active_vbe_mode_info): ... this. All users updated.
19832 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
19833 All users updated.
19834 (initial_mode): Rename to ...
19835 (initial_vbe_mode): ... this. All users updated.
19836 (mode_in_use): Rename to ..
19837 (vbe_mode_in_use): ... this. All users updated.
19838 (mode_list): Rename to ..
19839 (vbe_mode_list): ... this. All users updated.
19840 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
19841 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
19842 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
19843 'mode_list_size' to 'vbe_mode_list_size'.
19844 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
19845 'best_mode_info' to 'best_vbe_mode_info' and
19846 'best_mode' to 'best_vbe_mode'
19847
19848 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
19849
19850 Remove duplicate grub_video_fb_get_video_ptr.
19851
19852 * include/grub/fbutil.h (get_data_ptr): Rename to ...
19853 (grub_video_fb_get_video_ptr): ... this.
19854 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
19855 * video/fb/fbutil.c: Add comment about addressing.
19856 (get_data_ptr): Rename to ...
19857 (grub_video_fb_get_video_ptr): ... this. All users updated.
19858 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
19859
19860 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
19861
19862 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
19863 grub_dprintf() that was just added.
19864
19865 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
19866
19867 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
19868 (DEFAULT_VIDEO_MODE): Remove macros.
19869 (grub_linux_boot): Remove assumption that Linux has FB support,
19870 and use "text" as default video mode.
19871
19872 2009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
19873
19874 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
19875 grub_dprintf.
19876 * fs/fat.c (grub_fat_read_data): Likewise.
19877
19878 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
19879
19880 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
19881 payload.
19882 (grub_module): Likewise.
19883
19884 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
19885
19886 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
19887 mbi->cmdline but free playground.
19888
19889 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
19890
19891 Handle group offset on UFS1.
19892
19893 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
19894 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
19895
19896 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
19897
19898 Split ufs.mod into ufs1.mod and ufs2.mod.
19899
19900 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
19901 (grub_fstest_SOURCES): Likewise.
19902 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
19903 (ufs_mod_SOURCES): Remove.
19904 (ufs_mod_CFLAGS): Likewise.
19905 (ufs_mod_LDFLAGS): Likewise.
19906 (ufs1_mod_SOURCES): New variable.
19907 (ufs1_mod_CFLAGS): Likewise.
19908 (ufs1_mod_LDFLAGS): Likewise.
19909 (ufs2_mod_SOURCES): New variable.
19910 (ufs2_mod_CFLAGS): Likewise.
19911 (ufs2_mod_LDFLAGS): Likewise.
19912 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
19913 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
19914 Likewise.
19915 (grub_emu_SOURCES): Likewise.
19916 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19917 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
19918 (grub_setup_SOURCES): Likewise.
19919 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19920 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
19921 (grub_setup_SOURCES): Likewise.
19922 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
19923 Likewise.
19924 * fs/ufs2.c: New file.
19925 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
19926
19927 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
19928
19929 Framebuffer split.
19930
19931 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
19932 subsystem at the end.
19933 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
19934 (video_fb_mod_SOURCES): New variable.
19935 (video_fb_mod_CFLAGS): Likewise.
19936 (video_fb_mod_LDFLAGS): Likewise.
19937 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
19938 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
19939 * video/i386/pc/vbeblit.c: Moved from here ...
19940 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
19941 * video/i386/pc/vbefill.c: Moved from here ...
19942 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
19943 * video/i386/pc/vbeutil.c: Moved from here ...
19944 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
19945 * include/grub/i386/pc/vbeblit.h: Moved from here ...
19946 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
19947 * include/grub/i386/pc/vbefill.h: Moved from here ...
19948 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
19949 * include/grub/i386/pc/vbeutil.h: Moved from here ...
19950 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
19951 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
19952 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
19953 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
19954 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
19955 (grub_video_adapter): Added 'get_info_and_fini'.
19956 (grub_video_get_info_and_fini): New prototype.
19957 (grub_video_set_mode): make modestring const char *.
19958 * loader/i386/linux.c (grub_linux_setup_video): Use
19959 grub_video_get_info_and_fini.
19960 (grub_linux_boot): Move modesetting just before booting.
19961 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
19962 grub_video_get_info_and_fini.
19963 * video/i386/pc/vbe.c: Moved framebuffer part ...
19964 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
19965 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
19966 grub_video_fbstd_colors and grub_video_fb_set_palette.
19967 (grub_video_vbe_init): Clear 'framebuffer' variable and use
19968 grub_video_fb_init.
19969 (grub_video_vbe_fini): Use grub_video_fb_fini.
19970 (grub_video_vbe_setup): Use framebuffer.render_target instead of
19971 render_target and use grub_video_fb_set_active_render_target and
19972 grub_video_fb_set_palette.
19973 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
19974 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
19975 (grub_video_vbe_adapter): Use framebuffer.
19976 * video/video.c (grub_video_get_info_and_fini): New function.
19977 (grub_video_set_mode): Make modestring const char *.
19978 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
19979 values are already initialised.
19980
19981 2009-08-14 Pavel Roskin <proski@gnu.org>
19982
19983 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
19984 ABS and APPLE_CC.
19985 * boot/i386/pc/diskboot.S: Likewise.
19986 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
19987 sectors allow compilation on MacOSX.
19988 * conf/i386-pc.rmk: Enable unconditional compilation of
19989 lnxboot.img.
19990
19991 2009-08-13 Colin Watson <cjwatson@ubuntu.com>
19992
19993 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
19994 * util/grub.d/00_header.in: Enter interruptible sleep if
19995 GRUB_HIDDEN_TIMEOUT is set.
19996
19997 2009-08-13 Yves Blusseau <blusseau@zetam.org>
19998
19999 * include/grub/symbol.h: Add the LOCAL macro.
20000 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
20001 starting with "L_".
20002
20003 2009-08-13 Pavel Roskin <proski@gnu.org>
20004
20005 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
20006 any modern compilers we support.
20007
20008 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
20009 Use local labels starting with "L_" so that Apple assembler
20010 knows they are local.
20011
20012 2009-08-10 Robert Millan <rmh.grub@aybabtu.com>
20013
20014 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
20015 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
20016 (bsd_kernel_types): ... this enum.
20017
20018 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
20019 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
20020 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
20021
20022 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
20023 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
20024 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
20025 messages.
20026
20027 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
20028
20029 * util/grub-dumpdevtree: Moved from here ...
20030 * util/i386/efi/grub-dumpdevtree: ... to here.
20031 (hexify): New function. Converts a string to its hex version.
20032 Generate hex versions of "efi" and "device-properties" by calling
20033 hexify() on the ASCII strings rather than by hardcoding numbers.
20034
20035 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
20036
20037 * fs/jfs.c: Update copyright year.
20038
20039 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
20040
20041 * util/grub.d/00_header.in: Fix a comment.
20042 * util/grub.d/10_linux.in: Likewise.
20043 * util/grub.d/10_windows.in: Likewise.
20044 * util/grub.d/10_hurd.in: Likewise.
20045
20046 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
20047
20048 * util/grub-mkconfig.in: Allow the user to specify the used font
20049 with GRUB_FONT.
20050
20051 2009-08-08 Pavel Roskin <proski@gnu.org>
20052
20053 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
20054 available, xfs.mod needs it now.
20055
20056 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
20057 the "g" modifier in sed when the intention is to strip something
20058 once. This fixes comparison of kernels with multiple dashes.
20059
20060 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
20061 on it. Add missing space before closing bracket. Fix
20062 misleading formatting.
20063
20064 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
20065
20066 * docs/grub.texi: Major overhaul. Remove all sections that are
20067 specific to GRUB Legacy, or mostly composed of Legacy-specific
20068 information.
20069
20070 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
20071
20072 * docs/version.texi: New file. Provides version information for
20073 grub.texi.
20074
20075 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
20076
20077 * docs/grub.texi: Update CVS information to SVN.
20078 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
20079
20080 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
20081
20082 * util/grub-mkconfig.in: Remove a wrong `fi'.
20083
20084 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
20085
20086 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
20087 (grub_jfs_uuid): New function.
20088 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
20089
20090 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
20091
20092 * util/grub-mkconfig_lib.in (font_path): Move the functionality
20093 of it to ...
20094 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
20095 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
20096
20097 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
20098
20099 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
20100 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
20101 Update all users.
20102
20103 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
20104 not just "vmlinu[zx]".
20105 Moved from here ...
20106 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
20107 all users.
20108
20109 * util/grub.d/10_linux.in (find_latest): Moved from here ...
20110 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
20111 all users.
20112
20113 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
20114
20115 * util/grub.d/10_freebsd.in: Use an absolute device path for
20116 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
20117
20118 2009-08-06 Felix Zielcke <fzielcke@z-51.de>
20119
20120 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
20121 handling of multiple abstraction modules.
20122
20123 2009-08-04 Robert Millan <rmh.grub@aybabtu.com>
20124
20125 Fix a bug resulting in black screen when loading Linux using a
20126 packed video mode.
20127
20128 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
20129 function.
20130
20131 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
20132 (grub_vbe_bios_getset_dac_palette_width): New function.
20133 (grub_vbe_bios_get_dac_palette_width)
20134 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
20135 grub_vbe_bios_getset_dac_palette_width()).
20136
20137 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
20138 check for return status.
20139 (grub_vbe_get_video_mode_info): When getting information for a packed
20140 mode (<= 8 bpp), obtain DAC palette width using
20141 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
20142 {red,green,blue}_mark_size.
20143
20144 2009-08-04 Felix Zielcke <fzielcke@z-51.de>
20145
20146 * commands/search.c (options): Fix help output to match actual code.
20147
20148 2009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
20149
20150 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
20151 of homegrown code.
20152
20153 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
20154
20155 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
20156 on XFS or ReiserFS.
20157
20158 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
20159
20160 Support Apple partition map with sector size different from 512 bytes.
20161
20162 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
20163 (apple_partition_map_iterate): Respect 'aheader.blocksize'
20164 and 'apart.partmap_size'.
20165
20166 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
20167 2009-08-01 Robert Millan <rmh.grub@aybabtu.com>
20168
20169 Fix cpuid command.
20170
20171 * commands/i386/cpuid.c (options): New variable.
20172 (grub_cmd_cpuid): Return real error.
20173 (GRUB_MOD_INIT(cpuid)): Declare options.
20174
20175 2009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
20176
20177 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
20178 valid.
20179
20180 2009-07-31 Bean <bean123ch@gmail.com>
20181
20182 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
20183 log2_inode.
20184 (grub_fshelp_node): Move inode field to the end.
20185 (grub_xfs_data): Remove inode field.
20186 (grub_xfs_inode_block): Calculate inode size using sblock.
20187 (grub_xfs_inode_offset): Likewise.
20188 (grub_xfs_read_inode): Calculate inode size using sblock.
20189 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
20190 (grub_xfs_iterate_dir): Calculate inode size using sblock.
20191 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
20192 to match inode size.
20193 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
20194 not accessible when data is null.
20195 (grub_xfs_open): Likewise.
20196
20197 2009-07-31 Bean <bean123ch@gmail.com>
20198
20199 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
20200 Don't change pv->disk if it's already set.
20201
20202 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
20203 (grub_raid_register): ... here.
20204 (grub_raid_rescan): Removed.
20205
20206 * include/grub/raid.h (grub_raid_rescan): Removed.
20207
20208 * util/grub-fstest.c: Remove include file <grub/raid.h>.
20209 (fstest): Replace grub_raid_rescan with module fini function followed
20210 by init function.
20211
20212 * util/grub-probe.c: Add include file <grub/raid.h>.
20213 (probe_raid_level): New function.
20214 (probe): Detect abstraction by walking the disk device, support two
20215 level of abstraction (LVM on RAID) when detecting partition map.
20216
20217 2009-07-31 Pavel Roskin <proski@gnu.org>
20218
20219 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
20220 to grub_zalloc(), it was erroneous.
20221 Reported by Bean <bean123ch@gmail.com>
20222
20223 2009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
20224
20225 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
20226 embedding zone, not only the first one.
20227
20228 2009-07-29 Joe Auricchio <jauricchio@gmail.com>
20229
20230 * term/gfxterm.c (clear_char): New function.
20231 (grub_virtual_screen_setup): Use clear_char.
20232 (scroll_up): Likewise.
20233 (grub_virtual_screen_cls): Likewise.
20234
20235 2009-07-29 Felix Zielcke <fzielcke@z-51.de>
20236
20237 * util/deviceiter.c (get_acceleraid_disk_name): New static
20238 function.
20239 (grub_util_iterate_devices): Handle Accelraid devices.
20240 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
20241
20242 2009-07-28 Robert Millan <rmh.grub@aybabtu.com>
20243
20244 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
20245 separator for the suggested gfxpayload string (';' collides with the
20246 parser and needs escaping).
20247
20248 2009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
20249
20250 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
20251 Clear direction flag before jumping to OS.
20252 (grub_multiboot2_real_boot): Likewise.
20253
20254 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
20255
20256 * util/i386/pc/grub-install: Fix parsing of --disk-module
20257 option.
20258
20259 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
20260
20261 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
20262 when embedding.
20263
20264 2009-07-26 Felix Zielcke <fzielcke@z-51.de>
20265
20266 * util/grub-mkconfig.in (package_version): New variable.
20267 Use it do display the version.
20268
20269 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
20270
20271 * kern/file.c (grub_file_open): Revert to previous check with
20272 grub_errno.
20273
20274 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
20275
20276 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
20277 from help line. It's out of sync with code.
20278
20279 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
20280
20281 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
20282 entries on failed boot.
20283
20284 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
20285
20286 * kern/file.c (grub_file_open): Fix an error check.
20287
20288 2009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
20289
20290 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
20291 partition map couldn't be identified.
20292
20293 2009-07-23 Pavel Roskin <proski@gnu.org>
20294
20295 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
20296 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
20297 case of little endian words becomes just an optimization.
20298 Respect const modifier.
20299 (md5_final): Use code that doesn't depend on endianness.
20300
20301 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
20302 to avoid loss of upper bits if align is unsigned and shorter
20303 than addr.
20304
20305 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
20306
20307 UUID support for UFS
20308
20309 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
20310 (grub_ufs_uuid): New function.
20311 (grub_ufs_fs): add .uuid
20312
20313 2009-07-21 Pavel Roskin <proski@gnu.org>
20314
20315 * kern/dl.c (grub_dl_check_header): Make static.
20316
20317 2009-07-21 Felix Zielcke <fzielcke@z-51.de>
20318
20319 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
20320 add drivemap for Vista. It breaks Windows 7.
20321
20322 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
20323
20324 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
20325 128 bytes
20326
20327 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
20328
20329 Add BFS support
20330
20331 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
20332 (grub_fstest_SOURCES): Likewise.
20333 (pkglib_MODULES): Add befs.mod.
20334 (befs_mod_SOURCES): New variable.
20335 (befs_mod_CFLAGS): Likewise.
20336 (befs_mod_LDFLAGS): Likewise.
20337 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
20338 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
20339 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20340 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
20341 (grub_setup_SOURCES): Likewise.
20342 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20343 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20344 (grub_setup_SOURCES): Likewise.
20345 * fs/befs.c: New file.
20346 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
20347 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
20348 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
20349 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
20350 (B_KEY_INDEX_ALIGN): New declaration.
20351 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
20352 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
20353 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
20354 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
20355 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
20356 (grub_afs_mount) [MODE_BFS]: Likewise.
20357 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
20358 (grub_afs_fs): Use GRUB_AFS_FSNAME
20359 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
20360 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
20361 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
20362 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
20363
20364 2009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
20365
20366 * util/getroot.c (find_root_device): Add support for MacOSX.
20367 * util/hostdisk.c: Likewise.
20368
20369 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
20370
20371 * font/font.c (find_glyph): Check whether a font is present to avoid
20372 segmentation fault.
20373
20374 2009-07-20 Joe Auricchio <jauricchio@gmail.com>
20375
20376 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
20377
20378 2009-07-20 Pavel Roskin <proski@gnu.org>
20379
20380 * configure.ac: Trim excessively wordy excuses.
20381
20382 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
20383
20384 Add symlink, mtime and label support to AtheFS.
20385
20386 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
20387 (grub_afs_iterate_dir): Handle symlinks.
20388 (grub_afs_open): Use grub_afs_read_symlink.
20389 (grub_afs_dir): Likewise.
20390 Pass mtime.
20391 (grub_afs_label): New function.
20392 (grub_afs_fs): Add grub_afs_label.
20393 (grub_afs_read_symlink): New function.
20394
20395 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
20396
20397 Fix AtheFS support.
20398
20399 * fs/afs.c: Fix comments style.
20400 (grub_afs_blockrun): Declare as packed.
20401 (grub_afs_datastream): Likewise.
20402 (grub_afs_bnode): Likewise.
20403 (grub_afs_btree): Likewise.
20404 (grub_afs_sblock): Likewise.
20405 Declare `name' as char.
20406 (grub_afs_inode): Declare as packed.
20407 Change void *vnode to grub_uint32_t unused.
20408 (grub_afs_iterate_dir): Check that key_size is positive.
20409 (grub_afs_mount): Don't read superblock twice.
20410 (grub_afs_dir): Don't free node in case of error,
20411 grub_fshelp_find_file already handles this.
20412 (grub_afs_open): Likewise.
20413
20414 2009-07-19 Pavel Roskin <proski@gnu.org>
20415
20416 * Makefile.in: Remove LIBLZO and enable_lzo.
20417 * conf/i386-pc.rmk: Remove lzo support.
20418 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
20419 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
20420 support.
20421 * kern/i386/pc/lzo1x.S: Remove.
20422 * kern/i386/pc/startup.S: Remove lzo support.
20423 * util/i386/pc/grub-mkimage.c: Likewise.
20424
20425 2009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
20426
20427 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
20428 * fs/xfs.c (grub_xfs_dir): Likewise.
20429 * fs/afs.c (grub_afs_dir): Likewise.
20430 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
20431 (grub_iso9660_open): Likewise.
20432 * fs/jfs.c (grub_jfs_open): Likewise.
20433 * fs/ext2.c (grub_ext2_dir): Likewise.
20434 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
20435 * script/sh/lexer.c (grub_script_yylex): Likewise.
20436
20437 2009-07-16 Pavel Roskin <proski@gnu.org>
20438
20439 * configure.ac: Never add "-c" to CFLAGS.
20440
20441 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
20442
20443 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
20444 grub_cv_cc_efiemu should be used.
20445
20446 * configure.ac: Typo fixes.
20447
20448 * kern/mm.c (grub_zalloc): New function.
20449 (grub_debug_zalloc): Likewise.
20450 * include/grub/mm.h: Declare grub_zalloc() and
20451 grub_debug_zalloc().
20452 * util/misc.c (grub_zalloc): New function.
20453 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
20454 instead of grub_malloc(), remove unneeded initializations.
20455 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
20456 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
20457 * commands/parttool.c (grub_cmd_parttool): Likewise.
20458 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
20459 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
20460 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
20461 * disk/usbms.c (grub_usbms_finddevs): Likewise.
20462 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
20463 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
20464 (grub_cmd_efiemu_pnvram): Likewise.
20465 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
20466 * fs/iso9660.c (grub_iso9660_mount): Likewise.
20467 (grub_iso9660_iterate_dir): Likewise.
20468 * fs/jfs.c (grub_jfs_opendir): Likewise.
20469 * fs/ntfs.c (list_file): Likewise.
20470 (grub_ntfs_mount): Likewise.
20471 * kern/disk.c (grub_disk_open): Likewise.
20472 * kern/dl.c (grub_dl_load_core): Likewise.
20473 * kern/elf.c (grub_elf_file): Likewise.
20474 * kern/env.c (grub_env_context_open): Likewise.
20475 (grub_env_set): Likewise.
20476 (grub_env_set_data_slot): Likewise.
20477 * kern/file.c (grub_file_open): Likewise.
20478 * kern/fs.c (grub_fs_blocklist_open): Likewise.
20479 * loader/i386/multiboot.c (grub_module): Likewise.
20480 * loader/xnu.c (grub_xnu_create_key): Likewise.
20481 (grub_xnu_create_value): Likewise.
20482 * normal/main.c (grub_normal_add_menu_entry): Likewise.
20483 (read_config_file): Likewise.
20484 * normal/menu_entry.c (make_screen): Likewise.
20485 * partmap/sun.c (sun_partition_map_iterate): Likewise.
20486 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
20487 * script/sh/script.c (grub_script_parse): Likewise.
20488 * video/bitmap.c (grub_video_bitmap_create): Likewise.
20489 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
20490 * video/readers/png.c (grub_png_output_byte): Likewise.
20491 (grub_video_reader_png): Likewise.
20492
20493 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
20494
20495 Enable all targets that can be built by default
20496
20497 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
20498 grub-mkfont and grub-fstest if they can be built
20499
20500 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
20501
20502 Fix hang and segmentation fault in grub-emu-usb
20503
20504 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
20505 * util/usb.c (grub_libusb_devices): likewise
20506 (grub_libusb_init): rename to ...
20507 (GRUB_MOD_INIT (libusb)):...this
20508 (grub_libusb_fini): rename to ..
20509 (GRUB_MOD_FINI (libusb)):...this
20510 * disk/usbms.c (grub_usbms_transfer): fix retry logic
20511 * include/grub/disk.h (grub_raid_init): removed, it's useless
20512 (grub_raid_fini): likewise
20513 (grub_lvm_init): likewise
20514 (grub_lvm_fini): likewise
20515 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
20516 by grub_init_all
20517
20518 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
20519
20520 Fix libusb
20521
20522 * Makefile.in (LIBUSB): new macro
20523 * genmk.rb (Utility/print_tail): new method
20524 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
20525 (top level): call util.print_tail at the end.
20526
20527 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
20528
20529 Make FreeBSD accept zpool.cache
20530
20531 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
20532 type is /boot/zfs/zpool.cache
20533
20534 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
20535
20536 Fix 64-bit efiemu
20537
20538 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
20539 correct wrong typedef
20540 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
20541
20542 2009-07-15 Pavel Roskin <proski@gnu.org>
20543
20544 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
20545 * kern/disk.c (struct grub_disk_cache): Likewise.
20546
20547 * commands/probe.c (options): Typo fix.
20548
20549 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
20550 Increase to 0x5a to accommodate FAT32. Adjust other offsets
20551 accordingly.
20552 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
20553
20554 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
20555 the end of "Error" to make the message more readable.
20556
20557 * boot/i386/pc/boot.S (kernel_segment): Remove.
20558 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
20559 for destination.
20560
20561 * boot/i386/pc/boot.S (boot_version): Remove.
20562 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
20563 Remove.
20564
20565 * include/grub/i386/pc/boot.h: Sort all offsets.
20566 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
20567 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
20568 * boot/i386/pc/boot.S: Assert location of every offset listed in
20569 include/grub/i386/pc/boot.h.
20570
20571 2009-07-13 Pavel Roskin <proski@gnu.org>
20572
20573 * include/grub/i386/coreboot/machine.h: Rename
20574 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
20575 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
20576 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
20577
20578 * kern/dl.c: Force native word size to suppress warnings when
20579 compiling grub-emu.
20580
20581 * kern/device.c (grub_device_iterate): Change struct part_ent to
20582 hold the name, not a pointer to it. Use one grub_malloc() per
20583 partition, not two. Free partition_name if grub_malloc() fails.
20584 Set ents to NULL only before grub_partition_iterate() is called.
20585
20586 2009-07-11 Bean <bean123ch@gmail.com>
20587
20588 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
20589 childname.
20590
20591 2009-07-10 Bean <bean123ch@gmail.com>
20592 2009-07-10 Robert Millan <rmh.grub@aybabtu.com>
20593
20594 * kern/ieee1275/openfw.c (grub_children_iterate)
20595 (grub_devalias_iterate): Fix size evaluation for property or path
20596 strings, which was broken since r2132.
20597
20598 2009-07-07 Pavel Roskin <proski@gnu.org>
20599
20600 * commands/search.c (search_file): Merge into ...
20601 (search_fs): ... this. Accept search type as argument.
20602 (grub_cmd_search): Pass search type to search_fs().
20603
20604 * include/grub/util/console.h: New file.
20605 * util/console.c: Use it instead of grub/machine/console.h.
20606 * util/grub-emu.c: Likewise.
20607
20608 * lib/arg.c (find_long_option): Remove.
20609 (find_long): Add `len' argument, make `s' const char *.
20610 (grub_arg_parse): Parse long options in place, not in a
20611 temporary buffer.
20612
20613 2009-07-06 Pavel Roskin <proski@gnu.org>
20614
20615 * commands/search.c (search_fs): Fix potential NULL pointer
20616 dereference.
20617
20618 * commands/search.c (search_fs): Replace QUID macro with quid_fn
20619 function pointer.
20620
20621 2009-07-06 Daniel Mierswa <impulze@impulze.org>
20622
20623 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
20624 comparison.
20625
20626 2009-07-05 Pavel Roskin <proski@gnu.org>
20627
20628 * include/grub/i386/linux.h (struct linux_kernel_params):
20629 Restore padding3, it's still needed.
20630
20631 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
20632 FreeBSD.
20633 * util/osdetect.lua: Likewise.
20634
20635 2009-07-05 Bean <bean123ch@gmail.com>
20636
20637 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
20638
20639 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
20640 (grub_lua_getenv): Likewise.
20641 (grub_lua_setenv): Likewise.
20642 (save_errno): New function.
20643 (push_result): Likewise.
20644 (grub_lua_enum_device): Likewise.
20645 (grub_lua_enum_file): Likewise.
20646 (grub_lua_file_open): Likewise.
20647 (grub_lua_file_close): Likewise.
20648 (grub_lua_file_seek): Likewise.
20649 (grub_lua_file_read): Likewise.
20650 (grub_lua_file_getline): Likewise.
20651 (grub_lua_file_getsize): Likewise.
20652 (grub_lua_file_getpos): Likewise.
20653 (grub_lua_file_eof): Likewise.
20654 (grub_lua_file_exist): Likewise.
20655 (grub_lua_add_menu): Likewise.
20656
20657 * script/lua/grub_lua.h (isupper): New inline function.
20658 (islower): Likewise.
20659 (ispunct): Likewise.
20660 (isxdigit): Likewise.
20661 (strcspn): Change to normal function.
20662 (strpbkr): New function declaration.
20663 (memchr): Likewise.
20664
20665 * script/lua/grub_main.c (scan_str): New function.
20666 (strcspn): Likewise.
20667 (strpbrk): Likewise.
20668 (memchr): Likewise.
20669
20670 * script/lua/linit.c (lualibs): Enable the string library.
20671
20672 * util/osdetect.lua: New file.
20673
20674 2009-07-04 Robert Millan <rmh.grub@aybabtu.com>
20675
20676 * include/grub/i386/linux.h (struct linux_kernel_params): Add
20677 `capabilities' member.
20678
20679 2009-07-02 Pavel Roskin <proski@gnu.org>
20680
20681 * genparttoollist.sh: Add missing newline at the end.
20682
20683 2009-07-01 Pavel Roskin <proski@gnu.org>
20684
20685 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
20686
20687 * util/hostdisk.c (open_device): Remove `const' from
20688 `sysctl_size', as sysctlbyname() can change it (in this case it
20689 doesn't actually happen).
20690
20691 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
20692 using signed long int constants.
20693
20694 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
20695 constant to avoid a warning on FreeBSD.
20696
20697 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
20698 where it's needed.
20699
20700 * Makefile.in: Install include/grub/machine symlink.
20701
20702 * Makefile.in: When installing symlinks, use "cp -fR", which
20703 works on FreeBSD and MacOSX.
20704 From Yves Blusseau <cl7m42e02@sneakemail.com>
20705
20706 * kern/dl.c (grub_dl_resolve_symbol): Make static.
20707 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
20708
20709 * util/misc.c: Move grub_reboot() and grub_halt() ...
20710 * util/grub-emu.c: ... here. Make main_env static.
20711 * include/grub/util/misc.h: Remove main_env.
20712
20713 * kern/mm.c: Use correct format to print size_t.
20714
20715 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
20716 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
20717 * kern/powerpc/dl.c: Likewise.
20718 * kern/sparc64/dl.c: Likewise.
20719 * kern/x86_64/dl.c: Likewise.
20720
20721 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
20722
20723 Fix grub-emu build on sparc64-ieee1275.
20724
20725 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
20726 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
20727
20728 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
20729
20730 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
20731 (grub_reboot, grub_halt): New functions.
20732
20733 * util/i386/pc/misc.c: Delete. Update all users.
20734 * util/sparc64/ieee1275/misc.c: Likewise.
20735 * util/powerpc/ieee1275/misc.c: Likewise.
20736
20737 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
20738
20739 * conf/i386.rmk (setjmp_mod_SOURCES)
20740 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
20741 * conf/common.rmk (setjmp_mod_SOURCES)
20742 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
20743 to use $(target_cpu).
20744 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
20745 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
20746 * conf/powerpc-ieee1275.rmk: Likewise.
20747 * conf/sparc64-ieee1275.rmk: Likewise.
20748
20749 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
20750 $(target_cpu) for kern/$(target_cpu)/dl.c.
20751 * conf/i386-efi.rmk: Likewise.
20752 * conf/i386-ieee1275.rmk: Likewise.
20753 * conf/x86_64-efi.rmk: Likewise.
20754 * conf/i386-coreboot.rmk: Likewise.
20755 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
20756 $(target_cpu) for kern/$(target_cpu)/dl.c and for
20757 kern/$(target_cpu)/cache.S.
20758 * conf/sparc64-ieee1275.rmk: Likewise.
20759
20760 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
20761
20762 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
20763 type to `grub_uint8_t', and adjust `padding9' accordingly.
20764
20765 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
20766
20767 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
20768
20769 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
20770 assembly in final jump, using register constraints.
20771
20772 (grub_linux_boot): For text mode, initialize `have_vga' using
20773 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
20774
20775 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
20776 right before the final jump.
20777
20778 Set `video_mode' to 0x3.
20779
20780 Document initialization of `video_page', `video_mode' and
20781 `video_ega_bx'.
20782
20783 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
20784
20785 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
20786 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
20787 and set GRUB_LINUX_FLAG_QUIET appropriately.
20788
20789 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
20790
20791 Fix build on Debian / sparc.
20792
20793 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
20794
20795 2009-06-28 Pavel Roskin <proski@gnu.org>
20796
20797 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
20798 fix a warning.
20799
20800 * util/grub.d/10_linux.in: Match SUSE style initrd names.
20801
20802 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
20803
20804 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
20805 `err'.
20806
20807 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
20808
20809 Revert r2338.
20810
20811 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
20812 file can't be opened. grub_file_open() is already supposed to set
20813 grub_errno / grub_errmsg appropriately.
20814 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
20815
20816 2009-06-27 Pavel Roskin <proski@gnu.org>
20817 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
20818
20819 * include/grub/dl.h: Include grub/elf.h.
20820 (struct grub_dl): Add symtab field.
20821 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
20822 GRUB_MODULES_MACHINE_READONLY.
20823 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
20824 of the header for read-only modules.
20825 (grub_dl_unload): Free mod->symtab for read-only modules.
20826 * kern/i386/dl.c: Use mod->symtab.
20827 * kern/powerpc/dl.c: Likewise.
20828 * kern/sparc64/dl.c: Likewise.
20829 * kern/x86_64/dl.c: Likewise.
20830
20831 * conf/i386-qemu.rmk: New file.
20832 * kern/i386/qemu/startup.S: Likewise.
20833 * kern/i386/qemu/mmap.c: Likewise.
20834 * boot/i386/qemu/boot.S: Likewise.
20835 * include/grub/i386/qemu/time.h: Likewise.
20836 * include/grub/i386/qemu/serial.h: Likewise.
20837 * include/grub/i386/qemu/kernel.h: Likewise.
20838 * include/grub/i386/qemu/console.h: Likewise.
20839 * include/grub/i386/qemu/boot.h: Likewise.
20840 * include/grub/i386/qemu/init.h: Likewise.
20841 * include/grub/i386/qemu/machine.h: Likewise.
20842 * include/grub/i386/qemu/loader.h: Likewise.
20843 * include/grub/i386/qemu/memory.h: Likewise.
20844
20845 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
20846 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
20847 [qemu] (pkglib_IMAGES): Add `boot.img'.
20848 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
20849 [qemu] (boot_img_FORMAT): New variables.
20850 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
20851 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
20852 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
20853 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
20854 [qemu] (kernel_img_FORMAT): New variables.
20855
20856 * configure.ac: Recognise `i386-qemu'.
20857
20858 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
20859 (for no compression).
20860 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
20861 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
20862 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
20863 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
20864 ifdefs).
20865
20866 2009-06-27 Pavel Roskin <proski@gnu.org>
20867
20868 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
20869 read.
20870 * efiemu/prepare32.c: Likewise.
20871 * efiemu/prepare64.c: Likewise.
20872
20873 2009-06-26 Pavel Roskin <proski@gnu.org>
20874
20875 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
20876 * include/grub/elf.h: Define symbols without "32" or "64" based
20877 on GRUB_TARGET_WORDSIZE.
20878 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
20879 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
20880 ELF definitions.
20881 * efiemu/loadcore64.c: Likewise.
20882 * loader/i386/bsd32.c: Likewise.
20883 * loader/i386/bsd64.c: Likewise.
20884 * kern/dl.c: Remove own ELF definitions.
20885 * util/i386/efi/grub-mkimage.c: Likewise.
20886
20887 2009-06-23 Robert Millan <rmh.grub@aybabtu.com>
20888
20889 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
20890 segment 0x0 unconditionally, because the reference generated by
20891 GAS is an absolute address.
20892
20893 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
20894
20895 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
20896 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
20897
20898 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
20899
20900 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
20901 indexes. Check for -f explicitly.
20902 (search_file): Improve error message.
20903 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
20904
20905 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
20906
20907 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
20908 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
20909
20910 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
20911
20912 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
20913 * conf/i386-ieee1275.rmk: Likewise.
20914 * conf/i386-coreboot.rmk: Likewise.
20915
20916 * kern/i386/pc/startup.S (grub_stop): Remove function.
20917 * kern/i386/ieee1275/startup.S: Likewise.
20918 * kern/i386/coreboot/startup.S: Likewise.
20919 * kern/i386/misc.S (grub_stop): New function.
20920
20921 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
20922
20923 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
20924 * kern/i386/realmode.S (real_to_prot): ... to here.
20925
20926 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
20927
20928 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
20929 with `kernel.img'.
20930 (kernel_elf_SOURCES): Rename to ...
20931 (kernel_img_SOURCES): ... this.
20932 (kernel_elf_HEADERS): Rename to ...
20933 (kernel_img_HEADERS): ... this. Update all users.
20934 (kernel_elf_ASFLAGS): Rename to ...
20935 (kernel_img_ASFLAGS): ... this.
20936 (kernel_elf_CFLAGS): Rename to ...
20937 (kernel_img_CFLAGS): ... this.
20938 (kernel_elf_LDFLAGS): Rename to ...
20939 (kernel_img_LDFLAGS): ... this.
20940 * conf/i386-coreboot.rmk: Likewise.
20941 * conf/powerpc-ieee1275.rmk: Likewise.
20942
20943 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
20944 with "kernel.img".
20945
20946 2009-06-21 Pavel Roskin <proski@gnu.org>
20947
20948 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
20949 to match nested functions.
20950 * loader/sparc64/ieee1275/linux.c: Likewise.
20951
20952 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
20953
20954 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
20955
20956 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
20957 all i386 platforms.
20958
20959 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
20960
20961 Fix asm file handling on ELF, and remove workarounds.
20962
20963 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
20964 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
20965 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
20966 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
20967
20968 2009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
20969
20970 Load BSD ELF modules
20971
20972 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
20973 and loader/i386/bsd64.c
20974 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
20975 (FREEBSD_MODTYPE_ELF_MODULE): New definition
20976 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
20977 (grub_freebsd_load_elfmodule32): New declaration
20978 (grub_freebsd_load_elfmoduleobj64): Likewise
20979 (grub_freebsd_load_elf_meta32): Likewise
20980 (grub_freebsd_load_elf_meta64): Likewise
20981 (grub_freebsd_add_meta): Likewise
20982 (grub_freebsd_add_meta_module): Likewise
20983 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
20984 (grub_freebsd_add_meta_module): Likewise and move module-specific
20985 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
20986 (grub_cmd_freebsd): Add elf-kernel specific parts
20987 based on grub_freebsd_add_meta_module
20988 (grub_cmd_freebsd_module): Add type parsing moved from
20989 grub_freebsd_add_meta_module
20990 (grub_cmd_freebsd_module_elf): New function
20991 (cmd_freebsd_module_elf): New variable
20992 (GRUB_MOD_INIT): Register freebsd_module_elf
20993 * loader/i386/bsd32.c: New file
20994 * loader/i386/bsd64.c: Likewise
20995 * loader/i386/bsdXX.c: Likewise
20996 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
20997 (grub_elf64_load): Likewise
20998 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
20999 All users updated
21000 (grub_elf64_load_hook_t): Likewise
21001
21002 2009-06-21 Colin Watson <cjwatson@ubuntu.com>
21003
21004 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
21005 variable.
21006 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
21007 don't write a menu entry for recovery mode.
21008
21009 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
21010
21011 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
21012 after it's no longer needed.
21013
21014 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
21015
21016 * include/grub/i386/loader.h (grub_linux_prot_size)
21017 (grub_linux_tmp_addr, grub_linux_real_addr)
21018 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
21019 GRUB_MACHINE_PCBIOS.
21020 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
21021 common grub_util_info() call to ...
21022 (generate_image): ... here.
21023 Fix use of uninitialized memory, comparison of signed with
21024 unsigned integers and memory leak.
21025 Remove bogus module address message.
21026
21027 2009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
21028
21029 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
21030 grub_raid_register
21031 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
21032
21033 2009-06-19 Pavel Roskin <proski@gnu.org>
21034
21035 * configure.ac: Remove stray AC_MSG_CHECKING.
21036
21037 2009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
21038
21039 * disk/scsi.c (grub_scsi_open): use continue instead of big if
21040
21041 2009-06-18 Pavel Roskin <proski@gnu.org>
21042
21043 * conf/common.rmk: Add fs_file.mod.
21044 * disk/fs_file.c: New file.
21045 * include/grub/disk.h (enum grub_disk_dev_id): Add
21046 GRUB_DISK_DEVICE_FILE_ID.
21047
21048 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
21049
21050 Fix build with Apple's toolchain. Part 2
21051
21052 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
21053 a fake start
21054
21055 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
21056
21057 Fix build with Apple's toolchain. Part 1
21058
21059 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
21060 for long calls
21061 * configure.ac: remove a leftover AC_MSG_RESULT
21062 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
21063 Apple's toolchain
21064
21065 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
21066
21067 Fix warnings
21068
21069 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
21070 (decomp_block): initialize ch
21071 use grub_memcpy instead of memcpy
21072
21073 2009-06-17 Pavel Roskin <proski@gnu.org>
21074
21075 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
21076 version, use declarations needed to use vga_text as the startup
21077 console.
21078
21079 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
21080 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
21081 the kernel.
21082 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
21083 and grub_at_keyboard_fini(), it's done on module load and
21084 unload.
21085
21086 2009-06-17 Felix Zielcke <fzielcke@z-51.de>
21087
21088 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
21089 file can't be found.
21090 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
21091
21092 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
21093
21094 Fix newline handling
21095
21096 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
21097 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
21098 (grub_script_yylex): don't segfault on unterminated script
21099 newline terminates command and variable
21100
21101 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
21102
21103 avoid double grub_adjust_range call. Bug reported by David Simner
21104
21105 * kern/disk.c (grub_disk_write): change to raw disk access before
21106 calling disk_read
21107
21108 2009-06-17 Colin Watson <cjwatson@ubuntu.com>
21109
21110 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
21111 spaces, for the benefit of help2man.
21112 * util/i386/efi/grub-mkimage.c (usage): Likewise.
21113
21114 2009-06-16 Pavel Roskin <proski@gnu.org>
21115
21116 * kern/i386/halt.c: Include grub/machine/init.h.
21117 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
21118
21119 2009-06-16 Felix Zielcke <fzielcke@z-51.de>
21120
21121 * util/grub.d/30_os-prober.in: Use ${root} in the generated
21122 drivemap menuentry.
21123
21124 2009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
21125
21126 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
21127 `echo' command.
21128
21129 2009-06-16 Pavel Roskin <proski@gnu.org>
21130
21131 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
21132 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
21133 save %dx, we only need %dl and we never change it.
21134 * boot/i386/pc/cdboot.S: Don't set the root drive.
21135 * boot/i386/pc/pxeboot.S: Likewise.
21136 * include/grub/i386/pc/boot.h: Remove
21137 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
21138 GRUB_BOOT_MACHINE_DRIVE_CHECK.
21139 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
21140 * kern/i386/pc/init.c (make_install_device): Remove references
21141 to grub_root_drive.
21142 * kern/i386/pc/startup.S: Likewise.
21143 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
21144
21145 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
21146
21147 xnu_uuid command
21148
21149 * commands/xnu_uuid.c: new file
21150 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
21151 (xnu_uuid_mod_SOURCES): new variable
21152 (xnu_uuid_mod_CFLAGS): likewise
21153 (xnu_uuid_mod_LDFLAGS): likewise
21154 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
21155 * conf/i386-ieee1275.rmk: likewise
21156 * conf/i386-pc.rmk: likewise
21157 * conf/powerpc-ieee1275.rmk: likewise
21158 * conf/sparc64-ieee1275.rmk: likewise
21159 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
21160
21161 2009-06-16 Pavel Roskin <proski@gnu.org>
21162
21163 * configure.ac: Avoid '==' in test command, it's not portable.
21164
21165 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
21166
21167 Probe command
21168
21169 * commands/probe.c: new file
21170 * conf/common.rmk (pkglib_MODULES): add probe.mod
21171 (probe_mod_SOURCES): new variable
21172 (probe_mod_CFLAGS): likewise
21173 (probe_mod_LDFLAGS): likewise
21174 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
21175 * conf/i386-ieee1275.rmk: likewise
21176 * conf/i386-pc.rmk: likewise
21177 * conf/powerpc-ieee1275.rmk: likewise
21178 * conf/sparc64-ieee1275.rmk: likewise
21179
21180 2009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
21181
21182 Fix handling of string like \"hello\" and "a
21183 b"
21184
21185 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
21186 (grub_script_yylex): fix parsing of quoting, escaping and newline
21187
21188 2009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
21189
21190 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
21191 handling
21192
21193 2009-06-13 Jun Inoue <jun.lambda@gmail.com>
21194
21195 * util/grub-mkconfig.in: Fix parsing of --output option.
21196
21197 2009-06-12 Pavel Roskin <proski@gnu.org>
21198
21199 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
21200 genmk.rb don't need to be generated or installed.
21201
21202 2009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
21203
21204 * commands/i386/pc/drivemap_int13h.S: add more comments
21205
21206 2009-06-11 Pavel Roskin <proski@gnu.org>
21207
21208 * Makefile.in (uninstall): Uninstall manuals.
21209
21210 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
21211 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
21212 and update-grub_lib in two places.
21213 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
21214
21215 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
21216 a compiler warning.
21217
21218 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
21219 `entry_lo' to fix variable shadowing.
21220
21221 2009-06-11 Christian Franke <franke@computer.org>
21222
21223 * kern/misc.c (__enable_execute_stack): Add missing return type
21224 to prevent gcc warning.
21225
21226 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
21227
21228 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
21229
21230 2009-06-11 Pavel Roskin <proski@gnu.org>
21231
21232 * Makefile.in: Don't rely on any scripts being executable.
21233 Always use $(SHELL) to run shell scripts.
21234
21235 * configure.ac: Always define ___main if using -nostdlib. This
21236 fixes tests on Cygwin.
21237
21238 2009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
21239
21240 UDF fix
21241
21242 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
21243 is in bytes and not in blocks
21244
21245 2009-06-11 Pavel Roskin <proski@gnu.org>
21246
21247 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
21248 warning.
21249
21250 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
21251
21252 * util/grub.d/30_os-prober.in: Fix a comment. Source
21253 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
21254 to set the root device. Place drivemap command in the generated
21255 chain entry.
21256
21257 2009-06-11 Pavel Roskin <proski@gnu.org>
21258
21259 * configure.ac: Remove host_m32. Issues with 64-bit utilities
21260 have long been resolved.
21261
21262 2009-06-11 Colin Watson <cjwatson@ubuntu.com>
21263
21264 * util/grub.d/10_linux.in: Capitalise "Linux".
21265
21266 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
21267
21268 2009-06-11 Pavel Roskin <proski@gnu.org>
21269
21270 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
21271 fix a gcc warning and ensure that the function won't ever exit.
21272
21273 * kern/i386/ieee1275/init.c: Add missing prototype for
21274 grub_stop_floppy().
21275
21276 * loader/ieee1275/multiboot2.c [__i386__]: Include
21277 grub/cpu/multiboot.h.
21278
21279 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
21280 casts to short - they are not portable and cause warnings. Fix
21281 use of uninitialized values in input_buf. Use ARRAY_SIZE.
21282
21283 2009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
21284
21285 Drivemap fixes
21286
21287 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
21288 new function
21289 (grub_get_root_biosnumber_saved): new variable
21290 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
21291 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
21292 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
21293 %dx after the call if necessary
21294 * conf/common.rmk (pkglib_MODULES): remove boot.mod
21295 (boot_mod_SOURCES): remove
21296 (boot_mod_CFLAGS): remove
21297 (boot_mod_LDFLAGS): remove
21298 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
21299 (boot_mod_SOURCES): new variable
21300 (boot_mod_CFLAGS): likewise
21301 (boot_mod_LDFLAGS): likewise
21302 * conf/i386-efi.rmk: likewise
21303 * conf/i386-ieee1275.rmk: likewise
21304 * conf/i386-pc.rmk: likewise
21305 * conf/powerpc-ieee1275.rmk: likewise
21306 * conf/sparc64-ieee1275.rmk: likewise
21307 * conf/x86_64-efi.rmk: likewise
21308 * include/grub/i386/pc/biosnum.h: new file
21309 * lib/i386/pc/biosnum.c: likewise
21310 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
21311 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
21312 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
21313
21314 2009-06-10 Pavel Roskin <proski@gnu.org>
21315
21316 * io/gzio.c (test_header): Don't reuse one buffer for all data.
21317 Use separate variables. Read only the file size at the end, but
21318 not the checksum that we don't use.
21319
21320 * kern/file.c (grub_file_read): Use void pointer for the buffer.
21321 Adjust all callers.
21322
21323 * kern/ieee1275/openfw.c: Remove libc includes.
21324 * kern/ieee1275/cmain.c: Likewise.
21325 * include/grub/ieee1275/ieee1275.h: Likewise.
21326
21327 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
21328 compiler warnings.
21329
21330 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
21331
21332 * Makefile.in: Remove all trailing whitespace.
21333 * conf/i386-pc.rmk: Likewise.
21334 * conf/powerpc-ieee1275.rmk: Likewise.
21335 * conf/sparc64-ieee1275.rmk: Likewise.
21336 * docs/grub.texi: Likewise.
21337 * docs/texinfo.tex: Likewise.
21338 * disk/fs_uuid.c: Likewise.
21339 * disk/lvm.c: Likewise.
21340 * disk/scsi.c: Likewise.
21341 * disk/ata.c: Likewise.
21342 * disk/ieee1275/ofdisk.c: Likewise.
21343 * disk/i386/pc/biosdisk.c: Likewise.
21344 * disk/host.c: Likewise.
21345 * disk/raid.c: Likewise.
21346 * disk/efi/efidisk.c: Likewise.
21347 * disk/usbms.c: Likewise.
21348 * disk/memdisk.c: Likewise.
21349 * disk/loopback.c: Likewise.
21350 * kern/powerpc/dl.c: Likewise.
21351 * kern/device.c: Likewise.
21352 * kern/dl.c: Likewise.
21353 * kern/sparc64/dl.c: Likewise.
21354 * kern/ieee1275/ieee1275.c: Likewise.
21355 * kern/term.c: Likewise.
21356 * kern/fs.c: Likewise.
21357 * kern/i386/dl.c: Likewise.
21358 * kern/i386/pc/startup.S: Likewise.
21359 * kern/i386/pc/init.c: Likewise.
21360 * kern/i386/pc/mmap.c: Likewise.
21361 * kern/i386/pc/lzo1x.S: Likewise.
21362 * kern/i386/ieee1275/init.c: Likewise.
21363 * kern/i386/realmode.S: Likewise.
21364 * kern/i386/tsc.c: Likewise.
21365 * kern/partition.c: Likewise.
21366 * kern/corecmd.c: Likewise.
21367 * kern/file.c: Likewise.
21368 * kern/efi/efi.c: Likewise.
21369 * kern/efi/init.c: Likewise.
21370 * kern/efi/mm.c: Likewise.
21371 * kern/main.c: Likewise.
21372 * kern/err.c: Likewise.
21373 * kern/env.c: Likewise.
21374 * kern/disk.c: Likewise.
21375 * kern/generic/millisleep.c: Likewise.
21376 * kern/generic/rtc_get_time_ms.c: Likewise.
21377 * kern/misc.c: Likewise.
21378 * kern/parser.c: Likewise.
21379 * genmk.rb: Likewise.
21380 * configure.ac: Likewise.
21381 * boot/i386/pc/diskboot.S: Likewise.
21382 * boot/i386/pc/pxeboot.S: Likewise.
21383 * boot/i386/pc/boot.S: Likewise.
21384 * boot/i386/pc/lnxboot.S: Likewise.
21385 * boot/i386/pc/cdboot.S: Likewise.
21386 * parttool/pcpart.c: Likewise.
21387 * video/readers/tga.c: Likewise.
21388 * video/video.c: Likewise.
21389 * video/bitmap.c: Likewise.
21390 * lib/envblk.c: Likewise.
21391 * lib/i386/setjmp.S: Likewise.
21392 * fs/xfs.c: Likewise.
21393 * fs/afs.c: Likewise.
21394 * fs/fat.c: Likewise.
21395 * fs/ntfs.c: Likewise.
21396 * fs/udf.c: Likewise.
21397 * fs/affs.c: Likewise.
21398 * fs/iso9660.c: Likewise.
21399 * fs/hfs.c: Likewise.
21400 * fs/fshelp.c: Likewise.
21401 * fs/ext2.c: Likewise.
21402 * fs/jfs.c: Likewise.
21403 * fs/reiserfs.c: Likewise.
21404 * fs/hfsplus.c: Likewise.
21405 * fs/minix.c: Likewise.
21406 * fs/cpio.c: Likewise.
21407 * fs/sfs.c: Likewise.
21408 * fs/ufs.c: Likewise.
21409 * efiemu/prepare.c: Likewise.
21410 * efiemu/loadcore_common.c: Likewise.
21411 * efiemu/runtime/efiemu.sh: Likewise.
21412 * efiemu/runtime/efiemu.S: Likewise.
21413 * efiemu/runtime/efiemu.c: Likewise.
21414 * efiemu/pnvram.c: Likewise.
21415 * efiemu/main.c: Likewise.
21416 * efiemu/i386/pc/cfgtables.c: Likewise.
21417 * efiemu/i386/loadcore64.c: Likewise.
21418 * efiemu/i386/loadcore32.c: Likewise.
21419 * efiemu/loadcore.c: Likewise.
21420 * efiemu/symbols.c: Likewise.
21421 * efiemu/mm.c: Likewise.
21422 * include/grub/autoefi.h: Likewise.
21423 * include/grub/datetime.h: Likewise.
21424 * include/grub/term.h: Likewise.
21425 * include/grub/hfs.h: Likewise.
21426 * include/grub/lvm.h: Likewise.
21427 * include/grub/i386/tsc.h: Likewise.
21428 * include/grub/i386/linux.h: Likewise.
21429 * include/grub/i386/xnu.h: Likewise.
21430 * include/grub/i386/efiemu.h: Likewise.
21431 * include/grub/i386/pc/biosdisk.h: Likewise.
21432 * include/grub/i386/pc/memory.h: Likewise.
21433 * include/grub/i386/pc/vbe.h: Likewise.
21434 * include/grub/parttool.h: Likewise.
21435 * include/grub/video.h: Likewise.
21436 * include/grub/memory.h: Likewise.
21437 * include/grub/fs.h: Likewise.
21438 * include/grub/partition.h: Likewise.
21439 * include/grub/xnu.h: Likewise.
21440 * include/grub/efi/api.h: Likewise.
21441 * include/grub/efi/pe32.h: Likewise.
21442 * include/grub/efi/memory.h: Likewise.
21443 * include/grub/multiboot.h: Likewise.
21444 * include/grub/usbdesc.h: Likewise.
21445 * include/grub/multiboot2.h: Likewise.
21446 * include/grub/acpi.h: Likewise.
21447 * include/grub/efiemu/efiemu.h: Likewise.
21448 * include/grub/disk.h: Likewise.
21449 * include/grub/ieee1275/ieee1275.h: Likewise.
21450 * include/grub/net.h: Likewise.
21451 * include/grub/machoload.h: Likewise.
21452 * include/grub/macho.h: Likewise.
21453 * include/multiboot.h: Likewise.
21454 * genmoddep.awk: Likewise.
21455 * normal/main.c: Likewise.
21456 * normal/menu_entry.c: Likewise.
21457 * normal/menu_viewer.c: Likewise.
21458 * normal/completion.c: Likewise.
21459 * normal/cmdline.c: Likewise.
21460 * normal/misc.c: Likewise.
21461 * normal/datetime.c: Likewise.
21462 * bus/usb/usbtrans.c: Likewise.
21463 * bus/usb/ohci.c: Likewise.
21464 * bus/usb/uhci.c: Likewise.
21465 * bus/usb/usb.c: Likewise.
21466 * mmap/efi/mmap.c: Likewise.
21467 * mmap/i386/pc/mmap_helper.S: Likewise.
21468 * mmap/i386/pc/mmap.c: Likewise.
21469 * mmap/i386/mmap.c: Likewise.
21470 * mmap/i386/uppermem.c: Likewise.
21471 * mmap/mmap.c: Likewise.
21472 * commands/acpi.c: Likewise.
21473 * commands/echo.c: Likewise.
21474 * commands/blocklist.c: Likewise.
21475 * commands/loadenv.c: Likewise.
21476 * commands/usbtest.c: Likewise.
21477 * commands/boot.c: Likewise.
21478 * commands/parttool.c: Likewise.
21479 * commands/search.c: Likewise.
21480 * commands/cat.c: Likewise.
21481 * commands/i386/pc/play.c: Likewise.
21482 * commands/i386/pc/drivemap.c: Likewise.
21483 * commands/i386/pc/vbeinfo.c: Likewise.
21484 * commands/i386/pc/acpi.c: Likewise.
21485 * commands/i386/pc/vbetest.c: Likewise.
21486 * commands/ls.c: Likewise.
21487 * commands/cmp.c: Likewise.
21488 * commands/test.c: Likewise.
21489 * commands/efi/acpi.c: Likewise.
21490 * commands/gptsync.c: Likewise.
21491 * commands/help.c: Likewise.
21492 * partmap/amiga.c: Likewise.
21493 * partmap/apple.c: Likewise.
21494 * partmap/acorn.c: Likewise.
21495 * partmap/pc.c: Likewise.
21496 * partmap/sun.c: Likewise.
21497 * partmap/gpt.c: Likewise.
21498 * script/sh/lexer.c: Likewise.
21499 * script/sh/function.c: Likewise.
21500 * font/font.c: Likewise.
21501 * font/font_cmd.c: Likewise.
21502 * loader/powerpc/ieee1275/linux.c: Likewise.
21503 * loader/efi/chainloader.c: Likewise.
21504 * loader/multiboot_loader.c: Likewise.
21505 * loader/macho.c: Likewise.
21506 * loader/i386/multiboot.c: Likewise.
21507 * loader/i386/linux.c: Likewise.
21508 * loader/i386/pc/linux.c: Likewise.
21509 * loader/i386/pc/multiboot2.c: Likewise.
21510 * loader/i386/pc/chainloader.c: Likewise.
21511 * loader/i386/pc/xnu.c: Likewise.
21512 * loader/i386/bsd_trampoline.S: Likewise.
21513 * loader/i386/efi/linux.c: Likewise.
21514 * loader/i386/multiboot_elfxx.c: Likewise.
21515 * loader/i386/bsd_helper.S: Likewise.
21516 * loader/i386/bsd.c: Likewise.
21517 * loader/i386/linux_trampoline.S: Likewise.
21518 * loader/i386/xnu_helper.S: Likewise.
21519 * loader/i386/xnu.c: Likewise.
21520 * loader/i386/bsd_pagetable.c: Likewise.
21521 * loader/i386/multiboot_helper.S: Likewise.
21522 * loader/xnu.c: Likewise.
21523 * loader/xnu_resume.c: Likewise.
21524 * io/gzio.c: Likewise.
21525 * term/efi/console.c: Likewise.
21526 * term/terminfo.c: Likewise.
21527 * term/ieee1275/ofconsole.c: Likewise.
21528 * term/i386/pc/serial.c: Likewise.
21529 * term/i386/pc/vesafb.c: Likewise.
21530 * term/i386/pc/vga.c: Likewise.
21531 * term/usb_keyboard.c: Likewise.
21532 * term/gfxterm.c: Likewise.
21533 * aclocal.m4: Likewise.
21534 * util/lvm.c: Likewise.
21535 * util/grub.d/30_os-prober.in: Likewise.
21536 * util/grub.d/10_hurd.in: Likewise.
21537 * util/console.c: Likewise.
21538 * util/grub-macho2img.c: Likewise.
21539 * util/grub-probe.c: Likewise.
21540 * util/hostfs.c: Likewise.
21541 * util/i386/pc/grub-mkimage.c: Likewise.
21542 * util/i386/pc/grub-setup.c: Likewise.
21543 * util/i386/efi/grub-mkimage.c: Likewise.
21544 * util/grub-mkconfig.in: Likewise.
21545 * util/raid.c: Likewise.
21546 * util/resolve.c: Likewise.
21547 * util/grub-mkdevicemap.c: Likewise.
21548 * util/grub-emu.c: Likewise.
21549 * util/getroot.c: Likewise.
21550 * util/hostdisk.c: Likewise.
21551 * util/usb.c: Likewise.
21552 * util/grub-editenv.c: Likewise.
21553 * util/misc.c: Likewise.
21554
21555 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
21556
21557 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
21558 `genparttoollist.sh'.
21559 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
21560 Add `*.sh' to the list find searches for and change `mdate.sh'
21561 to `mdate-sh'.
21562
21563 2009-06-10 Pavel Roskin <proski@gnu.org>
21564
21565 * include/grub/multiboot2.h: Provide compatibility defines for
21566 multiboot2.h.
21567 * include/multiboot2.h: Include stdint.h only if needed, using
21568 angle brackets.
21569 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
21570 grub/multiboot2.h.
21571 * loader/ieee1275/multiboot2.c: Likewise.
21572 * loader/multiboot2.c: Likewise.
21573 * loader/multiboot_loader.c: Likewise.
21574
21575 * configure.ac: Use -nostdlib when probing for the target. It
21576 should not be required to have libc for the target.
21577
21578 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
21579 they fail without libc headers for the target.
21580 * include/grub/powerpc/libgcc.h: Use weak attribute for all
21581 exports.
21582 * include/grub/sparc64/libgcc.h: Likewise. Don't use
21583 preprocessor conditionals.
21584
21585 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
21586 build system doesn't need to be aware of the tar.c internals.
21587
21588 2009-06-09 Michel Hermier <michel.hermier@gmail.com>
21589
21590 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
21591
21592 2009-06-09 Robert Millan <rmh.grub@aybabtu.com>
21593
21594 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
21595 disk limit to 26 for IDE, Virtio, Xen and SCSI.
21596
21597 2009-06-09 Felix Zielcke <fzielcke@z-51.de>
21598
21599 * util/i386/pc/grub-install.in: Change the error message if UUIDs
21600 aren't available if ata.mod gets used.
21601
21602 2009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
21603
21604 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
21605 initialising controller.
21606 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
21607
21608 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
21609
21610 * util/i386/pc/grub-install.in: Add a parameter --disk-module
21611 to choose between ata and biosdisk module on i386-pc.
21612
21613 2009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
21614
21615 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
21616 Subclass and Programming Interface fields in terms of the 3 byte
21617 Class Code register.
21618 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
21619
21620 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
21621 interface is OHCI. Add grub_dprintf for symmetry with
21622 bus/usb/uhci.c.
21623 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
21624 interface is UHCI. Add interf variable for programming
21625 interface. Print interface with class/subclass.
21626
21627 * bus/usb/ohci.c: Set interf with correct field.
21628
21629 * bus/usb/uhci.c: Remove unneeded doubled lines.
21630 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
21631 Remove whitespace inside comment.
21632
21633 2009-06-08 Robert Millan <rmh.grub@aybabtu.com>
21634
21635 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
21636 as fallback an equivalent option without depth.
21637
21638 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
21639
21640 Not fail if unable to retrieve C/H/S on LBA disks
21641
21642 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
21643 if unable to retrieve C/H/S on LBA disks
21644
21645 2009-06-08 Pavel Roskin <proski@gnu.org>
21646
21647 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
21648 about aliasing.
21649
21650 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
21651
21652 * Makefile.in (uninstall): Remove all $lib_DATA files.
21653
21654 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
21655
21656 Bugfix: install on partitionless device
21657
21658 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
21659 is a whole disk
21660
21661 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
21662
21663 * Makefile.in (uninstall): Remove all $include_DATA files.
21664
21665 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
21666
21667 * commands/true.c: New file. Implement the true and false commands.
21668 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
21669 (true_mod_SOURCES): New variable.
21670 (true_mod_CFLAGS): Likewise.
21671 (true_mod_LDFLAGS): Likewise.
21672
21673 2009-06-05 Colin D Bennett <colin@gibibit.com>
21674
21675 Optimized font character lookup using binary search instead of linear
21676 search. Fonts now are required to have the character index ordered by
21677 code point.
21678
21679 * font/font.c (load_font_index): Verify that fonts have ordered
21680 character indices.
21681 (find_glyph): Use binary search instead of linear search to find a
21682 character in a font.
21683
21684 2009-06-05 Michael Scherer <misc@mandriva.org>
21685
21686 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
21687 uses case sensitive btree.
21688 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
21689 only for case insensitive filesystems.
21690
21691 2009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
21692
21693 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
21694 * conf/common.rmk (search_mod_CFLAGS): likewise
21695
21696 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21697
21698 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
21699 compensate a compiler bug
21700
21701 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21702
21703 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
21704 instead of '\b'
21705
21706 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21707
21708 Definitions for creating asm symbols with Apple's CC
21709
21710 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
21711 [APPLE_CC] (VARIABLE): likewise
21712
21713 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21714
21715 Disable lnxboot.img when compiled
21716 with Apple's CC
21717
21718 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
21719 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
21720 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
21721 [! APPLE_CC] (CODE_LENG): skip
21722 [! APPLE_CC] (setup_sects): likewise
21723 [! APPLE_CC]: skip filling
21724
21725 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21726
21727 Address in trampolines based on 32-bit registers when compiled
21728 with Apple's CC
21729
21730 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
21731 for addresses
21732 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
21733
21734 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21735
21736 Avoid aliases when compiling with Apple's CC for PCBIOS machine
21737
21738 * kern/misc.c [APPLE_CC] (memcpy): new function
21739 [APPLE_CC] (memmove): likewise
21740 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
21741 (memcpy): define alias conditionally on !APPLE_CC
21742 (memset): likewise
21743 (abort): likewise
21744 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
21745 APPLE_CC are defined
21746 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
21747 (grub_assert_fail): make prototype conditional
21748
21749 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21750
21751 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
21752
21753 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
21754 grub-macho2img
21755 (CLEANFILES): add grub-macho2img
21756 (grub_macho2img_SOURCES): new variable
21757 * kern/i386/pc/startup.S (bss_start): new variable
21758 (bss_end): likewise
21759 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
21760 * util/grub-macho2img.c: new file
21761
21762 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21763
21764 Use objconv when compiling with Apple's CC
21765
21766 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
21767 (efiemu64.o): likewise
21768 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
21769 when compiling with Apple's CC
21770 (efiemu64_s.o): likewise
21771 * configure.ac: check for objconv when compiling with Apple's CC
21772 * genmk.rb: use objconv for modules when compiled with Apple's CC
21773
21774 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21775
21776 Define segment as well as section when compiling with
21777 Apple's CC
21778
21779 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
21780 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
21781 (efiemu_convert_pointer): likewise
21782 (efiemu_set_virtual_address_map): likewise
21783 (efiemu_convert_pointer): likewise
21784 (efiemu_getcrc32): likewise
21785 (init_crc32_table): likewise
21786 (reflect): likewise
21787 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
21788 (GRUB_MOD_DEP): likewise
21789
21790 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21791
21792 Allow a compilation without -mcmodel=large
21793
21794 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
21795 when compiled without -mcmodel=large
21796 (filter_memory_map): remove memory post 4 GiB when compiled
21797 without -mcmodel=large
21798 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
21799 TARGET_CFLAGS when -mcmodel=large isn't supported
21800
21801 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21802
21803 Remove nested functions in efiemu core
21804
21805 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
21806
21807 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21808
21809 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
21810
21811 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
21812 temporary storage
21813 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
21814 using Apple's CC
21815 (grub_cpu_is_tsc_supported): likewise
21816 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
21817
21818 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21819
21820 Absolute addressing through constant with Apple's cc
21821
21822 * kern/i386/pc/startup.S: Define necessary constants
21823 and address through it when using ABS with Apple's CC
21824 * boot/i386/pc/diskboot.S: likewise
21825 * boot/i386/pc/boot.S: likewise
21826 * boot/i386/pc/lnxboot.S: likewise
21827 * boot/i386/pc/cdboot.S: likewise
21828 * mmap/i386/pc/mmap_helper.S: likewise
21829 * commands/i386/pc/drivemap_int13h.S: likewise
21830
21831 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21832
21833 Check if compiler is apple cc
21834
21835 * Makefile.in (ASFLAGS): new variable
21836 (TARGET_ASFLAGS): likewise
21837 (TARGET_MODULE_FORMAT): likewise
21838 (TARGET_APPLE_CC): likewise
21839 (OBJCONV): likewise
21840 (TARGET_IMG_CFLAGS): likewise
21841 (TARGET_CPPFLAGS): add includedir
21842 * configure.ac: call grub_apple_cc and grub_apple_target_cc
21843 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
21844 Check for linker script only if compiler isn't Apple's CC
21845 (TARGET_MODULE_FORMAT): set
21846 (TARGET_APPLE_CC): likewise
21847 (TARGET_ASFLAGS): likewise
21848 (ASFLAGS): likewise
21849 Check for objcopy only if compiler isn't Apple's CC
21850 Check for BSS symbol only if compiler isn't Apple's CC
21851 * genmk.rb: adapt nm options if we use Apple's utils
21852 * aclocal.m4 (grub_apple_cc): new test
21853 (grub_apple_target_cc): likewise
21854
21855 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21856
21857 Simplify sed expressions and improve awk
21858
21859 * Makefile.in (install-local): simplify sed expression
21860 * gencmdlist.sh: likewise
21861 * genmoddep.awk: avoid adding module as a dependency of itself
21862
21863 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21864
21865 Add missing start symbols
21866
21867 * boot/i386/pc/boot.S: add start
21868 * boot/i386/pc/pxeboot.S: likewise
21869
21870 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21871
21872 Fix wrong assumptions with grub-mkimage on EFI
21873
21874 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
21875 (relocate_addresses): consider both r_addend and value at offset
21876 (make_mods_section): zerofill modinfo and header
21877 (convert_elf): write prefix here
21878
21879 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21880
21881 Use .asciz instead of .string
21882
21883 * i386/pc/diskboot.S: use .asciz instead of .string
21884 * i386/pc/boot.S: likewise
21885 * include/grub/dl.h (GRUB_MOD_DEP): likewise
21886 (GRUB_MOD_NAME): likewise
21887
21888 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21889
21890 gfxpayload support
21891
21892 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
21893 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
21894 (grub_video_setup): remove
21895 (grub_video_set_mode): new prototype
21896 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
21897 (vid_mode): remove
21898 (linux_vesafb_res): compile only on PCBIOS
21899 (grub_linux_boot): support gfxpayload
21900 * loader/i386/pc/xnu.c (video_hook): new function
21901 (grub_xnu_set_video): support gfxpayload
21902 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
21903 (DEFAULT_VIDEO_HEIGHT): likewise
21904 (DEFAULT_VIDEO_FLAGS): likewise
21905 (DEFAULT_VIDEO_MODE): new definition
21906 (video_hook): new function
21907 (grub_gfxterm_init): use grub_video_set_mode
21908 * util/grub.d/30_os-prober.in: remove explicit modesetting before
21909 loading xnu
21910 * video/video.c (grub_video_setup): removed
21911 (grub_video_set_mode): new function based on grub_gfxterm_init and
21912 grub_video_setup
21913
21914 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21915
21916 Avoid calling biosdisk in drivemap
21917
21918 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
21919 (revparse_biosdisk): likewise
21920 (list_mappings): derive name from id directly
21921 (grub_cmd_drivemap): use tryparse_diskstring
21922
21923 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
21924
21925 Script fixes
21926
21927 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
21928 (grub_lexer_param): add tokenonhold
21929 (grub_script_create_cmdline): remove cmdline. All callers updated
21930 (grub_script_function_create): make functionname
21931 grub_script_arg. All callers updated
21932 (grub_script_execute_argument_to_string): new prototype
21933 * kern/parser.c (state_transitions): reorder
21934 (grub_parser_cmdline_state): fix a bug and make more compact
21935 * script/sh/execute.c (grub_script_execute_argument_to_string):
21936 make global
21937 (grub_script_execute_cmdline): use new format
21938 * script/sh/function.c (grub_script_function_create): make functionname
21939 grub_script_arg. All callers updated
21940 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
21941 (grub_script_yylex): remove
21942 (grub_script_yylex2): renamed to ...
21943 (grub_script_yylex): ...renamed
21944 parse the expressions like a${b}c
21945 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
21946 (GRUB_PARSER_TOKEN_VAR): remove
21947 (GRUB_PARSER_TOKEN_NAME): likewise
21948 ("if"): declare as typeless
21949 ("while"): likewise
21950 ("function"): likewise
21951 ("else"): likewise
21952 ("then"): likewise
21953 ("fi"): likewise
21954 (text): remove
21955 (argument): likewise
21956 (script): accept empty scripts and make exit on error
21957 (arguments): use GRUB_PARSER_TOKEN_ARG
21958 (function): likewise
21959 (command): move error handling to script
21960 (menuentry): move grub_script_lexer_ref before
21961 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
21962 argument. All callers updated
21963
21964 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
21965
21966 Prevent GRUB from probing floppies during boot.
21967
21968 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
21969 * commands/search.c (options): Add --no-floppy.
21970 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
21971 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
21972 --no-floppy when searching for UUIDs.
21973
21974 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
21975
21976 Simplify the code duplication in commands/search.c.
21977
21978 * commands/search.c (search_label, search_fs_uuid): Merge into ...
21979 (search_fs): ... this. Update all users.
21980
21981 2009-06-03 Felix Zielcke <fzielcke@z-51.de>
21982
21983 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
21984
21985 2009-05-28 Pavel Roskin <proski@gnu.org>
21986
21987 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
21988 Remove the original symlink explicitly.
21989
21990 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
21991 just one slash. That's how grub_fshelp_find_file() does it.
21992
21993 2009-05-26 Pavel Roskin <proski@gnu.org>
21994
21995 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
21996 to `str'.
21997
21998 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
21999 possibly unused.
22000
22001 2009-05-25 Christian Franke <franke@computer.org>
22002
22003 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
22004 register.
22005 (grub_atapi_identify): Add wait after drive select.
22006 (grub_ata_identify): Do more strict status register check before
22007 calling grub_atapi_identify (). Suppress error message if status
22008 register is 0x00 after command failure. Add status register
22009 check after PIO read to avoid bogus identify due to stuck DRQ.
22010 Thanks to Pavel Roskin for testing.
22011 (grub_device_initialize): Remove unsafe status register check.
22012 Thanks to 'phcoder' for problem report and patch.
22013 Prevent sign extension in debug message.
22014
22015 2009-05-23 Colin D Bennett <colin@gibibit.com>
22016
22017 Cleaned up `include/grub/normal.h'. Grouped prototypes by
22018 definition file, and functions defined in `normal/menu.c' have had
22019 their prototypes moved to `include/grub/menu.h' for consistency.
22020
22021 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
22022 from normal.h.
22023 (grub_menu_get_entry): Likewise.
22024 (grub_menu_get_timeout): Likewise.
22025 (grub_menu_set_timeout): Likewise.
22026 (grub_menu_execute_entry): Likewise.
22027 (grub_menu_execute_with_fallback): Likewise.
22028 (grub_menu_entry_run): Likewise.
22029
22030 * include/grub/normal.h: Re-ordered and grouped function
22031 prototypes by file that the function is defined in.
22032 (grub_menu_execute_callback): Removed; moved to menu.h.
22033 (grub_menu_get_entry): Likewise.
22034 (grub_menu_get_timeout): Likewise.
22035 (grub_menu_set_timeout): Likewise.
22036 (grub_menu_execute_entry): Likewise.
22037 (grub_menu_execute_with_fallback): Likewise.
22038 (grub_menu_entry_run): Likewise.
22039 (grub_menu_addentry): Renamed from this ...
22040 (grub_normal_add_menu_entry): ... to this.
22041
22042 * normal/main.c (grub_menu_addentry): Renamed from this ...
22043 (grub_normal_add_menu_entry): ... to this.
22044
22045 * script/sh/execute.c (grub_script_execute_menuentry): Update
22046 reference to renamed grub_menu_addentry function.
22047
22048 2009-05-23 Felix Zielcke <fzielcke@z-51.de>
22049
22050 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
22051
22052 2009-05-22 Pavel Roskin <proski@gnu.org>
22053
22054 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
22055 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
22056 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
22057 compiling for the i386 targets, but not for the utilities.
22058
22059 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
22060 to grub_uint8_t.
22061 (grub_root_drive): Likewise.
22062 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
22063 remove alignment.
22064 (grub_root_drive): Change size to byte.
22065 (grub_start_addr): Remove.
22066 (grub_end_addr): Likewise.
22067 (grub_apm_bios_info): Likewise.
22068
22069 2009-05-21 Felix Zielcke <fzielcke@z-51.de>
22070
22071 * normal/i386: Remove.
22072 * normal/powerpc: Likewise.
22073 * normal/sparc64: Likewise.
22074 * normal/x86_64: Likewise.
22075
22076 2009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
22077
22078 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
22079 * loader/i386/linux_trampoline.S: Fix indentation
22080 * loader/i386/xnu_helper.S: Likewise
22081
22082 2009-05-18 Colin D Bennett <colin@gibibit.com>
22083
22084 Display error messages when parsing a Lua statement fails.
22085 Previously, executing a syntactically invalid statement like
22086 ")foo" or "bar;" would silently fail.
22087
22088 * script/lua/grub_main.c (handle_lua_error): New function.
22089 (grub_lua_parse_line): Improved reporting of Lua parser and
22090 execution errors.
22091
22092 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
22093
22094 Remove -Werror which causes build to fail on some systems
22095
22096 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
22097 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
22098 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
22099
22100 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
22101
22102 trampoline for linux on 64-bit platform
22103
22104 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
22105 loader/i386/efi/linux_trampoline.S
22106 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
22107 declaration
22108 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
22109 here
22110 * loader/i386/linux_trampoline.S: moved here
22111 * loader/i386/efi/linux.c (allocate_pages): reserve space for
22112 trampoline
22113 (jumpvector): removed
22114 (grub_linux_trampoline_start): new declaration
22115 (grub_linux_trampoline_end): likewise
22116 (grub_linux_boot): use trampoline when on 64-bit platform
22117 * loader/i386/linux.c: likewise
22118
22119 2009-05-16 Pavel Roskin <proski@gnu.org>
22120
22121 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
22122 const to avoid a warning.
22123 (grub_lua_setenv): Likewise.
22124 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
22125 lmsg to fix a warning.
22126
22127 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
22128
22129 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
22130 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
22131 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
22132 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
22133 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
22134 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
22135 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
22136 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
22137
22138 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
22139
22140 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
22141
22142 2009-05-16 Bean <bean123ch@gmail.com>
22143
22144 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
22145 (lua_mod_SOURCES): New variable.
22146 (lua_mod_CFLAGS): Likewise.
22147 (lua_mod_LDFLAGS): Likewise.
22148
22149 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
22150 (setjmp_mod_SOURCES): New variable.
22151 (setjmp_mod_CFLAGS): Likewise.
22152 (setjmp_LDFLAGS): Likewise.
22153
22154 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
22155 (setjmp_mod_SOURCES): New variable.
22156 (setjmp_mod_CFLAGS): Likewise.
22157 (setjmp_LDFLAGS): Likewise.
22158
22159 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
22160 (setjmp_mod_SOURCES): New variable.
22161 (setjmp_mod_CFLAGS): Likewise.
22162 (setjmp_LDFLAGS): Likewise.
22163
22164 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
22165 (setjmp_mod_SOURCES): New variable.
22166 (setjmp_mod_CFLAGS): Likewise.
22167 (setjmp_LDFLAGS): Likewise.
22168
22169 * normal/i386/setjmp.S: Moved from here ...
22170 * lib/i386/setjmp.S: ... Moved here
22171 * normal/x86_64/setjmp.S: Moved from here ...
22172 * lib/x86_64/setjmp.S: ... Moved here
22173 * normal/powerpc/setjmp.S: Moved from here ...
22174 * lib/powerpc/setjmp.S: ... Moved here
22175 * normal/sparc64/setjmp.S: Moved from here ...
22176 * lib/sparc64/setjmp.S: ... Moved here
22177
22178 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
22179 returns_twice in mingw.
22180
22181 * script/lua/grub_lib.c: New file.
22182 * script/lua/grub_lib.h: Likewise.
22183 * script/lua/grub_lua.h: Likewise.
22184 * script/lua/grub_main.c: Likewise.
22185 * script/lua/lapi.c: Likewise.
22186 * script/lua/lapi.h: Likewise.
22187 * script/lua/lauxlib.c: Likewise.
22188 * script/lua/lauxlib.h: Likewise.
22189 * script/lua/lbaselib.c: Likewise.
22190 * script/lua/lcode.c: Likewise.
22191 * script/lua/lcode.h: Likewise.
22192 * script/lua/ldblib.c: Likewise.
22193 * script/lua/ldebug.c: Likewise.
22194 * script/lua/ldebug.h: Likewise.
22195 * script/lua/ldo.c: Likewise.
22196 * script/lua/ldo.h: Likewise.
22197 * script/lua/ldump.c: Likewise.
22198 * script/lua/lfunc.c: Likewise.
22199 * script/lua/lfunc.h: Likewise.
22200 * script/lua/lgc.c: Likewise.
22201 * script/lua/lgc.h: Likewise.
22202 * script/lua/linit.c: Likewise.
22203 * script/lua/liolib.c: Likewise.
22204 * script/lua/llex.c: Likewise.
22205 * script/lua/llex.h: Likewise.
22206 * script/lua/llimits.h: Likewise.
22207 * script/lua/lmathlib.c: Likewise.
22208 * script/lua/lmem.c: Likewise.
22209 * script/lua/lmem.h: Likewise.
22210 * script/lua/loadlib.c: Likewise.
22211 * script/lua/lobject.c: Likewise.
22212 * script/lua/lobject.h: Likewise.
22213 * script/lua/lopcodes.c: Likewise.
22214 * script/lua/lopcodes.h: Likewise.
22215 * script/lua/loslib.c: Likewise.
22216 * script/lua/lparser.c: Likewise.
22217 * script/lua/lparser.h: Likewise.
22218 * script/lua/lstate.c: Likewise.
22219 * script/lua/lstate.h: Likewise.
22220 * script/lua/lstring.c: Likewise.
22221 * script/lua/lstring.h: Likewise.
22222 * script/lua/lstrlib.c: Likewise.
22223 * script/lua/ltable.c: Likewise.
22224 * script/lua/ltable.h: Likewise.
22225 * script/lua/ltablib.c: Likewise.
22226 * script/lua/ltm.c: Likewise.
22227 * script/lua/ltm.h: Likewise.
22228 * script/lua/lua.h: Likewise.
22229 * script/lua/luaconf.h: Likewise.
22230 * script/lua/lualib.h: Likewise.
22231 * script/lua/lundump.c: Likewise.
22232 * script/lua/lundump.h: Likewise.
22233 * script/lua/lvm.c: Likewise.
22234 * script/lua/lvm.h: Likewise.
22235 * script/lua/lzio.c: Likewise.
22236 * script/lua/lzio.h: Likewise.
22237
22238 2009-05-16 Bean <bean123ch@gmail.com>
22239
22240 * include/grub/kernel.h (grub_module_header_types): Add type
22241 OBJ_TYPE_CONFIG.
22242
22243 * kern/main.c (grub_load_config): New function.
22244 (grub_main): Call grub_load_config to read boot config.
22245
22246 * grub-mkimage (generate_image): New parameter config_path.
22247 (options): New option --config.
22248 (main): Parse --config option, and pass it to generate_image.
22249
22250 2009-05-14 Christian Franke <franke@computer.org>
22251
22252 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
22253 This fixes build on Cygwin.
22254
22255 2009-05-14 Pavel Roskin <proski@gnu.org>
22256
22257 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
22258 jump. This saves two bytes, so the typical case of 2 swapped
22259 drives would fit 32 bytes.
22260
22261 2009-05-13 Pavel Roskin <proski@gnu.org>
22262
22263 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
22264 grub_uint32_t to avoid a warning.
22265
22266 * loader/i386/linux.c (allocate_pages): When assigning
22267 real_mode_mem, cast through grub_size_t to fix a warning. The
22268 code already makes sure that the value would fit a pointer.
22269 (grub_linux_setup_video): Cast render_target->data to
22270 grub_size_t to fix a warning.
22271
22272 2009-05-13 Javier Martín <lordhabbit@gmail.com>
22273
22274 * commands/i386/pc/drivemap.c: New file - implement drivemap
22275 command.
22276 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
22277 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
22278
22279 2009-05-13 Pavel Roskin <proski@gnu.org>
22280
22281 * util/i386/pc/grub-setup.c (setup): Remove unused variable
22282 embedding_area_exists.
22283
22284 2009-05-13 Robert Millan <rmh.grub@aybabtu.com>
22285
22286 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
22287 it easier to understand / work with.
22288 Improve warning messages for cases where there's no embedding area,
22289 or when it is too small (or core.img too large).
22290
22291 2009-05-13 Pavel Roskin <proski@gnu.org>
22292
22293 * loader/i386/pc/multiboot2.c: Add necessary includes for
22294 grub_multiboot2_real_boot().
22295
22296 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
22297 PX record is always little-endian. We only need the lower 2
22298 bytes of the mode.
22299
22300 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
22301 facilitate code reuse.
22302 (grub_cpio_mount): Use "struct head", not a char buffer. This
22303 fixes a warning reported by gcc 4.4.
22304
22305 * kernel/disk.c (grub_disk_read): Use void pointer for the
22306 buffer.
22307 (grub_disk_write): Use const void pointer for the buffer.
22308 Adjust all callers. Remove unnecessary casts.
22309
22310 2009-05-10 Robert Millan <rmh.grub@aybabtu.com>
22311
22312 * util/i386/pc/grub-install.in: Update copyright year.
22313
22314 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
22315
22316 gptsync
22317
22318 * commands/gptsync.c: new file
22319 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
22320 (gptsync_mod_SOURCES): new variable
22321 (gptsync_mod_CFLAGS): likewise
22322 (gptsync_mod_LDFLAGS): likewise
22323 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
22324 new definition
22325 (GRUB_PC_PARTITION_TYPE_HFS): likewise
22326 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
22327 * conf/i386-ieee1275.rmk: likewise
22328 * conf/i386-pc.rmk: likewise
22329 * conf/powerpc-ieee1275.rmk: likewise
22330
22331 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
22332
22333 Fixed grub-emu
22334
22335 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
22336 (grub_dl_ref): likewise
22337
22338 2009-05-08 Robert Millan <rmh.grub@aybabtu.com>
22339
22340 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
22341 split in two functions (one for msdos and one for gpt).
22342
22343 2009-05-08 Pavel Roskin <proski@gnu.org>
22344
22345 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
22346 not modified.
22347
22348 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
22349 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
22350 Initialize them with -1. Add sanity check for bad1. Eliminate
22351 nerr variable.
22352
22353 2009-05-08 David S. Miller <davem@davemloft.net>
22354
22355 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
22356
22357 2009-05-06 Robert Millan <rmh.grub@aybabtu.com>
22358
22359 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
22360 existence.
22361
22362 2009-05-05 Felix Zielcke <fzielcke@z-51.de>
22363
22364 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
22365 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
22366
22367 2009-05-05 David S. Miller <davem@davemloft.net>
22368
22369 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
22370
22371 2009-05-05 Pavel Roskin <proski@gnu.org>
22372
22373 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
22374 of grub_dl_ref() and grub_dl_unref().
22375 * commands/parttool.c: Remove preprocessor conditionals around
22376 grub_dl_ref() and grub_dl_unref().
22377 * fs/affs.c: Likewise.
22378 * fs/afs.c: Likewise.
22379 * fs/cpio.c: Likewise.
22380 * fs/ext2.c: Likewise.
22381 * fs/fat.c: Likewise.
22382 * fs/hfs.c: Likewise.
22383 * fs/hfsplus.c: Likewise.
22384 * fs/iso9660.c: Likewise.
22385 * fs/jfs.c: Likewise.
22386 * fs/minix.c: Likewise.
22387 * fs/ntfs.c: Likewise.
22388 * fs/reiserfs.c: Likewise.
22389 * fs/sfs.c: Likewise.
22390 * fs/udf.c: Likewise.
22391 * fs/ufs.c: Likewise.
22392 * fs/xfs.c: Likewise.
22393 * include/grub/dl.h: Likewise.
22394 * loader/xnu.c: Likewise.
22395
22396 2009-05-04 Pavel Roskin <proski@gnu.org>
22397
22398 * commands/acpi.c: Remove unused variable my_mod.
22399 * partmap/amiga.c: Likewise.
22400 * partmap/apple.c: Likewise.
22401 * partmap/gpt.c: Likewise.
22402 * partmap/pc.c: Likewise.
22403 * partmap/sun.c: Likewise.
22404 * term/gfxterm.c: Likewise.
22405 * term/i386/pc/vesafb.c: Likewise.
22406 * term/i386/pc/vga.c: Likewise.
22407
22408 2009-05-04 David S. Miller <davem@davemloft.net>
22409
22410 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
22411 pointer args to grub_ieee1275_get_property().
22412
22413 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
22414
22415 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
22416 devices, and do not traverse down under controller nodes.
22417
22418 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
22419 (grub_ofdisk_open): Use it to un-escape "," characters.
22420 * kern/disk.c (find_part_sep): New.
22421 (grub_disk_open): Use it to find the first non-escaped ','
22422 character in the disk name.
22423 * util/ieee1275/devicemap.c (escape_of_path): New.
22424 (grub_util_emit_devicemap_entry): Use it.
22425 * util/sparc64/ieee1275/grub-install.in: Update script to
22426 strip partition specifiers properly by not triggering on
22427 '\' escaped ',' characters.
22428
22429 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
22430
22431 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
22432 to 0x300.
22433 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
22434 resolutions.
22435 (linux_vesafb_modes): Add a lot of additional modes to the list (based
22436 on documentation from Wikipedia).
22437
22438 2009-05-04 Pavel Roskin <proski@gnu.org>
22439
22440 * disk/ata.c: Spelling fixes.
22441 * disk/raid.c: Likewise.
22442 * disk/usbms.c: Likewise.
22443 * disk/dmraid_nvidia.c: Likewise.
22444 * kern/ieee1275/openfw.c: Likewise.
22445 * kern/ieee1275/init.c: Likewise.
22446 * kern/ieee1275/cmain.c: Likewise.
22447 * boot/i386/pc/cdboot.S: Likewise.
22448 * video/readers/png.c: Likewise.
22449 * video/i386/pc/vbe.c: Likewise.
22450 * fs/udf.c: Likewise.
22451 * fs/hfs.c: Likewise.
22452 * fs/reiserfs.c: Likewise.
22453 * efiemu/runtime/efiemu.c: Likewise.
22454 * efiemu/main.c: Likewise.
22455 * efiemu/mm.c: Likewise.
22456 * include/grub/elf.h: Likewise.
22457 * include/grub/xnu.h: Likewise.
22458 * include/grub/usbdesc.h: Likewise.
22459 * include/grub/usb.h: Likewise.
22460 * include/grub/script_sh.h: Likewise.
22461 * include/grub/lib/LzmaEnc.h: Likewise.
22462 * include/grub/efiemu/efiemu.h: Likewise.
22463 * include/grub/command.h: Likewise.
22464 * normal/menu.c: Likewise.
22465 * normal/main.c: Likewise.
22466 * normal/datetime.c: Likewise.
22467 * bus/usb/uhci.c: Likewise.
22468 * mmap/i386/uppermem.c: Likewise.
22469 * mmap/mmap.c: Likewise.
22470 * commands/acpi.c: Likewise.
22471 * commands/test.c: Likewise.
22472 * partmap/apple.c: Likewise.
22473 * font/font.c: Likewise.
22474 * loader/sparc64/ieee1275/linux.c: Likewise.
22475 * loader/macho.c: Likewise.
22476 * loader/i386/bsd_trampoline.S: Likewise.
22477 * loader/i386/bsd.c: Likewise.
22478 * loader/xnu.c: Likewise.
22479 * term/i386/pc/vesafb.c: Likewise.
22480 * term/usb_keyboard.c: Likewise.
22481 * util/resolve.c: Likewise.
22482 * util/getroot.c: Likewise.
22483
22484 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
22485
22486 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
22487
22488 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
22489
22490 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
22491 build error.
22492
22493 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
22494
22495 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
22496 parameter only available on BIOS.
22497
22498 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
22499
22500 Removed wrong semicolon in declaration
22501
22502 * grub/misc.h (grub_dprintf): remove semicolon
22503
22504 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
22505
22506 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
22507 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
22508 is done by grub_cmd_linux() now).
22509 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
22510 restore video to text mode.
22511 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
22512 indicates lack of "vga=" parameter. "vga=0" is mapped to
22513 `GRUB_LINUX_VID_MODE_NORMAL'.
22514
22515 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
22516
22517 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
22518 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
22519 and `normal/script.c'. Add `kern/rescue_reader.c',
22520 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
22521 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
22522 `grub_script.tab.c'.
22523
22524 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22525 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
22526 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22527 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
22528 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22529
22530 * Makefile.in: Remove duplicated 2008 in Copyright line.
22531
22532 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
22533
22534 * util/misc.c (grub_util_warn): New function. Emits a warning
22535 unconditionally.
22536 * include/grub/util/misc.h (grub_util_warn): New declaration.
22537
22538 * util/i386/pc/grub-install.in: Understand --force and pass it down
22539 to grub-setup.
22540
22541 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
22542 down to setup().
22543 (setup): Improve error messages and add warnings when requested to
22544 install in odd layouts. Refuse to install using blocklists unless
22545 --force was set.
22546
22547 2009-05-04 martin f. krafft <madduck@madduck.net>
22548
22549 * disk/raid.c (grub_raid_scan_device): Improve debug message.
22550
22551 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
22552
22553 Updated copyright year
22554
22555 * fs/hfsplus.c: updated copyright year
22556
22557 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
22558
22559 HFS+ UUID
22560
22561 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
22562 in the space previously used by unused3
22563 (grub_hfsplus_uuid): new function
22564 (grub_hfsplus_fs): added uuid field
22565
22566 2009-05-03 Pavel Roskin <proski@gnu.org>
22567
22568 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
22569 suppress warnings. It's no longer needed.
22570 * disk/host.c: Likewise.
22571 * disk/ata_pthru.c: Likewise.
22572 * disk/loopback.c: Likewise.
22573 * hook/datehook.c: Likewise.
22574 * parttool/pcpart.c: Likewise.
22575 * fs/i386/pc/pxe.c: Likewise.
22576 * fs/ntfscomp.c: Likewise.
22577 * efiemu/main.c: Likewise.
22578 * mmap/mmap.c: Likewise.
22579 * commands/crc.c: Likewise.
22580 * commands/hexdump.c: Likewise.
22581 * commands/hdparm.c: Likewise.
22582 * commands/acpi.c: Likewise.
22583 * commands/echo.c: Likewise.
22584 * commands/minicmd.c: Likewise.
22585 * commands/blocklist.c: Likewise.
22586 * commands/memrw.c: Likewise.
22587 * commands/loadenv.c: Likewise.
22588 * commands/usbtest.c: Likewise.
22589 * commands/lsmmap.c: Likewise.
22590 * commands/boot.c: Likewise.
22591 * commands/parttool.c: Likewise.
22592 * commands/configfile.c: Likewise.
22593 * commands/search.c: Likewise.
22594 * commands/ieee1275/suspend.c: Likewise.
22595 * commands/cat.c: Likewise.
22596 * commands/i386/pc/pxecmd.c: Likewise.
22597 * commands/i386/pc/play.c: Likewise.
22598 * commands/i386/pc/halt.c: Likewise.
22599 * commands/i386/pc/vbeinfo.c: Likewise.
22600 * commands/i386/pc/vbetest.c: Likewise.
22601 * commands/lspci.c: Likewise.
22602 * commands/date.c: Likewise.
22603 * commands/handler.c: Likewise.
22604 * commands/ls.c: Likewise.
22605 * commands/test.c: Likewise.
22606 * commands/cmp.c: Likewise.
22607 * commands/efi/loadbios.c: Likewise.
22608 * commands/efi/fixvideo.c: Likewise.
22609 * commands/halt.c: Likewise.
22610 * commands/help.c: Likewise.
22611 * commands/reboot.c: Likewise.
22612 * hello/hello.c: Likewise.
22613 * script/sh/main.c: Likewise.
22614 * loader/xnu.c: Likewise.
22615 * term/terminfo.c: Likewise.
22616 * term/i386/pc/serial.c: Likewise.
22617 * term/usb_keyboard.c: Likewise.
22618
22619 2009-05-03 David S. Miller <davem@davemloft.net>
22620
22621 * normal/menu.c: Include grub/parser.h
22622
22623 2009-05-03 Pavel Roskin <proski@gnu.org>
22624
22625 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
22626 not char*.
22627 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
22628 Suggested by Javier Martín <lordhabbit@gmail.com>
22629
22630 * util/i386/pc/grub-mkrescue.in: Allow for the case when
22631 efiemu??.o doesn't exist.
22632 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
22633 copying.
22634
22635 2009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
22636
22637 FreeBSD 64-bit support
22638
22639 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
22640 and loader/i386/bsd_trampoline.S
22641 (bsd_mod_ASFLAGS): new variable
22642 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
22643 (FREEBSD_MODTYPE_KERNEL64): likewise
22644 (grub_bsd64_trampoline_start): likewise
22645 (grub_bsd64_trampoline_end): likewise
22646 (grub_bsd64_trampoline_selfjump): likewise
22647 (grub_bsd64_trampoline_gdt): likewise
22648 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
22649 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
22650 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
22651 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
22652 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
22653 of "attrib" member
22654 * loader/i386/bsd_pagetable.c: new file
22655 * loader/i386/bsd_trampoline.S: likewise
22656 * loader/i386/bsd.c (ALIGN_QWORD): new macro
22657 (ALIGN_VAR): likewise
22658 (entry_hi): new variable
22659 (kern_end_mdofs): likewise
22660 (is_64bit): likewise
22661 (grub_freebsd_add_meta): use ALIGN_VAR
22662 (grub_e820_mmap): new declaration
22663 (grub_freebsd_add_mmap): new function
22664 (grub_freebsd_add_meta_module): support 64 bit kernels
22665 (grub_freebsd_list_modules): use ALIGN_VAR
22666 (gdt_descriptor): new declaration
22667 (grub_freebsd_boot): support 64 bit kernels
22668 (grub_bsd_elf64_hook): new function
22669 (grub_bsd_load_elf): support elf64
22670
22671 2009-05-03 Bean <bean123ch@gmail.com>
22672
22673 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
22674 after we get the result of if statement.
22675
22676 2009-05-03 Bean <bean123ch@gmail.com>
22677
22678 * Makefile.in (enable_efiemu): New variable.
22679
22680 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
22681 set.
22682 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
22683 path.
22684 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
22685 path, add -mno-red-zone option.
22686 (efiemu64_s.o): Likewise.
22687 (efiemu64.o): Use macro $^ for source file.
22688
22689 * configure.ac (--enable-efiemu): New option.
22690
22691 2009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
22692
22693 xnu support
22694
22695 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
22696 (pkglib_MODULES): add xnu.mod
22697 (xnu_mod_SOURCES): new variable
22698 (xnu_mod_CFLAGS): likewise
22699 (xnu_mod_LDFLAGS): likewise
22700 (xnu_mod_ASFLAGS): likewise
22701 * conf/i386-pc.rmk: likewise
22702 * conf/x86_64-efi.rmk: likewise
22703 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
22704 new declaration
22705 * include/grub/i386/macho.h: new file
22706 * include/grub/i386/xnu.h: likewise
22707 * include/grub/macho.h: likewise
22708 * include/grub/machoload.h: likewise
22709 * include/grub/x86_64/macho.h: likewise
22710 * include/grub/x86_64/xnu.h: likewise
22711 * include/grub/xnu.h: likewise
22712 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
22713 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
22714 * loader/i386/efi/xnu.c: new file
22715 * loader/i386/pc/xnu.c: likewise
22716 * loader/i386/xnu.c: likewise
22717 * loader/i386/xnu_helper.S: likewise
22718 * loader/macho.c: likewise
22719 * loader/xnu.c: likewise
22720 * loader/xnu_resume.c: likewise
22721 * util/grub-dumpdevtree: likewise
22722 * include/grub/i386/pit.h: include grub/err.h
22723 (grub_pit_wait): export
22724 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
22725
22726 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
22727
22728 Efiemu
22729
22730 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
22731 _linux_efi, linux_efi.
22732 new files in grub-emu
22733 new targets efiemu32.o and efiemu64.o
22734 * loader/linux_normal_efiemu.c: likewise
22735 * loader/i386/efi/linux.c: added preliminary efiemu support
22736 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
22737 files to copy
22738 * include/grub/autoefi.h: new file
22739 * include/grub/i386/efiemu.h: likewise
22740 * include/grub/i386/pc/efiemu.h: likewise
22741 * include/grub/efi/api.h: add LL suffix when necessary
22742 new definitions relating to tables
22743 * include/grub/efiemu/efiemu.h: new file
22744 * include/grub/efiemu/runtime.h: likewise
22745 * efiemu/prepare.c: likewise
22746 * efiemu/loadcore_common.c: likewise
22747 * efiemu/loadcore64.c: likewise
22748 * efiemu/runtime/efiemu.sh: likewise
22749 * efiemu/runtime/efiemu.S: likewise
22750 * efiemu/runtime/efiemu.c: likewise
22751 * efiemu/runtime/config.h: likewise
22752 * efiemu/prepare32.c: likewise
22753 * efiemu/main.c: likewise
22754 * efiemu/modules/pnvram.c: likewise
22755 * efiemu/modules/i386: likewise
22756 * efiemu/modules/i386/pc: likewise
22757 * efiemu/modules/acpi.c: likewise
22758 * efiemu/i386/pc/cfgtables.c: likewise
22759 * efiemu/i386/loadcore64.c: likewise
22760 * efiemu/i386/loadcore32.c: likewise
22761 * efiemu/prepare64.c: likewise
22762 * efiemu/loadcore.c: likewise
22763 * efiemu/symbols.c: likewise
22764 * efiemu/mm.c: likewise
22765 * efiemu/loadcore32.c: likewise
22766
22767 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
22768
22769 ACPI spoofing
22770
22771 * commands/acpi.c: new file
22772 * commands/i386/pc/acpi.c: likewise
22773 * commands/efi/acpi.c: likewise
22774 * include/grub/acpi.h: likewise
22775 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
22776 (acpi_mod_SOURCES): new variable
22777 (acpi_mod_CFLAGS): likewise
22778 (acpi_mod_LDFLAGS): likewise
22779 * conf/i386-efi.rmk: likewise
22780 * conf/x86_64-efi.rmk: likewise
22781
22782 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
22783
22784 Missing part from mmap patch
22785
22786 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
22787 (grub_mmap_unregister)
22788 (grub_mmap_free_and_unregister): use grub_mmap_register
22789
22790 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
22791
22792 Mmap services
22793
22794 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
22795 * loader/i386/linux.c (find_mmap_size): likewise
22796 (allocate_pages): likewise
22797 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
22798 (grub_fill_multiboot_mmap): likewise
22799 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
22800 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
22801 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
22802 (OPENBSD_MMAP_RESERVED): likewise
22803 * include/grub/i386/pc/memory.h: include grub/memory.h
22804 (grub_lower_mem): removed
22805 (grub_upper_mem): likewise
22806 (GRUB_MACHINE_MEMORY_ACPI): new definition
22807 (GRUB_MACHINE_MEMORY_NVS): likewise
22808 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
22809 (GRUB_MACHINE_MEMORY_HOLE): likewise
22810 (grub_machine_mmap_register): likewise
22811 (grub_machine_mmap_unregister): likewise
22812 (grub_machine_get_upper): likewise
22813 (grub_machine_get_lower): likewise
22814 (grub_machine_get_post64): likewise
22815 * include/grub/i386/efi/memory.h: new file
22816 * include/grub/x86_64/efi/memory.h: likewise
22817 * include/grub/efi/memory.h: likewise
22818 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
22819 (mmap_mod_SOURCES): new variable
22820 (mmap_mod_LDFLAGS): likewise
22821 (mmap_mod_ASFLAGS): likewise
22822 * conf/i386-coreboot.rmk: likewise
22823 * conf/i386-ieee1275.rmk: likewise
22824 * conf/i386-efi.rmk: likewise
22825 * conf/x86_64-efi.rmk: likewise
22826 * include/grub/types.h (UINT_TO_PTR): new macro
22827 (PTR_TO_UINT32): likewise
22828 (PTR_TO_UINT64): likewise
22829 * include/grub/memory.h: new file
22830 * mmap/i386/pc/mmap.c: likewise
22831 * mmap/i386/pc/mmap_helper.S: likewise
22832 * mmap/i386/uppermem.c: likewise
22833 * mmap/mmap.c: likewise
22834 * mmap/efi/mmap.c: likewise
22835 * kern/i386/coreboot/init.c (grub_machine_init): don't use
22836 grub_upper_mem
22837 * kern/i386/pc/init.c (grub_lower_mem): removed variable
22838 (grub_upper_mem): likewise
22839 (grub_machine_init): don't use grub_upper_mem,
22840 make grub_lower_mem local
22841 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
22842 grub_mmap_iterate and grub_mmap_get_upper
22843 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
22844
22845 2009-05-02 Bean <bean123ch@gmail.com>
22846
22847 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
22848 script/sh/parser.y.
22849 (pkglib_MODULES): Add normal.mod and sh.mod.
22850 (normal_SOURCES): New variable.
22851 (normal_mod_CFLAGS): Likewise.
22852 (normal_mod_LDFLAGS): Likewise.
22853 (sh_mod_SOURCES): Likewise.
22854 (sh_mod_CFLAGS): Likewise.
22855 (sh_mod_LDFLAGS): Likewise.
22856
22857 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
22858 script/sh/lexer.c_DEPENDENCIES.
22859 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
22860 kern/rescue_reader.c and kern/rescue_parser.c.
22861 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
22862 (grub_emu_SOURCES): Change source files.
22863 (pkglib_MODULES): Remove normal.mod.
22864 (normal_SOURCES): Removed.
22865 (normal_mod_CFLAGS): Likewise.
22866 (normal_mod_LDFLAGS): Likewise.
22867 * conf/i386-coreboot.rmk: Likewise.
22868 * conf/i386-efi.rmk: Likewise.
22869 * conf/i386-ieee1276.rmk: Likewise.
22870 * conf/powerpc-ieee1275.rmk: Likewise.
22871 * conf/sparc64-ieee1275.rmk: Likewise.
22872 * conf/x86_64-efi.rmk: Likewise.
22873
22874 * include/grub/command.h (grub_command_execute): New inline function.
22875
22876 * include/grub/menu.h (grub_menu_entry): Removed commands field.
22877
22878 * include/grub/normal.h: Remove <grub/setjmp.h>.
22879 (grub_fs_module_list): Moved to normal/autofs.c.
22880 (grub_exit_env): Removed.
22881 (grub_command_execute): Likewise.
22882 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
22883 parameter script.
22884 (read_command_list): New function declaration.
22885 (read_fs_list): Likewise.
22886
22887 * include/parser.h: Include <grub/reader.h>.
22888 (grub_parser_split_cmdline): Change type of getline parameter.
22889 (grub_parser): New structure.
22890 (grub_parser_class): New variable.
22891 (grub_parser_execute): New function declaration.
22892 (grub_register_rescue_parser): Likewise.
22893 (grub_parser_register): New inline function.
22894 (grub_parser_unregister): Likewise.
22895 (grub_parser_get_current): Likewise.
22896 (grub_parser_set_current): Likewise.
22897
22898 * include/grub/reader.h: New file.
22899 * kern/reader.c: Likewise.
22900 * kern/rescue_parser.c: Likewise.
22901 * kern/rescue_reader.c: Likewise.
22902 * normal/autofs.c: Likewise.
22903 * normal/dyncmd.c: Likewise.
22904
22905 * include/grub/rescue.h: Removed.
22906 * normal/command.h: Likewise.
22907
22908 * include/grub/script.h: Moved to ...
22909 * include/grub/script_sh.h: ... Moved here.
22910 * normal/execute.c: Moved to ...
22911 * script/sh/execute.c: ... Moved here.
22912 * normal/function.c: Moved to ...
22913 * script/sh/function.c: ... Moved here.
22914 * normal/lexer.c: Moved to ...
22915 * script/sh/lexer.c: ... Moved here.
22916 * normal/parser.y: Moved to ...
22917 * script/sh/parser.y: ... Moved here.
22918 * normal/script.c: Moved to ...
22919 * script/sh/script.c: ... Moved here.
22920
22921 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
22922 <grub/reader.h>.
22923 (grub_exit_env): Removed.
22924 (fs_module_list): Moved to normal/autofs.c.
22925 (grub_file_getline): Don't handle comment here.
22926 (free_menu): Skip removed field entry->commands.
22927 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
22928 script parameter.
22929 (read_config_file): Removed nested parameter, change getline function.
22930 (grub_enter_normal_mode): Removed.
22931 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
22932 (read_command_list): Likewise.
22933 (autoload_fs_module): Moved to normal/autofs.c.
22934 (read_fs_list): Likewise.
22935 (reader_nested): New variable.
22936 (grub_normal_execute): Run parser.sh to switch to sh parser.
22937 (grub_cmd_rescue): Removed.
22938 (cmd_normal): Removed.
22939 (grub_cmd_normal): Unregister itself at the beginning. Don't register
22940 rescue command.
22941 (grub_cmdline_run): New function.
22942 (grub_normal_reader_init): Likewise.
22943 (grub_normal_read_line): Likewise.
22944 (grub_env_write_pager): Likewise.
22945 (cmdline): New variable.
22946 (grub_normal_reader): Likewise.
22947 (GRUB_MOD_INIT): Register normal reader and set as current, register
22948 pager hook, register normal command with grub_register_command_prio,
22949 so that it won't show up in command.lst.
22950 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
22951 grub_fs_autoload_hook.
22952
22953 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
22954 (grub_menu_execute_entry): Replace grub_script_execute with
22955 grub_parser_execute, change parameter to grub_command_execute.
22956
22957 * normal/menu_text.c: Remove <grub/script.h>.
22958
22959 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
22960 and <grub/parser.h>.
22961 (run): Change editor_getline to use new parser interface. Change
22962 parameter to grub_command_execute.
22963
22964 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
22965 <grub/reader.h> and <grub/parser.h>.
22966 (grub_load_normal_mode): Execute normal command.
22967 (grub_main): Call grub_register_core_commands,
22968 grub_register_rescue_parser and grub_register_rescue_reader, use
22969 grub_reader_loop to enter input loop.
22970
22971 * kern/parser.c (grub_parser_split_cmdline): Change type of
22972 getline parameter.
22973 (grub_parser_class): New variable.
22974 (grub_parser_execute): New function.
22975
22976 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
22977 * loader/multiboot2.c: Likewise.
22978 * loader/sparc64/ieee1275/linux.c: Likewise.
22979
22980 * util/grub-emu.c (read_command_list): New dummy function.
22981
22982 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
22983
22984 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
22985 count to 16 for CCISS and IDA.
22986
22987 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
22988
22989 * normal/menu_text.c (grub_wait_after_message): Print a newline
22990 after waiting for user input.
22991
22992 * loader/i386/linux.c: Include `<grub/normal.h>'.
22993 (grub_cmd_linux): Improve the error message about `ask' mode, by
22994 waiting for user input so it's not missed (we can do this, since
22995 user requested interaction).
22996
22997 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
22998
22999 Added missing lst to grub-mkrescue
23000
23001 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
23002 and ${input_dir}/parttool.lst
23003
23004 2009-04-30 David S. Miller <davem@davemloft.net>
23005
23006 * util/hostdisk.c (device_is_wholedisk): New function.
23007 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
23008 zero only if device_is_wholedisk() returns true.
23009
23010 * util/hostdisk.c (convert_system_partition_to_system_disk):
23011 Handle virtual disk devices named /dev/vdiskX as found on sparc
23012 and powerpc.
23013
23014 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
23015 lettered partition specifier is found, convert to numbered.
23016
23017 2009-04-29 David S. Miller <davem@davemloft.net>
23018
23019 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
23020 * include/grub/sparc64/ieee1275/memory.h: Likewise.
23021
23022 * normal/command.c: Add missing newline at end of file.
23023
23024 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
23025 warnings.
23026 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
23027 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
23028 grub_ofdisk_read): Likewise, and deal similarly with the fact that
23029 ihandles have a 32-bit type but need to be stored in a "void *".
23030
23031 2009-04-28 Pavel Roskin <proski@gnu.org>
23032
23033 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
23034 not disk. Adjust all dependencies.
23035 (grub_fs_uuid_close): Use grub_device_close(), not
23036 grub_disk_close().
23037
23038 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
23039 parent's partition, don't copy it by reference, as it gets freed
23040 on close.
23041
23042 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
23043
23044 Preboot hooks support
23045
23046 * commands/boot.c (struct grub_preboot_t): new declaration
23047 (preboots_head): new variable
23048 (preboots_tail): likewise
23049 (grub_loader_register_preboot_hook): new function
23050 (grub_loader_unregister_preboot_hook): likewise
23051 (grub_loader_set): launch preboot hooks
23052 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
23053 (grub_loader_register_preboot_hook): new declaration
23054 (grub_loader_unregister_preboot_hook): likewise
23055
23056 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
23057
23058 Warning fix
23059
23060 * disk/scsi.c (grub_scsi_open): added missing cast when
23061 calling grub_dprintf
23062
23063 2009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
23064
23065 Bug and warning fixes
23066
23067 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
23068 declaration
23069 * commands/test.c (test_parse): fixed bug with file tests and corrected
23070 declaration of find_file
23071
23072 2009-04-26 Pavel Roskin <proski@gnu.org>
23073
23074 * Makefile.in: Don't install empty manual pages if help2man is
23075 missing. Use help2man option for output, not shell redirection.
23076
23077 2009-04-26 David S. Miller <davem@davemloft.net>
23078
23079 * util/grub-mkdevicemap.c (make_device_map): Add missing
23080 NESTED_FUNC_ATTR to process_device().
23081
23082 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
23083
23084 Test command
23085
23086 * commands/test.c: rewritten to use bash-like test
23087
23088 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
23089
23090 Parttool autoloading and improvements
23091
23092 * Makefile.in (pkglib_DATA): add parttool.lst
23093 (parttool.lst): new target
23094 * genmk.rb: generate parttool-*
23095 (CLEANFILES): add #{parttool}
23096 (PARTTOOLFILES): new variable
23097 * genparttoollist.sh: new file
23098 * parttool/pcpart.c (grub_pcpart_boot): more feedback
23099 (grub_pcpart_type): likewise
23100 * commands/parttool.c (helpmsg): new variable
23101 (grub_cmd_parttool): output help if not enough arguments are supplied
23102 autoload modules
23103 (GRUB_MOD_INIT(parttool)): use helpmsg
23104
23105 2009-04-24 David S. Miller <davem@davemloft.net>
23106
23107 Avoiding opening same device multiple times in device iterator.
23108
23109 * kern/device.c: (grub_device_iterate): Define struct part_ent,
23110 and use it to build a list of partitions in iterate_disk() and
23111 iterate_partition().
23112
23113 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
23114 on disk->data.
23115
23116 * disk/ieee1275/nand.c (grub_nand_iterate): Return
23117 grub_devalias_iterate() result instead of unconditional 0.
23118 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
23119 Also, capture hook return value, either directly or via
23120 grub_children_iterate(), and propagate to caller.
23121 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
23122 grub_children_iterate): Return value is now 'int' instead of
23123 'grub_err_t'.
23124 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
23125 like a proper iterator, stopping when hooks return non-zero.
23126 (grub_devalias_iterate): Likewise.
23127
23128 2009-04-23 David S. Miller <davem@davemloft.net>
23129
23130 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
23131
23132 2009-04-22 David S. Miller <davem@davemloft.net>
23133
23134 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
23135 is larger than address_cells, use that value for address_cells too.
23136
23137 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
23138 IEEE1275_MAX_PATH_LEN): Define.
23139 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
23140 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
23141 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
23142 'devtype'. Explicitly NULL terminate devalias expansion.
23143
23144 * util/sparc64/ieee1275/misc.c: New file.
23145 * util/sparc64/ieee1275/grub-setup.c: New file.
23146 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
23147 * util/sparc64/ieee1275/grub-mkimage.c: New file.
23148 * util/sparc64/ieee1275/grub-install.in: New file.
23149 * util/ieee1275/ofpath.c: New file.
23150 * util/ieee1275/devicemap.c: New file.
23151 * util/devicemap.c: New file.
23152 * util/deviceiter.c: New file.
23153 * kern/sparc64/ieee1275/init.c: New file.
23154 * include/grub/util/ofpath.h: New file.
23155 * include/grub/util/deviceiter.h: New file.
23156 * util/grub-mkdevicemap.c: Include deviceiter.h.
23157 Implement using grub_util_emit_devicemap_entry and
23158 grub_util_iterate_devices.
23159 * conf/i386-corebook.rmk: Build util/deviceiter.c and
23160 util/devicemap.c into grub-mkdevicemap
23161 * conf/i386-efi.rmk: Likewise.
23162 * conf/i386-ieee1275.rmk: Likewise.
23163 * conf/i386-pc.rmk: Likewise.
23164 * conf/powerpc-ieee1275.rmk: Likewise.
23165 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
23166 images and installation utilities. Build kernel as image
23167 instead of as elf binary. Use common rules as much as possible.
23168
23169 2009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
23170
23171 Correct GPT definition
23172
23173 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
23174 of "attrib" member
23175
23176 2009-04-19 Felix Zielcke <fzielcke@z-51.de>
23177
23178 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
23179
23180 2009-04-19 David S. Miller <davem@davemloft.net>
23181
23182 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
23183 (grub_rescue_cmd_linux): Rename to...
23184 (grub_cmd_linux): and fix prototype.
23185 (grub_rescue_cmd_initrd): Rename to...
23186 (grub_cmd_initrd): and fix prototype.
23187 (cmd_linux, cmd_initrd): New.
23188 (GRUB_MOD_INIT(linux)): Use grub_register_command().
23189 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
23190
23191 2009-04-17 Pavel Roskin <proski@gnu.org>
23192
23193 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
23194 format.
23195 (grub_ohci_transfer): Likewise.
23196
23197 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
23198
23199 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
23200 return without a value. Fix inconsistent indentation.
23201
23202 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
23203 match struct grub_fs.
23204
23205 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
23206 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
23207 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
23208 * commands/lspci.c (grub_lspci_iter): Likewise.
23209
23210 2009-04-16 Bean <bean123ch@gmail.com>
23211
23212 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
23213 value.
23214
23215 2009-04-15 Pavel Roskin <proski@gnu.org>
23216
23217 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
23218 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
23219 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
23220 definitions.
23221
23222 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
23223
23224 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
23225 that no multiple data or metadata areas are supported and `Unknown
23226 metadata header'.
23227
23228 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
23229
23230 Move loader out of the kernel
23231
23232 * kern/loader.c: moved to ...
23233 * commands/boot.c: ... moved here
23234 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
23235 * commands/boot.c (grub_cmd_boot): moved here. All users updated
23236 * include/grub/kernel.h (grub_machine_fini): export
23237 * include/grub/loader.h (grub_loader_is_loaded): update declaration
23238 (grub_loader_set): likewise
23239 (grub_loader_unset): likewise
23240 (grub_loader_boot): likewise
23241 * conf/common.rmk: new module boot.mod
23242 (pkglib_MODULES): add boot.mod
23243 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
23244 (grub_emu_SOURCES): likewise
23245 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
23246 (grub_emu_SOURCES): likewise
23247 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
23248 (grub_emu_SOURCES): likewise
23249 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
23250 (grub_emu_SOURCES): likewise
23251 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
23252 (grub_emu_SOURCES): likewise
23253 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
23254 (grub_emu_SOURCES): likewise
23255 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
23256 (grub_emu_SOURCES): likewise
23257
23258 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
23259
23260 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
23261
23262 * kern/misc.c (grub_itoa): Removed function
23263 (grub_ltoa): likewise
23264 (grub_vsprintf): use grub_lltoa
23265
23266 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
23267
23268 Restore grub-emu
23269
23270 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
23271 * conf/i386-coreboot.rmk: likewise
23272 * conf/i386-ieee1275.rmk: likewise
23273 * conf/powerpc-ieee1275.rmk: likewise
23274
23275 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
23276
23277 * INSTALL: Add that `./autogen.sh' needs to be run before
23278 `./configure.'.
23279
23280 2009-04-14 Bean <bean123ch@gmail.com>
23281
23282 * Makefile.in (pkglib_DATA): Add handler.lst.
23283 (handler.lst): New rule.
23284
23285 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
23286 * conf/i386-coreboot.rmk: Likewise.
23287 * conf/i386-ieee1275.rmk: Likewise.
23288 * conf/i386-efi.rmk: Likewise.
23289 * conf/x86_64-efi.rmk: Likewise.
23290 * conf/powerpc-ieee1275.rmk: Likewise.
23291 * conf/sparc64-ieee1275.rmk: Likewise.
23292
23293 * genhandlerlist.sh: New file.
23294
23295 * genmk.rb: Add rules to generate handler.lst.
23296
23297 * include/grub/normal.h (grub_file_getline): New function definition.
23298 (read_handler_list): Likewise.
23299 (free_handler_list): Likewise.
23300
23301 * include/grub/term.h (grub_term_register_input): Add name parameter
23302 for auto generation of handler.lst.
23303 (grub_term_register_output): Likewise.
23304
23305 * normal/handler.c: New file.
23306
23307 * normal/main.c (get_line): Renamed to grub_file_getline.
23308 (read_config_file): Use the newly renamed grub_file_getline.
23309 (read_command_list): Likewise.
23310 (read_fs_list): Likewise.
23311 (grub_normal_execute): Call read_handler_list to parse handler.lst.
23312 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
23313
23314 * term/efi/console.c (grub_console_init): Add name parameter for auto
23315 generation of handler.lst.
23316 * term/gfxterm.c: Likewise.
23317 * term/i386/pc/at_keyboard.c: Likewise.
23318 * term/i386/pc/console.c: Likewise.
23319 * term/i386/pc/serial.c: Likewise.
23320 * term/i386/pc/vesafb.c: Likewise.
23321 * term/i386/pc/vga.c: Likewise.
23322 * term/i386/pc/vga_text.c: Likewise.
23323 * term/ieee1275/ofconsole.c: Likewise.
23324 * term/usb_keyboard.c: Likewise.
23325
23326 2009-04-14 Bean <bean123ch@gmail.com>
23327
23328 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
23329 properly with null character.
23330
23331 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
23332
23333 * configure: Remove.
23334 * config.h.in: Likewise.
23335 * stamp-h.in: Likewise.
23336 * DISTLIST: Likewise.
23337 * conf/common.mk: Likewise.
23338 * conf/i386-coreboot.mk: Likewise.
23339 * conf/i386-efi.mk: Likewise.
23340 * conf/i386-ieee1275.mk: Likewise.
23341 * conf/i386.mk: Likewise.
23342 * conf/i386-pc.mk: Likewise.
23343 * conf/powerpc-ieee1275.mk: Likewise.
23344 * conf/sparc64-ieee1275.mk: Likewise.
23345 * conf/x86_64-efi.mk: Likewise.
23346
23347 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
23348 develop on GRUB.
23349
23350 2009-04-14 John Stanley <jpsinthemix@verizon.net>
23351 David S. Miller <davem@davemloft.net>
23352
23353 * util/hostdisk.c (make_device_name): Fix buffer length
23354 calculations.
23355
23356 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
23357
23358 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
23359 <sys/param.h> and <sys/sysctl.h>.
23360 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
23361 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
23362 opening the device and reset them afterwards.
23363
23364 2009-04-13 Pavel Roskin <proski@gnu.org>
23365
23366 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
23367 Reported by John Stanley <jpsinthemix@verizon.net>
23368
23369 2009-04-13 Robert Millan <rmh@aybabtu.com>
23370
23371 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
23372 that name for menuentries when appropriate.
23373
23374 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
23375
23376 * util/grub.d/10_freebsd.in: Add a missing `fi'.
23377
23378 2009-04-13 Robert Millan <rmh@aybabtu.com>
23379
23380 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
23381 to Linux, simply abort telling the user it's no longer supported.
23382
23383 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
23384
23385 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
23386 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
23387 `freebsd_loadenv' only when devices.hints exist.
23388
23389 2009-04-13 Pavel Roskin <proski@gnu.org>
23390
23391 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
23392
23393 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
23394
23395 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
23396 partition number.
23397 (grub_drive): Likewise.
23398
23399 2009-04-13 David S. Miller <davem@davemloft.net>
23400
23401 * kern/sparc64/ieee1275/ieee1275.c: New file.
23402 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
23403 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
23404 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
23405 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
23406 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
23407 grub_ieee1275_alloc_physmem): Declare new exported functions.
23408
23409 * include/grub/sparc64/ieee1275/loader.h: New file.
23410 * include/grub/sparc64/ieee1275/memory.h: Likewise.
23411 * include/grub/sparc64/kernel.h: Likewise.
23412 * loader/sparc64/ieee1275/linux.c: Likewise.
23413
23414 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
23415 (grub_fstest_SOURCES): Likewise.
23416
23417 * util/hostdisk.c (make_device_name): Do not make any assumptions
23418 about the length of drive names.
23419
23420 * kern/dl.c (grub_dl_load_file): Close file immediately when
23421 we are done using it.
23422
23423 2009-04-12 David S. Miller <davem@davemloft.net>
23424
23425 * kern/misc.c (grub_ltoa): Fix cast when handling negative
23426 values. Noticed by Pavel Roskin.
23427
23428 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
23429 target compiler.
23430
23431 * genmk.rb: Add more flexible image type specification, also
23432 pass --strip-unneeded to objcopy.
23433 * conf/i386-pc.rmk: Use *_FORMAT.
23434 * conf/i386-pc.mk: Rebuilt.
23435
23436 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
23437 (OFDISK_HASH_SZ): Define.
23438 (ofdisk_hash): New hash table.
23439 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
23440 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
23441 instead of device phandle which is not unique.
23442
23443 * kern/sparc64/ieee1275/init.c: Delete, replace with...
23444 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
23445 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
23446 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
23447 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
23448 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
23449 GRUB_KERNEL_MACHINE_DATA_END): Define.
23450 (grub_kernel_image_size, grub_total_module_size): Declare.
23451
23452 2009-04-12 Pavel Roskin <proski@gnu.org>
23453
23454 * configure.ac: Change the logic when we check for target tools.
23455 Do it when the target is specified and it's different from the
23456 specified value of the host.
23457
23458 2009-04-11 Felix Zielcke <fzielcke@z-51.de>
23459
23460 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
23461 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
23462 GNU/kFreeBSD. Check if a device is a character device. Use
23463 DIOCGMEDIASIZE to get the size.
23464 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
23465 support for GNU/kFreeBSD.
23466 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
23467 is a character device instead of a block device. Add support for
23468 FreeBSD device names.
23469
23470 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
23471 is a character device instead of a block device.
23472
23473 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
23474 is a character device instead of a block device.
23475
23476 2009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
23477
23478 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
23479 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
23480 FreeBSD. Check if a device is a character device. Use
23481 DIOCGMEDIASIZE to get the size.
23482 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
23483 support for FreeBSD.
23484 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
23485 is a character device instead of a block device. Add support for
23486 FreeBSD device names.
23487
23488 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
23489 a character device instead of a block device.
23490 (grub_util_check_char_device): New function.
23491
23492 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
23493 a character device instead of a block device.
23494
23495 * include/grub/util/getroot.h (grub_util_check_char_device): New
23496 prototype.
23497
23498 2009-04-11 David S. Miller <davem@davemloft.net>
23499
23500 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
23501 static libgcc.
23502 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
23503 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
23504 function, if present.
23505 (__bswapdi2): Likewise.
23506
23507 * include/grub/sparc64/ieee1275/boot.h: New file.
23508 * boot/sparc64/ieee1275/boot.S: Likewise.
23509 * boot/sparc64/ieee1275/diskboot.S: Likewise.
23510
23511 * kern/misc.c (grub_ltoa): New function.
23512 (grub_vsprintf): Use it to format 'long' integers.
23513
23514 2009-04-10 David S. Miller <davem@davemloft.net>
23515
23516 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
23517 slots are of type grub_ieee1275_cell_t.
23518 (grub_nand_read): Likewise.
23519 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
23520 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
23521 macros are used to compare values in arg/ret block of the call.
23522 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
23523 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
23524 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
23525 grub_ieee1275_instance_to_path, grub_ieee1275_write,
23526 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
23527 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
23528 grub_ieee1275_close, grub_ieee1275_set_property,
23529 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
23530 grub_ieee1275_cell_t.
23531 * kern/ieee1275/openfw.c (grub_map): Likewise.
23532 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
23533 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
23534
23535 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
23536 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
23537 (grub_devalias_iterate): Likewise.
23538
23539 2009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
23540
23541 UFS improvements
23542
23543 * fs/ufs.c (INODE_NBLOCKS): new definition
23544 (struct grub_ufs_dirent): added fields for non-BSD dirents
23545 (grub_ufs_get_file_block): fixed double indirect handling
23546 (grub_ufs_lookup_symlink): use more robust way to determine whether
23547 symlink is inline
23548 (grub_ufs_find_file): support for non-BSD dirents
23549 (grub_ufs_dir): support for non-BSD dirents
23550
23551 2009-04-10 Bean <bean123ch@gnail.com>
23552
23553 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
23554 attribute, otherwise the size would be wrong for i386 platform.
23555
23556 * include/grub/pci.h (grub_pci_read_word): New inline function.
23557 (grub_pci_read_byte): Likewise.
23558 (grub_pci_write): Likewise.
23559 (grub_pci_write_word): Likewise.
23560 (grub_pci_write_byte): Likewise.
23561
23562 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
23563
23564 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
23565 (find_framebuf): Scan pci to locate the frame buffer address.
23566
23567 * commands/efi/fixvideo.c: New file.
23568
23569 * commands/efi/loadbios.c: Likewise.
23570
23571 * commands/memrw.c: Likewise.
23572
23573 * util/grub-dumpbios.in: Likewise.
23574
23575 * conf/common.rmk (grub-dumpbios): New utility.
23576 (pkglib_MODULES): New module memrw.mod.
23577 (memrw_mod_SOURCE): New macro.
23578 (memrw_mod_CFLAGS): Likewise.
23579 (memrw_mod_LDFLAGS): Likewise.
23580
23581 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
23582 fixvideo.mod.
23583 (loadbios_mod_SOURCE): New macro.
23584 (loadbios_mod_CFLAGS): Likewise.
23585 (loadbios_mod_LDFLAGS): Likewise.
23586 (fixvideo_mod_SOURCE): Likewise.
23587 (fixvideo_mod_CFLAGS): Likewise.
23588 (fixvideo_mod_LDFLAGS): Likewise.
23589
23590 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
23591 fixvideo.mod.
23592 (loadbios_mod_SOURCE): New macro.
23593 (loadbios_mod_CFLAGS): Likewise.
23594 (loadbios_mod_LDFLAGS): Likewise.
23595 (fixvideo_mod_SOURCE): Likewise.
23596 (fixvideo_mod_CFLAGS): Likewise.
23597 (fixvideo_mod_LDFLAGS): Likewise.
23598
23599 2009-04-08 Felix Zielcke <fzielcke@z-51.de>
23600
23601 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
23602
23603 2009-04-07 David S. Miller <davem@davemloft.net>
23604
23605 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
23606 support for R_SPARC_OLO10 relocations. Fix compile warning for
23607 R_SPARC_WDISP30 case.
23608 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
23609
23610 2009-04-06 Pavel Roskin <proski@gnu.org>
23611
23612 * include/grub/misc.h (ARRAY_SIZE): New macro.
23613 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
23614 New macro.
23615 * loader/i386/linux.c (allocate_pages): Use free_pages().
23616 (grub_linux_unload): Don't use free_pages().
23617 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
23618 wrong index. Treat all other modes as text modes.
23619 (grub_cmd_linux): Initialize vid_mode unconditionally to
23620 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
23621
23622 * commands/help.c (print_command_help): Use cmd->prio, not
23623 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
23624
23625 2009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
23626
23627 Parttool
23628
23629 * parttool/pcpart.c: new file
23630 * commands/parttool.c: likewise
23631 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
23632 (parttool_mod_SOURCES): new variable
23633 (parttool_mod_CFLAGS): likewise
23634 (parttool_mod_LDFLAGS): likewise
23635 (pcpart_mod_SOURCES): likewise
23636 (pcpart_mod_CFLAGS): likewise
23637 (pcpart_mod_LDFLAGS): likewise
23638 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
23639 and parttool/pcpart.c
23640 * conf/i386-efi.rmk: likewise
23641 * conf/i386-ieee1275.rmk: likewise
23642 * conf/i386-pc.rmk: likewise
23643 * conf/powerpc-ieee1275.rmk: likewise
23644 * conf/sparc64-ieee1275.rmk: likewise
23645 * conf/x86_64-ieee1275.rmk: likewise
23646
23647 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
23648
23649 Support for mtime and further expandability of dir command
23650
23651 * include/grub/lib/datetime.h: moved to ...
23652 * include/grub/datetime.h: ... moved here and added
23653 declaration of grub_unixtime2datetime. All users updated
23654 * include/grub/fs.h: new syntax for dir and mtime functions in
23655 struct grub_fs
23656 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
23657 and GRUB_FSHELP_FLAGS_MASK
23658 * commands/ls.c (grub_ls_list_files): Write mtime in long format
23659 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
23660 (grub_ext2_mtime): new function
23661 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
23662 (grub_hfsplus_mtime): new function
23663 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
23664 (GRUB_UFS_ATTR_FILE): likewise
23665 (GRUB_UFS_ATTR_LNK): likewise
23666 (struct grub_ufs_sblock): new fields mtime
23667 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
23668 all users updated
23669 (grub_ufs_dir): mtime support
23670 (grub_ufs_mtime): new function
23671 * fs/affs.c (grub_affs_dir): use new dir syntax
23672 * fs/afs.c (grub_afs_dir): likewise
23673 * fs/cpio.c (grub_cpio_dir): likewise
23674 * fs/fat.c (grub_fat_find_dir): likewise
23675 * fs/hfs.c (grub_hfs_dir): likewise
23676 * fs/iso9660.c (grub_iso9660_dir): likewise
23677 * fs/jfs.c (grub_jfs_dir): likewise
23678 * fs/minix.c (grub_minix_dir): likewise
23679 * fs/ntfs.c (grub_ntfs_dir): likewise
23680 * fs/reiserfs.c (grub_reiserfs_dir): likewise
23681 * fs/sfs.c (grub_sfs_dir): likewise
23682 * fs/xfs.c (grub_xfs_dir): likewise
23683 * util/hostfs.c (grub_hostfs_dir): likewise
23684 * lib/datetime.c: moved to ...
23685 * normal/datetime.c: ... moved here
23686 (grub_unixtime2datetime): new function
23687 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
23688 * normal/completion.c (iterate_dir): use new dir syntax
23689 * normal/misc.c (grub_normal_print_device_info): tell the
23690 last modification time of a volume
23691 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
23692 * conf/common.rmk: added lib/datetime.c to ls.mod
23693 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
23694 (normal_mod_SOURCES): likewise
23695 (datetime_mod_SOURCES): Removed lib/datetime.c
23696 * conf/i386-efi.rmk: likewise
23697 * conf/i386-ieee1275.rmk: likewise
23698 * conf/i386-pc.rmk: likewise
23699 * conf/powerpc-ieee1275.rmk: likewise
23700 * conf/sparc64-ieee1275.rmk: likewise
23701 * conf/x86_64-efi.rmk: likewise
23702
23703 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
23704
23705 Trim trailing spaces in FAT label and support mtools-like labels
23706
23707 * fs/fat.c (grub_fat_iterate_dir): New function based
23708 on grub_fat_find_dir
23709 (grub_fat_find_dir): use grub_fat_iterate_dir
23710 (grub_fat_label): likewise
23711
23712 2009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
23713
23714 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
23715 and command.h
23716 remove extraneous kernel_elf_HEADERS
23717
23718 2009-04-04 Bean <bean123ch@gnail.com>
23719
23720 * include/grub/util/misc.h: Add dummy function fsync for mingw.
23721
23722 * util/misc.c: Likewise.
23723
23724 2009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
23725
23726 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
23727 instead of grub_printf.
23728
23729 2009-04-03 Robert Millan <rmh@aybabtu.com>
23730
23731 * loader/i386/linux.c (grub_linux_setup_video): Fill
23732 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
23733 values from `mode info' structure instead of hardcoded
23734 values.
23735
23736 2009-04-01 Pavel Roskin <proski@gnu.org>
23737
23738 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
23739 unused now.
23740 * genmk.rb: Likewise.
23741 * configure.ac: Likewise.
23742
23743 2009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
23744
23745 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
23746 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
23747
23748 2009-04-01 David S. Miller <davem@davemloft.net>
23749
23750 * normal/sparc64/setjmp.S: Fix setjmp implementation.
23751 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
23752 (grub_setjmp): Mark with 'returns_twice' attribute.
23753 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
23754 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
23755 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
23756
23757 2009-04-01 Robert Millan <rmh@aybabtu.com>
23758
23759 Reapply fix from 2008-07-28 which was accidentally reverted; also
23760 perform the same fix to a similar check in same function.
23761
23762 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
23763 with the same number are found, just use issue a warning with
23764 grub_dprintf(), as this error has been reported to be non-fatal.
23765
23766 2009-03-31 Pavel Roskin <proski@gnu.org>
23767
23768 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
23769 for cross-compilation.
23770
23771 2009-03-30 Robert Millan <rmh@aybabtu.com>
23772
23773 Fix i386-ieee1275 build.
23774
23775 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
23776 Remove declaration.
23777
23778 2009-03-30 Pavel Roskin <proski@gnu.org>
23779
23780 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
23781 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
23782 zero-terminated, rely only on the strlen value. Fix comparison
23783 of strings differing in length.
23784
23785 2009-03-30 Robert Millan <rmh@aybabtu.com>
23786
23787 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
23788 checking for abi version. Improve error messages on BIOS to notify
23789 user about `linux16' command.
23790
23791 2009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
23792
23793 Leak fixes
23794
23795 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
23796 in case of collision
23797 * disk/scsi.c (grub_scsi_open): free scsi in case of error
23798
23799 2009-03-29 Robert Millan <rmh@aybabtu.com>
23800
23801 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
23802 set `vid_mode' accordingly.
23803 (grub_linux_boot): Process `vid_mode' and set video mode.
23804
23805 2009-03-29 Robert Millan <rmh@aybabtu.com>
23806
23807 * util/grub.d/10_linux.in (linux_entry): New function.
23808 Factorize generation of Linux boot entries.
23809
23810 2009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
23811
23812 Make the format of Environment Block plain text. The boot loader
23813 part is not tested well yet.
23814
23815 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
23816 (buffer): Removed.
23817 (envblk): Likewise.
23818 (usage): Remove "info" and "clear". Add "unset". Update the
23819 description of "set", as this does not delete variables any
23820 longer.
23821 (create_envblk_file): Complete rewrite.
23822 (open_envblk_file): Likewise.
23823 (cmd_info): Removed.
23824 (cmd_list): Likewise.
23825 (cmd_set): Likewise.
23826 (cmd_clear): Likewise.
23827 (list_variables): New function.
23828 (write_envblk): Likewise.
23829 (set_variables): Likewise.
23830 (unset_variables): Likewise.
23831 (main): Complete rewrite.
23832
23833 * commands/loadenv.c (buffer): Removed.
23834 (envblk): Likewise.
23835 (open_envblk_file): New function.
23836 (read_envblk_file): Complete rewrite.
23837 (grub_cmd_load_env): Likewise.
23838 (grub_cmd_list_env): Likewise.
23839 (struct blocklist): New struct.
23840 (free_blocklists): New function.
23841 (check_blocklists): Likewise.
23842 (write_blocklists): Likewise.
23843 (grub_cmd_save_env): Complete rewrite.
23844
23845 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
23846 a plain text signature.
23847 (GRUB_ENVBLK_MAXLEN): Removed.
23848 (struct grub_envblk): Complete rewrite.
23849 (grub_envblk_find): Removed.
23850 (grub_envblk_insert): Likewise.
23851 (grub_envblk_open): New prototype.
23852 (grub_envblk_set): Likewise.
23853 (grub_envblk_delete): Put const to VALUE.
23854 (grub_envblk_iterate): Put const to NAME and VALUE.
23855 (grub_envblk_close): New prototype.
23856 (grub_envblk_buffer): New inline function.
23857 (grub_envblk_size): Likewise.
23858
23859 * lib/envblk.c: Include grub/mm.h.
23860 (grub_env_find): Removed.
23861 (grub_envblk_open): New function.
23862 (grub_envblk_close): Likewise.
23863 (escaped_value_len): Likewise.
23864 (find_next_line): Likewise.
23865 (grub_envblk_insert): Removed.
23866 (grub_envblk_set): New function.
23867 (grub_envblk_delete): Complete rewrite.
23868 (grub_envblk_iterate): Likewise.
23869
23870 2009-03-28 Robert Millan <rmh@aybabtu.com>
23871
23872 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
23873 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
23874 variables. Use 16-bit loader.
23875 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
23876 loader.
23877 * kern/i386/loader.S (grub_linux_boot): Rename to ...
23878 (grub_linux16_boot): ... this. Update all users.
23879 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
23880 (grub_linux_boot): ... this. Update all users.
23881
23882 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
23883 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
23884 commands to `linux16' and `initrd16'.
23885 (GRUB_MOD_FINI(linux)): Rename to ...
23886 (GRUB_MOD_FINI(linux16)): ... this.
23887
23888 2009-03-24 Pavel Roskin <proski@gnu.org>
23889
23890 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
23891 not just for compilation.
23892
23893 2009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
23894
23895 Move multiboot helper out of kernel
23896
23897 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
23898 `loader/i386/multiboot_helper.S'.
23899 * conf/i386-coreboot.rmk: Likewise
23900 * conf/i386-ieee1275.rmk: Likewise
23901
23902 * kern/i386/loader.S: Move multiboot helpers from here...
23903 * loader/i386/multiboot_helper.S: ...moved here
23904 * include/grub/i386/loader.h: Move declarations of multiboot
23905 helpers from here...
23906 * include/grub/i386/multiboot.h: ...moved here
23907 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
23908
23909 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
23910
23911 * kern/env.c (grub_env_context_open): Added an argument to specify
23912 whether a new context inherits exported variables from current
23913 one. This is useful when making a sandbox to interpret a config
23914 file.
23915 All callers updated.
23916
23917 * include/grub/env.h (grub_env_context_open): Updated the prototype.
23918
23919 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
23920
23921 * kern/env.c (grub_env_context_close): Fix memory leaks.
23922
23923 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
23924
23925 * normal/main.c (grub_normal_execute): Added an argument
23926 BATCH to specify if an interactive interface should be provided
23927 after reading a config file.
23928 All callers updated.
23929 (read_command_list): Prevent being executed twice.
23930 (read_fs_list): Likewise.
23931
23932 * include/grub/normal.h (grub_normal_execute): Updated the
23933 prototype.
23934
23935 2009-03-22 Pavel Roskin <proski@gno.org>
23936
23937 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
23938 _start.
23939 * kern/i386/pc/startup.S: Likewise.
23940 * kern/i386/efi/startup.S: Likewise.
23941 * kern/i386/ieee1275/startup.S: Likewise.
23942 * kern/i386/coreboot/startup.S: Likewise.
23943 * kern/x86_64/efi/startup.S: Likewise.
23944
23945 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
23946 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
23947 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
23948
23949 2009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
23950
23951 Bugfixes in multiboot for bugs uncovered by solaris kernel.
23952
23953 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
23954 limit detection.
23955 Use vaddr of correct segment for entry_point.
23956
23957 2009-03-21 Bean <bean123ch@gmail.com>
23958
23959 * commands/blocklist.c: Add include file <grub/command.h>, remove
23960 <grub/normal.h> and <grub/arg.h>.
23961 (grub_cmd_blocklist): Use the new command interface.
23962 (GRUB_MOD_INIT): Likewise.
23963 (GRUB_MOD_FINI): Likewise.
23964 * commands/boot.c: Likewise.
23965 * commands/cat.c: Likewise.
23966 * commands/cmp.c: Likewise.
23967 * commands/configfile.c: Likewise.
23968 * commands/crc.c: Likewise.
23969 * commands/echo.c: Likewise.
23970 * commands/halt.c: Likewise.
23971 * commands/handler.c: Likewise.
23972 * commands/hdparm.c: Likewise.
23973 * commands/help.c: Likewise.
23974 * commands/hexdump.c: Likewise.
23975 * commands/loadenv.c: Likewise.
23976 * commands/ls.c: Likewise.
23977 * commands/lsmmap.c: Likewise.
23978 * commands/lspci.c: Likewise.
23979 * commands/loadenv.c: Likewise.
23980 * commands/read.c: Likewise.
23981 * commands/reboot.c: Likewise.
23982 * commands/search.c: Likewise.
23983 * commands/sleep.c: Likewise.
23984 * commands/test.c: Likewise.
23985 * commands/usbtest.c: Likewise.
23986 * commands/videotest.c: Likewise.
23987 * commands/i386/cpuid.c: Likewise.
23988 * commands/i386/pc/halt.c: Likewise.
23989 * commands/i386/pc/play.c: Likewise.
23990 * commands/i386/pc/pxecmd.c: Likewise.
23991 * commands/i386/pc/vbeinfo.c: Likewise.
23992 * commands/i386/pc/vbetest.c: Likewise.
23993 * commands/ieee1275/suspend.c: Likewise.
23994 * disk/loopback.c: Likewise.
23995 * font/font_cmd.c: Likewise.
23996 * hello/hello.c: Likewise.
23997 * loader/efi/appleloader.c: Likewise.
23998 * loader/efi/chainloader.c: Likewise.
23999 * loader/i386/bsd.c: Likewise.
24000 * loader/i386/efi/linux.c: Likewise.
24001 * loader/i386/ieee1275/linux.c: Likewise.
24002 * loader/i386/linux.c: Likewise.
24003 * loader/i386/pc/chainloader.c: Likewise.
24004 * loader/i386/pc/linux.c: Likewise.
24005 * loader/powerpc/ieee1275/linux.c: Likewise.
24006 * loader/multiboot_loader.c: Likewise.
24007 * term/gfxterm.c: Likewise.
24008 * term/i386/pc/serial.c: Likewise.
24009 * term/terminfo.c: Likewise.
24010
24011 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
24012 * term/i386/pc/vga.c: Likewise.
24013 * video/readers/jpeg.c: Likewise.
24014 * video/readers/png.c: Likewise.
24015 * video/readers/tga.c: Likewise.
24016
24017 * util/grub-fstest (cmd_loopback): Removed.
24018 (cmd_blocklist): Likewise.
24019 (cmd_ls): Likewise.
24020 (grub_register_command): Likewise.
24021 (grub_unregister_command): Likewise.
24022 (execute_command): Use grub_command_find to locate command and execute
24023 it.
24024
24025 * include/grub/efi/chainloader.h: Removed.
24026 * loader/efi/chainloader_normal.c: Likewise.
24027 * loader/i386/bsd_normal.c: Likewise.
24028 * loader/i386/pc/chainloader_normal.c: Likewise.
24029 * loader/i386/pc/multiboot_normal.c: Likewise.
24030 * loader/linux_normal.c: Likewise.
24031 * loader/multiboot_loader_normal.c: Likewise.
24032 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
24033
24034 * gencmdlist.sh: Scan new registration command grub_register_extcmd
24035 and grub_register_command_p1.
24036
24037 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
24038 kern/command.c, lib/arg.c and commands/extcmd.c.
24039 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
24040 (minicmd_mod_SOURCES): New variable.
24041 (minicmd_mod_CFLAGS): Likewise.
24042 (minicmd_mod_LDFLAGS): Likewise.
24043 (extcmd_mod_SOURCES): Likewise.
24044 (extcmd_mod_CFLAGS): Likewise.
24045 (extcmd_mod_LDFLAGS): Likewise.
24046 (boot_mod_SOURCES): Removed.
24047 (boot_mod_CFLAGS): Likewise.
24048 (boot_mod_LDFLAGS): Likewise.
24049
24050 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
24051 kern/corecmd.c.
24052 (kernel_img_HEADERS): Add command.h.
24053 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
24054 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
24055 and lib/arg.c.
24056 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
24057 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
24058 remove the corresponding normal mode command.
24059 (normal_mod_SOURCES): Remove normal/arg.c.
24060 * conf/i386-coreboot.rmk: Likewise.
24061 * conf/i386-efi.rmk: Likewise.
24062 * conf/i386-ieee1275.rmk: Likewise.
24063 * conf/powerpc-ieee1275.rmk: Likewise.
24064 * conf/x86_64-efi.rmk: Likewise.
24065
24066 * include/grub/arg.h: Move from here ...
24067 * include/grub/lib/arg.h: ... to here.
24068
24069 * normal/arg.c: Move from here ...
24070 * lib/arg.c: ... to here.
24071
24072 * commands/extcmd.c: New file.
24073 * commands/minicmd.c: Likewise.
24074 * include/grub/command.h: Likewise.
24075 * include/grub/extcmd.h: Likewise.
24076 * kern/command.c: Likewise.
24077 * kern/corecmd.c: Likewise.
24078
24079 * kern/list.c (grub_list_iterate): Return int instead of void.
24080 (grub_list_insert): New function.
24081 (grub_prio_list_insert): Likewise.
24082
24083 * kern/rescue.c (grub_rescue_command): Removed.
24084 (grub_rescue_command_list): Likewise.
24085 (grub_rescue_register_command): Likewise.
24086 (grub_rescue_unregister_command): Likewise.
24087 (grub_rescue_cmd_boot): Move to minicmd.c
24088 (grub_rescue_cmd_help): Likewise.
24089 (grub_rescue_cmd_info): Likewise.
24090 (grub_rescue_cmd_boot): Likewise.
24091 (grub_rescue_cmd_testload): Likewise.
24092 (grub_rescue_cmd_dump): Likewise.
24093 (grub_rescue_cmd_rmmod): Likewise.
24094 (grub_rescue_cmd_lsmod): Likewise.
24095 (grub_rescue_cmd_exit): Likewise.
24096 (grub_rescue_print_devices): Moved to corecmd.c.
24097 (grub_rescue_print_files): Likewise.
24098 (grub_rescue_cmd_ls): Likewise.
24099 (grub_rescue_cmd_insmod): Likewise.
24100 (grub_rescue_cmd_set): Likewise.
24101 (grub_rescue_cmd_unset): Likewise.
24102 (attempt_normal_mode): Use grub_command_find to get normal module.
24103 (grub_enter_rescue_mode): Use grub_register_core_commands to register
24104 commands, remove grub_rescue_register_command calls.
24105
24106 * normal/command.c (grub_register_command): Removed.
24107 (grub_unregister_command): Likewise.
24108 (grub_command_find): Likewise.
24109 (grub_iterate_commands): Likewise.
24110 (rescue_command): Likewise.
24111 (export_command): Moved to corecmd.c.
24112 (set_command): Removed.
24113 (unset_command): Likewise.
24114 (insmod_command): Likewise.
24115 (rmmod_command): Likewise.
24116 (lsmod_command): Likewise.
24117 (grub_command_init): Likewise.
24118
24119 * normal/completion.c (iterate_command): Use cmd->prio to check for
24120 active command.
24121 (complete_arguments): Use grub_extcmd_t structure to find options.
24122 (grub_normal_do_completion): Change function grub_iterate_commands to
24123 grub_command_iterate.
24124
24125 * normal/execute.c (grub_script_execute_cmd): No need to parse
24126 argument here.
24127
24128 * normal/main.c (grub_dyncmd_dispatcher): New function.
24129 (read_command_list): Register unload commands as dyncmd.
24130 (grub_cmd_normal): Use new command interface, register rescue,
24131 unregister normal at entry, register normal, unregister rescue at exit.
24132
24133 * include/grub/list.h (grub_list_test_t): New type.
24134 (grub_list_iterate): Return int instead of void.
24135 (grub_list_insert): New function.
24136 (GRUB_AS_NAMED_LIST_P): New macro.
24137 (GRUB_AS_PRIO_LIST): Likewise.
24138 (GRUB_AS_PRIO_LIST_P): Likewise.
24139 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
24140 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
24141 (grub_prio_list): New structure.
24142 (grub_prio_list_insert): New function.
24143 (grub_prio_list_remove): New inline function.
24144
24145 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
24146 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
24147 (GRUB_COMMAND_FLAG_MENU): Likewise.
24148 (GRUB_COMMAND_FLAG_BOTH): Likewise.
24149 (GRUB_COMMAND_FLAG_TITLE): Likewise.
24150 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
24151 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
24152 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
24153 (grub_command): Likewise.
24154 (grub_register_command): Likewise.
24155 (grub_command_find): Likewise.
24156 (grub_iterate_commands): Likewise.
24157 (grub_command_init): Likewise.
24158 (grub_arg_parse): Likewise.
24159 (grub_arg_show_help): Likewise.
24160
24161 * include/grub/rescue.h (grub_rescue_register_command): Removed.
24162 (grub_rescue_unregister_command): Likewise.
24163
24164 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
24165 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
24166 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
24167
24168 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
24169 grub_rescue_cmd_initrd.
24170 * include/grub/i386/loader.h: Likewise.
24171 * include/grub/x86_64/loader.h: Likewise.
24172
24173 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
24174
24175 2009-03-21 Bean <bean123ch@gmail.com>
24176
24177 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
24178 instead of stat in mingw environment.
24179
24180 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
24181
24182 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
24183
24184 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
24185 AC_CONFIG_LINKS.
24186
24187 2009-03-21 Bean <bean123ch@gmail.com>
24188
24189 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
24190 out of range error.
24191
24192 2009-03-18 Michel Dänzer <michel@daenzer.net>
24193
24194 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
24195 checking inode flags for EXT4_EXTENTS_FLAG.
24196
24197 2009-03-18 Robert Millan <rmh@aybabtu.com>
24198
24199 * loader/i386/linux.c: Include `<grub/video.h>' and
24200 `<grub/i386/pc/vbe.h>'..
24201 (grub_linux_setup_video): New function. Loosely based on the EFI one.
24202 (grub_linux32_boot): Attempt to configure video settings with
24203 grub_linux_setup_video().
24204 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
24205 to avoid grub_console_fini() which would step out of graphical mode
24206 unconditionally.
24207
24208 2009-03-14 Robert Millan <rmh@aybabtu.com>
24209
24210 Fix build on powerpc.
24211 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
24212
24213 2009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
24214
24215 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
24216 background image command.
24217
24218 2009-03-12 Colin D Bennett <colin@gibibit.com>
24219
24220 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
24221 (grub_gfxterm_putchar): Extract pairs of identical calls to
24222 draw_cursor out of conditional blocks.
24223
24224 2009-03-11 Pavel Roskin <proski@gnu.org>
24225
24226 * fs/hfs.c (grub_hfs_strncasecmp): New function.
24227 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
24228
24229 2009-03-11 Robert Millan <rmh@aybabtu.com>
24230
24231 * loader/i386/multiboot_elfxx.c
24232 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
24233
24234 2009-03-11 Felix Zielcke <fzielcke@z-51.de>
24235
24236 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
24237 `kern/handler.c'.
24238
24239 2009-03-11 Robert Millan <rmh@aybabtu.com>
24240
24241 * loader/i386/multiboot.c (code_size): New variable.
24242 (grub_multiboot): Define offsets by adding to `code_size' rather
24243 than subtracting from `grub_multiboot_payload_size'. Provide
24244 4-byte alignment to MBI and others by increasing
24245 `boot_loader_name_length' appropriately.
24246
24247 * loader/i386/multiboot_elfxx.c
24248 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
24249
24250 2009-03-09 Felix Zielcke <fzielcke@z-51.de>
24251
24252 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
24253 `fs/ext2.c'.
24254
24255 2009-03-08 Robert Millan <rmh@aybabtu.com>
24256
24257 Make loader/i386/linux.c usable on i386-pc again.
24258
24259 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
24260 memory to heap.
24261 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
24262 `#error' stanza.
24263
24264 2009-03-07 Bean <bean123ch@gmail.com>
24265
24266 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
24267 allocation.
24268
24269 2009-03-06 Robert Millan <rmh@aybabtu.com>
24270
24271 Fix display issue on terminals with screen size other than 80x25
24272 (e.g. gfxterm with resolution higher than 640x480).
24273
24274 * normal/main.c (grub_normal_init_page): Display title text in a
24275 position relative to the center of the terminal instead of relying
24276 on a hardcoded offset.
24277
24278 2009-03-04 Robert Millan <rmh@aybabtu.com>
24279
24280 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
24281 installed.
24282
24283 * Makefile.in (host_kernel): New variable.
24284 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
24285 scripts instead of just the windows one.
24286 * configure.ac: Initialize and AC_SUBST `host_kernel'.
24287
24288 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
24289
24290 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
24291 `kern/handler.c'.
24292 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
24293 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
24294 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
24295 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24296 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24297 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24298
24299 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
24300
24301 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
24302 or if there's no space for the disk label and print the partition number on a
24303 invalid magic.
24304
24305 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
24306
24307 * util/misc.c: Include <time.h>.
24308 (grub_millisleep): New function.
24309
24310 2009-03-04 Bean <bean123ch@gmail.com>
24311
24312 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
24313 another option -mno-red-zone.
24314
24315 * commands/handler.c: Change module description.
24316
24317 * kern/handler.c: Add missing space at the end of description line.
24318
24319 * kern/list.c: Likewise.
24320
24321 2009-03-03 Robert Millan <rmh@aybabtu.com>
24322
24323 Move more components to the relocation area, and fix mbi pointer
24324 handling to use the destination rather than the origin (thanks to
24325 Vladimir Serbinenko for spotting).
24326
24327 * loader/i386/multiboot.c (mbi_dest): New variable.
24328 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
24329 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
24330 relocation area.
24331
24332 2009-03-01 Bean <bean123ch@gmail.com>
24333
24334 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
24335 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
24336 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
24337 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
24338
24339 * loader/i386/efi/linux.c (acpi_guid): New variable.
24340 (acpi_guid): Likewise.
24341 (EBDA_SEG_ADDR): New constant.
24342 (LOW_MEM_ADDR): Likewise.
24343 (FAKE_EBDA_SEG): Likewise.
24344 (fake_bios_data): New function.
24345 (grub_linux_boot): Call fake_bios_data.
24346
24347 2009-03-01 Bean <bean123ch@gmail.com>
24348
24349 * commands/terminal.c: Removed.
24350
24351 * commands/handler.c: New file.
24352
24353 * include/grub/list.h: Likewise.
24354
24355 * include/grub/handler.h: Likewise.
24356
24357 * kern/list.c: Likewise.
24358
24359 * kern/handler.c: Likewise.
24360
24361 * kern/term.h: Include header file <grub/handler.h>.
24362 (grub_term_input): Move next field to the beginning.
24363 (grub_term_output): Likewise.
24364 (grub_term_input_class): New variable.
24365 (grub_term_output_class): Likewise.
24366 (grub_term_register_input): Changed to inline function.
24367 (grub_term_register_output): Likewise.
24368 (grub_term_unregister_input): Likewise.
24369 (grub_term_unregister_output): Likewise.
24370 (grub_term_set_current_input): Likewise.
24371 (grub_term_set_current_output): Likewise.
24372 (grub_term_get_current_input): Likewise.
24373 (grub_term_get_current_output): Likewise.
24374 (grub_term_iterate_input): Removed.
24375 (grub_term_iterate_output): Likewise.
24376
24377 * kern/term.c (grub_term_list_input): Removed.
24378 (grub_term_list_output): Likewise.
24379 (grub_term_input_class): New variable.
24380 (grub_term_output_class): Likewise.
24381 (grub_cur_term_input): Change variable as macro.
24382 (grub_cur_term_output): Likewise.
24383 (grub_term_register_input): Removed.
24384 (grub_term_register_output): Likewise.
24385 (grub_term_unregister_input): Likewise.
24386 (grub_term_unregister_output): Likewise.
24387 (grub_term_set_current_input): Likewise.
24388 (grub_term_set_current_output): Likewise.
24389 (grub_term_iterate_input): Likewise.
24390 (grub_term_iterate_output): Likewise.
24391 (grub_term_get_current_input): Likewise.
24392 (grub_term_get_current_output): Likewise.
24393
24394 * util/grub-editenv.c: Include header file <grub/handler.h>.
24395 (grub_term_get_current_input): Removed.
24396 (grub_term_get_current_output): Likewise.
24397 (grub_term_input_class): New variable.
24398 (grub_term_output_class): Likewise.
24399
24400 * util/grub-fstest.c (grub_term_get_current_input): Removed.
24401 (grub_term_get_current_output): Likewise.
24402 (grub_term_input_class): New variable.
24403 (grub_term_output_class): Likewise.
24404
24405 * util/grub-probe.c (grub_term_get_current_input): Removed.
24406 (grub_term_get_current_output): Likewise.
24407 (grub_term_input_class): New variable.
24408 (grub_term_output_class): Likewise.
24409
24410 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
24411 (grub_term_get_current_output): Likewise.
24412 (grub_term_input_class): New variable.
24413 (grub_term_output_class): Likewise.
24414
24415 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
24416 (terminal_mod_SOURCES): Likewise.
24417 (terminal_mod_CFLAGS): Likewise.
24418 (terminal_mod_LDFLAGS): Likewise.
24419
24420 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
24421 handler.c.
24422 (kernel_img_SOURCES): Add list.c and handler.c.
24423 (kernel_img_HEADERS): Add list.h and handler.h.
24424
24425 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
24426 handler.c.
24427 (kernel_mod_SOURCES): Add list.c and handler.c.
24428 (kernel_mod_HEADERS): Add list.h and handler.h.
24429
24430 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
24431 handler.c.
24432 (kernel_elf_SOURCES): Add list.c and handler.c.
24433 (kernel_elf_HEADERS): Add list.h and handler.h.
24434
24435 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
24436 handler.c.
24437 (kernel_elf_SOURCES): Add list.c and handler.c.
24438 (kernel_elf_HEADERS): Add list.h and handler.h.
24439
24440 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
24441 handler.c.
24442 (kernel_mod_SOURCES): Add list.c and handler.c.
24443 (kernel_mod_HEADERS): Add list.h and handler.h.
24444
24445 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
24446 handler.c.
24447 (kernel_elf_SOURCES): Add list.c and handler.c.
24448 (kernel_elf_HEADERS): Add list.h and handler.h.
24449
24450 2009-02-27 Robert Millan <rmh@aybabtu.com>
24451
24452 Factorize elf32 / elf64 code in Multiboot loader. This will
24453 prevent it from getting out of sync again.
24454
24455 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
24456 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
24457 grub_multiboot_load_elf64): Move from here ...
24458 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
24459 grub_multiboot_load_elf): ... to here (new file).
24460
24461 2009-02-27 Robert Millan <rmh@aybabtu.com>
24462
24463 * util/grub.d/10_linux.in: Rename "single-user mode" to
24464 "recovery mode".
24465
24466 2009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
24467
24468 Don't leak in SCSI code.
24469 * disk/scsi.c (grub_scsi_close): free `scsi'.
24470
24471 2009-02-27 Robert Millan <rmh@aybabtu.com>
24472
24473 * loader/i386/pc/multiboot.c: Move from here ...
24474 * loader/i386/multiboot.c: ... to here. Update all users.
24475
24476 2009-02-27 Robert Millan <rmh@aybabtu.com>
24477
24478 Patch from Alexandre Bique <bique.alexandre@gmail.com>
24479 * util/i386/pc/grub-setup.c (setup): Fix directory path.
24480
24481 2009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
24482
24483 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
24484 b-tree.
24485
24486 2009-02-27 Robert Millan <rmh@aybabtu.com>
24487
24488 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
24489 `0x' qualifier as 0 when base is specified as parameter).
24490
24491 2009-02-24 Bean <bean123ch@gmail.com>
24492
24493 * configure.ac: Check for -mcmodel=large in x86_64 target.
24494
24495 * include/grub/efi/api.h (efi_call_10): New macro.
24496 (efi_wrap_10): New function.
24497
24498 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
24499 (GRUB_PE32_REL_BASED_HIGH): Likewise.
24500 (GRUB_PE32_REL_BASED_LOW): Likewise.
24501 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
24502 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
24503 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
24504 (GRUB_PE32_REL_BASED_SECTION): Likewise.
24505 (GRUB_PE32_REL_BASED_REL): Likewise.
24506 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
24507 (GRUB_PE32_REL_BASED_DIR64): Likewise.
24508 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
24509
24510 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
24511 issue.
24512
24513 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
24514 (efi_wrap_10): New function.
24515
24516 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
24517
24518 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
24519 MB/MBP model (NV chipset).
24520 (devdata_devs): Add devpath_5 to the list.
24521
24522 * load/i386/efi/linux.c (video_base): Remove variable.
24523 (RGB_MASK): New macro.
24524 (RGB_MAGIC): Likewise.
24525 (LINE_MIN): Likewise.
24526 (LINE_MAX): Likewise.
24527 (FBTEST_STEP): Likewise.
24528 (FBTEST_COUNT): Likewise.
24529 (fb_list): New variable.
24530 (grub_find_video_card): Remove function.
24531 (find_framebuf): New function.
24532 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
24533 line length.
24534
24535 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
24536 problem for x86_64.
24537
24538 2009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
24539
24540 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
24541
24542 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
24543 coding tool name.
24544
24545 2009-02-22 Robert Millan <rmh@aybabtu.com>
24546
24547 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
24548 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
24549 in our relocation, instead of using it directly from heap. Also
24550 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
24551
24552 2009-02-21 Robert Millan <rmh@aybabtu.com>
24553
24554 Implement USB keyboard support (based on patch by Marco Gerards)
24555
24556 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
24557 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
24558 (usb_keyboard_mod_LDFLAGS): New variables.
24559
24560 * term/usb_keyboard.c: New file.
24561
24562 2009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
24563
24564 Corrected wrong declaration
24565
24566 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
24567
24568 2009-02-14 Christian Franke <franke@computer.org>
24569
24570 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
24571 (grub_lspci_iter): Print class code and programming interface byte.
24572
24573 2009-02-14 Christian Franke <franke@computer.org>
24574
24575 * gendistlist.sh: Ignore `.svn' directories.
24576
24577 2009-02-14 Felix Zielcke <fzielcke@z-51.de>
24578
24579 * fs/fat.c: Add 2009 to Copyright line.
24580
24581 2009-02-14 Christian Franke <franke@computer.org>
24582
24583 * commands/hdparm.c: New file. Provides `hdparm' command
24584 which sends ATA commands via grub_disk_ata_pass_through ().
24585
24586 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
24587
24588 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
24589 and <grub/cpu/io.h> to include/grub/ata.h.
24590 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
24591 (GRUB_CDROM_SECTOR_SIZE): Remove.
24592 (GRUB_ATA_*): Move to include/grub/ata.h.
24593 (GRUB_ATAPI_*): Likewise.
24594 (enum grub_ata_commands): Likewise.
24595 (enum grub_ata_timeout_milliseconds): Likewise.
24596 (struct grub_ata_device): Likewise.
24597 (grub_ata_regset): Likewise.
24598 (grub_ata_regget): Likewise.
24599 (grub_ata_regset2): Likewise.
24600 (grub_ata_regget2): Likewise.
24601 (grub_ata_check_ready): Likewise.
24602 (grub_ata_wait_not_busy): Remove static, exported in
24603 include/grub/ata.h.
24604 (grub_ata_wait_drq): Likewise.
24605 (grub_ata_pio_read): Likewise.
24606
24607 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
24608 function for hdparm.mod.
24609
24610 * include/grub/ata.h: New file, contains declarations from
24611 disk/ata.c.
24612 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
24613
24614 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
24615 (grub_disk_ata_pass_through): New exported variable.
24616
24617 * kern/disk.c (grub_disk_ata_pass_through): New variable.
24618
24619 2009-02-13 Colin D Bennett <colin@gibibit.com>
24620
24621 Support multiple fallback entries, and provide an API to support
24622 executing default+fallback menu entries. Renamed the `terminal' menu
24623 viewer to `text'.
24624
24625 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
24626 variable declaration.
24627 (grub_menu_execute_callback): New structure declaration.
24628 (grub_menu_execute_callback_t): New typedef.
24629 (grub_menu_execute_with_fallback): New function declaration.
24630 (grub_menu_get_entry): Likewise.
24631 (grub_menu_get_timeout): Likewise.
24632 (grub_menu_set_timeout): Likewise.
24633
24634 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
24635
24636 * normal/menu.c (grub_wait_after_message): Moved to
24637 `normal/menu_text.c'.
24638 (draw_border): Likewise.
24639 (print_message): Likewise.
24640 (print_entry): Likewise.
24641 (print_entries): Likewise.
24642 (grub_menu_init_page): Likewise.
24643 (get_entry_number): Likewise.
24644 (print_timeout): Likewise.
24645 (run_menu): Likewise.
24646 (grub_menu_execute_entry): Likewise.
24647 (show_text_menu): Likewise.
24648 (get_and_remove_first_entry_number): New function.
24649 (grub_menu_execute_with_fallback): Likewise.
24650 (get_entry): Renamed to ...
24651 (grub_menu_get_entry): .. this and made it global.
24652 (get_timeout): Renamed to ...
24653 (grub_menu_get_timeout): ... this and made it global.
24654 (set_timeout): Renamed to ...
24655 (grub_menu_set_timeout): ... this and made it global.
24656 (grub_normal_terminal_menu_viewer): Renamed to ...
24657 (grub_normal_text_menu_viewer): ... this.
24658
24659 * normal/menu_text.c: New file. Extracted text-menu-specific code
24660 from normal/menu.c.
24661
24662 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
24663 (normal_mod_SOURCES): Likewise.
24664
24665 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
24666 (normal_mod_SOURCES): Likewise.
24667
24668 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24669 (normal_mod_SOURCES): Likewise.
24670
24671 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
24672 (normal_mod_SOURCES): Likewise.
24673
24674 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24675 (normal_mod_SOURCES): Likewise.
24676
24677 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24678 (normal_mod_SOURCES): Likewise.
24679
24680 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
24681 (normal_mod_SOURCES): Likewise.
24682
24683 2009-02-11 Robert Millan <rmh@aybabtu.com>
24684
24685 * util/grub.d/00_header.in: Update old reference to `font' command.
24686
24687 2009-02-10 Felix Zielcke <fzielcke@z-51.de>
24688
24689 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
24690
24691 Based on patch from Javier Martín.
24692
24693 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
24694
24695 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
24696 to avoid false positives with FAT.
24697 (grub_fstest_SOURCES): Likewise.
24698 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
24699 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
24700 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24701 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
24702 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24703 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24704
24705 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
24706
24707 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
24708 bpb.version_specific.fat12_or_fat16.fstype and
24709 bpb.version_specific.fat32.fstype.
24710
24711 2009-02-08 Robert Millan <rmh@aybabtu.com>
24712
24713 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
24714
24715 2009-02-08 Robert Millan <rmh@aybabtu.com>
24716
24717 * Makefile.in (host_os, host_cpu): New variables.
24718 (target_os): Remove. Update all users.
24719
24720 2009-02-08 Marco Gerards <marco@gnu.org>
24721
24722 * Makefile.in (enable_grub_emu_usb): New variable.
24723 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
24724 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
24725 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
24726 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
24727 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
24728 `usbtest.mod' and `usbms.mod'.
24729 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
24730 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
24731 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
24732 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
24733 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
24734 variables.
24735
24736 * disk/usbms.c: New file.
24737
24738 * include/grub/usb.h: Likewise.
24739
24740 * include/grub/usbtrans.h: Likewise.
24741
24742 * include/grub/usbdesc.h: Likewise.
24743
24744 * bus/usb/usbtrans.c: Likewise.
24745
24746 * bus/usb/ohci.c: Likewise.
24747
24748 * bus/usb/uhci.c: Likewise.
24749
24750 * bus/usb/usbhub.c: Likewise.
24751
24752 * bus/usb/usb.c: Likewise.
24753
24754 * commands/usbtest.c: Likewise.
24755
24756 * util/usb.c: Likewise.
24757
24758 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
24759
24760 * configure.ac: Test for libusb presence.
24761
24762 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
24763
24764 2009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
24765
24766 * kern/mm.c: Add more comments.
24767
24768 2009-02-08 Robert Millan <rmh@aybabtu.com>
24769
24770 Patch from Javier Martín.
24771 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
24772 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
24773
24774 2009-02-08 Robert Millan <rmh@aybabtu.com>
24775
24776 * fs/cpio.c: Split tar functionality to ...
24777 * fs/tar.c: ... here (new file). Update all users.
24778
24779 2009-02-07 Robert Millan <rmh@aybabtu.com>
24780
24781 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
24782 backward-incompatible features.
24783
24784 Based on patch from Javier Martín, with some adjustments.
24785
24786 2009-02-07 Michael Scherer <misc@mandriva.org>
24787
24788 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
24789
24790 2009-02-07 Robert Millan <rmh@aybabtu.com>
24791
24792 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
24793 position of `disk/lvm.c' to ensure grub_init_all() always picks it
24794 after the RAID stuff.
24795
24796 2009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
24797
24798 Fixes problem when running vbetest command as reported by
24799 Vladimir Serbinenko <phcoder@gmail.com>.
24800
24801 * (grub_vbe_set_video_mode): Fixed problem with text modes.
24802
24803 2009-02-04 Felix Zielcke <fzielcke@z-51.de>
24804
24805 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
24806 /dev/md/NpN style mdraid devices.
24807
24808 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
24809
24810 * util/unifont2pff.rb: Remove.
24811
24812 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
24813
24814 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
24815 `#'.
24816
24817 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
24818
24819 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
24820 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
24821 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
24822 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
24823 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24824 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24825 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24826
24827 2009-02-02 Christian Franke <franke@computer.org>
24828
24829 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
24830
24831 2009-02-01 Felix Zielcke <fzielcke@z-51.de>
24832
24833 * INSTALL: Note that we now require at least autoconf 2.59 and
24834 that LZO is optional.
24835
24836 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
24837
24838 Base on patch on bug #24154 created by Tomas Tintera
24839 <trosos@seznam.cz>.
24840
24841 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
24842
24843 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
24844
24845 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
24846 <bero@arklinux.org>.
24847
24848 * normal/parser.y (script_init): Add missing semicolon.
24849
24850 2009-01-31 Colin D Bennett <colin@gibibit.com>
24851
24852 * normal/main.c: Add include to grub/menu_viewer.h.
24853 (free_menu_entry_classes): Added.
24854 (grub_normal_menu_addentry): Added class property handling.
24855 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
24856 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
24857
24858 * normal/menu_viewer.c: New file.
24859
24860 * normal/menu.c (run_menu_entry): Renamed to ...
24861 (grub_menu_execute_entry): ... this and made it as global.
24862 (grub_menu_run): Renamed to ...
24863 (show_text_menu): ... this and made it local.
24864 (show_text_menu): Adapt to new function names.
24865 (grub_normal_terminal_menu_viewer): New global variable.
24866
24867 * include/grub/menu.h: New file.
24868
24869 * include/grub/menu_viewer.h: New file.
24870
24871 * include/grub/normal.h: Added include to grub/menu.h.
24872 (grub_menu_entry): Moved to include/grub/menu.h.
24873 (grub_menu_entry_t): Likewise.
24874 (grub_menu): Likewise.
24875 (grub_menu_t): Likewise.
24876 (grub_normal_terminal_menu_viewer): Added.
24877 (grub_menu_execute_entry): Likewise.
24878 (grub_menu_run): Removed.
24879
24880 * DISTLIST: Added include/grub/menu.h.
24881 Added include/grub/menu_viewer.h.
24882 Added normal/menu_viewer.c.
24883
24884 2009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
24885
24886 * normal/execute.c (grub_script_execute_menuentry): Changed to use
24887 arglist for menutitle arguments.
24888
24889 * normal/main.c (grub_normal_menu_addentry): Likewise.
24890
24891 * normal/parser.y (menuentry): Likewise.
24892
24893 * normal/script.c (grub_script_create_cmdmenu): Likewise.
24894
24895 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
24896 (grub_script_create_cmdmenu): Likewise.
24897
24898 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
24899
24900 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
24901 changes.
24902
24903 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
24904
24905 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
24906
24907 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
24908
24909 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
24910
24911 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
24912
24913 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
24914
24915 2009-01-30 Christian Franke <franke@computer.org>
24916
24917 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
24918 in option help text.
24919
24920 2009-01-27 Pavel Roskin <proski@gnu.org>
24921
24922 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
24923
24924 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
24925
24926 * commands/lsmmap.c: Add include to grub/machine/memory.h.
24927
24928 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
24929
24930 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
24931 unregister function.
24932
24933 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
24934
24935 * disk/scsi.c (grub_scsi_read): Fix sign problem.
24936
24937 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
24938
24939 * util/grub-mkfont.c (usage): Fix typo.
24940
24941 * util/elf/grub-mkimage.c (load_modules): Fix warning.
24942
24943 2009-01-26 Daniel Mierswa <impulze@impulze.org>
24944
24945 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
24946
24947 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
24948
24949 * kern/misc.c (grub_strcasecmp): New function.
24950 (grub_strcasecmp): Use grub_size_t instead of int for length.
24951 Fix return value.
24952 * include/grub/misc.h: Update function prototypes.
24953
24954 2009-01-26 Robert Millan <rmh@aybabtu.com>
24955
24956 * configure.ac: Fix cross-compilation check.
24957
24958 2009-01-22 Christian Franke <franke@computer.org>
24959
24960 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
24961 (precision) digit string. Allow `.format2' without `format1' (width).
24962 Limit input chars for `%s' output to `format2' if specified. This is
24963 compatible with standard printf ().
24964
24965 2009-01-22 Christian Franke <franke@computer.org>
24966
24967 * disk/ata.c (grub_ata_wait_status): Replace by ...
24968 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
24969 other status bits may be invalid while BSY is asserted.
24970 (grub_ata_check_ready): New function.
24971 (grub_ata_cmd): Removed.
24972 (grub_ata_wait_drq): New function.
24973 (grub_ata_strncpy): Remove inline.
24974 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
24975 and error check now done by grub_ata_wait_drq ().
24976 (grub_ata_pio_write): Likewise.
24977 (grub_atapi_identify): Set DEV before check for !BSY. Use
24978 grub_ata_wait_drq () to wait for data.
24979 (grub_ata_device_initialize): Add status register check to
24980 detect missing SATA slave devices. Add debug messages.
24981 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
24982 (grub_atapi_packet): Set DEV before check for !BSY. Replace
24983 transfer loop by grub_ata_pio_write ().
24984 (grub_ata_identify): Set DEV before check for !BSY. Use
24985 grub_ata_wait_drq () to wait for data.
24986 (grub_ata_setaddress): Set DEV before check for !BSY.
24987 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
24988 read/write in one loop. Fix invalid command on write. Fix incomplete
24989 command on (size % batch) == 0. Add missing error check after write of
24990 last block. Add debug messages.
24991 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
24992
24993 2009-01-19 Christian Franke <franke@computer.org>
24994
24995 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
24996 (GRUB_ATAPI_IREASON_*): Likewise.
24997 (grub_ata_pio_write): Fix timeout error return.
24998 (grub_atapi_identify): Add grub_ata_wait () after cmd.
24999 (grub_atapi_wait_drq): New function.
25000 (grub_atapi_packet): New parameter `size'.
25001 Use grub_atapi_wait_drq () and direct write instead of
25002 grub_ata_pio_write ().
25003 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
25004 reads the number of bytes requested by the device for each DRQ
25005 assertion.
25006 (grub_atapi_write): Remove old implementation, return not
25007 implemented instead.
25008
25009 2009-01-19 Christian Franke <franke@computer.org>
25010
25011 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
25012 of 512 to calculate data size.
25013 (grub_scsi_read12): Likewise.
25014 (grub_scsi_write10): Likewise.
25015 (grub_scsi_write12): Likewise.
25016 (grub_scsi_read): Adjust size according to blocksize.
25017 Add checks for invalid blocksize and unaligned transfer.
25018
25019 2009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
25020
25021 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
25022
25023 * term/gfxterm.c (write_char): Fix background rendering for wide
25024 width glyphs.
25025
25026 2009-01-19 Robert Millan <rmh@aybabtu.com>
25027
25028 * config.guess: Update to latest version from config git.
25029 * config.sub: Likewise.
25030
25031 2009-01-17 Felix Zielcke <fzielcke@z-51.de>
25032
25033 * Makefile.in: Change font compilation to use new grub-mkfont instead
25034 of java version.
25035
25036 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
25037 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
25038 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
25039 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
25040 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
25041 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
25042 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
25043 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
25044 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
25045
25046 2009-01-16 Christian Franke <franke@computer.org>
25047
25048 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
25049 (enum grub_ata_timeout_milliseconds): New enum.
25050 (grub_ata_wait_status): Add parameter milliseconds.
25051 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
25052 recovery from timed-out commands.
25053 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
25054 return grub_errno instead of REG_ERROR.
25055 (grub_ata_pio_write): Add parameter milliseconds.
25056 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
25057 Pass milliseconds to grub_ata_wait_status () and
25058 grub_ata_pio_read ().
25059 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
25060 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
25061 grub_ata_wait_status (). Fix IDENTIFY timeout check.
25062 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
25063 It is not suitable for device detection, because DEV bit is ignored,
25064 the command may run too long, and not all devices set the signature
25065 properly.
25066 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
25067 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
25068 Fix device selection, DEV bit must be set first to address the registers
25069 of the correct device.
25070 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
25071 grub_ata_pio_read/write ().
25072 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
25073 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
25074
25075 2009-01-13 Carles Pina i Estany <carles@pina.cat>
25076
25077 * util/grub-editenv.c (main): Use fseeko(), not fseek().
25078
25079 2009-01-13 Bean <bean123ch@gmail.com>
25080
25081 * util/grub-mkfont.c (write_font): forget to remove some debug code.
25082
25083 2009-01-13 Bean <bean123ch@gmail.com>
25084
25085 * Makefile.in: (enable_grub_mkfont): New variable.
25086 (freetype_cflags): Likewise.
25087 (freetype_libs): Likewise.
25088
25089 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
25090 (grub_mkfont_SOURCES): New variable.
25091 (grub_mkfont_CFLAGS): Likewise.
25092 (grub_mkfont_LDFLAGS): Likewise.
25093
25094 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
25095 library if `--enable-grub-mkfont' is requested.
25096 (enable_grub_mkfont): New variable.
25097 (freetype_cflags): Likewise.
25098 (freetype_libs): Likewise.
25099
25100 * util/grub-mkfont.c: New file.
25101
25102 2009-01-12 Christian Franke <franke@computer.org>
25103
25104 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
25105 mode check. Fix setting of compat_use[].
25106
25107 2009-01-10 Robert Millan <rmh@aybabtu.com>
25108
25109 Update a few copyright years which we forgot to do in 2008 (only for
25110 files whose changes made in 2008 were copyright-significant)
25111
25112 * Makefile.in: Add 2008 to Copyright line.
25113 * disk/ieee1275/ofdisk.c: Likewise.
25114 * disk/efi/efidisk.c: Likewise.
25115 * kern/dl.c: Likewise.
25116 * kern/sparc64/ieee1275/init.c: Likewise.
25117 * kern/mm.c: Likewise.
25118 * kern/efi/mm.c: Likewise.
25119 * boot/i386/pc/boot.S: Likewise.
25120 * genfslist.sh: Likewise.
25121 * fs/iso9660.c: Likewise.
25122 * fs/hfs.c: Likewise.
25123 * fs/jfs.c: Likewise.
25124 * fs/minix.c: Likewise.
25125 * fs/ufs.c: Likewise.
25126 * gensymlist.sh.in: Likewise.
25127 * genkernsyms.sh.in: Likewise.
25128 * include/grub/misc.h: Likewise.
25129 * include/grub/types.h: Likewise.
25130 * include/grub/symbol.h: Likewise.
25131 * include/grub/elf.h: Likewise.
25132 * include/grub/kernel.h: Likewise.
25133 * include/grub/disk.h: Likewise.
25134 * include/grub/dl.h: Likewise.
25135 * include/grub/i386/linux.h: Likewise.
25136 * include/grub/i386/pc/biosdisk.h: Likewise.
25137 * include/grub/efi/api.h: Likewise.
25138 * include/grub/efi/pe32.h: Likewise.
25139 * include/grub/util/misc.h: Likewise.
25140 * normal/execute.c: Likewise.
25141 * normal/arg.c: Likewise.
25142 * normal/completion.c: Likewise.
25143 * normal/lexer.c: Likewise.
25144 * normal/parser.y: Likewise.
25145 * normal/misc.c: Likewise.
25146 * commands/i386/pc/vbeinfo.c: Likewise.
25147 * commands/hexdump.c: Likewise.
25148 * commands/terminal.c: Likewise.
25149 * commands/ls.c: Likewise.
25150 * commands/help.c: Likewise.
25151 * partmap/pc.c: Likewise.
25152 * loader/efi/chainloader.c: Likewise.
25153 * loader/multiboot_loader.c: Likewise.
25154 * loader/i386/pc/multiboot2.c: Likewise.
25155 * term/efi/console.c: Likewise.
25156 * term/i386/pc/serial.c: Likewise.
25157 * util/lvm.c: Likewise.
25158 * util/console.c: Likewise.
25159 * util/i386/efi/grub-mkimage.c: Likewise.
25160 * util/raid.c: Likewise.
25161
25162 2009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
25163
25164 * commands/videotest.c: Removed include to grub/machine/memory.h.
25165
25166 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
25167 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
25168 (video_mod_SOURCES): Removed.
25169 (video_mod_CFLAGS): Likewise.
25170 (video_mod_LDFLAGS): Likewise.
25171 (gfxterm_mod_SOURCES): Likewise.
25172 (gfxterm_mod_CFLAGS): Likewise.
25173 (gfxterm_mod_LDFLAGS): Likewise.
25174 (videotest_mod_SOURCES): Likewise.
25175 (videotest_mod_CFLAGS): Likewise.
25176 (videotest_mod_LDFLAGS): Likewise.
25177 (bitmap_mod_SOURCES): Likewise.
25178 (bitmap_mod_CFLAGS): Likewise.
25179 (bitmap_mod_LDFLAGS): Likewise.
25180 (tga_mod_SOURCES): Likewise.
25181 (tga_mod_CFLAGS): Likewise.
25182 (tga_mod_LDFLAGS): Likewise.
25183 (jpeg_mod_SOURCES): Likewise.
25184 (jpeg_mod_CFLAGS): Likewise.
25185 (jpeg_mod_LDFLAGS): Likewise.
25186 (png_mod_SOURCES): Likewise.
25187 (png_mod_CFLAGS): Likewise.
25188 (png_mod_LDFLAGS): Likewise.
25189
25190 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
25191 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
25192 (video_mod_SOURCES): Added.
25193 (video_mod_CFLAGS): Likewise.
25194 (video_mod_LDFLAGS): Likewise.
25195 (videotest_mod_SOURCES): Likewise.
25196 (videotest_mod_CFLAGS): Likewise.
25197 (videotest_mod_LDFLAGS): Likewise.
25198 (bitmap_mod_SOURCES): Likewise.
25199 (bitmap_mod_CFLAGS): Likewise.
25200 (bitmap_mod_LDFLAGS): Likewise.
25201 (tga_mod_SOURCES): Likewise.
25202 (tga_mod_CFLAGS): Likewise.
25203 (tga_mod_LDFLAGS): Likewise.
25204 (jpeg_mod_SOURCES): Likewise.
25205 (jpeg_mod_CFLAGS): Likewise.
25206 (jpeg_mod_LDFLAGS): Likewise.
25207 (png_mod_SOURCES): Likewise.
25208 (png_mod_CFLAGS): Likewise.
25209 (png_mod_LDFLAGS): Likewise.
25210 (gfxterm_mod_SOURCES): Likewise.
25211 (gfxterm_mod_CFLAGS): Likewise.
25212 (gfxterm_mod_LDFLAGS): Likewise.
25213
25214 * term/gfxterm.c: Removed include to grub/machine/memory.h,
25215 grub/machine/console.h.
25216
25217 2009-01-04 Jerone Young <jerone@gmail.com>
25218
25219 Make on screen instructions clearer
25220
25221 Based on patch created by Jidanni <jidanni@jidanni.org>
25222
25223 * normal/menu.c: print clearer instructions on the screen
25224
25225 2009-01-02 Colin D Bennett <colin@gibibit.com>
25226
25227 New font engine.
25228
25229 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
25230 build system and fixed gfxterm.c to work with different sized fonts.
25231
25232 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
25233
25234 * configure: Re-generated.
25235
25236 * DISTLIST: Removed font/manager.c.
25237 Added font/font.c.
25238 Added font/font_cmd.c.
25239
25240 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
25241 compilation.
25242
25243 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
25244
25245 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
25246
25247 * kern/term.c: Changed users of grub_utf8_to_ucs4.
25248
25249 * normal/menu.c: Likewise.
25250
25251 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
25252 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
25253
25254 * include/grub/font.h: Replaced with new file.
25255
25256 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
25257 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
25258 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
25259 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
25260 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
25261 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
25262 fg_red, fg_green, fg_blue, fg_alpha.
25263 (grub_video_adapter): Removed blit_glyph.
25264 (grub_video_blit_glyph): Removed.
25265
25266 * font/manager.c: Removed file.
25267
25268 * font/font.c: New file.
25269
25270 * font/font_cmd.c: Likewise.
25271
25272 * video/video.c (grub_video_blit_glyph): Removed.
25273
25274 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
25275 (grub_video_vbe_map_rgba): Likewise.
25276 (grub_video_vbe_unmap_color_int): Likewise.
25277 (grub_video_vbe_blit_glyph): Removed.
25278 (grub_video_vbe_adapter): Removed blit_glyph.
25279
25280 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
25281 (get_pixel): Likewise.
25282 (set_pixel): Likewise.
25283
25284 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
25285
25286 * term/gfxterm.c: Adapted to new font engine.
25287
25288 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
25289
25290 * term/i386/pc/vga.c: Likewise.
25291
25292 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
25293
25294 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
25295
25296 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
25297
25298 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
25299
25300 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
25301
25302 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
25303
25304 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
25305
25306 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
25307
25308 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
25309
25310 * util/grub.d/00_header.in: Changed to use new loadfont command.
25311
25312 * util/grub-mkconfig_lib.in: Changed font extension.
25313
25314 2008-12-28 Felix Zielcke <fzielcke@z-51.de>
25315
25316 * util/getroot.c (grub_util_get_grub_dev): Add support for
25317 /dev/md/dNNpNN style partitionable mdraid devices.
25318
25319 2008-12-12 Alex Smith <alex@alex-smith.me.uk>
25320
25321 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
25322 at a time limit of the PXE TFTP API correctly.
25323 (grub_pxefs_close): Likewise.
25324
25325 2008-11-29 Robert Millan <rmh@aybabtu.com>
25326
25327 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
25328 grub_ata_device_initialize() calls.
25329
25330 2008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
25331
25332 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
25333 iteration failed.
25334 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
25335
25336 2008-11-28 Robert Millan <rmh@aybabtu.com>
25337
25338 Fix build on powerpc-ieee1275. Based on patch created by
25339 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
25340 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
25341 `kern/ieee1275/mmap.c'.
25342 * include/grub/powerpc/ieee1275/memory.h: New file.
25343
25344 Provide grub-install on coreboot.
25345 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
25346 (grub_install_SOURCES): New variable.
25347 * util/i386/pc/grub-install.in: Add a few condition checks to make it
25348 usable on coreboot.
25349
25350 2008-11-25 Felix Zielcke <fzielcke@z-51.de>
25351
25352 * util/grub-fstest.c (grub_term_get_current_input): Change return type
25353 to `grub_term_input_t'.
25354 (grub_term_get_current_output): Change return type to
25355 `grub_term_output_t'.
25356
25357 2008-11-22 Robert Millan <rmh@aybabtu.com>
25358
25359 Fix breakage on coreboot due to declaration mismatch.
25360 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
25361 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
25362 grub_vga_text_cls().
25363
25364 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
25365 comments. Avoid copying one more byte than necessary (just in case).
25366
25367 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
25368 to 0x200000 (avoids trouble with some OFW implementations, and matches
25369 with the one in Yaboot).
25370 Reported by Manoel Abranches
25371
25372 2008-11-20 Robert Millan <rmh@aybabtu.com>
25373
25374 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
25375 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
25376
25377 * util/grub-mkconfig_lib.in (grub_warn): New function.
25378 (convert_system_path_to_grub_path): Use grub_warn() when issuing
25379 warnings, to obtain consistent formatting.
25380 * util/grub.d/00_header.in: Likewise.
25381 * util/update-grub_lib.in: Likewise.
25382
25383 * loader/i386/linux.c (allocate_pages): Fix a warning.
25384 Move comment text to `#error' stanza.
25385
25386 Harmonize ieee1275's grub_available_iterate() with the generic
25387 grub_machine_mmap_iterate() interface (fixes a recently-introduced
25388 build problem on i386-ieee1275):
25389 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
25390 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
25391 parameter `type'. Update all users of this function.
25392 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
25393 `kern/ieee1275/mmap.c'.
25394 * kern/ieee1275/init.c
25395 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
25396 with ...
25397 (grub_machine_mmap_iterate): ... this.
25398 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
25399 return type to `grub_err_t'. Update all implementations of this
25400 function prototype.
25401 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
25402 Likewise.
25403
25404 Add `lsmmap' command (lists firmware-provided memory map):
25405 * commands/lsmmap.c: New file.
25406 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
25407 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
25408 variables.
25409 * conf/powerpc-ieee1275.rmk: Likewise.
25410 * conf/i386-coreboot.rmk: Likewise.
25411 * conf/i386-ieee1275.rmk: Likewise.
25412
25413 2008-11-19 Robert Millan <rmh@aybabtu.com>
25414
25415 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
25416 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
25417 constraints to initrd allocation (based on code from
25418 loader/i386/pc/linux.c). Without them, initrd was allocated too high
25419 for Linux to find it.
25420
25421 2008-11-14 Robert Millan <rmh@aybabtu.com>
25422
25423 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
25424 order to cope with duplicate slashes.
25425
25426 2008-11-14 Robert Millan <rmh@aybabtu.com>
25427
25428 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
25429 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
25430 don't want to mess with lower memory, because it is used in the Linux
25431 loader.
25432
25433 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
25434 an appropriate place in lower memory, between 0x10000 and 0x90000,
25435 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
25436 is in our heap (probably as a result of it being corrupted during
25437 decompression). Add #error instance with comment to explain why this
25438 loader isn't currently usable on PC/BIOS.
25439
25440 2008-11-14 Robert Millan <rmh@aybabtu.com>
25441
25442 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
25443 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
25444
25445 2008-11-12 Robert Millan <rmh@aybabtu.com>
25446
25447 Make loader/i386/linux.c buildable on i386-pc (although disabled).
25448
25449 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
25450 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
25451 from here ...
25452 * include/grub/i386/pc/memory.h: ... to here.
25453
25454 2008-11-12 Robert Millan <rmh@aybabtu.com>
25455
25456 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
25457 split).
25458
25459 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
25460 (grub_console_cur_color, grub_console_real_putchar)
25461 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
25462 (grub_console_setcolorstate, grub_console_setcolor)
25463 (grub_console_getcolor): Move from here ...
25464 * include/grub/i386/vga_common.h: ... to here (new file).
25465
25466 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
25467 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
25468 `<grub/i386/io.h>'.
25469 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
25470 `<grub/i386/vga_common.h>'.
25471
25472 2008-11-12 Robert Millan <rmh@aybabtu.com>
25473
25474 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
25475 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
25476 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
25477 variables.
25478 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
25479 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
25480
25481 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
25482 grub_console_init() with call to grub_vga_text_init().
25483 (grub_machine_fini): Replace call to
25484 grub_console_fini() with call to grub_vga_text_fini() and
25485 grub_at_keyboard_fini().
25486
25487 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
25488 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
25489 (grub_console_setcolorstate, grub_console_setcolor)
25490 (grub_console_getcolor): New function prototypes.
25491
25492 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
25493 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
25494 (grub_vga_text_setcursor): Static-ize.
25495 (grub_vga_text_term): New structure.
25496 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
25497
25498 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
25499 (grub_console_cur_color, grub_console_standard_color)
25500 (grub_console_normal_color, grub_console_highlight_color)
25501 (map_char, grub_console_putchar, grub_console_getcharwidth)
25502 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
25503 (grub_console_getcolor): Move from here ...
25504 * term/i386/vga_common.c: ... to here (same function names).
25505
25506 2008-11-12 Robert Millan <rmh@aybabtu.com>
25507
25508 Use newly-added Multiboot support in coreboot.
25509
25510 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
25511 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
25512
25513 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
25514 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
25515 (codestart): Store the MBI in `startup_multiboot_info' when we're
25516 being loaded using Multiboot.
25517
25518 * kern/i386/coreboot/init.c (grub_machine_init): Move
25519 grub_at_keyboard_init() call to beginning of function (useful for
25520 debugging). Call grub_machine_mmap_init() before attempting to use
25521 grub_machine_mmap_iterate().
25522 (grub_lower_mem, grub_upper_mem): Move from here ...
25523 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
25524 here (new file).
25525
25526 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
25527 function prototype.
25528
25529 2008-11-12 Robert Millan <rmh@aybabtu.com>
25530
25531 Fix a regression introduced by the at_keyboard.mod split. Because
25532 some terminals are default on some platforms and non-default on
25533 others, the first terminal being registered determines which is
25534 going to be default.
25535
25536 * kern/term.c (grub_term_register_input): If this is the first
25537 terminal being registered, set it as the current one.
25538 (grub_term_register_output): Likewise.
25539
25540 * term/efi/console.c (grub_console_init): Do not call
25541 grub_term_set_current_output() or grub_term_set_current_input().
25542 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
25543 * term/i386/pc/console.c (grub_console_init): Likewise.
25544 (grub_console_fini): Do not call grub_term_set_current_input()
25545 (but leave grub_term_set_current_output() to restore text mode).
25546
25547 2008-11-10 Robert Millan <rmh@aybabtu.com>
25548
25549 * util/grub.d/00_header.in: Add backward compatibility check for
25550 versions of terminal.mod that don't understand `terminal_input' or
25551 `terminal_output'.
25552
25553 2008-11-09 Robert Millan <rmh@aybabtu.com>
25554
25555 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
25556 `terminal_input' / `terminal_output', not `terminal'.
25557
25558 2008-11-08 Robert Millan <rmh@aybabtu.com>
25559
25560 * Makefile.in (include_DATA): Fix srcdir=. assumption.
25561 (DISTCLEANFILES): Add `build_env.mk'.
25562
25563 2008-11-08 Robert Millan <rmh@aybabtu.com>
25564
25565 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
25566 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
25567 members. Update all users.
25568 * util/console.c (grub_ncurses_term): Split in ...
25569 (grub_ncurses_term_input): ... this, and ...
25570 (grub_ncurses_term_output): ... this. Update all users.
25571 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
25572
25573 2008-11-08 Robert Millan <rmh@aybabtu.com>
25574
25575 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
25576 (PKGDATA): Add $(pkgdata_SRCDIR).
25577 (pkglib_BUILDDIR): New variable.
25578 (pkgdata_SRCDIR): New variable.
25579 (build_env.mk): New target.
25580 (include_DATA): New variable.
25581 (install-local): Install $(include_DATA) files in $(includedir).
25582
25583 2008-11-07 Pavel Roskin <proski@gnu.org>
25584
25585 * gendistlist.sh: Use C locale for sorting to ensure consistent
25586 output on all systems.
25587
25588 * util/grub.d/00_header.in: Remove incorrect space before
25589 "serial".
25590
25591 2008-11-07 Robert Millan <rmh@aybabtu.com>
25592
25593 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
25594 per specification.
25595 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
25596 * loader/multiboot_loader.c (find_multi_boot2_header): New function
25597 (based on find_multi_boot1_header).
25598 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
25599 using find_multi_boot2_header(), and abort if neither Multiboot or
25600 Multiboot headers were found.
25601
25602 2008-11-07 Robert Millan <rmh@aybabtu.com>
25603
25604 Modularize at_keyboard.mod:
25605
25606 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
25607 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
25608 (at_keyboard_mod_LDFLAGS): New variables.
25609
25610 Actual terminal split:
25611
25612 * include/grub/term.h (struct grub_term): Split in ...
25613 (struct grub_term_input): ... this, and ...
25614 (struct grub_term_output): ... this. Update all users.
25615 (grub_term_set_current): Split in ...
25616 (grub_term_set_current_input): ... this, and ...
25617 (grub_term_set_current_output): ... this.
25618 (grub_term_get_current): Split in ...
25619 (grub_term_get_current_input): ... this, and ...
25620 (grub_term_get_current_output): ... this.
25621 (grub_term_register): Split in ...
25622 (grub_term_register_input): ... this, and ...
25623 (grub_term_register_output): ... this.
25624 (grub_term_unregister): Split in ...
25625 (grub_term_unregister_input): ... this, and ...
25626 (grub_term_unregister_output): ... this.
25627 (grub_term_iterate): Split in ...
25628 (grub_term_iterate_input): ... this, and ...
25629 (grub_term_iterate_output): ... this.
25630
25631 * kern/term.c (grub_term_list): Split in ...
25632 (grub_term_list_input): ... this, and ...
25633 (grub_term_list_output): ... this. Update all users.
25634 (grub_cur_term): Split in ...
25635 (grub_cur_term_input): ... this, and ...
25636 (grub_cur_term_output): ... this. Update all users.
25637 (grub_term_set_current): Split in ...
25638 (grub_term_set_current_input): ... this, and ...
25639 (grub_term_set_current_output): ... this.
25640 (grub_term_get_current): Split in ...
25641 (grub_term_get_current_input): ... this, and ...
25642 (grub_term_get_current_output): ... this.
25643 (grub_term_register): Split in ...
25644 (grub_term_register_input): ... this, and ...
25645 (grub_term_register_output): ... this.
25646 (grub_term_unregister): Split in ...
25647 (grub_term_unregister_input): ... this, and ...
25648 (grub_term_unregister_output): ... this.
25649 (grub_term_iterate): Split in ...
25650 (grub_term_iterate_input): ... this, and ...
25651 (grub_term_iterate_output): ... this.
25652
25653 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
25654 a check for input and one for output (and only attempt to get keys
25655 from user when input works).
25656
25657 * util/grub-probe.c (grub_term_get_current): Split in ...
25658 (grub_term_get_current_input): ... this, and ...
25659 (grub_term_get_current_output): ... this.
25660 * util/grub-fstest.c: Likewise.
25661 * util/i386/pc/grub-setup.c: Likewise.
25662 * util/grub-editenv.c: Likewise.
25663
25664 Portability adjustments:
25665
25666 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
25667 `term/i386/pc/at_keyboard.c'.
25668 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
25669 grub_keyboard_controller_init() (now handled by terminal .init).
25670 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
25671 grub_at_keyboard_init().
25672 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
25673 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
25674 at_keyboard.mod via input terminal interface).
25675 * include/grub/i386/coreboot/console.h: Convert into a stub for
25676 `<grub/i386/pc/console.h>'.
25677
25678 Migrate full terminals to new API:
25679
25680 * term/efi/console.c (grub_console_term): Split into ...
25681 (grub_console_term_input): ... this, and ...
25682 (grub_console_term_output): ... this. Update all users.
25683 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
25684 (grub_ofconsole_init): Split into ...
25685 (grub_ofconsole_init_input): ... this, and ...
25686 (grub_ofconsole_init_output): ... this.
25687 (grub_ofconsole_term): Split into ...
25688 (grub_ofconsole_term_input): ... this, and ...
25689 (grub_ofconsole_term_output): ... this. Update all users.
25690 * term/i386/pc/serial.c (grub_serial_term): Split into ...
25691 (grub_serial_term_input): ... this, and ...
25692 (grub_serial_term_output): ... this. Update all users.
25693 * term/i386/pc/console.c (grub_console_term): Split into ...
25694 (grub_console_term_input): ... this, and ...
25695 (grub_console_term_output): ... this. Update all users.
25696 (grub_console_term_input): Only enable it on PC/BIOS platform.
25697 (grub_console_init): Remove grub_keyboard_controller_init() call.
25698
25699 Migrate input terminals to new API:
25700
25701 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
25702 `i386' and `i386/pc' to enable build on x86_64 (this driver is
25703 i386-specific anyway).
25704 (grub_console_checkkey): Rename to ...
25705 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
25706 users.
25707 (grub_keyboard_controller_orig): New variable.
25708 (grub_console_getkey): Rename to ...
25709 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
25710 users.
25711 (grub_keyboard_controller_init): Static-ize. Save original
25712 controller value so that it can be restored ...
25713 (grub_keyboard_controller_fini): ... here (new function).
25714 (grub_at_keyboard_term): New structure.
25715 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
25716 functions.
25717
25718 Migrate output terminals to new API:
25719
25720 * term/i386/pc/vga.c (grub_vga_term): Change type to
25721 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
25722 members. Update all users.
25723 * term/gfxterm.c (grub_video_term): Change type to
25724 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
25725 members. Update all users.
25726 * include/grub/i386/pc/console.h (grub_console_checkkey)
25727 (grub_console_getkey): Do not export (no longer needed by gfxterm,
25728 etc).
25729
25730 Migrate `terminal' command and userland tools to new API:
25731
25732 * commands/terminal.c (grub_cmd_terminal): Split into ...
25733 (grub_cmd_terminal_input): ... this, and ...
25734 (grub_cmd_terminal_output): ... this.
25735 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
25736 `terminal_input' and `terminal_output'.
25737 * util/grub.d/00_header.in: Adjust `terminal' calls to new
25738 `terminal_input' / `terminal_output' API.
25739 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
25740 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
25741 provided ${GRUB_TERMINAL}, convert it).
25742
25743 2008-11-04 Robert Millan <rmh@aybabtu.com>
25744
25745 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
25746 for FreeBSD.
25747 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
25748
25749 2008-11-03 Bean <bean123ch@gmail.com>
25750
25751 * kern/elf.c (grub_elf32_load): Revert to previous code.
25752 (grub_elf64_load): Likewise.
25753
25754 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
25755
25756 2008-11-01 Robert Millan <rmh@aybabtu.com>
25757
25758 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
25759 (TARGET_CPPFLAGS): Likewise.
25760 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
25761
25762 2008-11-01 Carles Pina i Estany <carles@pina.cat>
25763
25764 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
25765
25766 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
25767
25768 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
25769 addition of objects until the code is not going to be able to fail.
25770
25771 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
25772
25773 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
25774 (add a missing NULL check, and correct them by moving the pointer
25775 operations after the actual check).
25776
25777 2008-10-29 Robert Millan <rmh@aybabtu.com>
25778
25779 * util/i386/pc/grub-install.in: Handle empty string as output from
25780 make_system_path_relative_to_its_root().
25781
25782 2008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
25783
25784 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
25785 circular metadata worst case scenario. If the metadata is circular
25786 then copy the wrap in place.
25787 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
25788 project lib/format_text/layout.h
25789 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
25790
25791 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
25792
25793 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
25794
25795 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
25796
25797 * util/update-grub_lib.in: Mention filename in warning message.
25798
25799 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
25800
25801 * NEWS: Update for rename of update-grub to grub-mkconfig.
25802
25803 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
25804
25805 * util/update-grub_lib.in: Copy to ...
25806 * util/grub-mkconfig_lib.in: ... this. Update all users.
25807 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
25808 * util/update-grub.in: Rename to ...
25809 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
25810 option. Add `--output' option to allow users to specify the generated
25811 configuration file. Default to stdout.
25812 (update_grub_dir): Rename to ...
25813 (grub_mkconfig_dir): ... this.
25814 (grub_cfg): Default to an empty string.
25815 * conf/common.rmk (update-grub): Rename to ...
25816 (grub-mkconfig): ... this.
25817 (update-grub_lib): Copy to ...
25818 (grub-mkconfig_lib): ... this.
25819 (update-grub_SCRIPTS): Copy to ...
25820 (grub-mkconfig_SCRIPTS): ... this. Update all users.
25821 (update-grub_DATA): Rename to ...
25822 (grub-mkconfig_DATA): ... this.
25823
25824 2008-09-28 Robert Millan <rmh@aybabtu.com>
25825
25826 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
25827 to `modified'. Add the real `created' field.
25828 (grub_iso9660_uuid): Use `modified' rather than `created' for
25829 constructing the UUID.
25830
25831 2008-09-28 Felix Zielcke <fzielcke@z-51.de>
25832
25833 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
25834 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
25835
25836 2008-09-28 Bean <bean123ch@gmail.com>
25837
25838 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
25839 Thanks to Christian Franke for finding this bug.
25840
25841 2008-09-25 Robert Millan <rmh@aybabtu.com>
25842
25843 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
25844 instances of grub_util_get_disk_name() (see previous commit).
25845
25846 2008-09-25 Robert Millan <rmh@aybabtu.com>
25847
25848 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
25849 `util/i386/get_disk_name.c'.
25850 * conf/i386-efi.rmk: Likewise.
25851 * conf/x86_64-efi.rmk: Likewise.
25852 * conf/i386-coreboot.rmk: Likewise.
25853 * conf/i386-ieee1275.rmk: Likewise.
25854 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
25855 `util/ieee1275/get_disk_name.c'.
25856 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
25857 * util/ieee1275/get_disk_name.c: Remove file.
25858 * util/i386/get_disk_name.c: Remove file.
25859 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
25860 "hd%d" for device.map entries, rather than using
25861 grub_util_get_disk_name().
25862
25863 2008-09-24 Carles Pina i Estany <carles@pina.cat>
25864
25865 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
25866 warning.
25867 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
25868
25869 2008-09-24 Carles Pina i Estany <carles@pina.cat>
25870
25871 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
25872 Changed to 0x5100.
25873 (GRUB_TERM_PPAGE): Changed to 0x4900.
25874
25875 2008-09-24 Robert Millan <rmh@aybabtu.com>
25876
25877 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
25878 macros (they were i386-pc specific).
25879 * include/grub/sparc64/ieee1275/console.h: Likewise.
25880 * include/grub/efi/console.h: Likewise.
25881
25882 2008-09-22 Bean <bean123ch@gmail.com>
25883
25884 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
25885 resident and in attribute list.
25886
25887 * include/grub/ntfs.h (BMP_LEN): Removed.
25888
25889 2008-09-22 Bean <bean123ch@gmail.com>
25890
25891 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
25892 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
25893
25894 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
25895 error occurs, as grub_disk_open will call grub_disk_close, which will
25896 call p->close (scsi).
25897
25898 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
25899
25900 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
25901 (AC_PREREQ): Bumped to 2.59.
25902 (AC_TRY_COMPILE): Replace obsolete macro with ...
25903 (AC_COMPILE_IFELSE): ... this.
25904 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
25905 (AC_LINK_IFELSE): ... this.
25906
25907 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
25908
25909 * autogen.sh: Add a call to `gendistlist.sh'.
25910
25911 2008-09-19 Christian Franke <franke@computer.org>
25912
25913 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
25914 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
25915 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
25916 Export __enable_execute_stack() to modules.
25917 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
25918 New function.
25919
25920 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
25921
25922 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
25923 Sort the list.
25924
25925 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
25926
25927 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
25928 #include <grub/util/hostdisk.h>.
25929
25930 2008-09-08 Robert Millan <rmh@aybabtu.com>
25931
25932 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
25933 segments when their filesz is zero (grub_file_read() interprets
25934 zero-size as "read until EOF", which results in memory corruption).
25935 Use `lowest_segment' rather than 0 for calculating the current
25936 segment load address.
25937
25938 2008-09-08 Robert Millan <rmh@aybabtu.com>
25939
25940 * util/hostdisk.c (open_device): Replace a grub_util_info() call
25941 with grub_dprintf("hostdisk", ...), as it was so verbose that it
25942 clobbered useful information.
25943
25944 2008-09-08 Robert Millan <rmh@aybabtu.com>
25945
25946 * include/grub/util/biosdisk.h: Move to ...
25947 * include/grub/util/hostdisk.h: ... here. Update all users.
25948 * util/biosdisk.c: Move to ...
25949 * util/hostdisk.c: ... here. Update all users.
25950
25951 2008-09-07 Robert Millan <rmh@aybabtu.com>
25952
25953 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
25954 variables.
25955 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
25956 and length can be stored directly in the `mbi->mmap_addr' and
25957 `mbi->mmap_length' struct fields.
25958
25959 2008-09-07 Robert Millan <rmh@aybabtu.com>
25960
25961 * conf/i386.rmk: New file. Provides declaration for building
25962 `cpuid.mod'.
25963 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
25964 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
25965 variables.
25966 Include `conf/i386.mk'.
25967 * conf/i386-efi.rmk: Likewise.
25968 * conf/x86_64-efi.rmk: Likewise.
25969 * conf/i386-coreboot.rmk: Likewise.
25970 * conf/i386-ieee1275.rmk: Likewise.
25971
25972 2008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
25973
25974 Based on patch created by Colin D Bennett <colin@gibibit.com>.
25975 Adds optimization support for BGR based modes.
25976
25977 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
25978 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
25979 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
25980 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
25981 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
25982 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
25983 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
25984 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
25985 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
25986 (grub_video_i386_vbeblit_index_index): Likewise.
25987 (grub_video_i386_vbeblit_replace_directN): Added.
25988 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
25989 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
25990 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
25991 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
25992 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
25993 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
25994 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
25995 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
25996 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
25997 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
25998 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
25999 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
26000 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
26001
26002 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
26003 (grub_video_i386_vbefill_R8G8B8): Likewise.
26004 (grub_video_i386_vbefill_index): Likewise.
26005 (grub_video_i386_vbefill_direct32): Added.
26006 (grub_video_i386_vbefill_direct24): Likewise.
26007 (grub_video_i386_vbefill_direct16): Likewise.
26008 (grub_video_i386_vbefill_direct8): Likewise.
26009
26010 * include/grub/video.h (grub_video_blit_format): Removed
26011 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
26012 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
26013 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
26014 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
26015 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
26016
26017 * video/video.c (grub_video_get_blit_format): Updated to use new
26018 blit formats. Added handling for 16 bit color modes.
26019
26020 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
26021 fillers.
26022 (common_blitter): Updated to use new blitters.
26023
26024 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
26025 Removed.
26026 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
26027 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
26028 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
26029 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
26030 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
26031 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
26032 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
26033 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
26034 (grub_video_i386_vbeblit_index_index): Likewise.
26035 (grub_video_i386_vbeblit_replace_directN): Added.
26036 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
26037 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
26038 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
26039 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
26040 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
26041 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
26042 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
26043 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
26044 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
26045 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
26046 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
26047 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
26048 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
26049
26050 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
26051 (grub_video_i386_vbefill_R8G8B8): Likewise.
26052 (grub_video_i386_vbefill_index): Likewise.
26053 (grub_video_i386_vbefill_direct32): Added.
26054 (grub_video_i386_vbefill_direct24): Likewise.
26055 (grub_video_i386_vbefill_direct16): Likewise.
26056 (grub_video_i386_vbefill_direct8): Likewise.
26057
26058 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
26059 types.
26060
26061 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
26062 types.
26063
26064 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
26065 blitter types.
26066
26067 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
26068 types.
26069
26070 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
26071
26072 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
26073 RAID level 1.
26074
26075 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
26076
26077 * fs/iso9660.c (grub_iso9660_date): New structure.
26078 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
26079 (grub_iso9660_uuid): New function.
26080
26081 2008-09-05 Bean <bean123ch@gmail.com>
26082
26083 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
26084
26085 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
26086 insensitive bit for names in Win32 and Win32 & DOS namespace.
26087
26088 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
26089
26090 * include/grub/types.h (LONG_MAX): Likewise.
26091
26092 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
26093
26094 * util/getroot.c: Include <config.h>.
26095 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
26096 add support for /dev/md/N devices and handle LVM double dash escaping.
26097
26098 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
26099
26100 * config.guess: Update to latest version from config git.
26101 * config.sub: Likewise.
26102
26103 2008-09-03 Robert Millan <rmh@aybabtu.com>
26104
26105 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
26106 `disk->total_sectors'.
26107
26108 2008-09-01 Colin D Bennett <colin@gibibit.com>
26109
26110 * include/grub/normal.h: Fixed incorrect comment for
26111 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
26112
26113 2008-09-01 Colin D Bennett <colin@gibibit.com>
26114
26115 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
26116 values with defines.
26117
26118 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
26119 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
26120 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
26121 (GRUB_VBE_MODEATTR_COLOR): Likewise.
26122 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
26123 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
26124 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
26125 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
26126 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
26127 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
26128 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
26129 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
26130 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
26131 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
26132 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
26133 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
26134 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
26135 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
26136 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
26137
26138 2008-08-31 Robert Millan <rmh@aybabtu.com>
26139
26140 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
26141 declaration.
26142 (grub_multiboot): Fix a few warnings.
26143
26144 2008-08-31 Robert Millan <rmh@aybabtu.com>
26145
26146 * loader/i386/pc/multiboot.c: Update comment not to say that
26147 boot_device support is unimplemented.
26148
26149 2008-08-31 Robert Millan <rmh@aybabtu.com>
26150
26151 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
26152 or memory map support are unimplemented.
26153
26154 2008-08-31 Colin D Bennett <colin@gibibit.com>
26155
26156 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
26157
26158 2008-08-31 Colin D Bennett <colin@gibibit.com>
26159
26160 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
26161 total video memory in 'vbeinfo' output; show color format details for
26162 each video mode.
26163
26164 2008-08-30 Pavel Roskin <proski@gnu.org>
26165
26166 * util/genmoddep.c: Remove for real this time.
26167 * DISTLIST: Remove util/genmoddep.c.
26168
26169 2008-08-30 Robert Millan <rmh@aybabtu.com>
26170
26171 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
26172 as required by Multiboot spec (it was already 4-byte aligned, but
26173 only by chance).
26174
26175 2008-08-29 Pavel Roskin <proski@gnu.org>
26176
26177 * kern/powerpc/ieee1275/crt0.S: Rename to ...
26178 * kern/powerpc/ieee1275/startup.S: ... this.
26179 * conf/powerpc-ieee1275.rmk: Adjust for the above.
26180 * DISTLIST: Likewise.
26181
26182 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
26183 grub/cpu/kernel.h. Add start label for consistency with other
26184 platforms. Add grub_prefix immediately after start. Add jump
26185 to the code after grub_prefix.
26186 * include/grub/powerpc/kernel.h: Provide valid values for
26187 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
26188
26189 2008-08-29 Bean <bean123ch@gmail.com>
26190
26191 * configure.ac: Change host_os to cygwin for mingw.
26192 (asprintf): New check for function.
26193
26194 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
26195 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
26196
26197 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
26198 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
26199 sync, sleep and grub_util_get_disk_size for mingw.
26200
26201 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
26202 to get size in mingw.
26203 (open_device): Use flag O_BINARY if it's defined.
26204 (find_root_device): Add dummy code for mingw.
26205
26206 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
26207 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
26208 (get_scsi_disk_name): Return 0 for mingw.
26209
26210 * util/hostfs.c: #include <grub/util/misc.h>.
26211 (grub_hostfs_open): Use "rb" flag to open file, use
26212 grub_util_get_disk_size to get disk size for mingw.
26213
26214 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
26215 (asprintf): New function if HAVE_ASPRINTF is not set.
26216 (sync): New function for mingw.
26217 (sleep): Likewise.
26218 (grub_util_get_disk_size): Likewise.
26219
26220 2008-08-28 Pavel Roskin <proski@gnu.org>
26221
26222 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
26223 kern/time.c.
26224
26225 2008-08-28 Robert Millan <rmh@aybabtu.com>
26226
26227 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
26228
26229 2008-08-28 Robert Millan <rmh@aybabtu.com>
26230
26231 Change find_grub_drive() syntax so it doesn't prevent it from
26232 detecting NULL names as errors.
26233
26234 * util/biosdisk.c (find_grub_drive): Move free slot search code
26235 from here ...
26236 (find_free_slot): ... to here.
26237 (read_device_map): Use find_free_slot() to search for free slots.
26238
26239 2008-08-27 Marco Gerards <marco@gnu.org>
26240
26241 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
26242 (scsi_mod_SOURCES): New variable.
26243 (scsi_mod_CFLAGS): Likewise
26244 (scsi_mod_LDFLAGS): Likewise.
26245
26246 * disk/scsi.c: New file.
26247
26248 * include/grub/scsi.h: Likewise.
26249
26250 * include/grub/scsicmd.h: Likewise.
26251
26252 * disk/ata.c: Include <grub/scsi.h>.
26253 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
26254 instead.
26255 (grub_ata_iterate): Skip ATAPI devices.
26256 (grub_ata_open): Only handle ATAPI devices.
26257 (struct grub_atapi_read): Removed.
26258 (grub_atapi_readsector): Likewise.
26259 (grub_ata_read): No longer handle ATAPI devices.
26260 (grub_ata_write): Likewise.
26261 (grub_atapi_iterate): New function.
26262 (grub_atapi_read): Likewise.
26263 (grub_atapi_write): Likewise.
26264 (grub_atapi_open): Likewise.
26265 (grub_atapi_close): Likewise.
26266 (grub_atapi_dev): New variable.
26267 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
26268 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
26269
26270 * include/grub/disk.h (enum grub_disk_dev_id): Add
26271 `GRUB_DISK_DEVICE_SCSI_ID'.
26272
26273 2008-08-26 Robert Millan <rmh@aybabtu.com>
26274
26275 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
26276 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
26277 descriptive.
26278
26279 2008-08-23 Bean <bean123ch@gmail.com>
26280
26281 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
26282 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
26283 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
26284 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
26285 dm_nv.mod.
26286 (raid5rec_mod_SOURCES): New macro.
26287 (raid5rec_mod_CFLAGS): Likewise.
26288 (raid5rec_mod_LDFLAGS): Likewise.
26289 (raid6rec_mod_SOURCES): Likewise.
26290 (raid6rec_mod_CFLAGS): Likewise.
26291 (raid6rec_mod_LDFLAGS): Likewise.
26292 (mdraid_mod_SOURCES): Likewise.
26293 (mdraid_mod_CFLAGS): Likewise.
26294 (mdraid_mod_LDFLAGS): Likewise.
26295 (dm_nv_mod_SOURCES): Likewise.
26296 (dm_nv_mod_CFLAGS): Likewise.
26297 (dm_nv_mod_LDFLAGS): Likewise.
26298
26299 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
26300 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
26301 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
26302
26303 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
26304 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
26305
26306 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
26307
26308 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
26309
26310 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26311
26312 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26313
26314 * disk/raid5_recover.c: New file.
26315
26316 * disk/raid6_recover.c: Likewise.
26317
26318 * disk/mdraid_linux.c: Likewise.
26319
26320 * disk/dmraid_nvidia.c: Likewise.
26321
26322 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
26323 ULONG_MAX.
26324
26325 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
26326 calculate the size of raid device.
26327 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
26328 different layout of raid5.
26329 (grub_raid_scan_device): Remove code specific to mdraid.
26330 (grub_raid_list): New variable.
26331 (free_array): New function.
26332 (grub_raid_register): Likewise.
26333 (grub_raid_unregister): Likewise.
26334 (grub_raid_rescan): Likewise.
26335 (GRUB_MOD_INIT): Don't iterate device here.
26336 (GRUB_MOD_FINI): Use free_array to release resource.
26337
26338 * include/grub/raid.h: Remove macro and structure specific to mdraid.
26339 (grub_raid5_recover_func_t): New function variable type.
26340 (grub_raid6_recover_func_t): Likewise.
26341 (grub_raid5_recover_func): New variable.
26342 (grub_raid6_recover_func): Likewise.
26343 (grub_raid_register): New function.
26344 (grub_raid_unregister): Likewise.
26345 (grub_raid_rescan): Likewise.
26346 (grub_raid_block_xor): Likewise.
26347
26348 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
26349 (CMD_CRC): New macro.
26350 (part): Removed.
26351 (read_file): Handle device as well as file.
26352 (cmd_crc): New function.
26353 (fstest): Handle multiple disks.
26354 (options): Remove part, raw and long, add root and diskcount.
26355 (usage): Add crc, remove -p, -r, -l, add -r and -c.
26356 (main): Find the first non option entry and ignore subsequent options,
26357 add handling for the new options, support multiple disks.
26358
26359 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
26360
26361 2008-08-23 Bean <bean123ch@gmail.com>
26362
26363 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
26364
26365 * genfslist.sh: Ignore kernel.mod.
26366
26367 * genpartmaplist.sh: Likewise.
26368
26369 2008-08-23 Robert Millan <rmh@aybabtu.com>
26370
26371 * util/getroot.c (find_root_device): Skip anything that starts with
26372 a dot, not just directories. This avoids things like /dev/.tmp.md0.
26373
26374 2008-08-22 Felix Zielcke <fzielcke@z-51.de>
26375
26376 * util/update-grub.in (GRUB_GFXMODE): Export variable.
26377 * util/grub.d/00_header.in: Allow the administrator to change default
26378 gfxmode via ${GRUB_GFXMODE}.
26379
26380 2008-08-21 Felix Zielcke <fzielcke@z-51.de>
26381
26382 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
26383
26384 2008-08-21 Robert Millan <rmh@aybabtu.com>
26385
26386 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
26387 loader.
26388 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
26389 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
26390
26391 2008-08-20 Carles Pina i Estany <carles@pina.cat>
26392
26393 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
26394 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
26395
26396 2008-08-19 Robert Millan <rmh@aybabtu.com>
26397
26398 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
26399 (struct grub_virtual_screen): Remove `cursor_color'.
26400 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
26401 initialization.
26402 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
26403
26404 2008-08-18 Robert Millan <rmh@aybabtu.com>
26405
26406 Unify (identical) linux_normal.c files.
26407 * loader/i386/efi/linux_normal.c: Move from here ...
26408 * loader/linux_normal.c: ... to here. Update all users.
26409 * loader/i386/pc/linux_normal.c: Delete. Update all users.
26410 * loader/i386/ieee1275/linux_normal.c: Likewise.
26411
26412 2008-08-18 Robert Millan <rmh@aybabtu.com>
26413
26414 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
26415 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
26416 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
26417 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
26418 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
26419 New macros.
26420 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
26421 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
26422 (GRUB_LINUX_CL_END_OFFSET): ... to here.
26423 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
26424 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
26425 (GRUB_EFI_CL_END_OFFSET): Rename to ...
26426 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
26427 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
26428 Initialize `params->video_cursor_x' and `params->video_cursor_y'
26429 portably using grub_getxy().
26430 Replace `-EFI' with `-bzImage' in boot message.
26431
26432 2008-08-17 Robert Millan <rmh@aybabtu.com>
26433
26434 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
26435
26436 2008-08-17 Robert Millan <rmh@aybabtu.com>
26437
26438 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
26439
26440 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
26441 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
26442 (grub_machine_mmap_iterate): New function declaration.
26443 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
26444 structure.
26445 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
26446 macros.
26447
26448 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
26449 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
26450 Move e820 parsing from here ...
26451 * kern/i386/pc/mmap.c: New file.
26452 (grub_machine_mmap_iterate): ... to here.
26453
26454 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
26455 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
26456 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
26457 (grub_available_iterate): Redeclare to return `void', and redeclare
26458 its hook to use grub_uint64_t as addr and size parameters, and rename
26459 to ...
26460 (grub_machine_mmap_iterate): ... this. Update all users.
26461
26462 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
26463 to make it more readable. Rename to ...
26464 (grub_machine_mmap_iterate): ... this.
26465
26466 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
26467 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
26468 (grub_multiboot): Allocate an extra region after the payload, and fill
26469 it with a Multiboot memory map. Adjust a.out loader to calculate size
26470 with the extra space.
26471 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
26472 with the extra space.
26473
26474 2008-08-17 Carles Pina i Estany <carles@pina.cat>
26475
26476 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
26477
26478 2008-08-17 Felix Zielcke <fzielcke@z-51.de>
26479
26480 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
26481 mdate-sh to the list `find' searches for.
26482 * DISTLIST: Regenerated.
26483
26484 2008-08-16 Felix Zielcke <fzielcke@z-51.de>
26485
26486 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
26487 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
26488 genmoddep.awk, gensymlist.sh.in.
26489 (DISTDIRS): Add bus, docs, hook, lib.
26490 * DISTLIST: Regenerated.
26491 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
26492
26493 2008-08-16 Robert Millan <rmh@aybabtu.com>
26494
26495 * disk/raid.c (grub_raid_init): Handle/report errors set by
26496 grub_device_iterate().
26497 * disk/lvm.c (grub_lvm_init): Likewise.
26498
26499 2008-08-15 Bean <bean123ch@gmail.com>
26500
26501 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
26502 and datehook.mod.
26503 (datetime_mod_SOURCES): New macro.
26504 (datetime_mod_CFLAGS): Likewise.
26505 (datetime_mod_LDFLAGS): Likewise.
26506 (date_mod_SOURCES): Likewise.
26507 (date_mod_CFLAGS): Likewise.
26508 (date_mod_LDFLAGS): Likewise.
26509 (datehook_mod_SOURCES): Likewise.
26510 (datehook_mod_CFLAGS): Likewise.
26511 (datehook_mod_LDFLAGS): Likewise.
26512
26513 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
26514 and datehook.mod.
26515 (datetime_mod_SOURCES): New macro.
26516 (datetime_mod_CFLAGS): Likewise.
26517 (datetime_mod_LDFLAGS): Likewise.
26518 (date_mod_SOURCES): Likewise.
26519 (date_mod_CFLAGS): Likewise.
26520 (date_mod_LDFLAGS): Likewise.
26521 (datehook_mod_SOURCES): Likewise.
26522 (datehook_mod_CFLAGS): Likewise.
26523 (datehook_mod_LDFLAGS): Likewise.
26524
26525 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
26526 and datehook.mod.
26527 (datetime_mod_SOURCES): New macro.
26528 (datetime_mod_CFLAGS): Likewise.
26529 (datetime_mod_LDFLAGS): Likewise.
26530 (date_mod_SOURCES): Likewise.
26531 (date_mod_CFLAGS): Likewise.
26532 (date_mod_LDFLAGS): Likewise.
26533 (datehook_mod_SOURCES): Likewise.
26534 (datehook_mod_CFLAGS): Likewise.
26535 (datehook_mod_LDFLAGS): Likewise.
26536
26537 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
26538 and datehook.mod.
26539 (datetime_mod_SOURCES): New macro.
26540 (datetime_mod_CFLAGS): Likewise.
26541 (datetime_mod_LDFLAGS): Likewise.
26542 (date_mod_SOURCES): Likewise.
26543 (date_mod_CFLAGS): Likewise.
26544 (date_mod_LDFLAGS): Likewise.
26545 (datehook_mod_SOURCES): Likewise.
26546 (datehook_mod_CFLAGS): Likewise.
26547 (datehook_mod_LDFLAGS): Likewise.
26548
26549 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
26550 and datehook.mod.
26551 (datetime_mod_SOURCES): New macro.
26552 (datetime_mod_CFLAGS): Likewise.
26553 (datetime_mod_LDFLAGS): Likewise.
26554 (date_mod_SOURCES): Likewise.
26555 (date_mod_CFLAGS): Likewise.
26556 (date_mod_LDFLAGS): Likewise.
26557 (datehook_mod_SOURCES): Likewise.
26558 (datehook_mod_CFLAGS): Likewise.
26559 (datehook_mod_LDFLAGS): Likewise.
26560
26561 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
26562
26563 * commands/date.c: New file.
26564
26565 * hook/datehook.c: Likewise.
26566
26567 * include/grub/lib/datetime.h: Likewise.
26568
26569 * include/grub/i386/cmos.h: Likewise.
26570
26571 * lib/datetime.c: Likewise.
26572
26573 * lib/i386/datetime.c: Likewise.
26574
26575 * lib/efi/datetime.c: Likewise.
26576
26577 2008-08-14 Robert Millan <rmh@aybabtu.com>
26578
26579 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
26580 (grub_mkelfimage_SOURCES): New variable.
26581 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
26582
26583 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
26584 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
26585 * conf/powerpc-ieee1275.rmk: Likewise.
26586 * conf/i386-ieee1275.rmk: Likewise.
26587
26588 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
26589 * kern/i386/coreboot/init.c: Likewise.
26590
26591 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
26592 with `<grub/cpu/kernel.h>'.
26593 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
26594 to ...
26595 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
26596 * kern/i386/coreboot/startup.S: Likewise.
26597
26598 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
26599 (GRUB_MOD_GAP): Remove.
26600 * include/grub/powerpc/kernel.h: New file.
26601 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
26602 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
26603 * include/grub/i386/kernel.h: New file.
26604 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
26605 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
26606 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
26607
26608 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
26609 `grub-mkelfimage'.
26610 Use --directory when invoking grub_mkimage.
26611
26612 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
26613 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
26614 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
26615 and GRUB_KERNEL_CPU_PREFIX.
26616
26617 2008-08-14 Felix Zielcke <fzielcke@z-51.de>
26618
26619 * include/grub/err.h (grub_err_printf): New function prototype.
26620 * util/misc.c (grub_err_printf): New function.
26621 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
26622 grub_printf.
26623 * kern/err.c (grub_print_error): Use grub_err_printf.
26624
26625 2008-08-13 Robert Millan <rmh@aybabtu.com>
26626
26627 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
26628
26629 2008-08-13 Robert Millan <rmh@aybabtu.com>
26630
26631 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
26632 boot entry.
26633
26634 2008-08-12 Robert Millan <rmh@aybabtu.com>
26635
26636 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
26637 of the relocation code from here ...
26638 (grub_multiboot): ... to here.
26639 (forward_relocator, backward_relocator): Move from here ...
26640 * kern/i386/loader.S (grub_multiboot_forward_relocator)
26641 (grub_multiboot_backward_relocator): ... to here.
26642 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
26643 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
26644 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
26645 (grub_multiboot_forward_relocator_end)
26646 (grub_multiboot_backward_relocator)
26647 (grub_multiboot_backward_relocator_end): New variables.
26648
26649 2008-08-12 Bean <bean123ch@gmail.com>
26650
26651 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
26652
26653 2008-08-11 Robert Millan <rmh@aybabtu.com>
26654
26655 * kern/i386/linuxbios/startup.S: Move from here ...
26656 * kern/i386/coreboot/startup.S: ... to here.
26657
26658 * kern/i386/linuxbios/init.c: Move from here ...
26659 * kern/i386/coreboot/init.c: ... to here.
26660
26661 * kern/i386/linuxbios/table.c: Move from here ...
26662 * kern/i386/coreboot/mmap.c: ... to here.
26663
26664 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
26665
26666 2008-08-11 Robert Millan <rmh@aybabtu.com>
26667
26668 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
26669 errors. Leave it to the upper layer to handle them.
26670
26671 2008-08-09 Christian Franke <franke@computer.org>
26672
26673 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
26674 * conf/common.rmk: Install `grub-pe2elf' only if requested.
26675 Install `grub.d/10_windows' only on Cygwin.
26676 * configure.ac: Add subst of `target_os'.
26677 Check `target_os' also before setting TARGET_OBJ2ELF.
26678 Add `--enable-grub-pe2elf'.
26679
26680 2008-08-08 Robert Millan <rmh@aybabtu.com>
26681
26682 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
26683 (grub_last_time): Change type to grub_uint64_t.
26684 (grub_disk_open): Migrate code from to using grub_get_time_ms().
26685 (grub_disk_close): Likewise.
26686
26687 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
26688 (run_menu): Migrate code from to using grub_get_time_ms().
26689
26690 * util/misc.c (grub_get_time_ms): New function.
26691
26692 2008-08-08 Marco Gerards <marco@gnu.org>
26693
26694 * disk/ata.c (grub_ata_regget): Change return type to
26695 `grub_uint8_t'.
26696 (grub_ata_regget2): Likewise.
26697 (grub_ata_wait_status): New function.
26698 (grub_ata_wait_busy): Removed function, updated all users to use
26699 `grub_ata_wait_status'.
26700 (grub_ata_wait_drq): Likewise.
26701 (grub_ata_cmd): New function.
26702 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
26703 error handling.
26704 (grub_ata_pio_write): Add error handling.
26705 (grub_atapi_identify): Likewise.
26706 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
26707 handling.
26708 (grub_ata_identify): Use `grub_ata_cmd' and improve error
26709 handling. Actually use the detected registers. Reorder the
26710 detection logic such that it is easier to read.
26711 (grub_ata_pciinit): Do not assign the same ID to each controller.
26712 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
26713 handling.
26714 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
26715
26716 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
26717
26718 2008-08-08 Marco Gerards <marco@gnu.org>
26719
26720 * NEWS: Update.
26721
26722 2008-08-07 Bean <bean123ch@gmail.com>
26723
26724 * include/grub/x86_64/pci.h: New file.
26725
26726 2008-08-07 Christian Franke <franke@computer.org>
26727
26728 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
26729 (TIMER2_GATE): Likewise.
26730 (grub_pit_wait): Add enable/disable of the timer2 gate
26731 bit of port 0x61. This fixes a possible infinite loop.
26732
26733 2008-08-07 Bean <bean123ch@gmail.com>
26734
26735 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
26736 kern/i386/tsc.c and kern/i386/pit.c.
26737
26738 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
26739 x86_64 platform.
26740
26741 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
26742 <grub/i386/tsc.h>.
26743
26744 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
26745
26746 2008-08-07 Bean <bean123ch@gmail.com>
26747
26748 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
26749
26750 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
26751
26752 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
26753 multiple inclusion. Add #include <grub/types.h>.
26754
26755 2008-08-06 Christian Franke <franke@computer.org>
26756
26757 * conf/common.rmk: Build and install `10_windows'.
26758 * util/grub.d/10_windows.in: New script.
26759
26760 2008-08-06 Pavel Roskin <proski@gnu.org>
26761
26762 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
26763
26764 2008-08-06 Robert Millan <rmh@aybabtu.com>
26765
26766 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
26767 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
26768
26769 2008-08-06 Bean <bean123ch@gmail.com>
26770
26771 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
26772 (grub_pxefs_fs_int): Remove dummy definition.
26773 (grub_pxefs_open): Use data->block_size to store the current block
26774 size setting.
26775 (grub_pxefs_read): Use block size stored in data->block_size. As the
26776 value of grub_pxe_blksize can be changed after the file is opened.
26777
26778 2008-08-06 Bean <bean123ch@gmail.com>
26779
26780 * fs/i386/pc/pxe.c (curr_file): new variable.
26781 (grub_pxefs_open): Simply the handling of pxe file system. Don't
26782 require the dummy internal file system anymore.
26783 (grub_pxefs_read): Removed.
26784 (grub_pxefs_close): Likewise.
26785 (grub_pxefs_fs_int): Likewise.
26786 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
26787 connection when we switch file.
26788 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
26789
26790 2008-08-06 Robert Millan <rmh@aybabtu.com>
26791
26792 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
26793 `halt.mod'.
26794 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
26795 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
26796
26797 * kern/i386/halt.c: New file.
26798 * kern/i386/reboot.c: Likewise.
26799 * include/grub/i386/reboot.h: Likewise.
26800 * include/grub/i386/halt.h: Likewise.
26801
26802 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
26803 Include `<grub/cpu/halt.h>'.
26804 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
26805 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
26806
26807 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
26808 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
26809 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
26810 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
26811 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
26812 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
26813 from here ...
26814 * include/grub/i386/at_keyboard.h: ... to here.
26815
26816 2008-08-05 Robert Millan <rmh@aybabtu.com>
26817
26818 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
26819 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
26820 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
26821 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
26822 `kern/generic/millisleep.c'.
26823
26824 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
26825 instead of grub_get_rtc().
26826 (grub_tsc_init): Initialize `tsc_boot_time'.
26827
26828 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
26829 (grub_machine_init): Use grub_tsc_init() rather than
26830 installing an RTC-based handler via grub_install_get_time_ms().
26831
26832 * kern/i386/pit.c: New file.
26833 * include/grub/i386/pit.h: Likewise.
26834
26835 2008-08-05 Bean <bean123ch@gmail.com>
26836
26837 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
26838
26839 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
26840 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
26841 (pxe_mod_SOURCES): New macro.
26842 (pxe_mod_CFLAGS): Likewise.
26843 (pxe_mod_LDFLAGS): Likewise.
26844 (pxecmd_mod_SOURCES): Likewise.
26845 (pxecmd_mod_CFLAGS): Likewise.
26846 (pxecmd_mod_LDFLAGS): Likewise.
26847
26848 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
26849 (grub_pxe_call): Likewise.
26850
26851 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
26852
26853 * commands/i386/pc/pxecmd.c: New file.
26854
26855 * fs/i386/pc/pxe.c: Likewise.
26856
26857 * include/grub/i386/pc/pxe.h: Likewise.
26858
26859 2008-08-05 Bean <bean123ch@gmail.com>
26860
26861 * util/console.c (grub_console_cur_color): New variable.
26862 (grub_console_standard_color): Likewise.
26863 (grub_console_normal_color): Likewise.
26864 (grub_console_highlight_color): Likewise.
26865 (color_map): Likewise.
26866 (use_color): Likewise.
26867 (NUM_COLORS): New macro.
26868 (grub_ncurses_setcolorstate): Handle color properly.
26869 (grub_ncurses_setcolor): Don't change color here, just remember the
26870 settings, color will be set in grub_ncurses_setcolorstate.
26871 (grub_ncurses_getcolor): New function.
26872 (grub_ncurses_init): Initialize color pairs.
26873 (grub_ncurses_term): New member grub_ncurses_getcolor.
26874
26875 2008-08-05 Colin D Bennett <colin@gibibit.com>
26876
26877 High resolution timer support. Implemented for x86 CPUs using TSC.
26878 Extracted generic grub_millisleep() so it's linked in only as needed.
26879 This requires a Pentium compatible CPU; if the RDTSC instruction is
26880 not supported, then it falls back on the generic grub_get_time_ms()
26881 implementation that uses the machine's RTC.
26882
26883 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
26884 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
26885 `kern/generic/millisleep.c'.
26886
26887 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
26888 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
26889
26890 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
26891 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
26892
26893 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
26894
26895 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
26896 `kern/generic/millisleep.c'.
26897
26898 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
26899
26900 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
26901
26902 * kern/generic/rtc_get_time_ms.c: New file.
26903
26904 * kern/generic/millisleep.c: New file.
26905
26906 * kern/misc.c: Don't include
26907 <kern/time.h> anymore.
26908 (grub_millisleep_generic): Removed.
26909
26910 * commands/sleep.c (grub_interruptible_millisleep): Uses
26911 grub_get_time_ms() instead of grub_get_rtc().
26912
26913 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
26914 function.
26915 (grub_cpu_is_cpuid_supported): New inline function.
26916 (grub_cpu_is_tsc_supported): New inline function.
26917 (grub_tsc_init): New function prototype.
26918 (grub_tsc_get_time_ms): New function prototype.
26919
26920 * kern/i386/tsc.c (grub_get_time_ms): New file.
26921
26922 * include/grub/time.h: Include <grub/types.h.
26923 (grub_millisleep_generic): Removed.
26924 (grub_get_time_ms): New prototype.
26925 (grub_install_get_time_ms): New prototype.
26926 (grub_rtc_get_time_ms): New prototype.
26927
26928 * kern/time.c (grub_get_time_ms): New function.
26929 (grub_install_get_time_ms): New function.
26930
26931 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
26932 <grub/time.h> anymore.
26933 (grub_millisleep): Removed.
26934 (grub_machine_init): Call grub_tsc_init.
26935
26936 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
26937 get_time_ms() implementation.
26938
26939 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
26940 (ieee1275_get_time_ms): New function.
26941 (grub_machine_init): Install get_time_ms() implementation.
26942
26943 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
26944 (grub_machine_init): Call grub_tsc_init().
26945 (grub_millisleep): Removed.
26946
26947 * kern/ieee1275/init.c (grub_millisleep): Removed.
26948 (grub_machine_init): Install ieee1275_get_time_ms()
26949 implementation.
26950 (ieee1275_get_time_ms): New function.
26951 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
26952 real work.
26953
26954 2008-08-05 Marco Gerards <marco@gnu.org>
26955
26956 * disk/ata.c: Include <grub/pci.h>.
26957 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
26958 (grub_ata_initialize): Rewritten.
26959 (grub_ata_device_initialize): New function.
26960
26961 2008-08-04 Pavel Roskin <proski@gnu.org>
26962
26963 * kern/main.c: Include grub/mm.h.
26964
26965 2008-08-04 Robert Millan <rmh@aybabtu.com>
26966
26967 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
26968 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
26969 corruption problem).
26970
26971 2008-08-04 Robert Millan <rmh@aybabtu.com>
26972
26973 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
26974 warnings introduced in my last commit.
26975
26976 2008-08-03 Robert Millan <rmh@aybabtu.com>
26977
26978 Make PCI available on all i386 architectures.
26979
26980 * include/grub/i386/pc/pci.h: Move from here ...
26981 * include/grub/i386/pci.h: ... to here.
26982
26983 * include/grub/i386/pc/pci.h: Remove.
26984 * include/grub/i386/efi/pci.h: Remove.
26985 * include/grub/x86_64/efi/pci.h: Remove.
26986
26987 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
26988 `<grub/cpu/pci.h>'.
26989
26990 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
26991 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
26992 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
26993
26994 * conf/i386-ieee1275.rmk: Likewise.
26995
26996 2008-08-03 Robert Millan <rmh@aybabtu.com>
26997
26998 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
26999 (grub_console_setcursor): Make it possible to set cursor off.
27000
27001 2008-08-03 Robert Millan <rmh@aybabtu.com>
27002
27003 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
27004 of modules instead of assuming which platform provides what.
27005 * util/update-grub.in: Likewise.
27006
27007 2008-08-03 Robert Millan <rmh@aybabtu.com>
27008
27009 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
27010 instead of `grub_install_dos_part' to determine whether a drive needs
27011 to be prepended to prefix (`grub_install_dos_part' is not reliable,
27012 because it can be overridden when loading GRUB via Multiboot).
27013
27014 2008-08-02 Robert Millan <rmh@aybabtu.com>
27015
27016 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
27017
27018 2008-08-02 Robert Millan <rmh@aybabtu.com>
27019
27020 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
27021 of informational grub_dprintf() calls.
27022
27023 2008-08-02 Robert Millan <rmh@aybabtu.com>
27024
27025 * disk/memdisk.c (memdisk_size): Don't initialize.
27026 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
27027
27028 * include/grub/i386/pc/kernel.h
27029 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
27030 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
27031 (grub_memdisk_image_size, grub_arch_memdisk_addr)
27032 (grub_arch_memdisk_size): Remove.
27033
27034 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
27035 field (was only used to transfer a constant). Add `type' field to
27036 support multiple module types.
27037 (grub_module_iterate): New function.
27038
27039 * kern/device.c (grub_device_open): Do not hide error messages
27040 when grub_disk_open() fails. Use grub_print_error() instead.
27041
27042 * kern/i386/pc/init.c (grub_arch_modules_addr)
27043 (grub_arch_memdisk_size): Remove functions.
27044 (grub_arch_modules_addr): Return the module address in high memory
27045 (now that it isn't copied anymore).
27046
27047 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
27048 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
27049 decompression routine (grub_total_module_size already includes that
27050 now). Don't copy modules back to low memory.
27051
27052 * kern/main.c: Include `<grub/mm.h>'.
27053 (grub_load_modules): Split out (and use) ...
27054 (grub_module_iterate): ... this function, which iterates through
27055 module objects and runs a hook.
27056 Comment out grub_mm_init_region() call, as it would cause non-ELF
27057 modules to be overwritten.
27058
27059 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
27060 the memdisk image in its own region, make it part of the module list.
27061 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
27062 (main): Parse --memdisk|-m option, and pass user-provided path as
27063 parameter to generate_image().
27064 (add_segments): Pass `memdisk_path' down to load_modules().
27065 (load_modules): Embed memdisk image in module section when requested.
27066 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
27067 `header.type' instead of `header.offset'.
27068
27069 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
27070 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
27071 (memdisk_mod_LDFLAGS): New variables.
27072 * conf/i386-coreboot.rmk: Likewise.
27073 * conf/i386-ieee1275.rmk: Likewise.
27074
27075 2008-08-02 Robert Millan <rmh@aybabtu.com>
27076
27077 * loader/i386/pc/multiboot.c (playground, forward_relocator)
27078 (backward_relocator): New variables. Used to allocate and relocate
27079 the payload, respectively.
27080 (grub_multiboot_load_elf32): Load into heap instead of requested
27081 address, install the appropriate relocator code in each bound of
27082 the payload, and set the entry point such that
27083 grub_multiboot_real_boot() will jump to one of them.
27084
27085 * kern/i386/loader.S (grub_multiboot_payload_size)
27086 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
27087 (grub_multiboot_payload_entry_offset): New variables.
27088 (grub_multiboot_real_boot): Set cpu context to what the relocator
27089 expects, and jump to the relocator instead of the payload.
27090
27091 * include/grub/i386/loader.h (grub_multiboot_payload_size)
27092 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
27093 (grub_multiboot_payload_entry_offset): Export.
27094
27095 2008-08-01 Bean <bean123ch@gmail.com>
27096
27097 * normal/menu_entry.c (editor_getline): Don't return the original
27098 string as result, as it will be released by lexer once it has done
27099 using it.
27100
27101 2008-08-01 Robert Millan <rmh@aybabtu.com>
27102
27103 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
27104 within menuentries, not before them.
27105 util/grub.d/10_hurd.in: Likewise.
27106
27107 2008-08-01 Bean <bean123ch@gmail.com>
27108
27109 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
27110 (bufio_mod_SOURCES): New macro.
27111 (bufio_mod_CFLAGS): Likewise.
27112 (bufio_mod_LDFLAGS): Likewise.
27113
27114 * include/grub/bufio.h: New file.
27115
27116 * io/bufio.c: Likewise.
27117
27118 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
27119 (grub_video_reader_png): Use grub_buffile_open to open file.
27120
27121 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
27122 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
27123
27124 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
27125 (grub_video_reader_tga): Use grub_buffile_open to open file.
27126
27127 * font/manager.c: Include <grub/bufio.h>.
27128 (add_font): Use grub_buffile_open to open file.
27129
27130 2008-07-31 Robert Millan <rmh@aybabtu.com>
27131
27132 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
27133 ELF segments, use a macro for arbitrarily accessing any of them instead
27134 of preparing a pointer that allows access to one at a time.
27135 (grub_multiboot_load_elf64): Likewise.
27136
27137 2008-07-31 Bean <bean123ch@gmail.com>
27138
27139 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
27140 GRUB_KERNEL_MACHINE_DATA_END.
27141
27142 2008-07-30 Robert Millan <rmh@aybabtu.com>
27143
27144 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
27145 Increase from 0x50 to 0x60.
27146 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
27147 use UUIDs to identify the root drive for them. If that's not
27148 possible, abort.
27149 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
27150 check, for cross-disk installs.
27151
27152 2008-07-30 Robert Millan <rmh@aybabtu.com>
27153
27154 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
27155 is non-empty, use it to set the `prefix' environment variable instead
27156 of the usual approach.
27157 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
27158 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
27159 environment variable instead of dummy make_install_device().
27160
27161 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
27162 (start): Insert a data section, with `grub_prefix' variable.
27163 * kern/i386/linuxbios/startup.S: Likewise.
27164
27165 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
27166 New variable reference.
27167 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
27168 New macro. Defines offset of `grub_prefix' within startup.S (relative
27169 to `start').
27170 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
27171 section within startup.S (relative to `start').
27172 * include/grub/i386/coreboot/kernel.h: Likewise.
27173
27174 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
27175 Overwrite grub_prefix with its contents, at the beginning of the
27176 first segment.
27177 (main): Understand -p|--prefix.
27178
27179 2008-07-30 Robert Millan <rmh@aybabtu.com>
27180
27181 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
27182
27183 2008-07-30 Robert Millan <rmh@aybabtu.com>
27184
27185 * term/i386/pc/vga_text.c (grub_console_cls): Use
27186 grub_console_gotoxy() to go back to beginning of the screen.
27187 Found by Patrick Georgi <patrick.georgi@coresystems.de>
27188
27189 2008-07-29 Christian Franke <franke@computer.org>
27190
27191 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
27192 Add conversion of emulated mount points on Cygwin.
27193
27194 2008-07-29 Christian Franke <franke@computer.org>
27195
27196 * util/update-grub.in: Add a check for admin
27197 group on Cygwin.
27198 Remove old `grub.cfg.new' before creation.
27199 Add `-f' to `mv' to handle the different filesystem
27200 semantics of Windows.
27201
27202 2008-07-29 Bean <bean123ch@gmail.com>
27203
27204 * normal/main.c (get_line): Fix buffer overflow bug.
27205
27206 2008-07-28 Robert Millan <rmh@aybabtu.com>
27207
27208 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
27209 (struct grub_apple_header): New struct. Describes the layout of
27210 the partmap header.
27211 (apple_partition_map_iterate): Check the header magic as well as the
27212 partition magic (which was already being checked).
27213
27214 2008-07-28 Pavel Roskin <proski@gnu.org>
27215
27216 * genmk.rb: Add a warning to the beginning of the output that
27217 it's a generated file and should not be edited.
27218
27219 2008-07-28 Robert Millan <rmh@aybabtu.com>
27220
27221 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
27222 with the same number are found, just use issue a warning with
27223 grub_dprintf(), as this error has been reported to be non-fatal.
27224
27225 2008-07-27 Robert Millan <rmh@aybabtu.com>
27226
27227 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
27228 information.
27229
27230 2008-07-27 Bean <bean123ch@gmail.com>
27231
27232 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
27233 (grub_fat_find_dir): Ignore case when comparing filename.
27234
27235 2008-07-27 Bean <bean123ch@gmail.com>
27236
27237 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
27238 smallino, as it's more descriptive, and i8count can be confused with
27239 the other field count.
27240 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
27241 inode type.
27242
27243 2008-07-27 Bean <bean123ch@gmail.com>
27244
27245 * commands/crc.c: New file.
27246
27247 * lib/crc.c: Likewise.
27248
27249 * include/grub/lib/crc.h: Likewise.
27250
27251 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
27252
27253 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
27254 (hexdump): Move this function to ...
27255
27256 * lib/hexdump.c: ... here.
27257
27258 * include/grub/hexdump.h: Renamed to ...
27259
27260 * include/grub/lib/hexdump.h: ... this.
27261
27262 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
27263
27264 * util/grub-editenv.c: Likewise.
27265
27266 * include/envblk.h: Renamed to ...
27267
27268 * include/lib/envblk.h: ... this.
27269
27270 * util/envblk.c: Renamed to ...
27271
27272 * lib/envblk.c: ... this.
27273
27274 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
27275 lib/hexdump.c.
27276 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
27277 (pkglib_MODULES): Add crc.mod.
27278 (hexdump_mod_SOURCES): Add lib/hexdump.c.
27279 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
27280 (crc_mod_SOURCES): New macro.
27281 (crc_mod_CFLAGS): Likewise.
27282 (crc_mod_LDFLAGS): Likewise.
27283
27284 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
27285
27286 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
27287
27288 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
27289
27290 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27291
27292 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
27293
27294 2008-07-27 Felix Zielcke <fzielcke@z-51.de>
27295
27296 * commands/help.c: Include <grub/term.h>.
27297 (TERM_WIDTH): Removed. Updated all users.
27298
27299 2008-07-27 Pavel Roskin <proski@gnu.org>
27300
27301 * util/getroot.c (find_root_device): Rephrase a comment to avoid
27302 spurious warnings about a comment within a comment.
27303
27304 2008-07-25 Robert Millan <rmh@aybabtu.com>
27305
27306 * util/getroot.c (find_root_device): Skip devices that match
27307 /dev/dm-[0-9]. This lets the real device be found for any type of
27308 abstraction (LVM, EVMS, RAID..).
27309 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
27310 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
27311 device is found first, find_root_device() will now skip it.
27312
27313 2008-07-24 Pavel Roskin <proski@gnu.org>
27314
27315 * include/grub/types.h: Use __builtin_bswap32() and
27316 __builtin_bswap64() with gcc 4.3 and newer.
27317
27318 2008-07-24 Christian Franke <franke@computer.org>
27319
27320 * util/i386/pc/grub-install.in: If `--debug' is specified,
27321 pass `--verbose' to grub-setup.
27322 Abort script if make_system_path_relative_to_its_root() fails.
27323
27324 2008-07-24 Bean <bean123ch@gmail.com>
27325
27326 * configure.ac: Fixed a bug caused by the previous cygwin patch,
27327 variable `target_platform' should be `platform'.
27328
27329 2008-07-24 Bean <bean123ch@gmail.com>
27330
27331 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
27332 (grub_png_init_fixed_block): New function.
27333 (grub_png_decode_image_data): Handle fixed huffman code compression.
27334
27335 2008-07-24 Bean <bean123ch@gmail.com>
27336
27337 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
27338 (grub_pe2elf_SOURCES): New macro.
27339 (CLEANFILES): Add grub-pe2elf.
27340
27341 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
27342 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
27343 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
27344 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
27345 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
27346 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
27347 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
27348 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
27349 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
27350 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
27351 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
27352 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
27353 (GRUB_PE32_DT_FUNCTION): Likewise.
27354 (GRUB_PE32_REL_I386_DIR32): Likewise.
27355 (GRUB_PE32_REL_I386_REL32): Likewise.
27356 (grub_pe32_symbol): New structure.
27357 (grub_pe32_reloc): Likewise.
27358
27359 * util/grub-pe2elf.c: New file.
27360
27361 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
27362 start symbol in non pc platform.
27363
27364 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
27365
27366 The following patches are from Christian Franke.
27367
27368 * include/grub/dl.h: Remove .previous, gas supports this only
27369 for ELF format.
27370
27371 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
27372 Remove .type, gas supports this only for ELF format.
27373
27374 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
27375 nullbytes in symbol table. This fixes an infinite loop if table is
27376 zero filled.
27377
27378 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
27379 TARGET_IMG_LDFLAGS and EXEEXT.
27380
27381 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
27382 TARGET_IMG_LDFLAGS_AC.
27383 (grub_CHECK_STACK_ARG_PROBE): New function.
27384
27385 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
27386
27387 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
27388
27389 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
27390 to set TARGET_IMG_LD* accordingly.
27391 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
27392 Add call to grub_CHECK_STACK_ARG_PROBE.
27393 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
27394
27395 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
27396
27397 * genmk.rb: Add EXEEXT to CLEANFILES.
27398
27399 2008-07-23 Robert Millan <rmh@aybabtu.com>
27400
27401 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
27402 define the codes for arrows and lines used for the menu).
27403 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
27404 as well.
27405
27406 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
27407 fonts, because the latter are too slow.
27408
27409 2008-07-21 Bean <bean123ch@gmail.com>
27410
27411 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
27412 a20. Run keyboard test last, as it will cause macbook to halt.
27413
27414 2008-07-18 Pavel Roskin <proski@gnu.org>
27415
27416 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
27417 load foreign architecture modules correctly anyway. Keep
27418 support for loading host architecture modules, whether we
27419 compile them or not.
27420
27421 2008-07-17 Pavel Roskin <proski@gnu.org>
27422
27423 * configure.ac: Use -m32 or -m64 regardless of whether we had to
27424 change target_cpu. The compiler default can mismatch target_cpu
27425 in any case.
27426
27427 * disk/efi/efidisk.c: Fix format warnings on x86_64.
27428 * kern/efi/efi.c: Likewise.
27429
27430 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
27431 target compiler is functional.
27432 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
27433 are set up.
27434
27435 * configure.ac: Default to efi platform for x86_64-apple. Allow
27436 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
27437 adjustments from the rest, only do them if target is not
27438 explicitly given. Merge other adjustments with the final sanity
27439 check. Remove an extraneous check for supported CPU. Be
27440 specific which CPU and which platform is not supported.
27441
27442 * configure.ac: Default to pc platform for x86_64.
27443
27444 2008-07-17 Robert Millan <rmh@aybabtu.com>
27445
27446 Partial LinuxBIOS -> Coreboot rename.
27447
27448 * conf/i386-linuxbios.rmk: Renamed to ...
27449 * conf/i386-coreboot.rmk: ... this.
27450 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
27451 * configure.ac: Accept "coreboot" as input platform (but maintain
27452 compatibility with "linuxbios").
27453 * include/grub/i386/linuxbios: Renamed to ...
27454 * include/grub/i386/coreboot: ... this.
27455
27456 2008-07-17 Bean <bean123ch@gmail.com>
27457
27458 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
27459 (appleldr_mod_SOURCE): New variable.
27460 (appleldr_mod_CFLAGS): Likewise.
27461 (appleldr_mod_LDFLAGS): Likewise.
27462 (pci_mod_SOURCES): Likewise.
27463 (pci_mod_CFLAGS): Likewise.
27464 (pci_mod_LDFLAGS): Likewise.
27465 (lspci_mod_SOURCES): Likewise.
27466 (lspci_mod_CFLAGS): Likewise.
27467 (lspci_mod_LDFLAGS): Likewise.
27468
27469 * conf/x86_64-efi.rmk: New file.
27470
27471 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
27472 macro.
27473 (grub_efidisk_write): Likewise.
27474
27475 * include/efi/api.h (efi_call_0): New macro.
27476 (efi_call_1): Likewise.
27477 (efi_call_2): Likewise.
27478 (efi_call_3): Likewise.
27479 (efi_call_4): Likewise.
27480 (efi_call_5): Likewise.
27481 (efi_call_6): Likewise.
27482
27483 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
27484 grub_rescue_cmd_chainloader.
27485
27486 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
27487 (grub_pe32_optional_header): Change some fields based on i386 or
27488 x86_64 platform.
27489 (GRUB_PE32_PE32_MAGIC): Likewise.
27490
27491 * include/grub/efi/uga_draw.h: New file.
27492
27493 * include/grub/elf.h (STN_ABS): New constant.
27494 (R_X86_64_NONE): Relocation constant for x86_64.
27495 (R_X86_64_64): Likewise.
27496 (R_X86_64_PC32): Likewise.
27497 (R_X86_64_GOT32): Likewise.
27498 (R_X86_64_PLT32): Likewise.
27499 (R_X86_64_COPY): Likewise.
27500 (R_X86_64_GLOB_DAT): Likewise.
27501 (R_X86_64_JUMP_SLOT): Likewise.
27502 (R_X86_64_RELATIVE): Likewise.
27503 (R_X86_64_GOTPCREL): Likewise.
27504 (R_X86_64_32): Likewise.
27505 (R_X86_64_32S): Likewise.
27506 (R_X86_64_16): Likewise.
27507 (R_X86_64_PC16): Likewise.
27508 (R_X86_64_8): Likewise.
27509 (R_X86_64_PC8): Likewise.
27510
27511 * include/grub/i386/efi/pci.h: New file.
27512
27513 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
27514 Change it value based on platform.
27515 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
27516 (GRUB_E820_RAM): Likewise.
27517 (GRUB_E820_RESERVED): Likewise.
27518 (GRUB_E820_ACPI): Likewise.
27519 (GRUB_E820_NVS): Likewise.
27520 (GRUB_E820_EXEC_CODE): Likewise.
27521 (GRUB_E820_MAX_ENTRY): Likewise.
27522 (grub_e820_mmap): New structure.
27523 (linux_kernel_header): Change the efi field according to different
27524 kernel version, also field from linux_kernel_header.
27525
27526 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
27527
27528 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
27529 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
27530 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
27531 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
27532 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
27533 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
27534 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
27535 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
27536 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
27537 (GRUB_PCI_ADDR_IO_MASK): Likewise.
27538
27539 * include/grub/x86_64/efi/kernel.h: New file.
27540
27541 * include/grub/x86_64/efi/loader.h: Likewise.
27542
27543 * include/grub/x86_64/efi/machine.h: Likewise.
27544
27545 * include/grub/x86_64/efi/pci.h: Likewise.
27546
27547 * include/grub/x86_64/efi/time.h: Likewise.
27548
27549 * include/grub/x86_64/linux.h: Likewise.
27550
27551 * include/grub/x86_64/setjmp.h: Likewise.
27552
27553 * include/grub/x86_64/time.h: Likewise.
27554
27555 * include/grub/x86_64/types.h: Likewise.
27556
27557 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
27558 GRUB_TARGET_SIZEOF_VOID_P.
27559
27560 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
27561 (grub_efi_locate_handle): Likewise.
27562 (grub_efi_open_protocol): Likewise.
27563 (grub_efi_set_text_mode): Likewise.
27564 (grub_efi_stall): Likewise.
27565 (grub_exit): Likewise.
27566 (grub_reboot): Likewise.
27567 (grub_halt): Likewise.
27568 (grub_efi_exit_boot_services): Likewise.
27569 (grub_get_rtc): Likewise.
27570
27571 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
27572 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
27573 (grub_efi_allocate_pages): Wrap efi calls.
27574 (grub_efi_free_pages): Wrap efi calls.
27575 (grub_efi_get_memory_map): Wrap efi calls.
27576
27577 * kern/x86_64/dl.c: New file.
27578
27579 * kern/x86_64/efi/callwrap.S: Likewise.
27580
27581 * kern/x86_64/efi/startup.S: Likewise.
27582
27583 * loader/efi/appleloader.c: Likewise.
27584
27585 * loader/efi/chainloader.c (cmdline): New variable.
27586 (grub_chainloader_unload): Wrap efi calls.
27587 (grub_chainloader_boot): Likewise.
27588 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
27589 command line.
27590
27591 * loader/efi/chainloader_normal.c (chainloader_command):
27592 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
27593 command line.
27594
27595 * loader/i386/efi/linux.c (allocate_pages): Change allocation
27596 method.
27597 (grub_e820_add_region): New function.
27598 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
27599 booting.
27600 (grub_find_video_card): New function.
27601 (grub_linux_setup_video): New function.
27602 (grub_rescue_cmd_linux): Probe for video information.
27603
27604 * normal/x86_64/setjmp.S: New file.
27605
27606 * term/efi/console.c (map_char): New function.
27607 (grub_console_putchar): Map unicode char.
27608 (grub_console_checkkey): Wrap efi calls.
27609 (grub_console_getkey): Likewise.
27610 (grub_console_getwh): Likewise.
27611 (grub_console_gotoxy): Likewise.
27612 (grub_console_cls): Likewise.
27613 (grub_console_setcolorstate): Likewise.
27614 (grub_console_setcursor): Likewise.
27615
27616 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
27617
27618 2008-07-16 Pavel Roskin <proski@gnu.org>
27619
27620 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
27621 format strings.
27622
27623 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
27624 pointer, not an integer. This fixes a warning and prevents
27625 precision loss on 64-bit systems.
27626 (relocate_addresses): Remove unneeded cast.
27627
27628 2008-07-15 Pavel Roskin <proski@gnu.org>
27629
27630 * kern/i386/ieee1275/init.c: Include grub/cache.h.
27631
27632 * term/ieee1275/ofconsole.c: Disable code unused on i386.
27633
27634 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
27635 Fix comparison between signed and unsigned.
27636
27637 * include/grub/i386/ieee1275/console.h: Declare
27638 grub_console_init() and grub_console_fini().
27639
27640 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
27641 It's empty and unused.
27642
27643 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
27644 beginning to avoid warnings with some compilers.
27645
27646 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
27647 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
27648
27649 2008-07-14 Pavel Roskin <proski@gnu.org>
27650
27651 * kern/env.c (grub_register_variable_hook): Don't copy empty
27652 string, it leaks memory. Pass "" to grub_env_set(), it should
27653 handle constant strings.
27654
27655 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
27656 * commands/cmp.c (grub_cmd_cmp): Likewise.
27657 * kern/dl.c (grub_dl_flush_cache): Likewise.
27658 (grub_dl_load_core): Likewise.
27659 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
27660 (grub_elf64_load_phdrs): Likewise.
27661
27662 2008-07-13 Pavel Roskin <proski@gnu.org>
27663
27664 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
27665 between signed and unsigned.
27666 (LzmaEnc_Finish): Fix warning about an unused parameter.
27667
27668 2008-07-13 Bean <bean123ch@gmail.com>
27669
27670 * Makefile.in (enable_lzo): New rule.
27671
27672 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
27673
27674 * configure.ac (ENABLE_LZO): New option --enable-lzo.
27675
27676 * boot/i386/pc/lnxboot.S: #include <config.h>.
27677
27678 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
27679 its value according to the compression algorithm used, lzo or lzma.
27680
27681 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
27682 compression algorithm according to configure macro.
27683
27684 * kern/i386/pc/startup.S (codestart): Likewise.
27685
27686 * kern/i386/pc/lzma_decode.S: New file.
27687
27688 * include/grub/lib/LzFind.h: Likewise.
27689
27690 * include/grub/lib/LzHash.h: Likewise.
27691
27692 * include/grub/lib/LzmaDec.h: Likewise.
27693
27694 * include/grub/lib/LzmaEnc.h: Likewise.
27695
27696 * include/grub/lib/LzmaTypes.h: Likewise.
27697
27698 * lib/LzFind.c: Likewise.
27699
27700 * lib/LzmaDec.c: Likewise.
27701
27702 * lib/LzmaEnc.c: Likewise.
27703
27704 2008-07-13 Bean <bean123ch@gmail.com>
27705
27706 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
27707 (grub_ext4_extent_header): New structure.
27708 (grub_ext4_extent): Likewise.
27709 (grub_ext4_extent_idx): Likewise.
27710 (grub_ext4_find_leaf): New function.
27711 (grub_ext2_read_block): Handle extents.
27712
27713 2008-07-12 Robert Millan <rmh@aybabtu.com>
27714
27715 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
27716
27717 2008-07-11 Robert Millan <rmh@aybabtu.com>
27718
27719 * util/grub.d/40_custom.in: New file. Example on how to add custom
27720 entries to /etc/grub.d.
27721 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
27722 40_custom (implicitly, by merging all the grub.d rules).
27723
27724 2008-07-11 Pavel Roskin <proski@gnu.org>
27725
27726 * commands/read.c (grub_getline): Fix invalid memory access.
27727 Don't add newline to the variable value.
27728
27729 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
27730 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
27731 (serial_hw_get_port): Check validity of the port number.
27732 (grub_cmd_serial): Check return value of serial_hw_get_port().
27733
27734 2008-07-07 Pavel Roskin <proski@gnu.org>
27735
27736 * boot/i386/pc/diskboot.S (notification_string): Replace
27737 "Loading kernel" with just "loading". This is shorter, less
27738 confusing and saves a few bytes for possible future changes.
27739
27740 2008-07-05 Pavel Roskin <proski@gnu.org>
27741
27742 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
27743 size for ATAPI devices, they are undefined. Output sector
27744 number in decimal form.
27745
27746 * disk/ata.c: Use named constants for status bits.
27747
27748 2008-07-04 Pavel Roskin <proski@gnu.org>
27749
27750 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
27751 grub_addr_t before casting it to the void pointer to fix a
27752 warning. Non-addressable regions are discarded earlier.
27753 (grub_arch_modules_addr): Cast _end to grub_addr_t.
27754 * kern/i386/linuxbios/table.c: Include grub/misc.h.
27755 (check_signature): Don't shadow table_header.
27756 (grub_linuxbios_table_iterate): Cast numeric constants to
27757 grub_linuxbios_table_header_t.
27758 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
27759 grub_stop().
27760
27761 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
27762 prevent warnings.
27763
27764 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
27765 pointer, which can cause warnings. Support 64-bit addresses.
27766
27767 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
27768 of sizeof(long). This fixes PowerPC image generation on x86_64.
27769
27770 2008-07-04 Robert Millan <rmh@aybabtu.com>
27771
27772 This fixes a performance issue when pc & gpt partmap iterators
27773 didn't abort iteration even after our hook found what it was
27774 looking for (often causing expensive probes of non-existent drives).
27775
27776 Some callers relied on previous buggy behaviour, since they would
27777 raise an error when their own hooks caused early abortion of its
27778 iteration.
27779
27780 * kern/device.c (grub_device_open): Improve error message.
27781 * disk/lvm.c (grub_lvm_open): Likewise.
27782 * disk/raid.c (grub_raid_open): Likewise.
27783
27784 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
27785 when hook requests it, independently of grub_errno.
27786 (pc_partition_map_probe): Do not fail when find_func() caused
27787 early abortion of pc_partition_map_iterate().
27788
27789 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
27790 when hook requests it, independently of grub_errno.
27791 (gpt_partition_map_probe): Do not fail when find_func() caused
27792 early abortion of gpt_partition_map_iterate().
27793
27794 * kern/partition.c (grub_partition_iterate): Abort parent iteration
27795 when hook requests it, independently of grub_errno. Do not fail when
27796 part_map_iterate_hook() caused early abortion of p->iterate().
27797
27798 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
27799 when grub_partition_iterate() returned with non-zero.
27800
27801 2008-07-03 Pavel Roskin <proski@gnu.org>
27802
27803 * disk/ata.c (grub_ata_pio_write): Check status before writing,
27804 like we do in grub_ata_pio_read().
27805 (grub_ata_readwrite): Always write individual sectors. Fix the
27806 sector count for the remainder.
27807 (grub_ata_write): Enable writing to ATA devices. Correctly
27808 report error for ATAPI devices.
27809
27810 2008-07-02 Pavel Roskin <proski@gnu.org>
27811
27812 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
27813 warning.
27814
27815 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
27816 for every read sector, we already increment it for the whole
27817 batch. This fixes reading more than 256 sectors at once.
27818
27819 * util/grub-editenv.c (cmd_info): Cast argument to long
27820 explicitly. ptrdiff_t reduces to int on i386.
27821
27822 * util/grub-editenv.c (main): Be specific which parameter is
27823 missing.
27824
27825 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
27826 (memdisk): Make memdisk_orig_addr a pointer.
27827
27828 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
27829 for file offsets, use grub_off_t instead. Fix printf format
27830 warnings.
27831
27832 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
27833 there. Real unexpected warnings should not drown in the noise
27834 about known problems.
27835
27836 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
27837 grub_disk_addr_t for memory addresses.
27838
27839 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
27840 explicitly to fix a warning.
27841
27842 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
27843
27844 * Makefile.in (MODULE_LDFLAGS): New variable.
27845 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
27846 the linker accepts --build-id=none.
27847 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
27848 MODULE_LDFLAGS.
27849 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
27850
27851 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
27852 those in Linux XFS code. Provide a way to access 64-bit parent
27853 inode.
27854 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
27855 the end of struct grub_xfs_dir_header.
27856
27857 2008-07-02 Bean <bean123ch@gmail.com>
27858
27859 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
27860 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
27861 and GRUB_IEEE1275_FLAG_NO_ANSI.
27862
27863 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
27864 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
27865 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
27866
27867 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
27868 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
27869
27870 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
27871 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
27872
27873 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
27874 esc sequence on non ANSI terminal.
27875 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
27876
27877 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
27878 beginning of file.
27879
27880 2008-07-02 Bean <bean123ch@gmail.com>
27881
27882 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
27883 (grub_editenv_SOURCES): New variable.
27884 (pkglib_MODULES): Add loadenv.mod.
27885 (loadenv_mod_SOURCES): New variable.
27886 (loadenv_mod_CFLAGS): Likewise.
27887 (loadenv_mod_LDFLAGS): Likewise.
27888
27889 * include/grub/envblk.h: New file.
27890
27891 * util/envblk.c: New file.
27892
27893 * util/grub-editenv.c: New file.
27894
27895 * commands/loadenv.c: New file.
27896
27897 2008-07-01 Pavel Roskin <proski@gnu.org>
27898
27899 * include/multiboot2.h (struct multiboot_tag_module): Use char,
27900 not unsigned char. This fixes warnings and is consistent with
27901 other tags.
27902
27903 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
27904
27905 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
27906
27907 * term/tparm.c (analyze): Always set *popcount.
27908
27909 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
27910 cast to fix a warning.
27911
27912 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
27913 cast to suppress a warning.
27914
27915 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
27916 grub_fshelp_read_file() expects.
27917
27918 * fs/fat.c: Fix UUID calculation on big-endian systems. We
27919 write uuid as a 32-bit value in CPU byte order, so declare and
27920 use it as such.
27921
27922 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
27923 long if the format specifier expects it.
27924 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
27925 * partmap/pc.c (pc_partition_map_iterate): Likewise.
27926 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
27927 long to fix a warning.
27928 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
27929 grub_dprintf() arguments to fix warnings.
27930
27931 2008-06-30 Pavel Roskin <proski@gnu.org>
27932
27933 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
27934 install_bsd_part immediately before core.img is embedded or
27935 modified on disk. This fixes core.img verification if core.img
27936 cannot be embedded.
27937
27938 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
27939 core_path to calculate the blocklist.
27940 Patch from Javier Martín <lordhabbit@gmail.com>
27941
27942 2008-06-29 Robert Millan <rmh@aybabtu.com>
27943
27944 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
27945 block to disk block.
27946 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
27947 Patch from Niels Böhm <bitbucket@arcor.de>
27948
27949 2008-06-29 Robert Millan <rmh@aybabtu.com>
27950
27951 * util/update-grub_lib.in (font_path): Search for fonts in
27952 /boot/grub first, which is more likely to be readable (we aren't
27953 deciding where fonts live, just looking for them).
27954
27955 2008-06-26 Pavel Roskin <proski@gnu.org>
27956
27957 * util/biosdisk.c (read_device_map): Don't leave dead map
27958 entries for devices failing stat() check.
27959
27960 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
27961 core_path_dev for the core.img path on the target device.
27962
27963 2008-06-26 Robert Millan <rmh@aybabtu.com>
27964
27965 * disk/fs_uuid.c: New file.
27966 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
27967 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
27968 (fs_uuid_mod_LDFLAGS): New variables.
27969 * include/grub/disk.h (grub_disk_dev_id): Add
27970 `GRUB_DISK_DEVICE_UUID_ID'.
27971 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
27972 implement iterate().
27973
27974 2008-06-26 Robert Millan <rmh@aybabtu.com>
27975
27976 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
27977 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
27978 Linux image includes no initrd.
27979
27980 2008-06-21 Javier Martín <lordhabbit@gmail.com>
27981
27982 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
27983 call to resolve the core image location that effectively appended the
27984 name twice.
27985
27986 2008-06-21 Robert Millan <rmh@aybabtu.com>
27987
27988 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
27989 call from here ...
27990
27991 * util/grub.d/10_hurd.in: ... to here ...
27992 * util/grub.d/10_linux.in: ... and here.
27993
27994 2008-06-19 Robert Millan <rmh@aybabtu.com>
27995
27996 * kern/main.c (grub_main): Export `prefix' variable immediately
27997 after it has been set by grub_machine_set_prefix().
27998
27999 2008-06-19 Robert Millan <rmh@aybabtu.com>
28000
28001 * commands/search.c (search_label, search_fs_uuid, search_file): Print
28002 search result when not saving to variable, not the other way around.
28003 When saving to variable, abort iteration as soon as a match is found.
28004
28005 2008-06-19 Robert Millan <rmh@aybabtu.com>
28006
28007 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
28008 check for partition that provides /boot/grub. Its logic is flawed,
28009 as it prevents prepare_grub_to_access_device() from being called
28010 multiple times.
28011
28012 2008-06-19 Robert Millan <rmh@aybabtu.com>
28013
28014 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
28015 "insmod" command directly when abstraction modules are needed,
28016 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
28017 since it had already been processed).
28018
28019 2008-06-19 Pavel Roskin <proski@gnu.org>
28020
28021 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
28022 changed. This is needed in case GRUB_LIBDIR changes.
28023 * conf/i386-ieee1275.rmk: Likewise.
28024 * conf/i386-linuxbios.rmk: Likewise.
28025 * conf/i386-pc.rmk: Likewise.
28026 * conf/powerpc-ieee1275.rmk: Likewise.
28027
28028 2008-06-18 Pavel Roskin <proski@gnu.org>
28029
28030 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
28031 kernel_elf_symlist.c to symlist.c for consistency with other
28032 architectures. Update all users.
28033 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
28034
28035 2008-06-18 Robert Millan <rmh@aybabtu.com>
28036
28037 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
28038 it in prefix.
28039
28040 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
28041 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
28042 a RAID device, run setup() for all members independently on whether
28043 LVM abstraction is being used.
28044 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
28045 If grub-mkimage has set `*install_dos_part == -2', don't override this
28046 value.
28047 Perform *install_dos_part adjustments independently on whether
28048 we're embedding or not.
28049 Clarify error message when image is too big for embedding.
28050 Remove duplicate *install_dos_part stanza.
28051
28052 2008-06-17 Robert Millan <rmh@aybabtu.com>
28053
28054 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
28055 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
28056 variables.
28057 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
28058 values in grub_ofconsole_normal_color and
28059 grub_ofconsole_highlight_color (they're not directly related to
28060 background and foreground).
28061 (grub_ofconsole_setcolorstate): Extract background and foreground
28062 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
28063
28064 2008-06-17 Robert Millan <rmh@aybabtu.com>
28065
28066 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
28067 /boot/grub for the check in last commit, not /boot (they could be
28068 different partitions).
28069
28070 2008-06-16 Robert Millan <rmh@aybabtu.com>
28071
28072 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
28073 asked to setup access for the same partition that provides /boot,
28074 don't bother using UUIDs since our root already has the value we
28075 want.
28076
28077 2008-06-16 Robert Millan <rmh@aybabtu.com>
28078
28079 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
28080 I2O devices.
28081 Patch from Sven Mueller <sven@debian.org>.
28082
28083 2008-06-16 Robert Millan <rmh@aybabtu.com>
28084
28085 * util/update-grub.in: Check for $EUID instead of $UID.
28086 Reported by Vincent Zweije.
28087
28088 2008-06-16 Bean <bean123ch@gmail.com>
28089
28090 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
28091 (grub_ext2_read_block): Likewise.
28092 (grub_ext2_read_inode): Likewise.
28093 (grub_ext2_mount): Likewise.
28094 (grub_ext2_close): Likewise.
28095 (grub_ext3_get_journal): Removed.
28096
28097 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
28098 (grub_reiserfs_read_symlink): Likewise.
28099 (grub_reiserfs_mount): Likewise.
28100 (grub_reiserfs_open): Likewise.
28101 (grub_reiserfs_read): Likewise.
28102 (grub_reiserfs_close): Likewise.
28103 (grub_reiserfs_get_journal): Removed.
28104
28105 * fs/fshelp.c (grub_fshelp_read): Removed.
28106 (grub_fshelp_map_block): Likewise.
28107
28108 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
28109 (grub_fshelp_journal): Likewise.
28110 (grub_fshelp_read): Likewise.
28111 (grub_fshelp_map_block): Likewise.
28112
28113 2008-06-16 Pavel Roskin <proski@gnu.org>
28114
28115 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
28116 floating point anymore.
28117 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
28118
28119 2008-06-15 Pavel Roskin <proski@gnu.org>
28120
28121 * commands/ls.c (grub_ls_list_files): Use integer calculations
28122 for human readable format, avoid floating point use.
28123 * kern/misc.c (grub_ftoa): Remove.
28124 (grub_vsprintf): Remove floating point support.
28125
28126 2008-06-15 Robert Millan <rmh@aybabtu.com>
28127
28128 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
28129 devices.
28130 Reported by Max Vozeler.
28131
28132 2008-06-15 Robert Millan <rmh@aybabtu.com>
28133
28134 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
28135 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
28136 skipped later.
28137 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
28138 the beginning of the prefix.
28139
28140 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
28141 It is assumed that if we have a memdisk, grub-mkimage has set
28142 grub_prefix to include the "(memdisk)" drive in it.
28143
28144 2008-06-15 Robert Millan <rmh@aybabtu.com>
28145
28146 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
28147 Initialize keyboard controller after registering the terminal, so that
28148 grub_printf() can be called from grub_keyboard_controller_init().
28149
28150 2008-06-15 Robert Millan <rmh@aybabtu.com>
28151
28152 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
28153 extent-btree which is written as big endian on disk.
28154 Reported by Alain Greppin <al@chilibi.org>.
28155
28156 2008-06-14 Robert Millan <rmh@aybabtu.com>
28157
28158 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
28159 * util/i386/pc/grub-install.in (modules): Likewise.
28160
28161 2008-06-13 Pavel Roskin <proski@gnu.org>
28162
28163 * commands/ls.c (grub_ls_list_files): Fix format warnings.
28164
28165 2008-06-13 Bean <bean123ch@gmail.com>
28166
28167 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
28168
28169 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
28170
28171 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
28172 to indicate sparse block.
28173
28174 2008-06-12 Pavel Roskin <proski@gnu.org>
28175
28176 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
28177 number, grub_fshelp_read() does it for us.
28178
28179 * fs/fshelp.c (grub_fshelp_read): New function. Implement
28180 linear disk read with journal translation.
28181 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
28182 * include/grub/fshelp.h: Declare grub_fshelp_read().
28183
28184 2008-06-09 Pavel Roskin <proski@gnu.org>
28185
28186 * fs/minix.c (grub_minix_mount): Handle error reading
28187 superblock.
28188
28189 2008-06-08 Robert Millan <rmh@aybabtu.com>
28190
28191 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
28192 don't append the RAID prefix afterwards.
28193 Reported by Clint Adams.
28194
28195 2008-06-08 Robert Millan <rmh@aybabtu.com>
28196
28197 Based on description from Pavel:
28198 * kern/disk.c (grub_disk_check_range): Rename to ...
28199 (grub_disk_adjust_range): ... this. Add a comment explaining the
28200 tasks performed by this function.
28201
28202 2008-06-08 Robert Millan <rmh@aybabtu.com>
28203
28204 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
28205 `num_serial' (for consistency with other variables).
28206 (struct grub_ntfs_data): Add `uuid' member.
28207 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
28208 (grub_ntfs_uuid): New function.
28209 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
28210
28211 2008-06-07 Pavel Roskin <proski@gnu.org>
28212
28213 * util/biosdisk.c (open_device): Revert last change to the
28214 function, it broke installation. The sector needs to be
28215 different dependent on which device is opened.
28216
28217 2008-06-06 Robert Millan <rmh@aybabtu.com>
28218
28219 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
28220 rest of GRUB, and breakage doesn't happen if its value were modified.
28221
28222 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
28223 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
28224 a constant (same value).
28225 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
28226 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
28227
28228 2008-06-06 Robert Millan <rmh@aybabtu.com>
28229
28230 * util/biosdisk.c (open_device): Do not modify sector offset when
28231 accessing a partition. kern/disk.c already handles this for us.
28232
28233 2008-06-06 Robert Millan <rmh@aybabtu.com>
28234
28235 * util/grub-emu.c (grub_machine_init): Move code in this function from
28236 here ...
28237 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
28238 segfault in case grub_printf() is called).
28239
28240 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
28241 grub_probe. Update all users not to explicitly add it again.
28242 (grub_device): New variable; contains corresponding device for grubdir.
28243 (fs_module, partmap_module, devabstraction_module): Pass
28244 `--device ${grub_device}' to grub_probe to avoid traversing /dev
28245 every time.
28246
28247 2008-06-05 Robert Millan <rmh@aybabtu.com>
28248
28249 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
28250 is found, print it (same layout as with labels).
28251
28252 2008-06-04 Robert Millan <rmh@aybabtu.com>
28253
28254 * util/biosdisk.c (get_drive): Rename to ...
28255 (find_grub_drive): ... this. Update all users.
28256
28257 (get_os_disk): Rename to ...
28258 (convert_system_partition_to_system_disk): ... this. Update all users.
28259
28260 (find_drive): Rename to ...
28261 (find_system_device): ... this. Update all users.
28262
28263 2008-06-04 Robert Millan <rmh@aybabtu.com>
28264
28265 * util/biosdisk.c (get_os_disk): Handle IDA devices.
28266 * util/grub-mkdevicemap.c (get_mmc_disk_name)
28267 (make_device_map): Likewise.
28268
28269 2008-06-01 Robert Millan <rmh@aybabtu.com>
28270
28271 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
28272 before dereferencing it.
28273
28274 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
28275 union with fat12/fat16-specific ones. Add some new fields, including
28276 `num_serial' for both versions.
28277 (struct grub_fat_data): Add `uuid' member.
28278 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
28279 names. Initialize `data->uuid' using `num_serial'.
28280 (grub_fat_uuid): New function.
28281 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
28282
28283 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
28284 (grub_reiserfs_uuid): New function.
28285 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
28286 member.
28287
28288 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
28289 (grub_xfs_uuid): New function.
28290 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
28291
28292 2008-06-01 Robert Millan <rmh@aybabtu.com>
28293
28294 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
28295 code that is backward compatible with pre-uuid search command.
28296
28297 2008-05-31 Robert Millan <rmh@aybabtu.com>
28298
28299 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
28300 floppies after everything else, to ensure floppy drive isn't accessed
28301 unnecessarily (patch from Bean).
28302
28303 2008-05-31 Robert Millan <rmh@aybabtu.com>
28304
28305 * commands/search.c (search_label, search_fs_uuid, search_file): Do
28306 not print device names when we were asked to set a variable.
28307
28308 2008-05-31 Robert Millan <rmh@aybabtu.com>
28309
28310 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
28311 using "cursor-on" and "cursor-off" commands (understood at least by
28312 the Open Firmware flavour on OLPC).
28313
28314 2008-05-31 Michael Gorven <michael@gorven.za.net>
28315
28316 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
28317 on and off sequences.
28318
28319 2008-05-31 Robert Millan <rmh@aybabtu.com>
28320
28321 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
28322 * util/update-grub.in: Likewise.
28323
28324 2008-05-30 Pavel Roskin <proski@gnu.org>
28325
28326 * util/biosdisk.c (linux_find_partition): Simplify logic and
28327 make the code more universal. Keep special processing for
28328 devfs, but use a simple rule for all other devices. If the
28329 device ends with a number, append 'p' and the partition number.
28330 Otherwise, append only the partition number.
28331
28332 2008-05-30 Robert Millan <rmh@aybabtu.com>
28333
28334 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
28335 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
28336 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
28337 the `root' parameter to Linux.
28338
28339 2008-05-30 Robert Millan <rmh@aybabtu.com>
28340
28341 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
28342 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
28343 --fs_uuid with --fs-uuid.
28344 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
28345 all filesystems support them).
28346
28347 2008-05-30 Robert Millan <rmh@aybabtu.com>
28348
28349 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
28350 grub_printf() flags, since we're printing in units of 2 bytes.
28351
28352 2008-05-30 Robert Millan <rmh@aybabtu.com>
28353
28354 * util/grub.d/00_header.in: Remove obsolete comment referencing
28355 convert_system_path_to_grub_path().
28356 * util/update-grub.in: Likewise.
28357 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
28358 (convert_system_path_to_grub_path): Add a warning message explaining
28359 that this function is deprecated. Rely on is_path_readable_by_grub()
28360 for the readability checks.
28361 (font_path): Use is_path_readable_by_grub() for the readability
28362 check rather than convert_system_path_to_grub_path().
28363
28364 2008-05-30 Robert Millan <rmh@aybabtu.com>
28365
28366 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
28367 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
28368 converting it first.
28369 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
28370 grub.cfg for access to font file, and afterwards call it again to set
28371 the root device.
28372
28373 2008-05-30 Robert Millan <rmh@aybabtu.com>
28374
28375 * commands/search.c (options): Add --fs_uuid option.
28376 (search_fs_uuid): New function.
28377 (grub_cmd_search): Fix --set argument passing.
28378 Use search_fs_uuid() when requested via --fs_uuid.
28379 (grub_search_init): Update help message.
28380 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
28381 and redeclare it as an array of 16-bit words.
28382 (grub_ext2_uuid): New function.
28383 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
28384 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
28385 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
28386 (GRUB_DEVICE_BOOT_UUID): New variables.
28387 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
28388 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
28389 whenever possible.
28390 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
28391 just assume `root' variable has the right value.
28392 * util/grub.d/10_linux.in: Likewise.
28393 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
28394 via PRINT_FS_UUID.
28395 (main): Recognise `-t fs_uuid' argument.
28396
28397 2008-05-30 Robert Millan <rmh@aybabtu.com>
28398
28399 * util/biosdisk.c (map): Redefine structure to hold information
28400 about GRUB drive name.
28401 (get_drive): Reimplement without assuming (and verifying) BIOS-like
28402 drive names.
28403 (call_hook): Remove.
28404 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
28405 member. Assume drive has partitions.
28406 (grub_util_biosdisk_open): Access device names via `.device' struct
28407 member.
28408 (open_device): Likewise.
28409 (find_drive): Likewise.
28410 (read_device_map): Adjust map[] usage to match the new struct
28411 definition. Don't check for duplicates (still possible, but not cheap
28412 anymore).
28413 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
28414 (make_device_name): Remove assumption of BIOS-like drive names.
28415
28416 2008-05-30 Pavel Roskin <proski@gnu.org>
28417
28418 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
28419 compiling execute.c doesn't need grub_script.tab.h anymore.
28420 (normal/command.c_DEPENDENCIES): Likewise.
28421 (normal/function.c_DEPENDENCIES): Likewise.
28422 * conf/i386-ieee1275.rmk: Likewise.
28423 * conf/i386-linuxbios.rmk: Likewise.
28424 * conf/i386-pc.rmk: Likewise.
28425 * conf/powerpc-ieee1275.rmk: Likewise.
28426 * conf/sparc64-ieee1275.rmk: Likewise.
28427
28428 2008-05-29 Pavel Roskin <proski@gnu.org>
28429
28430 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
28431 when scanning metadata for volume group name.
28432
28433 * include/grub/script.h: Don't include grub_script.tab.h. It's
28434 a generated file, which may only be included from the files with
28435 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
28436 use union YYSTYPE, as the later allows forward declaration.
28437 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
28438
28439 2008-05-29 Robert Millan <rmh@aybabtu.com>
28440
28441 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
28442 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
28443 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
28444 (grub_console_checkkey): Add grub_dprintf() call to report unknown
28445 scan codes.
28446
28447 2008-05-29 Robert Millan <rmh@aybabtu.com>
28448
28449 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
28450 control key combinations.
28451
28452 2008-05-29 Robert Millan <rmh@aybabtu.com>
28453
28454 * util/powerpc/ieee1275/grub-install.in: Move from here ...
28455 * util/ieee1275/grub-install.in: ... to here.
28456 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
28457 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
28458 (grub_install_SOURCES): Likewise.
28459
28460 2008-05-29 Robert Millan <rmh@aybabtu.com>
28461
28462 * fs/affs.c: Update copyright year.
28463 * fs/ext2.c: Likewise.
28464 * fs/fshelp.c: Likewise.
28465 * fs/hfsplus.c: Likewise.
28466 * fs/ntfs.c: Likewise.
28467 * fs/xfs.c: Likewise.
28468 * include/grub/fshelp.h: Likewise.
28469 * util/grub-mkdevicemap.c: Likewise.
28470
28471 2008-05-28 Robert Millan <rmh@aybabtu.com>
28472
28473 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
28474 might need to be fatfs to support some firmware implementations
28475 (e.g. OFW or EFI).
28476
28477 2008-05-28 Robert Millan <rmh@aybabtu.com>
28478
28479 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
28480 devices.
28481 * util/grub-mkdevicemap.c (get_mmc_disk_name)
28482 (make_device_map): Likewise.
28483
28484 2008-05-20 Bean <bean123ch@gmail.com>
28485
28486 * fs/fshelp.c (grub_fshelp_map_block): New function.
28487 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
28488 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
28489
28490 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
28491 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
28492 (grub_fshelp_journal): New structure.
28493 (grub_fshelp_map_block): New function prototype.
28494 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
28495 (grub_fshelp_map_block): Likewise.
28496
28497 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
28498 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
28499 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
28500 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
28501 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
28502 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
28503 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
28504 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
28505 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
28506 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
28507 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
28508 (grub_ext2_sblock): New members for journal support.
28509 (grub_ext3_journal_header): New structure.
28510 (grub_ext3_journal_revoke_header): Likewise.
28511 (grub_ext3_journal_block_tag): Likewise.
28512 (grub_ext3_journal_sblock): Likewise.
28513 (grub_fshelp_node): New members logfile and journal.
28514 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
28515 grub_fshelp_map_block to get real block number.
28516 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
28517 number.
28518 (grub_ext2_read_inode): Likewise.
28519 (grub_ext3_get_journal): New function.
28520 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
28521 (grub_ext2_close): Release memory used by journal.
28522
28523 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
28524 (REISERFS_MAGIC_DESC_BLOCK): New macro.
28525 (grub_reiserfs_transaction_header): Renamed to
28526 grub_reiserfs_description_block, replace field data with real_blocks.
28527 (grub_reiserfs_commit_block): New structure.
28528 (grub_reiserfs_data): New member journal.
28529 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
28530 number.
28531 (grub_reiserfs_read_symlink): Likewise.
28532 (grub_reiserfs_iterate_dir): Likewise.
28533 (grub_reiserfs_open): Likewise.
28534 (grub_reiserfs_read): Likewise.
28535 (grub_reiserfs_get_journal): New function.
28536 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
28537 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
28538 using grub_reiserfs_get_journal.
28539 (grub_reiserfs_close): Release memory used by journal.
28540
28541 * fs/affs.c (grub_affs_read_block): Change block type to
28542 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
28543
28544 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
28545
28546 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
28547
28548 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
28549
28550 * fs/udf.c (grub_udf_read_block): Change block type to
28551 grub_disk_addr_t. Use type cast to avoid warning.
28552
28553 * fs/xfs.c (grub_xfs_read_block): Likewise.
28554
28555 2008-05-16 Christian Franke <franke@computer.org>
28556
28557 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
28558 to ensure that break with ESC will always work.
28559 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
28560 Remove ESC from keyboard queue.
28561
28562 2008-05-16 Christian Franke <franke@computer.org>
28563
28564 * util/biosdisk.c: [__CYGWIN__] Add includes.
28565 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
28566 (get_os_disk): Move variable declarations to OS specific
28567 parts to avoid warning.
28568 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
28569 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
28570 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
28571 Cygwin.
28572 * util/getroot.c: [__CYGWIN__] Add includes.
28573 (strip_extra_slashes): Fix "/" case.
28574 [__CYGWIN__] (get_win32_path): New function.
28575 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
28576 [__CYGWIN__] (find_root_device): Disable.
28577 [__CYGWIN__] (get_bootsec_serial): New function.
28578 [__CYGWIN__] (find_cygwin_root_device): Likewise.
28579 [__linux__] (grub_guess_root_device): Add early returns to simplify
28580 structure.
28581 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
28582 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
28583 check for Linux only.
28584
28585 2008-05-15 Bean <bean123ch@gmail.com>
28586
28587 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
28588 keyboard hang problem in apple's intel mac.
28589
28590 2008-05-09 Robert Millan <rmh@aybabtu.com>
28591
28592 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
28593 devices.
28594 * util/grub-mkdevicemap.c (get_virtio_disk_name)
28595 (make_device_map): Likewise.
28596 Reported by Aurelien Jarno <aurel32@debian.org>
28597
28598 2008-05-07 Ian Campbell <ijc@hellion.org.uk>
28599
28600 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
28601 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
28602 (make_device_map): Output entries for xvd type disks.
28603
28604 2008-05-07 Robert Millan <rmh@aybabtu.com>
28605
28606 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
28607 devices.
28608 * util/grub-mkdevicemap.c (get_cciss_disk_name)
28609 (make_device_map): Likewise.
28610 Reported by Roland Dreier <rdreier@cisco.com>
28611
28612 2008-05-07 Robert Millan <rmh@aybabtu.com>
28613
28614 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
28615 grub_strstr() call. Correct a few mistakes in failure path handling.
28616
28617 2008-05-06 Robert Millan <rmh@aybabtu.com>
28618
28619 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
28620 Do not print a trailing slash (therefore, the root directory is an
28621 empty string).
28622 (convert_system_path_to_grub_path): Do not remove trailing slash
28623 from make_system_path_relative_to_its_root() output.
28624
28625 * util/i386/pc/grub-install.in: Add trailing slash to output from
28626 make_system_path_relative_to_its_root().
28627
28628 2008-05-06 Robert Millan <rmh@aybabtu.com>
28629
28630 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
28631 ensures that output lines aren't intermangled with those sent to
28632 stderr (via grub_util_info()).
28633 * util/grub-probe.c (grub_refresh): Likewise.
28634 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
28635
28636 2008-05-05 Christian Franke <franke@computer.org>
28637
28638 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
28639 Add Cygwin device names.
28640 (get_ide_disk_name) [__CYGWIN__]: Likewise.
28641 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
28642 (check_device): Return error instead of success on empty name.
28643 (make_device_map): Move label inside linux specific code to
28644 prevent compiler warning.
28645
28646 2008-04-30 Robert Millan <rmh@aybabtu.com>
28647
28648 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
28649 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
28650 first boot option.
28651 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
28652
28653 2008-04-29 Robert Millan <rmh@aybabtu.com>
28654
28655 * docs/grub.cfg: New file (example GRUB configuration).
28656
28657 2008-04-26 Robert Millan <rmh@aybabtu.com>
28658
28659 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
28660 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
28661 and `disk/ieee1275/nand.c'.
28662
28663 2008-04-25 Bean <bean123ch@gmail.com>
28664
28665 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
28666 i386-linuxbios.
28667
28668 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
28669 change the buffer size to 4096 for cdrom device.
28670
28671 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
28672 and nand.mod.
28673 (_linux_mod_SOURCES): New variable.
28674 (_linux_mod_CFLAGS): Likewise.
28675 (_linux_mod_LDFLAGS): Likewise.
28676 (linux_mod_SOURCES): Likewise.
28677 (linux_mod_CFLAGS): Likewise.
28678 (linux_mod_LDFLAGS): Likewise.
28679 (nand_mod_SOURCES): Likewise.
28680 (nand_mod_CFLAGS): Likewise.
28681 (nand_mod_LDFLAGS): Likewise.
28682
28683 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
28684 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
28685 type property. (nand device in olpc don't have this property)
28686
28687 * include/grub/disk.h (grub_disk_dev_id): New macro
28688 GRUB_DISK_DEVICE_NAND_ID.
28689
28690 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
28691 function prototype.
28692 (grub_rescue_cmd_initrd): Likewise.
28693
28694 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
28695 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
28696 ofw_cif_handler and ofw_idt, adjust padding number.
28697
28698 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
28699 GRUB_MACHINE_IEEE1275 is defined.
28700
28701 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
28702 Use NESTED_FUNC_ATTR attribute on the hook parameter.
28703
28704 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
28705 on nested function heap_init.
28706 (grub_upper_mem): New variable for i386-ieee1275.
28707 (grub_get_extended_memory): New function for i386-ieee1275.
28708 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
28709
28710 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
28711 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
28712 property.
28713
28714 * loader/i386/ieee1275/linux.c: New file.
28715
28716 * loader/i386/ieee1275/linux_normal.c: New file.
28717
28718 * disk/ieee1275/nand.c: New file.
28719
28720 2008-04-18 Thomas Schwinge <tschwinge@gnu.org>
28721
28722 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
28723 value.
28724 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
28725
28726 2008-04-18 Robert Millan <rmh@aybabtu.com>
28727
28728 Restructures early code path on ieee1275 to unify grub_main() as
28729 the first C function that is executed in every platform.
28730
28731 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
28732 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
28733 cmain().
28734 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
28735 * kern/ieee1275/cmain.c (cmain): Rename to ...
28736 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
28737 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
28738 at the beginning.
28739
28740 2008-04-18 Robert Millan <rmh@aybabtu.com>
28741
28742 * util/update-grub.in: Fix syntax error when setting
28743 `GRUB_PRELOAD_MODULES'.
28744 Reported by Stephane Chazelas <stephane@artesyncp.com>
28745
28746 2008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
28747
28748 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
28749 section into account, newer toolchains generate unique build ids
28750 * configure.ac: remove the test for --build-id=none acceptance,
28751 we want build ids to be preserved
28752 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
28753 far from other sections don't cause the raw binary images grow
28754 size
28755
28756 2008-04-15 Robert Millan <rmh@aybabtu.com>
28757
28758 * disk/lvm.c: Update copyright year.
28759 * kern/misc.c: Likewise.
28760
28761 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
28762
28763 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
28764 there is no memory left for physical volume name.
28765
28766 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
28767
28768 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
28769 volume name mapping to support bigger than 9 character names properly.
28770
28771 2008-04-13 Robert Millan <rmh@aybabtu.com>
28772
28773 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
28774 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
28775
28776 2008-04-13 Christian Franke <franke@computer.org>
28777
28778 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
28779 to create a floppy emulation boot CD when non emulation mode
28780 does not work.
28781 Enable Joliet CD filesystem extension.
28782
28783 2008-04-13 Robert Millan <rmh@aybabtu.com>
28784
28785 * kern/misc.c (grub_strncat): Fix off-by-one error.
28786 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
28787
28788 * kern/env.c (grub_env_context_close): Clear current context, not
28789 previous one.
28790 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
28791
28792 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
28793
28794 2008-04-13 Robert Millan <rmh@aybabtu.com>
28795
28796 Improve robustness when handling LVM.
28797
28798 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
28799 (and leave `*p' unmodified).
28800 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
28801 through it.
28802 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
28803 iterating through it.
28804 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
28805 through it.
28806 (grub_lvm_scan_device): Check the return value (and fail gracefully
28807 when due) on each grub_lvm_getvalue() or grub_strstr() call.
28808 Don't assume `vg->pvs != NULL' when iterating through it.
28809
28810 2008-04-13 Robert Millan <rmh@aybabtu.com>
28811
28812 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
28813 * genmk.rb (partmap): New variable.
28814 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
28815 (#{partmap}): New target rule.
28816 * genpartmaplist.sh: New file.
28817 * Makefile.in (pkglib_DATA): Add partmap.lst.
28818 (partmap.lst): New target rule.
28819 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
28820 modules (including all partition maps), instead of preloading them.
28821
28822 2007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
28823
28824 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
28825 `linux-boot-prober' (if installed) to detect other operating
28826 systems which are installed on the computer and add them to
28827 the boot menu.
28828 * conf/common.rmk: Build and install 30_os-prober.
28829
28830 2008-04-12 Robert Millan <rmh@aybabtu.com>
28831
28832 * kern/powerpc/ieee1275/init.c: Move from here ...
28833 * kern/ieee1275/init.c: ... to here. Update all users.
28834
28835 * kern/powerpc/ieee1275/cmain.c: Move from here ...
28836 * kern/ieee1275/cmain.c: ... to here. Update all users.
28837
28838 * kern/powerpc/ieee1275/openfw.c: Move from here ...
28839 * kern/ieee1275/openfw.c: ... to here. Update all users.
28840
28841 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
28842 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
28843
28844 2008-04-10 Pavel Roskin <proski@gnu.org>
28845
28846 * configure.ac: Always use "_cv_" in cache variables for
28847 compatibility with Autoconf 2.62.
28848
28849 2008-04-07 Robert Millan <rmh@aybabtu.com>
28850
28851 Revert grub/machine/init.h addition by Pavel (since it breaks on
28852 i386-ieee1275 and others):
28853 * util/i386/pc/misc.c: Remove grub/machine/init.h.
28854 * util/powerpc/ieee1275/misc.c: Likewise.
28855
28856 2008-04-07 Robert Millan <rmh@aybabtu.com>
28857
28858 * util/grub-probe.c (probe): Improve error message.
28859
28860 2008-04-07 Robert Millan <rmh@aybabtu.com>
28861
28862 * util/biosdisk.c (read_device_map): Skip devices that don't exist
28863 (this prevents the presence of a bogus entry from ruining the whole
28864 thing).
28865
28866 2008-04-06 Pavel Roskin <proski@gnu.org>
28867
28868 * util/biosdisk.c: Include grub/util/biosdisk.h.
28869 * util/grub-fstest.c (execute_command): Make static.
28870 * util/grub-mkdevicemap.c (check_device): Likewise.
28871 * util/i386/pc/misc.c: Include grub/machine/init.h.
28872 * util/powerpc/ieee1275/misc.c: Likewise.
28873 * util/lvm.c: Include grub/util/lvm.h.
28874 * util/misc.c: Include grub/kernel.h, grub/misc.h and
28875 grub/cache.h.
28876 * util/raid.c: Include grub/util/raid.h.
28877 (grub_util_getdiskname): Make static.
28878
28879 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
28880 grub_hostfs_fini(), as they are called from grub_init_all() and
28881 grub_fini_all() respectively. This fixes an infinite loop in
28882 grub-fstest due to double registration of hostfs.
28883 Reported by Christian Franke <Christian.Franke@t-online.de>
28884
28885 2008-04-05 Pavel Roskin <proski@gnu.org>
28886
28887 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
28888 all 8 functions. Otherwise, probe function 0 only.
28889
28890 2008-04-04 Pavel Roskin <proski@gnu.org>
28891
28892 * commands/lspci.c (grub_lspci_iter): Print the bus number
28893 correctly.
28894
28895 * commands/lspci.c (grub_pci_classes): Fix typos.
28896 (grub_lspci_iter): Don't print func twice. Print vendor ID
28897 before device ID, as it's normally done.
28898
28899 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
28900 Fix signedness warnings.
28901 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
28902 Likewise.
28903 * util/ieee1275/get_disk_name.c: Include config.h so that
28904 _GNU_SOURCE is defined and getline() is declared. Mark an
28905 unused argument as such. Fix a signedness warning.
28906
28907 2008-04-02 Pavel Roskin <proski@gnu.org>
28908
28909 * genkernsyms.sh.in: Use more robust assignments for CC and
28910 srcdir. Quote srcdir.
28911 * gensymlist.sh.in: Likewise. Assert at the compile time that
28912 the symbol table is not empty.
28913
28914 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
28915 * fs/cpio.c (grub_cpio_read): Likewise.
28916
28917 2008-04-01 Pavel Roskin <proski@gnu.org>
28918
28919 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
28920 * disk/host.c (grub_host_open): Likewise.
28921 * disk/loopback.c (grub_loopback_open): Likewise.
28922 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
28923 disk->id as in disk/host.c, not a multi-character constant.
28924
28925 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
28926 later is obsolete, potentially dangerous and sets a bad example.
28927 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
28928 * util/misc.c (grub_util_get_image_size): Likewise.
28929
28930 * disk/loopback.c (options): Improve help for "--partitions".
28931
28932 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
28933 options to align them with the short options, e.g. "echo -e".
28934
28935 2008-03-31 Bean <bean123ch@gmail.com>
28936
28937 * video/reader/png.c (grub_png_data): New member is_16bit and
28938 image_data.
28939 (grub_png_decode_image_header): Detect 16 bit png image.
28940 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
28941 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
28942 (grub_video_reader_png): Release memory occupied by image_data.
28943
28944 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
28945 4096 bytes.
28946 (grub_nfs_mount): Skip the test for sector per cluster.
28947
28948 * include/grub/ntfs.h (MAX_SPC): Removed.
28949
28950 2008-03-31 Bean <bean123ch@gmail.com>
28951
28952 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
28953 (grub_probe_SOURCES): Add fs/afs.c.
28954 (grub_fstest_SOURCES): Likewise.
28955 (afs_mod_SOURCES): New variable.
28956 (afs_mod_CFLAGS): Likewise.
28957 (afs_mod_LDFLAGS): Likewise.
28958
28959 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
28960 (grub_emu_SOURCES): Likewise.
28961
28962 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
28963
28964 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28965
28966 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
28967
28968 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28969
28970 * fs/afs.c: New file.
28971
28972 2008-03-30 Pavel Roskin <proski@gnu.org>
28973
28974 * disk/host.c: Include grub/misc.h to fix a warning.
28975 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
28976 warnings about implicit declarations.
28977
28978 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
28979 variable.
28980 * include/grub/i386/loader.h: Change declaration of
28981 grub_linux_boot() to match what grub_loader_set() expects.
28982 * util/getroot.c (grub_guess_root_device): Return const char* to
28983 fix a warning.
28984 * util/grub-probe.c (probe): Fix a warning about uninitialized
28985 abstraction_name variable.
28986 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
28987 second argument as unused to fix a warning.
28988
28989 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
28990 missing grub_error() call.
28991
28992 * util/update-grub_lib.in: Define datarootdir, since Autoconf
28993 2.60 and newer uses it to define datadir.
28994
28995 * commands/sleep.c: Fix warning about implicit declaration.
28996 * disk/memdisk.c: Likewise.
28997 * loader/aout.c: Likewise.
28998 * loader/i386/bsd_normal.c: Likewise.
28999 * util/grub-probe.c: Likewise.
29000
29001 * commands/i386/cpuid.c (has_longmode): Make static.
29002 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
29003 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
29004
29005 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
29006 GDT. This is more robust, as %ds can change.
29007 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
29008 calling real_to_prot().
29009 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
29010
29011 2008-03-28 Pavel Roskin <proski@gnu.org>
29012
29013 * kern/i386/pc/startup.S: Assert that uncompressed functions
29014 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
29015 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
29016 code, as they push parts of the code (error handlers) beyond
29017 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
29018 code as correctness and size.
29019
29020 2008-03-28 Pavel Roskin <proski@gnu.org>
29021
29022 * kern/i386/pc/startup.S
29023 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
29024 data block address to the real mode, keep offset minimal. This
29025 works around a bug in AWARD BIOS on old Athlon systems, which
29026 makes CD detection hang.
29027
29028 2008-03-26 Pavel Roskin <proski@gnu.org>
29029
29030 * normal/color.c (grub_parse_color_name_pair): Make `name' a
29031 const.
29032 * include/grub/normal.h: Add grub_parse_color_name_pair()
29033 declaration.
29034
29035 2008-03-24 Bean <bean123ch@gmail.com>
29036
29037 * disk/i386/pc/biosdisk.c (cd_start): Removed.
29038 (cd_count): Removed.
29039 (cd_drive): New variable.
29040 (grub_biosdisk_get_drive): Don't check for (cdN) device.
29041 (grub_biosdisk_call_hook): Likewise.
29042 (grub_biosdisk_iterate): Change cdrom detection method.
29043 (grub_biosdisk_open): Replace cd_start with cd_drive.
29044 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
29045 detect cdrom device.
29046
29047 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
29048 Removed.
29049 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
29050 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
29051 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
29052 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
29053 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
29054 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
29055 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
29056 (grub_biosdisk_cdrp): New structure.
29057 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
29058
29059 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
29060
29061 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
29062 device.
29063
29064 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
29065 New function.
29066
29067 2008-03-20 Robert Millan <rmh@aybabtu.com>
29068
29069 Remove 2 TiB limit in ata.mod.
29070 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
29071 (grub_ata_dumpinfo): Print sector count with 0x%llx.
29072 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
29073 grub_uint64_t instead of grub_uint32_t.
29074
29075 2008-03-05 Bean <bean123ch@gmail.com>
29076
29077 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
29078 (grub_multiboot): Set boot device.
29079
29080 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
29081
29082 2008-03-02 Bean <bean123ch@gmail.com>
29083
29084 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
29085 symlink_buffer.
29086
29087 2008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
29088
29089 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
29090 texinfo.tex.
29091
29092 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
29093 modified.
29094
29095 * docs/fdl.texi: New file.
29096
29097 * docs/mdate-sh: New file. Copied from gnulib.
29098 * docs/texinfo.tex: Likewise.
29099
29100 * config.guess: Updated from gnulib.
29101 * install-sh: Likewise.
29102
29103 2008-02-28 Robert Millan <rmh@aybabtu.com>
29104
29105 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
29106 (aout_mod_SOURCES): New variable.
29107 (aout_mod_CFLAGS): Likewise.
29108 (aout_mod_LDFLAGS): Likewise.
29109
29110 * conf/i386-ieee1275.rmk: Likewise.
29111
29112 2008-02-28 Robert Millan <rmh@aybabtu.com>
29113
29114 * util/update-grub.in: Reorganise terminal validity check. Accept
29115 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
29116 Based on suggestion by Franklin PIAT.
29117
29118 2008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
29119
29120 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
29121 function.
29122 * util/getroot.c (grub_util_check_block_device): New function that
29123 returns the given argument if it is a block device and returns NULL else.
29124 * util/grub-probe.c (argument_is_device): New variable.
29125 (probe): Promote device_name from a variable to an argument. Receive
29126 device_name from grub_util_check_block_device() if path is NULL and from
29127 grub_guess_root_device() else. Do not free() device_name anymore.
29128 (options): Introduce new parameter '-d, --device'.
29129 (main): Add description of the new parameter to the help screen.
29130 Rename path variable to argument. Set argument_is_device if the '-d'
29131 option is given. Pass argument to probe() depending on
29132 argument_is_device.
29133
29134 2008-02-24 Bean <bean123ch@gmail.com>
29135
29136 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
29137 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
29138 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
29139 (GRUB_ISO9660_VOLDESC_PART): Likewise.
29140 (GRUB_ISO9660_VOLDESC_END): Likewise.
29141 (grub_iso9660_primary_voldesc): New member escape.
29142 (grub_iso9660_data): New member joliet.
29143 (grub_iso9660_convert_string): New function.
29144 (grub_iso9660_mount): Detect joliet extension.
29145 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
29146 (grub_iso9660_iso9660_label): Likewise.
29147
29148 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
29149 (grub_setup_SOURCES): Add fs/udf.c.
29150 (grub_fstest_SOURCES): Likewise.
29151 (udf_mod_SOURCES): New variable.
29152 (udf_mod_CFLAGS): Likewise.
29153 (udf_mod_LDFLAGS): Likewise.
29154
29155 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
29156 (grub_emu_SOURCES): Likewise.
29157
29158 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
29159
29160 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29161
29162 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
29163
29164 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29165
29166 * fs/udf.c: New file.
29167
29168 2008-02-24 Robert Millan <rmh@aybabtu.com>
29169
29170 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
29171 (normal/lexer.c_DEPENDENCIES): New variables.
29172 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
29173 (normal/lexer.c_DEPENDENCIES): Likewise.
29174 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
29175 (normal/lexer.c_DEPENDENCIES): Likewise.
29176 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
29177 (normal/lexer.c_DEPENDENCIES): Likewise.
29178 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
29179 (normal/lexer.c_DEPENDENCIES): Likewise.
29180 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
29181 (normal/lexer.c_DEPENDENCIES): Likewise.
29182
29183 2008-02-23 Robert Millan <rmh@aybabtu.com>
29184
29185 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
29186 since they were intended to be in hex. This didn't break previously
29187 because of a bug in gpt_partition_map_iterate() (see below).
29188
29189 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
29190 when checking the validity of GPT header.
29191 Remove `partno', since it always provides the same information as `i'.
29192
29193 2008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
29194
29195 * include/grub/efi/time.h: Fix a wrong comment.
29196
29197 2008-02-19 Pavel Roskin <proski@gnu.org>
29198
29199 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
29200 message.
29201
29202 2008-02-19 Bean <bean123ch@gmail.com>
29203
29204 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
29205 (aout_mod_SOURCES): New variable.
29206 (aout_mod_CFLAGS): Likewise.
29207 (aout_mod_LDFLAGS): Likewise.
29208 (_bsd_mod_SOURCES): New variable.
29209 (_bsd_mod_CFLAGS): Likewise.
29210 (_bsd_mod_LDFLAGS): Likewise.
29211 (bsd_mod_SOURCES): New variable.
29212 (bsd_mod_CFLAGS): Likewise.
29213 (bsd_mod_LDFLAGS): Likewise.
29214
29215 * include/grub/aout.h: New file.
29216
29217 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
29218
29219 * include/grub/i386/bsd.h: New file.
29220
29221 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
29222 to make it public.
29223
29224 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
29225 function is called, so that it's possible to change it inside the hook.
29226 (grub_elf64_load): Likewise.
29227 (grub_elf_file): Don't close the file if elf header is not found.
29228 (grub_elf_close): Close the file if grub_elf_file fails (The new
29229 grub_elf_file won't close it).
29230 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
29231 (grub_elf64_size): Likewise.
29232
29233 * kern/i386/loader.S (grub_unix_real_boot): New function.
29234
29235 * loader/aout.c: New file.
29236
29237 * loader/i386/bsd.c: New file.
29238
29239 * loader/i386/bsd_normal.c: New file.
29240
29241 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
29242
29243 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
29244 can test other formats.
29245
29246 2008-02-19 Robert Millan <rmh@aybabtu.com>
29247
29248 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
29249 (grub_gpt_partition_type_empty): Redefine with macro from
29250 `<grub/gpt_partition.h>'.
29251 (gpt_partition_map_iterate): Adjust partition type comparison.
29252
29253 Export `entry' as partmap-specific `part.data' struct.
29254 (grub_gpt_header, grub_gpt_partentry): Move from here ...
29255
29256 * include/grub/gpt_partition.h (grub_gpt_header)
29257 (grub_gpt_partentry): ... to here (new file).
29258
29259 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
29260
29261 (grub_gpt_partition_type_bios_boot): New const variable, defined
29262 with macro from `<grub/gpt_partition.h>'.
29263
29264 (setup): Replace `first_start' with `embed_region', which keeps
29265 track of the embed region (and is partmap-agnostic).
29266
29267 Replace find_first_partition_start() with find_usable_region(),
29268 which finds a usable region for embedding using partmap-specific
29269 knowledge (supports PC/MSDOS and GPT).
29270
29271 Fix all assumptions that the embed region start at sector 1, using
29272 `embed_region.start' from now on. Similarly, use `embed_region.end'
29273 rather than `first_start' to calculate available size.
29274
29275 In grub_util_info() message, replace "into after the MBR" with an
29276 indication of the specific sector our embed region starts at.
29277
29278 2008-02-19 Robert Millan <rmh@aybabtu.com>
29279
29280 * DISTLIST: Replace `commands/ieee1275/halt.c' and
29281 `commands/ieee1275/reboot.c' with `commands/halt.c' and
29282 `commands/reboot.c'.
29283 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
29284 (halt_mod_SOURCES): Likewise.
29285 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
29286 (halt_mod_SOURCES): Likewise.
29287
29288 2008-02-17 Christian Franke <franke@computer.org>
29289
29290 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
29291
29292 2008-02-17 Robert Millan <rmh@aybabtu.com>
29293
29294 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
29295 set `first_start' to 0 for non-PC/MSDOS partition maps.
29296
29297 2008-02-16 Robert Millan <rmh@aybabtu.com>
29298
29299 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
29300 do not assume partition map is PC/MSDOS before performing checks that
29301 are specific to that layout.
29302
29303 2008-02-13 Robert Millan <rmh@aybabtu.com>
29304
29305 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
29306 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
29307 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
29308
29309 2008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
29310
29311 * configure.ac: Only a cosmetic change on the handling of
29312 -fno-stack-protector.
29313
29314 2008-02-12 Alexandre Boeglin <alex@boeglin.org>
29315
29316 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
29317 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
29318 reboot.c.
29319 (grub_install_SOURCES): Add halt.mod and reboot.mod.
29320 (halt_mod_SOURCES): New variable.
29321 (halt_mod_CFLAGS): Likewise.
29322 (halt_mod_LDFLAGS): Likewise.
29323 (reboot_mod_SOURCES): Likewise.
29324 (reboot_mod_CFLAGS): Likewise.
29325 (reboot_mod_LDFLAGS): Likewise.
29326
29327 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
29328 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
29329 reboot.c.
29330 (halt_mod_SOURCES): Likewise.
29331 (reboot_mod_SOURCES): Likewise.
29332
29333 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
29334 commands/i386/pc/reboot.c by commands/reboot.c.
29335 (reboot_mod_SOURCES): Likewise.
29336
29337 * commands/i386/pc/reboot.c: merge this file ...
29338
29339 * commands/ieee1275/reboot.c: ... and this file ...
29340
29341 * commands/reboot.c: ... to this file.
29342 Add some precompiler directive to include the correct header for
29343 each machine.
29344
29345 * commands/ieee1275/halt.c: move this file ...
29346
29347 * commands/halt.c: ... to here.
29348 Add some precompiler directive to include the correct header for
29349 each machine.
29350
29351 * include/grub/efi/efi.h (grub_reboot): New function declaration.
29352 (grub_halt): Likewise.
29353
29354 * kern/efi/efi.c (grub_reboot): New function.
29355 (grub_halt): Likewise.
29356
29357 2008-02-12 Robert Millan <rmh@aybabtu.com>
29358
29359 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
29360 /dev (like it is done for /dev/mapper). This doesn't provide support
29361 for EVMS, but at least it is now easy to identify the problem when it
29362 arises.
29363
29364 2008-02-11 Robert Millan <rmh@aybabtu.com>
29365
29366 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
29367 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
29368 comparing it with -1, not 0.
29369
29370 2008-02-10 Robert Millan <rmh@aybabtu.com>
29371
29372 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
29373 `disk/lvm.c'.
29374 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29375 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
29376
29377 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
29378 `disk/lvm.c' to the end of the list.
29379 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
29380 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
29381
29382 2008-02-10 Robert Millan <rmh@aybabtu.com>
29383
29384 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
29385 grub_print_error() instead. This will let user know why we're entering
29386 rescue mode.
29387 Based on suggestions from Sam Morris.
29388
29389 2008-02-10 Alexandre Boeglin <alex@boeglin.org>
29390
29391 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
29392 on remaining N args, instead of "--" arg N times.
29393
29394 2008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
29395
29396 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
29397 (fill_with_default_glyph): Changed to use unknown_glyph for fill
29398 pattern for unknown glyphs.
29399
29400 2008-02-09 Robert Millan <rmh@aybabtu.com>
29401
29402 * configure.ac: Probe for `help2man'.
29403 * Makefile.in (builddir): New variable.
29404 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
29405 or otherwise add a few flags/options to it.
29406 (install-local): For every executable utility or script that is
29407 installed, invoke $(HELP2MAN) to install a manpage based on --help
29408 output.
29409
29410 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
29411 that it doesn't prevent --help from working in build tree.
29412
29413 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
29414 with `bug-grub@gnu.org'.
29415 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
29416 * util/update-grub.in (usage): New function.
29417 Implement proper argument check, with support for --help and --version
29418 (as well as existing -y).
29419
29420 2008-02-09 Christian Franke <franke@computer.org>
29421
29422 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
29423 avoid overwriting previous output.
29424 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
29425
29426 2008-02-09 Robert Millan <rmh@aybabtu.com>
29427
29428 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
29429 drawing the menu.
29430
29431 2008-02-09 Robert Millan <rmh@aybabtu.com>
29432
29433 * commands/sleep.c: New file.
29434 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
29435 (sleep_mod_SOURCES): New variable.
29436 (sleep_mod_CFLAGS): Likewise.
29437 (sleep_mod_LDFLAGS): Likewise.
29438
29439 2008-02-09 Robert Millan <rmh@aybabtu.com>
29440
29441 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
29442 situations in which we can deduce the RAID size and the superblock
29443 doesn't match it.
29444
29445 2008-02-09 Robert Millan <rmh@aybabtu.com>
29446
29447 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
29448 and return a grub_diskmemberlist_t composed of LVM physical volumes.
29449 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
29450
29451 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
29452 and return a grub_diskmemberlist_t composed of physical array members.
29453 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
29454
29455 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
29456 prototype.
29457 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
29458 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
29459 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
29460
29461 * util/grub-probe.c (probe): Move partmap probing code from here ...
29462 (probe_partmap): ... to here.
29463 (probe): Use probe_partmap() once for the disk we're probing, and
29464 additionally, when such disk contains a memberlist() struct member,
29465 once for each disk that is contained in the structure returned by
29466 memberlist().
29467
29468 2008-02-09 Robert Millan <rmh@aybabtu.com>
29469
29470 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
29471 environment variable to 'all' in order to obtain debug output from
29472 non-util/ code.
29473 * util/i386/pc/grub-setup.c (main): Likewise.
29474
29475 2008-02-08 Robert Millan <rmh@aybabtu.com>
29476
29477 * disk/raid.c (grub_raid_scan_device): Check for
29478 `array->device[sb.this_disk.number]' rather than for
29479 `array->device[sb.this_disk.number]->name', since the latter is not
29480 guaranteed to be accessible.
29481
29482 2008-02-08 Robert Millan <rmh@aybabtu.com>
29483
29484 * disk/raid.c: Update copyright.
29485 * fs/cpio.c: Likewise.
29486 * include/grub/raid.h: Likewise.
29487 * loader/i386/pc/multiboot.c: Likewise.
29488 * util/hostfs.c: Likewise.
29489
29490 2008-02-08 Robert Millan <rmh@aybabtu.com>
29491
29492 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
29493 to a grub_disk_t array.
29494 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
29495 `device[x]'.
29496 (grub_raid_scan_device): Replace `device[x].name' accesses with
29497 `device[x]->name'. Simplify initialization of `array->device[x]'.
29498
29499 2008-02-08 Robert Millan <rmh@aybabtu.com>
29500
29501 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
29502 grub_dprintf() calls.
29503 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
29504 error message.
29505
29506 2008-02-07 Christian Franke <franke@computer.org>
29507
29508 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
29509 instead of fseek and ftell to support large files.
29510 (grub_hostfs_read): Likewise.
29511
29512 2008-02-07 Robert Millan <rmh@aybabtu.com>
29513
29514 Patch from Jeroen Dekkers.
29515 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
29516 failure, since successfully reading all array members might not be
29517 required.
29518
29519 2008-02-06 Robert Millan <rmh@aybabtu.com>
29520
29521 * util/grub-probe.c (probe): Simplify partmap probing (with the
29522 assumption that the first word up to the underscore equals to
29523 the module name).
29524
29525 2008-02-06 Christian Franke <franke@computer.org>
29526
29527 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
29528 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
29529 last block of a cpio or tar stream.
29530 Check for "TRAILER!!!" instead of any empty data
29531 block to detect last block of a cpio stream.
29532 (grub_cpio_dir): Fix constness of variable np.
29533 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
29534 cpio or tar trailer is detected. This fixes a crash
29535 on open of a non existing file.
29536
29537 2008-02-05 Bean <bean123ch@gmail.com>
29538
29539 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
29540 address of entry.
29541 (grub_multiboot_load_elf64): Likewise.
29542 (grub_multiboot): Initialize mbi structure.
29543
29544 * util/grub-fstest.c: Don't include unused header file script.h.
29545
29546 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
29547 of file.
29548 (grub_fstest_SOURCES): Likewise.
29549
29550 2008-02-05 Robert Millan <rmh@aybabtu.com>
29551
29552 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
29553 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
29554 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
29555 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
29556
29557 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
29558 (translation_table): Replace hardcoded values with macros
29559 provided by `<grub/term.h>'.
29560
29561 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
29562 (keyboard_map): Correct/add a few values, with macros provided
29563 by `<grub/term.h>'.
29564 (keyboard_map_shift): Zero values that don't differ from their
29565 `keyboard_map' equivalents.
29566 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
29567 Discard the second scan code that is always sent by Caps lock.
29568 Only use `keyboard_map_shift' when it provides a non-zero value,
29569 otherwise fallback to `keyboard_map'.
29570
29571 2008-02-04 Bean <bean123ch@gmail.com>
29572
29573 * Makefile.in (enable_grub_fstest): New variable.
29574
29575 * conf/common.rmk (grub_fstest_init.lst): New rule.
29576 (grub_fstest_init.h): Likewise.
29577 (grub_fstest_init.c): Likewise.
29578 (util/grub-fstest.c_DEPENDENCIES): New variable.
29579 (grub_fstest_SOURCES): Likewise.
29580
29581 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
29582
29583 * util/grub-fstest.c: New file.
29584
29585 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
29586
29587 Make grub-setup handle a separate root device.
29588
29589 * util/i386/pc/grub-setup.c (setup): Always open the root device,
29590 so that the root device can be compared with the destination
29591 device.
29592 When embedding the core image, if the root and destination devices
29593 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
29594 0xFF.
29595 When not embedding, set ROOT_DRIVE to 0xFF.
29596
29597 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
29598
29599 Add support for having a grub directory in a different drive. This
29600 is still only the data handling part.
29601
29602 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
29603 (codestart): Save %dh in GRUB_ROOT_DRIVE.
29604 (grub_root_drive): New variable.
29605
29606 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
29607 instead of GRUB_BOOT_DRIVE to construct a device name. Set
29608 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
29609 as it was.
29610
29611 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
29612
29613 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
29614 macro.
29615 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
29616
29617 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
29618 is bogus, because PXE booting does not specify any drive
29619 correctly.
29620
29621 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
29622 am not sure if this is really correct.
29623
29624 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
29625 is always identical to the boot drive when booting from a CD.
29626
29627 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
29628 longer.
29629 (root_drive): New variable.
29630 (real_start): Unconditionally set %dh to ROOT_DRIVE.
29631 (setup_sectors): Push %dx right after popping it, because %dh will
29632 be modified later.
29633 (copy_buffer): Restore %dx.
29634
29635 2008-02-03 Robert Millan <rmh@aybabtu.com>
29636
29637 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
29638 use `cdboot.img' for cdrom images.
29639
29640 2008-02-03 Robert Millan <rmh@aybabtu.com>
29641
29642 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
29643 only setup gfxterm when `font' command has succeeded.
29644
29645 2008-02-03 Robert Millan <rmh@aybabtu.com>
29646
29647 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
29648 (grub_rescue_cmd_multiboot_loader)
29649 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
29650
29651 2008-02-03 Pavel Roskin <proski@gnu.org>
29652
29653 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
29654 %edx and %esi from stack only after grub_gate_a20() is called.
29655 grub_gate_a20() clobbers %edx.
29656
29657 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
29658
29659 * configure.ac (AC_INIT): Bumped to 1.96.
29660
29661 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
29662 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
29663 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
29664 video/readers/png.c.
29665
29666 2008-02-03 Bean <bean123ch@gmail.com>
29667
29668 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
29669 (cdboot_img_SOURCES): New variable.
29670 (cdboot_img_ASFLAGS): New variable.
29671 (cdboot_img_LDFLAGS): New variable.
29672
29673 * boot/i386/pc/cdboot.S: New file.
29674
29675 * disk/i386/pc/biosdisk.c (cd_start): New variable.
29676 (cd_count): Likewise.
29677 (grub_biosdisk_get_drive): Add support for cd device.
29678 (grub_biosdisk_call_hook): Likewise.
29679 (grub_biosdisk_iterate): Likewise.
29680 (grub_biosdisk_open): Likewise.
29681 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
29682 (grub_biosdisk_rw): Support reading from cd device.
29683 (GRUB_MOD_INIT): Iterate cd devices.
29684
29685 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
29686 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
29687 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
29688
29689 * kern/i386/pc/init.c (make_install_device): Check for cd device.
29690
29691 2008-02-02 Robert Millan <rmh@aybabtu.com>
29692
29693 * commands/read.c: New file.
29694 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
29695 (read_mod_SOURCES): New variable.
29696 (read_mod_CFLAGS): Likewise.
29697 (read_mod_LDFLAGS): Likewise.
29698
29699 2008-02-02 Robert Millan <rmh@aybabtu.com>
29700
29701 * normal/main.c (grub_normal_execute): Check for `menu->size' when
29702 determining whether menu has to be displayed.
29703
29704 2008-02-02 Marco Gerards <marco@gnu.org>
29705
29706 * bus/pci.c: New file.
29707
29708 * include/grub/pci.h: Likewise.
29709
29710 * include/grub/i386/pc/pci.h: Likewise.
29711
29712 * commands/lspci.c: Likewise.
29713
29714 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
29715 `lspci.mod'.
29716 (pci_mod_SOURCES): New variable.
29717 (pci_mod_CFLAGS): Likewise.
29718 (pci_mod_LDFLAGS): Likewise.
29719 (lspci_mod_SOURCES): Likewise.
29720 (lspci_mod_CFLAGS): Likewise.
29721 (lspci_mod_LDFLAGS): Likewise.
29722
29723 2008-02-02 Bean <bean123ch@gmail.com>
29724
29725 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
29726 (grub_ufs_get_file_block): Fix indirect block calculation problem.
29727
29728 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
29729 (grub_xfs_btree_node): New structure.
29730 (grub_xfs_btree_root): New structure.
29731 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
29732 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
29733 (GRUB_XFS_EXTENT_BLOCK): Likewise.
29734 (GRUB_XFS_EXTENT_SIZE): Likewise.
29735 (grub_xfs_read_block): Support btree format type.
29736 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
29737 Use directory block as basic unit.
29738
29739 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
29740
29741 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
29742 __attribute__ ((__regparm__ (1))).
29743
29744 2008-02-01 Robert Millan <rmh@aybabtu.com>
29745
29746 Correct a mistake in previous commit.
29747
29748 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
29749 top.
29750 (normal/command.c_DEPENDENCIES): New variable.
29751
29752 2008-02-01 Robert Millan <rmh@aybabtu.com>
29753
29754 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
29755 top.
29756 (normal/command.c_DEPENDENCIES): New variable.
29757 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
29758 * conf/i386-ieee1275.rmk: Likewise.
29759 * conf/i386-linuxbios.rmk: Likewise.
29760 * conf/i386-pc.rmk: Likewise.
29761 * conf/sparc64-ieee1275.rmk: Likewise.
29762 * conf/powerpc-ieee1275.rmk: Likewise.
29763 (grub_emu_SOURCES): Add `fs/fshelp.c'.
29764
29765 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
29766
29767 2008-02-01 Robert Millan <rmh@aybabtu.com>
29768
29769 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
29770 call at beginning of function.
29771
29772 2008-01-31 Pavel Roskin <proski@gnu.org>
29773
29774 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
29775 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
29776 (grub_mkrescue_SOURCES): Likewise.
29777 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
29778
29779 2008-01-30 Robert Millan <rmh@aybabtu.com>
29780
29781 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
29782 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
29783 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
29784 (grub_probe_SOURCES): ... to here.
29785
29786 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
29787 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
29788 * conf/i386-ieee1275.rmk: Likewise.
29789 * conf/i386-linuxbios.rmk: Likewise.
29790 * conf/powerpc-ieee1275.rmk: Likewise.
29791
29792 2008-01-30 Tristan Gingold <gingold@free.fr>
29793
29794 * kern/rescue.c: Silently accept empty lines.
29795
29796 2008-01-29 Bean <bean123ch@gmail.com>
29797
29798 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
29799 (real_code_2): Code cleanup and change comment style.
29800 (move_memory): Avoid using 32-bit address mode.
29801
29802 2008-01-29 Bean <bean123ch@gmail.com>
29803
29804 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
29805 (png_mod_SOURCES): New variable.
29806 (png_mod_CFLAGS): Likewise.
29807 (png_mod_LDFLAGS): Likewise.
29808
29809 * video/readers/png.c: New file.
29810
29811 2008-01-28 Robert Millan <rmh@aybabtu.com>
29812
29813 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
29814 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
29815 `ifndef GRUB_MOD_GAP' hack.
29816 * util/elf/grub-mkimage.c (add_segments): Likewise.
29817
29818 2008-01-27 Robert Millan <rmh@aybabtu.com>
29819
29820 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
29821 `GRUB_MOD_GAP' for platforms in which it's not defined.
29822 * util/elf/grub-mkimage.c (add_segments): Likewise.
29823
29824 2008-01-27 Robert Millan <rmh@aybabtu.com>
29825
29826 Get grub-emu to build again (including parallel builds).
29827
29828 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
29829 Split into ...
29830 (util/grub-emu.c_DEPENDENCIES): ... this, ...
29831 (normal/execute.c_DEPENDENCIES): ... this, ...
29832 (grub-emu_DEPENDENCIES): ... and this.
29833
29834 * conf/i386-efi.rmk: Likewise.
29835 * conf/i386-linuxbios.rmk: Likewise.
29836 * conf/i386-ieee1275.rmk: Likewise.
29837 * conf/powerpc-ieee1275.rmk: Likewise.
29838 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
29839
29840 2008-01-27 Robert Millan <rmh@aybabtu.com>
29841
29842 * NEWS: Add a few items.
29843
29844 2008-01-27 Robert Millan <rmh@aybabtu.com>
29845
29846 Fix parallel builds with grub-emu. Based on earlier commit for
29847 grub-probe and grub-setup.
29848
29849 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
29850 (util/grub-emu.c_DEPENDENCIES): ... this.
29851 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
29852 (util/grub-emu.c_DEPENDENCIES): ... this.
29853 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
29854 (util/grub-emu.c_DEPENDENCIES): ... this.
29855 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
29856 (util/grub-emu.c_DEPENDENCIES): ... this.
29857 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
29858 (util/grub-emu.c_DEPENDENCIES): ... this.
29859
29860 2008-01-27 Pavel Roskin <proski@gnu.org>
29861
29862 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
29863 to create a gap between _end and the modules added to the image
29864 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
29865 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
29866 * util/elf/grub-mkimage.c (add_segments): Likewise.
29867
29868 2008-01-26 Pavel Roskin <proski@gnu.org>
29869
29870 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
29871 just return an error.
29872
29873 2008-01-26 Bean <bean123ch@gmail.com>
29874
29875 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
29876 (grub_reiserfs_get_item): Save offset of the next item.
29877 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
29878
29879 2008-01-25 Robert Millan <rmh@aybabtu.com>
29880
29881 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
29882 make all filesystem sources appear together (possibly fixing omissions
29883 while at it).
29884 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
29885 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29886 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
29887 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29888
29889 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
29890 add `kern/file.c'.
29891 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
29892 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
29893 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
29894 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
29895
29896 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
29897 (probe): Add a sanity check to make sure of our ability to read
29898 requested files when probing for filesystem type.
29899
29900 * genmk.rb: Update copyright year (2007).
29901
29902 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
29903 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
29904 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
29905 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
29906 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
29907 : Remove function prototypes.
29908
29909 2008-01-25 Robert Millan <rmh@aybabtu.com>
29910
29911 Revert my previous commits (based on wrong assumption of how grub_errno
29912 works).
29913
29914 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
29915 * kern/file.c (grub_file_open): Likewise.
29916
29917 2008-01-24 Pavel Roskin <proski@gnu.org>
29918
29919 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
29920 that hang if GRUB tries to setup colors.
29921 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
29922 colors for firmwares that don't support it.
29923 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
29924 Recognize Open Hack'Ware, set flags to work around its
29925 limitations.
29926
29927 2008-01-24 Robert Millan <rmh@aybabtu.com>
29928
29929 * kern/file.c (grub_file_open): Do not account previous failures of
29930 unrelated functions when grub_errno is checked for.
29931 Reported by Oleg Strikov.
29932
29933 2008-01-24 Bean <bean123ch@gmail.com>
29934
29935 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
29936 (grub_ufs_sblock): New member volume name.
29937 (grub_ufs_find_file): Fix string copy bug.
29938 (grub_ufs_label): Implement this function properly.
29939
29940 * fs/hfs.c (grub_hfs_cnid_type): New enum.
29941 (grub_hfs_iterate_records): Use the correct file number for extents
29942 and catalog file. Fix problem in next index calculation.
29943 (grub_hfs_find_node): Replace recursive function call with loop.
29944 (grub_hfs_iterate_dir): Replace recursive function call with loop.
29945
29946 2008-01-23 Robert Millan <rmh@aybabtu.com>
29947
29948 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
29949 `<grub/symbol.h>' and `<grub/multiboot.h>'.
29950 (grub_multiboot2_real_boot): New function prototype.
29951
29952 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
29953 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
29954
29955 * kern/i386/ieee1275/init.c (grub_os_area_addr)
29956 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
29957
29958 2008-01-23 Robert Millan <rmh@aybabtu.com>
29959
29960 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
29961 #ifdef'ed out grub_printf().
29962
29963 2008-01-23 Robert Millan <rmh@aybabtu.com>
29964
29965 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
29966 grub_dprintf calls, since they make "debug=all" mode unusable.
29967 (grub_console_checkkey): Likewise.
29968
29969 2008-01-23 Robert Millan <rmh@aybabtu.com>
29970
29971 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
29972 `term/i386/pc/at_keyboard.c'.
29973 (pkglib_MODULES): Add `serial.mod'.
29974 (serial_mod_SOURCES): New variable.
29975 (serial_mod_CFLAGS): Likewise.
29976 (serial_mod_LDFLAGS): Likewise.
29977
29978 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
29979 `<grub/powerpc/ieee1275/console.h>'.
29980 (grub_keyboard_controller_init): New function prototype.
29981 (grub_console_checkkey): Likewise.
29982 (grub_console_getkey): Likewise.
29983
29984 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
29985 keyboard on i386.
29986
29987 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
29988 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
29989
29990 2008-01-23 Robert Millan <rmh@aybabtu.com>
29991
29992 * kern/i386/pc/init.c (make_install_device): When memdisk image is
29993 present, "(memdisk)/boot/grub" becomes the default prefix.
29994
29995 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
29996 a memdisk tarball with all the modules. Add --overlay=DIR option that
29997 allows users to overlay additional files into the image.
29998
29999 2008-01-23 Robert Millan <rmh@aybabtu.com>
30000
30001 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
30002 and `machine/memory.h'.
30003 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
30004 (_multiboot_mod_SOURCES): New variable.
30005 (_multiboot_mod_CFLAGS): Likewise.
30006 (_multiboot_mod_LDFLAGS): Likewise.
30007 (multiboot_mod_SOURCES): Likewise.
30008 (multiboot_mod_CFLAGS): Likewise.
30009 (multiboot_mod_LDFLAGS): Likewise.
30010
30011 * include/grub/i386/ieee1275/loader.h: New file.
30012
30013 * include/grub/i386/ieee1275/machine.h: Likewise.
30014
30015 * include/grub/i386/ieee1275/memory.h: Likewise.
30016
30017 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
30018 variable declaration.
30019 (grub_os_area_size): Likewise.
30020
30021 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
30022 (grub_lower_mem, grub_upper_mem): New variables.
30023 (grub_stop_floppy): New function (just to make
30024 grub_multiboot2_real_boot() happy).
30025
30026 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
30027 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
30028 (grub_stop): New function.
30029 Include `"../realmode.S"' and `"../loader.S"'.
30030
30031 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
30032 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
30033
30034 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
30035 rely on grub_multiboot2_real_boot() for final boot.
30036
30037 2008-01-22 Robert Millan <rmh@aybabtu.com>
30038
30039 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
30040 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
30041 device that doesn't look like an SD card.
30042 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
30043 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
30044 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
30045 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
30046 found.
30047
30048 2008-01-22 Robert Millan <rmh@aybabtu.com>
30049
30050 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
30051 avoid claiming over our own code.
30052
30053 2008-01-22 Bean <bean123ch@gmail.com>
30054
30055 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
30056 (jpeg_mod_SOURCES): New variable.
30057 (jpeg_mod_CFLAGS): Likewise.
30058 (jpeg_mod_LDFLAGS): Likewise.
30059
30060 * video/readers/jpeg.c : New file.
30061
30062 2008-01-22 Bean <bean123ch@gmail.com>
30063
30064 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
30065 there are no more items.
30066
30067 2008-01-21 Robert Millan <rmh@aybabtu.com>
30068
30069 * kern/mm.c (grub_mm_init_region): Improve debug message.
30070
30071 2008-01-21 Robert Millan <rmh@aybabtu.com>
30072
30073 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
30074 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
30075 address.
30076 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
30077 a C macro.
30078 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
30079 Indicates start of upper memory.
30080 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
30081 (generate_image): Abort when image size is big enough to corrupt
30082 upper memory.
30083
30084 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
30085 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
30086 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
30087 instead of hardcoding 0xA0000.
30088 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
30089 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
30090 instead of hardcoding 0xA0000.
30091
30092 2008-01-21 Robert Millan <rmh@aybabtu.com>
30093
30094 * disk/memdisk.c (memdisk_size): New variable.
30095 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
30096 `memdisk_size'.
30097 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
30098 image to dynamic memory.
30099 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
30100 `memdisk_size'. Free memdisk block.
30101
30102 2008-01-21 Robert Millan <rmh@aybabtu.com>
30103
30104 Fix detection of very small filesystems (like tar).
30105
30106 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
30107 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
30108 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
30109 a problem with this disk).
30110
30111 2008-01-21 Robert Millan <rmh@aybabtu.com>
30112
30113 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
30114 on grub_biosdisk_rw_standard() error.
30115
30116 2008-01-21 Robert Millan <rmh@aybabtu.com>
30117
30118 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
30119 recent changes.
30120 * kern/elf.c: Likewise.
30121 * kern/ieee1275/ieee1275.c: Likewise.
30122 * kern/powerpc/ieee1275/openfw.c: Likewise.
30123 * term/ieee1275/ofconsole.c: Likewise.
30124
30125 2008-01-21 Robert Millan <rmh@aybabtu.com>
30126
30127 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
30128
30129 * include/grub/kernel.h (grub_arch_memdisk_addr)
30130 (grub_arch_memdisk_size): Moved from here ...
30131
30132 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
30133 (grub_arch_memdisk_size): ... to here.
30134
30135 2008-01-21 Robert Millan <rmh@aybabtu.com>
30136
30137 Mostly based on bugfix from Bean.
30138
30139 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
30140 attribute with hook() parameter.
30141 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
30142 declaration.
30143 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
30144 attribute with hook() parameter.
30145 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
30146 declaration.
30147
30148 2008-01-21 Robert Millan <rmh@aybabtu.com>
30149
30150 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
30151 (pkglib_MODULES): Add `memdisk.mod'.
30152 (memdisk_mod_SOURCES): New variable.
30153 (memdisk_mod_CFLAGS): Likewise.
30154 (memdisk_mod_LDFLAGS): Likewise.
30155
30156 * disk/memdisk.c: New file.
30157
30158 * include/grub/disk.h (grub_disk_dev_id): Add
30159 `GRUB_DISK_DEVICE_MEMDISK_ID'.
30160
30161 * include/grub/i386/pc/kernel.h
30162 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
30163 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
30164 (grub_kernel_image_size): New variable declaration.
30165 (grub_total_module_size): Likewise.
30166 (grub_memdisk_image_size): Likewise.
30167
30168 * include/grub/i386/pc/memory.h
30169 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
30170
30171 * include/grub/kernel.h: Include `<grub/symbol.h>'.
30172 (grub_arch_memdisk_addr): New variable declaration.
30173 (grub_arch_memdisk_size): Likewise.
30174
30175 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
30176 (grub_arch_memdisk_size): Likewise.
30177
30178 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
30179 (codestart): Replace hardcoded `0x100000' with
30180 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
30181
30182 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
30183 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
30184 not NULL, append the contents of the file it refers to, at the end of
30185 the compressed kernel image. Initialize `grub_memdisk_image_size'
30186 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
30187 (options): Add "memdisk"|'m' option.
30188 (main): Parse --memdisk|-m option, and pass user-provided path as
30189 parameter to generate_image().
30190
30191 2008-01-20 Robert Millan <rmh@aybabtu.com>
30192
30193 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
30194 grub_dprintf() calls from here ...
30195 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
30196
30197 2008-01-20 Robert Millan <rmh@aybabtu.com>
30198
30199 Fix detection of "real mode" when /options/real-mode? doesn't exist.
30200
30201 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
30202 declaration.
30203 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
30204 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
30205 `GRUB_IEEE1275_FLAG_REAL_MODE'.
30206 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
30207 property).
30208 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
30209 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
30210
30211 2008-01-19 Robert Millan <rmh@aybabtu.com>
30212
30213 Get rid of confusing function (superseded by
30214 `grub_ieee1275_get_integer_property')
30215 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
30216 prototype.
30217 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
30218 function.
30219 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
30220 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
30221 in native endianness from grub_ieee1275_get_integer_property().
30222
30223 2008-01-19 Robert Millan <rmh@aybabtu.com>
30224
30225 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
30226 command after "shut-down", since implementations differ on which
30227 the command for halt is.
30228
30229 2008-01-19 Robert Millan <rmh@aybabtu.com>
30230
30231 * include/grub/i386/linuxbios/console.h: Add header protection.
30232 (grub_keyboard_controller_init): New function prototype.
30233 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
30234 (KEYBOARD_COMMAND_READ): Likewise.
30235 (KEYBOARD_COMMAND_WRITE): Likewise.
30236 (KEYBOARD_SCANCODE_SET1): Likewise.
30237 (grub_keyboard_controller_write): New function.
30238 (grub_keyboard_controller_read): Likewise.
30239 (grub_keyboard_controller_init): Likewise.
30240
30241 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
30242 (grub_console_init): On coreboot/LinuxBIOS, call
30243 grub_keyboard_controller_init().
30244
30245 2008-01-19 Robert Millan <rmh@aybabtu.com>
30246
30247 PowerPC changes provided by Pavel Roskin.
30248
30249 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
30250 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
30251 don't rely on cmain() doing it.
30252 * kern/i386/ieee1275/startup.S (_start): Store %eax in
30253 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
30254
30255 2008-01-16 Robert Millan <rmh@aybabtu.com>
30256
30257 * include/grub/i386/linuxbios/memory.h
30258 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
30259 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
30260 receive `table_header' as argument. Instead, probe for it in the
30261 known memory ranges where it can be present.
30262 (grub_available_iterate): Do not pass a fixed `table_header' address
30263 to grub_linuxbios_table_iterate().
30264
30265 2008-01-15 Robert Millan <rmh@aybabtu.com>
30266
30267 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
30268 * conf/i386-ieee1275.rmk: New file.
30269 * include/grub/i386/ieee1275/console.h: Likewise.
30270 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
30271 * include/grub/i386/ieee1275/kernel.h: Likewise.
30272 * include/grub/i386/ieee1275/time.h: Likewise.
30273 * kern/i386/ieee1275/init.c: Likewise.
30274 * kern/i386/ieee1275/startup.S: Likewise.
30275
30276 2008-01-15 Robert Millan <rmh@aybabtu.com>
30277
30278 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
30279 when pointers are 32-bit (but still do set it to one when they are
30280 64-bit).
30281
30282 2008-01-15 Robert Millan <rmh@aybabtu.com>
30283
30284 * include/grub/ieee1275/ieee1275.h
30285 (grub_ieee1275_get_integer_property): New function prototype.
30286
30287 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
30288 (grub_ieee1275_get_integer_property): New function. Wraps around
30289 grub_ieee1275_get_property() to handle endianness.
30290
30291 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
30292 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
30293 where appropriate.
30294 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
30295 (grub_map): Likewise.
30296 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
30297
30298 2008-01-15 Bean <bean123ch@gmail.com>
30299
30300 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
30301 (grub_script_execute_cmdline): Reset grub_errno.
30302
30303 * normal/main.c (read_config_file): Reset grub_errno.
30304
30305 * normal/parse.y (script_init): New.
30306 (script): Move function and menuentry here.
30307 (delimiter): New.
30308 (command): Add delimiter at the end of command.
30309 (commands): Adjust to match the new command.
30310 (commandblock): Remove grub_script_lexer_record_start.
30311 (menuentry): Add grub_script_lexer_record_start, use the new commands.
30312 (if): Use the new commands.
30313
30314 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
30315
30316 2008-01-15 Robert Millan <rmh@aybabtu.com>
30317
30318 * normal/menu.c (run_menu): Move timeout message from here ...
30319 (print_timeout): ... to here.
30320 (run_menu): Use print_timeout() once during initial draw to print
30321 the whole message, and again in every clock tick to update only
30322 the number of seconds.
30323
30324 2008-01-15 Robert Millan <rmh@aybabtu.com>
30325
30326 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
30327 actual size of `available' from grub_ieee1275_get_property(), and
30328 restrict parsing to that bound.
30329
30330 2008-01-15 Christian Franke <franke@computer.org>
30331
30332 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
30333 (argp_program_version): Remove variable.
30334 (argp_program_bug_address): Likewise.
30335 (options): Convert from struct argp_option to struct option.
30336 (struct arguments): Remove.
30337 (parse_opt): Remove.
30338 (usage): New function.
30339 (main): Replace struct args members by simple variables.
30340 Replace argp_parse() by getopt_long().
30341 Add switch to evaluate options.
30342 Add missing "(...)" around root_dev in prefix string.
30343
30344 2008-01-14 Robert Millan <rmh@aybabtu.com>
30345
30346 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
30347 for grub_ieee1275_exit(), in order to improve portability.
30348
30349 2008-01-14 Robert Millan <rmh@aybabtu.com>
30350
30351 * util/grub.d/10_linux.in (prefix): Define.
30352 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
30353
30354 2008-01-13 Pavel Roskin <proski@gnu.org>
30355
30356 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
30357 grub_errno if no errors have been detected.
30358
30359 2008-01-12 Robert Millan <rmh@aybabtu.com>
30360
30361 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
30362 (grub_util_get_dev_abstraction): New function prototype.
30363
30364 * util/getroot.c: Include `<grub/util/getroot.h>'
30365 (grub_util_get_grub_dev): Move detection of abstraction type to ...
30366 (grub_util_get_dev_abstraction): ... here (new function).
30367
30368 * util/grub-probe.c: Convert PRINT_* to an enum. Add
30369 `PRINT_ABSTRACTION'.
30370 (probe): Probe for abstraction type when requested.
30371 (main): Understand `--target=abstraction'.
30372
30373 * util/i386/efi/grub-install.in: Add abstraction module to core
30374 image when it is found to be necessary.
30375 * util/i386/pc/grub-install.in: Likewise.
30376 * util/powerpc/ieee1275/grub-install.in: Likewise.
30377
30378 * util/update-grub_lib.in (font_path): Return system path without
30379 converting to GRUB path.
30380 * util/update-grub.in: Convert system path returned by font_path()
30381 to a GRUB path. Use `grub-probe -t abstraction' to determine what
30382 abstraction module is needed for loading fonts (if any). Export
30383 that as `GRUB_PRELOAD_MODULES'.
30384 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
30385 insmod commands).
30386
30387 2008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
30388
30389 Remove some unused code from reiserfs.
30390
30391 * fs/reiserfs.c (struct grub_reiserfs_key)
30392 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
30393 (struct grub_reiserfs_node_body): Removed.
30394 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
30395 Likewise.
30396 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
30397 Likewise.
30398 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
30399 Likewise.
30400 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
30401 Likewise.
30402 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
30403 Likewise.
30404 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
30405 Likewise.
30406 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
30407 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
30408 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
30409
30410 2008-01-10 Robert Millan <rmh@aybabtu.com>
30411
30412 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
30413 Determines if a file is garbage left by packaging systems, etc.
30414 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
30415 for processing /etc/grub.d scripts.
30416 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
30417 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
30418 as a condition for processing Linux images.
30419
30420 2008-01-10 Pavel Roskin <proski@gnu.org>
30421
30422 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
30423 to compile reiserfs.c on PowerPC.
30424
30425 2008-01-10 Robert Millan <rmh@aybabtu.com>
30426
30427 * kern/device.c (grub_device_iterate): Do not abort device iteration
30428 when one of the devices cannot be opened.
30429 * kern/disk.c (grub_disk_open): Do not account previous failures of
30430 unrelated functions when grub_errno is checked for.
30431
30432 2008-01-08 Robert Millan <rmh@aybabtu.com>
30433
30434 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
30435 `! grub_linux_is_bzimage', change order of address comparison to make
30436 it more intuitive, and improve "too big zImage" error message.
30437
30438 2008-01-08 Robert Millan <rmh@aybabtu.com>
30439
30440 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
30441 `$(update-grub_DATA)'.
30442 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
30443 targets.
30444
30445 2008-01-07 Robert Millan <rmh@aybabtu.com>
30446
30447 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
30448 which instruction is modified by grub-setup during installation
30449 (since it wasn't obvious by only looking at this file).
30450
30451 2008-01-07 Robert Millan <rmh@aybabtu.com>
30452
30453 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
30454 listing actual TODO items.
30455
30456 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
30457
30458 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
30459 correctly.
30460 (grub_reiserfs_get_key_offset): Likewise.
30461 (grub_reiserfs_set_key_offset): Likewise.
30462 (grub_reiserfs_set_key_type): Likewise.
30463 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
30464
30465 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
30466 better to remove the bitfield version completely.
30467
30468 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
30469
30470 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
30471 allocated from the heap, due to the fshelp implementation.
30472 (grub_reiserfs_dir): Free NODE, due to the same reason.
30473
30474 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
30475
30476 Mostly from Vincent Pelletier:
30477
30478 * fs/reiserfs.c: New file.
30479
30480 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
30481 (reiserfs_mod_SOURCES): New variable.
30482 (reiserfs_mod_CFLAGS): Likewise.
30483 (reiserfs_mod_LDFLAGS): Likewise.
30484
30485 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
30486 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
30487 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
30488 normal/color.c.
30489
30490 2008-01-06 Robert Millan <rmh@aybabtu.com>
30491
30492 * normal/color.c: Remove `<grub/env.h>'.
30493
30494 2008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
30495
30496 * include/grub/normal.h: Include <grub/env.h>.
30497
30498 2008-01-05 Robert Millan <rmh@aybabtu.com>
30499
30500 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
30501 usage example with `(hd0,1)'.
30502 Reported by Samuel Thibault.
30503
30504 2008-01-05 Robert Millan <rmh@aybabtu.com>
30505
30506 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
30507 (grub_linux_boot_zimage): Rename to ...
30508 (grub_linux_boot): ... this.
30509 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
30510 (grub_linux_boot_zimage): Conditionalize zImage copy.
30511
30512 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
30513 (grub_linux_boot_bzimage): Remove prototype.
30514 (grub_linux_boot_zimage): Rename to ...
30515 (grub_linux_boot): ... this.
30516
30517 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
30518 (grub_linux_boot): Remove function.
30519
30520 2008-01-05 Robert Millan <rmh@aybabtu.com>
30521
30522 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
30523 (grub_env_write_color_highlight): Likewise.
30524 (grub_wait_after_message): Likewise.
30525
30526 * normal/color.c: New file.
30527
30528 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
30529 (normal_mod_DEPENDENCIES): Likewise.
30530
30531 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
30532 (normal_mod_DEPENDENCIES): Likewise.
30533
30534 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
30535 (normal_mod_DEPENDENCIES): Likewise.
30536
30537 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
30538 (normal_mod_DEPENDENCIES): Likewise.
30539
30540 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
30541 for waiting after a message is printed.
30542 * normal/main.c (read_config_file): Likewise.
30543 (grub_normal_init): Register grub_env_write_color_normal() and
30544 grub_env_write_color_highlight() hooks. Mark `color_normal' and
30545 `color_highlight' variables as global.
30546
30547 * normal/menu.c (grub_wait_after_message): New function.
30548 (grub_color_menu_normal): New variable. Replaces ...
30549 (GRUB_COLOR_MENU_NORMAL): ... this macro.
30550 (grub_color_menu_highlight): New variable. Replaces ...
30551 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
30552 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
30553 `GRUB_TERM_COLOR_STANDARD'.
30554 (print_message): Use `grub_setcolorstate' to reload colors. Rename
30555 `normal_code' and `highlight_code' to `old_color_normal' and
30556 `old_color_highlight', respectively.
30557 (grub_menu_init_page): Update colors when drawing the menu, based on
30558 `menu_color_normal' and `menu_color_highlight' variables.
30559 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
30560 a message is printed.
30561
30562 2008-01-05 Robert Millan <rmh@aybabtu.com>
30563
30564 * kern/env.c (grub_env_context_open): Propagate hooks for global
30565 variables to new context.
30566
30567 * kern/main.c (grub_set_root_dev): Export `root' variable.
30568
30569 2008-01-05 Robert Millan <rmh@aybabtu.com>
30570
30571 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
30572 discs unconditionally, since udev and others have options to provide
30573 them.
30574
30575 2008-01-05 Robert Millan <rmh@aybabtu.com>
30576
30577 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
30578
30579 2008-01-04 Christian Franke <franke@computer.org>
30580
30581 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
30582 of eisa_mmap.
30583
30584 2008-01-03 Pavel Roskin <proski@gnu.org>
30585
30586 * kern/i386/linuxbios/init.c: Put "void" to all function
30587 declarations with no arguments.
30588 * kern/powerpc/ieee1275/init.c: Likewise.
30589 * term/i386/pc/at_keyboard.c: Likewise.
30590 * term/i386/pc/vga_text.c: Likewise.
30591 * util/grub-mkdevicemap.c: Likewise.
30592
30593 2008-01-02 Robert Millan <rmh@aybabtu.com>
30594
30595 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
30596 message when loaded image is out of bounds.
30597 (grub_multiboot_load_elf64): Likewise.
30598
30599 2008-01-02 Pavel Roskin <proski@gnu.org>
30600
30601 * util/grub.d/10_linux.in: Try version without ".old" when
30602 looking for initrd. It's better to use initrd from the newer
30603 kernel of the same version than no initrd at all.
30604
30605 2008-01-01 Robert Millan <rmh@aybabtu.com>
30606
30607 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
30608
30609 2008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
30610
30611 * include/grub/video.h: Added grub_video_unmap_color and
30612 grub_video_get_active_render_target.
30613 (grub_video_adapter): Added unmap_color and get_active_render_target.
30614
30615 * video/video.c: Added grub_video_unmap_color and
30616 grub_video_get_active_render_target.
30617 (grub_video_get_info): Changed method to accept NULL pointer as an
30618 argument to allow detection of active video adapter.
30619
30620 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
30621 grub_video_vbe_unmap_color_int.
30622 Added grub_video_vbe_unmap_color and
30623 grub_video_vbe_get_active_render_target.
30624 (grub_video_vbe_adapter): Added unmap_color and
30625 get_active_render_target.
30626
30627 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
30628 with grub_video_vbe_unmap_color_int.
30629
30630 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
30631 (DEFAULT_NORMAL_COLOR): Likewise.
30632 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
30633 (DEFAULT_FG_COLOR): Removed.
30634 (DEFAULT_BG_COLOR): Likewise.
30635 (DEFAULT_CURSOR_COLOR): Changed value.
30636 (grub_virtual_screen): Added standard_color_setting,
30637 normal_color_setting, highlight_color_setting and term_color.
30638 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
30639 (bitmap_width): Added.
30640 (bitmap_height): Likewise.
30641 (bitmap): Likewise.
30642 (set_term_color): Likewise.
30643 (grub_virtual_screen_setup): Changed to use new terminal coloring
30644 settings.
30645 (grub_gfxterm_init): Added init for bitmap.
30646 (grub_gfxterm_fini): Added destroy for bitmap.
30647 (redraw_screen_rect): Updated to use background bitmap and new
30648 terminal coloring.
30649 (scroll_up): Added optimization for case when there is no bitmap.
30650 (grub_gfxterm_cls): Fixed to use correct background color.
30651 (grub_virtual_screen_setcolorstate): Changed to use new terminal
30652 coloring.
30653 (grub_virtual_screen_setcolor): Likewise.
30654 (grub_virtual_screen_getcolor): Added.
30655 (grub_gfxterm_background_image_cmd): Likewise.
30656 (grub_video_term): Added setcolor and getcolor.
30657 (MOD_INIT): Added registration of background_image command.
30658 (MOD_TERM): Added unregistration for background_image command.
30659
30660 2007-12-30 Pavel Roskin <proski@gnu.org>
30661
30662 * loader/multiboot_loader.c: Fix multiboot command
30663 unregistration. Fix all typos in the word "multiboot".
30664
30665 2007-12-29 Pavel Roskin <proski@gnu.org>
30666
30667 * util/grub.d/10_linux.in: Refactor search for initrd. Add
30668 support for initrd names used in Fedora.
30669
30670 2007-12-26 Bean <bean123ch@gmail.com>
30671
30672 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
30673 (cpio_mod_SOURCES): New variable.
30674 (cpio_mod_CFLAGS): Likewise.
30675 (cpio_mod_LDFLAGS): Likewise.
30676
30677 * fs/cpio.c: New file.
30678
30679 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
30680
30681 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
30682
30683 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
30684
30685 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30686
30687 2007-12-25 Robert Millan <rmh@aybabtu.com>
30688
30689 * include/grub/term.h (struct grub_term): Add `getcolor' function.
30690 (grub_getcolor): New function.
30691
30692 * kern/term.c (grub_getcolor): New function.
30693 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
30694 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
30695 (print_entry): Set normal and highlight colors to
30696 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
30697 respectively, before printing and restore them to old
30698 values afterwards.
30699 (grub_menu_init_page): Likewise. Fill an additional colored space
30700 that would otherwise be left blank.
30701
30702 * term/efi/console.c (grub_console_getcolor): New function.
30703 (struct grub_console_term.getcolor): New variable.
30704 * term/i386/pc/console.c (grub_console_getcolor): New function.
30705 (struct grub_console_term.getcolor): New variable.
30706 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
30707 (struct grub_console_term.getcolor): New variable.
30708
30709 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
30710 (struct grub_console_term.setcolor): Remove variable.
30711 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
30712 (struct grub_console_term.setcolor): Remove variable.
30713 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
30714 (struct grub_console_term.setcolor): Remove variable.
30715 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
30716 (struct grub_console_term.setcolor): Remove variable.
30717
30718 2007-12-25 Robert Millan <rmh@aybabtu.com>
30719
30720 * configure.ac: Search for possible unifont.hex locations, and
30721 define UNIFONT_HEX if found.
30722
30723 * Makefile.in (UNIFONT_HEX): Define variable.
30724 (DATA): Rename to ...
30725 (PKGLIB): ... this. Update all users.
30726 (PKGDATA): New variable.
30727 (pkgdata_IMAGES): Rename to ...
30728 (pkglib_IMAGES): ... this. Update all users.
30729 (pkgdata_MODULES): Rename to ...
30730 (pkglib_MODULES): ... this. Update all users.
30731 (pkgdata_PROGRAMS): Rename to ...
30732 (pkglib_PROGRAMS): ... this. Update all users.
30733 (pkgdata_DATA): Rename to ...
30734 (pkglib_DATA): ... this. Update all users.
30735 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
30736 (unicode.pff, ascii.pff): New rules.
30737 (all-local): Add `$(PKGDATA)' dependency.
30738 (install-local): Process `$(PKGDATA)'.
30739
30740 * util/update-grub_lib.in (font_path): Search for *.pff files in
30741 a few more locations, including `${pkgdata}'.
30742
30743 2007-12-23 Robert Millan <rmh@aybabtu.com>
30744
30745 Patch from Bean <bean123ch@gmail.com>:
30746 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
30747 `size'.
30748
30749 2007-12-21 Bean <bean123ch@gmail.com>
30750
30751 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
30752 (ntfscomp_mod_SOURCES): New variable.
30753 (ntfscomp_mod_CFLAGS): Likewise.
30754 (ntfscomp_mod_LDFLAGS): Likewise.
30755
30756 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
30757 (grub_probe_SOURCES): Likewise.
30758 (grub_emu_SOURCES): Likewise.
30759
30760 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
30761 (grub_emu_SOURCES): Likewise.
30762
30763 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
30764 (grub_emu_SOURCES): Likewise.
30765
30766 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
30767 (grub_emu_SOURCES): Likewise.
30768
30769 * fs/ntfs.c (grub_ntfscomp_func): New variable.
30770 (read_run_list): Renamed to grub_ntfs_read_run_list.
30771 (decomp_nextvcn): Moved to ntfscomp.c.
30772 (decomp_getch): Likewise.
30773 (decomp_get16): Likewise.
30774 (decomp_block): Likewise.
30775 (read_block): Likewise.
30776 (read_data): Partially moved to ntfscomp.c.
30777 (fixup): Change unsigned to grub_uint16_t.
30778 (read_mft): Change unsigned long to grub_uint32_t.
30779 (read_attr): Likewise.
30780 (read_data): Likewise.
30781 (read_run_data): Likewise.
30782 (read_run_list): Likewise.
30783 (read_mft): Likewise.
30784
30785 * fs/ntfscomp.c: New file.
30786
30787 * include/grub/ntfs.h: New file.
30788
30789 2007-12-16 Robert Millan <rmh@aybabtu.com>
30790
30791 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
30792 IDE disk check, since Linux is known to support 20 IDE disks.
30793 Reported by Colin Watson.
30794
30795 2007-12-15 Bean <bean123ch@gmail.com>
30796
30797 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
30798 (lnxboot_img_SOURCES): New variable.
30799 (lnxboot_img_ASFLAGS): Likewise.
30800 (lnxboot_img_LDFLAGS): Likewise.
30801
30802 * boot/i386/pc/lnxboot.S: New file.
30803
30804 2007-11-24 Pavel Roskin <proski@gnu.org>
30805
30806 * configure.ac: Test if '--build-id=none' is supported by the
30807 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
30808 objcopy to generate incorrect binary files (binutils
30809 2.17.50.0.18-1 as shipped by Fedora 8).
30810 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
30811 linking, so that build ID doesn't break the test.
30812
30813 2007-11-24 Pavel Roskin <proski@gnu.org>
30814
30815 * include/grub/i386/time.h: use "void" in the argument list
30816 of grub_cpu_idle().
30817 * include/grub/powerpc/time.h: Likewise.
30818 * include/grub/sparc64/time.h: Likewise.
30819
30820 2007-11-18 Christian Franke <franke@computer.org>
30821
30822 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
30823 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
30824 This fixes the problem that function keys did not work in grub-emu.
30825
30826 2007-11-18 Christian Franke <franke@computer.org>
30827
30828 * disk/host.c (grub_host_open): Remove attribute unused from
30829 name parameter. Add check for "host". This fixes the problem
30830 that grub-emu does not find partitions.
30831
30832 2007-11-18 Christian Franke <franke@computer.org>
30833
30834 * util/hostfs.c (is_dir): New function.
30835 (grub_hostfs_dir): Handle missing dirent.d_type case.
30836 (grub_hostfs_read): Add missing fseek().
30837 (grub_hostfs_label): Clear label pointer. This fixes a crash
30838 of grub-emu on "ls (host)".
30839
30840 2007-11-18 Christian Franke <franke@computer.org>
30841
30842 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
30843 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
30844 to 64 bit boundary by default.
30845
30846 2007-11-18 Bean <bean123ch@gmail.com>
30847
30848 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
30849 (hexdump_mod_SOURCES): New variable.
30850 (hexdump_mod_CFLAGS): Likewise.
30851 (hexdump_mod_LDFLAGS): Likewise.
30852
30853 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
30854
30855 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
30856
30857 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
30858
30859 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
30860
30861 * include/grub/hexdump.h: New file.
30862
30863 * commands/hexdump.c: New file.
30864
30865 2007-11-10 Robert Millan <rmh@aybabtu.com>
30866
30867 * commands/i386/pc/play.c (beep_off): Switch order of arguments
30868 in grub_outb() calls.
30869 (beep_on): Likewise.
30870
30871 2007-11-10 Christian Franke <franke@computer.org>
30872
30873 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
30874 (grub_menu_run): Likewise.
30875
30876 2007-11-10 Robert Millan <rmh@aybabtu.com>
30877
30878 * include/grub/i386/efi/machine.h: New file.
30879 * include/grub/i386/linuxbios/machine.h: Likewise.
30880 * include/grub/i386/pc/machine.h: Likewise.
30881 * include/grub/powerpc/ieee1275/machine.h: Likewise.
30882 * include/grub/sparc64/ieee1275/machine.h: Likewise.
30883
30884 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
30885 (serial_hw_io_addr): New variable.
30886 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
30887 instead of `(unsigned short *) 0x400'.
30888
30889 2007-11-10 Bean <bean123ch@gmail.com>
30890
30891 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
30892
30893 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
30894
30895 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
30896 (vga_mod_SOURCES): Added.
30897 (vga_mod_CFLAGS): Likewise.
30898 (vga_mod_LDFLAGS): Likewise.
30899
30900 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
30901 grub_outb() calls.
30902 (set_map_mask): Likewise.
30903 (set_read_map): Likewise.
30904 (set_read_address): Likewise.
30905 (vga_font): Removed variable.
30906 (get_vga_glyph): Removed function.
30907 (invalidate_char): Likewise.
30908 (write_char): Changed to use grub_font_get_glyph() for font
30909 information.
30910 (grub_vga_putchar): Likewise.
30911 (grub_vga_getcharwidth): Likewise.
30912
30913 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
30914
30915 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
30916 flags.
30917 (pxeboot_img_LDFLAGS): Likewise.
30918 (diskboot_img_LDFLAGS): Likewise.
30919 (kernel_img_LDFLAGS): Likewise.
30920
30921 2007-11-06 Robert Millan <rmh@aybabtu.com>
30922
30923 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
30924 in grub_outb() calls.
30925 (serial_hw_init): Likewise.
30926
30927 2007-11-05 Robert Millan <rmh@aybabtu.com>
30928
30929 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
30930 spaces. Skip non-regular files.
30931
30932 2007-11-05 Robert Millan <rmh@aybabtu.com>
30933
30934 * kern/disk.c (grub_disk_firmware_fini)
30935 (grub_disk_firmware_is_tainted): New variables.
30936
30937 * include/grub/disk.h (grub_disk_firmware_fini)
30938 (grub_disk_firmware_is_tainted): Likewise.
30939
30940 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
30941 (grub_disk_biosdisk_fini): ... to here.
30942 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
30943 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
30944 is set. Register grub_disk_biosdisk_fini() in
30945 `grub_disk_firmware_fini'.
30946
30947 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
30948 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
30949 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
30950 to finish existing firmware disk interface.
30951
30952 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
30953 (ata_mod_SOURCES): New variable.
30954 (ata_mod_CFLAGS): Likewise.
30955 (ata_mod_LDFLAGS): Likewise.
30956
30957 2007-11-05 Robert Millan <rmh@aybabtu.com>
30958
30959 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
30960 (grub_ata_wait): Reimplement using grub_millisleep().
30961
30962 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
30963 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
30964
30965 2007-11-03 Marco Gerards <marco@gnu.org>
30966
30967 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
30968 (CRTC_ADDR_PORT): New macro.
30969 (CRTC_DATA_PORT): Likewise.
30970 (CRTC_CURSOR): Likewise.
30971 (CRTC_CURSOR_ADDR_HIGH): Likewise.
30972 (CRTC_CURSOR_ADDR_LOW): Likewise.
30973 (update_cursor): New function.
30974 (grub_console_real_putchar): Call `update_cursor'.
30975 (grub_console_gotoxy): Likewise.
30976 (grub_console_cls): Set the default color when clearing the
30977 screen.
30978 (grub_console_setcursor): Implemented.
30979
30980 2007-11-03 Marco Gerards <marco@gnu.org>
30981
30982 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
30983 become activate.
30984 (grub_ata_pio_write): Likewise.
30985
30986 (grub_atapi_identify): Wait after issuing an ATA command.
30987 (grub_atapi_packet): Likewise.
30988 (grub_ata_identify): Likewise.
30989 (grub_ata_readwrite): Likewise.
30990
30991 2007-11-03 Marco Gerards <marco@gnu.org>
30992
30993 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
30994 (grub_ata_pio_write): Likewise.
30995 (grub_ata_readwrite): Use `grub_error', instead of
30996 returning `grub_errno'.
30997
30998 2007-11-03 Marco Gerards <marco@gnu.org>
30999
31000 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
31001 grub_ata_pio_write once for every single sector, instead of for
31002 multiple sectors.
31003
31004 2007-10-31 Robert Millan <rmh@aybabtu.com>
31005
31006 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
31007
31008 * conf/i386-linuxbios.rmk: New file.
31009
31010 * kern/i386/pc/hardware.c: Likewise.
31011 * term/i386/pc/at_keyboard.c: Likewise.
31012 * term/i386/pc/vga_text.c: Likewise.
31013
31014 * include/grub/i386/linuxbios/boot.h: Likewise.
31015 * include/grub/i386/linuxbios/console.h: Likewise.
31016 * include/grub/i386/linuxbios/init.h: Likewise.
31017 * include/grub/i386/linuxbios/kernel.h: Likewise.
31018 * include/grub/i386/linuxbios/loader.h: Likewise.
31019 * include/grub/i386/linuxbios/memory.h: Likewise.
31020 * include/grub/i386/linuxbios/serial.h: Likewise.
31021 * include/grub/i386/linuxbios/time.h: Likewise.
31022
31023 * kern/i386/linuxbios/init.c: Likewise.
31024 * kern/i386/linuxbios/startup.S: Likewise.
31025 * kern/i386/linuxbios/table.c: Likewise.
31026
31027 2007-10-31 Marco Gerards <marco@gnu.org>
31028
31029 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
31030 (ata_mod_SOURCES): New variable.
31031 (ata_mod_CFLAGS): Likewise.
31032 (ata_mod_LDFLAGS): Likewise.
31033
31034 * disk/ata.c: New file.
31035
31036 * include/grub/disk.h (grub_disk_dev_id): Add
31037 `GRUB_DISK_DEV_ATA_ID'.
31038
31039 2007-10-31 Robert Millan <rmh@aybabtu.com>
31040
31041 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
31042 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
31043
31044 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
31045 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
31046
31047 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
31048 `<grub/types.h>'.
31049
31050 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
31051
31052 2007-10-27 Robert Millan <rmh@aybabtu.com>
31053
31054 * include/grub/types.h (ULONG_MAX): Define macro.
31055
31056 2007-10-22 Robert Millan <rmh@aybabtu.com>
31057
31058 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
31059 `"../realmode.S"'.
31060 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
31061
31062 2007-10-22 Robert Millan <rmh@aybabtu.com>
31063
31064 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
31065 (pkgdata_MODULES): Add `biosdisk.mod'.
31066 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
31067 variables.
31068
31069 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
31070 (grub_biosdisk_init): Replace with ...
31071 (GRUB_MOD_INIT(biosdisk)): ... this.
31072 (grub_biosdisk_fini): Replace with ...
31073 (GRUB_MOD_FINI(biosdisk)): ... this.
31074
31075 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
31076 (grub_machine_init): Remove call to grub_biosdisk_init().
31077 (grub_machine_fini): Remove call to grub_machine_fini().
31078
31079 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
31080
31081 2007-10-22 Robert Millan <rmh@aybabtu.com>
31082
31083 * include/grub/time.h: New file.
31084 * include/grub/i386/time.h: Likewise.
31085 * include/grub/powerpc/time.h: Likewise.
31086 * include/grub/sparc64/time.h: Likewise.
31087
31088 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
31089 instances to ...
31090 (KERNEL_MACHINE_TIME_HEADER): ... this.
31091 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
31092 instances to ...
31093 (KERNEL_MACHINE_TIME_HEADER): ... this.
31094 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
31095 instances to ...
31096 (KERNEL_MACHINE_TIME_HEADER): ... this.
31097
31098 * kern/i386/efi/init.c: Include `<grub/time.h>'.
31099 (grub_millisleep): New function.
31100 * kern/i386/pc/init.c: Include `<grub/time.h>'.
31101 (grub_millisleep): New function.
31102 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
31103 Remove `grub/machine/time.h' include.
31104 (grub_millisleep): New function.
31105 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
31106 Remove `grub/machine/time.h' include.
31107 (grub_millisleep): New function.
31108
31109 * include/grub/misc.h (grub_div_roundup): New function.
31110
31111 * kern/misc.c: Include `<grub/time.h>'.
31112 (grub_millisleep_generic): New function.
31113
31114 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
31115 Add `time.h'.
31116 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
31117 Add `time.h'.
31118 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
31119 `machine/time.h'. Add `time.h'.
31120 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
31121
31122 2007-10-21 Robert Millan <rmh@aybabtu.com>
31123
31124 * include/grub/misc.h (grub_max): New function.
31125
31126 2007-10-21 Robert Millan <rmh@aybabtu.com>
31127
31128 * util/misc.c (grub_util_info): Call fflush() before returning.
31129
31130 2007-10-20 Robert Millan <rmh@aybabtu.com>
31131
31132 * genmk.rb (Image): Copy `extra_flags' from here ...
31133 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
31134
31135 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
31136 to `argc' and `args' arguments.
31137
31138 2007-10-17 Robert Millan <rmh@aybabtu.com>
31139
31140 * kern/i386/loader.S: New file.
31141
31142 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
31143 * kern/i386/loader.S (grub_linux_prot_size)... to here.
31144 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
31145 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
31146 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
31147 * kern/i386/loader.S (grub_linux_real_addr)... to here.
31148 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
31149 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
31150 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
31151 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
31152 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
31153 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
31154 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
31155 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
31156
31157 * kern/i386/realmode.S: New file.
31158
31159 * kern/i386/pc/startup.S (protstack): Moved from here ...
31160 * kern/i386/realmode.S (protstack)... to here.
31161 * kern/i386/pc/startup.S (gdt): Moved from here ...
31162 * kern/i386/realmode.S (gdt)... to here.
31163 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
31164 * kern/i386/realmode.S (prot_to_real)... to here.
31165
31166 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
31167 `kern/i386/realmode.S'.
31168
31169 2007-10-17 Robert Millan <rmh@aybabtu.com>
31170
31171 * include/grub/i386/loader.h: New file.
31172
31173 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
31174 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
31175 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
31176 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
31177 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
31178 * include/grub/i386/loader.h (grub_linux_prot_size)
31179 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
31180 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
31181 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
31182 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
31183
31184 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
31185
31186 2007-10-15 Robert Millan <rmh@aybabtu.com>
31187
31188 * normal/misc.c (grub_normal_print_device_info): Do not probe for
31189 filesystem when dev->disk is unset.
31190 Do probe for filesystem even when dev->disk->has_partitions is set.
31191 In case a filesystem is found, always report it.
31192 In case it isn't, if dev->disk->has_partitions is set, report that
31193 a partition table was found instead of reporting that no filesystem
31194 could be identified.
31195
31196 2007-10-12 Robert Millan <rmh@aybabtu.com>
31197
31198 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
31199 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
31200
31201 * include/grub/types.h (grub_host_to_target16): New macro.
31202 (grub_host_to_target32): Likewise.
31203 (grub_host_to_target64): Likewise.
31204 (grub_target_to_host16): Likewise.
31205 (grub_target_to_host32): Likewise.
31206 (grub_target_to_host64): Likewise.
31207
31208 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
31209 Renamed from to ...
31210 (GRUB_MOD_ALIGN): ...this. Update all users.
31211
31212 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
31213 grub_host_to_target32.
31214 Replace grub_be_to_cpu32 with grub_target_to_host32.
31215 (load_modules): Likewise.
31216 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
31217 Replace grub_be_to_cpu32 with grub_target_to_host32.
31218 Replace grub_cpu_to_be16 with grub_host_to_target16.
31219 Replace grub_cpu_to_be32 grub_host_to_target32.
31220
31221 2007-10-12 Robert Millan <rmh@aybabtu.com>
31222
31223 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
31224 * util/elf/grub-mkimage.c: ... here.
31225
31226 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
31227 `util/powerpc/ieee1275/grub-mkimage.c'.
31228
31229 2007-10-07 Robert Millan <rmh@aybabtu.com>
31230
31231 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
31232 and make it easier to figure out.
31233 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
31234 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
31235 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
31236 leave us with less than HEAP_MIN_SIZE total heap.
31237 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
31238
31239 2007-10-03 Robert Millan <rmh@aybabtu.com>
31240
31241 * include/grub/i386/io.h: New file.
31242 * commands/i386/pc/play.c (inb): Removed.
31243 (outb): Removed.
31244 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
31245 with grub_outb().
31246 * term/i386/pc/serial.c (inb): Removed.
31247 (outb): Removed.
31248 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
31249 with grub_outb().
31250 * term/i386/pc/vga.c (inb): Removed.
31251 (outb): Removed.
31252 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
31253 with grub_outb().
31254
31255 2007-10-02 Robert Millan <rmh@aybabtu.com>
31256
31257 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
31258 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31259 Reported by Marcin Kurek.
31260
31261 2007-09-07 Robert Millan <rmh@aybabtu.com>
31262
31263 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
31264 SmartFirmware version updates (as released by Sven Luther), and avoid
31265 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
31266 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
31267 known broken.
31268
31269 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
31270
31271 From Hitoshi Ozeki:
31272 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
31273 when merging two regions.
31274
31275 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
31276
31277 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
31278 * normal/completion.c (grub_normal_do_completion): Likewise.
31279 Reported by Hitoshi Ozeki.
31280
31281 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
31282
31283 Do not use devices at boot in chainloading.
31284
31285 * loader/i386/pc/chainloader.c (boot_drive): New variable.
31286 (boot_part_addr): Likewise.
31287 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
31288 with BOOT_DRIVE and BOOT_PART_ADDR.
31289 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
31290 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
31291
31292 2007-08-29 Robert Millan <rmh@aybabtu.com>
31293
31294 Patch from Simon Peter <dn.tlp@gmx.net>:
31295 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
31296 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
31297 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
31298 util/i386/pc/grub-setup.c_DEPENDENCIES.
31299 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
31300 util/grub-probe.c_DEPENDENCIES.
31301 * conf/powerpc-ieee1275.rmk: Likewise.
31302
31303 2007-08-28 Robert Millan <rmh@aybabtu.com>
31304
31305 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
31306 to tell grub-mkdevicemap how to name devices.
31307 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
31308 feature).
31309
31310 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
31311 util/i386/get_disk_name.c.
31312 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
31313 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
31314 util/ieee1275/get_disk_name.c.
31315
31316 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
31317
31318 * DISTLIST: Add util/i386/get_disk_name.c and
31319 util/ieee1275/get_disk_name.c.
31320
31321 * util/grub-mkdevicemap.c: Replace device naming logic with
31322 grub_util_get_disk_name() calls.
31323
31324 2007-08-20 Robert Millan <rmh@aybabtu.com>
31325
31326 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
31327 (so that it works for both plural and singular quantities).
31328
31329 2007-08-05 Robert Millan <rmh@aybabtu.com>
31330
31331 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
31332 so that [xz] isn't taken into account when determining order.
31333
31334 2007-08-02 Marco Gerards <marco@gnu.org>
31335
31336 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
31337 `include/multiboot2.h', `include/grub/elfload.h',
31338 `include/multiboot.h', `include/grub/multiboot.h',
31339 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
31340 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
31341 `kern/elf.c', `loader/multiboot_loader.c',
31342 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
31343 `loader/i386/pc/multiboot2.c',
31344 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
31345 `util/i386/pc/grub-mkrescue.in'. Remove
31346 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
31347 `include/grub/i386/pc/util/biosdisk.h' and
31348 `include/grub/powerpc/ieee1275/multiboot.h'.
31349
31350 2007-08-02 Bean <bean123ch@gmail.com>
31351
31352 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
31353 (ntfs_mod_SOURCES): New variable.
31354 (ntfs_mod_CFLAGS): Likewise.
31355 (ntfs_mod_LDFLAGS): Likewise.
31356
31357 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
31358 (grub_probe_SOURCES): Likewise.
31359 (grub_emu_SOURCES): Likewise.
31360
31361 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
31362 (grub_emu_SOURCES): Likewise.
31363
31364 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
31365 (grub_emu_SOURCES): Likewise.
31366
31367 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
31368
31369 * fs/ntfs.c: New file.
31370
31371 2007-08-02 Bean <bean123ch@gmail.com>
31372
31373 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
31374
31375 * file.h (grub_file): Likewise.
31376
31377 * fshelp.h (grub_fshelp_read_file): Likewise.
31378
31379 * util/i386/pc/grub-setup.c (setup): Likewise.
31380 (save_first_sector): Likewise.
31381 (save_blocklists): Likewise.
31382
31383 * fs/affs.c (grub_affs_read_file): Likewise.
31384
31385 * fs/ext2.c (grub_ext2_read_file): Likewise.
31386
31387 * fs/fat.c (grub_fat_read_data): Likewise.
31388
31389 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
31390
31391 * fs/hfs.c (grub_hfs_read_file): Likewise.
31392
31393 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
31394
31395 * fs/jfs.c (grub_jfs_read_file): Likewise.
31396
31397 * fs/minix.c (grub_minix_read_file): Likewise.
31398
31399 * fs/sfs.c (grub_sfs_read_file): Likewise.
31400
31401 * fs/ufs.c (grub_ufs_read_file): Likewise.
31402
31403 * fs/xfs.c (grub_xfs_read_file): Likewise.
31404
31405 * command/blocklist.c (read_blocklist): Likewise.
31406 (print_blocklist): Likewise.
31407
31408 2007-08-02 Marco Gerards <marco@gnu.org>
31409
31410 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
31411 `util/hostfs.c'.
31412
31413 * disk/host.c: New file.
31414
31415 * util/hostfs.c: Likewise.
31416
31417 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
31418 return `GRUB_ERR_BAD_FS'.
31419 * fs/sfs.c (grub_sfs_mount): Likewise.
31420 * fs/xfs.c (grub_xfs_mount): Likewise.
31421
31422 * include/grub/disk.h (enum grub_disk_dev_id): Add
31423 `GRUB_DISK_DEVICE_HOST_ID'.
31424
31425 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
31426
31427 2007-07-24 Jerone Young <jerone@gmail.com>
31428
31429 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
31430 modules for compilation.
31431 * conf/powerpc-ieee1275.rmk: Likewise.
31432
31433 * include/multiboot.h: Move multiboot definitions to one file. Rename
31434 many definitions to not get grub specific.
31435 * include/multiboot2.h: Create header with multiboot 2 definitions.
31436 * include/grub/multiboot.h: Header for grub specific function
31437 prototypes and definitions.
31438 * include/grub/multiboot2.h: Likewise.
31439 * include/grub/multiboot_loader.h: Likewise.
31440 * include/grub/i386/pc/multiboot.h: Removed.
31441 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
31442
31443 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
31444 and 2 to allow for one multiboot and module commands.
31445 * loader/multiboot2.c: Add multiboot2 functionality.
31446 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
31447 and definition names.
31448 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
31449 2 functions.
31450 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
31451 ieee1275 specific multiboot2 code.
31452
31453 * kern/i386/pc/startup.S: Change headers and definition names for
31454 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
31455
31456 2007-07-22 Robert Millan <rmh@aybabtu.com>
31457
31458 * geninitheader.sh: Process file specified in first parameter rather
31459 than hardcoding grub_modules_init.lst.
31460 * geninit.sh: Likewise. Also, construct header name dynamically rather
31461 than hardcoding grub_modules_init.h.
31462
31463 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
31464 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
31465 grub_probe_init.[ch] and grub_setup_init.[ch].
31466
31467 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
31468 grub_modules_init.h with grub_emu_init.h.
31469 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
31470 grub_probe_init.[ch] files.
31471 * conf/i386-efi.rmk: Likewise.
31472 * conf/i386-pc.rmk: Likewise.
31473 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
31474 grub_setup_init.[ch] files.
31475
31476 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
31477 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
31478 to initialize modules rather than a list of hardcoded functions.
31479 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
31480 grub_init_all() to initialize modules rather than a list of hardcoded
31481 functions.
31482
31483 2007-07-22 Robert Millan <rmh@aybabtu.com>
31484
31485 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
31486 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
31487
31488 2007-07-22 Robert Millan <rmh@aybabtu.com>
31489
31490 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
31491 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
31492 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
31493 flag when running on SmartFirmware.
31494 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
31495 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
31496 was set.
31497
31498 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
31499 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
31500 rather than decreasing it.
31501
31502 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
31503 there's not enough space to do it, fail in the same way as when it
31504 can't be done because there are no partitions.
31505
31506 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
31507 when nvsetenv failed.
31508
31509 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
31510
31511 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
31512 because this rule is automatically generated.
31513 (grub-mkrescue): Removed for the same reason as above.
31514
31515 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
31516
31517 Migrate to GNU General Public License Version 3.
31518
31519 * COPYING: Replaced with the plain text version of GPLv3.
31520
31521 * config.guess: Updated from gnulib.
31522 * config.sub: Likewise.
31523
31524 * geninit.sh: Output a GPLv3 copyright notice.
31525 * geninitheader.sh: Likewise.
31526 * genmodsrc.sh: Likewise.
31527 * gensymlist.sh.in: Likewise.
31528
31529 * boot/i386/pc/boot.S: Upgraded to GPLv3.
31530 * boot/i386/pc/diskboot.S: Likewise.
31531 * boot/i386/pc/pxeboot.S: Likewise.
31532 * commands/blocklist.c: Likewise.
31533 * commands/boot.c: Likewise.
31534 * commands/cat.c: Likewise.
31535 * commands/cmp.c: Likewise.
31536 * commands/configfile.c: Likewise.
31537 * commands/echo.c: Likewise.
31538 * commands/help.c: Likewise.
31539 * commands/ls.c: Likewise.
31540 * commands/search.c: Likewise.
31541 * commands/terminal.c: Likewise.
31542 * commands/test.c: Likewise.
31543 * commands/videotest.c: Likewise.
31544 * commands/i386/cpuid.c: Likewise.
31545 * commands/i386/pc/halt.c: Likewise.
31546 * commands/i386/pc/play.c: Likewise.
31547 * commands/i386/pc/reboot.c: Likewise.
31548 * commands/i386/pc/vbeinfo.c: Likewise.
31549 * commands/i386/pc/vbetest.c: Likewise.
31550 * commands/ieee1275/halt.c: Likewise.
31551 * commands/ieee1275/reboot.c: Likewise.
31552 * commands/ieee1275/suspend.c: Likewise.
31553 * disk/loopback.c: Likewise.
31554 * disk/lvm.c: Likewise.
31555 * disk/raid.c: Likewise.
31556 * disk/efi/efidisk.c: Likewise.
31557 * disk/i386/pc/biosdisk.c: Likewise.
31558 * disk/ieee1275/ofdisk.c: Likewise.
31559 * font/manager.c: Likewise.
31560 * fs/affs.c: Likewise.
31561 * fs/ext2.c: Likewise.
31562 * fs/fat.c: Likewise.
31563 * fs/fshelp.c: Likewise.
31564 * fs/hfs.c: Likewise.
31565 * fs/hfsplus.c: Likewise.
31566 * fs/iso9660.c: Likewise.
31567 * fs/jfs.c: Likewise.
31568 * fs/minix.c: Likewise.
31569 * fs/sfs.c: Likewise.
31570 * fs/ufs.c: Likewise.
31571 * fs/xfs.c: Likewise.
31572 * hello/hello.c: Likewise.
31573 * include/grub/acorn_filecore.h: Likewise.
31574 * include/grub/arg.h: Likewise.
31575 * include/grub/bitmap.h: Likewise.
31576 * include/grub/boot.h: Likewise.
31577 * include/grub/cache.h: Likewise.
31578 * include/grub/device.h: Likewise.
31579 * include/grub/disk.h: Likewise.
31580 * include/grub/dl.h: Likewise.
31581 * include/grub/elfload.h: Likewise.
31582 * include/grub/env.h: Likewise.
31583 * include/grub/err.h: Likewise.
31584 * include/grub/file.h: Likewise.
31585 * include/grub/font.h: Likewise.
31586 * include/grub/fs.h: Likewise.
31587 * include/grub/fshelp.h: Likewise.
31588 * include/grub/gzio.h: Likewise.
31589 * include/grub/hfs.h: Likewise.
31590 * include/grub/kernel.h: Likewise.
31591 * include/grub/loader.h: Likewise.
31592 * include/grub/lvm.h: Likewise.
31593 * include/grub/misc.h: Likewise.
31594 * include/grub/mm.h: Likewise.
31595 * include/grub/net.h: Likewise.
31596 * include/grub/normal.h: Likewise.
31597 * include/grub/parser.h: Likewise.
31598 * include/grub/partition.h: Likewise.
31599 * include/grub/pc_partition.h: Likewise.
31600 * include/grub/raid.h: Likewise.
31601 * include/grub/rescue.h: Likewise.
31602 * include/grub/script.h: Likewise.
31603 * include/grub/setjmp.h: Likewise.
31604 * include/grub/symbol.h: Likewise.
31605 * include/grub/term.h: Likewise.
31606 * include/grub/terminfo.h: Likewise.
31607 * include/grub/tparm.h: Likewise.
31608 * include/grub/types.h: Likewise.
31609 * include/grub/video.h: Likewise.
31610 * include/grub/efi/api.h: Likewise.
31611 * include/grub/efi/chainloader.h: Likewise.
31612 * include/grub/efi/console.h: Likewise.
31613 * include/grub/efi/console_control.h: Likewise.
31614 * include/grub/efi/disk.h: Likewise.
31615 * include/grub/efi/efi.h: Likewise.
31616 * include/grub/efi/pe32.h: Likewise.
31617 * include/grub/efi/time.h: Likewise.
31618 * include/grub/i386/linux.h: Likewise.
31619 * include/grub/i386/setjmp.h: Likewise.
31620 * include/grub/i386/types.h: Likewise.
31621 * include/grub/i386/efi/kernel.h: Likewise.
31622 * include/grub/i386/efi/loader.h: Likewise.
31623 * include/grub/i386/efi/time.h: Likewise.
31624 * include/grub/i386/pc/biosdisk.h: Likewise.
31625 * include/grub/i386/pc/boot.h: Likewise.
31626 * include/grub/i386/pc/chainloader.h: Likewise.
31627 * include/grub/i386/pc/console.h: Likewise.
31628 * include/grub/i386/pc/init.h: Likewise.
31629 * include/grub/i386/pc/kernel.h: Likewise.
31630 * include/grub/i386/pc/loader.h: Likewise.
31631 * include/grub/i386/pc/memory.h: Likewise.
31632 * include/grub/i386/pc/multiboot.h: Likewise.
31633 * include/grub/i386/pc/serial.h: Likewise.
31634 * include/grub/i386/pc/time.h: Likewise.
31635 * include/grub/i386/pc/vbe.h: Likewise.
31636 * include/grub/i386/pc/vbeblit.h: Likewise.
31637 * include/grub/i386/pc/vbefill.h: Likewise.
31638 * include/grub/i386/pc/vbeutil.h: Likewise.
31639 * include/grub/i386/pc/vga.h: Likewise.
31640 * include/grub/ieee1275/ieee1275.h: Likewise.
31641 * include/grub/ieee1275/ofdisk.h: Likewise.
31642 * include/grub/powerpc/libgcc.h: Likewise.
31643 * include/grub/powerpc/setjmp.h: Likewise.
31644 * include/grub/powerpc/types.h: Likewise.
31645 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
31646 * include/grub/powerpc/ieee1275/console.h: Likewise.
31647 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
31648 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
31649 * include/grub/powerpc/ieee1275/loader.h: Likewise.
31650 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
31651 * include/grub/powerpc/ieee1275/time.h: Likewise.
31652 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
31653 * include/grub/sparc64/libgcc.h: Likewise.
31654 * include/grub/sparc64/setjmp.h: Likewise.
31655 * include/grub/sparc64/types.h: Likewise.
31656 * include/grub/sparc64/ieee1275/console.h: Likewise.
31657 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
31658 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
31659 * include/grub/sparc64/ieee1275/time.h: Likewise.
31660 * include/grub/util/biosdisk.h: Likewise.
31661 * include/grub/util/getroot.h: Likewise.
31662 * include/grub/util/lvm.h: Likewise.
31663 * include/grub/util/misc.h: Likewise.
31664 * include/grub/util/raid.h: Likewise.
31665 * include/grub/util/resolve.h: Likewise.
31666 * io/gzio.c: Likewise.
31667 * kern/device.c: Likewise.
31668 * kern/disk.c: Likewise.
31669 * kern/dl.c: Likewise.
31670 * kern/elf.c: Likewise.
31671 * kern/env.c: Likewise.
31672 * kern/err.c: Likewise.
31673 * kern/file.c: Likewise.
31674 * kern/fs.c: Likewise.
31675 * kern/loader.c: Likewise.
31676 * kern/main.c: Likewise.
31677 * kern/misc.c: Likewise.
31678 * kern/mm.c: Likewise.
31679 * kern/parser.c: Likewise.
31680 * kern/partition.c: Likewise.
31681 * kern/rescue.c: Likewise.
31682 * kern/term.c: Likewise.
31683 * kern/efi/efi.c: Likewise.
31684 * kern/efi/init.c: Likewise.
31685 * kern/efi/mm.c: Likewise.
31686 * kern/i386/dl.c: Likewise.
31687 * kern/i386/efi/init.c: Likewise.
31688 * kern/i386/efi/startup.S: Likewise.
31689 * kern/i386/pc/init.c: Likewise.
31690 * kern/i386/pc/lzo1x.S: Likewise.
31691 * kern/i386/pc/startup.S: Likewise.
31692 * kern/ieee1275/ieee1275.c: Likewise.
31693 * kern/powerpc/cache.S: Likewise.
31694 * kern/powerpc/dl.c: Likewise.
31695 * kern/powerpc/ieee1275/cmain.c: Likewise.
31696 * kern/powerpc/ieee1275/crt0.S: Likewise.
31697 * kern/powerpc/ieee1275/init.c: Likewise.
31698 * kern/powerpc/ieee1275/openfw.c: Likewise.
31699 * kern/sparc64/cache.S: Likewise.
31700 * kern/sparc64/dl.c: Likewise.
31701 * kern/sparc64/ieee1275/init.c: Likewise.
31702 * kern/sparc64/ieee1275/openfw.c: Likewise.
31703 * loader/efi/chainloader.c: Likewise.
31704 * loader/efi/chainloader_normal.c: Likewise.
31705 * loader/i386/efi/linux.c: Likewise.
31706 * loader/i386/efi/linux_normal.c: Likewise.
31707 * loader/i386/pc/chainloader.c: Likewise.
31708 * loader/i386/pc/chainloader_normal.c: Likewise.
31709 * loader/i386/pc/linux.c: Likewise.
31710 * loader/i386/pc/linux_normal.c: Likewise.
31711 * loader/i386/pc/multiboot.c: Likewise.
31712 * loader/i386/pc/multiboot_normal.c: Likewise.
31713 * loader/powerpc/ieee1275/linux.c: Likewise.
31714 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
31715 * normal/arg.c: Likewise.
31716 * normal/cmdline.c: Likewise.
31717 * normal/command.c: Likewise.
31718 * normal/completion.c: Likewise.
31719 * normal/execute.c: Likewise.
31720 * normal/function.c: Likewise.
31721 * normal/lexer.c: Likewise.
31722 * normal/main.c: Likewise.
31723 * normal/menu.c: Likewise.
31724 * normal/menu_entry.c: Likewise.
31725 * normal/misc.c: Likewise.
31726 * normal/parser.y: Likewise.
31727 * normal/script.c: Likewise.
31728 * normal/i386/setjmp.S: Likewise.
31729 * normal/powerpc/setjmp.S: Likewise.
31730 * normal/sparc64/setjmp.S: Likewise.
31731 * partmap/acorn.c: Likewise.
31732 * partmap/amiga.c: Likewise.
31733 * partmap/apple.c: Likewise.
31734 * partmap/gpt.c: Likewise.
31735 * partmap/pc.c: Likewise.
31736 * partmap/sun.c: Likewise.
31737 * term/gfxterm.c: Likewise.
31738 * term/terminfo.c: Likewise.
31739 * term/efi/console.c: Likewise.
31740 * term/i386/pc/console.c: Likewise.
31741 * term/i386/pc/serial.c: Likewise.
31742 * term/i386/pc/vesafb.c: Likewise.
31743 * term/i386/pc/vga.c: Likewise.
31744 * term/ieee1275/ofconsole.c: Likewise.
31745 * util/biosdisk.c: Likewise.
31746 * util/console.c: Likewise.
31747 * util/genmoddep.c: Likewise.
31748 * util/getroot.c: Likewise.
31749 * util/grub-emu.c: Likewise.
31750 * util/grub-mkdevicemap.c: Likewise.
31751 * util/grub-probe.c: Likewise.
31752 * util/lvm.c: Likewise.
31753 * util/misc.c: Likewise.
31754 * util/raid.c: Likewise.
31755 * util/resolve.c: Likewise.
31756 * util/update-grub.in: Likewise.
31757 * util/update-grub_lib.in: Likewise.
31758 * util/grub.d/00_header.in: Likewise.
31759 * util/grub.d/10_hurd.in: Likewise.
31760 * util/grub.d/10_linux.in: Likewise.
31761 * util/i386/efi/grub-install.in: Likewise.
31762 * util/i386/efi/grub-mkimage.c: Likewise.
31763 * util/i386/pc/grub-install.in: Likewise.
31764 * util/i386/pc/grub-mkimage.c: Likewise.
31765 * util/i386/pc/grub-mkrescue.in: Likewise.
31766 * util/i386/pc/grub-setup.c: Likewise.
31767 * util/i386/pc/misc.c: Likewise.
31768 * util/powerpc/ieee1275/grub-install.in: Likewise.
31769 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
31770 * util/powerpc/ieee1275/misc.c: Likewise.
31771 * video/bitmap.c: Likewise.
31772 * video/video.c: Likewise.
31773 * video/i386/pc/vbe.c: Likewise.
31774 * video/i386/pc/vbeblit.c: Likewise.
31775 * video/i386/pc/vbefill.c: Likewise.
31776 * video/i386/pc/vbeutil.c: Likewise.
31777 * video/readers/tga.c: Likewise.
31778
31779 2007-07-02 Robert Millan <rmh@aybabtu.com>
31780
31781 * conf/i386-efi.rmk: Replace obsolete reference to
31782 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
31783 with util/getroot.c.
31784 * conf/powerpc-ieee1275.rmk: Likewise.
31785 * conf/sparc64-ieee1275.rmk: Likewise.
31786
31787 * util/grub-emu.c (main): Fix unchecked pointer handling.
31788
31789 2007-07-02 Robert Millan <rmh@aybabtu.com>
31790
31791 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
31792 invocation to fail, in order to support partition-less media.
31793
31794 * util/i386/pc/grub-install.in: Likewise.
31795
31796 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
31797 which fs or partmap modules are needed (akin to its sister scripts).
31798
31799 Also use grub-probe to get rid of unportable /proc/mounts check.
31800
31801 Print the same informational message that the other scripts do, before
31802 exiting.
31803
31804 2007-06-23 Robert Millan <rmh@aybabtu.com>
31805
31806 * util/update-grub_lib.in (font_path): New function. Determine whether
31807 a font file can be found and, if so, echo the GRUB path to it.
31808
31809 * util/update-grub.in: Handle multiple terminals depending on user
31810 input, platform availability and font file presence. Propagate
31811 variables of our findings to /etc/grub.d/ children.
31812
31813 * util/grub.d/00_header.in: Handle multiple terminals, based on
31814 environment setup by update-grub.
31815
31816 2007-06-23 Robert Millan <rmh@aybabtu.com>
31817
31818 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
31819
31820 2007-06-21 Robert Millan <rmh@aybabtu.com>
31821
31822 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
31823 indicate end of data section in kernel image.
31824 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
31825 GRUB_KERNEL_MACHINE_DATA_END.
31826
31827 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
31828 space for it.
31829 * kern/i386/efi/startup.S: Likewise.
31830
31831 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
31832 during image generation. Implement --prefix option to override this
31833 patch.
31834 * util/i386/efi/grub-mkimage.c: Likewise.
31835
31836 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
31837 code to make path relative to its root into a separate function.
31838
31839 * util/i386/pc/grub-install.in: Use newly provided
31840 make_system_path_relative_to_its_root() to convert ${grubdir}, then
31841 pass the result to grub-install --prefix.
31842
31843 2007-06-13 Robert Millan <rmh@aybabtu.com>
31844
31845 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
31846 DEFAULT_DEVICE_MAP.
31847 * util/grub-emu.c: Use above definitions from misc.h instead of
31848 defining them.
31849 * util/grub-mkdevicemap.c: Likewise.
31850 * util/i386/pc/grub-setup.c: Likewise.
31851 * util/grub-probe.c: Likewise.
31852 (probe): Abort with grub_util_error() when either
31853 grub_guess_root_device or grub_util_get_grub_dev fails.
31854
31855 2007-06-12 Robert Millan <rmh@aybabtu.com>
31856
31857 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
31858 "pager" assignment.
31859 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
31860 "pcdata".
31861 * util/grub-probe.c (probe): Likewise for "drive_name".
31862
31863 2007-06-11 Robert Millan <rmh@aybabtu.com>
31864
31865 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
31866 not just the cdrom one.
31867
31868 2007-06-11 Robert Millan <rmh@aybabtu.com>
31869
31870 * util/i386/pc/grub-mkrescue.in: Add "set -e".
31871 Add --pkglibdir=DIR option to override pkglibdir.
31872 Mention --image-type=TYPE in help output.
31873 Fix --grub-mkimage (it was a no-op).
31874 Abort gracefully when no parameter is given.
31875
31876 2007-06-11 Robert Millan <rmh@aybabtu.com>
31877
31878 * util/i386/pc/grub-mkrescue.in: New file.
31879 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
31880 * Makefile.in: Handle bin_SCRIPTS.
31881
31882 2007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
31883
31884 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
31885 list of video modes.
31886
31887 2007-06-06 Robert Millan <rmh@aybabtu.com>
31888
31889 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
31890 file doesn't exist, or if it is in a filesystem grub can't read.
31891
31892 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
31893 not abort if GRUB_DRIVE could not be defined. Rearrange generated
31894 header comment to fit in 80 columns when the variables are resolved.
31895
31896 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
31897 could be identified by update-grub. Remove redundant check for
31898 unifont.pff existence (since convert_system_path_to_grub_path now
31899 handles that).
31900
31901 2007-06-04 Robert Millan <rmh@aybabtu.com>
31902
31903 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
31904
31905 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
31906
31907 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
31908
31909 2007-06-04 Robert Millan <rmh@aybabtu.com>
31910
31911 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
31912
31913 * include/grub/partition.h: Declare grub_apple_partition_map_init and
31914 grub_apple_partition_map_fini.
31915
31916 * util/biosdisk.c
31917 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
31918 to access >2 TiB disks).
31919
31920 Print disk->total_sectors with %llu instead of %lu, since this
31921 variable is always 64-bit (prevents wrong disk size from being displayed
31922 on either >2 TiB disk or big-endian CPU).
31923
31924 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
31925 into a generic case that supports all (sane) partition maps.
31926
31927 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
31928 breaks big-endian.
31929
31930 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
31931 and grub_apple_partition_map_fini() after that.
31932
31933 2007-06-01 Robert Millan <rmh@aybabtu.com>
31934
31935 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
31936
31937 * util/grub.d/00_header.in: Only enable gfxterm when
31938 convert_system_path_to_grub_path() succeeds.
31939
31940 2007-05-20 Robert Millan <rmh@aybabtu.com>
31941
31942 * util/update-grub_lib.in: New file.
31943 * DISTLIST: Add update-grub_lib.in.
31944 * conf/common.rmk: Generate update-grub_lib and install it in
31945 $(lib_DATA).
31946 * Makefile.in: Add install routine for $(lib_DATA).
31947
31948 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
31949 function provided by update-grub_lib to support arbitrary paths of
31950 unifont.pff.
31951 * util/update-grub.in: Use convert_system_path_to_grub_path() to
31952 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
31953
31954 2007-05-19 Robert Millan <rmh@aybabtu.com>
31955
31956 * commands/i386/cpuid.c: New module.
31957 * DISTLIST: Add it.
31958 * conf/i386-efi.rmk: Enable cpuid.mod.
31959 * conf/i386-pc.rmk: Likewise.
31960
31961 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
31962
31963 * kern/disk.c (grub_disk_read): Check return value of
31964 grub_realloc().
31965
31966 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
31967
31968 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
31969 arrays.
31970 * disk/raid.c (grub_raid_open): Likewise.
31971
31972 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
31973
31974 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
31975 stack instead of on the heap.
31976
31977 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
31978 before doing a read on it.
31979
31980 * configure.ac: Only use -fno-stack-protector for the target
31981 environment.
31982
31983 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
31984
31985 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
31986 __attribute_ ((unused)) to mode_type argument.
31987
31988 * util/getroot.c (grub_guess_root_device): Fix #endif.
31989
31990 * kern/misc.c (memcmp): Fix prototype.
31991
31992 * include/grub/partition.h [GRUB_UTIL]
31993 (grub_gpt_partition_map_init): Add prototype.
31994 (grub_gpt_partition_map_fini): Likewise.
31995
31996 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
31997 at the right place.
31998
31999 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
32000 (grub_fat_read_data): Likewise.
32001 (grub_fat_find_dir): Likewise.
32002
32003 * font/manager.c (find_glyph): Make table a const.
32004 (grub_font_get_glyph): Remove bitmap from if statement.
32005
32006 2007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
32007
32008 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
32009 code, first search for device in /dev/mapper, then in /dev.
32010 (grub_util_get_grub_dev): New function.
32011 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
32012 prototype.
32013 * util/grub-probe.c (probe): Remove check for RAID, call
32014 grub_util_get_grub_dev() instead of
32015 grub_util_biosdisk_get_grub_dev().
32016 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
32017 grub_util_biosdisk_get_grub_dev().
32018 * util/i386/pc/grub-setup.c (main): Likewise.
32019
32020 2007-05-16 Robert Millan <rmh@aybabtu.com>
32021
32022 * DISTLIST: Update for the latest changes.
32023 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
32024 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
32025 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
32026 grub/util/biosdisk.h.
32027 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
32028 grub/util/biosdisk.h.
32029
32030 2007-05-16 Robert Millan <rmh@aybabtu.com>
32031
32032 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
32033
32034 2007-05-16 Robert Millan <rmh@aybabtu.com>
32035
32036 * util/i386/efi/grub-install.in: New.
32037 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
32038 newly added grub-install.
32039 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
32040 include.
32041 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
32042 grub/util/biosdisk.h.
32043 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
32044 grub/util/biosdisk.h.
32045
32046 2007-05-16 Robert Millan <rmh@aybabtu.com>
32047
32048 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
32049 * include/grub/util/biosdisk.h: ... here.
32050 * util/i386/pc/biosdisk.c: Moved to ...
32051 * util/biosdisk.c: ... here.
32052 * util/i386/pc/getroot.c: Moved to ...
32053 * util/getroot.c: ... here.
32054 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
32055 * util/grub-mkdevicemap.c: ... here.
32056 * util/i386/pc/grub-probe.c: Moved to ...
32057 * util/grub-probe.c: ... here.
32058
32059 2007-05-15 Robert Millan <rmh@aybabtu.com>
32060
32061 * util/update-grub.in: Remove duplicated line in grub.cfg header
32062 message.
32063
32064 2007-05-13 Robert Millan <rmh@aybabtu.com>
32065
32066 * util/update-grub.in: Fix a few assumptions about the devices holding
32067 /, /boot and /boot/grub being the same.
32068 * util/grub.d/00_header.in: Likewise.
32069 * util/grub.d/10_hurd.in: Likewise.
32070 * util/grub.d/10_linux.in: Likewise.
32071
32072 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
32073 patterns. Use that to define the `.old' suffix as older than `'.
32074
32075 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
32076
32077 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
32078 the grub.cfg header message.
32079
32080 2007-05-11 Robert Millan <rmh@aybabtu.com>
32081
32082 * util/update-grub.in: Create device.map if it doesn't already exist,
32083 before attempting to run grub-probe.
32084 Check for grub-probe and grub-mkdevicemap with the same code
32085 grub-install is using.
32086 Remove test mode.
32087
32088 2007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
32089
32090 * Makefile.in: Add the datarootdir autoconf variable.
32091
32092 2007-05-09 Robert Millan <rmh@aybabtu.com>
32093
32094 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
32095 fail gracefully if dev->disk->partition == NULL.
32096
32097 2007-05-07 Robert Millan <rmh@aybabtu.com>
32098
32099 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
32100 determine partition map module.
32101 * util/i386/pc/grub-install.in: Use this feature to decide which
32102 partition module to load, instead of hardcoding pc and gpt.
32103
32104 2007-05-07 Robert Millan <rmh@aybabtu.com>
32105
32106 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
32107 source directory differs from build directory.
32108
32109 2007-05-05 Robert Millan <rmh@aybabtu.com>
32110
32111 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
32112 initialisation.
32113
32114 2007-05-05 Robert Millan <rmh@aybabtu.com>
32115
32116 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
32117
32118 2007-05-05 Robert Millan <rmh@aybabtu.com>
32119
32120 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
32121 command-line arguments via ${GRUB_CMDLINE_LINUX}.
32122
32123 2007-05-05 Robert Millan <rmh@aybabtu.com>
32124
32125 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
32126 (grub_probe_SOURCES): Likewise.
32127 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
32128 GPT and initialize dos_part and bsd_part accordingly.
32129 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
32130 install_bsd_part.
32131 (main): Activate gpt module for use during partition identification,
32132 and deactivate it afterwards.
32133 * util/i386/pc/grub-install.in: Add gpt module to core.img.
32134 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
32135 partition identification, and deactivate it afterwards.
32136
32137 2007-05-05 Robert Millan <rmh@aybabtu.com>
32138
32139 * term/i386/pc/console.c (grub_console_fini): Call
32140 grub_term_set_current() before grub_term_unregister().
32141
32142 2007-05-04 Robert Millan <rmh@aybabtu.com>
32143
32144 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
32145 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
32146 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
32147 and update-grub_DATA.
32148 * conf/common.rmk: Build and install update-grub components.
32149 * conf/common.mk: Regenerate.
32150 * util/update-grub.in: New. Core of update-grub.
32151 * util/grub.d/00_header.in: New. Generates grub.cfg header.
32152 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
32153 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
32154 * util/grub.d/README: New. Document grub.d directory layout.
32155
32156 2007-05-01 Robert Millan <rmh@aybabtu.com>
32157
32158 * util/grub-emu.c: Move initialization functions
32159 grub_util_biosdisk_init() and grub_init_all() before
32160 grub_util_biosdisk_get_grub_dev(), which relies on them.
32161
32162 2007-04-19 Robert Millan <rmh@aybabtu.com>
32163
32164 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
32165 it is used later.
32166
32167 2007-04-18 Jerone Young <jerone@gmail.com>
32168
32169 * kernel/elf.c: Add missing parenthesis for conditional statement
32170 stanza.
32171
32172 2007-04-10 Jerone Young <jerone@gmail.com>
32173
32174 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
32175 continue on and look for device node with real device name.
32176
32177 2007-04-10 Jerone Young <jerone@gmail.com>
32178
32179 * configure.ac: Add argument for autoconf to use transformation
32180 ability.
32181 * Makefile.in: Add autoconf package transformation code.
32182 * util/i386/pc/grub-install.in: Likewise.
32183 * util/powerpc/ieee1275/grub-install.in: Likewise.
32184
32185 2007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
32186
32187 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
32188 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
32189 (EXT2_REVISION): Likewise.
32190 (EXT2_INODE_SIZE): Likewise.
32191 (struct grub_ext2_block_group): Added a missing member
32192 "used_dirs".
32193 (grub_ext2_read_inode): Divide by the inode size in a superblock
32194 instead of 128 to obtain INODES_PER_BLOCK.
32195 Use the macro EXT2_INODE_SIZE instead of directly using
32196 SBLOCK->INODE_SIZE.
32197
32198 2007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
32199
32200 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
32201 superblock instead of the structure size to compute an
32202 offset. This fixes the problem that GRUB could not read a
32203 filesystem when inode size is different from 128-byte.
32204
32205 2007-03-05 Marco Gerards <marco@gnu.org>
32206
32207 * normal/main.c (read_config_file): When "menu" is not set, create
32208 an initial context.
32209
32210 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
32211
32212 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
32213 (HEAP_LIMIT): New macro.
32214 (grub_claim_heap): Claim memory up to `heaplimit'.
32215
32216 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
32217
32218 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
32219 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
32220 (_start): Likewise.
32221 (grub_arch_modules_addr): Return address after `_end'.
32222 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
32223 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
32224 (add_segments): Calculate `_end' from phdr size and location.
32225 (ALIGN_UP): Moved to ...
32226 * include/grub/misc.h: here.
32227 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
32228 New macro.
32229 (GRUB_IEEE1275_MODULE_BASE): Removed.
32230
32231 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
32232
32233 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
32234 loop boundary.
32235
32236 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
32237
32238 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
32239 All users updated.
32240 (grub_elf64_load_hook_t): Likewise.
32241 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
32242 debug output.
32243
32244 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
32245
32246 * kern/mm.c: Update copyright.
32247 (grub_mm_debug): Correct syntax error.
32248 (grub_mm_dump_free): New function.
32249 (grub_debug_free): Call `grub_free'.
32250 * include/grub/mm.h: Update copyright.
32251 (grub_mm_dump_free): Add declaration.
32252
32253 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
32254
32255 * include/grub/ieee1275/ieee1275.h: Update copyright.
32256 * kern/powerpc/ieee1275/init.c: Likewise.
32257 * kern/powerpc/ieee1275/openfw.c: Likewise.
32258
32259 * loader/powerpc/ieee1275/linux.c: Likewise.
32260 * include/grub/elfload.h: Likewise.
32261 * kern/elf.c: Likewise.
32262 (grub_elf32_load): Pass `base' and `size' parameters. Update all
32263 callers.
32264 (grub_elf64_load): Likewise.
32265 (grub_elf32_load_segment): Move to a nested function.
32266 (grub_elf64_load_segment): Likewise.
32267
32268 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
32269
32270 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
32271 prototype.
32272 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
32273 (grub_heap_len): Likewise.
32274 (HEAP_SIZE): New macro.
32275 (grub_claim_heap): New function.
32276 (grub_machine_init): Don't claim heap directly. Call
32277 `grub_claim_heap'.
32278 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
32279 (grub_available_iterate): New function.
32280
32281 2007-02-03 Thomas Schwinge <tschwinge@gnu.org>
32282
32283 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
32284 * configure.ac: Use it for testing the HOST and TARGET compilers.
32285
32286 2006-12-13 Thomas Schwinge <tschwinge@gnu.org>
32287
32288 * Makefile.in (enable_grub_emu): New variable.
32289 * configure.ac (--enable-grub-emu): New option.
32290 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
32291 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
32292 * conf/i386-pc.rmk: Likewise.
32293 * conf/powerpc-ieee1275.rmk: Likewise.
32294 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
32295
32296 2006-12-12 Marco Gerards <marco@gnu.org>
32297
32298 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
32299
32300 * kern/env.c (grub_env_unset): Don't free the member `value' when
32301 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
32302 pointer.
32303
32304 * normal/main.c (current_menu): Removed.
32305 (free_menu): Unset the `menu' environment variable.
32306 (grub_normal_menu_addentry): Make use of the environment variable
32307 `menu', instead of using the global `current_menu'. Allocate
32308 memory for the sourcecode of this entry.
32309 (read_config_file): New argument `nested', changed all callers.
32310 Only in the case of a new context, initialize a new menu. Set the
32311 `menu' environment variable.
32312 (grub_normal_execute): Don't set and unset the environment
32313 variable `menu' here anymore. Only free the menu when leaving the
32314 context.
32315
32316 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
32317 leak.
32318
32319 2006-12-11 Marco Gerards <marco@gnu.org>
32320
32321 * normal/menu_entry.c (run): Fix off by one bug so the last line
32322 is executed. Move the loader check to outside the loop.
32323
32324 2006-12-08 Hollis Blanchard <hollis@penguinppc.org>
32325
32326 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
32327
32328 2006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
32329
32330 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
32331 the number of sectors. Reported by Andrey Shuvikov
32332 <mr_hyro@yahoo.com>.
32333
32334 2006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
32335
32336 * kern/disk.c (grub_disk_read): When there is a read error, always
32337 try to read only the necessary data.
32338
32339 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
32340 disk/raid.c.
32341 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
32342 prototype.
32343 [GRUB_UTIL] (grub_raid_fini): Likewise.
32344 [GRUB_UTIL] (grub_lvm_init): Likewise.
32345 [GRUB_UTIL] (grub_lvm_fini): Likewise.
32346 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
32347 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
32348 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
32349 and grub_raid_fini().
32350
32351 2006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
32352
32353 * include/grub/types.h (__unused): Rename to UNUSED.
32354 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
32355 (grub_elf64_size): Likewise.
32356
32357 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
32358
32359 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
32360 grub_error_push and grub_error_pop in the error-handling path.
32361 (grub_elf32_load_segment): Only call grub_file_read with non-zero
32362 length.
32363
32364 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
32365
32366 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
32367 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
32368 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32369 (kernel_elf_SOURCES): Likewise.
32370 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
32371 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
32372 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
32373 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
32374 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
32375 (elf_mod_SOURCES): New variable.
32376 (elf_mod_CFLAGS): Likewise.
32377 (elf_mod_LDFLAGS): Likewise.
32378 * include/grub/types.h (__unused): New macro.
32379 * include/grub/elfload.h: New file.
32380 * kern/elf.c: Likewise.
32381 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
32382 (ELF32_LOADMASK): New macro.
32383 (ELF64_LOADMASK): Likewise.
32384 (vmlinux): Removed.
32385 (grub_linux_load32): New function.
32386 (grub_linux_load64): Likewise.
32387 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
32388 Use grub_elf_t instead of grub_file_t.
32389
32390 2006-11-02 Hollis Blanchard <hollis@penguinppc.org>
32391
32392 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
32393 `catch_result' to struct set_color_args.
32394
32395 2006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
32396
32397 * normal/menu.c: Include grub/script.h.
32398 * normal/menu_entry.c: Likewise.
32399 * include/grub/normal.h: Do not include grub/script.h.
32400
32401 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
32402
32403 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
32404
32405 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
32406
32407 * kern/disk.c (grub_disk_open): Print debug messages when opening a
32408 disk.
32409 (grub_disk_close): Print debug messages when closing a disk.
32410 (grub_disk_read): Print debug messages when disk read fails.
32411 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
32412 filesystem type.
32413 * kern/partition.c: Include misc.h.
32414 (grub_partition_iterate): Print debug messages when detecting
32415 partition type.
32416
32417 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
32418
32419 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
32420 is negative.
32421 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
32422
32423 2006-10-26 Hollis Blanchard <hollis@penguinppc.org>
32424
32425 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
32426 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
32427
32428 2006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
32429
32430 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
32431 instead of sizeof(lv). Patch by Michael Guntsche.
32432
32433 2006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
32434
32435 * disk/lvm.c: Rename VGS to VG_LIST.
32436 (grub_lvm_iterate): Change VGS->LV to VG-LV.
32437 (grub_lvm_open): Likewise.
32438 Thanks to Michael Guntsche for finding this bug.
32439
32440 2006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
32441
32442 * configure.ac (AC_INIT): Bumped to 1.95.
32443
32444 2006-10-14 Robert Millan <rmh@aybabtu.com>
32445
32446 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
32447 with "/dev/.static/dev/md".
32448
32449 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
32450
32451 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
32452 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
32453 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
32454 DRIVE_NAME are always freed.
32455
32456 * util/i386/pc/biosdisk.c (make_device_name): Add one into
32457 DOS_PART, as a DOS partition is counted from one instead of zero
32458 now. Reported by Robert Millan.
32459
32460 2006-10-14 Robert Millan <rmh@aybabtu.com>
32461
32462 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
32463 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
32464 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
32465 string returned by grub_guess_root_device.
32466 * util/i386/pc/grub-setup.c: Likewise.
32467 * util/i386/pc/grub-probefs.c: Likewise.
32468
32469 * util/i386/pc/grub-probefs.c: Rename to ...
32470 * util/i386/pc/grub-probe.c: ... this.
32471 * DISTLIST: Remove grub-probefs, add grub-probe.
32472 * conf/i386-efi.rmk: Likewise.
32473 * conf/i386-pc.rmk: Likewise.
32474 * util/i386/pc/grub-install.in: Likewise.
32475
32476 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
32477 choose which information we want to print.
32478
32479 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
32480
32481 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
32482 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
32483 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
32484 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
32485 video/readers/tga.c and video/i386/pc/vbeutil.c.
32486
32487 2006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
32488
32489 Added support for RAID and LVM.
32490
32491 * disk/lvm.c: New file.
32492 * disk/raid.c: Likewise.
32493 * include/grub/lvm.h: Likewise.
32494 * include/grub/raid.h: Likewise.
32495 * include/grub/util/lvm.h: Likewise.
32496 * include/grub/util/raid.h: Likewise.
32497 * util/lvm.c: Likewise.
32498 * util/raid.c: Likewise.
32499
32500 * include/grub/disk.h (grub_disk_dev_id): Add
32501 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
32502 (grub_disk_get_size): New prototype.
32503 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
32504 returns a partition.
32505 (grub_disk_get_size): New function.
32506
32507 * kern/i386/pc/init.c (make_install_device): Copy the prefix
32508 verbatim if grub_install_dos_part is -2.
32509
32510 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
32511 and LVM devices.
32512
32513 * util/i386/pc/grub-setup.c (setup): New argument
32514 MUST_EMBED. Force embedding of GRUB when the argument is
32515 true. Close FILE before returning.
32516 (main): Add support for RAID and LVM.
32517
32518 * conf/common.rmk: Add RAID and LVM modules.
32519 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
32520 util/lvm.c.
32521 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
32522
32523 * kern/misc.c (grub_strstr): New function.
32524 * include/grub/misc.h (grub_strstr): New prototype.
32525
32526 2006-10-10 Tristan Gingold <tristan.gingold@bull.net>
32527
32528 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
32529
32530 2006-10-05 Tristan Gingold <tristan.gingold@bull.net>
32531
32532 * kern/misc.c (grub_strtoull): Guess the base only if not
32533 specified.
32534
32535 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
32536
32537 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
32538 PowerMac support.
32539
32540 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
32541
32542 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
32543
32544 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
32545 Remove `flags' argument. All callers changed.
32546 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
32547 (IEEE1275_IHANDLE_INVALID): New variable.
32548 (IEEE1275_CELL_INVALID): New variable.
32549 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
32550 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
32551 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
32552 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
32553 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
32554 codes from Open Firmware. All callers updated.
32555 (grub_ieee1275_next_property): Directly return Open Firmware return
32556 code.
32557 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
32558 Standardize error checking from `grub_ieee1275_get_property'.
32559 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
32560 `devalias' to `aliases'. Correct comments. Consolidate error paths.
32561
32562 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
32563
32564 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
32565 `instance_to_package_args' to `instance_to_path_args'.
32566
32567 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
32568 `grub_ieee1275_chosen'.
32569
32570 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
32571 `grub_ieee1275_interpret'.
32572
32573 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
32574
32575 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
32576
32577 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
32578
32579 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
32580 (__cmpdi): Likewise.
32581
32582 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
32583 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
32584 `grub_ssize_t'.
32585
32586 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
32587
32588 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
32589 to type `grub_ssize_t'.
32590 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
32591
32592 2006-09-22 Marco Gerards <marco@gnu.org>
32593
32594 * normal/script.c (grub_script_create_cmdmenu): Skip leading
32595 newlines.
32596
32597 2006-09-22 Marco Gerards <marco@gnu.org>
32598
32599 * commands/echo.c: New file.
32600
32601 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
32602
32603 * conf/common.rmk (echo_mod_SOURCES): New variable.
32604 (echo_mod_CFLAGS): Likewise.
32605 (echo_mod_LDFLAGS): Likewise.
32606
32607 2006-09-22 Marco Gerards <marco@gnu.org>
32608
32609 * normal/main.c (get_line): Malloc memory instead of using
32610 preallocated memory. Removed the arguments `cmdline' and
32611 `max_len'. Updated all callers.
32612
32613 2006-09-22 Marco Gerards <marco@gnu.org>
32614
32615 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
32616 (normal_mod_DEPENDENCIES): Likewise.
32617
32618 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
32619 (normal_mod_DEPENDENCIES): Likewise.
32620
32621 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
32622
32623 2006-09-22 Johan Rydberg <jrydberg@gnu.org>
32624
32625 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
32626 programs.
32627 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
32628 (normal_mod_DEPENDENCIES): Likewise.
32629 * conf/i386-pc.mk: Regenerate.
32630 * conf/i386-efi.mk: Likewise
32631 * conf/common.mk: Likewise.
32632 * conf/powerpc-ieee1275.mk: Likewise.
32633 * conf/sparc64-ieee1275.mk: Likewise.
32634
32635 2006-09-22 Robert Millan <rmh@aybabtu.com>
32636
32637 Sync with i386 version.
32638 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
32639 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
32640
32641 2006-09-21 Robert Millan <rmh@aybabtu.com>
32642
32643 Import from GRUB Legacy (lib/device.c):
32644 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
32645 (init_device_map) [__linux__]: Add support for I2O devices.
32646
32647 2006-09-14 Marco Gerards <marco@gnu.org>
32648
32649 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
32650 `-melf_i386'.
32651
32652 2006-09-14 Robert Millan <rmh@aybabtu.com>
32653
32654 * util/i386/pc/grub-install.in: Skip menu.lst when removing
32655 /boot/grub/*.lst.
32656
32657 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
32658
32659 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
32660 before adding it to device.map.
32661
32662 2006-08-15 Johan Rydberg <jrydberg@gnu.org>
32663
32664 * genmk.rb: Let GCC generate dependencies the first time it
32665 compiles a file; using the -MD option.
32666 * conf/common.mk: Regenerate.
32667 * conf/i386-pc.mk: Likewise.
32668 * conf/i386-efi.mk: Likewise.
32669 * conf/powerpc-ieee1275.mk: Likewise.
32670 * conf/sparc64-ieee1275.mk: Likewise.
32671
32672 2006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
32673
32674 Move the prototypes of grub_setjmp and grub_longjmp to
32675 cpu/setjmp.h, so that each architecture may specify different
32676 attributes.
32677
32678 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
32679 (grub_longjmp): Likewise.
32680 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
32681 (grub_longjmp): Likewise.
32682 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
32683 (grub_longjmp): Likewise.
32684
32685 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
32686 [!GRUB_UTIL] (grub_longjmp): Removed.
32687
32688 2006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
32689
32690 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
32691 "color!" method does not return any value.
32692
32693 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
32694
32695 * include/grub/bitmap.h: New file.
32696
32697 * include/grub/i386/pc/vbeutil.h: Likewise.
32698
32699 * video/bitmap.c: Likewise.
32700
32701 * video/readers/tga.c: Likewise.
32702
32703 * video/i386/pc/vbeutil.c: Likewise.
32704
32705 * commands/videotest.c: Code cleanup and updated to reflect to new
32706 video API.
32707
32708 * term/gfxterm.c: Likewise.
32709
32710 * video/video.c: Likewise.
32711
32712 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
32713 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
32714 (bitmap_mod_SOURCES): New entry.
32715 (bitmap_mod_CFLAGS): Likewise.
32716 (bitmap_mod_LDFLAGS): Likewise.
32717 (tga_mod_SOURCES): Likewise.
32718 (tga_mod_CFLAGS): Likewise.
32719 (tga_mod_LDFLAGS): Likewise.
32720
32721 * include/grub/video.h (grub_video_blit_operators): New enum type.
32722 (grub_video_render_target): Changed as forward declaration and moved
32723 actual definition to be video driver specific.
32724 (grub_video_adapter.blit_bitmap): Added blitting operator.
32725 (grub_video_adapter.blit_render_target): Likewise.
32726 (grub_video_blit_bitmap): Likewise.
32727 (grub_video_blit_render_target): Likewise.
32728
32729 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
32730 driver specific render target definition.
32731 (grub_video_vbe_map_rgba): Added driver internal helper.
32732 (grub_video_vbe_unmap_color): Updated to use
32733 grub_video_i386_vbeblit_info.
32734 (grub_video_vbe_get_video_ptr): Likewise.
32735
32736 * include/grub/i386/pc/vbeblit.h
32737 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
32738 grub_video_i386_vbeblit_info.
32739 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
32740 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
32741 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
32742 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
32743 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
32744 (grub_video_i386_vbeblit_index_index): Likewise.
32745 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
32746 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
32747 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
32748 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
32749 operator.
32750 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
32751 operator.
32752
32753 * video/i386/pc/vbeblit.c: Updated to reflect changes on
32754 include/grub/i386/pc/vbeblit.h.
32755
32756 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
32757 Updated to use grub_video_i386_vbeblit_info.
32758 (grub_video_i386_vbefill_R8G8B8): Likewise.
32759 (grub_video_i386_vbefill_index): Likewise.
32760 (grub_video_i386_vbefill): Added generic filler.
32761
32762 * video/i386/pc/vbefill.c: Updated to reflect changes on
32763 include/grub/i386/pc/vbefill.h.
32764
32765 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
32766 grub_video_i386_vbeblit_info.
32767 (grub_video_vbe_unmap_color): Likewise.
32768 (grub_video_vbe_blit_glyph): Likewise.
32769 (grub_video_vbe_scroll): Likewise.
32770 (grub_video_vbe_draw_pixel): Removed function.
32771 (grub_video_vbe_get_pixel): Likewise.
32772 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
32773 updated code to use it.
32774 (common_blitter): Added common blitter for render target and bitmap.
32775 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
32776 (grub_video_vbe_blit_render_target): Likewise.
32777
32778 2006-07-30 Johan Rydberg <jrydberg@gnu.org>
32779
32780 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
32781 is in text mode if there is no console control protocol instance
32782 available.
32783
32784 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
32785
32786 * include/grub/video.h: Code cleanup.
32787
32788 * include/grub/i386/pc/vbe.h: Likewise.
32789
32790 * video/i386/pc/vbe.c: Likewise.
32791
32792 * video/i386/pc/vbeblit.c: Likewise.
32793
32794 * video/i386/pc/vbefill.c: Likewise.
32795
32796 * video/video.c: Likewise. Also added more comments.
32797
32798 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
32799
32800 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
32801 (struct grub_biosdisk_dap): Likewise.
32802
32803 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
32804 linkage settings for all functions.
32805
32806 2006-07-12 Marco Gerards <marco@gnu.org>
32807
32808 * configure.ac (--enable-mm-debug): Fix typo.
32809
32810 * genkernsyms.sh.in: Use proper quoting for `CC'.
32811
32812 2006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
32813
32814 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
32815 (normal_mod_ASFLAGS): Remove "-m32".
32816
32817 2006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
32818
32819 * util/misc.c: Include config.h.
32820 [!HAVE_MEMALIGN]: Do not include malloc.h.
32821 (grub_memalign): Use posix_memalign, if present. Then, use
32822 memalign, if present. Otherwise, emit an error.
32823
32824 * util/grub-emu.c: Do not include malloc.h.
32825
32826 * include/grub/util/misc.h: Include unistd.h. This is required for
32827 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
32828 D. Eades III <hde@foobar-qux.org>.
32829
32830 * configure.ac (AC_GNU_SOURCE): Added.
32831 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
32832 type.
32833
32834 2006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
32835
32836 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
32837 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
32838
32839 2006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
32840
32841 * include/grub/types.h (grub_host_addr_t): Rename to
32842 grub_target_addr_t.
32843 (grub_host_off_t): Rename to grub_target_off_t.
32844 (grub_host_size_t): Rename to grub_target_size_t.
32845 (grub_host_ssize_t): Rename to grub_target_ssize_t.
32846 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
32847
32848 * include/grub/kernel.h (struct grub_module_header): Change type
32849 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
32850 (grub_module_info): Likewise.
32851
32852 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
32853
32854 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
32855 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
32856 Velazquez <jesus.velazquez@gmail.com>.
32857
32858 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
32859
32860 Count partitions from 1 instead of 0 in the string representation
32861 of partitions. Still use 0-based internally.
32862
32863 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
32864 (sun_partition_map_iterate): Use grub_partition_t instead of
32865 struct grub_partition *. Cast DESC->START_CYLINDER to
32866 grub_uint64_t after converting the endian.
32867 (sun_partition_map_probe): Subtract 1 for PARTNUM.
32868 (sun_partition_map_get_name): Add 1 to P->INDEX.
32869
32870 * partmap/pc.c (grub_partition_parse): Subtract 1 for
32871 PCDATA->DOS_PART.
32872 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
32873
32874 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
32875 zero instead of one.
32876 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
32877 (gpt_partition_map_get_name): Add 1 into P->INDEX.
32878
32879 * partmap/apple.c (apple_partition_map_iterate): Change the type
32880 of POS to unsigned.
32881 (apple_partition_map_probe): Subtract 1 for PARTNUM.
32882 (apple_partition_map_get_name): Add 1 into P->INDEX.
32883
32884 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
32885 of POS to unsigned.
32886 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
32887 calculate the offset of a partition.
32888 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
32889 (amiga_partition_map_get_name): Add 1 into P->INDEX.
32890
32891 * partmap/acorn.c (acorn_partition_map_find): Change the type of
32892 SECTOR to grub_disk_addr_t.
32893 (acorn_partition_map_iterate): Likewise.
32894 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
32895 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
32896 top.
32897 (acorn_partition_map_get_name): Add 1 into P->INDEX.
32898
32899 * kern/i386/pc/init.c (make_install_device): Add 1 into
32900 GRUB_INSTALL_DOS_PART.
32901
32902 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
32903 conditional.
32904
32905 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
32906
32907 Clean up the code to support 64-bit addressing in disks and
32908 files. This change is not enough for filesystems yet.
32909
32910 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
32911 type of "start" to grub_uint64_t.
32912 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
32913 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
32914 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
32915 convert addresses.
32916
32917 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
32918 to grub_disk_addr_t.
32919
32920 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
32921 string.
32922
32923 * partmap/pc.c (pc_partition_map_iterate): Likewise.
32924
32925 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
32926 to char *.
32927
32928 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
32929
32930 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
32931
32932 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
32933
32934 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
32935 to grub_off_t, to detect an error from grub_file_seek.
32936 (grub_multiboot_load_elf32): Likewise.
32937
32938 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
32939 maximum unsigned long value when an overflow is detected.
32940 (grub_strtoull): New function.
32941 (grub_divmod64): Likewise.
32942 (grub_lltoa): use grub_divmod64.
32943
32944 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
32945 grub_disk_addr_t.
32946 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
32947 the pointer to next character. Use grub_strtoull instead of
32948 grub_strtoul.
32949 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
32950 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
32951 respectively.
32952
32953 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
32954 return value is signed.
32955 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
32956 test if OFFSET is less than zero, as OFFSET is unsigned now.
32957
32958 * kern/disk.c (struct grub_disk_cache): Change the type of
32959 "sector" to grub_disk_addr_t.
32960 (grub_disk_cache_get_index): Change the type of SECTOR to
32961 grub_disk_addr_t. Calculate the hash with SECTOR casted to
32962 unsigned after shifting.
32963 (grub_disk_cache_invalidate): Change the type of SECTOR to
32964 grub_disk_addr_t.
32965 (grub_disk_cache_unlock): Likewise.
32966 (grub_disk_cache_store): Likewise.
32967 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
32968 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
32969 grub_disk_addr_t and grub_uint64_t, respectively.
32970 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
32971 body, as the value of OFFSET is tweaked by
32972 grub_disk_check_range. Change the types of START_SECTOR, LEN and
32973 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
32974 respectively.
32975 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
32976 body, as the value of OFFSET is tweaked by
32977 grub_disk_check_range. Change the types of LEN and N to
32978 grub_size_t.
32979
32980 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
32981 and "saved_offset" to grub_off_t.
32982 (test_header): Cast BUF to char *.
32983 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
32984 to char *.
32985 (grub_gzio_read): Change the types of OFFSET and SIZE to
32986 grub_off_t and grub_size_t, respectively.
32987
32988 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
32989 Removed.
32990 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
32991 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
32992 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
32993 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
32994 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
32995
32996 * include/grub/types.h (grub_off_t): Unconditionally set to
32997 grub_uint64_t.
32998 (grub_disk_addr_t): Changed to grub_uint64_t.
32999
33000 * include/grub/partition.h (struct grub_partition): Change the
33001 types of "start", "len" and "offset" to grub_disk_addr_t,
33002 grub_uint64_t and grub_disk_addr_t, respectively.
33003 (grub_partition_get_start): Return grub_disk_addr_t.
33004 (grub_partition_get_len): Return grub_uint64_t.
33005
33006 * include/grub/misc.h (grub_strtoull): New prototype.
33007 (grub_divmod64): Likewise.
33008
33009 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
33010 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
33011 grub_off_t, respectively.
33012 All callers and references changed.
33013
33014 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
33015 grub_size_t in "read".
33016 All callers and references changed.
33017
33018 * include/grub/file.h (struct grub_file): Change the types of
33019 "offset" and "size" to grub_off_t and grub_off_t,
33020 respectively. Change the type of SECTOR to grub_disk_addr_t in
33021 "read_hook".
33022 (grub_file_read): Change the type of LEN to grub_size_t.
33023 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
33024 grub_off_t.
33025 (grub_file_size): Return grub_off_t.
33026 (grub_file_tell): Likewise.
33027 All callers and references changed.
33028
33029 * include/grub/disk.h (struct grub_disk_dev): Change the types of
33030 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
33031 "write".
33032 (struct grub_disk): Change the type of "total_sectors" to
33033 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
33034 "read_hook".
33035 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
33036 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
33037 (grub_disk_write): Likewise.
33038 All callers and references changed.
33039
33040 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
33041 char * for grub_strncmp to silence gcc.
33042 (grub_iso9660_mount): Likewise.
33043 (grub_iso9660_mount): Likewise.
33044 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
33045 return statement.
33046 (grub_iso9660_iterate_dir): Likewise.
33047 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
33048
33049 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
33050 LEN to grub_disk_addr_t and grub_size_t, respectively.
33051
33052 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
33053
33054 * fs/jfs.c (grub_jfs_read_file): Likewise.
33055
33056 * fs/minix.c (grub_jfs_read_file): Likewise.
33057
33058 * fs/sfs.c (grub_jfs_read_file): Likewise.
33059
33060 * fs/ufs.c (grub_jfs_read_file): Likewise.
33061
33062 * fs/xfs.c (grub_jfs_read_file): Likewise.
33063
33064 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
33065 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
33066 respectively.
33067
33068 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
33069 BLKNR to -1 instead of returning GRUB_ERRNO.
33070 (grub_ext2_read_file): Change the types of SECTOR and
33071 LEN to grub_disk_addr_t and grub_size_t, respectively.
33072
33073 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
33074 LEN to grub_disk_addr_t and grub_size_t, respectively.
33075
33076 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
33077 grub_file_read.
33078
33079 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
33080 string. Do not cast SECTOR explicitly.
33081
33082 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
33083 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
33084 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
33085 grub_disk_addr_t and grub_size_t, respectively. If the sector is
33086 over 2TB and LBA mode is not supported, raise an error.
33087 (get_safe_sectors): New function.
33088 (grub_biosdisk_read): Use get_safe_sectors.
33089 (grub_biosdisk_write): Likewise.
33090
33091 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
33092 (grub_efidisk_write): Likewise.
33093
33094 * disk/loopback.c (delete_loopback): Cosmetic changes.
33095 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
33096 correctly.
33097 (grub_loopback_open): Likewise.
33098 (grub_loopback_read): Likewise. Also, change the type of POS to
33099 grub_off_t, and fix the usage of grub_memset.
33100
33101 * commands/i386/pc/play.c: Include grub/machine/time.h.
33102
33103 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
33104 print FILE->SIZE.
33105
33106 * commands/configfile.c: Include grub/env.h.
33107
33108 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
33109 GRUB_ERRNO directly instead. Change the type of POS to
33110 grub_off_t. Follow the coding standard.
33111
33112 * commands/blocklist.c: Include grub/partition.h.
33113 (grub_cmd_blocklist): Return an error if the underlying device is
33114 not a disk. Take the starting sector of a partition into account,
33115 if a partition is used.
33116
33117 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
33118 a length field.
33119 (lba_mode): Support 64-bit addresses.
33120 (chs_mode): Likewise.
33121 (copy_buffer): Adapted to the new offsets of a length field and a
33122 segment field.
33123 (blocklist_default_start): Allocate 64-bit space.
33124
33125 * boot/i386/pc/boot.S (force_lba): Removed.
33126 (boot_drive): Moved to under KERNEL_SECTOR.
33127 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
33128 space.
33129 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
33130 is useless.
33131 (lba_mode): Refactored to support a 64-bit address. More size
33132 optimization.
33133 (setup_sectors): Likewise.
33134
33135 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
33136
33137 * DISTLIST: Added include/grub/i386/linux.h. Removed
33138 include/grub/i386/pc/linux.h
33139
33140 * configure.ac (AC_INIT): Bumped to 1.94.
33141
33142 * config.guess: Updated from gnulib.
33143 * config.sub: Likewise.
33144 * install-sh: Likewise.
33145 * mkinstalldirs: Likewise.
33146
33147 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
33148
33149 * conf/common.rmk (grub_modules_init.lst): Depended on
33150 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
33151 MODSRCFILES.
33152
33153 * genmk.rb (PModule::rule): Reverted the previous change.
33154
33155 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
33156
33157 * conf/common.rmk (grub_modules_init.lst): Depends on
33158 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
33159 that the target does not exist before producing.
33160 (grub_modules_init.h): Remove the target before generating.
33161 (grub_emu_init.c): Likewise.
33162
33163 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
33164
33165 2006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
33166
33167 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
33168 for the target-specific tests. Make sure that we also have the
33169 up-to-date target variables for those tests.
33170
33171 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
33172
33173 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
33174 (PModule::rule): Likewise.
33175
33176 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
33177
33178 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
33179 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
33180 target-specific flags should be prefixed.
33181 (PModule::rule): Likewise.
33182
33183 2006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
33184
33185 * configure.ac (CMP): Check if cmp is available explicitly.
33186
33187 2006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
33188
33189 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
33190 (target_cpu): New variable.
33191 (pkglibdir): Use target_cpu instead of host_cpu.
33192
33193 * util/i386/pc/grub-install.in (host_cpu): Removed.
33194 (target_cpu): New variable.
33195 (pkglibdir): Use target_cpu instead of host_cpu.
33196
33197 * util/genmoddep.c: Removed.
33198
33199 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
33200 instead of GRUB_HOST_SIZEOF_VOID_P.
33201 * kern/dl.c: Likewise.
33202
33203 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
33204 ...
33205 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
33206 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
33207 (GRUB_TARGET_SIZEOF_LONG): ... this.
33208 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
33209 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
33210 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
33211 to ...
33212 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
33213 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
33214 (GRUB_TARGET_SIZEOF_LONG): ... this.
33215 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
33216 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
33217 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
33218 to ...
33219 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
33220 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
33221 (GRUB_TARGET_SIZEOF_LONG): ... this.
33222 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
33223 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
33224
33225 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
33226 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
33227 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
33228 instead of GRUB_HOST_SIZEOF_LONG.
33229 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
33230 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
33231 GRUB_CPU_WORDS_BIGENDIAN.
33232 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
33233 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
33234 grub_host_ssize_t.
33235
33236 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
33237 (genmoddep_SOURCES): Likewise.
33238 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
33239 (genmoddep_SOURCES): Likewise.
33240 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
33241 (genmoddep_SOURCES): Likewise.
33242 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
33243 Likewise.
33244 (genmoddep_SOURCES): Likewise.
33245
33246 * genmoddep.awk: New file.
33247
33248 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
33249 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
33250 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
33251 (PModule::rule): Likewise.
33252 (Program::rule): Likewise.
33253 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
33254 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
33255 respectively.
33256
33257 * configure.ac: Rewritten intensively to use host and target
33258 instead of build and host, respectively.
33259
33260 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
33261 (host_cpu): Removed.
33262 (target_cpu): New variable.
33263 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
33264 (BUILD_CC): Removed.
33265 (BUILD_CFLAGS): Likewise.
33266 (BUILD_CPPFLAGS): Likewise.
33267 (TARGET_CC): New variable.
33268 (TARGET_CFLAGS): Likewise.
33269 (TARGET_CPPFLAGS): Likewise.
33270 (TARGET_LDFLAGS): Likewise.
33271 (AWK): Likewise.
33272 (include): Use target_cpu instead of host_cpu.
33273 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
33274
33275 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
33276
33277 2006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
33278
33279 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
33280 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
33281 field 'false' to 'exec_on_false'.
33282 (grub_script_create_cmdif): Renamed argument names to reflect above
33283 changes.
33284
33285 * normal/execute.c (grub_script_execute_cmdif): Likewise.
33286
33287 * normal/script.c (grub_script_create_cmdif): Likewise.
33288
33289 2006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
33290
33291 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
33292 top.
33293 (grub_hfsplus_btree_recptr): Likewise.
33294 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
33295 FILEBLOCK both to pass a block number and store next block
33296 number.
33297 (grub_hfsplus_read_block): Rewritten heavily to support an extent
33298 overflow file correctly. Specify errors appropriately, because
33299 fshelp expects that GRUB_ERRNO is set when fails. Reuse
33300 grub_hfsplus_btree_recptr to get the pointer to a found key.
33301 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
33302 is found.
33303
33304 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
33305 linux.mod.
33306 (_linux_mod_SOURCES): New variable.
33307 (_linux_mod_CFLAGS): Likewise.
33308 (_linux_mod_LDFLAGS): Likewise.
33309 (linux_mod_SOURCES): Likewise.
33310 (linux_mod_CFLAGS): Likewise.
33311 (linux_mod_LDFLAGS): Likewise.
33312
33313 * DISTLIST: Added loader/i386/efi/linux.c,
33314 loader/i386/efi/linux_normal.c and
33315 include/grub/i386/efi/loader.h.
33316
33317 * loader/i386/efi/linux.c: New file.
33318 * loader/i386/efi/linux_normal.c: Likewise.
33319 * include/grub/i386/efi/loader.h: Likewise.
33320
33321 2006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
33322
33323 * commands/blocklist.c: New file.
33324
33325 * DISTLIST: Added commands/blocklist.c.
33326
33327 * term/efi/console.c (grub_console_highlight_color): Use a lighter
33328 color for the background, and a darker color for the foreground.
33329 (grub_console_checkkey): Return READ_KEY.
33330 (grub_console_cls): Set the background to
33331 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
33332
33333 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
33334
33335 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
33336 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
33337
33338 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
33339 prototype.
33340
33341 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
33342 BG. The spec is wrong again.
33343
33344 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
33345 prototype.
33346 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
33347
33348 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
33349 commands/blocklist.c.
33350 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33351
33352 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
33353 (blocklist_mod_SOURCES): New variable.
33354 (blocklist_mod_CFLAGS): Likewise.
33355 (blocklist_mod_LDFLAGS): Likewise.
33356
33357 2006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
33358
33359 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
33360 duplication.
33361 (lba_mode): Use %eax more intensively to reduce the code size.
33362
33363 2006-05-20 Marco Gerards <marco@gnu.org>
33364
33365 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
33366
33367 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
33368 for `menuentry'.
33369 (script): Accept leading newlines.
33370 (newlines): New rule to describe 0 or more newlines.
33371 (commands): Accept `command' with trailing newline. Fixed the
33372 order in which arguments were passed to `grub_script_add_cmd'.
33373 Accept commands separated by newlines.
33374 (function): Changed to accept newlines.
33375 (menuentry) Rewritten.
33376
33377 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
33378 front of the list, instead of to the end.
33379
33380 2006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
33381
33382 * util/i386/pc/grub-install.in (bindir): New variable.
33383 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
33384 Shaver <lbgwjl@gmail.com>.
33385
33386 2006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
33387
33388 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
33389 grub/machine/linux.h
33390 * loader/i386/pc/linux.c: Likewise.
33391
33392 * include/grub/i386/pc/linux.h: Moved to ...
33393 * include/grub/i386/linux.h: ... here.
33394
33395 * include/grub/i386/linux.h (struct linux_kernel_params): New
33396 struct.
33397
33398 2006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
33399
33400 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
33401 checking.
33402 (grub_video_vbe_blit_glyph): Likewise.
33403 (grub_video_vbe_blit_bitmap): Likewise.
33404 (grub_video_vbe_blit_render_target): Likewise.
33405
33406 2006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
33407
33408 * configure.ac (--with-platform): Properly quote the square
33409 brackets.
33410
33411 2006-05-08 Marco Gerards <marco@gnu.org>
33412
33413 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
33414 this...
33415 (kernel_elf_HEADERS): ...to this. Updated all users.
33416 (grubof_symlist.c): Renamed from this...
33417 (kernel_elf_symlist.c): ...to this. Updated all users.
33418 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
33419 (grubof_SOURCES): Renamed from this...
33420 (kernel_elf_SOURCES): ...to this.
33421 (grubof_HEADERS): Renamed from this...
33422 (kernel_elf_HEADERS): ...to this.
33423 (grubof_CFLAGS): Renamed from this...
33424 (kernel_elf_CFLAGS): ...to this.
33425 (grubof_ASFLAGS): Renamed from this...
33426 (kernel_elf_ASFLAGS): ...to this.
33427 (grubof_LDFLAGS): Renamed from this...
33428 (kernel_elf_LDFLAGS): ...to this.
33429
33430 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
33431 this...
33432 (kernel_elf_HEADERS): ...to this. Updated all users.
33433 (grubof_symlist.c): Renamed from this...
33434 (kernel_elf_symlist.c): ...to this. Updated all users.
33435 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
33436 (grubof_SOURCES): Renamed from this...
33437 (kernel_elf_SOURCES): ...to this.
33438 (grubof_HEADERS): Renamed from this...
33439 (kernel_elf_HEADERS): ...to this.
33440 (grubof_CFLAGS): Renamed from this...
33441 (kernel_elf_CFLAGS): ...to this.
33442 (grubof_ASFLAGS): Renamed from this...
33443 (kernel_elf_ASFLAGS): ...to this.
33444 (grubof_LDFLAGS): Renamed from this...
33445 (kernel_elf_LDFLAGS): ...to this.
33446
33447 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
33448 `kernel.elf' instead of `grubof'.
33449
33450 2006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
33451
33452 Add --with-platform to configure. Use pkglibdir instead of
33453 pkgdatadir. This is reported by Roger Leigh.
33454
33455 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
33456 (host_vendor): Likewise.
33457 (host_os): Likewise.
33458 (pkgdatadir): Likewise.
33459 (platform): New variable.
33460 (pkglibdir): Likewise.
33461 Use PKGLIBDIR instead of PKGDATADIR.
33462
33463 * util/i386/pc/grub-install.in (datadir): Removed.
33464 (host_vendor): Likewise.
33465 (host_os): Likewise.
33466 (pkgdatadir): Likewise.
33467 (platform): New variable.
33468 (pkglibdir): Likewise.
33469 Use PKGLIBDIR instead of PKGDATADIR.
33470
33471 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
33472 instead of GRUB_DATADIR.
33473 (main): Likewise.
33474 * util/i386/pc/grub-mkimage.c (usage): Likewise.
33475 (main): Likewise.
33476 * util/i386/efi/grub-mkimage.c (usage): Likewise.
33477 (main): Likewise.
33478
33479 * configure.ac (--with-platform): New option.
33480 Use PLATFORM instead of HOST_VENDOR to specify a platform.
33481
33482 * Makefile.in: Include a makefile based on PLATFORM instead of
33483 HOST_VENDOR.
33484 (pkgdatadir): Not appended by the machine type.
33485 (pkglibdir): Appended by the machine type.
33486 (host_vendor): Removed.
33487 (platform): New variable.
33488 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
33489 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
33490 (uninstall): Likewise.
33491
33492 2006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
33493
33494 Use the environment context in the menu. Remove the commands
33495 "default" and "timeout", and use variables instead.
33496
33497 * normal/menu.c: Include grub/env.h.
33498 (print_entry): Cast TITLE to silence gcc.
33499 (get_timeout): New function.
33500 (set_timeout): Likewise.
33501 (get_entry_number): Likewise.
33502 (run_menu): Use a default entry, a fallback entry and a timeout
33503 in the environment variables "default", "fallback" and
33504 "timeout". Also, tweak the default entry if it is not within the
33505 current menu entries.
33506 (grub_menu_run): Use a fallback entry in the environment variable
33507 "fallback".
33508
33509 * normal/main.c (read_config_file): Do not initialize
33510 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
33511 NEWMENU->TIMEOUT.
33512 (grub_normal_execute): Use a data slot to store the menu.
33513
33514 * include/grub/normal.h (struct grub_menu): Removed default_entry,
33515 fallback_entry and timeout.
33516 (struct grub_menu_list): Removed.
33517 (grub_menu_list_t): Likewise.
33518 (struct grub_context): Likewise.
33519 (grub_context_t): Likewise.
33520 (grub_context_get): Likewise.
33521 (grub_context_get_current_menu): Likewise.
33522 (grub_context_push_menu): Likewise.
33523 (grub_context_pop_menu): Likewise.
33524 (grub_default_init): Likewise.
33525 (grub_default_fini): Likewise.
33526 (grub_timeout_init): Likewise.
33527 (grub_timeout_fini): Likewise.
33528
33529 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
33530 and timeout.mod.
33531 (normal_mod_SOURCES): Removed normal/context.c.
33532
33533 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
33534 commands/default.c, commands/timeout.c and normal/context.c.
33535 (normal_mod_SOURCES): Removed normal/context.c.
33536
33537 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
33538 commands/timeout.c and normal/context.c.
33539 (normal_mod_SOURCES): Removed normal/context.c.
33540
33541 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
33542 commands/default.c, commands/timeout.c and normal/context.c.
33543 (normal_mod_SOURCES): Removed normal/context.c.
33544
33545 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
33546 timeout.mod.
33547 (default_mod_SOURCES): Removed.
33548 (default_mod_CFLAGS): Likewise.
33549 (default_mod_LDFLAGS): Likewise.
33550 (timeout_mod_SOURCES): Removed.
33551 (timeout_mod_CFLAGS): Likewise.
33552 (timeout_mod_LDFLAGS): Likewise.
33553
33554 * DISTLIST: Removed commands/default.c, commands/timeout.c and
33555 normal/context.c.
33556
33557 * commands/default.c: Removed.
33558 * commands/timeout.c: Likewise.
33559 * normal/context.c: Likewise.
33560
33561 2006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
33562
33563 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
33564
33565 2006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
33566
33567 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
33568 "next" to "prev" for readability.
33569 (struct grub_env_sorted_var): New struct.
33570 (grub_env_context): Renamed to ...
33571 (initial_context): ... this.
33572 (grub_env_var_context): Renamed to ...
33573 (current_context): ... this.
33574 (grub_env_find): Look only at CURRENT_CONTEXT.
33575 (grub_env_context_open): Rewritten to copy exported variables from
33576 previous context.
33577 (grub_env_context_close): Rewritten according to the new
33578 scheme. Also, add an assertion to prevent the initial context from
33579 removed.
33580 (grub_env_insert): Removed the code for the sorted list.
33581 (grub_env_remove): Likewise.
33582 (grub_env_export): Simply mark the variable with
33583 GRUB_ENV_VAR_GLOBAL.
33584 (grub_env_set): A cosmetic change for naming consistency.
33585 (grub_env_get): Likewise.
33586 (grub_env_unset): Likewise.
33587 (grub_env_iterate): Rewritten to sort variables within this
33588 function.
33589 (grub_register_variable_hook): Fixed for naming consistency. Call
33590 grub_env_find again, only if NAME is not found at the first time.
33591 (mangle_data_slot_name): New function.
33592 (grub_env_set_data_slot): Likewise.
33593 (grub_env_get_data_slot): Likewise.
33594 (grub_env_unset_data_slot): Likewise.
33595
33596 * include/grub/env.h (grub_env_var_type): New enum.
33597 (GRUB_ENV_VAR_LOCAL): New constant.
33598 (GRUB_ENV_VAR_GLOBAL): Likewise.
33599 (GRUB_ENV_VAR_DATA): Likewise.
33600 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
33601 "type".
33602 (grub_env_set): Replace VAR with NAME for consistency.
33603 (grub_register_variable_hook): Likewise.
33604 (grub_env_export): Specify the name of the argument.
33605 (grub_env_set_data_slot): New prototype.
33606 (grub_env_get_data_slot): Likewise.
33607 (grub_env_unset_data_slot): Likewise.
33608
33609 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
33610
33611 Extend the loader so that GRUB can accept a loader which comes
33612 back to GRUB when a loaded image exits. Also, this change adds
33613 support for a chainloader on EFI.
33614
33615 * term/efi/console.c: Include grub/misc.h.
33616 (grub_console_checkkey): Display a scan code on the top for
33617 debugging. This will be removed once the EFI port gets stable.
33618 Correct the scan code mapping.
33619
33620 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
33621 allocate memory from larger regions, in order to reduce the number
33622 of allocated regions. Otherwise, the MacOSX loader panics.
33623 (filter_memory_map): Avoid less than 1MB for compatibility with
33624 other loaders.
33625 (add_memory_regions): Allocate from the tail of a region, if
33626 possible, to avoid allocating a region near to 1MB, for the MacOSX
33627 loader.
33628
33629 * kern/efi/init.c (grub_efi_set_prefix): Specify
33630 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
33631
33632 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
33633 argument IMAGE_HANDLE and specify it to get a loaded image.
33634 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
33635 grub_efi_get_loaded_image.
33636 (grub_efi_get_filename): Divide the length by the size of
33637 grub_efi_char16_t.
33638 (grub_efi_get_device_path): New function.
33639 (grub_efi_print_device_path): Print End Device Path nodes. Divide
33640 the length by the size of grub_efi_char16_t for a file path device
33641 path node.
33642
33643 * kern/loader.c (grub_loader_noreturn): New variable.
33644 (grub_loader_set): Accept a new argument NORETURN. Set
33645 GRUB_LOADER_NORETURN to NORETURN.
33646 All callers changed.
33647 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
33648 grub_machine_fini.
33649
33650 * include/grub/efi/efi.h (grub_efi_get_device_path): New
33651 prototype.
33652 (grub_efi_get_loaded_image): Take an argument to specify an image
33653 handle.
33654
33655 * include/grub/loader.h (grub_loader_set): Added one more argument
33656 NORETURN.
33657
33658 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
33659 instead of grub_efi_open_protocol.
33660 (grub_efidisk_get_device_name): Likewise.
33661 (grub_efidisk_close): Print a newline.
33662 (grub_efidisk_get_device_handle): Fixed to use
33663 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
33664 GRUB_EFI_DEVICE_PATH_TYPE.
33665
33666 * disk/efi/efidisk.c (device_path_guid): Moved to ...
33667 * kern/efi/efi.c (device_path_guid): ... here.
33668
33669 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
33670 chain.mod.
33671 (kernel_mod_HEADERS): Added efi/disk.h.
33672 (_chain_mod_SOURCES): New variable.
33673 (_chain_mod_CFLAGS): Likewise.
33674 (_chain_mod_LDFLAGS): Likewise.
33675 (chain_mod_SOURCES): Likewise.
33676 (chain_mod_CFLAGS): Likewise.
33677 (chain_mod_LDFLAGS): Likewise.
33678
33679 * DISTLIST: Added include/grub/efi/chainloader.h,
33680 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
33681
33682 * include/grub/efi/chainloader.h: New file.
33683 * loader/efi/chainloader.c: Likewise.
33684 * loader/efi/chainloader_normal.c: Likewise.
33685
33686 2006-04-30 Marco Gerards <marco@gnu.org>
33687
33688 * commands/configfile.c (grub_cmd_source): New function.
33689 (GRUB_MOD_INIT): Register the commands `source' and `.'.
33690 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
33691
33692 2006-04-30 Marco Gerards <marco@gnu.org>
33693
33694 * normal/execute.c (grub_script_execute_cmd): Change the return
33695 type to `grub_err_t'. Correctly return the error.
33696 (grub_script_execute_cmdline): In case a command line is not a
33697 command or a function, try to interpret it as an assignment.
33698
33699 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
33700
33701 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
33702 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
33703 skip a node whose name is obviously invalid as UTF-16,
33704 i.e. contains a NUL character. Stop the iteration when the last
33705 directory entry is found. Instead of using the return value of
33706 grub_hfsplus_btree_iterate_node, store the value in RET and use
33707 it, because the iterator can be stopped by the last directory
33708 entry.
33709
33710 2006-04-30 Marco Gerards <marco@gnu.org>
33711
33712 * include/grub/env.h (grub_env_export): New prototype. Reported
33713 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
33714
33715 2006-04-30 Marco Gerards <marco@gnu.org>
33716
33717 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
33718 size of the extents in a catalog file record.
33719
33720 2006-04-29 Marco Gerards <marco@gnu.org>
33721
33722 * commands/configfile.c (grub_cmd_configfile): Execute the
33723 configfile within its own context.
33724
33725 * include/grub/env.h (grub_env_context_open): New prototype.
33726 (grub_env_context_close): Likewise.
33727
33728 * kern/env.c (grub_env): Removed.
33729 (grub_env_sorted): Likewise.
33730 (grub_env_context): New variable.
33731 (grub_env_var_context): Likewise.
33732 (grub_env_find): Search both the active context and the global
33733 context.
33734 (grub_env_context_open): New function.
33735 (grub_env_context_close): Likewise.
33736 (grub_env_insert): Likewise.
33737 (grub_env_remove): Likewise.
33738 (grub_env_export): Likewise.
33739 (grub_env_set): Changed to use helper functions to avoid code
33740 duplication.
33741 (grub_env_iterate): Rewritten so both the current context and the
33742 global context are being used.
33743
33744 * normal/command.c (export_command): New function.
33745 (grub_command_init): Register the `export' function.
33746
33747 2006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
33748
33749 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
33750 explicitly to suppress gcc's warnings.
33751 * fs/fat.c (grub_fat_find_dir): Likewise.
33752 (grub_fat_label): Likewise.
33753 * fs/xfs.c (grub_xfs_read_inode): Likewise.
33754 (grub_xfs_mount): Likewise.
33755 (grub_xfs_label): Likewise.
33756 * fs/affs.c (grub_affs_mount): Likewise.
33757 (grub_affs_label): Likewise.
33758 (grub_affs_iterate_dir): Likewise.
33759 * fs/sfs.c (grub_sfs_mount): Likewise.
33760 (grub_sfs_iterate_dir): Likewise.
33761 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
33762 * fs/hfs.c (grub_hfs_mount): Likewise.
33763 (grub_hfs_cmp_catkeys): Likewise.
33764 (grub_hfs_find_dir): Likewise.
33765 (grub_hfs_dir): Likewise.
33766 (grub_hfs_label): Likewise.
33767 * fs/jfs.c (grub_jfs_mount): Likewise.
33768 (grub_jfs_opendir): Likewise.
33769 (grub_jfs_getent): Likewise.
33770 (grub_jfs_lookup_symlink): Likewise.
33771 (grub_jfs_label): Likewise.
33772 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
33773 (grub_hfsplus_iterate_dir): Likewise.
33774 (grub_hfsplus_btree_iterate_node): Made static.
33775
33776 * util/grub-emu.c (prefix): New variable.
33777 (grub_machine_set_prefix): New function.
33778 (main): Do not set the environment variable "prefix" here. Only
33779 set PREFIX, which is used later by grub_machine_set_prefix.
33780
33781 * include/grub/video.h: Do not include grub/symbol.h.
33782 (grub_video_register): Not exported. This symbol is not defined in
33783 the kernel.
33784 (grub_video_unregister): Likewise.
33785 (grub_video_iterate): Likewise.
33786 (grub_video_setup): Likewise.
33787 (grub_video_restore): Likewise.
33788 (grub_video_get_info): Likewise.
33789 (grub_video_get_blit_format): Likewise.
33790 (grub_video_set_palette): Likewise.
33791 (grub_video_get_palette): Likewise.
33792 (grub_video_set_viewport): Likewise.
33793 (grub_video_get_viewport): Likewise.
33794 (grub_video_map_color): Likewise.
33795 (grub_video_map_rgb): Likewise.
33796 (grub_video_map_rgba): Likewise.
33797 (grub_video_fill_rect): Likewise.
33798 (grub_video_blit_glyph): Likewise.
33799 (grub_video_blit_bitmap): Likewise.
33800 (grub_video_blit_render_target): Likewise.
33801 (grub_video_scroll): Likewise.
33802 (grub_video_swap_buffers): Likewise.
33803 (grub_video_create_render_target): Likewise.
33804 (grub_video_delete_render_target): Likewise.
33805 (grub_video_set_active_render_target): Likewise.
33806
33807 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
33808 Undefined.
33809 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
33810
33811 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
33812 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
33813 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
33814 instead of $(srcdir)/genkernsyms.sh.
33815
33816 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
33817 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
33818 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
33819 instead of $(srcdir)/genkernsyms.sh.
33820
33821 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
33822 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
33823 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
33824 instead of $(srcdir)/genkernsyms.sh.
33825
33826 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
33827 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
33828 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
33829 instead of $(srcdir)/genkernsyms.sh.
33830
33831 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
33832 genkernsyms.sh.
33833
33834 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
33835 genkernsyms.sh.
33836 (gensymlist.sh): New target.
33837 (genkernsyms.sh): Likewise.
33838
33839 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
33840 genkernsyms.sh.in and gensymlist.sh.in.
33841
33842 * genkernsyms.sh: Removed.
33843 * gensymlist.sh: Likewise.
33844
33845 * genkernsyms.sh.in: New file.
33846 * gensymlist.sh.in: Likewise.
33847
33848 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
33849
33850 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
33851 clobber "prefix", since we may have already set it manually.
33852
33853 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
33854
33855 * kern/misc.c (abort): New alias for grub_abort.
33856
33857 2006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
33858
33859 A new machine-specific function "grub_machine_set_prefix" is
33860 defined. This is called after loading modules, so that a prefix
33861 initialization can use modules. Also, this change adds an
33862 intensive debugging feature for the memory manager via the
33863 configure option "--enable-mm-debug".
33864
33865 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
33866 PART.LEN.
33867
33868 * kern/sparc64/ieee1275/init.c (abort): Removed.
33869 (grub_stop): Likewise.
33870 (grub_exit): New function.
33871 (grub_set_prefix): Renamed to ...
33872 (grub_machine_set_prefix): ... this.
33873 (grub_machine_init): Do not call grub_set_prefix.
33874
33875 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
33876 (grub_machine_set_prefix): ... this.
33877 (grub_machine_init): Do not call grub_set_prefix.
33878
33879 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
33880 (grub_machine_init): Do not set the prefix here.
33881
33882 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
33883
33884 * kern/efi/init.c: Include grub/mm.h.
33885 (grub_efi_set_prefix): New function.
33886
33887 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
33888 (grub_efi_get_filename): New function.
33889 (grub_print_device_path): Renamed to ...
33890 (grub_efi_print_device_path): ... this.
33891
33892 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
33893 [MM_DEBUG] (grub_realloc): Likewise.
33894 [MM_DEBUG] (grub_free): Likewise.
33895 [MM_DEBUG] (grub_memalign): Likewise.
33896 [MM_DEBUG] (grub_mm_debug): New variable.
33897 [MM_DEBUG] (grub_debug_malloc): New function.
33898 [MM_DEBUG] (grub_debug_free): New function.
33899 [MM_DEBUG] (grub_debug_realloc): New function.
33900 [MM_DEBUG] (grub_debug_memalign): New function.
33901
33902 * kern/misc.c (grub_abort): Print a newline to distinguish
33903 the message.
33904
33905 * kern/main.c (grub_main): Call grub_machine_set_prefix and
33906 grub_set_root_dev after loading modules. This is necessary when
33907 setting a prefix depends on modules.
33908
33909 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
33910 (grub_efi_print_device_path): ... this.
33911 (grub_efi_get_filename): New prototype.
33912 (grub_efi_set_prefix): Likewise.
33913
33914 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
33915 and grub/disk.h.
33916 (grub_efidisk_get_device_handle): New prototype.
33917 (grub_efidisk_get_device_name): Likewise.
33918
33919 * include/grub/mm.h: Include config.h.
33920 (MM_DEBUG): Removed.
33921 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
33922 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
33923 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
33924 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
33925 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
33926 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
33927 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
33928 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
33929 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
33930
33931 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
33932
33933 * disk/efi/efidisk.c: Include grub/partition.h.
33934 (iterate_child_devices): New function.
33935 (add_device): First, compare only last device path nodes, so that
33936 devices are sorted by the types.
33937 (grub_efidisk_get_device_handle): New function.
33938 (grub_efidisk_get_device_name): Likewise.
33939
33940 * configure.ac (--enable-mm-debug): New option to enable the
33941 memory manager debugging feature. This makes the binary much
33942 bigger, so is disabled by default.
33943
33944 2006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
33945
33946 Use grub_abort instead of grub_stop, and grub_exit must be
33947 define in each architecture now. Also, this change adds support
33948 for EFI disks.
33949
33950 * util/i386/pc/grub-probefs.c: Include grub/term.h.
33951 (grub_getkey): New function.
33952 (grub_term_get_current): Likewise.
33953
33954 * util/i386/pc/grub-setup.c: Include grub/term.h.
33955 (grub_getkey): New function.
33956 (grub_term_get_current): Likewise.
33957
33958 * util/misc.c (grub_stop): Renamed to ...
33959 (grub_exit): ... this.
33960
33961 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
33962 (grub_exit): ... this.
33963 (grub_machine_init): Use grub_abort instead of abort.
33964 (grub_stop): Removed.
33965
33966 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
33967 abort.
33968
33969 * kern/i386/pc/startup.S (grub_exit): New function.
33970 (cold_reboot): New label.
33971
33972 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
33973 (grub_efi_init): Call grub_efidisk_init.
33974 (grub_efi_fini): Call grub_efidisk_fini.
33975
33976 * kern/efi/efi.c: Include grub/mm.h.
33977 (grub_efi_console_control_guid): Renamed to ...
33978 (console_control_guid): ... this.
33979 (grub_efi_loaded_image_guid): Renamed to ...
33980 (loaded_image_guid): ... this.
33981 (grub_efi_locate_handle): New function.
33982 (grub_efi_open_protocol): Likewise.
33983 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
33984 GRUB_EFI_CONSOLE_CONTROL_GUID.
33985 (grub_efi_exit): Removed.
33986 (grub_stop): Likewise.
33987 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
33988 (grub_exit): New function.
33989 (grub_print_device_path): Likewise.
33990
33991 * kern/rescue.c (grub_rescue_cmd_exit): New function.
33992 (grub_enter_rescue_mode): Register "exit".
33993
33994 * kern/misc.c (grub_real_dprintf): A cosmetic change.
33995 (grub_abort): New function.
33996
33997 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
33998
33999 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
34000
34001 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
34002
34003 * include/grub/efi/efi.h (grub_efi_exit): Removed.
34004 (grub_print_device_path): New prototype.
34005 (grub_efi_locate_handle): Likewise.
34006 (grub_efi_open_protocol): Likewise.
34007
34008 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
34009 * disk/efi/efidisk.c: Likewise.
34010
34011 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
34012
34013 * include/grub/efi/console_control.h
34014 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
34015
34016 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
34017 last 8 bytes as an array.
34018 (GRUB_EFI_DISK_IO_GUID): New macro.
34019 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
34020 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
34021 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
34022 grub_uint8_t.
34023 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
34024 (struct grub_efi_device_path): Rename the member "sub_type" to
34025 "subtype".
34026 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
34027 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
34028 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
34029 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
34030 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
34031 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
34032 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
34033 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
34034 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
34035 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
34036 (struct grub_efi_pci_device_path): New structure.
34037 (grub_efi_pci_device_path_t): New type.
34038 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
34039 (struct grub_efi_pccard_device_path): New structure.
34040 (grub_efi_pccard_device_path_t): New type.
34041 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
34042 (struct grub_efi_memory_mapped_device_path): New structure.
34043 (grub_efi_memory_mapped_device_path_t): New type.
34044 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
34045 (struct grub_efi_vendor_device_path): New structure.
34046 (grub_efi_vendor_device_path_t): New type.
34047 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
34048 (struct grub_efi_controller_device_path): New structure.
34049 (grub_efi_controller_device_path_t): New type.
34050 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
34051 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
34052 (struct grub_efi_acpi_device_path): New structure.
34053 (grub_efi_acpi_device_path_t): New type.
34054 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
34055 (struct grub_efi_expanded_acpi_device_path): New structure.
34056 (grub_efi_expanded_acpi_device_path_t): New type.
34057 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
34058 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
34059 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
34060 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
34061 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
34062 (struct grub_efi_atapi_device_path): New structure.
34063 (grub_efi_atapi_device_path_t): New type.
34064 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
34065 (struct grub_efi_fibre_channel_device_path): New structure.
34066 (grub_efi_fibre_channel_device_path_t): New type.
34067 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
34068 (struct grub_efi_1394_device_path): New structure.
34069 (grub_efi_1394_device_path_t): New type.
34070 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
34071 (struct grub_efi_usb_device_path): New structure.
34072 (grub_efi_usb_device_path_t): New type.
34073 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
34074 (struct grub_efi_usb_class_device_path): New structure.
34075 (grub_efi_usb_class_device_path_t): New type.
34076 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
34077 (struct grub_efi_i2o_device_path): New structure.
34078 (grub_efi_i2o_device_path_t): New type.
34079 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
34080 (struct grub_efi_mac_address_device_path): New structure.
34081 (grub_efi_mac_address_device_path_t): New type.
34082 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
34083 (struct grub_efi_ipv4_device_path): New structure.
34084 (grub_efi_ipv4_device_path_t): New type.
34085 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
34086 (struct grub_efi_ipv6_device_path): New structure.
34087 (grub_efi_ipv6_device_path_t): New type.
34088 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
34089 (struct grub_efi_infiniband_device_path): New structure.
34090 (grub_efi_infiniband_device_path_t): New type.
34091 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
34092 (struct grub_efi_uart_device_path): New structure.
34093 (grub_efi_uart_device_path_t): New type.
34094 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
34095 (struct grub_efi_vendor_messaging_device_path): New structure.
34096 (grub_efi_vendor_messaging_device_path_t): New type.
34097 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
34098 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
34099 (struct grub_efi_hard_drive_device_path): New structure.
34100 (grub_efi_hard_drive_device_path_t): New type.
34101 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
34102 (struct grub_efi_cdrom_device_path): New structure.
34103 (grub_efi_cdrom_device_path_t): New type.
34104 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
34105 (struct grub_efi_vendor_media_device_path): New structure.
34106 (grub_efi_vendor_media_device_path_t): New type.
34107 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
34108 (struct grub_efi_file_path_device_path): New structure.
34109 (grub_efi_file_path_device_path_t): New type.
34110 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
34111 (struct grub_efi_protocol_device_path): New structure.
34112 (grub_efi_protocol_device_path_t): New type.
34113 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
34114 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
34115 (struct grub_efi_bios_device_path): New structure.
34116 (grub_efi_bios_device_path_t): New type.
34117 (struct grub_efi_disk_io): New structure.
34118 (grub_efi_disk_io_t): New type.
34119 (struct grub_efi_block_io_media): New structure.
34120 (grub_efi_block_io_media_t): New type.
34121 (struct grub_efi_block_io): New structure.
34122 (grub_efi_block_io_t): New type.
34123
34124 * include/grub/misc.h (grub_stop): Removed.
34125 (grub_exit): New prototype.
34126 (grub_abort): Likewise.
34127
34128 * include/grub/disk.h (enum grub_disk_dev_id): Added
34129 GRUB_DISK_DEVICE_EFIDISK_ID.
34130
34131 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
34132 disk/efi/efidisk.c.
34133 (kernel_syms.lst): Remove the target if an error occurs.
34134
34135 2006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
34136
34137 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
34138 as it was simply too buggy.
34139
34140 2006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
34141
34142 * kern/misc.c (grub_lltoa): New function.
34143 (grub_vsprintf): Added support for the long long suffix,
34144 i.e. "ll".
34145
34146 2006-04-20 Hollis Blanchard <hollis@penguinppc.org>
34147
34148 * Makefile.in (LDFLAGS): Add variable.
34149 (LD): Remove variable.
34150 * configure.ac: Add -m32 to LDFLAGS.
34151 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
34152 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
34153 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
34154 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
34155 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
34156 variables.
34157 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
34158 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
34159 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
34160
34161 2006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
34162
34163 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
34164 length for unknown glyph.
34165
34166 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
34167
34168 Add support for pre-loaded modules into the EFI port.
34169
34170 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
34171 completely. Accept one more argument DIR. The caller has changed.
34172
34173 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
34174
34175 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
34176 (grub_efi_loaded_image_guid): New variable.
34177 (grub_efi_get_loaded_image): New function.
34178 (grub_arch_modules_addr): Likewise.
34179
34180 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
34181 prototype.
34182
34183 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
34184 (struct grub_efi_loaded_image): New structure.
34185 (grub_efi_loaded_image_t): New type.
34186
34187 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
34188
34189 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
34190 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
34191 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
34192
34193 2006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
34194
34195 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
34196
34197 2006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
34198
34199 * DISTLIST: Added include/grub/efi/console.h,
34200 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
34201 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
34202
34203 * include/grub/efi/console.h: New file.
34204 * include/grub/efi/time.h: Likewise.
34205 * include/grub/i386/efi/kernel.h: Likewise.
34206 * kern/efi/init.c: Likewise.
34207 * kern/efi/mm.c: Likewise.
34208 * term/efi/console.c: Likewise.
34209
34210 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
34211 (grub_stop): Removed.
34212 (grub_get_rtc): Likewise.
34213 (grub_machine_init): Simply call grub_efi_init.
34214 (grub_machine_fini): Call grub_efi_fini.
34215
34216 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
34217 (grub_efi_output_string): Removed.
34218 (grub_efi_stall): New function.
34219 (grub_stop): Likewise.
34220 (grub_get_rtc): Likewise.
34221
34222 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
34223 (grub_efi_stall): New prototype.
34224 (grub_efi_allocate_pages): Likewise.
34225 (grub_efi_free_pages): Likewise.
34226 (grub_efi_get_memory_map): Likewise.
34227 (grub_efi_mm_init): Likewise.
34228 (grub_efi_mm_fini): Likewise.
34229 (grub_efi_init): Likewise.
34230 (grub_efi_fini): Likewise.
34231
34232 * include/grub/i386/efi/time.h: Do not include
34233 grub/symbol.h. Include grub/efi/time.h.
34234 (GRUB_TICKS_PER_SECOND): Removed.
34235 (grub_get_rtc): Likewise.
34236
34237 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
34238 Added padding. The EFI spec is buggy.
34239 (GRUB_EFI_BLACK): New macro.
34240 (GRUB_EFI_BLUE): Likewise.
34241 (GRUB_EFI_GREEN): Likewise.
34242 (GRUB_EFI_CYAN): Likewise.
34243 (GRUB_EFI_RED): Likewise.
34244 (GRUB_EFI_MAGENTA): Likewise.
34245 (GRUB_EFI_BROWN): Likewise.
34246 (GRUB_EFI_LIGHTGRAY): Likewise.
34247 (GRUB_EFI_BRIGHT): Likewise.
34248 (GRUB_EFI_DARKGRAY): Likewise.
34249 (GRUB_EFI_LIGHTBLUE): Likewise.
34250 (GRUB_EFI_LIGHTGREEN): Likewise.
34251 (GRUB_EFI_LIGHTCYAN): Likewise.
34252 (GRUB_EFI_LIGHTRED): Likewise.
34253 (GRUB_EFI_LIGHTMAGENTA): Likewise.
34254 (GRUB_EFI_YELLOW): Likewise.
34255 (GRUB_EFI_WHITE): Likewise.
34256 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
34257 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
34258 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
34259 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
34260 (GRUB_EFI_BACKGROUND_RED): Likewise.
34261 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
34262 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
34263 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
34264 (GRUB_EFI_TEXT_ATTR): Likewise.
34265
34266 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
34267 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
34268 (kernel_mod_HEADERS): Added efi/time.h.
34269
34270 2006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
34271
34272 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
34273 include/grub/efi/api.h, include/grub/efi/console_control.h,
34274 include/grub/efi/efi.h, include/grub/efi/pe32.h,
34275 include/grub/i386/efi/time.h, kern/efi/efi.c,
34276 kern/i386/efi/init.c, kern/i386/efi/startup.S,
34277 and util/i386/efi/grub-mkimage.c.
34278
34279 * Makefile.in (RMKFILES): Added i386-efi.rmk.
34280
34281 * genmk.rb (PModule#rule): Do not export symbols if
34282 #{prefix}_EXPORTS is set to "no".
34283
34284 * conf/i386-efi.mk: New file.
34285 * conf/i386-efi.rmk: Likewise.
34286 * include/grub/efi/api.h: Likewise.
34287 * include/grub/efi/console_control.h: Likewise.
34288 * include/grub/efi/efi.h: Likewise.
34289 * include/grub/efi/pe32.h: Likewise.
34290 * include/grub/i386/efi/time.h: Likewise.
34291 * kern/efi/efi.c: Likewise.
34292 * kern/i386/efi/init.c: Likewise.
34293 * kern/i386/efi/startup.S: Likewise.
34294 * util/i386/efi/grub-mkimage.c: Likewise.
34295
34296 2006-04-17 Marco Gerards <marco@gnu.org>
34297
34298 * include/grub/script.h: Include <grub/parser.h> and
34299 "grub_script.tab.h".
34300 (struct grub_lexer_param): New struct.
34301 (struct grub_parser_param): Likewise.
34302 (grub_script_create_arglist): Pass the state in an argument.
34303 (grub_script_add_arglist): Likewise.
34304 (grub_script_create_cmdline): Likewise.
34305 (grub_script_create_cmdblock): Likewise.
34306 (grub_script_create_cmdif): Likewise.
34307 (grub_script_create_cmdmenu): Likewise.
34308 (grub_script_add_cmd): Likewise.
34309 (grub_script_arg_add): Likewise.
34310 (grub_script_lexer_ref): Likewise.
34311 (grub_script_lexer_deref): Likewise.
34312 (grub_script_lexer_record_start): Likewise.
34313 (grub_script_lexer_record_stop): Likewise.
34314 (grub_script_mem_record): Likewise.
34315 (grub_script_mem_record_stop): Likewise.
34316 (grub_script_malloc): Likewise.
34317 (grub_script_yylex): Likewise.
34318 (grub_script_yyparse): Likewise.
34319 (grub_script_yyerror): Likewise.
34320 (grub_script_yylex): Likewise.
34321 (grub_script_lexer_init): Return the state.
34322
34323 * normal/lexer.c (grub_script_lexer_state): Removed variable.
34324 (grub_script_lexer_done): Likewise.
34325 (grub_script_lexer_getline): Likewise.
34326 (grub_script_lexer_refs): Likewise.
34327 (script): Likewise.
34328 (newscript): Likewise.
34329 (record): Likewise.
34330 (recording): Likewise.
34331 (recordpos): Likewise.
34332 (recordlen): Likewise.
34333 (grub_script_lexer_init): Return the state instead of setting
34334 global variables.
34335 (grub_script_lexer_ref): Use the newly added argument for state
34336 instead of globals.
34337 (grub_script_lexer_deref): Likewise.
34338 (grub_script_lexer_record_start): Likewise.
34339 (grub_script_lexer_record_stop): Likewise.
34340 (recordchar): Likewise.
34341 (nextchar): Likewise.
34342 (grub_script_yylex2): Likewise.
34343 (grub_script_yylex): Likewise.
34344 (grub_script_yyerror): Likewise.
34345
34346 * normal/parser.y (func_mem): Removed variable.
34347 (menu_entry): Likewise.
34348 (err): Likewise.
34349 (%lex-param): New parser option.
34350 (%parse-param): Likewise.
34351 (script): Always return the AST.
34352 (argument): Pass the state around.
34353 (arguments): Likewise.
34354 (grubcmd): Likewise.
34355 (commands): Likewise.
34356 (function): Likewise.
34357 (menuentry): Likewise.
34358 (if_statement): Likewise.
34359 (if): Likewise.
34360
34361 * normal/script.c (grub_script_memused): Removed variable.
34362 (grub_script_parsed): Likewise.
34363 (grub_script_malloc): Added a state argument. Use that instead of
34364 global variables.
34365 (grub_script_mem_record): Likewise.
34366 (grub_script_mem_record_stop): Likewise.
34367 (grub_script_arg_add): Likewise.
34368 (grub_script_add_arglist): Likewise.
34369 (grub_script_create_cmdline): Likewise.
34370 (grub_script_create_cmdif): Likewise.
34371 (grub_script_create_cmdmenu): Likewise.
34372 (grub_script_add_cmd): Likewise.
34373 (grub_script_parse): Setup the state before calling the parser.
34374
34375 2006-04-16 Marco Gerards <marco@gnu.org>
34376
34377 * normal/command.c (grub_command_init): Remove the title command.
34378
34379 * normal/lexer.c (grub_script_yylex): Renamed from this...
34380 (grub_script_yylex2): ... to this.
34381 (grub_script_yylex): New function. Temporary
34382 introduced to filter some tokens.
34383 (grub_script_yyerror): Print a newline.
34384
34385 * normal/main.c (read_config_file): Output information about the
34386 lines that contain errors. Wait for a key after all lines have
34387 been processed. Don't return an empty menu.
34388
34389 * normal/parser.y (func_mem): Don't initialize.
34390 (menu_entry): Likewise.
34391 (err): New variable.
34392 (script): Don't return anything when an error was encountered.
34393 (ws, returns): Removed rules.
34394 (argument): Disabled concatenated variable support.
34395 (arguments): Remove explicit separators.
34396 (grubcmd): Likewise.
34397 (function): Likewise.
34398 (menuentry): Likewise.
34399 (if): Likewise.
34400 (commands): Likewise. Add error handling.
34401
34402 * normal/script.c (grub_script_create_cmdline): If
34403 `grub_script_parsed' is 0, assume the parser encountered an error.
34404
34405 2006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
34406
34407 * configure.ac: Add support for EFI. Fix the typo
34408 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
34409
34410 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
34411
34412 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
34413 foreign multibyte characters should be shown correctly.
34414
34415 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
34416
34417 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
34418 calculation.
34419 (read_config_file): Made it to close file before returning.
34420
34421 2006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
34422
34423 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
34424 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
34425 video/i386/pc/vbefill.c.
34426
34427 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
34428 video/i386/pc/vbefill.c.
34429
34430 * include/grub/video.h (grub_video_blit_format): New enum.
34431 (grub_video_mode_info): Added new member blit_format.
34432 (grub_video_get_blit_format): New function prototype.
34433
34434 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
34435 function prototype.
34436 (grub_video_vbe_map_rgb): Likewise.
34437 (grub_video_vbe_unmap_color): Likewise.
34438
34439 * include/grub/i386/pc/vbeblit.h: New file.
34440
34441 * include/grub/i386/pc/vbefill.h: New file.
34442
34443 * video/video.c (grub_video_get_blit_format): New function.
34444 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
34445 (grub_video_vbe_map_rgb): Likewise.
34446 (grub_video_vbe_unmap_color): Likewise.
34447
34448 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
34449 optimized fills.
34450 (grub_video_vbe_blit_render_target): Changed to use more optimized
34451 blits.
34452 (grub_video_vbe_setup): Added detection for optimized settings.
34453 (grub_video_vbe_create_render_target): Likewise.
34454
34455 * video/i386/pc/vbeblit.c: New file.
34456
34457 * video/i386/pc/vbefill.c: New file.
34458
34459 2006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
34460
34461 * font/manager.c (grub_font_get_glyph): Removed font fixup from
34462 here...
34463
34464 * util/unifont2pff.rb: ... and moved it to here. Improved argument
34465 parsing to support both hex and dec ranges. If filename was missing
34466 show usage information.
34467
34468 2006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
34469
34470 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
34471 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
34472
34473 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
34474 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
34475 (video_mod_SOURCES): Added.
34476 (video_mod_CFLAGS): Likewise.
34477 (video_mod_LDFLAGS): Likewise.
34478 (gfxterm_mod_SOURCES): Likewise.
34479 (gfxterm_mod_CFLAGS): Likewise.
34480 (gfxterm_mod_LDFLAGS): Likewise.
34481 (videotest_mod_SOURCES): Likewise.
34482 (videotest_mod_CFLAGS): Likewise.
34483 (videotest_mod_LDFLAGS): Likewise.
34484 (vesafb_mod_SOURCES): Removed.
34485 (vesafb_mod_CFLAGS): Likewise.
34486 (vesafb_mod_LDFLAGS): Likewise.
34487 (vga_mod_SOURCES): Likewise.
34488 (vga_mod_CFLAGS): Likewise.
34489 (vga_mod_LDFLAGS): Likewise.
34490
34491 * commands/videotest.c: New file.
34492
34493 * font/manager.c (fill_with_default_glyph): Modified to use
34494 grub_font_glyph.
34495 (grub_font_get_glyph): Likewise.
34496 (fontmanager): Renamed from this...
34497 (font_manager): ... to this.
34498
34499 * include/grub/font.h (grub_font_glyph): Added new structure.
34500 (grub_font_get_glyph): Modified to use grub_font_glyph.
34501
34502 * include/grub/misc.h (grub_abs): Added as inline function.
34503
34504 * include/grub/video.h: New file.
34505
34506 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
34507 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
34508 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
34509 (grub_vbe_get_controller_info): Renamed from this...
34510 (grub_vbe_bios_get_controller_info): ... to this.
34511 (grub_vbe_get_mode_info): Renamed from this...
34512 (grub_vbe_bios_get_mode_info): ... to this.
34513 (grub_vbe_set_mode): Renamed from this...
34514 (grub_vbe_bios_set_mode): ... to this.
34515 (grub_vbe_get_mode): Renamed from this...
34516 (grub_vbe_bios_get_mode): ... to this.
34517 (grub_vbe_set_memory_window): Renamed from this...
34518 (grub_vbe_bios_set_memory_window): ... to this.
34519 (grub_vbe_get_memory_window): Renamed from this...
34520 (grub_vbe_bios_get_memory_window): ... to this.
34521 (grub_vbe_set_scanline_length): Renamed from this...
34522 (grub_vbe_set_scanline_length): ... to this.
34523 (grub_vbe_get_scanline_length): Renamed from this...
34524 (grub_vbe_bios_get_scanline_length): ... to this.
34525 (grub_vbe_set_display_start): Renamed from this...
34526 (grub_vbe_bios_set_display_start): ... to this.
34527 (grub_vbe_get_display_start): Renamed from this...
34528 (grub_vbe_bios_get_display_start): ... to this.
34529 (grub_vbe_set_palette_data): Renamed from this...
34530 (grub_vbe_bios_set_palette_data): ... to this.
34531 (grub_vbe_set_pixel_rgb): Removed.
34532 (grub_vbe_set_pixel_index): Likewise.
34533
34534 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
34535 from this...
34536 (grub_vbe_bios_get_controller_info): ... to this.
34537 (grub_vbe_get_mode_info): Renamed from this...
34538 (grub_vbe_bios_get_mode_info): ... to this.
34539 (grub_vbe_set_mode): Renamed from this...
34540 (grub_vbe_bios_set_mode): ... to this.
34541 (grub_vbe_get_mode): Renamed from this...
34542 (grub_vbe_bios_get_mode): ... to this.
34543 (grub_vbe_set_memory_window): Renamed from this...
34544 (grub_vbe_bios_set_memory_window): ... to this.
34545 (grub_vbe_get_memory_window): Renamed from this...
34546 (grub_vbe_bios_get_memory_window): ... to this.
34547 (grub_vbe_set_scanline_length): Renamed from this...
34548 (grub_vbe_set_scanline_length): ... to this.
34549 (grub_vbe_get_scanline_length): Renamed from this...
34550 (grub_vbe_bios_get_scanline_length): ... to this.
34551 (grub_vbe_set_display_start): Renamed from this...
34552 (grub_vbe_bios_set_display_start): ... to this.
34553 (grub_vbe_get_display_start): Renamed from this...
34554 (grub_vbe_bios_get_display_start): ... to this.
34555 (grub_vbe_set_palette_data): Renamed from this...
34556 (grub_vbe_bios_set_palette_data): ... to this.
34557 (grub_vbe_bios_get_controller_info): Fixed problem with registers
34558 getting corrupted after calling it. Added more pushes and pops.
34559 (grub_vbe_bios_set_mode): Likewise.
34560 (grub_vbe_bios_get_mode): Likewise.
34561 (grub_vbe_bios_get_memory_window): Likewise.
34562 (grub_vbe_bios_set_scanline_length): Likewise.
34563 (grub_vbe_bios_get_scanline_length): Likewise.
34564 (grub_vbe_bios_get_display_start): Likewise.
34565 (grub_vbe_bios_set_palette_data): Likewise.
34566
34567 * normal/cmdline.c (cl_set_pos): Refresh the screen.
34568 (cl_insert): Likewise.
34569 (cl_delete): Likewise.
34570
34571 * term/gfxterm.c: New file.
34572
34573 * term/i386/pc/vesafb.c: Removed file.
34574
34575 * video/video.c: New file.
34576
34577 * video/i386/pc/vbe.c (real2pm): Added new function.
34578 (grub_video_vbe_draw_pixel): Likewise.
34579 (grub_video_vbe_get_video_ptr): Likewise.
34580 (grub_video_vbe_get_pixel): Likewise
34581 (grub_video_vbe_init): Likewise.
34582 (grub_video_vbe_fini): Likewise.
34583 (grub_video_vbe_setup): Likewise.
34584 (grub_video_vbe_get_info): Likewise.
34585 (grub_video_vbe_set_palette): Likewise.
34586 (grub_video_vbe_get_palette): Likewise.
34587 (grub_video_vbe_set_viewport): Likewise.
34588 (grub_video_vbe_get_viewport): Likewise.
34589 (grub_video_vbe_map_color): Likewise.
34590 (grub_video_vbe_map_rgb): Likewise.
34591 (grub_video_vbe_map_rgba): Likewise.
34592 (grub_video_vbe_unmap_color): Likewise.
34593 (grub_video_vbe_fill_rect): Likewise.
34594 (grub_video_vbe_blit_glyph): Likewise.
34595 (grub_video_vbe_blit_bitmap): Likewise.
34596 (grub_video_vbe_blit_render_target): Likewise.
34597 (grub_video_vbe_scroll): Likewise.
34598 (grub_video_vbe_swap_buffers): Likewise.
34599 (grub_video_vbe_create_render_target): Likewise.
34600 (grub_video_vbe_delete_render_target): Likewise.
34601 (grub_video_vbe_set_active_render_target): Likewise.
34602 (grub_vbe_set_pixel_rgb): Remove function.
34603 (grub_vbe_set_pixel_index): Likewise.
34604 (index_color_mode): Remove static variable.
34605 (active_mode): Likewise.
34606 (framebuffer): Likewise.
34607 (bytes_per_scan_line): Likewise.
34608 (grub_video_vbe_adapter): Added new static variable.
34609 (framebuffer): Likewise.
34610 (render_target): Likewise.
34611 (initial_mode): Likewise.
34612 (mode_in_use): Likewise.
34613 (mode_list): Likewise.
34614
34615 2006-03-10 Marco Gerards <marco@gnu.org>
34616
34617 * configure.ac (AC_INIT): Bumped to 1.93.
34618
34619 * DISTLIST: Added `include/grub/hfs.h'.
34620
34621 2006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
34622
34623 * boot/i386/pc/boot.S (general_error): Before looping, try INT
34624 18H, which might help the BIOS falling back to next boot media.
34625
34626 2006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
34627
34628 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
34629 Poe Chen <poe.poechen@gmail.com>.
34630
34631 2006-01-17 Marco Gerards <marco@gnu.org>
34632
34633 * include/grub/normal.h: Include <grub/script.h>.
34634 (grub_command_list): Removed struct.
34635 (grub_command_list_t): Removed type.
34636 (grub_menu_entry): Remove members `num' and `command_list'. Add
34637 members `commands' and `sourcecode'.
34638 * include/grub/script.h: Add inclusion guards.
34639 (grub_script_cmd_menuentry): New struct.
34640 (grub_script_execute_menuentry): New prototype.
34641 (grub_script_lexer_record_start): Likewise.
34642 (grub_script_lexer_record_stop): Likewise.
34643 * normal/execute.c (grub_script_execute_menuentry): New function.
34644 * normal/lexer.c (record, recording, recordpos, recordlen): New
34645 variables.
34646 (grub_script_lexer_record_start): New function.
34647 (grub_script_lexer_record_stop): Likewise.
34648 (recordchar): Likewise.
34649 (nextchar): Likewise.
34650 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
34651 2048 as the buffer size. Add the tokens `menuentry' and `@'.
34652 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
34653 (current_menu): New variable.
34654 (free_menu): Mainly rewritten.
34655 (grub_normal_menu_addentry): New function.
34656 (read_config_file): Rewritten.
34657 * normal/menu.c (run_menu_entry): Mainly rewritten.
34658 * normal/menu_entry.c (make_screen): Rewritten the code to insert
34659 the menu entry.
34660 (run): Mainly rewritten.
34661 * normal/parser.y (menu_entry): New variable.
34662 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
34663 (menuentry): New rule.
34664 (command): Add `menuentry'.
34665 (if_statement): Allow additional returns before `fi'.
34666 * normal/script.c (grub_script_create_cmdmenu): New function.
34667
34668 2006-01-03 Marco Gerards <marco@gnu.org>
34669
34670 * INSTALL: GNU Bison is required.
34671 * configure.ac: Rewritten the test to detect Bison.
34672 * Makefile.in (YACC): New variable. Reported by Xun Sun
34673 <xun.sun.cn@gmail.com>.
34674
34675 2006-01-03 Marco Gerards <marco@gnu.org>
34676
34677 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
34678 the HFS+ filesystem to filesystem blocks.
34679 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
34680 GCC warning is silenced.
34681
34682 2006-01-03 Marco Gerards <marco@gnu.org>
34683
34684 * partmap/apple.c (apple_partition_map_iterate): Convert the data
34685 read from disk from big endian to host byte order.
34686
34687 2006-01-03 Hollis Blanchard <hollis@penguinppc.org>
34688
34689 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
34690 documentation.
34691 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
34692 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
34693 embedded HFS+ filesystem.
34694 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
34695 (grub_hfs_sblock): Move from here...
34696 * include/grub/hfs.h: To here... New file.
34697 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
34698 documentation.
34699 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
34700 New macros.
34701 (grub_hfsplus_volheader): Change type of member `magic' to
34702 `grub_uint16_t'.
34703 (grub_hfsplus_data): Add new member `embedded_offset'.
34704 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
34705 returned block.
34706 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
34707 Calculate the offset.
34708
34709 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
34710
34711 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
34712 Removed.
34713 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
34714
34715 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
34716
34717 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
34718 ENV->NAME is NULL after allocating ENV->VALUE.
34719
34720 2005-12-25 Marco Gerards <marco@gnu.org>
34721
34722 * kern/env.c (grub_env_set): Rewritten the error handling code.
34723
34724 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
34725
34726 * geninit.sh: Made more robust, and more portable.
34727
34728 2005-12-25 Marco Gerards <marco@gnu.org>
34729
34730 Add support for Apple HFS+ filesystems.
34731
34732 * fs/hfsplus.c: New file.
34733
34734 * DISTLIST: Added `fs/hfsplus.c'.
34735
34736 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
34737 (hfsplus_mod_SOURCES): New variable.
34738 (hfsplus_mod_CFLAGS): Likewise.
34739 (hfsplus_mod_LDFLAGS): Likewise.
34740 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
34741 (grub_setup_SOURCES): Likewise.
34742 (grub_mkdevicemap_SOURCES): Likewise.
34743 (grub_emu_SOURCES): Likewise.
34744 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34745
34746 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
34747
34748 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
34749
34750 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
34751
34752 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
34753 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
34754 include/grub/parser.h, include/grub/script.h, kern/parser.c,
34755 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
34756 normal/lexer.c, normal/parser.y, normal/script.c, and
34757 partmap/gpt.c.
34758 Removed kern/sparc64/cache.c.
34759
34760 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
34761 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
34762 grub_emu_init.c.
34763
34764 * configure.ac (AC_INIT): Bumped to 1.92.
34765
34766 2005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
34767
34768 * kern/err.c (grub_error_push): Added new function to support error
34769 stacks.
34770 (grub_error_pop): Likewise.
34771 (grub_error_stack_items): New local variable to support error stacks.
34772 (grub_error_stack_pos): Likewise.
34773 (grub_error_stack_assert): Likewise.
34774 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
34775 stack depth.
34776 (grub_print_error): Added support to print errors from error stack.
34777
34778 * include/grub/err.h (grub_error_push): Added function prototype.
34779 (grub_error_pop): Likewise.
34780
34781 2005-12-09 Hollis Blanchard <hollis@penguinppc.org>
34782
34783 * configure.ac: Accept `powerpc64' as host_cpu.
34784 (amd64): Rename to `biarch32'.
34785
34786 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
34787 non-cacheline-aligned addresses.
34788
34789 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
34790 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
34791 if `size' is non-zero.
34792
34793 2005-12-03 Marco Gerards <mgerards@xs4all.nl>
34794
34795 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
34796 and `cd' to make sure the filename is not prefixed with a
34797 directory name.
34798 (pkgdata_MODULES): Add `gpt.mod'.
34799 (gpt_mod_SOURCES): New variable.
34800 (gpt_mod_CFLAGS): Likewise.
34801 (gpt_mod_LDFLAGS): Likewise.
34802
34803 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
34804
34805 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
34806 New macro.
34807
34808 * partmap/gpt.c: New file.
34809
34810 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
34811 GPT partition map is detected.
34812
34813 2005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
34814
34815 * commands/i386/pc/play.c: New file.
34816 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
34817 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
34818 macros.
34819
34820 2005-11-27 Marco Gerards <mgerards@xs4all.nl>
34821
34822 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
34823 ((unused))' to silence gcc warning.
34824
34825 2005-11-26 Hollis Blanchard <hollis@penguinppc.org>
34826
34827 * configure.ac: Correct `AC_PROG_YACC' test.
34828
34829 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
34830
34831 * util/powerpc/ieee1275/grub-install.in: Run the mount point
34832 check before installing files.
34833
34834 2005-11-22 Mike Small <smallm@panix.com>
34835
34836 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
34837 number regex so multidigit numbers are recognized correctly.
34838
34839 2005-11-22 Mike Small <smallm@panix.com>
34840
34841 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
34842 debugging message before attempting to claim memory.
34843 (grub_rescue_cmd_initrd): Add a claim debugging message and try
34844 multiple addresses in case of failure.
34845
34846 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
34847
34848 * term/tparm.c (get_space): Remove empty `if' statement.
34849
34850 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
34851
34852 * kern/parser.c (check_varstate): Rename `state' to 's'.
34853
34854 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
34855
34856 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
34857 variable definitions to the beginning of each function. Sort stack
34858 variables by size.
34859 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
34860 `buf' argument to `char *'.
34861
34862 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
34863
34864 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
34865 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
34866 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
34867 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
34868 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
34869 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
34870 configfile.mod, search.mod, gzio.mod and test.mod.
34871 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
34872 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
34873 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
34874 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
34875 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
34876 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
34877 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
34878 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
34879 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
34880 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
34881 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
34882 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
34883 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
34884 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
34885 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
34886 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
34887 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
34888 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
34889 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
34890 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
34891 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
34892 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
34893 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
34894
34895 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
34896 `grep --include'.
34897 (pkgdata_MODULES): Add test.mod.
34898
34899 2005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
34900
34901 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
34902 appending to variables with "+=".
34903 (PModule): Use full pathname to generate *.lst filenames.
34904
34905 * Makefile.in: Fixed list rules moved from genmk.rb.
34906 (.DELETE_ON_ERROR): New special target.
34907 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
34908
34909 * conf/i386-pc.rmk: Include conf/common.mk.
34910 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
34911 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
34912 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
34913 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
34914 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
34915 configfile.mod, search.mod, gzio.mod and test.mod.
34916 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
34917 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
34918 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
34919 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
34920 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
34921 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
34922 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
34923 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
34924 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
34925 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
34926 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
34927 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
34928 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
34929 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
34930 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
34931 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
34932 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
34933 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
34934 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
34935 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
34936 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
34937 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
34938 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
34939 here...
34940 * conf/common.rmk: ... to here. New file.
34941
34942 * conf/common.mk: New file.
34943
34944 2005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
34945
34946 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
34947 (grub_script.tab.c): ... here.
34948
34949 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
34950 (grub_script.tab.c): ... here.
34951
34952 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
34953 (grub_script.tab.c): ... here.
34954
34955 * normal/command.c (grub_command_find): Fixed a memory leak of
34956 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
34957
34958 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
34959
34960 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
34961 "@" which marks the start of a comment on ARM.
34962 (VARIABLE): Likewise.
34963
34964 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
34965
34966 Add support for Linux/ADFS partition tables.
34967
34968 * partmap/acorn.c: New file.
34969
34970 * include/grub/acorn_filecore.h: Likewise.
34971
34972 * DISTLIST: Added `partmap/acorn.c' and
34973 `include/grub/acorn_filecore.h'.
34974
34975 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
34976 `partmap/acorn.c'.
34977 (pkgdata_MODULES): Add `acorn.mod'.
34978 (acorn_mod_SOURCES): New variable.
34979 (acorn_mod_CFLAGS): Likewise.
34980
34981 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
34982 `partmap/acorn.c'.
34983 (pkgdata_MODULES): Add `acorn.mod'.
34984 (acorn_mod_SOURCES): New variable.
34985 (acorn_mod_CFLAGS): Likewise.
34986
34987 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
34988 (pkgdata_MODULES): Add `acorn.mod'.
34989 (acorn_mod_SOURCES): New variable.
34990 (acorn_mod_CFLAGS): Likewise.
34991 (acorn_mod_LDFLAGS): Likewise.
34992
34993 * include/types.h (grub_disk_addr_t): New typedef.
34994
34995 2005-11-13 Marco Gerards <mgerards@xs4all.nl>
34996
34997 * geninit.sh: New file.
34998
34999 * geninitheader.sh: Likewise.
35000
35001 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
35002 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
35003 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
35004 * commands/configfile.c (grub_configfile_init)
35005 (grub_configfile_fini): Likewise.
35006 * commands/default.c (grub_default_init, grub_default_fini):
35007 Likewise.
35008 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
35009 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
35010 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
35011 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
35012 Likewise.
35013 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
35014 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
35015 Likewise.
35016 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
35017 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
35018 Likewise.
35019 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
35020 Likewise.
35021 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
35022 Likewise.
35023 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
35024 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
35025 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
35026 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
35027 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
35028 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
35029 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
35030 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
35031 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
35032 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
35033 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
35034 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
35035 * partmap/amiga.c (grub_amiga_partition_map_init)
35036 (grub_amiga_partition_map_fini): Likewise.
35037 * partmap/apple.c (grub_apple_partition_map_init)
35038 (grub_apple_partition_map_fini): Likewise.
35039 * partmap/pc.c (grub_pc_partition_map_init)
35040 (grub_pc_partition_map_fini): Likewise.
35041 * partmap/sun.c (grub_sun_partition_map_init,
35042 grub_sun_partition_map_fini): Likewise.
35043 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
35044 Likewise.
35045
35046 * util/grub-emu.c: Include <grub_modules_init.h>.
35047 (main): Don't initialize and de-initialize any modules directly,
35048 use `grub_init_all' and `grub_fini_all' instead.
35049
35050 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
35051 `grub_vesafb_mod_init'.
35052 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
35053 all users.
35054 * term/i386/pc/vga.c (grub_vga_init): Renamed to
35055 `grub_vga_mod_init'. Updated all users.
35056 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
35057
35058 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
35059 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
35060 rules.
35061
35062 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
35063 Generate a function to initialize the module in utilities.
35064 Updated all callers.
35065 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
35066 initialize the module in utilities. Updated all callers.
35067
35068 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
35069
35070 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
35071 escape sequence and a literal ^L to clear the screen.
35072
35073 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
35074 when returning from Open Firmware.
35075
35076 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
35077
35078 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
35079 (grub_ofconsole_height): Likewise.
35080 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
35081 manually insert a '\n'.
35082 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
35083 `grub_ofconsole_height'. Return early if these are already set.
35084
35085 2005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
35086
35087 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
35088 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
35089 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
35090 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
35091 and `normal/script.c'.
35092 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
35093 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
35094 (test_mod_SOURCES): New variable.
35095 (test_mod_CFLAGS): Likewise.
35096 (test_mod_LDFLAGS): Likewise.
35097 (pkgdata_MODULES): Add `test.mod'.
35098 (grub_script.tab.c): New rule.
35099 (grub_script.tab.h): Likewise.
35100
35101 2005-11-07 Marco Gerards <mgerards@xs4all.nl>
35102
35103 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
35104 `commands/test.c', `normal/execute.c', `normal/lexer.c',
35105 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
35106 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
35107 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
35108 (test_mod_SOURCES): New variable.
35109 (test_mod_CFLAGS): Likewise.
35110 (pkgdata_MODULES): Add `test.mod'.
35111 (grub_script.tab.c): New rule.
35112 (grub_script.tab.h): Likewise.
35113
35114 2005-11-06 Marco Gerards <mgerards@xs4all.nl>
35115
35116 Add initial scripting support.
35117
35118 * commands/test.c: New file.
35119 * include/grub/script.h: Likewise.
35120 * normal/execute.c: Likewise.
35121 * normal/function.c: Likewise.
35122 * normal/lexer.c: Likewise.
35123 * normal/parser.y: Likewise.
35124 * normal/script.c: Likewise.
35125
35126 * configure.ac: Add `AC_PROG_YACC' test.
35127
35128 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
35129 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
35130 `normal/function.c' and `normal/script.c'.
35131 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
35132 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
35133 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
35134 variables.
35135 (pkgdata_MODULES): Add `test.mod'.
35136 (grub_script.tab.c): New rule.
35137 (grub_script.tab.h): Likewise.
35138
35139 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
35140
35141 * include/grub/normal.h (grub_test_init): New prototype.
35142 (grub_test_fini): Likewise.
35143
35144 * normal/command.c: Include <grub/script.h>.
35145 (grub_command_execute): Rewritten.
35146
35147 * util/grub-emu.c (main): Call `grub_test_init' and
35148 `grub_test_fini'.
35149
35150 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
35151
35152 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
35153 to 0.
35154 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
35155 there are no pending characters.
35156
35157 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
35158
35159 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
35160 `grub_strndup' to drop device arguments. Replace unnecessary
35161 `grub_strndup' with `grub_strdup'.
35162
35163 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
35164
35165 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
35166 `debug' environment variable has been set.
35167
35168 2005-11-02 Hollis Blanchard <hollis@penguinppc.org>
35169
35170 * Makefile.in (install-local): Use $(DATA).
35171 (uninstall): Likewise.
35172 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
35173 (sbin_UTILITIES): ... to here.
35174 (sbin_SCRIPTS): New variable.
35175 (grub_install_SOURCES): New variable.
35176 * util/powerpc/ieee1275/grub-install.in: New file.
35177 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
35178 variable.
35179 (add_segments): Call `grub_util_get_path'.
35180
35181 2005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
35182
35183 From Timothy Baldwin:
35184 * commands/ls.c (grub_ls_list_files): Close FILE with
35185 grub_file_close.
35186 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
35187
35188 2005-10-24 Marco Gerards <mgerards@xs4all.nl>
35189
35190 * include/grub/parser.h: New file.
35191
35192 * kern/parser.c: Likewise.
35193
35194 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
35195 (grub_setup_SOURCES): Likewise.
35196 (grub_probefs_SOURCES): Likewise.
35197 (grub_emu_SOURCES): Likewise.
35198 (kernel_img_HEADERS): Add `parser.h'.
35199
35200 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
35201 (grub_emu_SOURCES): Add `kern/parser.c'.
35202 (grubof_SOURCES): Likewise.
35203
35204 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
35205 (grubof_SOURCES): Add `kern/parser.c'.
35206
35207 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
35208
35209 * kern/misc.c (grub_split_cmdline): Removed function.
35210
35211 * kern/rescue.c: Include <grub/parser.h>.
35212 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
35213 of `grub_split_cmdline'.
35214
35215 * normal/command.c: Include <grub/parser.h>.
35216 (grub_command_execute): Use `grub_parser_split_cmdline' instead
35217 of `grub_split_cmdline'.
35218
35219 * normal/completion.c: Include <grub/parser.h>.
35220 (cmdline_state): New variable.
35221 (iterate_dir): End the filename with a quote depending on the
35222 command line state.
35223 (get_state): new function.
35224 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
35225 split the arguments and determine the current argument. When the
35226 argument string is not quoted, escape all spaces.
35227
35228 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
35229
35230 * normal/sparc64/setjmp.S: New file.
35231
35232 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
35233
35234 * include/grub/sparc64/libgcc.h: New file.
35235 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
35236 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
35237 normal/sparc64/setjmp.c.
35238
35239 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
35240
35241 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
35242 * kern/sparc64/cache.S: New file.
35243 * kern/sparc64/cache.c: Removed.
35244 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
35245 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
35246 -mtune=ultrasparc.
35247 (COMMON_LDFLAGS): Add -melf64_sparc.
35248 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
35249 (grubof_SOURCES): Use cache.S instead of cache.c.
35250 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
35251 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
35252 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
35253 commented though.
35254 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
35255 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
35256 (linux_mod_CFLAGS): Commented out.
35257 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
35258 out because module isn't built.
35259 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
35260 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
35261 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
35262 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
35263 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
35264 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
35265 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
35266 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
35267 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
35268 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
35269 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
35270 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
35271 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
35272 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
35273
35274 2005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
35275
35276 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
35277 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
35278 longer, because HFS should not be used on PC.
35279
35280 2005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
35281
35282 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
35283 consistently within the loop.
35284
35285 2005-10-15 Marco Gerards <mgerards@xs4all.nl>
35286
35287 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
35288 directory can not be read.
35289
35290 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
35291
35292 * configure.ac (AC_INIT): Increase the version number to 1.91.
35293
35294 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
35295 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
35296 term/i386/pc/serial.c.
35297
35298 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
35299
35300 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
35301 file size must be permitted.
35302
35303 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
35304 between %ah and %al.
35305
35306 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
35307
35308 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
35309 grub_uint64_t.
35310 Call the hook with a NUL-terminated filename.
35311 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
35312 grub_cpu_to_be32.
35313
35314 * kern/term.c (cursor_state): New variable.
35315 (grub_term_set_current): Reset the cursor state on a new
35316 terminal.
35317 (grub_setcursor): Rewritten to use CURSOR_STATE.
35318 (grub_getcursor): New function.
35319
35320 * include/grub/term.h (grub_getcursor): New prototype.
35321
35322 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
35323 integers on ARM. Reported by Timothy Baldwin
35324 <T.E.Baldwin99@members.leeds.ac.uk>.
35325
35326 2005-10-11 Marco Gerards <mgerards@xs4all.nl>
35327
35328 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
35329 allocated.
35330 (grub_sfs_dir): Likewise.
35331
35332 2005-10-09 Marco Gerards <mgerards@xs4all.nl>
35333
35334 Add support for the SFS filesystem.
35335
35336 * fs/sfs.c: New file.
35337
35338 * DISTLIST: Added `fs/sfs.c'.
35339
35340 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
35341 (grub_probefs_SOURCES): Likewise.
35342 (grub_emu_SOURCES): Likewise.
35343 (pkgdata_MODULES): Add `sfs.mod'.
35344 (sfs_mod_SOURCES): New variable.
35345 (sfs_mod_CFLAGS): Likewise.
35346 (sfs_mod_LDFLAGS): Likewise.
35347
35348 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
35349 (pkgdata_MODULES): Add `sfs.mod'.
35350 (sfs_mod_SOURCES): New variable.
35351 (sfs_mod_CFLAGS): Likewise.
35352
35353 * util/grub-emu.c (main): Call `grub_sfs_init' and
35354 `grub_sfs_fini'.
35355
35356 * include/grub/fs.h (grub_sfs_init): New prototype.
35357 (grub_sfs_fini): Likewise.
35358
35359 2005-10-07 Marco Gerards <mgerards@xs4all.nl>
35360
35361 Add support for the AFFS filesystem.
35362
35363 * fs/affs.c: New file.
35364
35365 * DISTLIST: Added `fs/affs.c'.
35366
35367 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
35368 (grub_probefs_SOURCES): Likewise.
35369 (grub_emu_SOURCES): Likewise.
35370 (pkgdata_MODULES): Add `affs.mod'.
35371 (affs_mod_SOURCES): New variable.
35372 (affs_mod_CFLAGS): Likewise.
35373 (affs_mod_LDFLAGS): Likewise.
35374
35375 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
35376 (pkgdata_MODULES): Add `affs.mod'.
35377 (affs_mod_SOURCES): New variable.
35378 (affs_mod_CFLAGS): Likewise.
35379
35380 * util/grub-emu.c (main): Call `grub_affs_init' and
35381 `grub_affs_fini'.
35382
35383 * include/grub/fs.h (grub_affs_init): New prototype.
35384 (grub_affs_fini): Likewise.
35385
35386 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
35387
35388 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
35389
35390 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
35391
35392 * configure.ac: Accept `x86_64' as host_cpu. In that case add
35393 `-m32' to CFLAGS.
35394
35395 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
35396 linking.
35397
35398 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
35399 (COMMON_LDFLAGS): New variable.
35400 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
35401 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
35402 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
35403 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
35404 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
35405 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
35406 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
35407 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
35408 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
35409 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
35410 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
35411 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
35412 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
35413 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
35414 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
35415 variables.
35416 (normal_mod_ASFLAGS): Add `-m32'.
35417
35418 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
35419 (grub_host_size_t, grub_host_ssize_t): New types.
35420 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
35421 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
35422 `GRUB_HOST_SIZEOF_VOID_P'.
35423
35424 * include/grub/kernel.h (struct grub_module_header): Type of
35425 member offset changed to `grub_host_off_t'. Type of member size
35426 changed to `grub_host_size_t'.
35427 (struct grub_module_info): Type of member offset changed to
35428 `grub_host_off_t'. Type of member size changed to
35429 `grub_host_size_t'.
35430
35431 2005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
35432
35433 Make GRUB's kernel compliant to Multiboot Specification.
35434
35435 * kern/i386/pc/startup.S (multiboot_header): New label.
35436 (multiboot_entry): Likewise.
35437 (multiboot_trampoline): Likewise.
35438
35439 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
35440 Increased to 0x4A0.
35441
35442 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
35443 put parentheses after a question mark.
35444 [!GRUB_UTIL] (my_mod): New variable.
35445
35446 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
35447
35448 2005-09-28 Marco Gerards <mgerards@xs4all.nl>
35449
35450 Adds support for the XFS filesystem. Btrees are not supported
35451 yet.
35452
35453 * fs/xfs.c: New file.
35454
35455 * DISTLIST: Added `fs/xfs.c'.
35456
35457 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
35458 (grub_probefs_SOURCES): Likewise.
35459 (grub_emu_SOURCES): Likewise.
35460 (pkgdata_MODULES): Add `xfs.mod'.
35461 (xfs_mod_SOURCES): New variable.
35462 (xfs_mod_CFLAGS): Likewise.
35463
35464 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
35465 (pkgdata_MODULES): Add `xfs.mod'.
35466 (xfs_mod_SOURCES): New variable.
35467 (xfs_mod_CFLAGS): Likewise.
35468
35469 * util/grub-emu.c (main): Call `grub_xfs_init' and
35470 `grub_xfs_fini'.
35471
35472 * include/grub/fs.h (grub_xfs_init): New prototype.
35473 (grub_xfs_fini): Likewise.
35474
35475
35476 2005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
35477
35478 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
35479 color modes, allow greater than 16 colors to be configured as
35480 a default palette.
35481
35482 2005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
35483
35484 * normal/completion.c (complete_arguments): Add the qualifier
35485 const into OPTIONS.
35486
35487 From Omniflux <omniflux+lists@omniflux.com>:
35488 * include/grub/terminfo.h: New file.
35489 * include/grub/tparm.h: Likewise.
35490 * include/grub/i386/pc/serial.h: Likewise.
35491 * term/terminfo.c: Likewise.
35492 * term/tparm.c: Likewise.
35493 * term/i386/pc/serial.c: Likewise.
35494 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
35495 serial.mod.
35496 (terminfo_mod_SOURCES): New variable.
35497 (terminfo_mod_CFLAGS): Likewise.
35498 (serial_mod_SOURCES): Likewise.
35499 (serial_mod_CFLAGS): Likewise.
35500
35501 2005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
35502
35503 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
35504 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
35505 and kern/powerpc/ieee1275/cmain.c, respectively.
35506
35507 * boot/powerpc/ieee1275/crt0.S: Moved to ...
35508 * kern/powerpc/ieee1275/crt0.S: ... here.
35509
35510 * boot/powerpc/ieee1275/cmain.c: Moved to ...
35511 * kern/powerpc/ieee1275/cmain.c: ... here.
35512
35513 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
35514 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
35515 instead of boot/powerpc/ieee1275/crt0.S and
35516 boot/powerpc/ieee1275/cmain.c, respectively.
35517
35518 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
35519 sectors. It was not used anyway.
35520
35521 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
35522
35523 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
35524 `unused parameter' warning.
35525
35526 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
35527
35528 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
35529 function.
35530 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
35531 getcharwidth.
35532
35533 2005-08-28 Marco Gerards <metgerards@student.han.nl>
35534
35535 * include/grub/normal.h (enum grub_completion_type): Added
35536 `GRUB_COMPLETION_TYPE_ARGUMENT'.
35537
35538 * normal/cmdline.c (print_completion): Handle
35539 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
35540 * normal/menu_entry.c (store_completion): Likewise.
35541
35542 * normal/completion.c (complete_arguments): New function.
35543 (grub_normal_do_completion): Call `complete_arguments' when the
35544 current words start with a dash.
35545
35546 2005-08-27 Marco Gerards <metgerards@student.han.nl>
35547
35548 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
35549 `gzio.mod' instead of `io.mod').
35550
35551 2005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
35552
35553 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
35554 (DISTDIRS): Added io and video.
35555 Rewrite the search routine to make an output consistently.
35556
35557 * DISTLIST: Added conf/sparc64-ieee1275.mk,
35558 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
35559 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
35560 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
35561 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
35562 util/powerpc/ieee1275/misc.c.
35563
35564 * include/grub/gzio.h: New file.
35565 * io/gzio.c: Likewise.
35566
35567 * kern/file.c (grub_file_close): Call grub_device_close only if
35568 FILE->DEVICE is not NULL.
35569
35570 * include/grub/mm.h [!NULL] (NULL): New macro.
35571
35572 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
35573
35574 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
35575 (pkgdata_MODULES): Added gzio.mod.
35576 (gzio_mod_SOURCES): New variable.
35577 (gzio_mod_CFLAGS): Likewise.
35578
35579 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
35580 (pkgdata_MODULES): Added gzio.mod.
35581 (gzio_mod_SOURCES): New variable.
35582 (gzio_mod_CFLAGS): Likewise.
35583
35584 * commands/cat.c: Include grub/gzio.h.
35585 (grub_cmd_cat): Use grub_gzfile_open instead of
35586 grub_file_open.
35587
35588 * commands/cmp.c: Include grub/gzio.h.
35589 (grub_cmd_cmp): Use grub_gzfile_open instead of
35590 grub_file_open.
35591
35592 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
35593 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
35594 grub_file_open.
35595 (grub_rescue_cmd_module): Likewise.
35596
35597 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
35598
35599 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
35600 kern/sparc64/ieee1275/init.c because it contains _start.
35601 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
35602
35603 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
35604
35605 * configure.ac: Add support for sparc64 host with ieee1275
35606 firmware.
35607 * configure: Generated from configure.ac.
35608 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
35609 instead of int.
35610 (grub_ofdisk_read): Likewise.
35611 (grub_ofdisk_open): Use %p to print pointer values, and cast the
35612 pointers as (void *) to remove a warning.
35613 (grub_ofdisk_close): Likewise.
35614 (grub_ofdisk_read): Likewise.
35615 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
35616 returns, so make it return void to remove a warning.
35617 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
35618 Corresponding prototype change.
35619 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
35620 values, and cast the pointers as (void *) to remove a warning.
35621 (grub_mm_dump): Likewise.
35622 * conf/sparc64-ieee1275.mk: New file.
35623 * conf/sparc64-ieee1275.rmk: Likewise.
35624 * include/grub/sparc64/setjmp.h: Likewise.
35625 * include/grub/sparc64/types.h: Likewise.
35626 * include/grub/sparc64/ieee1275/console.h: Likewise.
35627 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
35628 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
35629 * include/grub/sparc64/ieee1275/time.h: Likewise.
35630 * kern/sparc64/cache.c: Likewise.
35631 * kern/sparc64/dl.c: Likewise.
35632 * kern/sparc64/ieee1275/init.c: Likewise.
35633 * kern/sparc64/ieee1275/openfw.c: Likewise.
35634
35635 2005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
35636
35637 * util/console.c (grub_ncurses_putchar): If C is greater than
35638 0x7f, set C to a question mark.
35639 (grub_ncurses_getcharwidth): New function.
35640 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
35641 getcharwidth.
35642
35643 * normal/menu.c (print_entry): Made aware of Unicode. First,
35644 convert TITLE to UCS-4, and predict the cursor position by
35645 grub_getcharwidth.
35646
35647 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
35648 const to SRC.
35649 * kern/misc.c (grub_utf16_to_utf8): Likewise.
35650
35651 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
35652
35653 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
35654 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
35655 grub_strcat.
35656
35657 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
35658 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
35659 grub_strcpy and grub_strlen. Take it into account that a space
35660 character is inserted as a delimiter.
35661
35662 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
35663
35664 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
35665 invalid magic in the error.
35666
35667 * commands/search.c: New file.
35668
35669 * util/grub-emu.c (main): Call grub_search_init and
35670 grub_search_fini.
35671
35672 * kern/rescue.c (grub_rescue_print_disks): Removed.
35673 (grub_rescue_print_devices): New function.
35674 (grub_rescue_cmd_ls): Use grub_device_iterate with
35675 grub_rescue_print_devices instead of grub_disk_dev_iterate with
35676 grub_rescue_print_disks.
35677
35678 * kern/partition.c (grub_partition_iterate): Return the result of
35679 PARTMAP->ITERATE instead of GRUB_ERRNO.
35680
35681 * kern/device.c: Include grub/partition.h.
35682 (grub_device_iterate): New function.
35683
35684 * include/grub/partition.h (grub_partition_iterate): Return int
35685 instead of grub_err_t.
35686
35687 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
35688 prototype.
35689 [GRUB_UTIL] (grub_search_fini): Likewise.
35690
35691 * include/grub/device.h (grub_device_iterate): New prototype.
35692
35693 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
35694 commands/search.c.
35695 (pkgdata_MODULES): Added search.mod.
35696 (search_mod_SOURCES): New variable.
35697 (search_mod_CFLAGS): Likewise.
35698
35699 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
35700 (pkgdata_MODULES): Added search.mod.
35701 (search_mod_SOURCES): New variable.
35702 (search_mod_CFLAGS): Likewise.
35703
35704 * commands/ls.c (grub_ls_list_disks): Renamed to ...
35705 (grub_ls_list_devices): ... this, and use grub_device_iterate.
35706 All callers changed.
35707
35708 * DISTLIST: Added commands/search.c.
35709
35710 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
35711
35712 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
35713 conversion.
35714 (grub_getcharwidth): New function.
35715
35716 * kern/misc.c (grub_utf8_to_ucs4): New function.
35717
35718 * include/grub/term.h (struct grub_term): Added a new member
35719 "getcharwidth".
35720 (grub_getcharwidth): New prototype.
35721
35722 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
35723
35724 * term/i386/pc/console.c (map_char): New function. Segregated from
35725 grub_console_putchar.
35726 (grub_console_putchar): Use map_char.
35727 (grub_console_getcharwidth): New function.
35728 (grub_console_term): Specified grub_console_getcharwidth as
35729 getcharwidth.
35730
35731 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
35732 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
35733
35734 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
35735 GRUB_ERRNO.
35736 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
35737 on grub_strtoul completely.
35738 (write_char): Declare local variables in the beginning of the
35739 function.
35740 (grub_vesafb_getcharwidth): New function.
35741 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
35742 getcharwidth.
35743
35744 2005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
35745
35746 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
35747 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
35748 commands/i386/pc/vbetest.c.
35749
35750 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
35751 call grub_vbe_get_controller_info again, because the returned
35752 information is volatile.
35753 (grub_vbe_set_video_mode): Mostly rewritten.
35754 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
35755 grub_vbe_status_t correctly.
35756 (grub_vbe_get_video_mode_info): Likewise.
35757 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
35758 several if statements.
35759
35760 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
35761 * commands/i386/pc/vbeinfo.c: ... this.
35762
35763 * commands/i386/pc/vbe_test.c: Renamed to ...
35764 * commands/i386/pc/vbetest.c: ... this.
35765
35766 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
35767 ...
35768 (grub_cmd_vbeinfo): ... this. Save video modes before
35769 iterating. Skip a video mode, if it is not available, not enough
35770 information is given or it is monochrome. Show the memory
35771 model. Leave the interpretation of MODEVAR to grub_strtoul
35772 completely.
35773 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
35774 (GRUB_MOD_FINI): Likewise.
35775
35776 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
35777 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
35778 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
35779 duplicated grub_env_get. Leave the interpretation of MODEVAR to
35780 grub_strtoul completely.
35781 (real2pm): Removed.
35782 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
35783 (GRUB_MOD_FINI): Likewise.
35784
35785 * normal/misc.c: Include grub/mm.h.
35786
35787 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
35788 vbe_list_modes with vbetest.mod and vbeinfo.mod.
35789 (vbe_list_modes_mod_SOURCES): Removed.
35790 (vbe_list_modes_mod_CFLAGS): Likewise.
35791 (vbe_test_mod_SOURCES): Likewise.
35792 (vbe_test_mod_CFLAGS): Likewise.
35793 (vbeinfo_mod_SOURCES): New variable.
35794 (vbeinfo_mod_CFLAGS): Likewise.
35795 (vbetest_mod_SOURCES): Likewise.
35796 (vbetest_mod_CFLAGS): Likewise.
35797
35798 2005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
35799
35800 * normal/misc.c: New file.
35801
35802 * DISTLIST: Added normal/misc.c.
35803
35804 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
35805 DISK to HOOK. Call HOOK with DISK.
35806 * partmap/apple.c (apple_partition_map_iterate): Likewise.
35807 * partmap/pc.c (pc_partition_map_iterate): Likewise.
35808 * partmap/sun.c (sun_partition_map_iterate): Likewise.
35809
35810 * normal/menu_entry.c (struct screen): Added a new member
35811 "completion_shown".
35812 (completion_buffer): New global variable.
35813 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
35814 (store_completion): New function.
35815 (complete): Likewise.
35816 (clear_completions): Likewise.
35817 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
35818 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
35819 a tab, call complete.
35820
35821 * normal/completion.c (disk_dev): Removed.
35822 (print_simple_completion): Likewise.
35823 (print_partition_completion): Likewise.
35824 (print_func): New global variable.
35825 (add_completion): Do not take the arguments WHAT or PRINT any
35826 longer. Added a new argument TYPE. Instead of printing directly,
35827 call PRINT_FUNC if not NULL.
35828 All callers changed.
35829 (complete_device): Use a local variable DEV instead of
35830 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
35831 (grub_normal_do_completion): Take a new argument HOOK. Do not
35832 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
35833 empty string, return NULL instead.
35834 All callers changed.
35835
35836 * normal/cmdline.c (print_completion): New function.
35837
35838 * kern/partition.c (grub_partition_iterate): Add an argument DISK
35839 to HOOK.
35840 All callers changed.
35841
35842 * kern/disk.c (grub_print_partinfo): Removed.
35843
35844 * include/grub/partition.h (struct grub_partition_map): Add a new
35845 argument DISK into HOOK of ITERATE.
35846 (grub_partition_iterate): Add a new argument DISK to HOOK.
35847
35848 * include/grub/normal.h (enum grub_completion_type): New enum.
35849 (grub_completion_type_t): New type.
35850 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
35851 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
35852 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
35853 (GRUB_COMPLETION_TYPE_FILE): Likewise.
35854 (grub_normal_do_completion): Added a new argument HOOK.
35855 (grub_normal_print_device_info): New prototype.
35856
35857 * include/grub/disk.h (grub_print_partinfo): Removed.
35858
35859 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
35860 (normal_mod_SOURCES): Likewise.
35861 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35862 (normal_mod_SOURCES): Likewise.
35863
35864 * commands/ls.c (grub_ls_list_disks): Use
35865 grub_normal_print_device_info instead of grub_print_partinfo. Free
35866 PNAME.
35867 (grub_ls_list_files): Use grub_normal_print_device_info instead of
35868 duplicating the code.
35869
35870 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
35871
35872 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
35873 follow GCS more precisely.
35874 * commands/i386/pc/vbe_test.c: Likewise.
35875 * include/grub/i386/pc/vbe.h: Likewise.
35876 * term/i386/pc/vesafb.c: Likewise.
35877 * video/i386/pc/vbe.c: Likewise.
35878
35879 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
35880
35881 * DISTLIST: Added term/i386/pc/vesafb.c
35882 DISTLIST: Added video/i386/pc/vbe.c
35883 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
35884 DISTLIST: Added commands/i386/pc/vbe_test.c.
35885 * commands/i386/pc/vbe_list_modes.c: New file.
35886 * commands/i386/pc/vbe_test.c: Likewise.
35887 * term/i386/pc/vesafb.c: Likewise.
35888 * video/i386/pc/vbe.c: Likewise.
35889 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
35890 (grub_vbe_probe) Added prototype.
35891 (grub_vbe_set_video_mode) Likewise.
35892 (grub_vbe_get_video_mode) Likewise.
35893 (grub_vbe_get_video_mode_info) Likewise.
35894 (grub_vbe_set_pixel_rgb) Likewise.
35895 (grub_vbe_set_pixel_index) Likewise.
35896 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
35897 (pkgdata_MODULES): Added vesafb.mod.
35898 (pkgdata_MODULES): Added vbe_list_modes.mod.
35899 (pkgdata_MODULES): Added vbe_test.mod.
35900 (vbe_mod_SOURCES): Added.
35901 (vbe_mod_CFLAGS): Likewise.
35902 (vesafb_mod_SOURCES): Likewise.
35903 (vesafb_mod_CFLAGS): Likewise.
35904 (vbe_list_modes_mod_SOURCES): Likewise.
35905 (vbe_list_modes_mod_CFLAGS): Likewise.
35906 (vbe_test_mod_SOURCES): Likewise.
35907 (vbe_test_mod_CFLAGS): Likewise.
35908
35909 2005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
35910
35911 * normal/command.c (grub_command_execute): If INTERACTIVE is
35912 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
35913 CMDLINE. Disable the pager if INTERACTIVE is true.
35914 All callers are changed.
35915
35916 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
35917 before reading a config file.
35918 * normal/main.c (read_config_file): Even if a command is not
35919 found, register it if it is within an entry.
35920
35921 * util/grub-emu.c: Include sys/types.h and unistd.h.
35922 (options): Added --hold.
35923 (struct arguments): Added a new member "hold".
35924 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
35925 missing.
35926 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
35927 cleared by a debugger, if it is not zero.
35928
35929 * include/grub/normal.h (grub_command_execute): Add an argument
35930 INTERACTIVE.
35931
35932 2005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
35933
35934 * DISTLIST: Added include/grub/i386/pc/vbe.h.
35935
35936 2005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
35937
35938 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
35939 program with another one, because the old one didn't detect a bug
35940 in gcc-3.4. Always use regparm 2, because the new test is still
35941 not enough for gcc-4.0. Someone must investigate a simple test
35942 case which detects a bug in gcc-4.0.
35943
35944 2005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
35945
35946 * DISTLIST: Added normal/completion.c.
35947
35948 * normal/completion.c: New file.
35949
35950 * term/i386/pc/console.c (grub_console_getwh): New function.
35951 (grub_console_term): Assign grub_console_getwh to getwh.
35952
35953 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
35954 function is defined in normal/completion.c as
35955 grub_normal_do_completion.
35956 (grub_cmdline_get): Use grub_normal_do_completion instead of
35957 grub_tab_complete.
35958
35959 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
35960 returns non-zero, otherwise return 0.
35961 (grub_partition_iterate): First, probe the partition map. Then,
35962 call ITERATE only for this partition map.
35963
35964 * kern/misc.c (grub_strncmp): Rewritten.
35965
35966 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
35967 returns non-zero. Otherwise return 0.
35968
35969 * include/grub/partition.h (grub_partition_map_iterate): Return
35970 int instead of void.
35971
35972 * include/grub/normal.h (grub_normal_do_completion): New prototype.
35973
35974 * include/grub/misc.h (grub_strncmp): Change the type of N to
35975 grub_size_t.
35976
35977 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
35978 of void.
35979
35980 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
35981 unsigned explicitly before comparing it with I.
35982
35983 * kern/main.c (grub_env_write_root): Add the attribute unused into
35984 VAR.
35985
35986 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
35987 normal/completion.c.
35988 (normal_mod_SOURCES): Likewise.
35989 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
35990 (normal_mod_SOURCES): Likewise.
35991
35992 * normal/command.c (grub_iterate_commands): If ITERATE returns
35993 non-zero, return one immediately.
35994
35995 2005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
35996
35997 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
35998 * kern/i386/pc/startup.S: Updated Global Descriptor table's
35999 descriptions.
36000 (grub_vbe_get_controller_info): New function.
36001 (grub_vbe_get_mode_info): Likewise.
36002 (grub_vbe_set_mode): Likewise.
36003 (grub_vbe_get_mode): Likewise.
36004 (grub_vbe_set_memory_window): Likewise.
36005 (grub_vbe_get_memory_window): Likewise.
36006 (grub_vbe_set_scanline_length): Likewise.
36007 (grub_vbe_get_scanline_length): Likewise.
36008 (grub_vbe_set_display_start): Likewise.
36009 (grub_vbe_get_display_start): Likewise.
36010 (grub_vbe_set_palette_data): Likewise.
36011 * include/grub/i386/pc/vbe.h: New file.
36012
36013 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
36014
36015 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
36016 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
36017 * DISTLIST: Likewise.
36018 * kern/ieee1275/of.c: Moved to ...
36019 * kern/ieee1275/ieee1275.c: ... here.
36020
36021 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
36022
36023 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
36024 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
36025 Pass 0 as `end' parameter to grub_strtoul().
36026
36027 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
36028
36029 * include/grub/powerpc/ieee1275/console.h: Do not include
36030 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
36031 ifdef.
36032 (grub_console_cur_color): Remove i386-specific prototype.
36033 (grub_console_real_putchar): Likewise.
36034 (grub_console_checkkey): Likewise.
36035 (grub_console_getkey): Likewise.
36036 (grub_console_getxy): Likewise.
36037 (grub_console_gotoxy): Likewise.
36038 (grub_console_cls): Likewise.
36039 (grub_console_setcursor): Likewise.
36040 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
36041 Include <grub/machine/console.h>.
36042 * term/ieee1275/ofconsole.c: Likewise.
36043
36044 2005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
36045
36046 * Makefile.in (LIBLZO): New variable.
36047
36048 * configure.ac: Check for LZO version 2.
36049
36050 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
36051 lzo/lzo1x.h instead of lzo1x.h.
36052
36053 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
36054 of -llzo.
36055
36056 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
36057 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
36058
36059 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
36060 copying the data from PARTITION to P.
36061
36062 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
36063
36064 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
36065 negative, unload the module.
36066
36067 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
36068 map is "pc_partition_map" but not "pc".
36069 (usage): Fix the description. The options are --boot-image and
36070 --core-image but not --boot-file or --core-file.
36071 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
36072 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
36073 DEFAULT_DIRECTORY.
36074
36075 * util/i386/pc/grub-install.in: Do not specify --boot-file or
36076 --core-file. Specify INSTALL_DEVICE as an argument.
36077
36078 * util/console.c: Include config.h.
36079 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
36080 [HAVE_NCURSES_H]: Include ncurses.h.
36081 [HAVE_CURSES_H]: Include curses.h.
36082 [!A_NORMAL] (A_NORMAL): Defined as zero.
36083 [!A_STANDOUT] (A_STANDOUT): Likewise.
36084
36085 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
36086 -lncurses.
36087 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
36088
36089 * configure.ac: Check for curses libraries and headers.
36090
36091 * Makefile.in (LIBCURSES): New variable.
36092
36093 * genmk.rb (Script::rule): Set the executable bits.
36094
36095 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
36096 name of the PC partition map is "pc_partition_map" but not "pc".
36097
36098 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
36099
36100 * util/i386/pc/grub-install.in (grub_probefs): New variable.
36101 (modules): Likewise.
36102 (usage): Added descriptions for --modules and --grub-probefs.
36103 Handle --modules and --grub-probefs. Save the arguments in MODULES
36104 and GRUB_PROBEFS, respectively.
36105 Auto-detect a filesystem module against GRUBDIR. If the result is
36106 empty and modules are not specified explicitly, abort the
36107 installation. Add the result to MODULES.
36108
36109 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
36110 disk/powerpc/ieee1275/ofdisk.c,
36111 include/grub/powerpc/ieee1275/init.h and
36112 term/powerpc/ieee1275/ofconsole.c.
36113 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
36114 term/ieee1275/ofconsole.c.
36115
36116 * include/grub/powerpc/ieee1275/console.h: Resurrected.
36117
36118 * COPYING: Upgraded to the latest version. Only the address of the
36119 FSF office has changed.
36120
36121 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
36122
36123 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
36124 kern/ieee1275.c with kern/ieee1275/of.c.
36125
36126 * kern/ieee1275.c: Moved to ...
36127 * kern/ieee1275/of.c: ... here.
36128
36129 2005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
36130
36131 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
36132 readability.
36133
36134 * config.guess: Updated to the latest version from gnulib.
36135 * config.sub: Likewise.
36136 * install.sh: Likewise.
36137 * mkinstalldirs: Likewise.
36138
36139 * include/grub/console.h: Removed. This file is arch-specific. Do
36140 not put this in include/grub.
36141
36142 * include/grub/i386/pc/console.h: Resurrected.
36143
36144 * util/console.c: Include grub/machine/console.h instead of
36145 grub/console.h.
36146 * util/grub-emu.c: Likewise.
36147
36148 2005-08-04 Marco Gerards <metgerards@student.han.nl>
36149
36150 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
36151 hardcoded value.
36152
36153 From Vincent Pelletier <subdino2004@yahoo.fr>
36154 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
36155 Redefined to use grub_getwh.
36156 (grub_term): New member named getwh.
36157 (grub_getwh): New prototype.
36158 * kern/term.c (grub_getwh): New function.
36159 * term/i386/pc/console.c (grub_console_getwh): New function.
36160 (grub_console_term): New member `getwh'.
36161 * term/i386/pc/vga.c (grub_vga_getwh): New function.
36162 (grub_vga_term): New member `getwh'.
36163 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
36164 grub_ssize_t.
36165 (grub_ofconsole_getw): New function.
36166 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
36167 (grub_ofconsole_term): New field named getwh and new initial
36168 value.
36169
36170 2005-08-03 Hollis Blanchard <hollis@penguinppc.org>
36171
36172 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
36173 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
36174 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
36175 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
36176 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
36177 of <grub/machine/ieee1275.h>.
36178 * commands/ieee1275/reboot.c: Likewise.
36179 * boot/powerpc/ieee1275/ieee1275.c: Move ...
36180 * kern/ieee1275.c: ... to here. All users updated. Change all
36181 parameter structs to use new type `grub_ieee1275_cell_t'.
36182 * term/powerpc/ieee1275/ofconsole.c: Move ...
36183 * term/ieee1275/ofconsole.c: ... to here. All users updated.
36184 * disk/powerpc/ieee1275/ofdisk.c: Move ...
36185 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
36186 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
36187 to return int.
36188 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
36189 Remove unused prototypes. All users updated.
36190 * include/grub/powerpc/ieee1275/console.h: Removed.
36191 * include/grub/powerpc/ieee1275/ieee1275.h: Define
36192 `grub_ieee1275_cell_t'.
36193 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
36194 Cast comparisons with -1 to the correct type.
36195 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
36196 type to match `grub_ieee1275_entry_fn'.
36197
36198 2005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
36199
36200 * DISTLIST: Added util/i386/pc/grub-probefs.c.
36201
36202 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
36203 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
36204 partmap/sun.c.
36205 (grub_probefs_SOURCES): New variable.
36206
36207 * util/i386/pc/grub-probefs.c: New file.
36208
36209 * util/i386/pc/grub-setup.c (main): Call
36210 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
36211 grub_hfs_init and grub_jfs_init to initialize the system. Call
36212 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
36213 grub_pc_partition_map_fini to finish the system.
36214
36215 2005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
36216
36217 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
36218 function.
36219 (grub_multiboot_load_elf32): Likewise.
36220 (grub_multiboot_is_elf64): Likewise.
36221 (grub_multiboot_load_elf64): Likewise.
36222 (grub_multiboot_load_elf): Likewise.
36223 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
36224 an ELF32 or ELF64 file.
36225 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
36226
36227 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
36228 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
36229 NULL before calling FS->LABEL.
36230 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
36231 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
36232 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
36233 before calling FS->LABEL.
36234
36235 2005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
36236
36237 * util/i386/pc/grub-install.in (datadir): New variable.
36238 (libdir): Removed.
36239 (pkgdatadir): New variable.
36240 (pkglibdir): Removed.
36241
36242 2005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
36243
36244 * DISTLIST: Added util/i386/pc/grub-install.in.
36245
36246 * util/i386/pc/grub-install.in: New file.
36247
36248 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
36249 (grub_install_SOURCES): Likewise.
36250
36251 * genmk.rb: Added support for scripts.
36252 (Script): New class.
36253 (scripts): New variable.
36254
36255 * Makefile.in (install-local): Install sbin_SCRIPTS by
36256 INSTALL_SCRIPT.
36257 (uninstall): Remove sbin_SCRIPTS.
36258
36259 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
36260 device, try to get a GRUB device by
36261 grub_util_biosdisk_get_grub_dev.
36262 Free DEST_DEV.
36263
36264 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
36265 description for --device-map.
36266
36267 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
36268
36269 Change the semantics of variable hooks. They now return strings
36270 instead of error values.
36271
36272 * util/i386/pc/grub-setup.c: Include grub/env.h.
36273 (setup): Use grub_device_set_root instead of grub_env_set.
36274
36275 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
36276 grub_env_get instead of grub_device_set_root and
36277 grub_device_get_root, respectively.
36278
36279 * kern/main.c (grub_env_write_root): New function.
36280 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
36281 grub_env_set instead of grub_device_set_root.
36282
36283 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
36284 many variables.
36285 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
36286 rather than calling ENV->WRITE_HOOK afterwards.
36287 (grub_env_get): Return the result of ENV->READ_HOOK rather than
36288 passing a pointer of a pointer.
36289 (grub_register_variable_hook): Change the types of "read_hook" and
36290 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
36291 respectively.
36292 Allocate the default empty string on the heap, because this string
36293 may be freed later.
36294
36295 * kern/device.c: Include grub/env.h.
36296 (grub_device_set_root): Removed.
36297 (grub_device_get_root): Likewise.
36298 (grub_device_open): Use grub_env_get instead of
36299 grub_device_get_root.
36300
36301 * include/grub/env.h (grub_env_read_hook_t): New type.
36302 (grub_env_write_hook_t): Likewise.
36303 (grub_env_var): Change the types of "read_hook" and "write_hook"
36304 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
36305 (grub_register_variable_hook): Likewise.
36306
36307 * include/grub/device.h (grub_device_set_root): Removed.
36308 (grub_device_set_root): Likewise.
36309
36310 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
36311 make sure that DIRNAME terminates with '/', so that
36312 grub_fat_find_dir will fail if PATH is not a directory.
36313
36314 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
36315 from DIRNAME.
36316 Use the qualifier auto for print_files and print_files_long.
36317 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
36318 as a regular file.
36319 Put a newline only if there is no error.
36320 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
36321 used.
36322
36323 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
36324
36325 * kern/partition.c (grub_partition_probe): Initialize PART to
36326 NULL. Otherwise, when no partition map is registered, this returns
36327 a garbage.
36328
36329 2005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
36330
36331 * partmap/apple.c (apple_partition_map_iterate): Check if POS
36332 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
36333 valid.
36334
36335 2005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
36336
36337 * commands/ls.c (grub_ls_list_disks): Print the filesystem
36338 information on each device, if it does not have partitions. Print
36339 "Device" instead of "Disk", because this function is not specific
36340 to disk devices.
36341
36342 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
36343 static to ensure that it is put on the memory rather than a
36344 register.
36345
36346 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
36347
36348 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
36349 (grub_cat_init): Likewise.
36350 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
36351 (options): Likewise.
36352 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
36353 (grub_configfile_init): Likewise.
36354 * font/manager.c (GRUB_MOD_INIT): Likewise.
36355 * commands/help.c (GRUB_MOD_INIT): Likewise.
36356 (grub_help_init): Likewise.
36357 * normal/command.c (grub_command_init): Likewise.
36358 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
36359 * disk/loopback.c (grub_loop_init): Likewise.
36360 (GRUB_MOD_INIT): Likewise.
36361 * commands/ls.c (grub_ls_init): Likewise.
36362 (GRUB_MOD_INIT): Likewise.
36363 (options): Likewise.
36364 * commands/boot.c (grub_boot_init): Likewise.
36365 (GRUB_MOD_INIT): Likewise.
36366 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
36367 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
36368 (GRUB_MOD_INIT): Likewise.
36369 * commands/cmp.c (grub_cmp_init): Likewise.
36370 (GRUB_MOD_INIT): Likewise.
36371
36372 * normal/arg.c: Use <> instead of "" to include header files.
36373 (SHORT_ARG_HELP): New macro.
36374 (SHORT_ARG_USAGE): Likewise.
36375 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
36376 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
36377 descriptions.
36378 (find_short): Check if C is 'h' or 'u' explicitly.
36379 (grub_arg_show_help): Use space characters instead of tabs. Treat
36380 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
36381 are shown with --help and --usage only if they are not used for
36382 the command itself.
36383 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
36384 'h' and 'u'.
36385
36386 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
36387 const into "longarg". Change the type of "shortarg" to int.
36388
36389 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
36390
36391 * boot/i386/pc/boot.S (boot_drive_check): New label.
36392
36393 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
36394 macro.
36395
36396 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
36397 which do not pass a boot drive correctly. Copied from GRUB Legacy.
36398
36399 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
36400
36401 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
36402 When turning off Gate A20, skip the check and return immediately,
36403 because this is not fatal usually.
36404
36405 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
36406
36407 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
36408 be 0x7C00 instead of 0x8000.
36409
36410 * boot/i386/pc/pxeboot.S: Rewritten.
36411
36412 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
36413 EXT_C.
36414 (gate_a20_check_state): Read a byte from 0x108000. Invert the
36415 result.
36416
36417 2005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
36418
36419 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
36420 robustness. This routine now supports a BIOS call and System
36421 Control Port A to modify the gate A20.
36422
36423 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
36424 Increased to 0x440.
36425
36426 2005-07-12 Hollis Blanchard <hollis@penguinppc.org>
36427
36428 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
36429 device path and resulting ihandle.
36430 (grub_ofdisk_close): dprintf the ihandle being closed.
36431 (grub_ofdisk_read): dprintf function parameters.
36432 * kern/mm.c (grub_mm_init_region): Likewise.
36433 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
36434 (grub_linux_boot): dprintf the Linux entry point, initrd address and
36435 size, and boot arguments.
36436 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
36437 before loading into memory.
36438 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
36439 before loading into memory.
36440
36441 2005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
36442
36443 * kern/mm.c: Added much documentation.
36444 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
36445 8, set to 5 instead of 8.
36446
36447 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
36448
36449 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
36450
36451 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
36452 (grub_mkdevicemap_SOURCES): New variable.
36453
36454 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
36455 lib/device.c of GRUB Legacy.
36456
36457 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
36458
36459 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
36460 instead of PATH is NULL.
36461
36462 2005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
36463
36464 * commands/cmp.c (BUFFER_SIZE): New macro.
36465 (grub_cmd_cmp): Close the right file at the right time. Compare
36466 only data just read. Don't report files of different size as
36467 identical. Dynamically allocate buffers. Move variable
36468 declarations at the beginning of function.
36469
36470 2005-07-09 Yoshinori Okuji <okuji@enbug.org>
36471
36472 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
36473 reverse.
36474
36475 2004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
36476
36477 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
36478 when backspace is pressed at beginning of line.
36479
36480 2005-07-03 Yoshinori Okuji <okuji@enbug.org>
36481
36482 * DISTLIST: Added genfslist.sh.
36483
36484 * normal/main.c (fs_module_list): New variable.
36485 (autoload_fs_module): New function.
36486 (read_fs_list): Likewise.
36487 (grub_normal_execute): Call read_fs_list.
36488
36489 * kern/fs.c (grub_fs_autoload_hook): New variable.
36490 (grub_fs_probe): Added support for auto-loading.
36491
36492 * include/grub/normal.h (struct grub_fs_module_list): New struct.
36493 (grub_fs_module_list_t): New type.
36494
36495 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
36496 (grub_fs_autoload_hook): New prototype.
36497
36498 * genfslist.sh: New file.
36499
36500 * genmk.rb: Added a rule to generate a filesystem list.
36501
36502 2005-06-30 Marco Gerards <metgerards@student.han.nl>
36503
36504 * configure.ac: Fix the test for cross-compiling.
36505
36506 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
36507 define GRUB_UTIL anymore.
36508
36509 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
36510 so this function works on other systems than just big endian.
36511 (load_modules): Likewise.
36512 (add_segments): Likewise.
36513
36514 2005-06-23 Hollis Blanchard <hollis@penguinppc.org>
36515
36516 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
36517 contains `l' modifier, get a long from va_arg().
36518
36519 2005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
36520
36521 * kern/mm.c (grub_free): If the next free block which is being
36522 merged is the first free block, set the first block to the block
36523 being freed.
36524 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
36525
36526 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
36527
36528 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
36529 `grub_ieee1275_chosen'.
36530
36531 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
36532
36533 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
36534 (grub_ieee1275_chosen): New variable.
36535 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
36536 `chosen'.
36537 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
36538 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
36539 Rename first argument to `phandle' for consistency.
36540 (grub_ieee1275_get_property_length): Likewise.
36541 (grub_ieee1275_next_property): Likewise. Change type of first argument
36542 to grub_ieee1275_phandle_t.
36543 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
36544 Move export next to declaration.
36545 (grub_ieee1275_chosen): New variable.
36546 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
36547 Correct cosmetic typo.
36548 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
36549 `grub_ieee1275_chosen'.
36550 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
36551 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
36552 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
36553 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
36554 `grub_ieee1275_chosen'.
36555
36556 2005-05-10 Hollis Blanchard <hollis@penguinppc.org>
36557
36558 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
36559 /chosen/bootargs.
36560 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
36561 /chosen/bootargs as "variable=value" pairs.
36562
36563 2005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
36564
36565 * include/grub/misc.h (grub_dprintf): New macro.
36566 (grub_real_dprintf): New prototype.
36567 (grub_strword): Likewise.
36568 (grub_iswordseparator): Likewise.
36569 * kern/misc.c (grub_real_dprintf): New function.
36570 (grub_strword): Likewise.
36571 (grub_iswordseparator): Likewise.
36572
36573 2005-04-30 Hollis Blanchard <hollis@penguinppc.org>
36574
36575 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
36576 (roundup): Remove macro.
36577 (grub_ieee1275_flags): Make static.
36578 (grub_ieee1275_realmode): Remove.
36579 (grub_ieee1275_test_flag): New function.
36580 (grub_ieee1275_set_flag): Likewise.
36581 (find_options): Rename to `grub_ieee1275_find_options'; update
36582 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
36583 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
36584 (cmain): New prototype.
36585 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
36586 `grub_ieee1275_flags' directly.
36587 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
36588 machine/biosdisk.h.
36589 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
36590 Don't include grub/machine/init.h.
36591 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
36592 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
36593 Remove prototype.
36594 (grub_ieee1275_realmode): Likewise.
36595 (grub_ieee1275_flag): New enum.
36596 (grub_ieee1275_test_flag): New prototype.
36597 (grub_ieee1275_set_flag): New prototype.
36598 * include/grub/powerpc/ieee1275/init.h: Remove file.
36599 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
36600 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
36601 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
36602 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
36603 comment.
36604 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
36605 `grub_ieee1275_test_flag'.
36606 (grub_ieee1275_encode_devname): Likewise.
36607
36608 2005-04-21 Hollis Blanchard <hollis@penguinppc.org>
36609
36610 * include/grub/powerpc/ieee1275/ieee1275.h
36611 (grub_ieee1275_encode_devname): New prototype.
36612 (grub_ieee1275_get_filename): Likewise.
36613 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
36614 function.
36615 (grub_set_prefix): Likewise.
36616 (grub_machine_init): Call grub_set_prefix.
36617 * kern/powerpc/ieee1275/openfw.c: Fix typos.
36618 (grub_parse_type): New enum.
36619 (grub_ieee1275_get_devargs): New function.
36620 (grub_ieee1275_get_devname): Likewise.
36621 (grub_ieee1275_parse_args): Likewise.
36622 (grub_ieee1275_get_filename): Likewise.
36623 (grub_ieee1275_encode_devname): Likewise.
36624
36625 2005-03-30 Marco Gerards <metgerards@student.han.nl>
36626
36627 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
36628 `grub_loader_unset'.
36629
36630 2005-03-26 Hollis Blanchard <hollis@penguinppc.org>
36631
36632 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
36633 instead of grub_ieee1275_interpret.
36634 (grub_halt_init): New function.
36635 (grub_halt_fini): Likewise.
36636 (GRUB_MOD_INIT): Correct message grammar.
36637 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
36638 instead of grub_ieee1275_interpret.
36639 (grub_reboot_init): New function.
36640 (grub_reboot_fini): Likewise.
36641 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
36642 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
36643 util/i386/pc/misc.c with commands/ieee1275/halt.c,
36644 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
36645 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
36646 function.
36647 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
36648 Add prototype.
36649 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
36650 prototype.
36651 (grub_halt): Likewise.
36652 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
36653 (cmain): Remove __attribute__((unused)).
36654 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
36655 (grub_heap_len): Likewise.
36656 (grub_machine_fini): New function.
36657 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
36658 (grub_halt): Likewise.
36659 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
36660 function.
36661 * util/powerpc/ieee1275/misc.c: New file.
36662
36663 2005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
36664
36665 * DISTLIST: New file.
36666 * gendistlist.sh: Likewise.
36667
36668 * Makefile.in (COMMON_DISTFILES): Removed.
36669 (BOOT_DISTFILES): Likewise.
36670 (CONF_DISTFILES): Likewise.
36671 (DISK_DISTFILES): Likewise.
36672 (FS_DISTFILES): Likewise.
36673 (INCLUDE_DISTFILES): Likewise.
36674 (KERN_DISTFILES): Likewise.
36675 (LOADER_DISTFILES): Likewise.
36676 (TERM_DISTFILES): Likewise.
36677 (UTIL_DISTFILES): Likewise.
36678 (DISTFILES): Likewise.
36679 (uninstall): Uninstall files in $(pkgdata_DATA).
36680 (DISTLIST): New target.
36681 (distdir): Use the contents of the file DISTLIST to get a list of
36682 distributed files.
36683
36684 2005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
36685
36686 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
36687 descriptor. This is ported from GRUB Legacy.
36688
36689 * gencmdlist.sh: Added an extra semicolon to make it work with
36690 old sed versions. Reported by Robert Bihlmeyer
36691 <robbe@orcus.priv.at>.
36692
36693 2005-03-08 Yoshinori Okuji <okuji@enbug.org>
36694
36695 Automatic loading of commands is supported.
36696
36697 * normal/main.c (read_command_list): New function.
36698 (grub_normal_execute): Call read_command_list.
36699
36700 * normal/command.c (grub_register_command): Return zero or CMD.
36701 Allocate CMD->NAME from the heap.
36702 Initialize CMD->MODULE_NAME to zero.
36703 Find the same name as well. If the same command is found and it is
36704 a dummy command, overwrite members. If it is not a dummy command,
36705 return zero.
36706 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
36707 (grub_command_find): If a dummy command is found, load a module
36708 and retry to find a command only once.
36709
36710 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
36711 make sure that each command is loaded.
36712
36713 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
36714 macro.
36715 (struct grub_command): Remove const from the member `name'.
36716 Add a new member `module_name'.
36717 (grub_register_command): Return grub_command_t.
36718
36719 * commands/help.c (grub_cmd_help): Call grub_command_find to make
36720 sure that each command is loaded.
36721
36722 * genmk.rb (PModule::rule): Specify a module name without the
36723 suffix ".mod" to gencmdlist.sh.
36724
36725 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
36726
36727 * gencmdlist.sh: New file.
36728
36729 * genmk.rb (PModule::rule): Generate a rule for a command list.
36730 Clean command.lst.
36731 Generate command.lst from $(COMMANDFILES).
36732
36733 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
36734 (DATA): Added $(pkgdata_DATA).
36735 (install-local): Install files in $(pkgdata_DATA).
36736
36737 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
36738
36739 * term/i386/pc/vga.c (debug_command): Removed.
36740 (GRUB_MOD_INIT): Do not register the command "debug".
36741
36742 From Hollis Blanchard:
36743 * commands/configfile.c: New file.
36744 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
36745 commands/configfile.c.
36746 (pkgdata_MODULES): Added configfile.mod.
36747 (configfile_mod_SOURCES): New variable.
36748 (configfile_mod_CFLAGS): Likewise.
36749 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
36750 commands/configfile.c.
36751 (pkgdata_MODULES): Added configfile.mod.
36752 (configfile_mod_SOURCES): New variable.
36753 (configfile_mod_CFLAGS): Likewise.
36754 * util/grub-emu.c (main): Call grub_configfile_init and
36755 grub_configfile_fini.
36756 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
36757 prototype.
36758 [GRUB_UTIL] (grub_configfile_fini): Likewise.
36759
36760 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
36761
36762 * normal/arg.c (grub_arg_show_help): Do not show the bug report
36763 address.
36764
36765 * commands/help.c (grub_cmd_help): Do not print newlines after
36766 the last command in print_command_help.
36767
36768 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
36769
36770 * commands/default.h: New file.
36771 * commands/timeout.h: Likewise.
36772 * normal/context.c: Likewise.
36773
36774 * util/misc.c: Do not include sys/times.h.
36775 Include sys/time.h and grub/machine/time.h.
36776 (grub_get_rtc): Rewritten with gettimeofday.
36777
36778 * util/grub-emu.c (main): Call grub_default_init and
36779 grub_timeout_init before grub_normal_init, and call
36780 grub_timeout_fini and grub_default_fini after grub_main.
36781
36782 * util/console.c (grub_ncurses_checkkey): Return the read
36783 character or -1.
36784
36785 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
36786 timeouts.
36787
36788 * normal/main.c (read_config_file): Push MENU. If this fails,
36789 print an error and wait for a user input.
36790 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
36791 If a menu is empty or an error occurs, pop MENU.
36792 (grub_normal_execute): Pop and free MENU after grub_menu_run
36793 returns.
36794
36795 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
36796
36797 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
36798 include time.h.
36799 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
36800 without GRUB_UTIL.
36801 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
36802 time.h.
36803 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
36804 without GRUB_UTIL.
36805
36806 * include/grub/normal.h (struct grub_menu_list): New struct.
36807 (grub_menu_list_t): New type.
36808 (struct grub_context): New struct.
36809 (grub_context_t): New type.
36810 (grub_register_command): Got rid of EXPORT_FUNC.
36811 (grub_unregister_command): Likewise.
36812 (grub_context_get): New prototype.
36813 (grub_context_get_current_menu): Likewise.
36814 (grub_context_push_menu): Likewise.
36815 (grub_context_pop_menu): Likewise.
36816 [GRUB_UTIL] (grub_default_init): Likewise.
36817 [GRUB_UTIL] (grub_default_fini): Likewise.
36818 [GRUB_UTIL] (grub_timeout_init): Likewise.
36819 [GRUB_UTIL] (grub_timeout_fini): Likewise.
36820
36821 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
36822 commands/timeout.c and normal/context.c.
36823 (pkgdata_MODULES): Added default.mod and timeout.mod.
36824 (normal_mod_SOURCES): Added normal/context.c.
36825 (default_mod_SOURCES): New variable.
36826 (default_mod_CFLAGS): Likewise.
36827 (timeout_mod_SOURCES): Likewise.
36828 (timeout_mod_CFLAGS): Likewise.
36829 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
36830 conf/i386-pc.rmk.
36831 (pkgdata_MODULES): Added default.mod and timeout.mod.
36832 (normal_mod_SOURCES): Added normal/context.c.
36833 (default_mod_SOURCES): New variable.
36834 (default_mod_CFLAGS): Likewise.
36835 (timeout_mod_SOURCES): Likewise.
36836 (timeout_mod_CFLAGS): Likewise.
36837
36838 * Makefile.in (all-local): Added $(MKFILES).
36839
36840 2005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
36841
36842 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
36843 (grub_emu_SOURCES): Likewise.
36844 (pkgdata_MODULES): Add `sun.mod'.
36845 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
36846 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
36847 `partmap/sun.c'.
36848 (pkgdata_MODULES): Add `sun.mod'.
36849 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
36850 * include/grub/partition.h (grub_sun_partition_map_init): New
36851 prototype.
36852 (grub_sun_partition_map_fini): Likewise.
36853 * partmap/sun.c: New file.
36854 * util/grub-emu.c (main): Initialize and de-initialize the sun
36855 partitionmap support.
36856
36857 2005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
36858
36859 This implements an Emacs-like menu entry editor.
36860
36861 * normal/menu_entry.c: New file.
36862
36863 * util/console.c (grub_ncurses_putchar): Translate some Unicode
36864 characters to ASCII.
36865 (saved_char): New variable.
36866 (grub_ncurses_checkkey): Rewritten completely.
36867 (grub_ncurses_getkey): Likewise.
36868 (grub_ncurses_init): Call raw instead of cbreak.
36869
36870 * normal/menu.c (print_entry): Do not put a space.
36871 (init_page): Renamed to ...
36872 (grub_menu_init_page): ... this. All callers changed.
36873 (edit_menu_entry): Removed.
36874 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
36875
36876 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
36877
36878 * kern/misc.c (grub_vprintf): Call grub_refresh.
36879
36880 * normal/menu.c (DISP_LEFT): Renamed to ...
36881 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
36882 * normal/menu.c (DISP_UP): Renamed to ...
36883 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
36884 * normal/menu.c (DISP_RIGHT): Renamed to ...
36885 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
36886 * normal/menu.c (DISP_DOWN): Renamed to ...
36887 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
36888 * normal/menu.c (DISP_HLINE): Renamed to ...
36889 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
36890 * normal/menu.c (DISP_VLINE): Renamed to ...
36891 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
36892 * normal/menu.c (DISP_UL): Renamed to ...
36893 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
36894 * normal/menu.c (DISP_UR): Renamed to ...
36895 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
36896 * normal/menu.c (DISP_LL): Renamed to ...
36897 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
36898 * normal/menu.c (DISP_LR): Renamed to ...
36899 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
36900 * normal/menu.c (TERM_WIDTH): Renamed to ...
36901 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
36902 * normal/menu.c (TERM_HEIGHT): Renamed to ...
36903 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
36904 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
36905 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
36906 * normal/menu.c (TERM_MARGIN): Renamed to ...
36907 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
36908 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
36909 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
36910 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
36911 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
36912 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
36913 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
36914 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
36915 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
36916 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
36917 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
36918 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
36919 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
36920 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
36921 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
36922 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
36923 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
36924 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
36925 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
36926 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
36927 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
36928 All callers changed.
36929
36930 * include/grub/normal.h: New prototype.
36931
36932 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
36933 normal/menu_entry.c.
36934 (normal_mod_SOURCES): Likewise.
36935 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36936 (normal_mod_SOURCES): Likewise.
36937
36938 2005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
36939
36940 * include/grub/normal.h (grub_halt_init): New prototype.
36941 (grub_halt_fini): Likewise.
36942 (grub_reboot_init): Likewise.
36943 (grub_reboot_fini): Likewise.
36944
36945 * util/grub-emu.c: Include signal.h.
36946 (main_env): New global variable.
36947 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
36948 catch C-c.
36949 (grub_machine_fini): New function.
36950 (main): Call grub_halt_init and grub_reboot_init before
36951 grub_main, and grub_reboot_fini and grub_halt_fini after it.
36952 Call setjmp with MAIN_ENV to go back afterwards.
36953 Call grub_machine_fini right before return.
36954
36955 * include/grub/util/misc.h: Include setjmp.h.
36956 (main_env): New prototype.
36957
36958 * include/grub/kernel.h (grub_machine_fini): New prototype.
36959 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
36960 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
36961
36962 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
36963 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
36964 * term/i386/pc/console.c (grub_console_fini): Likewise.
36965
36966 * util/i386/pc/misc.c: New file.
36967
36968 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
36969 util/i386/pc/misc.c, commands/i386/pc/halt.c and
36970 commands/i386/pc/reboot.c.
36971
36972 2005-02-14 Guillem Jover <guillem@hadrons.org>
36973
36974 * include/grub/dl.h (grub_dl_check_header): New prototype.
36975 (grub_arch_dl_check_header): Change return type to grub_err_t,
36976 remove size parameter and export function. Update all callers.
36977 * kern/dl.c (grub_dl_check_header): New function.
36978 (grub_dl_load_core): Use `grub_dl_check_header' instead of
36979 `grub_arch_dl_check_header'. Check ELF type. Check if sections
36980 are inside the core.
36981 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
36982 independent ELF header checks.
36983 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
36984 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
36985 `grub_dl_check_header' instead of explicit checks. Check for the
36986 ELF type.
36987 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
36988 `grub_dl_check_header' instead of explicit checks. Remove arch
36989 specific ELF header checks.
36990
36991 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
36992 argument SIZE.
36993
36994 2005-02-13 Hollis Blanchard <hollis@penguinppc.org>
36995
36996 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
36997 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
36998
36999 2005-02-12 Hollis Blanchard <hollis@penguinppc.org>
37000
37001 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
37002 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
37003 (part_map_iterate): Clear `grub_errno' and return 0 if
37004 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
37005 * partmap/amiga.c (amiga_partition_map_iterate): Return
37006 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
37007 * partmap/apple.c (apple_partition_map_iterate): Likewise.
37008
37009 2005-02-01 Guillem Jover <guillem@hadrons.org>
37010
37011 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
37012 help info.
37013
37014 2005-01-31 Marco Gerards <metgerards@student.han.nl>
37015
37016 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
37017 Removed prototype.
37018 (grub_rescue_cmd_linux): New prototype.
37019 (grub_rescue_cmd_initrd): Likewise.
37020 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
37021 `bi_rec'.
37022 (grub_linux_release_mem): Release the memory for the initrd.
37023 (grub_load_linux): Renamed from this...
37024 (grub_rescue_cmd_linux): ...To this. Changed all callers.
37025 Changed `entry' not to be static. Loop over memory regions to
37026 find another one when the default fails.
37027 (grub_rescue_cmd_initrd): New function.
37028 (grub_linux_init): Remove function.
37029 (grub_linux_fini): Likewise.
37030 (GRUB_MOD_INIT): Register `initrd'.
37031 (GRUB_MOD_FINI): Unregister `initrd'.
37032 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
37033 Function removed.
37034 (grub_linux_normal_fini): Likewise.
37035 (GRUB_MOD_INIT): Register `initrd'.
37036 (GRUB_MOD_FINI): Unregister `initrd'.
37037
37038 2005-01-31 Marco Gerards <metgerards@student.han.nl>
37039
37040 * commands/help.c: New file.
37041 * normal/arg.c (show_help): Renamed to...
37042 (grub_arg_show_help): ... this.
37043 * commands/i386/pc/halt.c: New file.
37044 * commands/i386/pc/reboot.c: Likewise.
37045 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
37046 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
37047 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
37048 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
37049 variables.
37050 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
37051 `commands/help.c'.
37052 (pkgdata_MODULES): Add `help.mod'.
37053 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
37054 * grub/i386/pc/init.h (grub_reboot): New prototype.
37055 (grub_halt): Likewise.
37056 * include/grub/normal.h (grub_arg_show_help): New prototype.
37057 (grub_help_init): Likewise.
37058 (grub_help_fini): Likewise.
37059 * util/grub-emu.c (main): Initialize and deinitialize the help
37060 command.
37061
37062 * normal/cmdline.c (grub_cmdline_get): Doc fix.
37063
37064 * normal/command.c (grub_command_init): Fixed the description of
37065 the `set' and `unset' commands.
37066
37067 2005-01-31 Marco Gerards <metgerards@student.han.nl>
37068
37069 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
37070 function.
37071 * commands/ieee1275/halt.c: New file.
37072 * commands/ieee1275/reboot.c: Likewise.
37073 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
37074 `__attribute__ ((unused))'. Some GCS related fixed.
37075 (grub_suspend_init) [GRUB_UTIL]: Function removed.
37076 (grub_suspend_fini): Likewise.
37077 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
37078 and `halt.mod'.
37079 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
37080 (halt_mod_CFLAGS): New variables.
37081 * include/grub/powerpc/ieee1275/ieee1275.h
37082 (grub_ieee1275_interpret): New prototype.
37083
37084 2005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
37085
37086 * include/grub/misc.h (memmove): New prototype.
37087 (memcpy): Likewise.
37088
37089 2005-01-22 Hollis Blanchard <hollis@penguinppc.org>
37090
37091 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
37092 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
37093
37094 2005-01-22 Marco Gerards <metgerards@student.han.nl>
37095
37096 * kern/misc.c (grub_strndup): Function rewritten.
37097
37098 2005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
37099
37100 * normal/menu.c (TERM_WIDTH): Macro redefined.
37101 (TERM_TOP_BORDER_Y): Likewise.
37102 (draw_border): Replaced while-loop by a for-loop. Make the number
37103 of lines consistent with the number of lines displayed in
37104 print_entries. Added a margin below the rectangle.
37105 (print_entry): Make the entry fit in the rectangle.
37106 (print_entries): Display the scroll arrows next to the right
37107 border.
37108
37109 2005-01-21 Marco Gerards <metgerards@student.han.nl>
37110
37111 * fs/minix.c (grub_minix_find_file): Reserve more space for
37112 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
37113 `grub_strncpy' to copy `path' into it.
37114
37115 2005-01-21 Marco Gerards <metgerards@student.han.nl>
37116
37117 Add the loopback device, a device via which files can be accessed
37118 as devices.
37119
37120 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
37121 (pkgdata_MODULES): Add loopback.mod.
37122 (loopback_mod_SOURCES): New variable.
37123 (loopback_mod_CFLAGS): Likewise.
37124 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
37125 `disk/loopback.c'.
37126 (pkgdata_MODULES): Add loopback.mod.
37127 (loopback_mod_SOURCES): New variable.
37128 (loopback_mod_CFLAGS): Likewise.
37129 * disk/loopback.c: new file.
37130 * include/grub/normal.h (grub_loop_init): New prototype.
37131 (grub_loop_fini): New prototype.
37132 * util/grub-emu.c (main): Initialize and de-initialize loopback
37133 support.
37134 * include/grub/disk.h (grub_disk_dev_id): Add
37135 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
37136
37137 2005-01-20 Hollis Blanchard <hollis@penguinppc.org>
37138
37139 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
37140 function.
37141 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
37142 (suspend_mod_SOURCES): New variable.
37143 (suspend_mod_CFLAGS): Likewise.
37144 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
37145 New prototype.
37146 * commands/ieee1275/suspend.c: New file.
37147
37148 2005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
37149
37150 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
37151 ((unused))' to `__attribute__ ((used))'.
37152 (GRUB_MOD_FINI): Likewise.
37153 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
37154 * genmk.rb (PModule): Assign space to common symbols when linking
37155 modules.
37156
37157 2005-01-20 Marco Gerards <metgerards@student.han.nl>
37158
37159 * include/grub/mm.h (grub_mm_init_region): Change the type of the
37160 `unsigned' arguments to `grub_size_t'.
37161 (grub_malloc): Likewise.
37162 (grub_realloc): Likewise.
37163 (grub_memalign): Likewise.
37164 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
37165 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
37166 * util/misc.c (grub_malloc): Likewise.
37167 (grub_realloc): Likewise.
37168 * kern/mm.c (get_header_from_pointer): Change the casts to
37169 `unsigned' into a cast to `grub_size_t'.
37170
37171 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
37172 point to `currnode' when `currnode' is changed.
37173
37174 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
37175 Schottelius <nico-linux@schottelius.org>.
37176
37177 2005-01-09 Hollis Blanchard <hollis@penguinppc.org>
37178
37179 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
37180 (note_path): Remove variable.
37181 (GRUB_IEEE1275_NOTE_NAME): New macro.
37182 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
37183 (grub_ieee1275_note_hdr): New structure.
37184 (grub_ieee1275_note_desc): Likewise.
37185 (grub_ieee1275_note): Likewise.
37186 (load_note): Remove `dir' argument. All callers updated. Remove
37187 `note_img' and `path'. Do not load a file from `note_path'.
37188 Initialize a struct grub_ieee1275_note and write that to `out'.
37189 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
37190
37191 2005-01-05 Marco Gerards <metgerards@student.han.nl>
37192
37193 * util/misc.c (grub_util_read_image): Revert last change. It
37194 called `grub_util_read_at', which seeks from the beginning of the
37195 file.
37196
37197 2005-01-04 Hollis Blanchard <hollis@penguinppc.org>
37198
37199 * TODO: Add note about endianness in grub-mkimage.
37200 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
37201 section.
37202 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
37203 (grub_mkimage_SOURCES): New target.
37204 * include/grub/kernel.h (grub_start_addr): Remove variable.
37205 (grub_end_addr): Likewise.
37206 (grub_total_module_size): Likewise.
37207 (grub_kernel_image_size): Likewise.
37208 (GRUB_MODULE_MAGIC): New constant.
37209 (grub_module_info): New structure.
37210 (grub_arch_modules_addr): New prototype.
37211 (grub_get_end_addr): Remove prototype.
37212 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
37213 * include/grub/powerpc/ieee1275/kernel.h: New file.
37214 * include/grub/util/misc.h (grub_util_get_fp_size): New
37215 prototype.
37216 (grub_util_read_at): Likewise.
37217 (grub_util_write_image_at): Likewise.
37218 * kern/main.c (grub_get_end_addr): Remove function.
37219 (grub_load_modules): Call grub_arch_modules_addr instead of using
37220 grub_end_addr. Look for a grub_module_info struct in memory. Use
37221 the grub_module_info fields instead of calling grub_get_end_addr
37222 as loop conditions. Move grub_add_unused_region code here.
37223 (grub_add_unused_region): Remove function.
37224 * kern/i386/pc/init.c: Include grub/cache.h.
37225 (grub_machine_init): Remove call to grub_get_end_addr. Remove
37226 one call to add_mem_region.
37227 (grub_arch_modules_addr): New function.
37228 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
37229 (grub_total_module_size): Likewise.
37230 Include grub/machine/kernel.h.
37231 (grub_arch_modules_addr): New function.
37232 * util/grub-emu.c (grub_end_addr): Remove variable.
37233 (grub_total_module_size): Likewise.
37234 (grub_arch_modules_addr): New function.
37235 * util/misc.c: Include unistd.h.
37236 (grub_util_get_fp_size): New function.
37237 (grub_util_read_at): Likewise.
37238 (grub_util_write_image_at): Likewise.
37239 (grub_util_read_image): Call grub_util_read_at.
37240 (grub_util_write_image): Call grub_util_write_image_at.
37241 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
37242 additional memory in kernel_img for a struct grub_module_info.
37243 Fill in that grub_module_info.
37244 * util/powerpc/ieee1275/grub-mkimage.c: New file.
37245
37246 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
37247
37248 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
37249 New function.
37250 * include/grub/powerpc/ieee1275/ieee1275.h
37251 (grub_ieee1275_milliseconds): New prototype.
37252 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
37253 Change to 1000.
37254 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
37255 grub_ieee1275_milliseconds.
37256
37257 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
37258
37259 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
37260 variable.
37261 (find_options): New function.
37262 (cmain): Call find_options.
37263 * include/grub/powerpc/ieee1275/ieee1275.h
37264 (grub_ieee1275_realmode): New extern variable.
37265 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
37266 grub_map if grub_ieee1275_realmode is false.
37267
37268 2004-12-29 Marco Gerards <metgerards@student.han.nl>
37269
37270 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
37271 lines are inserted and make it work like readline. Reported by
37272 Vincent Pelletier <subdino2004@yahoo.fr>.
37273
37274 2004-12-28 Marco Gerards <metgerards@student.han.nl>
37275
37276 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
37277
37278 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
37279 `kern/powerpc/cache.S'.
37280
37281 2004-12-27 Marco Gerards <metgerards@student.han.nl>
37282
37283 * genmk.rb: Handle the `Program' class in the main loop. Written
37284 by Johan Rydberg <jrydberg@gnu.org>.
37285 (Program): New class.
37286 (programs): New variable.
37287 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
37288 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
37289 instead of "grub/kernel.h". Include <grub/machine/init.h>.
37290 (help_arch): Function removed.
37291 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
37292 `powerpc/libgcc.h' and `loader.h'.
37293 (pkgdata_PROGRAMS): New variable.
37294 (sbin_UTILITIES): Variable removed.
37295 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
37296 (grubof_SOURCES): Variable re-defined so it only includes the
37297 core functionality.
37298 (grubof_CFLAGS): Remove `-DGRUBOF'.
37299 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
37300 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
37301 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
37302 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
37303 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
37304 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
37305 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
37306 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
37307 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
37308 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
37309 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
37310 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
37311 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
37312 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
37313 (pc_mod_CFLAGS): New variables.
37314 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
37315 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
37316 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
37317 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
37318 Moved from here...
37319 * include/grub/i386/pc/init.h (grub_os_area_addr)
37320 (rub_os_area_size): ... to here.
37321 * include/grub/powerpc/ieee1275/ieee1275.h
37322 (grub_ieee1275_entry_fn): Export symbol.
37323 * include/grub/powerpc/ieee1275/init.h: New file.
37324 * include/grub/powerpc/libgcc.h: Likewise.
37325 * include/grub/cache.h: Likewise.
37326 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
37327 <hollis@penguinppc.org>.
37328 * kern/dl.c: Include <grub/cache.h>.
37329 (grub_dl_flush_cache): New function.
37330 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
37331 for this module.
37332 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
37333 (grub_console_init): Removed prototypes.
37334 (grub_machine_init): Don't initialize the modules anymore.
37335 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
37336 static.
37337 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
37338 Macro undef removed.
37339 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
37340 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
37341 relocation `R_PPC_REL32'. Return an error when the relocation is
37342 unknown.
37343 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
37344 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
37345 * util/misc.c (grub_arch_sync_caches): Likewise.
37346
37347 2004-12-19 Marco Gerards <metgerards@student.han.nl>
37348
37349 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
37350 `symlist.c', add `grubof_symlist.c'.
37351 (symlist.c): Variable removed.
37352 (grubof_HEADERS): Variable added.
37353 (grubof_symlist.c): New target.
37354 (kernel_syms.lst): Use `grubof_HEADERS' instead of
37355 `kernel_img_HEADERS'.
37356 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
37357 * kern/powerpc/dl.c: New file.
37358 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
37359 Function removed.
37360 (grub_arch_dl_relocate_symbols): Likewise.
37361 (grub_register_exported_symbols): Likewise.
37362
37363 2004-12-13 Marco Gerards <metgerards@student.han.nl>
37364
37365 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
37366 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
37367 to fail instead. Reported by Vincent Pelletier
37368 <subdino2004@yahoo.fr>.
37369
37370 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
37371 it is not allocated. Reported by Vincent Pelletier
37372 <subdino2004@yahoo.fr>.
37373
37374 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
37375 output so the output looks better.
37376
37377 2004-12-04 Marco Gerards <metgerards@student.han.nl>
37378
37379 Modulize the partition map support and add support for the amiga
37380 partition map.
37381
37382 * commands/ls.c: Include <grub/partition.h> instead of
37383 <grub/machine/partition.h>.
37384 * kern/disk.c: Likewise.
37385 * kern/rescue.c: Likewise.
37386 * loader/i386/pc/chainloader.c: Likewise.
37387 * normal/cmdline.c: Likewise.
37388 * kern/powerpc/ieee1275/init.c: Likewise.
37389 (grub_machine_init): Call `grub_pc_partition_map_init',
37390 `grub_amiga_partition_map_init' and
37391 `grub_apple_partition_map_init'.
37392 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
37393 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
37394 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
37395 `partition.h' and `pc_partition.h'.
37396 (grub_setup_SOURCES): Remove
37397 `disk/i386/pc/partition.c'. Add `kern/partition.c',
37398 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
37399 (grub_emu_SOURCES): Likewise.
37400 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
37401 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
37402 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
37403 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
37404 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
37405 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
37406 (grubof_SOURCES): Likewise.
37407 * disk/i386/pc/partition.c: File removed.
37408 * disk/powerpc/ieee1275/partition.c: Likewise.
37409 * include/grub/powerpc/ieee1275/partition.h: Likewise.
37410 * include/grub/i386/pc/partition.h: Likewise.
37411 * kern/partition.c: New file.
37412 * partmap/amiga.c: Likewise.
37413 * partmap/apple.c: Likewise.
37414 * partmap/pc.c: Likewise.
37415 * include/grub/partition.h: Likewise..
37416 * include/grub/pc_partition.h: Likewise.
37417 * util/grub-emu.c: Include <grub/partition.h> instead of
37418 <grub/machine/partition.h>.
37419 (main): Call `grub_pc_partition_map_init',
37420 `grub_amiga_partition_map_init' and
37421 `grub_apple_partition_map_init' and deinitialize afterwards.
37422 * util/i386/pc/biosdisk.c: Include `#include
37423 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
37424 `<grub/machine/partition.h>'.
37425 * util/i386/pc/grub-setup.c: Likewise.
37426 * util/i386/pc/biosdisk.c: Likewise.
37427 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
37428 partition information in case of a PC partition.
37429 * util/i386/pc/grub-setup.c: Include `#include
37430 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
37431 `<grub/machine/partition.h>'.
37432 (setup): Only access the PC specific partition information in case
37433 of a PC partition.
37434
37435 2004-11-17 Hollis Blanchard <hollis@penguinppc.org>
37436
37437 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
37438 (grub_longjmp): Likewise.
37439 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
37440 20.
37441 * normal/powerpc/setjmp.S: New file.
37442 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
37443 `normal/powerpc/setjmp.S'.
37444 (grubof_CFLAGS): Add `-DGRUBOF'.
37445 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
37446 [GRUB_UTIL && !GRUBOF].
37447
37448 2004-11-16 Marco Gerards <metgerards@student.han.nl>
37449
37450 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
37451 property named `name'. Correctly handle the error returned by
37452 `grub_ieee1275_finddevice' if a device can not be opened.
37453
37454 2004-11-02 Hollis Blanchard <hollis@penguinppc.org>
37455
37456 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
37457 `actual' for negativity.
37458 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
37459 kern/fshelp.c.
37460
37461 2004-11-01 Marco Gerards <metgerards@student.han.nl>
37462
37463 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
37464 (PAGE_OFFSET): New macro.
37465 (CRTC_ADDR_PORT): Likewise.
37466 (CRTC_DATA_PORT): Likewise.
37467 (START_ADDR_HIGH_REGISTER): Likewise.
37468 (START_ADDR_LOW_REGISTER): Likewise.
37469 (GRAPHICS_ADDR_PORT): Likewise.
37470 (GRAPHICS_DATA_PORT): Likewise.
37471 (READ_MAP_REGISTER): Likewise.
37472 (INPUT_STATUS1_REGISTER): Likewise.
37473 (INPUT_STATUS1_VERTR_BIT): Likewise.
37474 (page): New variable.
37475 (wait_vretrace): New function.
37476 (set_read_map): Likewise.
37477 (set_start_address): Likewise.
37478 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
37479 the right page.
37480 (check_vga_mem): Take the page into account.
37481 (write_char): Likewise.
37482 (write_cursor): Likewise.
37483 (scroll_up): Likewise. Copy the page to the page that is not
37484 shown and switch between both pages.
37485 (grub_vga_putchar): Fix off by one error.
37486 (grub_vga_cls): Wait for the vertical retrace. Take the page into
37487 account.
37488
37489 2004-11-01 Marco Gerards <metgerards@student.han.nl>
37490
37491 Add support for iso9660 (including rockridge).
37492
37493 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
37494 (iso9660_mod_SOURCES): New variable.
37495 (iso9660_mod_CFLAGS): Likewise.
37496 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
37497 * include/grub/fs.h (grub_iso9660_init): New prototype.
37498 * util/grub-emu.c (main): Call `grub_iso9660_init'.
37499 * fs/iso9660.c: New file.
37500
37501 * include/grub/misc.h (grub_strncat): New prototype.
37502 * kern/misc.c (grub_strncat): New function.
37503
37504 * fs/hfs.c (grub_hfs_mount): Translate the error
37505 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
37506 * fs/jfs.c (grub_jfs_mount): Likewise.
37507 * fs/ufs.c (grub_ufs_mount): Likewise.
37508
37509 2004-10-28 Hollis Blanchard <hollis@penguinppc.org>
37510
37511 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
37512 which initialized BAT registers.
37513 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
37514 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
37515 Move from here...
37516 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
37517 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
37518 ... to here.
37519 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
37520 (grub_mapclaim): Likewise.
37521 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
37522 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
37523 hand.
37524
37525 2004-10-19 Hollis Blanchard <hollis@penguinppc.org>
37526
37527 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
37528 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
37529 -ffreestanding and -msoft-float.
37530
37531 2004-10-15 Hollis Blanchard <hollis@penguinppc.org>
37532
37533 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
37534 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
37535 set in grub_ieee1275_flags.
37536
37537 2004-10-14 Hollis Blanchard <hollis@penguinppc.org>
37538
37539 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
37540 prototype.
37541 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
37542 grub_console_init first.
37543 Change the memory range used for grub_ieee1275_claim and
37544 grub_mm_init_region.
37545 Print an error message if the claim fails.
37546 Include <grub/misc.h>.
37547
37548 2004-10-13 Hollis Blanchard <hollis@penguinppc.org>
37549
37550 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
37551 Call grub_children_iterate for device nodes of type `scsi',
37552 `ide', or `ata'.
37553 (grub_ofdisk_open): Remove manual device alias resolution.
37554 Fix memory leak when device cannot be opened.
37555 * include/grub/powerpc/ieee1275/ieee1275.h
37556 (grub_children_iterate): New prototype.
37557 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
37558 New function.
37559 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
37560 Return -1 if args.size was -1.
37561
37562 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
37563
37564 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
37565 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
37566 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
37567 Open Firmware's memory for it; claim memory from _start to _end.
37568 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
37569 (_end): New extern.
37570 (_start): Zero BSS from __bss_start to _end.
37571 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
37572 New extern.
37573 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
37574
37575 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
37576
37577 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
37578 -1 if args.base was -1.
37579
37580 2004-10-08 Hollis Blanchard <hollis@penguinppc.org>
37581
37582 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
37583 escape sequence instead of a literal ^L. Also call
37584 grub_ofconsole_gotoxy.
37585
37586 2004-10-03 Hollis Blanchard <hollis@penguinppc.org>
37587
37588 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
37589 void * arguments to grub_addr_t. All callers updated. Also make
37590 the `result' argument optional.
37591 (grub_ieee1275_release): change void * arguments to grub_addr_t.
37592 All callers updated.
37593
37594 2004-09-22 Hollis Blanchard <hollis@penguinppc.org>
37595
37596 * commands/ls.c (grub_ls_list_files): Use the string following the
37597 initial ')', if present, as the filesystem path.
37598 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
37599
37600 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
37601
37602 2004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
37603
37604 Make the source code of the menu interface more readable.
37605
37606 * normal/menu.c: Include grub/mm.h.
37607 (TERM_WIDTH): New macro.
37608 (TERM_HEIGHT): Likewise.
37609 (TERM_INFO_HEIGHT): Likewise.
37610 (TERM_MARGIN): Likewise.
37611 (TERM_SCROLL_WIDTH): Likewise.
37612 (TERM_TOP_BORDER_Y): Likewise.
37613 (TERM_LEFT_BORDER_X): Likewise.
37614 (TERM_BORDER_WIDTH): Likewise.
37615 (TERM_MESSAGE_HEIGHT): Likewise.
37616 (TERM_BORDER_HEIGHT): Likewise.
37617 (TERM_NUM_ENTRIES): Likewise.
37618 (TERM_FIRST_ENTRY_Y): Likewise.
37619 (TERM_ENTRY_WIDTH): Likewise.
37620 (TERM_CURSOR_X): Likewise.
37621 (draw_border): Use macros instead of magic numbers.
37622 (print_entry): Likewise.
37623 (print_entries): Likewise.
37624 (run_menu): Likewise. Also, handle the key 'e'.
37625 (run_menu_entry): Ignore empty command lines.
37626 (print_message): Added a new argument EDIT. If EDIT is true,
37627 print a different message.
37628 (init_page): Likewise.
37629 (edit_menu_entry): New function. Not implemented yet.
37630
37631 2004-09-17 Marco Gerards <metgerards@student.han.nl>
37632
37633 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
37634 can be loaded from normal mode.
37635
37636 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
37637 `multiboot.mod'.
37638 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
37639 (multiboot_mod_CFLAGS): New variables.
37640 * loader/i386/pc/linux_normal.c: New file.
37641 * loader/i386/pc/multiboot_normal.c: Likewise.
37642
37643 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
37644 attribute `unused'.
37645
37646 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
37647 `fdiro' to read the mode information from instead of `diro'.
37648
37649 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
37650 looking up a symlink.
37651
37652 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
37653 macro.
37654 * normal/command.c (grub_command_execute): Don't parse the
37655 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
37656 flags of the command.
37657
37658 * normal/menu.c (grub_menu_run): Fix typo.
37659
37660 2004-09-14 Hollis Blanchard <hollis@penguinppc.org>
37661
37662 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
37663
37664 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
37665 `y + 1' instead of `y - 1'.
37666
37667 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
37668
37669 2004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
37670
37671 From Hollis Blanchard <hollis@penguinppc.org>:
37672 * kern/misc.c (memmove): New alias for grub_memmove.
37673 (memcmp): New alias for grub_memcmp.
37674 (memset): New alias for grub_memset.
37675 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
37676 Change "int handle" to "grub_ieee1275_phandle_t handle".
37677 * include/grub/powerpc/ieee1275/ieee1275.h
37678 (grub_ieee1275_get_property): Likewise.
37679
37680 2004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
37681
37682 Added normal mode command `chainloader' as module chain.mod, which
37683 depends on normal.mod and _chain.mod.
37684
37685 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
37686 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
37687 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
37688 Deleted prototype.
37689 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
37690 but arguments parsing moved to ...
37691 (grub_chainloader_cmd): ... here. New function.
37692 * include/grub/i386/pc/chainloader.h: New file.
37693 * loader/i386/pc/chainloader_normal.c: Likewise.
37694
37695 2004-09-11 Marco Gerards <metgerards@student.han.nl>
37696
37697 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
37698 (grub_mkimage_LDFLAGS): Likewise.
37699 (grub_emu_SOURCES): Likewise.
37700 (kernel_img_HEADERS): Added fshelp.h.
37701 * fs/ext2.c: Include <grub/fshelp.h>.
37702 (FILETYPE_REG): New macro.
37703 (FILETYPE_INO_REG): Likewise.
37704 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
37705 Changed all users.
37706 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
37707 all users.
37708 (grub_fshelp_node): New struct.
37709 (grub_ext2_data): Added member `diropen'. Changed member `inode'
37710 to a pointer.
37711 (grub_ext2_get_file_block): Removed function.
37712 (grub_ext2_read_block): New function.
37713 (grub_ext2_read_file): Replaced parameter `data' by `node'.
37714 This function was written.
37715 (grub_ext2_mount): Read the root inode. Create a diropen struct.
37716 (grub_ext2_find_file): Removed function.
37717 (grub_ext2_read_symlink): New function.
37718 (grub_ext2_iterate_dir): Likewise.
37719 (grub_ext2_open): Rewritten.
37720 (grub_ext2_dir): Rewritten.
37721 * include/grub/fshelp.h: New file.
37722 * fs/fshelp.c: Likewise.
37723
37724 2004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
37725
37726 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
37727 (print_message): Add a missing newline.
37728 (run_menu): Added timeout support.
37729 (run_menu_entry): New local function.
37730 (grub_menu_run): Added support for booting.
37731
37732 * kern/loader.c (grub_loader_is_loaded): New function.
37733
37734 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
37735 (grub_get_rtc): Exported.
37736
37737 * include/grub/i386/pc/time.h: Include grub/symbol.h.
37738 (grub_get_rtc): Exported.
37739
37740 * include/grub/normal.h (struct grub_command_list): Remove
37741 constant from the member `command'.
37742
37743 * include/grub/loader.h (grub_loader_is_loaded): Declared.
37744
37745 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
37746
37747 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
37748
37749 2004-08-28 Marco Gerards <metgerards@student.han.nl>
37750
37751 Add support for the JFS filesystem.
37752
37753 * fs/jfs.c: New file.
37754 * include/grub/fs.h (grub_jfs_init): New prototype.
37755 (grub_jfs_fini): New prototype.
37756 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
37757 (grub_emu_SOURCES): Likewise.
37758 (pkgdata_MODULES): Add jfs.mod.
37759 (jfs_mod_SOURCES): New variable.
37760 (jfs_mod_CFLAGS): Likewise.
37761 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
37762 (grubof_SOURCES): Likewise.
37763 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
37764
37765 * fs/fat.c (grub_fat_find_dir): Convert the filename little
37766 endian to the host endian.
37767 (grub_fat_utf16_to_utf8): Move function from there...
37768 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
37769 the endianness of the source string anymore.
37770 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
37771
37772 2004-08-24 Marco Gerards <metgerards@student.han.nl>
37773
37774 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
37775 (grub_boot_fini) [GRUB_UTIL]: Likewise.
37776 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
37777 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
37778
37779 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
37780 (grub_hfs_iterate_dir): Make the function static. Add prototypes
37781 for `node_found' and `it_dir'.
37782 (grub_hfs_dir): Add prototype for `dir_hook'.
37783
37784 * fs/minix.c (grub_minix_get_file_block): Add prototype for
37785 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
37786 and `indir32' to silence a gcc warning.
37787
37788 * include/grub/fs.h (grub_hfs_init): New prototype.
37789 (grub_hfs_fini): Likewise.
37790
37791
37792 2004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
37793
37794 Each disk device has its own id now. This is useful to make use
37795 of multiple disk devices.
37796
37797 * include/grub/disk.h (grub_disk_dev_id): New enum.
37798 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
37799 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
37800
37801 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
37802 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
37803
37804 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
37805 GRUB_DISK_DEVICE_OFDISK_ID as an id.
37806
37807 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
37808 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
37809
37810 * include/grub/disk.h (struct grub_disk_dev): Added a new member
37811 "id" which is used by the cache manager.
37812
37813 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
37814 of just "GRUB".
37815
37816 2004-08-18 Marco Gerards <metgerards@student.han.nl>
37817
37818 * fs/hfs.c: New file.
37819 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
37820 (grub_emu_SOURCES): Likewise.
37821 (pkgdata_MODULES): Add hfs.mod.
37822 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
37823 (grubof_SOURCES): Likewise.
37824 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
37825
37826 * include/grub/misc.h (grub_strncasecmp): Add prototype.
37827 * kern/misc.c (grub_strncasecmp): Add function.
37828
37829 2004-08-14 Marco Gerards <metgerards@student.han.nl>
37830
37831 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
37832 with parentheses.
37833
37834 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
37835 (grub_ext2_dir): In case the directory entry type is unknown, read
37836 it from the inode.
37837
37838 2004-08-02 Peter Bruin <pjbruin@dds.nl>
37839
37840 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
37841 grub_load_linux instead of grub_rescue_cmd_linux as second
37842 argument of grub_rescue_register_command.
37843
37844 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
37845
37846 2004-07-27 Marco Gerards <metgerards@student.han.nl>
37847
37848 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
37849 function.
37850 * commands/boot.c: Remove the check for `GRUB_UTIL'.
37851 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
37852 `loader/powerpc/ieee1275/linux.c',
37853 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
37854 * include/grub/powerpc/ieee1275/ieee1275.h
37855 (grub_ieee1275_release): New prototype.
37856 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
37857 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
37858 normal, boot, linux and linux_normal.
37859 * loader/powerpc/ieee1275/linux.c: New file.
37860 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
37861
37862 2004-07-12 Marco Gerards <metgerards@student.han.nl>
37863
37864 * normal/arg.c (grub_arg_parse): Correct error handling after
37865 reallocating the argumentlist (check if `argl' is not null instead
37866 of checking if `args' is not null).
37867 * kern/mm.c (grub_realloc): Return the same pointer when using the
37868 same region, instead of returning the header address.
37869
37870 2004-07-11 Marco Gerards <metgerards@student.han.nl>
37871
37872 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
37873 one block instead of two when looking for the initial partition.
37874 (grub_partition_probe): Initialize the local variable `p' with 0.
37875 Use base 10 for the grub_strtoul call.
37876 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
37877 need for one local variable.
37878 (grub_strtoul): Don't add the new value to `num', instead of that
37879 just assign it.
37880
37881 2004-07-11 Marco Gerards <metgerards@student.han.nl>
37882
37883 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
37884 (pxeboot_img_SOURCES): New variable.
37885 (pxeboot_img_ASFLAGS): Likewise.
37886 (pxeboot_img_LDFLAGS): Likewise.
37887 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
37888 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
37889 <lode_leroy@hotmail.com>.
37890
37891 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
37892
37893 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
37894 there was no input.
37895
37896 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
37897
37898 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
37899 the history buffer logic.
37900
37901 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
37902
37903 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
37904 (FILETYPE_INO_SYMLINK): New macros.
37905 (grub_ext2_find_file): Check if the node is a directory using the
37906 inode stat information instead of using the filetype in the
37907 dirent. Exclude the first character of an absolute symlink.
37908 (grub_ext2_dir): Mask out the filetype part of the mode member of
37909 the inode.
37910
37911 2004-05-24 Marco Gerards <metgerards@student.han.nl>
37912
37913 Add support for UFS version 1 and 2. Add support for the minix
37914 filesystem version 1 and 2, both the variants with 14 and 30 long
37915 filenames.
37916
37917 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
37918 fs/minix.c.
37919 (grub_emu_SOURCES): Likewise.
37920 (pkgdata_MODULES): Add ufs.mod and minix.mod.
37921 (ufs_mod_SOURCES): New variable.
37922 (ufs_mod_CFLAGS): Likewise.
37923 (minix_mod_SOURCES): Likewise.
37924 (minix_mod_CFLAGS): Likewise.
37925 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
37926 fs/minix.c.
37927 (grubof_SOURCES): Likewise.
37928 * fs/ufs.c: New file.
37929 * fs/minix.c: New file.
37930 * include/grub/fs.h (grub_ufs_init): New prototype.
37931 (grub_ufs_fini): Likewise.
37932 (grub_minix_init): Likewise.
37933 (grub_minix_fini): Likewise.
37934 * util/grub-emu.c (main): Initialize and deinitialize UFS and
37935 minix fs.
37936
37937 2004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
37938
37939 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
37940 commands/ls.c, commands/terminal.c, commands/boot.c,
37941 commands/cmp.c and commands/cat.c.
37942 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
37943
37944 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
37945 "env.h"
37946
37947 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
37948
37949 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
37950 and grub_, respectively. Because the conversion is trivial and
37951 mechanical, I omit the details here. Please refer to the CVS
37952 if you need more information.
37953
37954 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
37955
37956 * include/pupa: Renamed to ...
37957 * include/grub: ... this.
37958 * util/i386/pc/pupa-mkimage.c: Renamed to ...
37959 * util/i386/pc/grub-mkimage.c: ... this.
37960 * util/i386/pc/pupa-setup.c: Renamed to ...
37961 * util/i386/pc/grub-setup.c: ... this.
37962 * util/pupa-emu.c: Renamed to ...
37963 * util/grub-emu.c: ... this.
37964
37965 2004-03-29 Marco Gerards <metgerards@student.han.nl>
37966
37967 Add support for the newworld apple macintosh (PPC). This has been
37968 tested on the powerbook 2000 only. It only adds support for
37969 generic ieee1275 functions, console and disk support. This should
37970 be easy to port to other architectures with support for Open
37971 Firmware.
37972
37973 * configure.ac: Accept the powerpc as host_cpu. In the case of
37974 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
37975 specific tests are only executed while building for the i386.
37976 Inverse test for crosscompile.
37977 * genmk.rb (Utility): Allow assembler files.
37978 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
37979 * conf/powerpc-ieee1275.rmk: New file.
37980 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
37981 * disk/powerpc/ieee1275/partition.c: Likewise.
37982 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
37983 * include/pupa/powerpc/ieee1275/console.h: Likewise.
37984 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
37985 * include/pupa/powerpc/ieee1275/time.h: Likewise.
37986 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
37987 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
37988 * include/pupa/powerpc/ieee1275/loader.h
37989 * include/pupa/powerpc/setjmp.h: Likewise.
37990 * include/pupa/powerpc/types.h: Likewise.
37991 * kern/powerpc/ieee1275/init.c: Likewise.
37992 * kern/powerpc/ieee1275/openfw.c: Likewise.
37993 * term/powerpc/ieee1275/ofconsole.c: Likewise.
37994
37995 These files were written by Johan Rydberg
37996 (jrydberg@night.trouble.net) and I only modified them slightly.
37997
37998 * boot/powerpc/ieee1275/cmain.c: New file.
37999 * boot/powerpc/ieee1275/crt0.S: Likewise.
38000 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
38001 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
38002
38003 2004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
38004
38005 * Makefile.in: Update copyright.
38006 * genmodsrc.sh: Likewise.
38007 * gensymlist.sh: Likewise.
38008 * term/i386/pc/vga.c: Indent correctly.
38009
38010 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
38011 bugreporting address.
38012 * util/i386/pc/pupa-setup.c (usage): Likewise,
38013 (main): Call pupa_ext2_init and pupa_ext2_fini.
38014
38015 * fs/fat.c (log2): Renamed to ...
38016 (fat_log2): ... this.
38017 All callers changed.
38018 * kern/misc.c (memcpy): Alias to pupa_memmove.
38019 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
38020 lvalue cast.
38021 * util/console.c (pupa_ncurses_fini): Return 0.
38022
38023 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
38024 Move fail label here.
38025 [__GNU__]: Don't warn when using stat.
38026 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
38027 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
38028 long int. Use strtol instead of strtoul.
38029
38030 2004-03-14 Marco Gerards <metgerards@student.han.nl>
38031
38032 * commands/boot.c: New file.
38033 * commands/cat.c: Likewise.
38034 * commands/cmp.c: Likewise.
38035 * commands/ls.c: Likewise.
38036 * commands/terminal.c: Likewise.
38037 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
38038 (pupa_register_command): Changed interface to match the new
38039 argument parser.
38040 (pupa_command_execute): Changed (almost rewritten) so it uses
38041 pupa_split_command. Added support for setting variables using the
38042 syntax `foo=bar'.
38043 (rescue_command): Changed to work with the new argument parser.
38044 (terminal_command): Moved from here to commands/terminal.c.
38045 (set_command): New function.
38046 (unset_command): New function.
38047 (insmod_command): New function.
38048 (rmmod_command): New function.
38049 (lsmod_command): New function.
38050 (pupa_command_init): Don't initialize the command terminal
38051 anymore. Initialize the commands set, unset, insmod, rmmod and
38052 lsmod.
38053 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
38054 (kernel_img_HEADERS): Add arg.h and env.h.
38055 (pupa_mkimage_LDFLAGS): Add kern/env.c.
38056 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
38057 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
38058 normal/arg.c.
38059 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
38060 terminal.mod.
38061 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
38062 (boot_mod_SOURCES): New variable.
38063 (terminal_mod_SOURCES): Likewise.
38064 (ls_mod_SOURCES): Likewise.
38065 (cmp_mod_SOURCES): Likewise.
38066 (cat_mod_SOURCES): Likewise.
38067
38068 * normal/arg.c: New file.
38069 * kern/env.c: Likewise.
38070 * include/pupa/arg.h: Likewise.
38071 * include/pupa/env.h: Likewise.
38072 * font/manager.c (font_command): Changed to match argument parsing
38073 interface changes.
38074 (PUPA_MOD_INIT): Likewise.
38075 * hello/hello.c (pupa_cmd_hello): Likewise.
38076 (PUPA_MOD_INIT): Likewise.
38077 * include/pupa/disk.h: Include <pupa/device.h>.
38078 (pupa_print_partinfo): New prototype.
38079 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
38080 (pupa_dl_get_prefix): Likewise.
38081 * include/pupa/misc.h: Include <pupa/err.h>.
38082 (pupa_isgraph): New prototype.
38083 (pupa_isdigit): Likewise.
38084 (pupa_split_cmdline): Likewise.
38085 * include/pupa/normal.h: Include <pupa/arg.h>.
38086 (pupa_command): Changed the prototype of the member `func' to
38087 match the argument parsing interface. Added member `options'.
38088 (pupa_register_command): Updated to match function.
38089 (pupa_arg_parse): New prototype.
38090 (pupa_hello_init) [PUPA_UTIL]: New prototype.
38091 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
38092 (pupa_ls_init) [PUPA_UTIL]: Likewise.
38093 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
38094 (pupa_cat_init) [PUPA_UTIL]: Likewise.
38095 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
38096 (pupa_boot_init) [PUPA_UTIL]: Likewise.
38097 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
38098 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
38099 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
38100 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
38101 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
38102 * kern/disk.c: Include <pupa/file.h>.
38103 (pupa_print_partinfo): New function.
38104 * kern/dl.c: Include <pupa/env.h>.
38105 (pupa_dl_dir): Variable removed.
38106 (pupa_dl_load): Use the environment variable `prefix' instead of
38107 the variable pupa_dl_dir.
38108 (pupa_dl_set_prefix): Function removed.
38109 (pupa_dl_get_prefix): Likewise.
38110 * kern/i386/pc/init.c: Include <pupa/env.h>.
38111 (pupa_machine_init): Use the environment variable `prefix' instead of
38112 using pupa_dl_set_prefix to set the prefix.
38113 * kern/main.c: Include <pupa/env.h>.
38114 (pupa_set_root_dev): Use the environment variable `prefix' instead of
38115 using pupa_dl_get_prefix to get the prefix.
38116 * kern/misc.c: Include <pupa/env.h>.
38117 (pupa_isdigit): New function.
38118 (pupa_isgraph): Likewise.
38119 (pupa_ftoa): Likewise.
38120 (pupa_vsprintf): Added support for printing values of the type
38121 `double'. Make it possible to format variable output when using
38122 formatting like `%1.2%f'.
38123 (pupa_split_cmdline): New function.
38124 * kern/rescue.c: Include <pupa/env.h>.
38125 (next_word): Removed function.
38126 (pupa_rescue_cmd_prefix): Likewise.
38127 (pupa_rescue_cmd_set): New function.
38128 (pupa_rescue_cmd_unset): New function.
38129 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
38130 split the command line instead of splitting it here. Added
38131 support for setting variables using the syntax `foo=bar'. Don't
38132 initialize the prefix command anymore. Initialized the set and
38133 unset commands.
38134 * normal/cmdline.c: Include <pupa/env.h>.
38135 (pupa_tab_complete): Added prototypes for print_simple_completion,
38136 print_partition_completion, add_completion, iterate_commands,
38137 iterate_dev, iterate_part and iterate_dir. Moved code to print
38138 partition information from here to kern/disk.c.
38139 (pupa_cmdline_run): Don't check if the function exists anymore.
38140 * normal/main.c: Include <pupa/env.h>.
38141 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
38142 instead of using pupa_dl_get_prefix to get the prefix.
38143 * term/i386/pc/vga.c: Include <pupa/arg.h>.
38144 (check_vga_mem): Cast pointers to `void *' to silence a gcc
38145 warning.
38146 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
38147 (pupa_vga_setcolor): Declare unused variables with `__attribute__
38148 ((unused))' to silence a gcc warning.
38149 (pupa_vga_setcolor): Likewise.
38150 (debug_command): Changed to match argument parsing
38151 interface changes.
38152 * util/pupa-emu.c: Include <pupa/env.h>.
38153 (options): Added 0's for unused fields to silence a gcc warning.
38154 (argp): Likewise.
38155 (main): Use the environment variable `prefix' instead of using
38156 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
38157 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
38158 and terminal.
38159
38160 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
38161 * util/misc.c: Include <malloc.h>.
38162 (pupa_malloc): Rewritten so errors are correctly reported.
38163 (pupa_realloc): Likewise.
38164 (pupa_memalign): Likewise.
38165 (pupa_mm_init_region): Declare unused variables with
38166 `__attribute__ ((unused))' to silence a gcc warning.
38167 * normal/i386/setjmp.S: Remove tab at the end of the file to
38168 silence a gcc warning.
38169 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
38170 variables with `__attribute__ ((unused))' to silence a gcc
38171 warning.
38172 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
38173 local variable i unsigned to silence a gcc warning.
38174
38175 * kern/term.c: Include <pupa/misc.h>.
38176 (pupa_more_lines): New variable.
38177 (pupa_more): Likewise.
38178 (pupa_putcode): When the pager is active pause at the end of every
38179 screen.
38180 (pupa_set_more): New function.
38181 * include/pupa/term.h (pupa_set_more): New prototype.
38182
38183
38184 2004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
38185
38186 Now this project is GRUB 2 rather than PUPA. The location of
38187 the CVS repository was moved to GRUB's.
38188
38189 * configure.ac: Use bug-grub as the reporting address.
38190 Use GRUB instead of PUPA.
38191 Change the version number to 1.90.
38192
38193 2004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
38194
38195 * genkernsyms.sh: Updated copyright information.
38196 * genmk.rb: Likewise.
38197 * genmodsrc.sh: Likewise.
38198 * gensymlist.sh: Likewise.
38199 * boot/i386/pc/boot.S: Likewise.
38200 * boot/i386/pc/diskboot.S: Likewise.
38201 * disk/i386/pc/biosdisk.c: Likewise.
38202 * disk/i386/pc/partition.c: Likewise.
38203 * font/manager.c: Likewise.
38204 * fs/ext2.c: Likewise.
38205 * fs/fat.c: Likewise.
38206 * include/pupa/boot.h: Likewise.
38207 * include/pupa/device.h: Likewise.
38208 * include/pupa/disk.h: Likewise.
38209 * include/pupa/dl.h: Likewise.
38210 * include/pupa/elf.h: Likewise.
38211 * include/pupa/err.h: Likewise.
38212 * include/pupa/file.h: Likewise.
38213 * include/pupa/font.h: Likewise.
38214 * include/pupa/fs.h: Likewise.
38215 * include/pupa/kernel.h: Likewise.
38216 * include/pupa/loader.h: Likewise.
38217 * include/pupa/misc.h: Likewise.
38218 * include/pupa/mm.h: Likewise.
38219 * include/pupa/net.h: Likewise.
38220 * include/pupa/normal.h: Likewise.
38221 * include/pupa/rescue.h: Likewise.
38222 * include/pupa/setjmp.h: Likewise.
38223 * include/pupa/symbol.h: Likewise.
38224 * include/pupa/term.h: Likewise.
38225 * include/pupa/types.h: Likewise.
38226 * include/pupa/i386/setjmp.h: Likewise.
38227 * include/pupa/i386/types.h: Likewise.
38228 * include/pupa/i386/pc/biosdisk.h: Likewise.
38229 * include/pupa/i386/pc/boot.h: Likewise.
38230 * include/pupa/i386/pc/console.h: Likewise.
38231 * include/pupa/i386/pc/init.h: Likewise.
38232 * include/pupa/i386/pc/kernel.h: Likewise.
38233 * include/pupa/i386/pc/linux.h: Likewise.
38234 * include/pupa/i386/pc/loader.h: Likewise.
38235 * include/pupa/i386/pc/memory.h: Likewise.
38236 * include/pupa/i386/pc/multiboot.h: Likewise.
38237 * include/pupa/i386/pc/partition.h: Likewise.
38238 * include/pupa/i386/pc/time.h: Likewise.
38239 * include/pupa/i386/pc/vga.h: Likewise.
38240 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
38241 * include/pupa/util/getroot.h: Likewise.
38242 * include/pupa/util/misc.h: Likewise.
38243 * include/pupa/util/resolve.h: Likewise.
38244 * kern/device.c: Likewise.
38245 * kern/disk.c: Likewise.
38246 * kern/dl.c: Likewise.
38247 * kern/err.c: Likewise.
38248 * kern/file.c: Likewise.
38249 * kern/fs.c: Likewise.
38250 * kern/loader.c: Likewise.
38251 * kern/main.c: Likewise.
38252 * kern/misc.c: Likewise.
38253 * kern/mm.c: Likewise.
38254 * kern/rescue.c: Likewise.
38255 * kern/term.c: Likewise.
38256 * kern/i386/dl.c: Likewise.
38257 * kern/i386/pc/init.c: Likewise.
38258 * kern/i386/pc/lzo1x.S: Likewise.
38259 * kern/i386/pc/startup.S: Likewise.
38260 * loader/i386/pc/chainloader.c: Likewise.
38261 * loader/i386/pc/linux.c: Likewise.
38262 * loader/i386/pc/multiboot.c: Likewise.
38263 * normal/cmdline.c: Likewise.
38264 * normal/command.c: Likewise.
38265 * normal/main.c: Likewise.
38266 * normal/menu.c: Likewise.
38267 * normal/i386/setjmp.S: Likewise.
38268 * term/i386/pc/console.c: Likewise.
38269 * term/i386/pc/vga.c: Likewise.
38270 * util/console.c: Likewise.
38271 * util/genmoddep.c: Likewise.
38272 * util/misc.c: Likewise.
38273 * util/pupa-emu.c: Likewise.
38274 * util/resolve.c: Likewise.
38275 * util/unifont2pff.rb: Likewise.
38276 * util/i386/pc/biosdisk.c: Likewise.
38277 * util/i386/pc/getroot.c: Likewise.
38278 * util/i386/pc/pupa-mkimage.c: Likewise.
38279 * util/i386/pc/pupa-setup.c: Likewise.
38280
38281 2004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
38282
38283 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
38284 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
38285 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
38286 reading and reset it after reading.
38287 (pupa_ext2_close): Return PUPA_ERR_NONE.
38288
38289 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
38290 Correct value.
38291 (struct linux_kernel_header): Add kernel_version and
38292 initrd_addr_max.
38293 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
38294 pupa_file_read succeeds.
38295 (pupa_rescue_cmd_initrd): Implement.
38296
38297 2003-12-03 Marco Gerards <metgerards@student.han.nl>
38298
38299 * fs/ext2.c (pupa_ext2_label): New function.
38300 (pupa_ext2_fs): Added label.
38301 * fs/fat.c (pupa_fat_label): New function.
38302 (pupa_fat_fs): Added label.
38303 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
38304
38305 * kern/misc.c (pupa_strndup): New function.
38306 * include/pupa/misc.h (pupa_strndup): New prototype.
38307
38308 * include/pupa/normal.h: Include <pupa/err.h>.
38309 (pupa_set_history): New prototype.
38310 (pupa_iterate_commands): New prototype.
38311 * normal/cmdline.c: Include <pupa/machine/partition.h>,
38312 <pupa/disk.h>, <pupa/file.h>.
38313 (hist_size): New variable.
38314 (hist_lines): Likewise.
38315 (hist_end): Likewise.
38316 (hist_used): Likewise.
38317 (pupa_set_history): New function.
38318 (pupa_history_get): Likewise.
38319 (pupa_history_add): Likewise.
38320 (pupa_history_replace): Likewise.
38321 (pupa_tab_complete): Likewise.
38322 (pupa_cmdline_run): Added tab completion and history buffer. Tab
38323 completion shows partitionnames while completing partitions, this
38324 feature was suggested by Jeff Bailey.
38325 * normal/command.c (pupa_iterate_commands): New function.
38326 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
38327 (pupa_normal_init): Initialize history buffer.
38328 (PUPA_MOD_INIT): Likewise.
38329 (pupa_normal_fini): Free the history buffer.
38330 (PUPA_MOD_FINI): Likewise.
38331
38332 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
38333 key.
38334
38335 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
38336 * configure.ac [i386]: Check for regparam bug.
38337 (NESTED_FUNC_ATTR) [! i386]: Defined.
38338
38339 2003-11-17 Marco Gerards <metgerards@student.han.nl>
38340
38341 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
38342 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
38343 (pupa_emu_SOURCES): New variable.
38344 (pupa_emu_LDFLAGS): Likewise.
38345 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
38346 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
38347 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
38348 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
38349 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
38350 (pupa_jmp_buf): New typedef.
38351 (pupa_setjmp) [PUPA_UTIL]: New macro.
38352 (pupa_longjmp) [PUPA_UTIL]: Likewise.
38353 * include/pupa/term.h (struct pupa_term): New member `refresh'.
38354 (pupa_refresh): New prototype.
38355 * include/pupa/util/getroot.h: New file.
38356 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
38357 it.
38358 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
38359 (pupa_rescue_cmd_cat): Likewise.
38360 (pupa_rescue_cmd_ls): Likewise.
38361 (pupa_rescue_cmd_testload): Likewise.
38362 (pupa_rescue_cmd_lsmod): Likewise.
38363 * normal/cmdline.c (pupa_cmdline_get): Likewise.
38364 * normal/menu.c (run_menu): Likewise.
38365 * kern/term.c (pupa_cls): Likewise.
38366 (pupa_refresh): New function.
38367 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
38368 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
38369 * util/console.c: New file.
38370
38371 * util/i386/pc/getroot.c: New file.
38372 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
38373 (pupa_putchar): New function.
38374 (pupa_refresh): Likewise.
38375 (xgetcwd): Function moved to ...
38376 (strip_extra_slashes): Likewise.
38377 (get_prefix): Likewise.
38378 * util/i386/pc/getroot.c: ... here.
38379 (find_root_device): Function moved and renamed to...
38380 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
38381 Changed all callers.
38382 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
38383 and renamed to...
38384 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
38385 Changed all callers.
38386 * util/misc.c (pupa_memalign): New function.
38387 (pupa_mm_init_region): Likewise.
38388 (pupa_register_exported_symbols): Likewise.
38389 (pupa_putchar): Function removed.
38390 * util/pupa-emu.c: New file.
38391
38392 2003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
38393
38394 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
38395 (_multiboot_mod_SOURCES): New variable.
38396 (_multiboot_mod_CFLAGS): Likewise.
38397 * loader/i386/pc/multiboot.c: New file.
38398 * include/pupa/i386/pc/multiboot.h: Likewise.
38399 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
38400 (pupa_multiboot_real_boot): New function.
38401 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
38402 (pupa_multiboot_real_boot): New prototype.
38403 (pupa_rescue_cmd_multiboot): Likewise
38404 (pupa_rescue_cmd_module): Likewise.
38405
38406 * kern/loader.c (pupa_loader_set): Continue when
38407 pupa_loader_unload_func() fails.
38408 (pupa_loader_unset): New function.
38409 * include/pupa/loader.h (pupa_loader_unset): New prototype.
38410
38411 * kern/misc.c (pupa_stpcpy): New function.
38412 * include/pupa/misc.h (pupa_stpcpy): New prototype.
38413
38414 2003-11-12 Marco Gerards <metgerards@student.han.nl>
38415
38416 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
38417 for available extensions.
38418
38419 * include/pupa/i386/pc/time.h: New file.
38420 * kern/disk.c: Include <pupa/machine/time.h>.
38421 (PUPA_CACHE_TIMEOUT): New macro.
38422 (pupa_last_time): New variable.
38423 (pupa_disk_open): Flush the cache when there was a timeout.
38424 (pupa_disk_close): Reset the timer.
38425 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
38426 pupa_currticks.
38427 * util/misc.c: Include <sys/times.h>
38428 (pupa_get_rtc): New function.
38429
38430 2003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
38431
38432 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
38433 as blocks.
38434 (pupa_ext2_get_file_block): Use blocks member.
38435
38436 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
38437 first block. Return -1 instead of pupa_errno on error.
38438
38439 2003-10-27 Marco Gerards <metgerards@student.han.nl>
38440
38441 * README: In the pupa-mkimage example use _chain instead of chain
38442 and ext2 instead of fat.
38443 * TODO: Replace ext2fs with jfs as an example. Add an item for
38444 adding journal playback for ext2fs.
38445 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
38446 (pkgdata_MODULES): Added ext2.mod.
38447 (ext2_mod_SOURCES): New variable.
38448 (ext2_mod_CFLAGS): Likewise.
38449 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
38450 * include/pupa/misc.h (pupa_strncpy): New prototype.
38451 (pupa_strcat): Likewise.
38452 (pupa_strncmp): Likewise.
38453 * kern/misc.c (pupa_strcat): Enable function.
38454 (pupa_strncpy): New function.
38455 (pupa_strncmp): Likewise.
38456 * fs/ext2.c: New file.
38457
38458 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
38459 when the read failed before retrying.
38460 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
38461 (_FILE_OFFSET_BITS): Likewise.
38462 * configure.ac: Added AC_SYS_LARGEFILE.
38463
38464 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
38465
38466 * genmk.rb (PModule#rule): Make sure to get only symbol names
38467 from the output of nm.
38468 Reported by Robert Millan <rmh.grub@aybabtu.com>.
38469
38470 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
38471
38472 I forgot to check in these changes for a long time. This adds
38473 incomplete support for VGA console, and this is still very
38474 buggy. Also, a lot of consideration is required for I18N,
38475 UNICODE, and VGA font issues. Therefore, assume that this is
38476 such that "better than nothing".
38477
38478 * font/manager.c: New file.
38479 * include/pupa/font.h: Likewise.
38480 * include/pupa/i386/pc/vga.h: Likewise.
38481 * term/i386/pc/vga.c: Likewise.
38482 * util/unifont2pff.rb: Likewise.
38483
38484 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
38485 (pkgdata_MODULES): Added vga.mod and font.mod.
38486 (vga_mod_SOURCES): New variables.
38487 (vga_mod_CFLAGS): Likewise.
38488 (font_mod_SOURCES): Likewise.
38489 (font_mod_CFLAGS): Likewise.
38490
38491 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
38492
38493 * include/pupa/term.h: Include pupa/err.h.
38494 (struct pupa_term): Added init and fini.
38495 Changed the argument of putchar to pupa_uint32_t.
38496
38497 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
38498 (pupa_console_real_putchar): New prototype.
38499 (pupa_console_putchar): Removed.
38500 (pupa_console_checkkey): Exported.
38501 (pupa_console_getkey): Likewise.
38502
38503 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
38504 characters.
38505
38506 * kern/term.c (pupa_term_set_current): Rewritten.
38507 (pupa_putchar): Likewise.
38508 (pupa_putcode): New function.
38509
38510 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
38511 (pupa_console_real_putchar): ... this.
38512 (pupa_vga_set_mode): New function.
38513 (pupa_vga_get_font): Likewise.
38514
38515 * normal/command.c: Include pupa/term.h.
38516 (terminal_command): New function.
38517 (pupa_command_init): Register the command "terminal".
38518
38519 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
38520 (DISP_UP): Likewise.
38521 (DISP_RIGHT): Likewise.
38522 (DISP_DOWN): Likewise.
38523 (DISP_HLINE): Likewise.
38524 (DISP_VLINE): Likewise.
38525 (DISP_UL): Likewise.
38526 (DISP_UR): Likewise.
38527 (DISP_LL): Likewise.
38528 (DISP_LR): Likewise.
38529
38530 * term/i386/pc/console.c (pupa_console_putchar): New function.
38531
38532 2003-02-08 NIIBE Yutaka <gniibe@m17n.org>
38533
38534 * util/resolve.c (pupa_util_resolve_dependencies): BUG
38535 FIX. Reverse the path_list.
38536
38537 * include/pupa/normal.h: Export pupa_register_command and
38538 pupa_unregister_command.
38539
38540 * hello/hello.c (pupa_cmd_hello): New module.
38541 * conf/i386-pc.rmk: Added hello.mod.
38542
38543 2003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
38544
38545 * kern/i386/pc/lzo1x.S: New file.
38546
38547 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
38548 (compress_kernel): New variable.
38549 (generate_image): Heavily modified to support compressing a
38550 large part of the core image.
38551
38552 * util/misc.c (pupa_util_read_image): Fix a file descriptor
38553 leak.
38554 (pupa_util_load_image): New function.
38555
38556 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
38557 (pupa_compressed_size): New variable.
38558 (codestart): Enable Gate A20 here.
38559 Decompress the compressed part of the core image.
38560 Rearrange the code to put functions and variables which are
38561 required for initialization in the non-compressed part.
38562 Include lzo1x.S.
38563
38564 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
38565 here.
38566
38567 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
38568
38569 * include/pupa/i386/pc/kernel.h
38570 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
38571 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
38572 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
38573 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
38574 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
38575
38576 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
38577
38578 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
38579 (Utility#rule): Likewise.
38580
38581 * configure.ac: Check if LZO is available.
38582
38583 2003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
38584
38585 * include/pupa/normal.h: New file.
38586 * include/pupa/setjmp.h: Likewise.
38587 * include/pupa/i386/setjmp.h: Likewise.
38588 * normal/cmdline.c: Likewise.
38589 * normal/command.c: Likewise.
38590 * normal/main.c: Likewise.
38591 * normal/menu.c: Likewise.
38592 * normal/i386/setjmp.S: Likewise.
38593
38594 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
38595 (pupa_rescue_cmd_initrd): Likewise.
38596
38597 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
38598 Likewise.
38599
38600 * kern/i386/pc/startup.S (translation_table): New variable.
38601 (translate_keycode): New function.
38602 (pupa_console_getkey): Call translate_keycode.
38603
38604 * kern/rescue.c (attempt_normal_mode): New function.
38605 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
38606 it failed, print a message.
38607
38608 * kern/mm.c (pupa_real_malloc): Print more information when a
38609 free magic is broken.
38610 (pupa_free): If the first free header is not free actually, set
38611 it to P.
38612
38613 * kern/main.c (pupa_load_normal_mode): Just load the module
38614 "normal".
38615 (pupa_main): Don't print the message
38616 "Entering into rescue mode..." here.
38617
38618 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
38619 Declared.
38620 (pupa_rescue_cmd_initrd): Likewise.
38621 (pupa_rescue_cmd_initrd): Likewise.
38622
38623 * include/pupa/symbol.h (FUNCTION): Specify the type.
38624 (VARIABLE): Likewise.
38625
38626 * include/pupa/err.h (pupa_err_t): Added
38627 PUPA_ERR_UNKNOWN_COMMAND.
38628
38629 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
38630 (pupa_dl_get_prefix): Likewise.
38631
38632 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
38633 Added _chain.mod and _linux.mod instead of chain.mod and
38634 linux.mod.
38635 (chain_mod_SOURCES): Renamed to ...
38636 (_chain_mod_SOURCES): ... this.
38637 (chain_mod_CFLAGS): Renamed to ...
38638 (_chain_mod_CFLAGS): ... this.
38639 (linux_mod_SOURCES): Renamed to ...
38640 (_linux_mod_SOURCES): ... this.
38641 (linux_mod_CFLAGS): Renamed to ...
38642 (_linux_mod_CFLAGS): ... this.
38643 (normal_mod_SOURCES): New variable.
38644 (normal_mod_CFLAGS): Likewise.
38645 (normal_mod_ASFLAGS): Likewise.
38646
38647 2003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
38648
38649 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
38650 possible.
38651
38652 * kern/dl.c (pupa_dl_ref): Refer depending modules
38653 recursively.
38654 (pupa_dl_unref): Unrefer depending modules recursively.
38655 Don't call pupa_dl_unload implicitly, because PUPA can crash if
38656 a module is unloaded before one depending on that module is
38657 unloaded.
38658 (pupa_dl_unload): Unload depending modules explicitly,
38659 if possible.
38660
38661 2003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
38662
38663 * include/pupa/i386/pc/linux.h: New file.
38664 * loader/i386/pc/linux.c: Likewise.
38665
38666 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
38667 Removed.
38668 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
38669 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
38670 of PUPA_CHAINLOADER_BOOT_SECTOR.
38671
38672 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
38673 (pupa_linux_prot_size): New variable.
38674 (pupa_linux_tmp_addr): Likewise.
38675 (pupa_linux_real_addr): Likewise.
38676 (pupa_linux_boot_zimage): New function.
38677 (pupa_linux_boot_bzimage): Likewise.
38678
38679 * kern/i386/pc/init.c (struct mem_region): New structure.
38680 (MAX_REGIONS): New macro.
38681 (mem_regions): New variable.
38682 (num_regions): Likewise.
38683 (pupa_os_area_addr): Likewise.
38684 (pupa_os_area_size): Likewise.
38685 (pupa_lower_mem): Likewise.
38686 (pupa_upper_mem): Likewise.
38687 (add_mem_region): New function.
38688 (compact_mem_regions): Likewise.
38689 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
38690 the size of the conventional memory and that of so-called upper
38691 memory (before the first memory hole).
38692 Instead of adding each found region to free memory, use
38693 add_mem_region and add them after removing overlaps.
38694 Also, add only 1/4 of the upper memory to free memory. The rest
38695 is used for loading OS images. Maybe this is ad hoc, but this
38696 makes it much easier to relocate OS images when booting.
38697
38698 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
38699 (pupa_enter_rescue_mode): Don't register initrd and module.
38700
38701 * kern/mm.c: Include pupa/dl.h.
38702
38703 * kern/main.c: Include pupa/file.h and pupa/device.h.
38704
38705 * kern/loader.c (pupa_loader_load_module_func): Removed.
38706 (pupa_loader_load_module): Likewise.
38707
38708 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
38709 ``.o''.
38710
38711 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
38712 (pupa_linux_tmp_addr): Likewise.
38713 (pupa_linux_real_addr): Likewise.
38714 (pupa_linux_boot_zimage): Likewise.
38715 (pupa_linux_boot_bzimage): Likewise.
38716
38717 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
38718 (pupa_upper_mem): Likewise.
38719 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
38720 module is too dangerous.
38721
38722 * include/pupa/loader.h (pupa_os_area_addr): Declared.
38723 (pupa_os_area_size): Likewise.
38724 (pupa_loader_set): Remove the first argument. Loader doesn't
38725 manage modules or initrd any longer.
38726 (pupa_loader_load_module): Removed.
38727
38728 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
38729 (linux_mod_SOURCES): New variable.
38730 (linux_mod_CFLAGS): Likewise.
38731
38732 2003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
38733
38734 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
38735 the length of a blocklist correctly.
38736
38737 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
38738 Use ioctl only if the OS file is a block device.
38739 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
38740 not very useful for normal files.
38741
38742 * kern/main.c (pupa_set_root_dev): New function.
38743 (pupa_load_normal_mode): Likewise.
38744 (pupa_main): Call those above.
38745
38746 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
38747 pupa_uint16_t.
38748
38749 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
38750
38751 2003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
38752
38753 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
38754 (setup): Configure the installed partition information and the
38755 dl prefix.
38756
38757 * loader/i386/pc/chainloader.c (my_mod): New variable.
38758 (pupa_chainloader_unload): New function.
38759 (pupa_rescue_cmd_chainloader): Refer itself.
38760 (PUPA_MOD_INIT): Save its own module in MY_MOD.
38761
38762 * kern/i386/pc/startup.S (install_partition): Removed.
38763 (version_string): Likewise.
38764 (config_file): Likewise.
38765 (pupa_install_dos_part): New variable.
38766 (pupa_install_bsd_part): Likewise.
38767 (pupa_prefix): Likewise.
38768 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
38769
38770 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
38771 and pupa/misc.h.
38772 (make_install_device): New function.
38773 (pupa_machine_init): Set the dl prefix.
38774
38775 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
38776 (buf): Renamed to ...
38777 (linebuf): ... this.
38778 (pupa_rescue_cmd_prefix): New function.
38779 (pupa_rescue_cmd_insmod): Likewise.
38780 (pupa_rescue_cmd_rmmod): Likewise.
38781 (pupa_rescue_cmd_lsmod): Likewise.
38782 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
38783 rmmod and lsmod.
38784
38785 * kern/mm.c (pupa_memalign): If failed even after invalidating
38786 disk caches, unload unneeded modules and retry.
38787
38788 * kern/misc.c (pupa_memmove): New function.
38789 (pupa_memcpy): Removed.
38790 (pupa_strcpy): New function.
38791 (pupa_itoa): Made static.
38792
38793 * kern/dl.c (pupa_dl_iterate): New function.
38794 (pupa_dl_ref): Likewise.
38795 (pupa_dl_unref): Likewise.
38796 (pupa_dl_unload): Return if succeeded or not.
38797 (pupa_dl_unload_unneeded): New function.
38798 (pupa_dl_unload_all): Likewise.
38799 (pupa_dl_init): Renamed to ...
38800 (pupa_dl_set_prefix): ... this.
38801 (pupa_dl_get_prefix): New function.
38802
38803 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
38804 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
38805 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
38806 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
38807 (pupa_install_dos_part): Declared.
38808 (pupa_install_bsd_part): Likewise.
38809 (pupa_prefix): Likewise.
38810 (pupa_boot_drive): Likewise.
38811
38812 * include/pupa/types.h: Fix a typo.
38813
38814 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
38815 pupa_memmove.
38816 (pupa_memmove): Declared.
38817 (pupa_strcpy): Likewise.
38818
38819 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
38820 pupa_mod_init takes one argument, its own module.
38821 (pupa_dl_unload_unneeded): Declared.
38822 (pupa_dl_unload_all): Likewise.
38823 (pupa_dl_ref): Likewise.
38824 (pupa_dl_unref): Likewise.
38825 (pupa_dl_iterate): Likewise.
38826 (pupa_dl_init): Renamed to ...
38827 (pupa_dl_set_prefix): ... this.
38828 (pupa_dl_get_prefix): Declared.
38829
38830 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
38831 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
38832 unloaded.
38833 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
38834 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
38835
38836 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
38837 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
38838
38839 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
38840
38841 * util/i386/pc/pupa-setup.c (setup): Define the internal
38842 function find_first_partition_start at the top level, because GCC
38843 3.0.x cannot compile internal functions in deeper scopes
38844 correctly.
38845 (find_root_device): Use lstat instead of stat.
38846 Don't follow symbolic links.
38847 Fix the path-constructing code.
38848
38849 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
38850 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
38851 by a BLKGETSIZE ioctl first, because block devices don't fill
38852 the member st_mode of the structure stat on Linux.
38853 [__linux__] (linux_find_partition): Use a temporary buffer
38854 REAL_DEV for the working space. Copy it to DEV before returning.
38855 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
38856 buffer cache consistent.
38857 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
38858 strncmp. The previous value was merely wrong.
38859 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
38860
38861 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
38862 FAT size is 12. The previous value was merely wrong.
38863
38864 * kern/main.c (pupa_main): Don't split the starting message from
38865 newlines.
38866
38867 * kern/term.c (pupa_putchar): Put CR after LF instead of before
38868 LF, because BIOS goes crazy about character attributes in this
38869 case.
38870
38871 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
38872
38873 * include/i386/pc/util/biosdisk.h: New file.
38874 * util/i386/pc/biosdisk.c: Likewise.
38875 * util/i386/pc/pupa-setup.c: Likewise.
38876
38877 * Makefile.in (INCLUDE_DISTFILES): Added
38878 include/pupa/i386/pc/util/biosdisk.h.
38879 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
38880 directory util/i386/pc.
38881 (install-local): Added a rule for sbin_UTILITIES.
38882 (uninstall): Likewise.
38883
38884 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
38885
38886 * util/misc.c (xrealloc): New function.
38887 (pupa_malloc): Likewise.
38888 (pupa_free): Likewise.
38889 (pupa_realloc): Likewise.
38890 (pupa_stop): Likewise.
38891 (pupa_putchar): Likewise.
38892
38893 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
38894
38895 * include/pupa/util/misc.h (xrealloc): Declared.
38896
38897 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
38898 macro.
38899 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
38900 (PUPA_BOOT_MACHINE_BPB_END): ... this.
38901
38902 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
38903 [PUPA_UTIL] (pupa_fat_fini): Likewise.
38904
38905 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
38906 way should be implemented.
38907 [PUPA_UTIL] (pupa_fat_fini): Likewise.
38908
38909 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
38910 the size of NAME for safety.
38911 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
38912 0x88.
38913
38914 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
38915 (pupa_setup_SOURCES): Likewise.
38916
38917 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
38918
38919 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
38920
38921 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
38922 bunch of pushl's from pusha, because this destroys the return
38923 value.
38924
38925 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
38926
38927 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
38928 This means that any missing prototypes could be fatal. Also, you
38929 must take care when writing assembly code. See the comments at
38930 the beginning of startup.S, for more details.
38931
38932 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
38933 compilation mechanism.
38934 (pupa_chainloader_real_boot): Likewise.
38935 (pupa_biosdisk_rw_int13_extensions): Likewise.
38936 (pupa_biosdisk_rw_standard): Likewise.
38937 (pupa_biosdisk_check_int13_extensions): Likewise.
38938 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
38939 (pupa_biosdisk_get_diskinfo_standard): Likewise.
38940 (pupa_get_memsize): Likewise.
38941 (pupa_get_mmap_entry): Likewise.
38942 (pupa_console_putchar): Likewise.
38943 (pupa_console_setcursor): Likewise.
38944 (pupa_getrtsecs): Use pushl instead of push.
38945
38946 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
38947 memory instead of the stack for a mmap entry, because some
38948 BIOSes may ignore the maximum size and overflow.
38949
38950 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
38951
38952 * genmk.rb (PModule#rule): Compile automatically generated
38953 sources with module-specific CFLAGS as well as other sources.
38954
38955 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
38956
38957 * configure.ac: Check ld.
38958 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
38959 respectively, before checking endianness and sizes.
38960
38961 * Makefile.in (LD): New variable.
38962
38963 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
38964
38965 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
38966
38967 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
38968
38969 * Changelog: New file.
38970