1 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
5 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
6 * grub-core/Makefile.core.def (exfat): New module.
7 * grub-core/fs/exfat.c: New file.
8 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
9 (GRUB_FAT_ATTR_*): Make into an enum.
10 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
11 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
12 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
13 (GRUB_FAT_MAXFILE): Removed.
14 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
15 (grub_current_fat_bpb_t): New type.
16 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
17 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
18 (grub_fat_dir_node_t): New type.
19 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
20 (fat_log2) [MODE_EXFAT]: Removed.
21 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
22 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
23 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
24 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
25 (grub_fat_label) [MODE_EXFAT]: New function.
26 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
27 reserved_first_sector to 0.
29 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
31 Move grub_reboot out of the kernel.
33 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
34 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
35 * grub-core/lib/efi/reboot.c: ... here.
36 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
37 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
38 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
39 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
40 * grub-core/lib/i386/reboot_trampoline.S: ... here.
41 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
42 * grub-core/lib/ieee1275/reboot.c: ... here.
43 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
44 * grub-core/lib/mips/arc/reboot.c: ... here.
45 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
46 * grub-core/lib/mips/loongson/reboot.c: ...here.
47 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
48 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
49 * include/grub/emu/misc.h (grub_reboot): New function declaration.
50 * include/grub/i386/reboot.h: New file.
51 * include/grub/mips/loongson/ec.h: Fix includes.
52 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
53 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
54 * grub-core/lib/i386/reboot.c: New file.
56 2011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
58 Make grub_prefix into module to fix the arbitrary limit and save
61 * grub-core/kern/emu/main.c (grub_prefix): Removed.
62 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
63 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
64 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
65 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
66 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
67 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
68 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
69 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
70 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
71 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
72 * include/grub/ia64/efi/kernel.h: Removed.
73 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
74 (grub_prefix): Removed.
75 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
76 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
77 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
78 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
79 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
80 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
81 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
82 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
83 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
84 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
85 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
86 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
87 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
88 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
89 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
90 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
91 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
92 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
93 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
94 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
95 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
96 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
97 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
98 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
99 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
100 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
101 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
102 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
103 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
105 * util/grub-mkimage.c (image_target_desc): Removed prefix and
107 (image_targets): Likewise.
108 (generate_image): Put prefix as a module.
110 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
112 Replace grub_module_iterate with FOR_MODULES.
114 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
115 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
116 (grub_efi_modules_addr): ...this.
117 * grub-core/kern/efi/init.c (grub_modbase): New variable.
118 (grub_efi_init): Set grub_modbase.
119 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
120 (grub_modbase): New variable.
121 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
122 (grub_modbase): New variable.
123 (grub_machine_init): Set grub_modbase.
124 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
125 (grub_modbase): New variable.
126 (grub_machine_init): Set grub_modbase.
127 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
128 (grub_modbase): New variable.
129 (grub_machine_init): Set grub_modbase.
130 * grub-core/kern/main.c (grub_module_iterate): Remove.
131 (grub_modules_get_end): Use grub_modbase.
132 (grub_load_modules): Use FOR_MODULES.
133 (grub_load_config): Likewise.
134 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
135 (grub_modbase): New variable.
136 (grub_machine_init): Set grub_modbase.
137 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
138 (grub_modbase): New variable.
139 (grub_machine_init): Set grub_modbase.
140 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
142 (grub_modbase): New variable.
143 (grub_machine_init): Set grub_modbase.
144 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
145 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
146 (grub_module_iterate): Likewise.
147 (grub_modbase): New variable declaration.
148 (FOR_MODULES): New macro.
150 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
152 * configure.ac: Check for __ctzdi2 and __ctzsi2.
153 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
155 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
157 Fix few obvious type discrepancies.
159 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
160 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
161 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
163 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
165 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
167 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
168 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
169 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
172 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
174 Fix python 3.x incompatibilities.
176 * gentpl.py: Put brackets around print strings.
177 * util/import_gcry.py: Open explicitly as utf-8.
178 Use in instead of has_key.
180 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
182 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
183 (GRUB_XFS_INO_AGBITS): Make into inline function.
184 (GRUB_XFS_INO_INOINAG): Likewise.
185 (GRUB_XFS_INO_AG): Likewise.
186 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
187 (GRUB_XFS_EXTENT_OFFSET): Likewise.
188 (GRUB_XFS_EXTENT_BLOCK): Likewise.
189 (GRUB_XFS_EXTENT_SIZE): Likewise.
190 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
191 (GRUB_XFS_NEXT_DIRENT): Likewise.
192 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
193 (grub_xfs_read_file): Fix offset type.
195 2011-10-15 Robert Millan <rmh@gnu.org>
197 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
199 2011-10-15 Robert Millan <rmh@gnu.org>
201 Fix build problem on FreeBSD and GNU/kFreeBSD.
203 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
205 2011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
207 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
209 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
211 (grub_hfsplus_btree_recoffset): Likewise.
212 (grub_hfsplus_btree_recptr): Likewise.
213 (grub_hfsplus_find_block): Likewise.
214 (grub_hfsplus_btree_search): Likewise.
215 (grub_hfsplus_read_block): Likewise.
216 (grub_hfsplus_read_file): Likewise.
217 (grub_hfsplus_mount): Likewise.
218 (grub_hfsplus_btree_iterate_node): Likewise.
219 (grub_hfsplus_btree_search): Likewise.
220 (grub_hfsplus_iterate_dir): Likewise.
221 (grub_hfsplus_read): A small code simplification.
223 2011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
225 * grub-core/kern/emu/hostdisk.c
226 (convert_system_partition_to_system_disk): Don't assume that children
227 of mapper nodes are mapper nodes.
229 2011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
231 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
232 * include/grub/misc.h (grub_isxdigit): New function.
233 * grub-core/video/colors.c (my_isxdigit): Removed. All users
234 switched to grub_isxdigit.
235 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
236 number starting with a letter.
238 2011-10-09 Robert Millan <rmh@gnu.org>
240 LVM support for FreeBSD and GNU/kFreeBSD.
242 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
244 (LVM_DEV_MAPPER_STRING): Move from here ...
245 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
246 * util/getroot.c: Include `<grub/util/lvm.h>'.
247 (grub_util_get_dev_abstraction): Enable
248 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
249 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
250 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
251 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
253 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
255 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
256 when LVM abstraction is required for ${GRUB_DEVICE}.
258 2011-10-06 Szymon Janc <szymon@janc.net.pl>
260 Add support for LZO compression in GRUB:
261 - import of minilzo library,
262 - LZO decompression for btrfs,
263 - lzop files decompression.
265 * grub-core/io/lzopio.c: New file.
266 * grub-core/lib/adler32.c: Likewise.
267 * grub-core/lib/minilzo/lzoconf.h: Likewise.
268 * grub-core/lib/minilzo/lzodefs.h: Likewise.
269 * grub-core/lib/minilzo/minilzo.c: Likewise.
270 * grub-core/lib/minilzo/minilzo.h: Likewise.
271 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
272 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
273 grub-core/lib/minilzo/minilzo.c to common.
274 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
276 * grub-core/Makefile.core.def (btrfs): Likewise.
277 * grub-core/Makefile.core.def (lzopio): New module.
279 * grub-core/fs/btrfs.c: Include minilzo.h.
280 (GRUB_BTRFS_COMPRESSION_LZO): New define.
281 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
282 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
283 (grub_btrfs_lzo_decompress): New function.
284 (grub_btrfs_extent_read): Add support for LZO compression type.
285 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
286 (GRUB_USHRT_MAX): Likewise.
287 (GRUB_UINT_MAX): Likewise.
288 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
289 (UINT_MAX): Likewise.
290 (CHAR_BIT): Likewise.
291 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
292 grub-core/lib/posix_wrap/limits.h
293 (UCHAR_MAX): Likewise.
294 * include/grub/file.h (grub_file_filter_id): New compression filter
295 GRUB_FILE_FILTER_LZOPIO.
296 * include/grub/file.h (grub_file_filter_id): Set
297 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
298 * include/grub/types.h (grub_get_unaligned16): New function.
299 (grub_get_unaligned32): Likewise.
300 (grub_get_unaligned64): Likewise.
301 * util/import_gcry.py (cryptolist): Add adler32.
303 2011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
305 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
306 in perspective decreases the complexity of build system and fixes
307 compilation right now.
309 2011-10-01 Ales Nesrsta <starous@volny.cz>
311 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
312 (fixed problem related to using UHCI with coreboot).
314 2011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
316 * gentpl.py: Use Autogen macros so that the output template file
317 (Makefile.tpl) size is reduced.
319 2011-09-29 Mads Kiilerich <mads@kiilerich.com>
321 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
324 2011-09-29 Mario Limonciello <mario_limonciello@dell.com>
326 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
327 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
329 2011-09-29 Mario Limonciello <mario_limonciello@dell.com>
331 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
334 2011-09-29 Mario Limonciello <mario_limonciello@dell.com>
336 Remove extra declaration of sleep for mingw32.
338 * util/misc.c (sleep) [__MINGW32__]: Removed.
339 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
341 2011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
343 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
345 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
347 (NETBSD_BTINFO_BOOTWEDGE): New definition.
348 (grub_netbsd_btinfo_bootwedge): New struct.
349 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
351 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
353 2011-09-28 Thomas Haller <thomas.haller@fen-net.de>
355 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
358 2011-09-28 Andreas Born <futur.andy@googlemail.com>
360 Fix incorrect identifiers in bash-completion.
362 * util/bash-completion.d/grub-completion.bash.in
363 (_grub_mkpasswd-pbkdf2): Rename to ...
364 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
365 (_grub_script-check): Rename to ...
366 (_grub_script_check): ... this. All users updated.
368 2011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
370 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
371 Return 0 if disk isn't biosdisk.
373 2011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
375 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
377 * Makefile.util.def (grub-fstest): Likewise.
379 2011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
381 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
382 Get sector size from disk label.
384 2011-09-05 Colin Watson <cjwatson@ubuntu.com>
386 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
387 */README* as well as README*.
388 Reported by: Axel Beckert.
390 2011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
392 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
393 case of less than 256 MiB of RAM.
395 2011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
397 * grub-core/commands/wildcard.c (make_regex): Handle @.
399 2011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
401 * util/grub-install.in: Move cryptodisk logic to appropriate place.
403 2011-08-21 Szymon Janc <szymon@janc.net.pl>
405 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
406 AC_LANG_CONFTEST macros.
408 2011-08-20 Szymon Janc <szymon@janc.net.pl>
410 Add grub-fstest option to uncompress data for commands.
412 * util/grub-fstest.c (uncompress): New var.
413 (options): New option -u.
415 2011-08-20 Szymon Janc <szymon@janc.net.pl>
417 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
418 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
420 2011-08-20 Szymon Janc <szymon@janc.net.pl>
422 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
423 file type was not recognized correctly (not gzip or corrupted).
425 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
427 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
428 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
430 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
432 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
434 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
435 video_radeon_fuloong2e.
436 * grub-core/video/radeon_fuloong2e.c: New file.
437 * include/grub/video.h (grub_video_id_t): Add new ID
438 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
440 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
442 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
444 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
445 that PRID matches the detected subplatform and reset the subplatform
448 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
450 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
452 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
454 Fix PCI iterating on functions >= 4.
456 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
457 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
459 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
460 (grub_pci_read): Fix bitmask.
461 (grub_pci_read_word): Likewise.
462 (grub_pci_read_byte): Likewise.
463 (grub_pci_write): Likewise.
464 (grub_pci_write_word): Likewise.
465 (grub_pci_write_byte): Likewise.
467 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
469 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
470 can still be specified in TARGET_CFLAGS)
472 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
474 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
476 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
477 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
478 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
479 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
480 (FULOONG): Rename to ...
481 (FULOONG2F): ... this. All users updated.
482 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
483 (machtype_fuloong2f_str): ... this.
484 (machtype_fuloong2e_str): New string.
485 Check for machtype_fuloong2e_str.
486 * grub-core/loader/mips/linux.c (loongson_machtypes)
487 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
488 * grub-core/term/serial.c (loongson_defserial)
489 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
490 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
492 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
494 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
495 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
496 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
497 to IMAGE_FULOONG2F_FLASH. All users updated.
498 (image_targets): Rename images.
499 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
501 2011-08-19 Szymon Janc <szymon@janc.net.pl>
503 Make enable of disk cache statistics code configurable.
505 * configure.ac: --enable-cache-stats added.
506 * config.h.in (DISK_CACHE_STATS): New define.
507 * grub-core/Makefile.core.def (cacheinfo): New command.
508 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
509 * grub-core/commands/cacheinfo.c: New file.
510 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
511 moved to cacheinfo.c.
512 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
514 * include/grub/disk.h: Likewise.
516 2011-08-19 Szymon Janc <szymon@janc.net.pl>
518 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
519 * grub-core/Makefile.am: Likewise.
521 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
523 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
526 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
528 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
530 (grub_jfs_lookup_symlink): Use correct starting inode.
532 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
534 * util/grub-setup.c (main): Add missing gcry initialisation.
536 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
538 Don't accept text modes on EFI when booting Linux.
540 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
541 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
543 2011-08-15 Mario Limonciello <mario_limonciello@dell.com>
544 2011-08-15 Colin Watson <cjwatson@ubuntu.com>
546 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
547 use of "/path/.." as in grub-install for EFI as well as handling
549 Fixes Debian bug #637768.
551 2011-08-15 Colin Watson <cjwatson@ubuntu.com>
553 * util/grub-probe.c: Remove duplicate #include.
555 2011-08-10 Robert Millan <rmh@gnu.org>
557 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
559 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
561 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
562 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
564 2011-08-03 Robert Millan <rmh@gnu.org>
566 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
568 Reported by: Zachary Bedell
570 2011-07-26 Colin Watson <cjwatson@ubuntu.com>
572 * configure.ac: The Loongson port requires grub-mkfont due to its
573 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
576 2011-07-26 Colin Watson <cjwatson@ubuntu.com>
578 * util/grub-install.in: Don't source grub-mkconfig_lib until after
579 processing arguments (otherwise help2man fails when GRUB has not yet
582 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
584 New script grub-mkstandalone.
586 * Makefile.util.def (grub-mkstandalone): New script.
587 * docs/man/grub-mkstandalone.h2m: New file.
588 * util/grub-mkstandalone.in: Likewise.
590 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
592 Support ATA disks with 4K sectors.
594 * include/grub/ata.h (grub_ata): New member log_sector_size.
595 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
596 (grub_ata_identify): Read sector size.
597 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
599 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
601 * util/grub-install.in: Don't use uhci outside of x86.
603 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
605 * util/grub-mkrescue.in: Add missing quotes.
607 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
609 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
612 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
614 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
616 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
618 * include/grub/video.h: add missing EXPORT_FUND on
619 grub_video_edid_checksum and grub_video_edid_preferred_mode.
621 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
623 * include/grub/mips/kernel.h: Fix define conflict.
625 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
627 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
630 2011-07-21 Colin Watson <cjwatson@ubuntu.com>
632 Preferred resolution detection for VBE.
634 * grub-core/video/video.c (grub_video_edid_checksum): New function.
635 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
636 the Flat Panel extension, in line with the X.org VESA driver.
637 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
639 (grub_vbe_bios_get_ddc_capabilities): Likewise.
640 (grub_vbe_bios_read_edid): Likewise.
641 (grub_vbe_get_preferred_mode): Likewise.
642 (grub_video_vbe_setup): When the mode is "auto", try to get the
643 preferred mode from VBE, and use the largest mode that is no larger
644 than the preferred mode (some BIOSes expose a preferred mode that is
645 not in their mode list!). If this fails, fall back to 640x480 as a
646 safe conservative choice.
647 (grub_video_vbe_get_edid): New function.
648 (grub_video_vbe_adapter): Add get_edid.
649 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
650 (struct grub_video_adapter): Add get_edid.
651 (grub_video_edid_checksum): Add prototype.
652 (grub_video_edid_preferred_mode): Likewise.
653 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
656 * grub-core/commands/videoinfo.c (print_edid): New function.
657 (grub_cmd_videoinfo): Print EDID if available.
659 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
660 is more appropriate on a wider range of platforms than 640x480.
661 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
664 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
666 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
668 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
670 * po/POTFILES.in: Regenerate.
672 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
674 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
675 incorrect memory usage.
677 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
679 * util/grub-install.in: Source grub-mkconfig_lib.
681 2011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
683 Remove getroot.c from core on emu platform.
685 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
687 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
689 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
690 * util/getroot.c (get_win32_path): ... here.
691 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
692 * util/getroot.c (fini_libzfs): ... here.
693 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
694 * util/getroot.c (grub_get_libzfs_handle): ... here.
695 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
697 * util/getroot.c (grub_find_zpool_from_dir): ... here.
698 * grub-core/kern/emu/misc.c
699 (grub_make_system_path_relative_to_its_root): Moved from here...
700 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
701 * grub-core/kern/emu/getroot.c: Moved from here ...
702 * util/getroot.c: ... here. All users updated.
703 * grub-core/kern/emu/raid.c: Moved from here ...
704 * util/raid.c: ... here. All users updated.
706 2011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
708 * po/POTFILES.in: Regenerate.
710 2011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
712 Fix compilation on GNU/Linux.
714 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
716 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
717 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
718 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
720 2011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
721 2011-07-07 Michael Gorven <michael@gorven.za.net>
722 2011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
724 LUKS and GELI support.
726 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
727 grub-core/disk/luks.c, grub-core/disk/geli.c,
728 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
729 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
731 (libgrubmods.a): Remove gcrypts cflags and cppflags.
732 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
733 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
734 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
735 (grub-bin2h): Add libgcry.a.
736 (grub-mkimage): Likewise.
737 (grub-mkrelpath): Likewise.
738 (grub-script-check): Likewise.
739 (grub-editenv): Likewise.
740 (grub-mkpasswd-pbkdf2): Likewise.
741 (grub-pe2elf): Likewise.
742 (grub-fstest): Likewise.
743 (grub-mkfont): Likewise.
744 (grub-mkdevicemap): Likewise.
745 (grub-probe): Likewise.
746 (grub-ofpath): Likewise.
747 (grub-mklayout): Likewise.
748 (example_unit_test): Likewise.
749 (grub-menulst2cfg): Likewise.
750 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
751 * grub-core/Makefile.core.def (cryptodisk): New module.
754 * grub-core/disk/AFSplitter.c: New file.
755 * grub-core/disk/cryptodisk.c: Likewise.
756 * grub-core/disk/geli.c: Likewise.
757 * grub-core/disk/luks.c: Likewise.
758 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
760 (grub_util_get_dm_abstraction): New function.
761 (grub_util_follow_gpart_up): Likewise.
762 (grub_util_get_geom_abstraction): Likewise.
763 (grub_util_get_dev_abstraction): Use new functions.
764 (grub_util_pull_device): Pull GELI and LUKS.
765 (grub_util_get_grub_dev): Handle LUKS and GELI.
766 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
767 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
768 (follow_geom_up): Removed.
769 (grub_util_fd_seek): New function.
770 (open_device): Use grub_util_fd_seek.
771 (nread): Rename to ..
772 (grub_util_fd_read): ... this. All users updated.
773 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
774 (grub_crypto_cbc_decrypt): Likewise.
775 (grub_crypto_hmac_write): Likewise.
776 (grub_crypto_hmac_buffer): Likewise.
777 (grub_password_get): Extend to util.
778 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
780 (gcry_md_spec) [GRUB_UTIL]: Likewise.
781 * include/grub/cryptodisk.h: New file.
782 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
783 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
785 (grub_util_follow_gpart_up): New proto.
786 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
787 (grub_util_fd_read): Likewise.
788 (grub_cryptodisk_cheat_mount): Likewise.
789 (grub_util_cryptodisk_print_uuid): Likewise.
790 (grub_util_get_fd_sectors): Likewise.
791 * util/grub-fstest.c (mount_crypt): New var.
792 (fstest): Mount crypto if requested.
793 (options): New option -C.
794 (argp_parser): Parse -C.
795 (main): Init and fini gcry.
796 * util/grub-install.in: Support cryptodisk install.
797 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
798 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
800 (prepare_grub_to_access_device): Likewise.
801 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
802 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
803 (probe_cryptodisk_uuid): New function.
804 (probe_abstraction): Likewise.
805 (probe): Use new functions.
806 * util/import_gcry.py: Create Makefile.utilgcry.def.
809 2011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
811 Lazy device scanning.
813 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
814 (grub-setup): Remove util/raid.c.
815 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
816 * grub-core/disk/lvm.c (scan_depth): New variable.
817 (grub_lvm_iterate): Rescan if necessary.
818 (find_lv): New function based on grub_lvm_open.
819 (grub_lvm_open): Use find_lv. Rescan on error.
820 (is_node_readable): New function.
821 (is_lv_readable): Likewise.
822 (grub_lvm_scan_device): Skip already found disks.
823 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
824 Stop if searched device is found and readable.
825 * grub-core/disk/raid.c (inscnt): New variable.
826 (scan_depth): Likewise.
827 (scan_devices): New function based on grub_raid_register. Abort if
828 looked for device is found.
829 (grub_raid_iterate): Rescan if needed.
830 (find_array): NEw function based on -grub_raid_open.
831 (grub_raid_open): Use find_array and rescan.
832 (insert_array): Set became_readable_at.
833 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
834 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
836 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
837 (grub_util_pull_device): New function.
838 (grub_util_get_grub_dev): Call grub_util_pull_device.
839 * util/raid.c: Moved to ..
840 * grub-core/kern/emu/raid.c: ... here.
841 (grub_util_raid_getmembers): New parameter "bootable".
842 All users updated. Support 1.x.
843 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
845 * include/grub/disk.h (grub_disk_pull_t): New enum.
846 (grub_disk_dev): Change iterate prototype.
848 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
850 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
851 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
852 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
853 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
855 * include/grub/util/raid.h: Removed.
857 2011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
859 * po/POTFILES.in: Regenerate.
861 2011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
863 Unify sparc init with other ieee1275.
865 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
866 instead of kern/sparc64/ieee1275/init.c.
867 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
868 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
869 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
870 grub/machine/kernel.h.
871 (grub_ieee1275_original_stack) [__sparc__]: New variable.
872 (grub_claim_heap) [__sparc__]: Use sparc version.
873 (grub_machine_init): Moved args parsing to
874 (grub_parse_cmdline): ...this.
875 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
876 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
878 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
880 Move BOOTP to separate file.
882 * grub-core/Makefile.core.def (net): Add net/bootp.c.
883 * grub-core/net/net.c: Move all BOOTP functions to
884 * grub-core/net/bootp.c: ... here.
886 Use frame interface on PXE.
888 * grub-core/Makefile.core.def (pxecmd): Removed.
889 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
890 * grub-core/commands/i386/pc/pxecmd.c: Removed.
891 * grub-core/i386/pc/pxe.c: Moved from here ...
892 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
893 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
894 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
898 * grub-core/Makefile.core.def (efinet): New module.
899 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
901 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
903 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
904 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
905 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
906 * grub-core/net/drivers/efi/efinet.c: New file.
907 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
908 (grub_efi_net_config): New extern var.
910 Various cleanups and bugfixes.
912 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
914 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
915 disk declared as partition.
916 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
918 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
919 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
920 (grub_debug_zalloc): Likewise.
921 (grub_debug_realloc): Likewise.
922 (grub_debug_memalign): Likewise.
923 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
924 Check that target is IPv4.
925 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
926 local-mac-address as fallback.
927 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
929 * grub-core/net/ip.c (ipchksum): Rename to ...
930 (grub_net_ip_chksum): ... this. All users updated.
931 (grub_net_recv_ip_packets): Special handling for DHCP.
932 * util/grub-mkimage.c (generate_image): Zero-out aout header.
934 Unify prefix handling
936 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
937 (grub_machine_get_bootlocation): ... this.
938 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
939 (grub_machine_get_bootlocation): ... this.
940 (grub_prefix): New variable.
942 (root_dev): New variable.
944 (main): Use new variables.
945 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
947 (grub_machine_get_bootlocation): ... this.
948 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
949 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
950 (grub_machine_get_bootlocation): ... this.
951 (grub_machine_set_prefix): Removed.
952 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
953 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
955 (grub_machine_get_bootlocation): ... this.
956 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
957 (grub_set_prefix_and_root): ... this. All users updated.
958 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
960 (grub_machine_get_bootlocation): ... this.
961 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
962 (grub_machine_get_bootlocation): New proto.
963 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
965 Less intrusive and more reliable seek on network implementation.
967 * grub-core/kern/file.c (grub_file_net_seek): Removed.
968 (grub_file_seek): Don't call grub_file_net_seek.
969 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
970 (grub_net_fs_read_real): .. this.
971 (grub_net_seek_real): Use net->offset.
972 (grub_net_fs_read): Seek if necessary.
974 Unify IEEE1275 netwotk config with the other platforms.
976 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
978 (grub_machine_get_bootlocation): Support network.
979 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
980 Support type and device parsing.
981 (grub_ieee1275_get_device_type): New function.
982 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
984 (grub_ieee1275_net_config_real): ... this.
985 (grub_ofnet_probecards): Removed.
986 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
987 * include/grub/ieee1275/ofnet.h: Removed.
988 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
990 (grub_ieee1275_get_device_type): New function.
992 Unify network device closing across platforms and make more robust.
994 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
996 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
998 * grub-core/net/net.c (grub_net_network_level_interface_register):
1000 (grub_net_card_unregister): Close all interfaces.
1001 (receive_packets): Don't poll if no iterfaces are registered.
1003 (grub_net_fini_hw): New function.
1004 (grub_net_restore_hw): Likewise.
1005 (fini_hnd): New variable.
1006 (GRUB_MOD_INIT): Register preboot hook.
1007 (GRUB_MOD_FINI): Run and unregister preboot hook.
1009 Poll network cards when idle.
1011 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
1012 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
1013 * grub-core/net/net.c (receive_packets): Save last poll time.
1014 (grub_net_poll_cards_idle_real): New function.
1015 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
1016 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
1017 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
1019 Rename ofnet interfaces.
1021 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
1022 (grub_ofnet_findcards): Use ofnet_%s names.
1024 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
1026 Cleanup socket opening.
1028 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
1029 (grub_net_fs_close): Likewise.
1030 (grub_net_fs_read_real): Use eof member.
1031 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
1032 (+grub_net_udp_close): New inline function.
1034 * include/grub/net/tftp.h: Moved to the top of ...
1035 * grub-core/net/tftp.c: ... here.
1036 * include/grub/net/ip.h: Moved mostly to the top of ...
1037 * grub-core/net/ip.c: ... here.
1038 * include/grub/net/ethernet.h: Moved mostly to the top of ...
1039 * grub-core/net/ethernet.c: ... here.
1041 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
1043 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
1046 * include/grub/net/ip.h (ipv4_ini): Removed.
1047 (ipv4_fini): Likewise.
1049 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
1050 (grub_net_send_ip_packets): Likewise.
1052 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
1054 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
1055 grub_read_cmos prototype.
1057 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
1059 VGA text support in qemu-mips
1061 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
1062 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
1063 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
1065 * grub-core/kern/i386/qemu/init.c: Renamed to ...
1066 * grub-core/kern/vga_init.c: ... this.
1067 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
1068 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
1069 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
1071 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
1072 GRUB_MACHINE_PCI_IO_BASE.
1074 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
1076 MIPS qemu flash support.
1078 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
1080 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
1081 (grub_machine_init): Probe memory if its size isn't known.
1082 * util/grub-mkimage.c (image_targets): Add flash targets.
1083 (generate_image): Handle flash targets.
1085 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
1087 MIPS qemu at_keyboard support.
1089 * gentpl.py (videoinkernel): Add qemu-mips.
1090 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
1091 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
1092 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
1094 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
1095 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
1096 * grub-core/term/serial.c (grub_serial_register)
1097 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
1099 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
1101 CMOS support on sparc.
1103 * gentpl.py (cmos): Add powerpc and sparc.
1104 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
1106 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
1107 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
1108 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
1109 grub_set_datetime_cmos.
1110 * grub-core/lib/ieee1275/cmos.c: New file.
1111 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
1112 (find_rtc): Set no_ieee1275_rtc on error.
1113 (grub_get_datetime): Call grub_get_datetime_cmos on error.
1114 (grub_set_datetime): Call grub_set_datetime_cmos on error.
1115 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
1116 fail. Move value to argument. All users updated
1117 (grub_cmos_write): Likewise.
1118 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
1119 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
1120 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
1121 grub_get_datetime_cmos and grub_set_datetime_cmos.
1123 2011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
1125 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
1126 sourcing grub-mkconfig_lib.
1127 * util/update-grub_lib.in: Likewise.
1128 * util/grub.d/00_header.in: Likewise.
1129 * util/grub.d/10_hurd.in: Likewise.
1130 * util/grub.d/10_kfreebsd.in: Likewise.
1131 * util/grub.d/10_linux.in: Likewise.
1132 * util/grub.d/10_netbsd.in: Likewise.
1133 * util/grub.d/10_windows.in: Likewise.
1134 * util/grub.d/20_linux_xen.in: Likewise.
1135 * util/grub.d/30_os-prober.in: Likewise.
1137 2011-06-28 Colin Watson <cjwatson@ubuntu.com>
1139 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
1140 default_bg_color rather than black.
1141 (grub_gfxterm_fullscreen): Likewise.
1142 (grub_gfxterm_background_color_cmd): Save new background color in
1145 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
1147 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
1149 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
1151 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
1154 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
1156 Chainloading on coreboot support.
1158 * grub-core/Makefile.core.def (chain): Add coreboot.
1159 * grub-core/loader/i386/coreboot/chainloader.c: New file.
1161 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
1163 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
1166 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
1168 Implement time command.
1170 * grub-core/Makefile.core.def (time): New module.
1171 * grub-core/commands/time.c: New file.
1172 * grub-core/script/parser.y: Remove "time" keyword.
1173 * grub-core/script/yylex.l: Likewise.
1175 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
1177 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
1179 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
1181 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
1182 when handling leftovers.
1184 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
1186 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
1187 so that help2man doesn't fail.
1189 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
1191 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
1192 type in pointers on sparc64.
1193 (get_card_packet): Likewise.
1195 2011-06-27 Colin Watson <cjwatson@ubuntu.com>
1197 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
1199 (grub_cmd_videoinfo): Fetch current video mode.
1201 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
1203 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
1204 because of underlying system restrictions.
1206 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
1208 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
1211 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
1213 Coreboot video support.
1215 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
1217 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
1218 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
1220 * grub-core/kern/i386/int.S: ... here.
1221 * grub-core/video/i386/pc/vbe.c: Updated includes.
1222 * grub-core/video/i386/pc/vga.c: Likewise.
1223 * include/grub/i386/coreboot/memory.h
1224 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
1225 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
1226 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
1227 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
1229 * include/grub/i386/pc/vga.h: Removed. All users updated.
1231 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
1233 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
1234 definitions for dprintf.
1235 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
1237 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
1239 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
1241 (get_card_packet): Likewise.
1243 2011-06-26 Yves Blusseau <blusseau@zetam.org>
1245 Display the path of the file when file is not found
1247 * grub-core/fs/fat.c: Display the filename when file is not found.
1248 * grub-core/fs/fshelp.c: Likewise.
1249 * grub-core/fs/hfs.c: Likewise.
1250 * grub-core/fs/jfs.c: Likewise.
1251 * grub-core/fs/minix.c: Likewise.
1252 * grub-core/fs/ufs.c: Likewise.
1253 * grub-core/fs/btrfs.c: Likewise.
1254 * grub-core/commands/i386/pc/play.c: Likewise.
1256 2011-06-26 Szymon Janc <szymon@janc.net.pl>
1258 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
1259 pointer checks before calling grub_free().
1260 * grub-core/commands/wildcard.c (match_devices): Likewise.
1261 * grub-core/commands/wildcard.c (match_files): Likewise.
1262 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
1263 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
1264 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
1265 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
1266 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
1267 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
1268 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
1269 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
1270 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
1272 2011-06-25 Patrick <p55@mailinator.com>
1274 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
1276 2011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
1278 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
1279 (grub_pxe_send): Likewise.
1280 (GRUB_MOD_INIT): Fix types.
1282 2011-06-24 Szymon Janc <szymon@janc.net.pl>
1284 * grub-core/io/xzio.c: Fix code style issues
1286 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
1287 2011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
1289 Network infrastructure.
1290 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
1292 * include/grub/net/arp.h: New file.
1293 * include/grub/net/device.h: Likewise.
1294 * include/grub/net/ethernet.h: Likewise.
1295 * include/grub/net/ip.h: Likewise.
1296 * include/grub/net/netbuff.h: Likewise.
1297 * include/grub/net/tftp.h: Likewise.
1298 * include/grub/net/udp.h: Likewise.
1299 * include/grub/ieee1275/ofnet.h: Likewise.
1300 * include/grub/emu/export.h: Likewise.
1301 * include/grub/net.h: Likewise.
1302 * grub-core/net/arp.c: Likewise.
1303 * grub-core/net/ethernet.c: Likewise.
1304 * grub-core/net/ip.c: Likewise.
1305 * grub-core/net/udp.c: Likewise.
1306 * grub-core/net/tftp.c: Likewise.
1307 * grub-core/net/netbuff.c: Likewise.
1308 * grub-core/net/net.c: Likewise.
1309 * grub-core/net/drivers/emu/emunet.c: Likewise.
1310 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
1311 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
1313 * grub-core/Makefile.core.def (net): New module.
1317 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
1319 * grub-core/kern/device.c (grub_net_open) : New variable.
1320 (grub_device_open): Handle network device.
1321 (grub_device_close): Likewise.
1322 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
1323 (grub_grubnet_fini): Likewise.
1324 (grub_file_seek): Seek in network device.
1325 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
1326 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
1328 (grub_machine_fini): Call grub_grubnet_fini.
1329 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
1331 (grub_ieee1275_get_aliasdevname): New function.
1332 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
1333 Add unofficial Solaris network info.
1334 (grub_multiboot_make_mbi): Likewise.
1335 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
1336 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
1337 * include/grub/device.h (grub_fs): Removed.
1338 * include/grub/err.h (grub_err_t): Add network-related values.
1339 * include/grub/i386/pc/pxe.h: Removed bootp parts.
1340 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
1341 (grub_ieee1275_get_aliasdevname): New proto.
1342 * include/grub/net.h: Rewritten.
1344 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
1346 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
1349 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
1351 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
1352 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
1353 it truncates the output.
1354 Reported by: Ximin Luo.
1356 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
1358 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
1360 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
1362 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
1363 partmap before abstraction.
1365 2011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
1367 * util/grub-mkconfig_lib.in: Add missing quotes.
1369 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
1371 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
1372 old method if mountinfo would return /dev/root and /dev/root doesn't
1375 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
1379 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
1380 (decomp_table): Add zlib entries.
1381 (zio_read): USe 8 bits for compression function rather than 3.
1382 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
1384 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
1386 * grub-core/disk/ahci.c: Add missing license statements.
1387 * grub-core/fs/romfs.c: Likewise.
1388 * grub-core/lib/ia64/setjmp.S: Likewise.
1389 * grub-core/loader/i386/pc/freedos.c: Likewise.
1390 * grub-core/loader/ia64/efi/linux.c: Likewise.
1391 * grub-core/video/colors.c: Likewise.
1392 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
1394 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
1398 * grub-core/Makefile.core.def (ata_pthru): Removed.
1401 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
1403 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
1405 (grub_hdparm_do_check_powermode_cmd): Likewise.
1406 (grub_hdparm_do_smart_cmd): Likewise.
1407 (grub_hdparm_set_val_cmd): Likewise.
1408 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
1409 * grub-core/disk/ahci.c: New file.
1410 * grub-core/disk/ata.c: Factor out the low-level part into ...
1411 * grub-core/disk/pata.c: ... here.
1412 * grub-core/disk/ata_pthru.c: Contents moved to ...
1413 * grub-core/disk/pata.c: ... here.
1414 * grub-core/disk/scsi.c (grub_scsi_names): New array.
1415 (grub_scsi_iterate): Use grub_scsi_names.
1416 (grub_scsi_open): Likewise.
1417 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
1418 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
1419 (grub_ata_regs_t): New struct.
1420 (grub_disk_ata_pass_through_parms): Likewise.
1421 (grub_ata_device): Renamed to ...
1422 (grub_ata): ... this.
1423 (grub_ata_dev): New struct.
1424 Removed all low-level inline functions.
1425 * include/grub/scsi.h: Add PATA and AHCI subsystems.
1426 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
1427 iterate hooks and open. All users updated.
1428 * util/grub-install.in: Handle AHCI disk module.
1430 2011-06-23 Szymon Janc <szymon@janc.net.pl>
1432 Add support for DRI and RSTn markers in JPEG files.
1434 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
1435 (JPEG_MARKER_RST0): Likewise.
1436 (JPEG_MARKER_RST1): Likewise.
1437 (JPEG_MARKER_RST2): Likewise.
1438 (JPEG_MARKER_RST3): Likewise.
1439 (JPEG_MARKER_RST4): Likewise.
1440 (JPEG_MARKER_RST5): Likewise.
1441 (JPEG_MARKER_RST6): Likewise.
1442 (JPEG_MARKER_RST7): Likewise.
1443 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
1444 (grub_jpeg_decode_dri): New function.
1445 (grub_jpeg_decode_sos): Move image data related part into
1446 grub_jpeg_decode_data function.
1447 (grub_jpeg_decode_data): New function.
1448 (grub_jpeg_reset): New function.
1449 (grub_jpeg_decode_jpeg): Handle new markers.
1451 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
1453 * util/ieee1275/ofpath.c (check_sas): Close fd.
1454 (main): Free of_path.
1455 Reported by: David Volgyes <dvolgyes>.
1457 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
1459 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
1460 Reported by: David Volgyes <dvolgyes>.
1462 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
1464 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
1466 Reported by: David Volgyes <dvolgyes>.
1468 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
1470 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
1472 Reported by: David Volgyes <dvolgyes>.
1474 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
1476 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
1477 Prevent memory leak.
1479 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
1481 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
1483 Reported by: David Volgyes <dvolgyes>.
1485 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
1487 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
1488 to continue if allocation is failed.
1490 Reported by: David Volgyes <dvolgyes>.
1492 2011-06-23 David Volgyes <dvolgyes>
1494 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
1497 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
1499 Fix spurious warning.
1501 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
1502 (acorn_partition_map_find): Use .bin member.
1504 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
1506 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
1507 /dev/root as a valid device.
1509 2011-06-23 Jim Meyering <meyering@redhat.com>
1511 Avoid NULL deref in grub_device_open.
1513 * grub-core/kern/device.c (grub_device_open): Don't dereference
1514 a NULL pointer upon failed grub_env_get.
1516 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
1518 Support non-512B sectors and agglomerate reads.
1520 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
1521 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
1522 (disk_io_guid): Removed.
1523 (make_devices): Locate solely by BlockIO.
1524 (grub_efidisk_open): Fill log_sector_size and total_sectors.
1525 (grub_efidisk_read): Use read_blocks.
1526 (grub_efidisk_write): Use write_blocks.
1527 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
1529 (get_safe_sectors): Handle non-512B sectors.
1530 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
1532 (grub_biosdisk_write): Handle non-512B sectors.
1533 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
1534 (grub_scsi_read): Remove special non-512B block handling (now handled
1536 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
1537 and do sanity checks.
1538 (grub_disk_adjust_range): Handle non-512B sectors.
1539 (transform_sector): New function.
1540 (grub_disk_read_small): Likewise.
1541 (grub_disk_read): Rewritten.
1542 (grub_disk_write): Handle non-512B sectors.
1543 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
1545 (open_device): Use log_sector_size.
1546 (grub_util_biosdisk_read): Likewise.
1547 (grub_util_biosdisk_write): Likewise.
1548 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
1550 (pc_partition_map_embed): Likewise.
1551 * include/grub/disk.h (grub_disk): New field log_sector_size.
1552 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
1553 (GRUB_DISK_CACHE_BITS): Increased to 6.
1554 * util/grub-fstest.c (fstest): New command testload.
1555 (argp_parser): Likewise.
1557 2011-06-16 Robert Millan <rmh@gnu.org>
1559 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
1560 `ata' driver on kernel of FreeBSD 9.
1562 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
1563 (get_ataraid_disk_name): New functions.
1564 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
1565 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
1566 get_ataraid_disk_name() and get_ada_disk_name().
1568 2011-06-13 Colin Watson <cjwatson@ubuntu.com>
1570 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
1573 2011-05-29 Colin Watson <cjwatson@ubuntu.com>
1575 * docs/grub.texi (Obtaining and Building GRUB): Substitute
1576 `ftp.gnu.org' for `alpha.gnu.org'.
1578 2011-05-27 Colin Watson <cjwatson@ubuntu.com>
1580 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
1581 partitions under /dev/disk/by-id/.
1583 2011-05-27 Colin Watson <cjwatson@ubuntu.com>
1585 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
1586 after ten consecutive open failures. Scanning all the way up to
1587 10000 is excessive and can cause serious performance problems in
1588 some configurations.
1589 Fixes Ubuntu bug #787461.
1591 2011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
1593 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
1596 2011-05-21 Colin Watson <cjwatson@ubuntu.com>
1597 2011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
1599 Don't stat devices unless we have to.
1601 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
1603 (grub_guess_root_device): Use already known os_dev if possible.
1604 * grub-core/kern/emu/hostdisk.c
1605 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
1606 if device is known to be a dm one.
1608 2011-05-20 Colin Watson <cjwatson@ubuntu.com>
1610 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
1611 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
1612 Reported by: Pawel Tecza.
1614 2011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
1616 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
1617 (lsefisystab): Likewise.
1619 (lsefimmap): Likewise.
1620 (hdparm): Enable on qemu-mips.
1621 (setjmp): Add ia64 nodist.
1622 (serial): Simplify tags.
1624 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
1626 * Makefile.util.def (grub-ofpathname): Install manual page.
1628 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
1630 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
1632 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
1634 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
1636 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
1638 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
1641 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
1643 Use full 64-bit division.
1645 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
1646 (grub_divmod64): ... this.
1647 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
1650 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
1652 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
1655 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
1657 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
1658 to avoid accidents when debugging with 'sh -x'.
1659 * grub-core/gensyminfo.sh.in: Likewise.
1660 * tests/example_scripted_test.in: Likewise.
1661 * tests/grub_cmd_regexp.in: Likewise.
1662 * tests/grub_script_blanklines.in: Likewise.
1663 * tests/grub_script_dollar.in: Likewise.
1664 * tests/grub_script_expansion.in: Likewise.
1665 * tests/grub_script_final_semicolon.in: Likewise.
1666 * tests/partmap_test.in: Likewise.
1667 * tests/util/grub-shell-tester.in: Likewise.
1668 * tests/util/grub-shell.in: Likewise.
1670 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
1672 Move gfxmenu color handling to video, so that gfxterm can use it
1675 * grub-core/gfxmenu/named_colors.c: Move to ...
1676 * grub-core/video/colors.c: ... here. Rename
1677 grub_gui_get_named_color to grub_video_get_named_color.
1678 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
1679 * grub-core/video/colors.c (my_isxdigit): ... here.
1680 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
1682 * grub-core/video/colors.c (parse_hex_color_component): ... here.
1683 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
1685 * grub-core/video/colors.c (grub_video_parse_color): ... here.
1687 * include/grub/gui.h (grub_gui_color_t): Move to ...
1688 * include/grub/video.h (grub_video_rgba_color_t): ... here.
1689 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
1690 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
1691 * include/grub/gui.h (grub_gui_map_color): Move to ...
1692 * include/grub/video.h (grub_video_map_rgba_color): ... here.
1693 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
1695 * include/grub/video.h (grub_video_get_named_color): ... here.
1696 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
1697 * include/grub/video.h (grub_video_parse_color): ... here.
1699 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
1701 (gfxmenu): Remove gfxmenu/named_colors.c.
1702 (video) [videomodules]: Add video/colors.c.
1704 Add a background_color command.
1706 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
1708 (GRUB_MOD_INIT): Register background_color command.
1709 (GRUB_MOD_FINI): Unregister background_color command.
1710 (redraw_screen_rect): Allow blend/replace of text layer to be
1711 controlled independently from whether there is a background bitmap.
1712 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
1715 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
1717 Patch BPB in ntldr and chainloader --bpb.
1719 * grub-core/fs/fat.c: Include grub/fat.h.
1720 (grub_fat_bpb): Moved to ...
1721 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
1722 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
1724 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
1726 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
1728 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
1730 (grub_chainloader_cmd): Patch BPB if --bpb is given.
1731 (GRUB_MOD_INIT): Show --bpb.
1732 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
1733 * grub-core/normal/main.c (features): New variable.
1734 (GRUB_MOD_INIT): Set feature_* variables.
1735 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
1737 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
1739 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
1741 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
1744 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
1746 FreeDOS direct loading support.
1748 * docs/grub.texi (Supported OS): Add FreeDOS.
1749 * grub-core/Makefile.core.def (freedos): New module.
1750 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
1752 (grub_relocator16_boot): Handle %ebx.
1753 * grub-core/lib/i386/relocator16.S: Likewise.
1754 * grub-core/loader/i386/pc/freedos.c: New file.
1756 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
1758 Long Linux command line support.
1760 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
1761 (maximal_cmdline_size): New variable.
1762 (allocate_pages): Use maximal_cmdline_size.
1763 (grub_cmd_linux): Set and use maximal_cmdline_size.
1764 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
1765 (allocate_pages): Use maximal_cmdline_size.
1766 (grub_cmd_linux): Set and use maximal_cmdline_size.
1767 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
1768 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
1771 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
1772 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
1774 Improve devmapper support
1776 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
1777 (grub_util_is_lvm): New function.
1778 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
1779 than lvm if not dmraid.
1780 Handle mapped md nodes.
1781 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
1782 (grub_util_device_is_mapped): ... this. Make always available. All users
1784 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
1785 (convert_system_partition_to_system_disk): Handle lvm, mpath and
1787 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
1789 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
1791 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
1793 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
1794 * grub-core/modinfo.sh.in: New file.
1795 * grub-core/Makefile.core.def (modinfo.sh): New script.
1796 * util/grub-mknetdir.in: Use modinfo.sh.
1797 * util/grub-mkrescue.in: Likewise.
1799 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
1801 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
1802 Fix potential usage of Elf32 instead of Elf64 when compiling on
1803 32-bit architecture. Add endianness macros while on it.
1805 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
1807 Use mipsel- rather than mips- in directories involving mipsel ports to
1808 allow both endiannesses coexist.
1810 * configure.ac: proparate target_cpu=mipsel rather than resetting to
1811 mips. All conditions adjusted.
1812 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
1814 * util/grub-install.in: Adjust conditions to take renaming into account.
1815 * util/grub-mkimage.c (image_targets): Likewise. New target
1816 mips-qemu_mips-elf for bigendian mips.
1818 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
1820 Avoid unnecessary copying on MIPS.
1822 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
1823 early if src == dest.
1824 * util/grub-mkimage.c (generate_image): Arange for src == dest if
1825 compression is none.
1827 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
1829 Reduce memory footprint on SGI by putting modules before the kernel
1830 as opposed to after.
1832 * grub-core/Makefile.core.def (kernel): Increase linking address.
1833 (none_decompress): Likewise.
1834 (xz_decompress): Likewise.
1835 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
1837 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
1839 (grub_arch_modules_addr): New function.
1840 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
1841 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
1842 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
1844 * grub-core/kern/mips/startup.S (total_size): Rename to ...
1845 (grub_total_modules_size): ... this. Make global.
1846 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
1847 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
1849 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
1850 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
1851 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
1852 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
1853 * util/grub-mkimage.c (image_target_desc): New flag
1854 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
1855 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
1856 (generate_image): Handle images with modules before kernel.
1858 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
1860 Prevent potential loss of memory map by overwrite on qemu-mips.
1862 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
1863 Save ram size in $s4.
1864 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
1865 All users changed to grub_arch_memsize.
1866 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
1868 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
1869 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
1870 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
1873 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
1875 * .bzrignore: Remove grub-dumpbios.
1877 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
1879 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
1880 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
1881 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
1882 existing options which append).
1883 * docs/grub.texi (Simple configuration): Document new options.
1884 Reported by: Ian Jackson. Fixes Debian bug #617538.
1886 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
1888 * util/grub-fstest.c (cmd_cat): New function.
1889 (fstest): Handle CMD_CAT.
1891 (argp_parser): Handle cat.
1893 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
1895 * Makefile.util.def (grub-bin2h): Don't install.
1896 * docs/man/grub-bin2h.h2m: Remove.
1898 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
1900 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
1903 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
1905 Reenable qemu-mips port.
1907 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
1908 Fix small arc bug while on it.
1909 * gentpl.py: Handle qemu_mips.
1910 * grub-core/Makefile.am: Likewise.
1911 * grub-core/Makefile.core.def: Likewise.
1912 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
1913 inappropriate includes.
1914 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
1915 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
1916 * grub-core/kern/main.c (grub_modules_get_end)
1917 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
1918 * grub-core/kern/mips/qemu-mips: Moved to ..
1919 * grub-core/kern/mips/qemu_mips: ... this.
1920 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
1921 (grub_machine_init): Call terminfo_init and serial_init.
1922 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
1923 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
1925 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
1927 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
1928 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
1929 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
1930 * include/grub/mips/qemu_mips/cmos.h: New file.
1931 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
1932 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
1934 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
1935 Use correct mips-style address.
1936 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
1937 (GRUB_TICKS_PER_SECOND): Removed.
1938 (grub_get_rtc): Likewise.
1939 (grub_cpu_idle): Likewise.
1940 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
1942 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
1943 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
1944 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
1945 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
1946 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
1947 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
1948 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
1949 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
1951 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
1955 * Makefile.util.def (libgrubmods.a): Add dvh.c.
1956 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
1958 * configure.ac: New target mips-arc.
1959 * gentpl.py: Likewise.
1960 * grub-core/Makefile.am: Likewise.
1961 * grub-core/Makefile.core.def: Likewise.
1962 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
1963 (none_decompress): Likewise.
1964 (lsdev): New module.
1965 (datetime): Use lib/arc/datetime.c on ARC.
1966 (part_dvh): New module.
1967 * grub-core/commands/arc/lsdev.c: New file.
1968 * grub-core/disk/arc/arcdisk.c: Likewise.
1969 * grub-core/kern/mips/arc/init.c: Likewise.
1970 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
1972 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
1974 (grub_arch_dl_relocate_symbols): Likewise.
1975 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
1976 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
1977 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
1979 * grub-core/lib/arc/datetime.c: New file.
1980 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
1981 pci.h on non-loongson.
1982 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
1983 (grub_linux_boot): Set unused registers to 0.
1984 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
1985 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
1986 * grub-core/mmap/mips/uppermem.c: ...here.
1987 * grub-core/partmap/dvh.c: New file.
1988 * grub-core/term/arc/console.c: Likewise.
1989 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
1990 (grub_terminfo_set_current): Add terminal "arc".
1991 (grub_terminfo_readkey): Support ARC sequences.
1992 * include/grub/arc/arc.h: New file.
1993 * include/grub/arc/console.h: Likewise.
1994 * include/grub/disk.h (grub_disk_dev_id): Add
1995 GRUB_DISK_DEVICE_ARCDISK_ID.
1996 * include/grub/mips/arc/kernel.h: New file.
1997 * include/grub/mips/arc/memory.h: Likewise.
1998 * include/grub/mips/arc/time.h: Likewise.
1999 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
2000 * include/grub/mips/kernel.h (grub_halt): ... here.
2001 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
2003 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
2004 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
2005 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
2006 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
2008 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
2010 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
2011 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
2012 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
2013 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
2014 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
2015 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
2016 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
2017 (grub_phys_addr_t): Moved from here ...
2018 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
2019 (grub_vtop): Moved from here ...
2020 * include/grub/mips/memory.h (grub_vtop): ... here.
2021 (grub_map_memory): Moved from here ...
2022 * include/grub/mips/memory.h (grub_map_memory): ... here.
2023 (grub_unmap_memory): Moved from here ...
2024 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
2025 (grub_machine_mmap_iterate): Moved from here ...
2026 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
2027 (grub_mmap_get_lower): Moved from here ...
2028 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
2029 (grub_mmap_get_upper): Moved from here ...
2030 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
2031 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
2033 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
2034 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
2036 * include/grub/mips/time.h (grub_get_rtc): ... here.
2037 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
2039 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
2040 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
2042 * include/grub/mips/time.h (grub_cpu_idle): ... here.
2043 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
2045 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
2046 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
2047 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
2048 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
2049 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
2050 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
2051 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
2052 (GRUB_MACHINE_LINK_ADDR): Likewise.
2053 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
2055 * util/grub-install.in: Run dvhtool on ARC.
2056 * util/grub-mkimage.c (image_targets): Add mips-arc.
2057 (generate_image): Handle ECOFF output for mips-arc.
2059 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
2061 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
2064 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
2066 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
2067 after enabling port.
2069 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
2071 Skip incorrect USB devices.
2073 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
2075 * include/grub/usb.h (grub_usb_err_t): New enum value
2076 GRUB_USB_ERR_BADDEVICE.
2078 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
2080 Fuloong video init support.
2082 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
2084 (grub_vga_read_arx): New function.
2085 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
2087 (framebuffer): New members io, mmioptr and mmiobase.
2088 (read_sis_cmd): New function.
2089 (write_sis_cmd): Likewise.
2090 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
2091 rather than 640x400.
2092 * grub-core/video/sis315_init.c: New file.
2094 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
2096 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
2098 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
2099 to grub_dl_register_symbol.
2101 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
2103 Fix compilation errors.
2105 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
2107 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
2108 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
2109 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
2110 to loongson machines.
2112 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
2114 Several FS mtime support.
2116 * grub-core/fs/affs.c (grub_affs_time): New struct.
2117 (grub_affs_file): New field mtime.
2118 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
2119 type. Removed 'size'. New field 'di'. All users updated.
2120 (grub_affs_mount): Simplify checsum checking.
2121 (grub_affs_iterate_dir): New helper grub_affs_create_node.
2122 (grub_affs_dir): Handle mtime.
2123 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
2124 (grub_cpio_dir): Likewise.
2125 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
2126 (grub_hfs_filerec): New field mtime.
2127 (grub_hfs_dir): Handle mtime.
2128 (grub_hfs_mtime): New function.
2129 (grub_hfs_fs): Register grub_hfs_mtime.
2130 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
2131 (grub_iso9660_dir): New field mtime.
2132 (grub_fshelp_node): New field dirent.
2133 (iso9660_to_unixtime): New function.
2134 (iso9660_to_unixtime2): Likewise.
2135 (grub_iso9660_read_symlink): Use node->dirent.
2136 (grub_iso9660_iterate_dir): Likewise.
2137 (grub_iso9660_dir): Set mtime.
2138 (grub_iso9660_mtime): New function.
2139 (grub_iso9660_fs): Register grub_iso9660_mtime.
2140 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
2141 (grub_jfs_inode): New fields atime, ctime and mtime.
2142 (grub_jfs_dir): Set mtime.
2143 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
2144 * grub-core/fs/ntfs.c (list_file): Set mtime.
2145 (grub_ntfs_dir): Likewise.
2146 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
2147 (grub_reiserfs_iterate_dir): Set mtime.
2148 (grub_reiserfs_dir): Likewise.
2149 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
2150 (grub_fshelp_node): Likewise.
2151 (grub_sfs_iterate_dir): Set mtime.
2152 (grub_sfs_dir): Likewise.
2153 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
2154 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
2155 (grub_xfs_inode): New fields atime, mtime, ctime.
2156 (grub_xfs_dir): Set mtime.
2157 * include/grub/datetime.h (grub_datetime2unixtime): New function.
2158 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
2159 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
2161 Support UDF symlinks.
2163 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
2164 (grub_ufs_read_symlink): New function. All users updated.
2166 Check amiga partmap checksum.
2168 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
2169 (grub_amiga_partition): Likewise.
2170 (amiga_partition_map_checksum): New function.
2171 (amiga_partition_map_iterate): Check checksum.
2173 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
2177 * Makefile.util.def (libgrubmods.a): Add romfs.
2178 * grub-core/Makefile.core.def (romfs): New module.
2179 * grub-core/fs/romfs.c: New file.
2181 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
2183 Squashfs v4 support.
2185 * Makefile.util.def (libgrubmods.a): Add squash4.
2186 * grub-core/Makefile.core.def (squash4): New module.
2187 * grub-core/fs/squash4.c: New file.
2188 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
2189 disk_input_start, disk_input.
2190 (get_byte): Handle disk_input.
2191 (grub_zlib_disk_read): New function.
2192 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
2194 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
2195 2011-05-15 Feiran Zheng <famcool@gmail.com>
2197 * Makefile.util.def (libgrubmods.a): Add minix3.
2198 * grub-core/Makefile.core.def (minix3): New module.
2199 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
2200 (GRUB_MINIX_BSIZE): Removed.
2201 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
2202 (grub_minix_ino_t): New type.
2203 (grub_minix_le_to_cpu_ino): New macro.
2204 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
2205 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
2206 (grub_minix_data): New field block_size.
2207 (grub_minix_read_file): Handle 64-bit correctly.
2208 * grub-core/fs/minix3.c: New file.
2210 2011-05-15 Tristan Gingold <gingold@free.fr>
2211 2011-05-15 Robert Millan <rmh.grub@aybabtu.com>
2212 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
2216 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
2217 * configure.ac: Add ia64-efi target.
2218 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
2219 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
2220 * gentpl.py: Add ia64_efi platform.
2221 Rename x86_efi to efi and Add ia64-efi. All users updated.
2222 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
2223 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
2224 Remove kern/generic/rtc_get_time_ms.c on EFI.
2225 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
2226 kern/ia64/dl_helper.c on ia64-efi.
2227 Add kern/emu/cache.c on emu.
2228 (linux): Use on loader/ia64/efi/linux.c on ia64.
2229 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
2230 whether symbol is a function.
2231 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
2232 (grub_symbol): New field 'isfunc'.
2233 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
2234 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
2235 (grub_dl_load_segments): Place all sections into the same region.
2236 [__ia64__]: Create trampolines and got.
2237 [GRUB_MACHINE_EMU]: Call mprotect.
2238 (grub_dl_resolve_symbols): Resolve symbol type as well.
2239 [__ia64__]: Create function descriptors.
2240 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
2241 (grub_rtc_get_time_ms): ... this. Expressions simplified.
2242 (grub_get_rtc): New function.
2243 * grub-core/kern/emu/cache.c [__ia64__]: New file.
2244 * grub-core/kern/emu/cache.S: Renamed to ...
2245 * grub-core/kern/emu/cache_s.S: ... this.
2246 [__ia64__]: Add a nop.
2247 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
2248 [__ia64__]: New function.
2249 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
2250 * grub-core/kern/ia64/dl.c: New file.
2251 * grub-core/kern/ia64/dl_helper.c: Likewise.
2252 * grub-core/kern/ia64/efi/init.c: New file.
2253 * grub-core/kern/ia64/efi/startup.S: Likewise.
2254 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
2255 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
2256 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
2257 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
2258 * grub-core/loader/ia64/efi/linux.c: New file.
2259 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
2260 (GRUB_MOD_DEP): Likewise.
2261 (grub_dl) [__ia64__]: New fields got and tramp.
2262 (grub_dl): New field 'base'.
2263 (grub_dl_register_symbol): New argument isfunc. All users updated.
2264 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
2265 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
2266 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
2267 (grub_ia64_dl_get_tramp_got_size): New proto.
2268 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
2269 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
2270 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
2271 * include/grub/efi/api.h: Skip call wrappers on ia64.
2272 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
2273 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
2274 * include/grub/elf.h (ELF_ST_INFO): New definition.
2275 * include/grub/ia64/efi/kernel.h: New file.
2276 * include/grub/ia64/efi/memory.h: Likewise.
2277 * include/grub/ia64/efi/time.h: Likewise.
2278 * include/grub/ia64/kernel.h: Likewise.
2279 * include/grub/ia64/setjmp.h: Likewise (from glibc).
2280 * include/grub/ia64/time.h: New file.
2281 * include/grub/ia64/types.h: Likewise.
2282 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
2283 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
2285 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
2286 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
2287 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
2288 * util/grub-mkimage.c (image_target_desc): New field pe_target.
2290 (EFI64_HEADER_SIZE): New definition. All users updated.
2291 (image_targets): Add ia64-efi.
2292 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
2293 jumpers_addr. All users updated.
2294 Create function descriptors.
2295 (count_funcs): New function.
2296 (unaligned_uint32): New struct.
2297 (MASK20): New definition.
2299 (MASKF21): Likewise.
2300 (add_value_to_slot_20b): New function.
2301 (add_value_to_slot_21_real): Likewise.
2302 (add_value_to_slot_21): Likewise.
2303 (ia64_kernel_trampoline): New struct.
2304 (nopm): New variable.
2306 (make_trampoline): New function.
2307 (relocate_addresses): Handle ia64.
2308 (make_reloc_section): Likewise.
2309 (load_image): Likewise.
2311 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
2313 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
2314 warning. Move variables before code while on it.
2316 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
2320 * configure.ac: Rename yeeloong platform to loongson. All users updated.
2321 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
2322 * grub-core/boot/mips/loongson/fuloong.S: New file.
2323 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
2324 Explicitly init CS5536.
2325 [FULOONG]: Don't use serial until CS5536 is available.
2326 Set GPIO based on dumps.
2327 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
2328 [FULOONG]: Handle GPIO and memory controller differences.
2329 Parse machine type in $a2.
2330 * grub-core/boot/mips/startup_raw.S: Determine and save the
2332 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
2333 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
2334 init on architecture type.
2335 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
2336 SIS315E. Don't init at_keyboard on fuloong.
2337 (grub_halt): Support Fuloong.
2338 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
2339 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
2340 (loongson_machtypes): New array.
2341 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
2343 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
2344 config. All users updated. Handle CS5536 serial.
2345 * grub-core/term/serial.c (grub_serial_register): Conditionalise
2346 default port on machine type. Register serial as inactive.
2347 * grub-core/video/sis315pro.c: New file.
2348 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
2350 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
2351 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
2352 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
2353 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
2354 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
2355 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
2357 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
2358 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
2360 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
2361 (grub_arch_machine): New extern var.
2362 * include/grub/mips/loongson/serial.h
2363 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
2364 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
2365 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
2366 (GRUB_MACHINE_SERIAL_PORT0): ... this.
2367 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
2368 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
2369 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
2370 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
2371 * include/grub/term.h (grub_term_register_input_inactive): New inline
2373 (grub_term_register_output_inactive): Likewise.
2374 * include/grub/video.h (grub_video_driver_id): New value
2375 GRUB_VIDEO_DRIVER_SIS315PRO.
2376 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
2377 New field "names". All users updated.
2378 New field value IMAGE_FULOONG_FLASH.
2379 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
2381 2011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
2383 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
2384 and add some clarification.
2386 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2388 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
2389 platforms if kernel is compressed.
2391 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2393 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
2394 unused modules since currently referrence counter isn't reliable and
2395 there isn't much memory to recover there anyway.
2397 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2399 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
2400 rather than resetting it to allow modules to reference themselves
2403 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2405 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
2406 counter on dependencies since grub_dl_unref already handles this.
2408 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2410 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
2411 on error if not already done.
2413 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2415 Fix few potential memory misusage.
2417 * grub-core/font/font.c (load_font_index): Don't free char_index to
2419 (grub_font_load): Zero-fill font at alloc for safety.
2420 Close file on error.
2421 (free_font): Free bmp_idx.
2423 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2425 * docs/grub.texi (Installation): Fix several outdated claims.
2427 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2429 Handle module_license on windows.
2431 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
2433 (insert_string): Make argument const char * instead of char *.
2434 (write_section_data): Handle long section names.
2435 Handle module_license.
2437 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2439 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
2440 handle class-free menuentries.
2441 (grub_normal_add_menu_entry): Add a check to be sure.
2443 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2445 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
2448 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
2450 * configure.ac: Bump version to 1.99.
2452 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
2454 Give ATA device a bit more time on first try in order to allow disks
2457 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
2458 if dev->present is 1. Reset dev->present on failure.
2459 (grub_ata_device_initialize): Set dev->present to 1.
2460 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
2461 (grub_ata_device): New member 'present'.
2463 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
2465 * util/grub-mkimage.c (generate_image): Update hash.
2467 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
2469 Flush caches on DMA memory.
2471 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
2472 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
2473 (grub_dma_free): Likewise.
2474 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
2476 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
2478 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
2479 to avoid asm treating ld and sd as macros.
2481 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
2483 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
2486 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
2488 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
2489 grub_decompress_core since later would fail if grub_decompress_core
2492 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
2494 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
2495 R_MIPS_JALR since it's used by newer compiler.
2497 2011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2499 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
2501 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2503 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
2504 file_path to 0 for surety.
2505 (grub_chainloader_boot): Set exit_data to NULL.
2506 Unset the loader once done.
2507 (grub_cmd_chainloader): Fix confusing error message if file is empty.
2509 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2511 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
2512 unknown key into a dprintf.
2514 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2516 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
2517 on first non-existant partition.
2519 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2521 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
2523 Reported by: Mark Korenberg.
2525 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2527 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
2530 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2532 * util/grub-mkimage.c (main): Explicitely flush and sync the output
2533 before closing to ensure that it will be readable by grub-setup.
2535 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
2537 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
2538 (devpath_1): Use MAKE_PIWG_PATH.
2539 (devpath_2): Likewise.
2540 (devpath_3): Likewise.
2541 (devpath_4): Likewise.
2542 (devpath_5): Likewise.
2543 (devpath_6): Likewise.
2545 The appleldr.mod was checked that to be binary identical to previous
2548 2011-05-05 Zach <mikezackles>
2550 Support 2010 Macbooks.
2552 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
2553 (devs): Add devpath_6.
2555 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
2557 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
2558 /dev/random. /dev/urandom is good enough for our purposes (salting).
2560 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
2562 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
2564 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
2566 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
2569 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
2571 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
2572 and not 0 on failure.
2574 2011-05-03 Colin Watson <cjwatson@ubuntu.com>
2576 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
2577 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
2578 disk; otherwise grub_fs_probe will not fall back to the next
2580 (grub_pxefs_open): Likewise, for consistency.
2581 Reported and tested by: Ezekiel Grave.
2583 2011-05-03 Colin Watson <cjwatson@ubuntu.com>
2585 * tests/partmap_test.in: Don't hardcode path to parted.
2586 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
2588 2011-05-01 Colin Watson <cjwatson@ubuntu.com>
2590 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
2591 of `ls' to find out which devices are available.
2593 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2595 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
2596 than source address for efi mmap buffer.
2598 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2600 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
2601 wrong action on non-detecting the magic.
2603 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2605 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
2606 already supplied by another part of the module (fixes compilation on
2609 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2611 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
2612 match the one used by mdadm.
2614 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
2616 * po/README: Add instructions for creating po/LINGUAS.
2618 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
2620 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
2623 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
2624 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
2625 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
2626 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
2627 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
2628 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
2629 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
2630 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
2631 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
2632 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
2633 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
2634 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
2635 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
2636 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
2637 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
2638 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
2639 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
2640 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
2641 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
2642 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
2643 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
2644 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
2646 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
2648 * grub-core/kern/emu/getroot.c
2649 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
2650 test that was incorrectly reintroduced in r3214.
2651 Reported by: Ian Dall. Fixes Savannah bug #33133.
2653 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
2655 Fix stack pointer handling in 16-bit relocator.
2657 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
2658 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
2659 Fixes Ubuntu bug #683904.
2661 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
2663 * configure.ac: Bump version to 1.99~rc2.
2665 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
2667 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
2668 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
2669 * grub-core/lib/x86_64/setjmp.S: Likewise.
2670 * grub-core/lib/mips/setjmp.S: Likewise.
2671 * grub-core/lib/powerpc/setjmp.S: Likewise.
2672 * grub-core/lib/sparc64/setjmp.S: Likewise.
2674 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
2676 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
2677 * grub-core/lib/efi/datetime.c: Likewise.
2679 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
2681 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
2683 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
2684 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
2685 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
2687 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
2689 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
2691 (grub_gfxterm_term_init): Likewise.
2693 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
2695 Take into account the decorations the computing menu entry width.
2697 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
2698 (grub_gfxmenu_create_box): Register get_border_width.
2699 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
2701 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
2704 2011-04-18 Endres Puschner <code@e7p.de>
2706 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
2707 Don't skip first class.
2709 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2711 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
2713 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
2715 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2717 Complete 64-bit division support.
2719 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
2720 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
2721 * include/grub/misc.h (grub_divmod64): Rename to ...
2722 (grub_divmod64_full): ... this.
2723 (grub_divmod64): New inline function.
2725 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2727 * util/grub-mkimage.c (generate_image): Add forgotten comma.
2729 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2731 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
2732 performing the necessary test.
2734 2011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
2736 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
2737 (kfreebsd.elf): Likewise.
2738 (pc-chainloader.elf): Likewise.
2739 (ntldr.elf): Likewise.
2741 2011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
2743 Identify RAID by its UUID rather than (guessed) name.
2745 * grub-core/disk/raid.c (ascii2hex): New function.
2746 (grub_raid_open): Accept mduuid/%s specification.
2747 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
2748 (get_mdadm_uuid): ... this.
2749 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
2751 2011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
2753 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
2756 2011-04-13 Colin Watson <cjwatson@ubuntu.com>
2758 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
2760 * util/grub.d/20_linux_xen.in: Likewise.
2762 2011-04-13 Colin Watson <cjwatson@ubuntu.com>
2764 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
2765 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
2767 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
2768 Build a list of relevant visible mounts using the mnt_id and
2769 parent_mnt_id fields, and then scan that list at the end.
2771 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
2773 * docs/grub.texi (normal): New section.
2774 (normal_exit): New section.
2775 (Embedded configuration): Add reference to normal.
2776 (GRUB only offers a rescue shell): Likewise.
2777 * docs/grub-dev.texi (Error Handling): Fix typo.
2779 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
2781 * NEWS: Drop obsolete entry about probe-only btrfs support.
2783 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
2785 * util/import_gcry.py: Fix typo.
2787 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2789 * NEWS: Add btrfs support.
2791 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2792 2011-04-11 Colin Watson <cjwatson@ubuntu.com>
2794 BtrFS support. Written by me (Vladimir) with important bugfixes and
2795 even more important testing by Colin.
2797 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
2798 * grub-core/Makefile.core.def (btrfs): Add crc.c.
2799 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
2800 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
2801 mem_input_off and mem_input. All users updated to accept in-RAM input.
2802 (gzio_seek): New function.
2803 (test_zlib_header): Likewise.
2804 (grub_gzio_read): Likewise.
2805 (grub_zlib_decompress): Likewise.
2806 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
2807 Accept partial and non-virtual mounts.
2808 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
2809 avoid receiving /dev/dm-X as device.
2810 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
2811 Handle bind and partial mounts.
2812 * grub-core/lib/crc.c: New file.
2813 * include/grub/deflate.h: Likewise.
2814 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
2816 * include/grub/lib/crc.h: New file.
2818 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2820 Implement automatic module license checking according to new GNU
2823 * grub-core/kern/dl.c (grub_dl_check_license): New function.
2824 (grub_dl_load_core): Use grub_dl_check_license.
2825 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
2826 (GRUB_MOD_LICENSE): Likewise.
2827 (GRUB_MOD_DUAL_LICENSE): Likewise.
2828 All modules updated.
2830 2011-04-11 Colin Watson <cjwatson@ubuntu.com>
2832 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
2833 reserved_first_sector to 1. btrfs reserves plenty of space for boot
2835 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
2837 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2839 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
2841 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2843 * util/grub-fstest.c (read_file): Report GRUB error if file opening
2846 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2848 * grub-core/kern/file.c (grub_file_open): Don't take into account the
2849 parenthesis in the middle of the filename.
2851 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
2853 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
2854 rather than trying to put initrd way too high.
2855 Reported by: Ryan Lortie <desrt@desrt.ca>
2857 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
2859 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
2860 improperly removed string.
2862 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
2864 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
2866 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
2867 (open_device) Likewise.
2868 (grub_util_biosdisk_close): Likewise.
2869 Reported by: Mark Korenberg.
2871 2011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
2873 * util/grub-mkconfig_lib.in: Add missing quotes.
2875 2011-04-10 Colin Watson <cjwatson@ubuntu.com>
2877 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
2880 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
2882 Dynamically count the number of lines for the lower banner.
2884 * grub-core/normal/menu_entry.c (per_term_screen): New member
2886 (print_down): Use num_entries.
2887 (update_screen): Likewise.
2888 (grub_menu_entry_run): Set num_entries.
2889 * grub-core/normal/menu_text.c (menu_viewer_data): New member
2891 (grub_print_message_indented): Move real part to ...
2892 (grub_print_message_indented_real): ... here. Additional argument
2894 (draw_border): Additional argument num_entries.
2895 (print_message): Additional argument dry_run.
2896 (print_entries): Receive menu viewer data.
2897 (grub_menu_init_page): New argment num_entries.
2898 (menu_text_set_chosen_entry): Use num_entries.
2899 (grub_menu_try_text): Likewise.
2900 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
2902 (grub_ucs4_count_lines): New function.
2903 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
2904 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
2905 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
2906 (grub_term_border_height): Likewise.
2907 (grub_term_num_entries): Likewise.
2909 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
2911 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
2912 Remove now unused string.
2914 2011-04-09 Colin Watson <cjwatson@ubuntu.com>
2916 * docs/grub-dev.texi (Finding your way around): Update for 1.99
2918 (Getting started): GRUB is developed in Bazaar now, not Subversion.
2920 (Comment): Fix typo.
2921 (Getting started): General copy-editing.
2922 (Typical Development Experience): Likewise.
2923 (Error Handling): Likewise.
2924 (Video API): Likewise.
2926 2011-04-09 Colin Watson <cjwatson@ubuntu.com>
2928 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
2931 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
2933 * util/grub-mkimage.c (main): Handle special naming of yeeloong
2936 2011-04-08 Colin Watson <cjwatson@ubuntu.com>
2938 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
2939 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
2942 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
2944 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
2945 grub_strcpy since the lines aren't necessarily 0-terminated.
2947 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
2949 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
2952 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
2954 * grub-core/commands/probe.c (options): Argument to set isn't optional.
2955 (GRUB_MOD_INIT): DEVICE isn't optional.
2957 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
2959 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
2960 word on new line if it's too long anyway. Fixes a hang.
2962 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
2964 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
2966 * util/grub-setup.c (main): Reuse md device name if available.
2967 * util/raid.c (grub_util_raid_getmembers): Receive device name and
2968 not GRUB name as argument.
2969 Based on patch by: Florian Wagner <fwagner>.
2971 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
2973 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
2974 Place mbi on low memory for better compatibility.
2976 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
2978 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
2980 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
2981 2011-04-08 Colin Watson <cjwatson@ubuntu.com>
2983 * autogen.sh: Ensure that collate and ctype locale is C.
2984 * conf/Makefile.common: Likewise.
2986 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
2988 * grub-core/normal/menu.c: Add missing include.
2990 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
2992 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
2994 2011-04-08 Martin Zuther <mzuther@mzuther.de>
2996 * util/grub-mkconfig.in: Ignore emacsen backup.
2998 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
3000 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
3002 (grub_util_biosdisk_close): Likewise.
3004 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
3006 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
3007 const attribute and use grub_isdigit.
3009 2011-04-06 Andrey <dev_null@ukr.net>
3011 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
3014 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
3016 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
3017 useful grub_dprintf's.
3019 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
3021 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
3023 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
3025 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
3027 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
3029 Output errors if theme loading failed.
3031 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
3032 grub_gfxterm_fullscreen on error paths to ...
3033 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
3034 theme loading error.
3036 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
3038 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
3039 space for older compilers.
3040 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
3042 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
3044 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
3045 and report them as not RAID members since they are useless for GRUB.
3046 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
3048 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
3050 Increase LVM implementation robustness in order not to crash on
3051 configurations like pvmove. Previously code assumed that in some places
3052 only lvs or only pvs are used whereas it seems that they are used
3055 * grub-core/disk/lvm.c (read_node): New function.
3056 (read_lv): Use read_node.
3057 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
3058 Match volumes only at the end when all lvs are found. Take both
3059 pvs (first) and lvs (second) into account.
3060 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
3061 mirror_* into node_*. All users updated.
3062 (grub_lvm_stripe): Merge this ...
3063 (grub_lvm_mirror): ... and this ...
3064 (grub_lvm_node): ... into this. All users updated.
3066 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
3068 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
3069 of function to allow further scanning for LVMs.
3071 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
3073 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
3074 on failed seek as it breaks open fd reusage.
3076 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
3078 * util/grub-install.in: Add a recommendation to use --recheck before
3081 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
3083 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
3086 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
3088 GRUB developper manual based on existing Internals section and
3089 contributions by the various authors with active copyright assignment.
3091 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
3092 * docs/font_char_metrics.png: New file.
3093 * docs/font_char_metrics.txt: Likewise.
3094 * docs/grub-dev.texi: Likewise.
3095 * docs/grub.texi (Internals): Move from here ...
3096 * docs/grub-dev.texi: ... here.
3098 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
3100 Store the loopback device as data on loopback grub_disk structures,
3101 rather than the file it points to. This fixes use of freed memory
3102 if an existing loopback device is replaced.
3104 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
3105 disk->data, not dev->file.
3106 (grub_loopback_read): Adjust file assignment to match.
3107 Fixes Ubuntu bug #742967.
3109 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
3111 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
3112 when replacing an existing device.
3114 2011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
3116 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
3119 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
3121 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
3122 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
3123 (grub_jfs_read_inode): Likewise.
3124 (grub_jfs_opendir): Likewise. Remove now useless casts.
3125 (grub_jfs_getent): Likewise.
3126 Make ino a grub_uint32_t rather than int.
3127 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
3128 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
3129 division and module with bit operations.
3130 (grub_jfs_find_file): Make ino a grub_uint32_t.
3131 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
3133 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
3135 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
3136 warning. (This was in fact always initialised before use, but GCC
3137 wasn't smart enough to prove that.)
3138 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
3140 2011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
3142 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
3144 (efi_wrap_1): Likewise.
3145 (efi_wrap_2): Likewise.
3146 (efi_wrap_3): Likewise.
3147 (efi_wrap_4): Likewise.
3148 (efi_wrap_5): Likewise.
3149 (efi_wrap_6): Likewise.
3150 (efi_wrap_10): Likewise.
3151 Based on information by: Red Hat/Peter Jones.
3153 2011-03-31 Colin Watson <cjwatson@ubuntu.com>
3155 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
3156 set-but-not-used variable.
3158 2011-03-31 Colin Watson <cjwatson@ubuntu.com>
3160 * docs/grub.texi (Simple configuration): Be more explicit about
3161 GRUB_DEFAULT, and add an example.
3162 Reported by: Leslie Rhorer.
3164 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
3166 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
3169 2011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
3171 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
3172 * util/grub.d/20_linux_xen.in: Likewise.
3174 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
3176 * util/grub.d/10_linux.in: Try alternative config filenames where
3177 we parse config file.
3178 * util/grub.d/20_linux_xen.in: Likewise.
3180 2011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
3182 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
3183 * util/grub.d/20_linux_xen.in: Likewise.
3185 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
3187 * grub-core/disk/raid.c (insert_array): Add few potentially
3188 useful grub_util_info.
3189 (grub_raid_register): Likewise.
3191 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
3193 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
3194 Preserve partition number in mdadm code path.
3196 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
3198 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
3199 few potentially useful grub_util_info.
3201 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
3203 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
3205 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
3207 * docs/grub.texi (default): Use @example rather than nested
3208 itemized lists to avoid breaking gendocs.
3210 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
3212 * docs/grub.texi (Future): Update.
3214 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
3216 * docs/grub.texi (Environment): New chapter.
3217 (Changes from GRUB Legacy): Link to "Environment block" section for
3218 details of limitations.
3219 (Simple configuration): Likewise. Link to documentation of gfxmode
3220 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
3222 (Shell-like scripting): Note that normal variables are stored in the
3224 (gettext): Link to documentation of lang and locale_dir.
3225 (list_env): New section.
3226 (load_env): New section.
3227 (save_env): New section.
3229 (Reporting bugs): Fix typo.
3231 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
3233 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
3236 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
3238 * grub-core/term/at_keyboard.c (set_scancodes)
3239 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
3241 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
3243 * docs/grub.texi (Menu-specific commands): Remove some semantics
3244 that were true in GRUB Legacy but not in GRUB 2.
3245 (submenu): New section.
3246 (false): New section.
3247 (read): New section.
3248 (true): New section.
3250 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
3252 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
3254 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
3256 * docs/grub.texi (Simple configuration): Explain some of the
3257 current limitations of grub-mkconfig.
3258 Reported by: Leslie Rhorer.
3260 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
3262 Old macs search for boot.efi rather than for bootia32.efi.
3264 * util/grub-install.in: Copy bootia32.efi to boot.efi.
3265 * util/grub-mkrescue.in: Likewise.
3266 Suggested by: Peter Jones.
3268 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
3270 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
3272 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
3274 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
3275 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
3276 (grub_lvm_mirror): New struct.
3277 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
3278 (grub_lvm_iterate): Iterate only visible volumes.
3279 (grub_lvm_read): Factor out to ..
3280 (read_lv): ... this. Support mirrors.
3281 (grub_lvm_read): New wrapper function.
3282 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
3283 stripped or mirrored.
3285 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
3287 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
3289 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
3291 * docs/grub.texi (loopback): New section.
3293 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
3295 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
3298 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
3300 * docs/grub.texi (BIOS installation): New section, partly based on
3301 previous text in other sections.
3302 (Installing GRUB using grub-install): Replace BIOS discussion with a
3306 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
3308 * grub-core/kern/emu/hostdisk.c (find_partition_start)
3309 [HAVE_DIOCGDINFO]: Add safety checks.
3311 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
3313 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
3314 per default compiled in kernel and prior to 8.0 isn't shipped at all.
3316 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
3318 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
3319 real_sb->size is zero (e.g. RAID-0), get the disk size from
3320 real_sb->data_size instead.
3321 Fixes Ubuntu bug #743136.
3323 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
3325 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
3326 printf clauses for printing size and start.
3328 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
3330 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
3331 Reported and tested by: Timothy Nikkel.
3333 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
3335 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
3336 (dirty_region_add_real): ... this.
3337 (dirty_region_add): Don't discard margin refresh when performing
3340 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
3342 * grub-core/lib/relocator.c (allocate_regstart)
3343 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
3344 terminals are capabple of malloc-free operation.
3345 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
3346 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
3348 2011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
3350 * util/grub-setup.c: Copy the partition table zone if floppy support
3351 is disabled, even if no partition table is found.
3353 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
3354 during POST if an invalid partition table is contained in the PBR
3355 of the active partition when GRUB is installed to a partition.
3357 2011-03-28 Colin Watson <cjwatson@debian.org>
3359 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
3362 2011-03-28 Colin Watson <cjwatson@debian.org>
3364 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
3365 to be specific about what kind of RAID device we're scanning for.
3367 2011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
3369 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
3370 return freed string.
3372 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
3374 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
3376 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
3378 Use libgeom on FreeBSD to detect partitions.
3380 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
3381 (grub-mkrelpath): Likewise.
3382 (grub-script-check): Likewise.
3383 (grub-editenv): Likewise.
3384 (grub-mkpasswd-pbkdf2): Likewise.
3385 (grub-fstest): Likewise.
3386 (grub-mkfont): Likewise.
3387 (grub-mkdevicemap): Likewise.
3388 (grub-probe): Likewise.
3389 (grub-setup): Likewise.
3390 (grub-ofpathname): Likewise.
3391 (grub-mklayout): Likewise.
3392 (example_unit_test): Likewise.
3393 (grub-menulst2cfg): Likewise.
3394 * grub-core/Makefile.core.def (grub-emu): Likewise.
3395 (grub-emu-lite): Likewise.
3396 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
3397 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
3398 define HAVE_DIOCGDINFO.
3399 (follow_geom_up) [FreeBSD]: New function.
3400 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
3401 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
3402 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
3403 unconditionally of HAVE_DIOCGDINFO.
3405 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
3407 Fix FreeBSD compilation problem.
3409 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
3410 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
3412 2011-03-24 Colin Watson <cjwatson@ubuntu.com>
3414 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
3415 Switch back to page zero before loading a kernel, since some kernel
3416 drivers expect that.
3417 Thanks to: Felix Kuehling.
3419 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
3421 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
3422 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
3423 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
3425 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
3427 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
3428 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
3430 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
3432 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
3433 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
3436 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
3438 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
3439 for modules headers when counting the needed allocation size.
3441 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
3443 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
3444 if no ASCII character is found to prevent crash.
3446 2011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
3448 * grub-core/video/bitmap.c (match_extension): Ignore case.
3450 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
3452 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
3454 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
3456 * grub-core/script/parser.y: Declare "time" as valid argument.
3458 2011-03-23 Peter Jones <pjones@redhat.com>
3460 Fix incorrect assert failure reporting.
3462 * grub-core/tests/example_functional_test.c (example_test): Add
3464 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
3465 (failure_start): ...this. Check that malloc succeeded.
3466 Don't call xvasprintf. Return failure struct.
3467 (failure_append_vtext): New function.
3468 (failure_append_text): Likewise.
3469 (add_failure): Likewise.
3470 (grub_test_assert_helper): Likewise.
3471 * include/grub/test.h (grub_test_assert_helper): New declaration.
3472 (grub_test_assert): Macro rewritten.
3474 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
3476 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
3478 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
3480 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
3482 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
3484 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
3485 into GRUB-style one.
3487 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
3489 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
3490 error and not grub_errno.
3491 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
3493 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
3495 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
3496 GRUB_USB_SPEED_NONE in case of failure and not the error code.
3498 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
3500 * grub-core/efiemu/i386/pc/cfgtables.c
3501 (grub_machine_efiemu_init_tables): Make declaration a prototype.
3502 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
3503 (grub_xnu_unlock): Likewise.
3504 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
3506 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
3508 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
3509 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
3510 * grub-core/commands/hashsum.c (aliases): Likewise.
3511 * grub-core/commands/setpci.c (pci_registers): Likewise.
3512 * grub-core/disk/usbms.c (attach_hook): Likewise.
3513 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
3514 (zio_checksum_table): Likewise.
3515 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
3516 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
3517 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
3518 * grub-core/lib/relocator.c (leftovers): Likewise.
3519 (extra_blocks): Likewise.
3520 * grub-core/loader/i386/bsd.c (relocator): Likewise.
3521 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
3522 (modules_last): Likewise.
3523 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
3524 (devices): Likewise.
3525 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
3526 (modules_last): Likewise.
3527 * grub-core/normal/auth.c (users): Likewise.
3528 * grub-core/normal/context.c (initial_menu): Likewise.
3529 (current_menu): Likewise.
3530 * grub-core/normal/crypto.c (crypto_specs): Likewise.
3531 * grub-core/term/serial.c (grub_serial_ports): Likewise.
3532 (grub_serial_terminfo_input_template): Likewise.
3533 (grub_serial_terminfo_output_template): Likewise.
3534 (grub_serial_terminfo_input): Likewise.
3535 (grub_serial_terminfo_output): Likewise.
3536 (registered): Likewise.
3537 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
3539 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
3541 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
3542 grub_video_mode_type_t.
3543 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
3544 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
3545 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
3547 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
3549 * util/grub-install.in: Correct the x86-64 name as x86_64.
3551 2011-03-11 Colin Watson <cjwatson@ubuntu.com>
3553 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
3554 initial chunk read from the kernel always includes GRUB's multiboot
3555 header, which is now outside the first sector.
3557 2011-03-09 Colin Watson <cjwatson@ubuntu.com>
3559 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
3560 cached mmap_size, so that this works correctly when called multiple
3562 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
3564 2011-03-09 Colin Watson <cjwatson@ubuntu.com>
3566 * docs/grub.texi (Simple configuration): Tidy up formatting.
3568 2011-03-07 Szymon Janc <szymon@janc.net.pl>
3570 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
3571 Set-but-not-used variable removed.
3573 2011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
3575 Workaround yet another IEEE1275 bug.
3577 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
3578 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
3579 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
3580 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
3582 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
3583 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
3585 2011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
3587 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
3590 2011-02-11 Colin Watson <cjwatson@ubuntu.com>
3592 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
3593 empty, since in that case we can only generate either nothing or a
3594 syntactically invalid configuration file.
3595 Reported by: Michal Suchanek. Fixes Debian bug #612898.
3597 2011-02-09 Colin Watson <cjwatson@ubuntu.com>
3599 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
3600 (Making a GRUB bootable CD-ROM): Likewise.
3601 (Invoking grub-mkrescue): New section.
3602 Reported by: Yann Dirson. Fixes Debian bug #612585.
3604 2011-02-09 Colin Watson <cjwatson@ubuntu.com>
3606 * util/grub-install.in: Remove unnecessary brackets from tr
3608 * util/grub.d/10_hurd.in: Likewise.
3609 * util/grub.d/10_kfreebsd.in: Likewise.
3610 * util/grub.d/10_linux.in: Likewise.
3611 * util/grub.d/20_linux_xen.in: Likewise.
3612 Reported by: Jamie Heilman. Fixes Debian bug #612564.
3614 2011-02-08 Colin Watson <cjwatson@ubuntu.com>
3616 * include/grub/file.h (not_easly_seekable): Rename to ...
3617 (not_easily_seekable): ... this. Update all users.
3619 2011-01-28 Colin Watson <cjwatson@ubuntu.com>
3621 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
3624 2011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
3626 * util/grub-mkimage.c (generate_image): Refuse to create the images
3627 bigger than the actual flash (512K) in Loongson machines. 512K is also
3628 the biggest chip supported by them.
3630 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
3632 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
3634 2011-01-22 Anthony DeRobertis <anthony@derobert.net>
3636 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
3639 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
3641 * util/grub-install.in: Ignore install device on platforms
3642 where it doesn't make sense. Always use UUIDs except on pc, efi and
3644 Reported by: Daniel Kahn Gillmor.
3646 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
3648 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
3650 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
3652 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
3653 (iterate_real): Don't rely on partition being non-NULL.
3655 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
3657 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
3658 supported platforms. Put a compile time assert for this rather than
3659 generate a warning with 32-bit shift.
3661 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
3663 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
3664 logical expression more readable.
3666 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
3668 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
3669 even if some elements have a name.
3670 Reported by: Alexander GQ Gerasiov.
3672 2011-01-22 Colin Watson <cjwatson@ubuntu.com>
3674 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
3675 path unreadable if `grub-probe -t abstraction' fails, for example if
3676 memberlist fails on an LVM volume group.
3677 Reported by: Darius Jahandarie.
3679 2011-01-22 Colin Watson <cjwatson@ubuntu.com>
3681 * docs/grub.texi (Simple configuration): Document
3682 GRUB_PRELOAD_MODULES.
3684 2011-01-17 Colin Watson <cjwatson@ubuntu.com>
3686 * .bzrignore: Remove nonexistent grub-pbkdf2.
3688 2011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
3690 * configure.ac: Bump version to 1.99~rc1.
3692 2011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
3694 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
3697 2011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3699 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
3702 2011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3704 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
3706 2011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
3708 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
3711 2011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
3713 Fix compilation on cygwin.
3715 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
3716 -R .drectve on cygwin.
3717 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
3718 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
3719 (COND_CYGWIN): New condition.
3720 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
3721 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
3722 not @TARGET_OBJ2ELF@.
3723 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
3724 type to determine whether aux is to be used.
3726 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
3728 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
3729 realpath'ed device string.
3730 Handle floppy (somewhat).
3731 Issue error in unknown case rather than garbage.
3732 Reported by: Axel Beckert.
3734 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
3736 * util/grub.d/00_header.in (load_video): Handle the case when no video
3738 Thanks to: Axel Beckert.
3740 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
3742 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
3743 variable. Fixes problem on big endian platforms.
3745 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
3747 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
3748 It doesn't work well there.
3750 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
3752 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
3754 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
3755 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
3758 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
3760 Use alias->path rather than buggy "canon".
3762 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
3763 (ofdisk_hash_add): New argument curcan. All users updated.
3765 2011-01-11 Colin Watson <cjwatson@ubuntu.com>
3767 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
3769 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
3771 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
3772 loadmask before doing any calculations. Use correct type for offset.
3773 (grub_linux_load64): Likewise.
3775 2011-01-11 Colin Watson <cjwatson@ubuntu.com>
3777 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
3779 (console_grub_equivalences_unshift): Likewise.
3780 Reported by: Daniel Dehennin.
3782 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
3784 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
3785 (set_env_limn_ro): Likewise.
3786 (GRUB_MOD_INIT): Likewise.
3787 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
3788 ARRAY_SIZE while on it.
3789 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
3790 * grub-core/normal/context.c (grub_env_export): Move from here ...
3791 * grub-core/kern/env.c (grub_env_export): ... here.
3792 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
3794 * grub-core/kern/main.c (grub_main): Export root and prefix.
3795 * include/grub/env.h (grub_env_export): Export.
3796 Reported by: Seth Goldberg.
3798 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
3800 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
3801 Take into account space used by ELF sections and multiboot palette.
3802 Reported by: Grégoire Sutre.
3804 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
3808 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3810 Pass more appropriate video id to Linux.
3812 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
3813 grub_video_get_driver_id and variable gfxpayloadforcelfb to
3815 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
3816 shift params->lfb_size.
3817 * include/grub/i386/linux.h: Make an enume out of have_vga values.
3819 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3821 * util/grub-menulst2cfg.c: Add missing include of misc.h.
3823 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3825 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
3826 separator and pass bootpath/devid even if only one of them is available.
3827 Reported by: Seth Goldberg.
3829 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3831 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
3832 implementations bug on them.
3834 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
3836 (filter_memory_map): Likewise.
3838 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3840 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
3841 Reported by: nebuchadnezzar.
3843 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3845 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
3846 Reported by: nebuchadnezzar.
3848 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3850 Submenu default support.
3852 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
3853 auto_boot. All users updated.
3855 Handle chosen and default with submenus.
3856 (grub_menu_execute_with_fallback): Declared static.
3857 Don't notify failure if autobooted. Upper level does it.
3858 (menuentry_eq): New function.
3859 (get_entry_number): Use menuentry_eq.
3860 (show_menu): New parameter "autobooted". All users updated.
3861 (grub_show_menu): Likewise.
3862 * include/grub/normal.h (grub_show_menu): Likewise.
3863 * include/grub/menu.h (grub_menu_execute_entry): Removed.
3864 (grub_menu_execute_with_fallback): Likewise.
3866 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3868 * util/grub-mklayout.c (usage): Update help text.
3870 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3872 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
3874 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3876 * util/grub-menulst2cfg.c (main): Trim the line.
3878 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3880 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
3881 (grub_machine_init): Don't check amount of low memory as reportedly
3882 INT 12h can be broken and if low memory is too low we wouldn't have
3883 gotten into grub_machine_init anyway.
3885 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3887 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
3888 (grub_machine_mmap_iterate): Take low memory into account
3890 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3892 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
3896 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3898 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
3901 2011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
3903 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
3904 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
3906 2011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
3908 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
3909 openbsd and netbsd types being in part_bsd module.
3911 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
3913 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
3914 (_FILE_OFFSET_BITS): Likewise.
3915 Reported by: Seth Goldberg.
3917 2011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
3919 * configure.ac: Check for libdevmapper header.
3921 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
3923 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
3925 (fzap_lookup): Likewise.
3926 (dnode_get): Likewise.
3927 (make_mdn): Likewise.
3928 (zfs_mount): Likewise.
3929 (fzap_iterate): Use temporary pointer to avoid aliasing.
3930 (grub_zfs_read): Likewise.
3931 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
3932 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
3933 pointers to avoid aliasing.
3934 (grub_cmd_xnu_kernel64): Likewise.
3935 (grub_xnu_load_driver): Likewise.
3937 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
3939 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
3941 (grub_cmd_terminal_output): Likewise.
3942 Reported and tested by: Grégoire Sutre.
3944 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
3946 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
3948 Reported and tested by: Grégoire Sutre.
3950 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
3952 * configure.ac: Do CPU substitution even if it's specified explicitly.
3953 Reported and tested by: Alain Greppin.
3955 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
3957 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
3958 Reported and tested by: Alain Greppin.
3960 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
3962 Satisfy some bison versions need for inttypes.h.
3964 * grub-core/lib/posix_wrap/inttypes.h: New file.
3965 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
3966 (int16_t): Likewise.
3967 (int32_t): Likewise.
3968 (int64_t): Likewise.
3969 Reported and tested by: Alain Greppin.
3971 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
3973 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
3974 Silence spurious warning.
3975 Reported and tested by: Alain Greppin.
3977 2011-01-07 Szymon Janc <szymon@janc.net.pl>
3979 * docs/grub.texi (Support automatic decompression): Update with xz
3980 decompression support.
3982 2011-01-07 Szymon Janc <szymon@janc.net.pl>
3984 Improve loaders' kernel command line handling.
3986 * grub-core/lib/cmdline.c: New file.
3987 * include/grub/lib/cmdline.h: Likewise.
3988 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
3989 grub_create_loader_cmdline to create kernel command line.
3990 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
3991 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
3992 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
3993 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
3994 (linux): Add lib/cmdline.c on common.
3996 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
3998 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
3999 inopos might be unaligned.
4001 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
4003 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
4004 endian transformations.
4005 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
4006 Based on report by: Doug Nazar.
4008 2011-01-07 Doug Nazar <nazard.michi@gmail.com>
4010 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
4011 array->members[i].start_sector.
4012 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
4014 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
4016 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
4017 Reported and tested by: Grégoire Sutre.
4019 2011-01-06 Colin Watson <cjwatson@ubuntu.com>
4021 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
4022 avoid causing test failures by clearing the screen.
4024 2011-01-06 Colin Watson <cjwatson@ubuntu.com>
4026 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
4027 Fix prefix check to handle the case where dir ends with a slash
4028 (most significantly, "/" itself).
4029 Reported by: Michael Vogt.
4031 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
4033 Run terminfo_cls on initing terminfo output to clear the screen and
4034 move the cursor to (0,0).
4036 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
4037 Call grub_terminfo_output_init.
4038 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
4039 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
4040 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
4042 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
4044 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
4047 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
4049 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
4052 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
4054 The E820 type 5 is BADRAM, not EXEC_CODE.
4056 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
4057 (GRUB_E820_BADRAM): New define.
4058 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
4059 into reserved. Propagate BADRAM.
4060 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
4061 (GRUB_E820_BADRAM): New define.
4063 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
4065 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
4066 Ignore the memory post-4G.
4067 (grub_relocator_firmware_alloc_region): Additional debug statement.
4069 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
4071 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
4073 Reported by: David Pravec.
4075 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
4077 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
4080 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
4082 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
4084 (grub_reed_solomon_recover): Likewise.
4086 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
4088 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
4090 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
4092 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
4095 2011-01-04 Colin Watson <cjwatson@ubuntu.com>
4097 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
4098 descriptions of extract_legacy_entries_source and
4099 extract_legacy_entries_configfile.
4100 Reported by: Seung Soo, Ha.
4102 2011-01-03 Colin Watson <cjwatson@ubuntu.com>
4104 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
4105 on devices that do not implement function 0.
4107 2011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
4109 * grub-core/fs/hfsplus.c: Make parent unsigned.
4110 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
4112 (grub_hfsplus_cmp_extkey): Likewise
4114 2011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
4116 * util/grub-install.in: Correctly use bootloader_id and not
4117 GRUB_DISTRIBUTOR on efibootmgr line.
4119 2011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
4121 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
4123 2010-12-31 Ian Campbell <ijc@hellion.org.uk>
4125 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
4126 Xen and reorder menu item wording to make it clearer that this entry
4127 will launch Xen. Print separate messages when loading Xen and
4130 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
4132 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
4133 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
4134 loop in case of incorrect amiga partmap.
4136 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
4138 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
4139 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
4142 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
4144 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
4146 Reported by: crocket
4148 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
4150 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
4152 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
4154 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
4156 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
4158 (grub_cmd_xnu_kextdir): Likewise.
4159 (grub_cmd_xnu_splash): Likewise.
4161 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
4163 Avoid using Reed-Solomon with 0 redundancy.
4165 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
4166 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
4168 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
4169 (grub_reed_solomon_recover): Likewise.
4171 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
4173 Don't use disk subsystem in freebsd_boot.
4175 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
4176 (freebsd_biosdev): Likewise.
4177 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
4178 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
4180 2010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
4182 Handling of files of unknown size is currently limited. They can't be
4183 used e.g. for initrd or modules. Moreover gzip handling of not
4184 easily seekable files is buggy. Disable unknown file size for now. May
4185 be inefficient but works.
4187 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
4188 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
4190 2010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
4192 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
4195 2010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
4197 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
4199 2010-12-25 Shea Levy <shlevy>
4201 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
4203 2010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4205 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
4206 Windows Server 2008.
4207 Reported by: Devin Giddings.
4209 2010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4211 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
4212 writing an error message because of async power management.
4213 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
4214 (grub_reboot): Likewise.
4216 2010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
4218 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
4219 keep unit tests from failing when they shouldn't.
4221 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
4223 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
4224 previous patch increased the size of the RS code by 20 bytes (at
4225 least with gcc-4.4), so increase this by 20 bytes to match.
4226 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
4228 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
4230 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
4231 scratch area. Make sure to initialise chosen in standalone mode as
4232 well as non-standalone.
4233 Reported by: Robert Hooker and Andy Whitcroft.
4234 Tested by: Andy Whitcroft.
4236 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
4238 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
4239 constructing a new unescaped string and passing it to grub_xputs in
4240 one go, rather than passing characters to grub_printf one at a time.
4242 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
4244 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
4247 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
4249 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
4250 comment. Add an extra layer of quotation, requiring the output of
4251 this function to be used in a printf format string.
4252 (gettext_printf): New function.
4253 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
4254 Extract translatable strings from here-documents and use a temporary
4255 variable instead, so that xgettext can find them.
4256 * util/grub.d/10_kfreebsd.in: Likewise.
4257 * util/grub.d/10_linux.in: Likewise.
4258 * util/grub.d/20_linux_xen.in: Likewise.
4260 * po/grub.d.sed: New file.
4261 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
4262 arguments. Set c-format flags on all strings extracted from
4263 util/grub.d/ (xgettext refuses to include these itself for strings
4264 it extracted from a shell file, but these really are c-format).
4266 2010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
4268 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
4269 Avoid next pointing to nowhere.
4271 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
4273 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
4274 rather than assuming than rootblock is exactly in the middle.
4275 (grub_affs_label): Likewise.
4277 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
4279 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
4280 reserved_first_sector to 0.
4281 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
4282 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
4283 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
4285 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
4287 Fix handling of UTF-16 UDF labels.
4289 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
4290 (read_string): .. here.
4291 (grub_udf_label): Use read_string.
4293 2010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
4295 * grub-core/normal/menu_entry.c (run): Execute commands from menu
4296 editor under argument scope.
4297 Reported by: Jordan Uggla
4299 2010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
4301 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
4303 2010-12-18 Colin Watson <cjwatson@ubuntu.com>
4305 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
4306 line, and other keys scroll an entire page (previous handling was
4307 for \r and \n to scroll a page and other keys to scroll two lines).
4309 2010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
4311 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
4312 Set ptrdest to correct get_physical_target_address rather than
4313 incorrect get_virtual_current_address.
4315 2010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
4317 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
4318 correct cat to grub_uint8_t * rather than grub_uint32_t *.
4320 2010-12-10 Colin Watson <cjwatson@ubuntu.com>
4322 * .bzrignore: Ignore grub-core/rs_decoder.S.
4324 2010-12-10 Colin Watson <cjwatson@ubuntu.com>
4326 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
4327 .mo/.mo.gz opening sequence to ...
4328 (grub_mofile_open_lang): ... here.
4329 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
4330 * util/grub.d/00_header.in (grub_lang): Include country part of
4332 Reported by: Mario Limonciello.
4334 2010-12-09 Robert Millan <rmh@gnu.org>
4336 * NEWS: Document addition of ZFS support.
4338 2010-12-04 Colin Watson <cjwatson@ubuntu.com>
4340 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
4341 rather than `/ 2', as the latter requires -Wa,--divide which would
4342 require bumping our minimum binutils version.
4344 2010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
4346 * util/grub-script-check.c (main): Print script line number on
4349 2010-12-01 Robert Millan <rmh@gnu.org>
4351 * grub-core/fs/zfs/zfs.c: New file.
4352 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
4353 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
4354 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
4355 * grub-core/fs/zfs/zfsinfo.c: Likewise.
4357 * include/grub/zfs/dmu.h: Likewise.
4358 * include/grub/zfs/dmu_objset.h: Likewise.
4359 * include/grub/zfs/dnode.h: Likewise.
4360 * include/grub/zfs/dsl_dataset.h: Likewise.
4361 * include/grub/zfs/dsl_dir.h: Likewise.
4362 * include/grub/zfs/sa_impl.h: Likewise.
4363 * include/grub/zfs/spa.h: Likewise.
4364 * include/grub/zfs/uberblock_impl.h: Likewise.
4365 * include/grub/zfs/vdev_impl.h: Likewise.
4366 * include/grub/zfs/zap_impl.h: Likewise.
4367 * include/grub/zfs/zap_leaf.h: Likewise.
4368 * include/grub/zfs/zfs.h: Likewise.
4369 * include/grub/zfs/zfs_acl.h: Likewise.
4370 * include/grub/zfs/zfs_znode.h: Likewise.
4371 * include/grub/zfs/zil.h: Likewise.
4372 * include/grub/zfs/zio.h: Likewise.
4373 * include/grub/zfs/zio_checksum.h: Likewise.
4375 * Makefile.util.def: Build ZFS into libgrubmods.
4376 * grub-core/Makefile.core.def: Build zfs.mod.
4378 2010-11-30 Szymon Janc <szymon@janc.net.pl>
4380 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
4382 * grub-core/commands/wildcard.c (match_files): Likewise.
4384 2010-11-30 Robert Millan <rmh@gnu.org>
4386 * grub-core/loader/i386/bsd.c
4387 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
4388 whether kernel is loaded using grub_loader_is_loaded(), rather
4389 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
4390 certain error conditions.
4392 2010-11-30 Robert Millan <rmh@gnu.org>
4394 * grub-core/commands/echo.c: Include `<grub/term.h>'.
4395 (grub_cmd_echo): Call grub_refresh() after printing a message.
4397 2010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
4399 Avoid using tricks for initialising endian variables.
4401 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
4403 (GRUB_MOD_INIT): Don't byte-swap.
4404 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
4405 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
4406 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
4407 (grub_swap_bytes32_compile_time): Likewise.
4408 (grub_cpu_to_le32_compile_time): Likewise.
4409 (grub_cpu_to_le16_compile_time): Likewise.
4411 2010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
4413 * util/grub-setup.c (setup): Stop recommending --force. People who
4414 understand the dangers of blocklists are able to find this option
4415 anyway and the ones who don't shouldn't use it anyway.
4417 2010-11-26 Robert Millan <rmh@gnu.org>
4419 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
4422 2010-11-26 Colin Watson <cjwatson@ubuntu.com>
4424 Fix LVM-on-RAID probing.
4426 * util/grub-probe.c (probe): Remember which disk was detected as
4427 RAID (perhaps an LVM physical volume). Use that disk's raidname
4428 rather than that of the top-level disk.
4430 2010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
4432 Fix cmdline argument quotes for setparams command of menuentry
4435 * grub-core/commands/menuentry.c (setparams_prefix): Use single
4436 quotes for arguments.
4437 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
4438 grub_strchrsub function instead.
4440 * include/grub/misc.h (grub_strchrsub): New function.
4442 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
4444 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
4445 effort by skipping "." and ".." entries up-front.
4446 Suggested by: Michael Lazarev.
4448 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
4450 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
4451 ldflags to ldadd, to fix link line ordering.
4452 (none_decompress): Likewise.
4454 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
4456 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
4458 (grub-emu-lite): Remove kern/emu/cache.S.
4460 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
4462 * util/deviceiter.c (compare_devices): If the by-id link for a
4463 device couldn't be resolved, fall back to sorting by the by-id link
4464 rather than segfaulting.
4465 Reported and tested by: Daniel Mierswa.
4467 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
4469 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
4470 ldflags, to fix link line ordering.
4472 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
4474 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
4475 linkers are picky about this.
4477 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
4479 * grub-core/Makefile.am (command.lst): Adjust sed expression
4480 ordering so that extended and priority commands aren't treated as
4483 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
4485 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
4486 Remove byte-swapping function calls, which are not valid in
4487 structure initialisers.
4488 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
4490 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
4491 grub_gpt_partition_type_bios_boot.
4493 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
4495 Fix test program build on GNU/kFreeBSD.
4497 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
4498 $(LIBNVPAIR)' library dependencies.
4500 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
4502 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
4504 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
4506 * util/grub-install.in: Remove excessive quoting that broke
4507 installations to RAID devices.
4509 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
4511 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
4512 bootloader version instead of 0.
4514 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
4516 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
4519 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
4521 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
4522 retrieve the metadat sector if size isn't known.
4523 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
4525 2010-11-18 Robert Millan <rmh@gnu.org>
4527 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
4530 2010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
4532 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
4534 Reported by: Jordan Uggla.
4536 2010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
4538 Make better UTF compliant.
4540 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
4541 sequences as incorrect.
4542 (grub_is_valid_utf8): Likewise.
4543 (grub_utf8_to_ucs4): Likewise.
4544 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
4545 (grub_ucs4_to_utf8_alloc): Likewise.
4546 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
4548 2010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
4550 Make legacy_source behave like source.
4552 * grub-core/commands/legacycfg.c (legacy_file): Don't call
4554 (grub_cmd_legacy_source): Call grub_show_menu if needed.
4556 2010-11-16 Colin Watson <cjwatson@debian.org>
4558 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
4559 (-Wunused implies -Wunused-parameter, but not vice versa).
4561 2010-11-16 Colin Watson <cjwatson@ubuntu.com>
4563 * configure.ac: Make error messages less confusing by testing for
4564 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
4565 accepted, but produces a diagnostic if something else is wrong).
4567 2010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
4569 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
4570 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
4572 (grub_keyboard_controller_init)
4573 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
4574 read the initial state since controller isn't inited yet.
4576 2010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
4578 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
4579 allocate_regbeg may need to create new chunk header.
4581 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
4583 Fix quoting in legacy parser.
4585 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
4587 (grub_legacy_parse): Likewise.
4588 Reported by: Jordan Uggla.
4589 Tested by: Jordan Uggla.
4591 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
4593 Don't add -lgcc on i386 and x86_64.
4595 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
4596 * conf/Makefile.common (LDADD_KERNEL): Likewise.
4597 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
4599 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
4601 * configure.ac: Add -Wno-trampolines when supported.
4603 2010-11-14 Modestas Vainius <modax@debian.org>
4605 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
4608 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
4610 Add generic logical block size support for UDF.
4612 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
4613 (GRUB_UDF_BLKSZ): Removed.
4614 (struct grub_udf_data): New field "lbshift" to hold the logical block
4615 size of the file system in log2 format. All users updated.
4616 (sblocklist): Change type to unsigned.
4617 (grub_udf_mount): Change type of "sblklist" to unsigned.
4618 Move AVDP search before VRS recognition, because the latter requires
4619 knowledge of the logical block size, which is detected during the
4621 Detect and validate logical block size during AVDP search, adding
4622 support for block sizes 512, 1024 and 4096.
4623 Make VRS recognition independent of block size.
4625 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
4627 Properly handle deleted files on UDF.
4629 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
4630 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
4633 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
4635 Support reading files larger than 2 GiB.
4637 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
4638 "offset" to grub_off_t.
4639 (grub_udf_read_file): Likewise for parameter "pos".
4641 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
4643 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
4645 (Simple configuration): Refer to Changes from GRUB Legacy about
4646 save_env availability.
4648 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
4650 * util/grub-install.in: Ignore empty partition table detection
4651 instead of trying to include part_ module.
4653 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
4655 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
4656 LVM on RAID support.
4658 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
4660 Properly define WORDS_BIGENDIAN in wrapped environments.
4662 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
4664 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
4666 Reported by: Manoel Rebelo Abranches.
4667 Tested by: Manoel Rebelo Abranches.
4669 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
4671 * util/grub-mkconfig.in: Fix quoting.
4673 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
4675 Support big ext2 files.
4677 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
4678 (grub_ext2_read_block): Support triple indirect blocks.
4679 (grub_ext2_read_file): Use 64-bit types and read size_high.
4680 (grub_ext2_open): Read size_high.
4681 Reported by: Ximin Luo.
4682 Tested by: Manoel Rebelo Abranches.
4684 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
4686 * util/grub-install.in: Handle filenames containing spaces.
4687 Reported by: Jordan Uggla.
4688 Tested by: Jordan Uggla.
4690 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
4692 * util/grub-mkconfig.in (grub_script_check): New variable.
4693 Use grub_script_check instead of grub-script-check.
4694 Reported by: Barry Jackson.
4696 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
4698 * docs/grub.texi (menu): Correct the order.
4699 Reported by: D. Hugh Redelmeier.
4701 2010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
4703 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
4706 2010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
4708 * include/grub/elfload.h (grub_elf32_size): New parameter.
4710 Return maximum segments alignment.
4711 (grub_elf64_size): Likewise.
4712 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
4713 Return maximum segments alignment.
4714 (grub_elf64_size): Likewise.
4715 * grub-core/loader/powerpc/ieee1275/linux.c:
4716 (grub_linux_claimmap_iterate): New function. Uses the
4717 "available" property in the "memory" node for memory allocation
4718 for kernel in the PowerPC loader.
4719 (grub_linux_load32): Correctly find linux entry point offset.
4720 (grub_linux_load64): Likewise.
4722 2010-11-07 Robert Millan <rmh@gnu.org>
4724 On mips-yeeloong, build with -march=loongson2f when this flag is
4725 available (GCC >= 4.4).
4726 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
4728 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
4729 or otherwise add -march=mips3.
4731 2010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
4733 Suppress shell expansion on echo '*' and echo "*" like cases.
4734 Reported by: Jordan Uggla.
4736 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
4737 string arguments before shell expansion.
4738 * tests/grub_cmd_echo.in: New testcases.
4740 2010-11-07 Robert Millan <rmh@gnu.org>
4742 * conf/mips-qemu-mips.rmk: Remove stale file from previous
4745 2010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
4747 * grub-core/kern/emu/hostdisk.c
4748 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
4750 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
4752 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
4753 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
4754 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
4756 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
4758 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
4760 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
4762 * util/grub-install.in: Replace useless recomendation to pass
4763 --modules with a recomendation to report a bug.
4765 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
4767 Properly register serial terminfo.
4768 Reported by: Jordan Uggla
4770 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
4772 (grub_serial_terminfo_output_template): Likewise.
4773 (grub_cmd_serial): Register "serial" with terminfo.
4774 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
4775 grub_serial_terminfo_output.
4777 2010-11-05 Robert Millan <rmh@gnu.org>
4779 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
4782 2010-11-05 Robert Millan <rmh@gnu.org>
4784 On Yeeloong, pass machine type information to Linux.
4786 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
4787 (LOONGSON_MACHTYPE): New macro, set to
4788 "machtype=lemote-yeeloong-2f-8.9inches".
4789 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
4790 additional argument to Linux.
4792 2010-11-04 Robert Millan <rmh@gnu.org>
4794 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
4795 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
4796 (its SATA disks are detected as slaveless IDE master drives on
4798 Reported by Carsten Aulbert.
4800 2010-11-02 Colin Watson <cjwatson@ubuntu.com>
4802 * util/bin2h.c (main): Fix spelling error in generated output.
4804 2010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
4806 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
4808 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
4810 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
4811 vga= option is supplied.
4813 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
4815 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
4816 * util/grub.d/10_kfreebsd.in: Likewise.
4817 * util/grub.d/10_linux.in: Likewise.
4818 * util/grub.d/20_linux_xen.in: Likewise.
4820 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
4822 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
4823 argument as an argument to no-argument option.
4825 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
4827 * util/grub.d/10_linux.in: Add missing load_video with explicit
4828 GRUB_GFXPAYLOAD_LINUX.
4830 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
4832 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
4834 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
4836 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
4837 elements with invlid index.
4838 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
4839 * grub-core/disk/raid.c (insert_array): Automatically reallocate
4841 * include/grub/raid.h (grub_raid_member): New struct.
4842 (grub_raid_array): Transform devices and start_sector into usage of
4843 grub_raid_member. All users updated
4844 (allocated_devs): New member.
4846 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
4848 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
4851 2010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
4853 NetBSD build fix for getline function conflict from gnulib.
4855 * Makefile.util.def (libgrubkern.a): New library for grub kernel
4856 components that depend on gnulib headers.
4857 (libgrubmods.a): Renamed from earlier libgrub.a.
4858 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
4860 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
4862 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
4863 install rather than creating a broken install.
4865 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
4867 * util/grub-setup.c (argp): Remove misleading example of installing to
4870 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
4872 * util/grub-setup.c (setup): Clarify the error message.
4874 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
4876 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
4878 2010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4880 * grub-core/kern/emu/misc.c
4881 (grub_make_system_path_relative_to_its_root)
4882 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
4884 2010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4886 * grub-core/kern/emu/misc.c
4887 (grub_make_system_path_relative_to_its_root): Revert r2882.
4889 2010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
4891 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
4892 useless field head. All users updated.
4893 (free_subchunk): Correct handling of IN_REGION subchunk.
4895 2010-10-22 Colin Watson <cjwatson@ubuntu.com>
4897 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
4898 (Supported kernels): Likewise.
4900 2010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
4902 Make mktemp invocations portable.
4904 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
4905 exit if mktemp fails.
4906 * tests/grub_script_blockarg.in: Likewise.
4907 * tests/partmap_test.in: Likewise.
4908 * tests/util/grub-shell-tester.in: Likewise.
4909 * tests/util/grub-shell.in: Likewise.
4910 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
4911 * Makefile.am: Likewise, and chain shell commands with `&&'
4913 * util/grub-mkrescue.in: Use the same explicit template as above, and
4914 exit if mktemp fails.
4916 2010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
4918 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
4919 Linux kernel, reported by Dennis Schridde.
4921 2010-10-17 Szymon Janc <szymon@janc.net.pl>
4923 * grub-core/normal/auth.c (grub_auth_check_authentication):
4924 Set-but-not-used variable removed.
4926 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
4928 * docs/grub.texi (GNU/Linux): Document APM unavailability with
4929 32-bit linux protocol.
4931 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
4933 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
4934 cursor shape for sanity.
4936 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
4938 * docs/grub.texi (Installation): Document buggy BIOS install.
4940 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
4942 * docs/grub.texi (Installation): Indent.
4944 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
4946 * util/grub-setup.c (setup): New parameter allow_floppy.
4947 (arguments): New member allow_floppy.
4948 (argp_parser): Handle --allow-floppy.
4949 (main): Pass allow_floppy.
4950 * util/grub-install.in: New option --allow-floppy passed though to
4953 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
4955 * util/grub-install.in: Handle partitionless disks.
4957 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
4959 * util/grub-setup.c (setup): Don't clean blocklists before readability
4962 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
4964 * docs/grub.texi (Installation): Document embedding zone. Remove
4965 obsolete grub-install example.
4967 2010-10-16 Szymon Janc <szymon@janc.net.pl>
4969 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
4970 Set-but-not-used variable ifdef'ed.
4971 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
4972 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
4974 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
4975 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
4976 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
4977 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
4978 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
4979 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
4980 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
4981 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
4982 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
4983 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
4984 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
4987 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
4989 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
4990 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
4993 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
4995 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
4996 synonym to _S5_. Needed for some DSDTs.
4998 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
5000 Userspace ACPI parser debugging.
5002 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
5003 headers and add relevant defines. Don't include standard headers.
5004 (main) [GRUB_DSDT_TEST]: New function.
5005 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
5006 Don't declare functions.
5008 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
5010 Remove dead grub_efi_mm_fini.
5012 * grub-core/kern/efi/mm.c (allocated_page): Removed.
5013 (ALLOCATED_PAGES_SIZE): Likewise.
5014 (MAX_ALLOCATED_PAGES): Likewise.
5015 (allocated_pages): Likewise.
5016 (grub_efi_allocate_pages): Don't record allocated pages.
5017 (grub_efi_free_pages): Likewise.
5018 (grub_efi_mm_init): Likewise.
5019 (grub_efi_mm_fini): Removed.
5021 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
5023 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
5024 (grub_efi_mm_init): Take into account the memory map size increase.
5026 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
5028 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
5029 (serial_hw_put): Wait based on real time rather than port reads. Don't
5031 * include/grub/serial.h (grub_serial_port): New field broken.
5033 2010-10-16 Robert Millan <rmh@gnu.org>
5035 * grub-core/kern/emu/misc.c
5036 (grub_make_system_path_relative_to_its_root): Fix premature return
5037 when processing non-root ZFS filesystems.
5038 Reported by Sergio Talens-Oliag.
5040 2010-10-15 Robert Millan <rmh@gnu.org>
5042 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
5043 guarantee compressed ones are processed first.
5045 2010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
5047 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
5048 grub_efiemu_autocore.
5050 2010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
5052 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
5054 (grub_console_getkey): Use correct jae opcode rather than ja.
5056 2010-10-12 Robert Millan <rmh@gnu.org>
5058 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
5059 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
5060 variable. All references updated.
5062 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
5064 2010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
5066 Correctly distinguish mdraid flavours.
5068 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
5069 (insert_array): New argument raid.
5070 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
5071 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
5072 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
5074 2010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
5076 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
5077 handling of special keys.
5079 2010-10-02 Aleš Nesrsta <starous@volny.cz>
5081 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
5082 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
5084 2010-10-02 Aleš Nesrsta <starous@volny.cz>
5086 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
5087 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
5089 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
5090 Use right endpoint when querying descriptor.
5092 2010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
5094 Clear out 0x80 color bit on EFI.
5096 Reported by: decoder and meta tech.
5098 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
5099 (grub_console_setcolorstate): Clear out 0x80 bit.
5100 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
5101 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
5102 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
5104 2010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
5106 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
5109 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
5111 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
5112 mo_file after freeing.
5114 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
5116 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
5118 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
5120 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
5123 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
5125 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
5128 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
5130 Put terminfo into core on ieee1275 and yeeloong (needed for console).
5132 * gentpl.py: New groups terminfoinkernel and terminfomodule.
5133 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
5134 and terminfo.h when needed.
5135 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
5136 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
5137 (terminfo): Enable only on terminfokernel.
5139 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
5140 * include/grub/lib/arg.h: Likewise.
5141 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
5142 incorrect usage of ->.
5144 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
5146 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
5147 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
5149 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
5151 Fix coreboot compilation.
5153 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
5154 Take VBE info into account even if only text is supported.
5155 (fill_vbe_info): Take into account the case when only VGA text
5157 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
5158 on coreboot, multiboot and qemu.
5160 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
5162 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
5164 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
5166 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
5168 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
5171 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
5173 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
5174 if they were BSD-style.
5176 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
5178 * grub-core/boot/i386/pc/lnxboot.S: Replace
5179 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
5180 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
5182 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
5184 Write embedding zone using Reed-Solomon.
5186 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
5187 * grub-core/Makefile.am (rs_decoder.S): New target.
5188 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
5189 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
5190 (multiboot): Move to RS part.
5191 (post_reed_solomon): New label.
5192 (grub_boot_drive): Move to non-RS part since it's modified in memory
5194 Include rs_decoder.S.
5195 * grub-core/lib/reed_solomon.c: New file.
5196 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
5198 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
5199 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
5200 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
5201 * include/grub/partition.h (grub_partition_map): Change prototype of
5202 embed to allow returning additional sectors.
5203 * include/grub/reed_solomon.h: New file.
5204 * util/grub-setup.c (setup): Handle Reed-Solomon.
5206 2010-09-28 Colin Watson <cjwatson@ubuntu.com>
5208 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
5209 i386 and x86-64 definedness tests.
5211 2010-09-27 Yves Blusseau <blusseau@zetam.org>
5213 Fix generation of kernel_syms.lst
5215 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
5218 2010-09-26 Robert Millan <rmh@gnu.org>
5220 Support degraded ZFS arrays in "grub-probe -t device" resolution.
5222 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
5223 the pool is an array of devices, iterate through it and return the
5224 first device that passes a stat() test (instead of blindly returning
5227 2010-09-26 Robert Millan <rmh@gnu.org>
5229 Build fixes for GNU/kFreeBSD.
5231 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
5232 to programs that require ZFS conversion.
5233 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
5234 kernels that don't have FLOPPY_MAJOR.
5236 2010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
5238 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
5240 2010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
5244 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
5245 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
5246 mdraid09 and mdraid1x.
5248 2010-09-24 Colin Watson <cjwatson@ubuntu.com>
5250 Re-enable grub-extras.
5252 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
5253 avoid confusing Automake. Run autogen only twice, once for the top
5254 level and once for grub-core. Add Makefile.util.def and
5255 Makefile.core.def from extra modules to the appropriate autogen
5256 invocations. If Makefile.common exists in an extra module, include
5257 it in both Makefile.util.am and grub-core/Makefile.core.am;
5258 similarly, include any Makefile.util.common file in Makefile.util.am
5259 and any Makefile.core.common file in grub-core/Makefile.core.am.
5260 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
5261 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
5262 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
5263 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
5265 * gentpl.py (gvar_add): Turn GVARS into a set.
5266 (global_variable_initializers): Sort global variables on output.
5267 (vars_init): New function.
5268 (first_time): Likewise.
5269 (library): Ensure that non-global variable initialisations are
5270 emitted before the first time we emit code for a library block.
5271 Append to variables rather than setting them. Only emit
5272 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
5273 each conditional path.
5274 (program): installdir() emits an Autogen macro, so must be passed to
5275 var_add rather than gvar_add.
5278 (rules): New function, centralising handling for different target
5279 types. Set up Guile association lists for first_time and vars_init,
5280 and send most output to a diversion so that variable initialisations
5281 can be emitted first.
5282 (module_rules): Use new rules function.
5283 (kernel_rules): Likewise.
5284 (image_rules): Likewise.
5285 (library_rules): Likewise.
5286 (program_rules): Likewise.
5287 (script_rules): Likewise.
5288 (data_rules): Likewise.
5290 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
5292 * .bzrignore: Add contrib and grub-core/contrib. Remove
5293 grub-core/Makefile.gcry.am.
5295 2010-09-24 Yves Blusseau <blusseau@zetam.org>
5297 * grub-core/lib/LzFind.c: Add missing include.
5298 * grub-core/lib/LzmaEnc.c: Likewise.
5299 * grub-core/script/lexer.c: Likewise.
5300 * grub-core/script/yylex.l: Likewise.
5301 * util/grub-macho2img.c: Likewise.
5302 * util/grub-menulst2cfg.c: Likewise.
5303 * util/grub-mklayout.c: Likewise.
5304 * util/grub-mkpasswd-pbkdf2.c
5305 * util/grub-mkrelpath.c: Likewise.
5306 * util/resolve.c: Likewise.
5308 2010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
5310 * Makefile.util.def (example_unit_test): Add
5311 grub-core/gnulib/libgnu.a.
5313 2010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
5315 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
5317 2010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5319 Support xz compression on yeeloong.
5321 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
5322 * configure.ac: Check for LZMA.
5323 * grub-core/Makefile.core.def (xz_decompress): New target.
5324 (none_decompress): Likewise.
5325 * grub-core/boot/decompressor/minilib.c: New file.
5326 * grub-core/boot/decompressor/none.c: Likewise.
5327 * grub-core/boot/decompressor/xz.c: Likewise.
5328 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
5329 * grub-core/kern/mips/cache_flush.S: Likewise.
5330 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
5331 * grub-core/kern/mips/startup.S: Move first stage to ...
5332 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
5334 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
5335 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
5336 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
5337 Allocate statically.
5338 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
5339 Allocate statically or use scratch. Don't check CRC32.
5340 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
5341 Allocate statically. Don't check CRC32.
5342 * include/grub/decompressor.h: New file.
5343 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
5345 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
5346 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
5347 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
5348 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
5349 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
5350 * util/grub-mkimage.c (grub_compression_t): New type.
5351 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
5352 (image_target_desc): New field default_compression.
5353 (image_targets): Adjust yeeloong targets.
5354 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
5355 (compress_kernel): New parameter comp.
5356 (generate_image): Likewise. Handle new compression case.
5357 (options): New option --compression
5359 (main): Handle new option.
5361 2010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
5363 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
5365 2010-09-22 Colin Watson <cjwatson@ubuntu.com>
5367 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
5368 typo in __i386__ conditional.
5370 2010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
5372 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
5375 2010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
5377 Implement EFI and ACPI multiboot2 extensions.
5379 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
5380 new tags as supported.
5381 (acpiv2_size): New function.
5382 (grub_multiboot_get_mbi_size): Take new tags into account.
5383 (grub_multiboot_make_mbi): Add new tags.
5384 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
5386 2010-09-21 Aleš Nesrsta <starous@volny.cz>
5388 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
5389 Added missing configuration of USB device.
5391 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
5393 * grub-core/normal/menu_entry.c (run): Make sure we always return
5396 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
5398 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
5399 NumberOfPages is UINT64 according to the UEFI specification, not
5400 UINTN. Fix printf format.
5402 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
5404 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
5405 `err' to grub_usb_err_t.
5406 Reported and tested by: KESHAV P.R.
5408 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
5410 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
5411 tpart non-const, so that we can assign to it. (Since this is a
5412 typedef, the constness refers to the pointer rather than what it
5415 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
5417 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
5418 $(top_srcdir)/grub-core/gnulib as well as
5419 $(top_builddir)/grub-core/gnulib.
5420 Reported by: KESHAV P.R.
5422 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
5424 * util/grub-install.in: Fix the bootloader ID option to be
5425 consistently --bootloader-id, not --bootloader_id.
5426 Reported by: KESHAV P.R.
5428 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
5430 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
5431 check hash checksum." consistently translatable.
5433 2010-09-21 Yves Blusseau <blusseau@zetam.org>
5435 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
5438 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
5440 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
5441 (GRUB_MOD_INIT): Register sha1sum command.
5442 (GRUB_MOD_FINI): Unregister sha1sum command.
5444 2010-09-21 Yves Blusseau <blusseau@zetam.org>
5446 Keep boot and grub directory names in sync with utils scripts
5448 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
5449 * config.h.in: Add previous macros.
5450 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
5451 * util/grub-install.in: Use $bootdir and $grubdir variables.
5453 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
5455 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
5456 convert partition names to disk names if the new `convert' parameter
5458 (grub_util_biosdisk_get_grub_dev): If opening the disk device
5459 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
5460 disk in its own right. This can happen with Xen disk images.
5462 2010-09-21 Yves Blusseau <blusseau@zetam.org>
5464 * util/grub-editenv.c: Update strings to avoid warnings when generating
5466 * util/grub-setup.c: Likewise.
5468 2010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
5470 * configure.ac: Change version to 1.99~beta0.
5472 2010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
5474 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
5476 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
5478 * include/multiboot.h: Resynced with specification.
5479 * include/multiboot2.h: Likewise.
5481 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
5483 Fix po directory handling.
5485 * configure.ac: Create po/Makefile.in rather than po/Makefile.
5486 * grub-core/gnulib/Makefile.am: Import gettext module.
5487 * m4/gnulib-cache.m4: Likewise.
5488 * m4/gnulib-comp.m4: Likewise.
5489 * m4/gettext.m4: New file, from gnulib.
5490 * m4/glibc2.m4: Likewise.
5491 * m4/iconv.m4: Likewise.
5492 * m4/intdiv0.m4: Likewise.
5493 * m4/intl.m4: Likewise.
5494 * m4/intldir.m4: Likewise.
5495 * m4/intlmacosx.m4: Likewise.
5496 * m4/intmax.m4: Likewise.
5497 * m4/inttypes-pri.m4: Likewise.
5498 * m4/lcmessage.m4: Likewise.
5499 * m4/lib-ld.m4: Likewise.
5500 * m4/lib-link.m4: Likewise.
5501 * m4/lib-prefix.m4: Likewise.
5502 * m4/lock.m4: Likewise.
5503 * m4/nls.m4: Likewise.
5504 * m4/po.m4: Likewise.
5505 * m4/printf-posix.m4: Likewise.
5506 * m4/progtest.m4: Likewise.
5507 * m4/threadlib.m4: Likewise.
5508 * m4/uintmax_t.m4: Likewise.
5509 * m4/visibility.m4: Likewise.
5510 * po/Makefile.am: Remove.
5511 * po/Makefile.in.in: New file, from gettext.
5512 ($(DOMAIN).pot-update): Support POTFILES-shell.
5513 * po/Makevars: New file.
5514 * po/POTFILES-shell: Rename to ...
5515 * po/POTFILES-shell.in: ... this. Update.
5516 * po/POTFILES: Rename to ...
5517 * po/POTFILES.in: ... this. Update.
5518 * po/Rules-quot: New file, from gettext.
5519 * po/boldquot.sed: Likewise.
5520 * po/en@boldquot.header: Likewise.
5521 * po/en@quot.header: Likewise.
5522 * po/insert-header.sin: Likewise.
5523 * po/quot.sed: Likewise.
5524 * po/remove-potcdate.sin: Likewise.
5526 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5528 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
5530 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5532 * util/grub.d/20_linux_xen.in: Use submenus.
5534 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5538 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
5539 parameter submenu. All users updated.
5540 * grub-core/normal/main.c (free_menu): Rename to ...
5541 (grub_normal_free_menu): ... this. Made global.
5542 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
5544 * grub-core/normal/menu_entry.c (screen): New field submenu.
5545 (make_screen): Set submenu.
5546 (run): Open new context if requested.
5547 * include/grub/menu.h (grub_menu_entry): New field submenu.
5548 * include/grub/normal.h (grub_normal_free_menu): New proto.
5550 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5552 Menu entries extractor.
5554 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
5556 (GRUB_MOD_INIT): Register new variants.
5557 (GRUB_MOD_FINI): Unregister new variants.
5558 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
5559 into grub_cmd_legacy_source.
5560 (grub_cmd_legacy_source): Implement extractor variants.
5561 (GRUB_MOD_INIT): Register new variants.
5562 (GRUB_MOD_FINI): Unregister new variants.
5563 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
5565 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
5566 search as an extractor.
5567 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
5568 test as an extractor.
5569 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
5571 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
5572 (grub_env_new_context): New function.
5573 (grub_env_context_open): Likewise.
5574 (grub_env_extractor_open): Likewise.
5575 (grub_env_extractor_close): Likewise.
5576 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
5577 grub_extractor_level.
5578 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
5579 * include/grub/env.h (grub_env_extractor_open): New proto.
5580 (grub_env_extractor_close): Likewise.
5581 * include/grub/normal.h (grub_extractor_level): New external variable.
5583 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5585 Make cutmem accept a region specification.
5586 Suggested by: Samuel Thibault
5588 * grub-core/mmap/mmap.c (parsemem): New function.
5589 (grub_cmd_cutmem): Handle new arguments.
5591 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5595 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
5596 (GRUB_MOD_INIT): Register new command.
5597 (GRUB_MOD_FINI): Unregister new command.
5599 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5601 Support some annoying BSD and Minix subpartitions.
5603 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
5604 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
5605 Properly handle concatenation.
5606 * grub-core/kern/device.c (grub_device_iterate): Likewise.
5607 * grub-core/normal/completion.c (iterate_partition): Likewise.
5608 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
5609 contain partition. All users updated.
5610 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
5612 (grub_openbsdlabel_partition_map): Likewise.
5613 (bsdlabel_partition_map_iterate): Rename to ..
5614 (iterate_real): ... this. New arguments sector, freebsd and pmap.
5615 (bsdlabel_partition_map_iterate): New function.
5616 (netopenbsdlabel_partition_map_iterate): Likewise.
5617 (netbsdlabel_partition_map_iterate): Likewise.
5618 (openbsdlabel_partition_map_iterate): Likewise.
5619 (GRUB_MOD_INIT): Register new partmaps.
5620 (GRUB_MOD_FINI): Unregister new partmaps.
5621 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
5622 (grub_partition_msdos_iterate): ... this. All users updated.
5623 Don't support embedding other than in a minix partition.
5624 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
5626 * include/grub/partition.h (grub_partition): New field msdostype.
5627 * util/grub-install.in: Handle openbsd and netbsd types being in
5630 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5632 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
5634 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
5635 * grub-core/Makefile.core.def (mdraid): Renamed to ...
5636 (mdraid09): ... this.
5637 (mdraid1x): New module.
5638 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
5639 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
5641 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5643 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
5646 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
5648 * grub-core/commands/efi/lsefimmap.c: Correct header.
5651 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
5653 * util/grub-editenv.c (argp_parser): Don't pass translated strings
5654 as printf format strings; the translations might contain '%' which
5655 could cause a crash.
5657 * util/grub-fstest.c (argp_parser): Likewise.
5658 * util/grub-setup.c (argp_parser): Likewise.
5661 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5663 Use argp in grub-fstest.
5665 * util/grub-fstest.c: Don't include getopt.h.
5667 (root): New variable.
5668 (args_count): Likewise.
5670 (num_disks): Likewise.
5673 (debug_str): Likewise.
5675 (options): Transformed to argp.
5677 (main): Split argument parsing into ...
5678 (argp_parser): ... this. Changed to argp format.
5679 (argp): New variable.
5680 (main): Use argp_parse.
5682 2010-09-20 Tristan Gingold <gingold@free.fr>
5683 2010-09-20 Robert Millan <rmh.grub@aybabtu.com>
5684 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5686 * grub-core/commands/efi/lsefimmap.c: New file.
5687 * grub-core/Makefile.core.def (lsefimmap): New module.
5688 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
5690 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5692 Pause the execution (10s max) if any errors are displayed so the user
5693 has a chance to see them.
5695 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
5696 (grub_print_error): Increment grub_err_printed_errors.
5697 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
5698 execution if any errors were displayed.
5699 (show_menu): Remove old code for pause.
5700 * grub-core/normal/menu_entry.c (run): Likewise.
5701 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
5703 (grub_normal_get_char_counter): Likewise.
5704 * include/grub/err.h (grub_err_printed_errors): New external variable.
5705 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
5707 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5709 Support multiboot VBE info.
5711 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
5712 Take VBE info into account.
5713 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
5714 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
5715 Call fill_vbe_info when appropriate.
5716 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
5717 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
5719 (grub_multiboot_get_mbi_size): Take new tags into account.
5720 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
5721 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
5722 Call fill_vbe_tag when appropriate.
5723 (grub_multiboot_make_mbi): Properly align tags.
5724 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
5726 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
5728 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
5730 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5732 Suport manual terminal geometry specification.
5734 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
5735 Save state in grub_ofconsole_terminfo_output.
5736 (grub_ofconsole_term): Use grub_terminfo_getwh.
5737 (grub_ofconsole_getwh): Removed.
5738 * grub-core/term/serial.c (grub_serial_getwh): Removed.
5739 (grub_serial_term): Use grub_terminfo_getwh.
5740 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
5741 (options): New struct.
5742 (OPTION_*): New enum.
5743 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
5744 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
5746 (grub_terminfo_getwh): New proto.
5747 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
5749 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5751 Handle legacy "terminal" command.
5753 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
5755 (legacy_commands): Add terminal and title.
5756 (grub_legacy_parse): Handle terminal. Simplify title handling.
5758 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5760 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
5761 parameters overflow.
5763 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
5765 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
5768 * docs/grub.texi (Shell-like scripting): Document `!'.
5769 (Network): Simplify using new i386-pc-pxe format. Mention
5774 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
5776 * Makefile.am (SUBDIRS): Restore "."; it's important to force
5777 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
5780 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
5782 * grub-core/commands/efi/lsefisystab.c: Correct header.
5783 * grub-core/commands/efi/lssal.c: Likewise.
5784 * grub-core/commands/testload.c: Likewise.
5786 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
5788 * util/grub-mkrescue.in: Add explicit root argument to --set to
5789 prevent the UUID being interpreted as an argument to --set (matches
5790 previous change to prepare_grub_to_access_device).
5792 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
5794 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
5795 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
5796 the verbosity of later #ifs.
5797 (find_partition_start): Define this function on FreeBSD too.
5798 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
5800 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
5803 2010-09-20 Yves Blusseau <blusseau@zetam.org>
5805 * util/grub-editenv.c: Use argp instead of getopt.
5807 2010-09-20 Yves Blusseau <blusseau@zetam.org>
5809 * util/grub-setup.c: Use argp instead of getopt.
5811 2010-09-20 Yves Blusseau <blusseau@zetam.org>
5813 Use gnulib-tool to create gnulib source files.
5815 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
5816 grub-core/gnulib directories
5817 * .bzignore: Add **/.deps and autogenerated gnulib files
5818 * configure.ac: Assign auxiliary directory to build-aux, add invocation
5819 of gnulib macros, add grub-core/gnulib/Makefile
5820 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
5821 include m4 directory to aclocal.
5822 * Makefile.util.def: Remove direct compilation of gnulib source files
5823 and use the new grub-core/gnulib/libgnu.a.
5824 * build-aux/config.rpath: move config.rpath from top directory to
5826 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
5828 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
5829 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
5830 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
5832 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
5835 2010-09-20 Yves Blusseau <blusseau@zetam.org>
5837 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
5838 grub-core/genmod.sh and grub-core/gensyminfo.sh
5840 2010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
5842 Add a test for echo command options.
5844 * tests/grub_cmd_echo.in: New test.
5845 * Makefile.util.def: Rules for new test.
5847 2010-09-20 Szymon Janc <szymon@janc.net.pl>
5849 Remove crc.mod and move crc command to hashsum.mod.
5850 Remove lib/crc.c - users updated to use gcrypt implementation.
5852 * grub-core/commands/crc.c: Removed.
5853 * grub-core/Makefile.core.def (crc): Module removed.
5854 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
5855 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
5856 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
5857 * grub-core/lib/crc.c: Removed.
5858 * include/grub/lib/crc.h: Removed.
5859 * Makefile.util.def (crc): Remove lib/crc.c
5860 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
5861 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
5862 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
5863 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
5864 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
5865 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
5867 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5869 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
5871 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
5873 Split config.h for util and core.
5875 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
5878 (BSS_START_SYMBOL): Likewise.
5879 (END_SYMBOL): Likewise.
5880 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
5881 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
5882 * config.h.in: New file.
5883 * configure.ac: Use config-util.h as config define file.
5884 Rename MACHINE into GRUB_MACHINE. All users updated.
5885 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
5887 (NESTED_FUNC_ATTR): Likewise.
5888 Substitue new variables.
5889 (COND_HAVE_ASM_USCORE): New conditional.
5890 * grub-core/Makefile.am (ASM_PREFIX): New variable.
5891 (kernel_syms.lst): Use ASM_PREFIX.
5892 * grub-core/kern/emu/console.c: Include config-util.h.
5893 * grub-core/kern/emu/misc.c: Likewise.
5894 * grub-core/kern/emu/mm.c: Likewise.
5895 * include/grub/emu/misc.h: Likewise.
5896 * include/grub/libgcc.h: Likewise.
5898 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
5900 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
5902 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
5903 Fix GRUB_TERM_KEY_* constants usage.
5904 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
5906 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
5908 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
5910 * grub-core/bus/usb/uhci.c: Remove empty define.
5911 (grub_uhci_check_transfer): Add missing cast.
5912 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
5914 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
5916 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
5918 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
5920 * grub-core/Makefile.core.def (legacycfg): Add
5921 lib/i386/pc/vesa_modes_table.c on emu.
5923 2010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
5925 Reduce number of temporary files generated by build system.
5927 * grub-core/gencmdlist.sh: Removed.
5928 * grub-core/genfslist.sh: Removed.
5929 * grub-core/genhandlerlist.sh: Removed.
5930 * grub-core/genmodsrc.sh: Removed.
5931 * grub-core/genpartmaplist.sh: Removed.
5932 * grub-core/genparttoollist.sh: Removed.
5933 * grub-core/gentermiinallist.sh: Removed.
5934 * grub-core/genvideolist.sh: Removed.
5936 * grub-core/genmod.sh.in: New file.
5937 * grub-core/gensyminfo.sh.in: New file.
5939 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
5940 * conf/Makefile.extra-dist: Update with new files.
5941 * gentpl.py: Remove rules related to unnecessary temporary files.
5942 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
5944 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
5946 * grub-core/bus/usb/uhci.c: Remove empty #define.
5947 * grub-core/genmoddep.awk: Updated with new syminfo format.
5948 * util/bash-completion.d/Makefile.am: Add config.log to
5951 2010-09-19 Yves Blusseau <blusseau@zetam.org>
5953 * Makefile.util.def: Add forgotten $(LIBINTL) library.
5955 2010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
5957 * util/grub-mkconfig.in: Check the config script for syntax errors
5960 2010-09-19 Colin Watson <cjwatson@ubuntu.com>
5961 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
5963 * Makefile.util.def (grub-install): Use util/grub-install.in on all
5965 * util/grub-install.in: Add EFI and IEEE1275 support.
5966 * util/i386/efi/grub-install.in: Removed.
5967 * util/ieee1275/grub-install.in: Likewise.
5969 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
5971 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
5972 (grub_cmd_cmosclean): Likewise.
5973 (GRUB_MOD_INIT): Register command cmosclean.
5974 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
5975 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
5977 2010-09-18 Carles Pina i Estany <carles@pina.cat>
5978 2010-09-18 Aleš Nesrsta <starous@volny.cz>
5979 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
5981 Add keyboard layouts support.
5983 * Makefile.util.def (grub-mklayout): New file.
5984 (grub-kbdcomp): New script.
5985 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
5986 Add keyboard_layouts.h.
5987 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
5988 commands/boot.c on yeeloong.
5989 (keylayouts): New module.
5990 * grub-core/bus/usb/ohci.c
5991 * grub-core/bus/usb/uhci.c
5992 * grub-core/bus/usb/usbhub.c (rescan): New variable.
5993 (grub_usb_add_hub): Poll interrupt pipe for device handling.
5994 (attach_root_port): Likewise.
5995 (poll_nonroot_hub): Likewise.
5996 (grub_usb_poll_devices): Likewise.
5997 (detach_device): Close transfer.
5998 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
6000 (grub_usb_bulk_setup_readwrite): Likewise.
6001 (grub_usb_bulk_finish_readwrite): Likewise.
6002 * grub-core/commands/keylayouts.c: New file.
6003 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
6004 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
6006 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
6008 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
6009 * include/grub/keyboard_layouts.h: New file.
6010 * util/grub-mklayout.c: New file.
6011 * util/grub-kbdcomp.in: Likewise.
6013 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
6017 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
6018 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
6020 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
6021 (grub_upper_mem): Likewise.
6022 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
6023 * include/grub/memory.h (grub_memory_type_t): New enum.
6026 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
6028 * grub-core/Makefile.core.def (lsapm): New module.
6029 * grub-core/commands/i386/pc/lsapm.c: New file.
6030 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
6031 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
6033 * include/grub/i386/pc/apm.h: New file.
6034 * include/multiboot.h (multiboot_apm_info): New struct.
6036 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
6038 GRUB-legacy configuration file support.
6040 * Makefile.util.def (grub-menulst2cfg): New util.
6041 * docs/man/grub-menulst2cfg.h2m: New file.
6042 * grub-core/Makefile.core.def (legacycfg): New module.
6043 * grub-core/commands/legacycfg.c: New file.
6044 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
6045 (grub_normal_add_menu_entry): ... this.
6046 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
6047 (grub_normal_set_password): ...this.
6048 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
6049 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
6050 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
6051 * grub-core/lib/legacy_parse.c: New file.
6052 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
6053 * include/grub/i386/pc/vesa_modes_table.h: New file.
6054 * include/grub/legacy_parse.h: Likewise.
6055 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
6056 * util/grub-menulst2cfg.c: New file.
6058 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
6060 * grub-core/kern/emu/hostdisk.c
6061 (convert_system_partition_to_system_disk): Initialise node.
6063 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
6065 * grub-core/kern/emu/hostdisk.c
6066 (convert_system_partition_to_system_disk): Fix devmapper memory pool
6068 Reported and based on patch by: Modestas Vainius.
6070 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
6072 Fix DM-RAID probing with recent versions of device-mapper udev
6075 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
6076 canonicalise device paths under /dev/mapper/.
6077 (convert_system_partition_to_system_disk): Compare the
6078 uncanonicalised path to /dev/mapper/ rather than the canonicalised
6079 path, since device nodes under /dev/mapper/ are often symlinks.
6081 2010-09-17 Yves Blusseau <blusseau@zetam.org>
6083 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
6085 2010-09-16 Yves Blusseau <blusseau@zetam.org>
6087 * configure.ac: Avoid some annoying error messages if freetype-config
6088 program is not found.
6090 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
6092 Support RAID on virtio devices, and others.
6094 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
6096 [__MINGW32__] (grub_find_device): ... this.
6097 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
6098 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
6099 reasonable default if dir is NULL.
6100 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
6102 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
6103 (grub_guess_root_device): Update callers.
6104 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
6106 * util/raid.c (grub_util_getdiskname): Remove.
6107 (grub_util_raid_getmembers): Use grub_find_device rather than
6108 grub_util_getdiskname.
6110 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
6112 * docs/grub.texi (serial): Remove obsolete comment about GRUB
6113 needing to be compiled with serial support.
6114 (ls): Indicate that multiple files are accepted.
6115 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
6116 indicate that multiple files are accepted.
6118 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
6120 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
6121 libgrub_a_init.c, and util/bash-completion.d/grub.
6123 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
6125 * util/grub-setup.c (setup): Fix incorrect container semantics.
6127 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
6129 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
6131 Reported by: J. Nick Terry
6133 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
6135 Move embedding routines to partmap sources files.
6137 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
6138 [GRUB_UTIL]: New variable.
6139 (gpt_partition_map_iterate): Set part.parent.
6140 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
6141 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
6142 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
6144 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
6145 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
6146 (grub_partition_map) [GRUB_UTIL]: New field embed.
6147 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
6148 (setup): Use ->embed.
6150 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
6152 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
6154 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
6155 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
6157 2010-09-15 Yves Blusseau <blusseau@zetam.org>
6159 Add function to get completions from usage.
6161 * util/bash-completion.d/grub-completion.bash.in: Add function to get
6162 completions from usage. Use LC_ALL=C to get options properly.
6164 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
6166 * grub-core/gnulib/basename-lgpl.c: Imported.
6167 * grub-core/gnulib/basename.c: Likewise.
6168 * grub-core/gnulib/dirname-lgpl.c: Likewise.
6169 * grub-core/gnulib/dirname.c: Likewise.
6170 * grub-core/gnulib/dirname.h: Likewise.
6171 * grub-core/gnulib/stripslash.c: Likewise.
6173 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
6175 * grub-core/gnulib/error.c: Resynced.
6176 * grub-core/gnulib/getopt.c: Likewise.
6177 * grub-core/gnulib/getopt_int.h: Likewise.
6178 * grub-core/gnulib/regex.h: Likewise.
6179 * grub-core/gnulib/regex_internal.c: Likewise.
6180 * grub-core/gnulib/regex_internal.h: Likewise.
6182 2010-09-15 Szymon Janc <szymon@janc.net.pl>
6184 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
6185 CRC calculations and validity checks.
6186 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
6189 2010-09-15 Szymon Janc <szymon@janc.net.pl>
6191 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
6193 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
6195 Fix incorrect echo options handling.
6196 Reported by: Yves Blusseau.
6198 * include/grub/command.h (grub_command_flags_t): New flags
6199 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
6200 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
6201 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
6203 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
6205 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
6207 (GRUB_COMMAND_FLAG_MENU): Likewise.
6208 (GRUB_COMMAND_FLAG_BOTH): Likewise.
6209 (GRUB_COMMAND_FLAG_TITLE): Removed.
6210 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
6211 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
6212 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
6213 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
6214 (grub_command_flags_t): New enum. All users updated.
6216 2010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
6218 Fix solaris compilation.
6220 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
6221 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
6222 (grub-emu-list): Likewise.
6224 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
6226 Remove deprecated root command.
6228 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
6231 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
6233 * util/i386/pc/grub-setup.c: Merge this ...
6234 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
6235 * util/grub-setup.c: ... into this.
6236 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
6239 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
6241 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
6244 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
6246 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
6249 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
6251 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
6252 explicit root argument to set to prevent UUID to be interpreted as
6255 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
6257 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
6259 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
6261 Don't export grub_gate_a20.
6263 * grub-core/kern/i386/pc/init.c: Remove leftovers.
6264 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
6266 (grub_gate_a20): ... this. All users updated.
6267 * include/grub/i386/pc/init.h: Removed. All users updated.
6269 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
6271 Create euro.pf2 which supports most European languages.
6273 * Makefile.am (grubdata_DATA): Add euro.pf2.
6274 (euro.pf2): New target.
6275 (CLEANFILES): Add euro.pf2.
6277 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
6279 * configure.ac: Disable emu-usb by default to prevent inadvertent
6282 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
6284 Disable usbserial on grub-emu since our libusb code isn't good enough
6287 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
6288 (usbserial_pl2303): Likewise.
6289 (usbserial_ftdi): Likewise.
6291 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
6293 * include/grub/disk.h (grub_disk): Remove has_partitions.
6295 * disk/loopback.c (grub_loopback): Remove has_partitions.
6297 (options): Remove partitions. All users updated.
6298 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
6299 * util/i386/pc/grub-setup.c (setup): copy partition table only when
6300 actual partition table is found.
6302 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
6304 Remove readability checks (too many false negatives).
6306 * util/grub-install.in: Remove readability checks.
6307 * util/grub-mkconfig.in: Likewise.
6308 * util/grub.d/10_hurd.in: Likewise.
6309 * util/grub.d/10_kfreebsd.in: Likewise.
6310 * util/grub.d/10_linux.in: Likewise.
6311 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
6314 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
6316 Enable acpi shutdown on all ACPI platforms.
6318 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
6319 on coreboo, multiboot and EFI.
6320 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
6321 (grub_acpi_halt): Likewise.
6322 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
6323 (grub_cmd_halt): Don't call grub_acpi_halt directly.
6324 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
6325 * grub-core/lib/i386/halt.c (grub_halt)
6326 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
6328 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
6330 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
6333 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
6335 * grub-core/video/efi_gop.c: Fix over-80-chars line.
6336 * grub-core/video/efi_uga.c: Likewise.
6338 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
6340 Filter devaliases and never open same device twice.
6342 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
6343 (last_ihandle): Likewise.
6344 (ofdisk_hash_ent): New member shortest.
6345 (ofdisk_hash_add): Add canonical path too.
6346 (scan): New function.
6347 (grub_ofdisk_iterate): Iterate over hashed entries.
6348 (compute_dev_path): Don't add :0.
6349 (grub_ofdisk_open): Don't really open the disk.
6350 (grub_ofdisk_close): Avoid closing unrelated disk.
6351 (grub_ofdisk_read): Implement reopen logic.
6352 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
6354 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
6357 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
6361 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
6362 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
6363 right address. Add sparc64_ieee1275_ldflags.
6364 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
6365 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
6366 to grub_host_to_target_addr
6367 (load_image): Likewise.
6369 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
6371 * grub-core/normal/completion.c (complete_file): Handle device
6373 Fix based on patch by Doug Nazar.
6375 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
6377 grub-mknetdir script.
6379 * Makefile.util.def (grub-mknetdir): New module.
6380 * tests/util/grub-shell.in: Support boot=net
6381 * util/grub-mknetdir.in: New file.
6383 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
6385 videoinfo on non-vbe.
6387 * grub-core/Makefile.core.def (vbeinfo): Removed.
6389 (videoinfo): New module.
6390 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
6391 * grub-core/commands/i386/pc/vbetest.c: Removed.
6392 * grub-core/commands/videoinfo.c: New file.
6393 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
6395 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
6397 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
6398 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
6399 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
6400 mode_number. New parameter mode. All users updated.
6401 (grub_video_gop_iterate): New function.
6402 (grub_video_efi_gop): New member iterate.
6403 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
6404 (grub_vbe_set_video_mode): Remove setting useless fields.
6405 (vbe2videoinfo): New function.
6406 (grub_video_vbe_iterate): Likewise.
6407 (grub_video_vbe_setup): Use vbe2videoinfo.
6408 (grub_video_vbe_print_adapter_specific_info): New function.
6409 (grub_video_vbe_adapter): New fields iterate and
6410 print_adapter_specific_info.
6411 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
6413 (grub_video_mode_info): New field mode_number.
6414 (grub_video_adapter): New fields iterate and
6415 print_adapter_specific_info.
6417 2010-09-13 Tristan Gingold <gingold@free.fr>
6418 2010-09-13 Robert Millan <rmh.grub@aybabtu.com>
6419 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
6421 * grub-core/commands/efi/lsefisystab.c: New file.
6422 * grub-core/commands/efi/lssal.c: Likewise.
6423 * grub-core/Makefile.core.def (lsacpi): New module.
6424 (lsefisystab): Likewise.
6425 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
6426 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
6427 (grub_efi_sal_system_table): New struct.
6428 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
6429 (grub_efi_sal_system_table_memory_descriptor): Likewise.
6430 (grub_efi_sal_system_table_platform_features): Likewise.
6431 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
6432 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
6433 (grub_efi_sal_system_table_ap_wakeup): Likewise.
6434 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
6436 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
6438 Support explicit user claim that a device is BIOS-visible.
6440 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
6441 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
6442 * grub-core/kern/emu/hostdisk.c
6443 (convert_system_partition_to_system_disk): Support mdX.
6444 (find_system_device): New parameter add. All users updated.
6445 (grub_util_biosdisk_is_present): New function.
6446 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
6449 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
6451 Search hints support.
6453 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
6456 2010-09-13 Yves Blusseau <blusseau@zetam.org>
6458 Bash completion script for util commands
6460 * Makefile.am: Add util/bash-completion.d directory
6461 * configure.ac: Likewise.
6462 * util/bash-completion.d/Makefile.am: New file.
6463 * util/bash-completion.d/grub-completion.bash.in: Likewise.
6465 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
6467 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
6468 (print_backlog): set backlog_ucs4 and backlog_glyphs.
6469 Reported by: Yves Blusseau.
6471 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
6473 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
6474 partition size and offset.
6476 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
6478 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
6480 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
6482 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
6484 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
6486 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
6487 (grub_xvasprintf): Likewise.
6489 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
6491 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
6493 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
6495 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
6496 args ending with NULL.
6498 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
6500 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
6503 2010-09-11 Szymon Janc <szymon@janc.net.pl>
6505 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
6507 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
6509 Shutdown using ACPI.
6511 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
6512 * grub-core/commands/acpihalt.c: New file.
6513 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
6514 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
6515 (grub_acpi_halt): New proto.
6516 (GRUB_ACPI_SLP_EN): New const.
6517 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
6518 (GRUB_ACPI_OPCODE_*): New enum.
6519 (GRUB_ACPI_EXTOPCODE_*): Likewise.
6521 2010-09-11 Tristan Gingold <gingold@free.fr>
6522 2010-09-11 Robert Millan <rmh.grub@aybabtu.com>
6523 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
6525 * commands/lsacpi.c: New file.
6526 * grub-core/Makefile.core.def (lsacpi): New module.
6527 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
6528 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
6529 (grub_acpi_madt_entry_header): New struct.
6530 (grub_acpi_madt): Likewise.
6531 (grub_acpi_madt_entry_interrupt_override): Likewise.
6532 (grub_acpi_madt_entry_sapic): Likewise.
6533 (grub_acpi_madt_entry_lsapic): Likewise.
6534 (grub_acpi_madt_entry_platform_int_source): Likewise.
6535 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
6536 (PRIuGRUB_UINT32_T): Likewise.
6537 (PRIxGRUB_UINT64_T): Likewise.
6539 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
6541 Implement loading palette on ieee1275_fb.
6543 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
6544 (have_setcolors): Likewise.
6545 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
6546 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
6547 (grub_video_ieee1275_set_palette): Implement.
6549 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
6550 2010-09-11 Colin Watson <cjwatson@ubuntu.com>
6552 * util/grub-install.in (grub_partition): New variable.
6553 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
6554 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
6555 Fixes a bug reported by Yves Blusseau.
6557 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
6561 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
6562 =grub_cpu_flush_cache on all mips and not only yeeloong.
6563 * configure.ac (COND_mips): New conditional.
6564 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
6566 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
6567 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
6568 [GRUB_LINKER_HAVE_INIT]: New function.
6569 (grub_emu_post_init): Likewise.
6570 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
6571 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
6572 * include/grub/cache.h (_mips): Include mips/cache.h.
6573 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
6574 LVM and RAID prototypes.
6575 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
6576 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
6579 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
6581 * util/grub-install.in: Don't try to verify core.img until after
6582 running grub-mkimage to create it.
6584 2010-09-10 Robert Millan <rmh@gnu.org>
6586 * util/grub.d/10_hurd.in: Add misc readability checks.
6587 * util/grub.d/10_kfreebsd.in: Likewise.
6588 * util/grub.d/10_linux.in: Likewise.
6590 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
6592 * util/grub-install.in: ${imgext} won't be defined here until the
6593 install branch is merged. For the meantime, only verify core.img on
6594 i386-pc and sparc64-ieee1275 platforms.
6596 2010-09-10 Robert Millan <rmh@gnu.org>
6598 Solaris support in grub_find_zpool_from_dir(). Thanks
6599 Seth Goldberg for referring to getextmntent() facility.
6601 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
6603 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
6605 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
6606 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
6607 method for finding zpool name.
6609 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
6611 grub-fstest needs the host and hostfs modules while other utilities
6612 actively require those modules to be absent, so grub-fstest needs
6613 its own initialisation and finalisation code.
6615 * Makefile.am (grub_fstest.pp): New target.
6616 (grub_fstest_init.lst): Likewise.
6617 (grub_fstest_init.c): Likewise.
6618 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
6620 2010-09-10 Robert Millan <rmh@gnu.org>
6622 * configure.ac: Check for `struct statfs.f_fstypename' and
6623 `struct statfs.f_mntfromname'.
6625 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
6626 kFreeBSD-specific code.
6628 2010-09-10 Robert Millan <rmh@gnu.org>
6630 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
6631 on ZFS. Now non-main filesystems are supported as / too.
6633 2010-09-09 Colin Watson <cjwatson@ubuntu.com>
6635 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
6636 and grub-core/disk/host.c to ...
6637 (grub-fstest): ... here. Having the host disk implementation
6638 present confuses grub-probe and other utility programs.
6640 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
6641 when writing to a file, not when writing to stdout.
6643 2010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
6645 * tests/partmap_test.in: New test for partitions.
6646 * Makefile.util.def: Rules for new test.
6648 2010-09-09 Robert Millan <rmh@gnu.org>
6650 * util/grub-probe.c (probe): Fix a pair of unhandled error
6653 2010-09-09 Robert Millan <rmh@gnu.org>
6655 Basic Btrfs support (detection and UUID).
6657 * grub-core/fs/btrfs.c: New file.
6658 * Makefile.util.def (library): Register btrfs.c.
6659 * grub-core/Makefile.core.def: Likewise.
6661 2010-09-08 Robert Millan <rmh@gnu.org>
6663 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
6664 with (optional) parameters to specify device and relative path.
6665 * util/grub-install.in: Use is_path_readable_by_grub() to
6666 verify readability of a few critical files.
6667 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
6668 verify readability of grub.cfg.new.
6670 2010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
6672 Split minix.mod into minix.mod and minix2.mod.
6674 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
6675 * grub-core/Makefile.core.def (minix2): New module.
6676 * grub-core/fs/minix.c: Use definitions instead of runtime version
6678 * grub-core/fs/minix2.c: New file.
6680 2010-09-08 Yves Blusseau <blusseau@zetam.org>
6682 Add new --boot-directory option to replace --root-directory
6684 * util/grub-install.in: Add new --boot-directory option
6685 * util/grub-reboot.in: Likewise.
6686 * util/grub-set-default.in: Likewise.
6688 2010-09-08 Yves Blusseau <blusseau@zetam.org>
6690 * util/grub-mkconfig.in: Use new variable.
6692 2010-09-08 Yves Blusseau <blusseau@zetam.org>
6694 * configure.ac: Define some useful variables.
6696 2010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
6698 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
6699 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
6700 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
6701 Use terminfo and don't use cursor-on/cursor-off unless it's known
6703 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
6704 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
6706 2010-09-08 Colin Watson <cjwatson@ubuntu.com>
6708 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
6709 starts with "(,", fill the drive containing the loaded image in
6710 between those two characters, but expect that a full partition
6711 specification including partition map names will follow.
6713 2010-09-08 Robert Millan <rmh@gnu.org>
6715 * configure.ac: Remove `--enable-grub-fstest' option.
6716 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
6718 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
6719 `grub-fstest' instead of `grub-probe' for readability verification.
6720 * util/grub-probe.c (probe): Remove readability verification kludge.
6722 2010-09-08 Robert Millan <rmh@gnu.org>
6724 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
6725 initializing `GRUB_FS'.
6727 2010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
6729 Not command (!) support to GRUB script.
6731 * tests/grub_script_not.in: New test.
6732 * Makefile.util.def: Rules for new test.
6734 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
6735 ! command as a special case.
6736 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
6738 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
6740 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
6743 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
6745 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
6747 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
6749 * docs/grub.texi (Shell-like scripting): Documentation for break,
6750 continue, shift and return commands.
6752 2010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
6754 Rename CD-ROM to cd on BIOS.
6756 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
6758 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
6760 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6762 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
6763 * util/grub-probe.c (main): Likewise.
6764 * util/i386/pc/grub-setup.c (main): Likewise.
6765 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
6766 Reported and debugged by: alexxy
6768 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6770 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
6773 2010-09-05 Jo Shields <directhex@apebox.org>
6775 * util/grub.d/30_os-prober.in: Add missing classes.
6777 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6779 * docs/grub.texi (Theme file format): Document new position format.
6781 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6783 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
6784 a table. Use @code instead of @verbatim.
6786 2010-09-05 Colin D Bennett <colin@gibibit.com>
6788 Gfxmenu documentation.
6790 * docs/grub.texi (Theme file format): New chapter.
6792 2010-09-05 Szymon Janc <szymon@janc.net.pl>
6794 * grub-core/Makefile.core.def (xzio): New module.
6795 * grub-core/io/xzio.c: New file.
6796 * grub-core/lib/xzembed/xz.h: New file (from xembed).
6797 * grub-core/lib/xzembed/xz_config.h: Likewise.
6798 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
6799 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
6800 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
6801 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
6802 * grub-core/lib/xzembed/xz_private.h: Likewise.
6803 * grub-core/lib/xzembed/xz_stream.h: Likewise.
6804 * include/grub/file.h (grub_file_filter_id): New compression filter
6805 GRUB_FILE_FILTER_XZIO.
6807 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6809 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
6810 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
6813 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6815 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
6816 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
6818 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6820 Uncompressed checksum support.
6822 * grub-core/commands/hashsum.c (options): Add option --uncompress.
6823 (check_list): New parameter uncompress.
6824 (grub_cmd_hashsum): Handle --uncompress.
6826 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6828 Reintroduce testload.
6830 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
6832 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
6833 (GRUB_MOD_INIT): New function.
6834 (GRUB_MOD_FINI): Likewise.
6835 * grub-core/Makefile.core.def (testload): New module.
6837 2010-09-05 Szymon Janc <szymon@janc.net.pl>
6839 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
6840 (uint8_t): New type.
6841 (uint16_t): Likewise.
6842 (uint32_t): Likewise.
6843 (uint64_t): Likewise.
6845 2010-09-05 Szymon Janc <szymon@janc.net.pl>
6847 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
6849 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6851 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
6853 (grub_gzfile_open): Removed. All users updated.
6854 (GRUB_MOD_INIT): New function.
6855 (GRUB_MOD_FINI): Likewise.
6856 * grub-core/kern/file.c (grub_file_filters_all): New variable.
6857 (grub_file_filters_enabled): Likewise.
6858 (grub_file_open): Handle filters.
6859 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
6860 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
6861 * include/grub/file.h (grub_file_filter_id_t): New type.
6862 (grub_file_filter_t): Likewise.
6863 (grub_file_filters_all): New extern variable.
6864 (grub_file_filters_enabled): Likewise.
6865 (grub_file_filter_register): New inline function.
6866 (grub_file_filter_unregister): Likewise.
6867 (grub_file_filter_disable): Likewise.
6868 (grub_file_filter_disable_compression): Likewise.
6869 * include/grub/gzio.h: Removed.
6871 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
6873 Filename expansion support for wildcards in GRUB script.
6875 * tests/grub_script_expansion.in: New test.
6876 * Makefile.util.def: Rule for new test.
6878 * grub-core/commands/wildcard.c: New file, implements filename
6879 expansion support for GRUB script.
6880 * grub-core/Makefile.core.def: Rule update for regexp.mod.
6881 * grub-core/script/argv.c: Cosmetic changes.
6882 * grub-core/script/execute.c (grub_script_arglist_to_argv):
6883 Refactored to perform wildcard expansion on arguments.
6884 * include/grub/script_sh.h (grub_script_wildcard_translator): New
6887 * tests/util/grub-shell.in: Fix quoting for read input.
6889 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
6891 Support for updating environment variables with matched substrings
6894 * tests/grub_cmd_regexp.in: New test.
6895 * Makefile.util.def: Rule for new test.
6897 * grub-core/commands/regexp.c: New option -s to update environment
6898 variables with regexp matches.
6900 2010-09-04 Szymon Janc <szymon@janc.net.pl>
6902 * include/grub/file.h (grub_file): New member not_easly_seekable.
6903 (grub_file_seekable): New inline function.
6904 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
6906 (grub_gzio_open): Set not_easly_seekable.
6907 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
6908 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
6910 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
6912 Support for options to appear multiple times on cmdline.
6914 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
6915 * grub-core/commands/extcmd.c: Support for repeatable option.
6916 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
6917 repeatable option support.
6919 Refactor menuentry into a regular command.
6921 * grub-core/commands/menuentry.c: New file, menuentry command
6923 * grub-core/Makefile.core.def: Rule update for normal.mod.
6924 * grub-core/normal/main.c: Moved menuentry creation to
6925 grub-core/commands/menuentry.c.
6926 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
6927 (grub_menu_execute_entry_real): Removed.
6928 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
6930 (grub_script_execute_menuentry): Removed.
6931 * grub-core/script/parser.y (menuentry): Removed.
6932 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
6933 * grub-core/script/yylex.l (menuentry): Removed.
6934 * include/grub/menu.h (grub_menu_init): New prototype.
6935 (grub_menu_fini): New prototype.
6936 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
6937 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
6938 (grub_script_execute_sourcecode): New prototype.
6940 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
6942 "return" command for GRUB script functions.
6944 * tests/grub_script_return.in: New test.
6945 * Makefile.util.def: Rules for new test.
6947 * grub-core/script/execute.c (grub_script_return): New function.
6948 * grub-core/script/main.c: Register/unregister return commaond.
6949 * include/grub/script_sh.h (grub_script_return): New prototype.
6951 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
6953 "setparams" command to update positional parameters.
6955 * tests/grub_script_setparams.in: New test.
6956 * Makefile.util.def: Rules for new test.
6958 * grub-core/script/argv.c (grub_script_argv_make): New function.
6959 * grub-core/script/execute.c (replace_scope): New function.
6960 (grub_script_setparams): New function.
6961 * grub-core/script/lexer.c: Remove unused variables.
6962 * grub-core/script/main.c: Register/unregister setparams command.
6963 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
6964 (grub_script_setparams): New prototype.
6966 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
6968 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
6971 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
6973 Support for passing block of commands as an argument to extcmds.
6975 * Makefile.util.def: Rules for new test.
6976 * tests/grub_script_blockarg.in: New test.
6977 * grub-core/tests/test_blockarg.c: New file, block argument
6978 command used in the test.
6980 * include/grub/extcmd.h (grub_extcmd_context): New struct.
6981 (grub_register_extcmd_prio): New function prototype.
6982 (grub_extcmd_dispatcher): New function prototype.
6983 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
6985 * include/grub/script_sh.h (struct grub_script): New members
6986 `children', `next_siblings' and `refcnt' for block arguments and
6988 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
6989 (grub_script_arg): New member `script' for block argument.
6990 (grub_script_argv): New member `script' for block argument.
6991 (grub_parser_param): New member `scripts' for block argument.
6992 (grub_script_mem_free): New extern function prototype.
6993 (grub_script_ref): New function prototype.
6994 (grub_script_unref): New function prototype.
6996 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
6997 extcmd form to support block arguments.
6998 * grub-core/script/argv.c: Block arguments support.
6999 * grub-core/script/execute.c: Likewise.
7000 * grub-core/script/lexer.c: Likewise.
7001 * grub-core/script/main.c: Likewise.
7002 * grub-core/script/script.c: Likewise.
7003 * grub-core/script/parser.y: Likewise. New `block' and `block0'
7006 * grub-core/commands/acpi.c: Update extcmd implementations with
7007 grub_extcmd_context_t.
7008 * grub-core/commands/cat.c: Likewise.
7009 * grub-core/commands/echo.c: Likewise.
7010 * grub-core/commands/extcmd.c: Likewise.
7011 * grub-core/commands/hashsum.c: Likewise.
7012 * grub-core/commands/hdparm.c: Likewise.
7013 * grub-core/commands/help.c: Likewise.
7014 * grub-core/commands/hexdump.c: Likewise.
7015 * grub-core/commands/i386/cpuid.c: Likewise.
7016 * grub-core/commands/i386/pc/drivemap.c: Likewise.
7017 * grub-core/commands/i386/pc/halt.c: Likewise.
7018 * grub-core/commands/i386/pc/sendkey.c: Likewise.
7019 * grub-core/commands/iorw.c: Likewise.
7020 * grub-core/commands/keystatus.c: Likewise.
7021 * grub-core/commands/loadenv.c: Likewise.
7022 * grub-core/commands/ls.c: Likewise.
7023 * grub-core/commands/lspci.c: Likewise.
7024 * grub-core/commands/memrw.c: Likewise.
7025 * grub-core/commands/probe.c: Likewise.
7026 * grub-core/commands/search_wrap.c: Likewise.
7027 * grub-core/commands/setpci.c: Likewise.
7028 * grub-core/commands/sleep.c: Likewise.
7029 * grub-core/disk/loopback.c: Likewise.
7030 * grub-core/hello/hello.c: Likewise.
7031 * grub-core/loader/i386/bsd.c: Likewise.
7032 * grub-core/loader/xnu.c: Likewise.
7033 * grub-core/term/gfxterm.c: Likewise.
7034 * grub-core/term/serial.c: Likewise.
7035 * grub-core/tests/lib/functional_test.c: Likewise.
7037 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
7039 Multi-line quoted strings support.
7041 * grub-core/script/lexer.c (append_newline): Removed.
7042 (grub_script_lexer_yywrap): Refactored.
7043 (grub_script_lexer_init): Refactored.
7044 * grub-core/script/yylex.l (yywrap): New function.
7045 (grub_lexer_resplit): New function.
7046 (grub_lexer_unput): New function.
7047 * include/grub/script_sh.h (grub_lexer_param): New members, unput
7049 * tests/grub_script_echo1.in: Added few more testcases.
7051 2010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
7053 * grub-core/kern/misc.c: Don't add abort alias in utils.
7054 Reported by: echoline.
7056 2010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
7058 Add missing files into "make dist" tarball for other platforms.
7060 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
7061 * conf/Makefile.common (dist_noinst_DATA): New variable.
7062 * conf/Makefile.extra-dist: Added missing make dist files.
7063 * grub-core/Makefile.core.def: Likewise.
7065 2010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
7067 Compress grub_prefix.
7069 * grub-core/boot/i386/pc/lnxboot.S: Use
7070 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
7071 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
7072 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
7073 GRUB_MACHINE_PREFIX_END. All users updated.
7074 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
7075 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
7077 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
7078 * util/grub-mkimage.c (image_target_desc): Change data_end to
7079 prefix_end. All users updated.
7081 2010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
7083 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
7085 (grub_openbsd_boot): Likewise.
7086 (grub_netbsd_boot): Likewise.
7087 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
7088 (grub_xnu_boot): Likewise.
7090 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
7092 * configure.ac: Clean LIBS variable after tests.
7094 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
7096 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
7098 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
7100 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
7101 echo if libdevmapper will be used.
7103 2010-09-02 Ian Turner <Ian.Turner@deshaw.com>
7105 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
7106 constant for the same file.
7108 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
7110 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
7112 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
7114 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
7117 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
7119 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
7120 required by the boot protocol.
7122 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
7123 ebp and edi members.
7124 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
7125 state.ebp and state.edi.
7126 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
7127 %ebp and %edi according to grub_relocator32_ebp and
7128 grub_relocator32_edi respectively.
7129 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
7132 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
7134 Add i386-pc-pxe image target.
7136 * util/grub-mkimage.c (image_target_desc): New enum value
7138 (image_targets): New target i386-pc-pxe.
7139 (generate_image): Handle i386-pc-pxe image.
7141 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
7145 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
7146 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
7148 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
7149 (grub_pxe_pxenv): Correct type.
7151 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
7153 * NEWS: Document most of the important changes since 1.98.
7155 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
7157 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
7158 generated manual page) a little.
7160 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
7162 * docs/grub.texi: Add myself as an author.
7164 2010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
7166 * Makefile.util.def (libgrub.a): Add missing sunpc.
7167 Reported by: Seth Goldberg.
7169 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
7171 Interrupt wrapping and code simplifications.
7173 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
7174 x86_noieee1275 which are functionaly equivalent in this case.
7175 (grub-install): Make source on each platform explicit. Enable on
7177 * gentpl.py (x86_efi_pc): Removed group.
7178 (x86_noefi): Likewise.
7179 (i386_noefi): Likewise.
7180 (x86_noieee1275): Likewise.
7181 (i386_noieee1275): Likewise.
7182 (i386_noefi_noieee1275): Likewise.
7183 (i386_pc_qemu_coreboot): Likewise.
7184 (i386_coreboot_multiboot): Likewise.
7185 (i386_pc_coreboot_multiboot_qemu): Likewise.
7186 (x86_noefi_mips): Likewise.
7187 (noieee1275): Likewise.
7188 (ieee1275_mips): Likewise.
7189 (noemu_noieee1275): Likewise.
7192 (videoinkernel): Likewise.
7193 (videomodules): Likewise.
7194 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
7195 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
7196 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
7197 include/grub/loader.h, include/grub/msdos_partition.h,
7198 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
7199 include/grub/machine/console.h, include/grub/machine/vga.h,
7200 include/grub/machine/vbe.h, include/grub/machine/init.h,
7201 include/grub/machine/kernel.h, include/grub/cpu/time.h,
7202 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
7203 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
7204 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
7205 * grub-core/Makefile.core.def (kernel): Explicit the source for
7206 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
7207 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
7208 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
7209 Use videoinkernel tag.
7210 (usb): Enable on all usb.
7211 (usbserial_common): Likewise.
7212 (usbserial_pl2303): Likewise.
7213 (usbserial_ftdi): Likewise.
7214 (uhci): Enable on all x86.
7215 (ohci): Enable on all pci.
7216 (cmostest): Enable on all CMOS.
7217 (acpi): Include commands/acpi.c on all platforms.
7218 (halt): Add relevant lib/*/halt.c.
7219 (hdparm): Enable on all pci.
7221 (usbtest): Enable on all usb.
7222 (ata): Enable on all pci.
7223 (ata_pthru): Likewise.
7224 (usbms): Enable on all usb.
7225 (usb_keyboard): Likewise.
7226 (font): Use tag videomodules.
7228 (datetime): Use tag cmos. Enable on all noemu.
7229 (mmap): Use tags common and x86.
7230 (gfxterm): Use tag videomodules.
7232 (bitmap_scale): Likewise.
7233 (video_fb): Likewise.
7235 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
7236 adjust padding accordingly. All users updated.
7237 (grub_ohci_transaction): Fix bad format specification.
7238 (GRUB_MOD_INIT): Add asserts for struct size.
7239 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
7240 (grub_alloc_td): Likewise.
7241 (grub_free_queue): Likewise.
7242 (grub_uhci_transfer): Likewise.
7243 (grub_uhci_transaction): Fix bad format specification.
7244 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
7245 (grub_usb_bulk_readwrite): Likewise.
7246 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
7247 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
7249 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
7251 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
7252 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
7254 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
7256 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
7257 ... here. Transformed into C. Made static.
7258 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
7260 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
7261 ... here. Transformed into C. Made static.
7262 * grub-core/kern/i386/pc/startup.S
7263 (grub_biosdisk_check_int13_extensions): Moved from here ...
7264 * grub-core/disk/i386/pc/biosdisk.c
7265 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
7267 * grub-core/kern/i386/pc/startup.S
7268 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
7269 * grub-core/disk/i386/pc/biosdisk.c
7270 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
7271 Transformed into C. Made static.
7272 * grub-core/kern/i386/pc/startup.S
7273 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
7274 * grub-core/disk/i386/pc/biosdisk.c
7275 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
7276 Transformed into C. Made static.
7277 * grub-core/kern/i386/pc/startup.S
7278 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
7279 * grub-core/disk/i386/pc/biosdisk.c
7280 (grub_biosdisk_get_diskinfo_standard): ... here.
7281 Transformed into C. Made static.
7282 * grub-core/kern/i386/pc/startup.S
7283 (grub_biosdisk_get_num_floppies): Moved from here ...
7284 * grub-core/disk/i386/pc/biosdisk.c
7285 (grub_biosdisk_get_num_floppies): ... here.
7286 Transformed into C. Made static.
7287 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
7289 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
7290 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
7291 Transformed into C. Made static.
7292 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
7293 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
7294 Transformed into C. Made static.
7295 * grub-core/kern/i386/ieee1275/init.c: Removed.
7296 * grub-core/kern/i386/misc.S: Likewise.
7297 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
7298 Splitted from here ...
7299 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
7300 Transformed into C. Made static. All users updated.
7301 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
7302 Transformed into C. Made static. All users updated.
7303 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
7305 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
7306 Transformed into C. Made static. All users updated.
7307 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
7309 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
7310 Transformed into C. Made static. All users updated.
7311 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
7312 Removed (replaced by C version).
7313 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
7315 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
7316 Transformed into C. Made static.
7317 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
7319 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
7320 ... here. Transformed into C.
7321 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
7323 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
7324 ... here. Transformed into C.
7325 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
7327 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
7328 ... here. Transformed into C. Made static.
7329 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
7331 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
7332 ... here. Transformed into C.
7333 * grub-core/kern/i386/pc/startup.S
7334 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
7335 * grub-core/video/i386/pc/vbe.c
7336 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
7337 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
7339 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
7340 ... here. Transformed into C.
7341 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
7343 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
7344 ... here. Transformed into C.
7345 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
7347 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
7348 ... here. Transformed into C.
7349 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
7351 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
7352 ... here. Transformed into C.
7353 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
7355 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
7356 ... here. Transformed into C. Made static.
7357 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
7359 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
7360 ... here. Transformed into C. Made static.
7361 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
7363 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
7364 ... here. Transformed into C. Made static.
7365 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
7366 pxe_rm_entry as third argument.
7367 (grub_bios_interrupt): New function.
7368 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
7369 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
7370 of calling grub_stop.
7371 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
7372 * grub-core/lib/efi/halt.c (grub_halt): ...here.
7373 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
7374 * grub-core/lib/emu/halt.c (grub_halt): ... here.
7375 * grub-core/lib/i386/halt.c: Moved from here ...
7376 * grub-core/lib/i386/halt.c: ... here.
7377 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
7378 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
7379 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
7381 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
7382 * include/grub/i386/coreboot/init.h: Removed.
7383 * include/grub/i386/multiboot/init.h: Likewise.
7384 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
7385 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
7386 * include/grub/i386/pc/int.h: New file.
7387 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
7388 (grub_pxe_scan): Removed.
7389 (grub_pxe_call): Update prototype.
7390 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
7392 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
7393 * include/grub/i386/qemu/init.h: Removed.
7394 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
7396 (grub_halt): Likewise.
7397 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
7398 (grub_reboot): Likewise.
7399 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
7400 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
7401 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
7403 2010-08-30 Robert Millan <rmh@gnu.org>
7405 * NEWS: Document addition of ZFS support in `grub-install' and
7408 2010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
7410 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
7413 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
7415 Remove leftover embedding of font objects.
7417 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
7418 * util/grub-install.in (font): Removed.
7419 * util/grub-mkimage.c (generate_image): Remove font support. All users
7422 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
7424 Remove leftover embedding of font objects.
7426 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
7427 * util/grub-install.in (font): Removed.
7428 * util/grub-mkimage.c (generate_image): Remove font support. All users
7431 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
7433 * docs/grub.texi (Network): Fix reference to pxe_blksize.
7434 Reported by: Ian Turner
7436 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
7438 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
7439 timeout to avoid indefinite boot stalling.
7441 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
7443 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
7444 (grub_env_write_color_highlight): Likewise.
7446 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
7448 * grub-core/normal/term.c (print_more): Return to normal and not
7449 to standard state after printing "---MORE---".
7451 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
7453 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
7454 Mask out the bit 0x80 since it has other meaning that specifiing color.
7456 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
7458 New relocator. Allows for more kernel support and more straightforward
7461 * Makefile.am (BOOTTARGET): New variable.
7463 (linux.init.x86_64): New target.
7464 (linux.init.i386): Likewise.
7465 (multiboot.elf): Likewise.
7466 (kfreebsd.elf): Likewise.
7467 (kfreebsd.aout): Likewise.
7468 (pc-chainloader.elf): Likewise.
7469 (pc-chainloader.bin): Likewise.
7470 (ntldr.elf): Likewise.
7471 (ntldr.bin): Likewise.
7472 (multiboot2.elf): Likewise.
7473 (kfreebsd.init.x86_64): Likewise.
7474 (kfreebsd.init.i386): Likewise.
7475 (knetbsd.init.i386): Likewise.
7476 (kopenbsd.init.i386): Likewise.
7477 (knetbsd.init.x86_64): Likewise.
7478 (kopenbsd.init.x86_64): Likewise.
7479 (linux-initramfs.i386): Likewise.
7480 (linux-initramfs.x86_64): Likewise.
7481 (kfreebsd-mfsroot.i386.img): Likewise.
7482 (knetbsd.image.i386): Likewise.
7483 (kopenbsd.image.i386): Likewise.
7484 (kopenbsd.image.x86_64): Likewise.
7485 (knetbsd.miniroot-image.i386.img): Likewise.
7486 (kfreebsd-mfsroot.x86_64.img): Likewise.
7487 (knetbsd.image.x86_64): Likewise.
7488 (knetbsd.miniroot-image.x86_64.img): Likewise.
7489 (kfreebsd-mfsroot.i386.gz): Likewise.
7490 (bootcheck-kfreebsd-i386): Likewise.
7491 (kfreebsd-mfsroot.x86_64.gz): Likewise.
7492 (bootcheck-kfreebsd-x86_64): Likewise.
7493 (knetbsd.miniroot-image.i386.gz): Likewise.
7494 (bootcheck-knetbsd-i386): Likewise.
7495 (bootcheck-kopenbsd-i386): Likewise.
7496 (bootcheck-kopenbsd-x86_64): Likewise.
7497 (knetbsd.miniroot-image.x86_64.gz): Likewise.
7498 (bootcheck-knetbsd-x86_64): Likewise.
7499 (bootcheck-linux-i386): Likewise.
7500 (bootcheck-linux-x86_64): Likewise.
7501 (bootcheck-linux16-i386): Likewise.
7502 (bootcheck-linux16-x86_64): Likewise.
7503 (bootcheck-multiboot): Likewise.
7504 (bootcheck-multiboot2): Likewise.
7505 (bootcheck-kfreebsd-aout): Likewise.
7506 (bootcheck-pc-chainloader): Likewise.
7507 (bootcheck-ntldr): Likewise.
7508 (CLEANFILES): Add new targets.
7509 (BOOTCHECKS): New variable.
7510 (.PHONY): Add bootchecks.
7511 (SUCCESSFUL_BOOT_STRING): New variable.
7512 (BOOTCHECK_TIMEOUT): Likewise.
7513 (bootcheck): New target
7514 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
7515 * configure.ac: Correct efiemu excuse.
7516 * docs/grub.texi (Supported kernels): New chapter.
7517 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
7518 include/grub/mm_private.h. Simplify inclusion of
7519 include/grub/boot.h, include/grub/loader.h
7520 and include/grub/msdos_partition.h
7521 (KERNEL_HEADER_FILES) [i386_coreboot]:
7522 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
7523 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
7524 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
7525 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
7526 include/grub/machine/loader.h.
7527 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
7528 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
7530 (pci.mod): Enable on i386-multiboot.
7531 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
7532 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
7534 (relocator.mod): Rewritten.
7535 (aout.mod): Enable on all x86.
7536 (bsd.mod): Likewise.
7537 (ntldr.mod): New module.
7538 (linux.mod): Use loader/i386/linux.c on all x86.
7539 (xnu.mod): Enable on all x86.
7540 (vga_text.mod): disable on EFI and QEMU.
7541 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
7542 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
7543 * grub-core/efiemu/loadcore.c: Likewise.
7544 * grub-core/efiemu/main.c: Likewise.
7545 (grub_efiemu_exit_boot_services): Removed.
7546 (grub_efiemu_finish_boot_services): Likewise.
7547 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
7549 * grub-core/efiemu/i386/nocfgtables.c: New file.
7550 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
7551 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
7552 (grub_efi_finish_boot_services): Moved from here ...
7553 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
7554 Fille finish memory map and related data.
7555 (finish_mmap_buf): New variable.
7556 (grub_efi_uintn_t finish_mmap_size): Likewise.
7557 (grub_efi_uintn_t finish_key): Likewise.
7558 (grub_efi_uintn_t finish_desc_size): Likewise.
7559 (grub_efi_uint32_t finish_desc_version): Likewise.
7560 (grub_efi_is_finished): Likewise.
7561 (grub_efi_get_memory_map): Use saved memory map if EFI is already
7563 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
7564 (grub_elf64_phdr_iterate): Likewise.
7565 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
7566 (grub_os_area_size): Likewise.
7567 (grub_machine_init): Don't reserve os area.
7568 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
7569 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
7570 * grub-core/kern/i386/loader.S: Removed.
7571 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
7572 (grub_os_area_size): Likewise.
7573 (grub_machine_init): Don't reserve os area.
7574 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
7575 Don't call grub_dl_unload_all.
7576 Don't include loader.S.
7577 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
7578 Declare the memory after _end as available.
7579 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
7580 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
7581 (GRUB_MM_ALLOC_MAGIC): Moved from here...
7582 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
7583 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
7584 * include/grub/mm_private.h (grub_mm_header): ... here.
7585 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
7586 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
7587 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
7588 (grub_mm_region): ..here. Removed addr. Added pre_size.
7590 * grub-core/kern/mm.c (base): Renamed to ...
7591 (grub_mm_base): ... this. Made global.
7592 (grub_real_malloc): Alloc from end of region.
7593 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
7594 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
7595 * grub-core/kern/powerpc/cache_flush.S: ... here.
7596 * grub-core/lib/efi/relocator.c: New file.
7597 * grub-core/lib/i386/relocator.c: Rewritten.
7598 * grub-core/lib/i386/relocator16.S: New file.
7599 * grub-core/lib/i386/relocator32.S: Likewise.
7600 * grub-core/lib/i386/relocator64.S: Likewise.
7601 * grub-core/lib/i386/relocator_asm.S: Rewritten.
7602 * grub-core/lib/i386/relocator_common.S: New file.
7603 * grub-core/lib/ieee1275/relocator.c: Likewise.
7604 * grub-core/lib/mips/relocator.c: Rewritten.
7605 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
7606 stylistic adjustments.
7607 * grub-core/lib/powerpc/relocator.c: New file.
7608 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
7609 * grub-core/lib/relocator.c: Rewritten.
7610 * grub-core/lib/x86_64/relocator_asm.S: New file.
7611 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
7612 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
7613 (bsd_tag): New struct.
7614 (tags): New variable.
7615 (tags_last): Likewise.
7616 (netbsd_module): New struct.
7617 (netbsd_mods): New variable.
7618 (netbsd_mods_last): Likewise.
7619 (openbsd_opts): New parameter "serial".
7620 (OPENBSD_SERIAL_ARG): New definition.
7621 (netbsd_opts): New parameter "serial".
7622 (NETBSD_SERIAL_ARG): New definition.
7623 (grub_freebsd_add_meta): Reorganised into ...
7624 (grub_bsd_add_meta): ...this. All users updated.
7625 (grub_freebsd_add_mmap): Reorganised into ...
7626 (generate_e820_mmap): ...this...
7627 (grub_bsd_add_mmap): ...and this. All users updated.
7628 (grub_freebsd_list_modules): Use tags.
7629 (grub_netbsd_add_meta_module): New function.
7630 (grub_netbsd_list_modules): Likewise.
7631 (grub_freebsd_boot): Use relocator and finish EFI.
7632 (grub_openbsd_boot): Likewise.
7633 (grub_netbsd_setup_video): New function.
7634 (grub_netbsd_add_modules): Likewise.
7635 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
7637 (grub_bsd_unload): Unload tags.
7638 (grub_bsd_load_aout): Use relocator.
7639 (grub_bsd_elf32_size_hook): New function.
7640 (grub_bsd_elf32_hook): Use relocator.
7641 (grub_bsd_elf64_size_hook): New function.
7642 (grub_bsd_elf64_hook): Use relocator.
7643 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
7644 (grub_bsd_load): Zero-out openbsd_ramdisk.
7645 (grub_bsd_load): Use relocator.
7646 (grub_cmd_openbsd): Support serial.
7647 (grub_cmd_netbsd): Support modules.
7648 (grub_cmd_freebsd_module): Use relocator.
7649 (grub_netbsd_module_load): New function.
7650 (grub_cmd_netbsd_module): Likewise.
7651 (grub_cmd_openbsd_ramdisk): Likewise.
7652 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
7654 (GRUB_MOD_FINI): Unregister new commands.
7655 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
7656 (grub_freebsd_load_elfmodule_obj): Use relocator.
7657 (grub_freebsd_load_elfmodule): Likewise.
7658 (grub_freebsd_load_elf_meta): Likewise.
7659 (grub_netbsd_load_elf_meta): New function.
7660 (grub_openbsd_find_ramdisk): Likewise.
7661 * grub-core/loader/i386/bsd_helper.S: Removed.
7662 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
7663 * grub-core/loader/i386/bsd_trampoline.S: Removed.
7664 * grub-core/loader/i386/efi/linux.c: Likewise.
7665 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
7666 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
7667 (DEFAULT_VIDEO_MODE): Likewise.
7668 (real_mode_target): New variable.
7669 (prot_mode_target): Likewise.
7670 (initrd_mem_target): Likewise.
7671 (relocator): Likewise.
7672 (efi_mmap_buf): Likewise.
7673 (efi_mmap_size): Likewise.
7674 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
7675 (free_pages): Use relocator.
7676 (allocate_pages): Account for efi_mmap and use relocator. Return error.
7677 (grub_linux_setup_video): Return error.
7678 (grub_linux_trampoline_start): Removed.
7679 (grub_linux_trampoline_end): Likewise.
7680 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
7681 andd video parameters depending on firmware.
7682 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
7683 [GRUB_MACHINE_EFI]: Pass EFI parameters.
7684 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
7685 (grub_cmd_initrd): Use relocator.
7686 * grub-core/loader/i386/linux_trampoline.S: Removed.
7687 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
7688 (elf_sec_entsize): Likewise.
7689 (elf_sec_shstrndx): Likewise.
7690 (elf_sections): Likewise.
7691 (grub_multiboot_load): Use relocator.
7692 (grub_multiboot_get_mbi_size): Account for sections.
7693 (grub_multiboot_make_mbi): Use relocator and support sections.
7694 (grub_multiboot_add_elfsyms): New function.
7695 (grub_multiboot_free_mbi): Free sections.
7696 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
7697 (grub_linux_real_target): Likewise.
7698 (grub_linux_real_chunk): Likewise.
7699 (grub_linux16_prot_size): Likewise.
7700 (grub_linux16_boot): Use relocator.
7701 (grub_linux_unload): Unload relocator.
7702 (grub_cmd_linux): Use relocator.
7703 (grub_cmd_initrd): Likewise.
7704 * grub-core/loader/i386/pc/ntldr.c: New file.
7705 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
7706 Don't try to guess CPU frequency.
7707 (grub_xnu_set_video): Stretch bitmap.
7708 (grub_xnu_boot): Use relocator.
7709 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
7710 (grub_linux_unload): Free relocator.
7711 (grub_linux_load32): Use relocator.
7712 (grub_linux_load64): Likewise.
7713 (grub_cmd_initrd): Likewise.
7714 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
7715 (grub_multiboot_unload): Unload relocator.
7716 (grub_cmd_multiboot): Use relocator.
7717 (grub_cmd_module): Likewise.
7718 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
7719 Use relocator and support sections.
7720 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
7721 (elf_sec_entsize): Likewise.
7722 (elf_sec_shstrndx): Likewise.
7723 (elf_sections): Likewise.
7724 (grub_multiboot_load): Use relocator.
7725 (grub_multiboot_get_mbi_size): Account for sections.
7726 (grub_multiboot_make_mbi): Use relocator and support sections.
7727 (grub_multiboot_add_elfsyms): New function.
7728 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
7729 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
7730 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
7731 Prototype changed. All users updated.
7732 (grub_xnu_align_heap): Simplified.
7733 (grub_xnu_writetree_toheap): Likewise.
7734 (grub_xnu_unload): Unload relocator.
7735 (grub_cmd_xnu_kernel): Use relocator.
7736 (grub_cmd_xnu_kernel64): Likewise.
7737 (grub_xnu_register_memory): Simplified.
7738 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
7739 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
7741 (grub_console_checkkey): Likewise.
7742 (grub_console_getkey): Likewise.
7743 (grub_console_getwh): Likewise.
7744 (grub_console_getxy): Likewise.
7745 (grub_console_gotoxy): Likewise.
7746 (grub_console_cls): Likewise.
7747 (grub_console_setcolorstate): Likewise.
7748 (grub_console_setcursor): Likewise.
7749 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
7750 * grub-core/tests/boot/kbsd.init-i386.S: New file.
7751 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
7752 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
7753 * grub-core/tests/boot/kernel-8086.S: Likewise.
7754 * grub-core/tests/boot/kernel-i386.S: Likewise.
7755 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
7756 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
7757 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
7758 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
7759 * grub-core/tests/boot/knetbsd.cfg: Likewise.
7760 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
7761 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
7762 * grub-core/tests/boot/linux.cfg: Likewise.
7763 * grub-core/tests/boot/linux.init-i386.S: Likewise.
7764 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
7765 * grub-core/tests/boot/linux16.cfg: Likewise.
7766 * grub-core/tests/boot/multiboot.cfg: Likewise.
7767 * grub-core/tests/boot/multiboot2.cfg: Likewise.
7768 * grub-core/tests/boot/ntldr.cfg: Likewise.
7769 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
7770 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
7771 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
7773 * include/grub/dl.h (grub_dl_unload_all): Removed.
7774 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
7775 (grub_efi_finish_boot_services): Change prototype.
7776 (grub_efi_is_finished): New variable.
7777 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
7779 (grub_efiemu_finish_boot_services): Removed.
7780 (grub_machine_efiemu_init_tables): New prototype.
7781 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
7782 (grub_elf64_phdr_iterate): Likewise.
7783 * include/grub/i386/bsd.h: Include relocator.h.
7784 (freebsd_tag_header): New struct.
7785 (grub_openbsd_bios_mmap): Removed.
7786 (grub_unix_real_boot): Removed.
7787 (grub_freebsd_load_elfmodule32): Changed prototype.
7788 (grub_freebsd_load_elfmodule_obj64): Likewise.
7789 (grub_freebsd_load_elf_meta32): Likewise.
7790 (grub_freebsd_load_elf_meta64): Likewise.
7791 (grub_freebsd_add_meta): Removed.
7792 (grub_netbsd_load_elf_meta32): New prototype.
7793 (grub_netbsd_load_elf_meta64): Likewise.
7794 (grub_bsd_add_meta): Likewise.
7795 (grub_openbsd_ramdisk_descriptor): New struct.
7796 (grub_openbsd_find_ramdisk32): New prototype.
7797 (grub_openbsd_find_ramdisk64): Likewise.
7798 * include/grub/i386/coreboot/loader.h: Removed.
7799 * include/grub/i386/efi/loader.h: Likewise.
7800 * include/grub/i386/ieee1275/loader.h: Likewise.
7801 * include/grub/i386/linux.h (linux_kernel_header): Change void *
7803 * include/grub/i386/loader.h: Removed.
7804 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
7806 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
7807 (grub_phys_addr_t): New type.
7808 (grub_vtop): New inline function.
7809 (grub_map_memory): Likewise.
7810 (grub_unmap_memory): Likewise.
7811 * include/grub/i386/multiboot/loader.h: Removed.
7812 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
7813 (NETBSD_BTINFO_CONSOLE): New definition.
7814 (NETBSD_BTINFO_SYMTAB): Likewise.
7815 (NETBSD_BTINFO_MODULES): Likewise.
7816 (NETBSD_BTINFO_FRAMEBUF): Likewise.
7817 (grub_netbsd_bootinfo): New struct.
7818 (grub_netbsd_btinfo_common): Use explicit bitsize.
7819 (grub_netbsd_btinfo_mmap_entry): Removed.
7820 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
7821 (grub_netbsd_btinfo_bootdisk): New struct.
7822 (grub_netbsd_btinfo_symtab): Likewise.
7823 (grub_netbsd_btinfo_serial): Likewise.
7824 (grub_netbsd_btinfo_modules): Likewise.
7825 (grub_netbsd_btinfo_framebuf): Likewise.
7826 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
7827 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
7829 (grub_openbsd_bootargs): Use explicit bitsize.
7830 (grub_openbsd_bootarg_console): New struct.
7831 (GRUB_OPENBSD_COM_MAJOR): New definition.
7832 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
7833 * include/grub/i386/pc/efiemu.h: Removed.
7834 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
7835 * include/grub/i386/qemu/loader.h: Removed.
7836 * include/grub/i386/relocator.h: Rewritten.
7837 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
7838 * include/grub/mips/memory.h: New file.
7839 * include/grub/mips/multiboot.h: Rewritten.
7840 * include/grub/mips/relocator.h: Rewritten.
7841 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
7842 (grub_vtop): New function.
7843 (grub_map_memory): Likewise.
7844 (grub_unmap_memory): Likewise.
7845 * include/grub/misc.h (ALIGN_DOWN): New definition.
7846 * include/grub/mm.h (grub_mm_check_real): New proto.
7847 (GRUB_MM_CHECK): New definition.
7848 * include/grub/mm_private.h: New file.
7849 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
7850 (grub_multiboot_get_mbi_size): Removed.
7851 (grub_multiboot_make_mbi): Change prottype.
7852 (grub_multiboot_set_accepts_video): New proto.
7853 (grub_multiboot_add_elfsyms): Likewise.
7854 (grub_multiboot_payload_eip): New variable.
7855 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
7857 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
7859 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
7860 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
7861 * include/grub/powerpc/ieee1275/loader.h: Removed.
7862 * include/grub/powerpc/memory.h: New file.
7863 * include/grub/powerpc/relocator.h: Likewise.
7864 * include/grub/relocator.h: Likewise.
7865 * include/grub/relocator_private.h: Likewise.
7866 * include/grub/sparc64/ieee1275/loader.h: Removed.
7867 * include/grub/x86_64/memory.h: New file.
7868 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
7869 (grub_xnu_heap_malloc): Likewise.
7870 (grub_xnu_heap_real_start): Removed.
7871 (grub_xnu_heap_start): Likewise.
7872 (grub_xnu_relocator): New variable.
7873 (grub_xnu_heap_target_start): Likewise.
7874 * tests/util/grub-shell.in: Support non-pc.
7875 * util/grub-mkimage.c (image_targets): Fix multiboot target.
7877 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
7879 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
7881 (grub_bidi_logical_to_visual): Check that malloc succeded.
7882 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
7884 (grub_xputs_normal): Likewise.
7886 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
7888 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
7891 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
7893 * grub-core/efiemu/runtime/efiemu.sh: Removed.
7895 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
7897 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
7899 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
7901 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
7904 2010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
7906 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
7908 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
7910 * grub-core/normal/term.c (print_more): Fix a memory leak.
7911 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
7912 (grub_xputs_normal): Likewise.
7914 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
7916 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
7917 the begining of the string
7919 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
7921 * grub-core/script/script.c (grub_script_parse): Free parsed on
7924 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
7926 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
7929 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
7931 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
7934 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
7936 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
7937 (scroll_up): Fix a memory leak.
7939 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
7941 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
7944 2010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
7946 Handle USB pendrives exposed as floppies.
7948 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
7950 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
7951 Check for partitions on all devices.
7953 2010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
7955 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
7956 (readkey): Likewise.
7958 2010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
7960 Multiple variable names support to "export" command.
7962 * normal/context.c (grub_cmd_export): "export" command supports
7963 multiple variable names.
7965 2010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
7967 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
7968 --target=drive output to Mach device name.
7970 2010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
7972 New Automake based build system for GRUB.
7974 * ABOUT-NLS: New file.
7975 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
7976 in Makefile.util.def file.
7977 * Makefile.util.def: New file. Autogen build definitions file for
7979 * conf/Makefile.common: New file. Common variables for GRUB host
7980 utils and target modules.
7981 * conf/Makefile.extra-dist: New file. Extra files for make dist.
7982 * docs/Makefile.am: New file. Automake file for docs.
7983 * gentpl.py: New file. Python script to generate Autogen
7985 * grub-core/Makefile.am: New file. GRUB target modules' rules
7986 that doesn't fit in Makefile.core.def file.
7987 * grub-core/Makefile.core.def: New file. Autogen build
7988 definitions file for GRUB target modules.
7989 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
7990 specific setjmp.S file.
7991 * po/Makefile.am: New file.
7993 * .bzrignore: New ignores.
7994 * INSTALL: New requirements, without Ruby.
7995 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
7996 * autogen.sh: Updated to invoke autogen as necessary.
7997 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
7998 and defines for Automake conditionals.
7999 * geninit.sh: Refactoring.
8001 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
8003 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
8006 * include/grub/test.h: Fix functional test modules' naming.
8007 * grub-core/tests/example_functional_test.c: Fix test module name.
8009 * util/misc.c: Hosted versions' of grub functions for libgrub.a
8010 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
8011 * util/grub-editenv.c: Likewise.
8012 * util/grub-fstest.c: Likewise.
8013 * util/grub-mkdevicemap.c: Likewise.
8014 * util/grub-mkfont.c: Likewise.
8015 * util/grub-mkimage.c: Likewise.
8016 * util/grub-mkpasswd-pbkdf2.c: Likewise.
8017 * util/grub-probe.c: Likewise.
8018 * util/grub-script-check.c: Likewise.
8019 * util/i386/pc/grub-setup.c: Likewise.
8020 * util/sparc64/ieee1275/grub-setup.c: Likewise.
8022 * tests/util/grub-shell.in: Fix override directory path.
8023 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
8024 * util/import_gcry.py: Create Makefile.gcry.def file instead.
8026 * util/lvm.c: Update #includes.
8027 * util/raid.c: Likewise.
8028 * util/resolve.c: Likewise.
8029 * grub-core/bus/emu/pci.c: Likewise.
8030 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
8031 * grub-core/lib/posix_wrap/string.h: Likewise.
8032 * grub-core/kern/emu/main.c: Likewise.
8034 * grub-core/gensymlist.sh: New file. Script for generating kernel
8036 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
8038 * grub-core/gentrigtables.c: Fix unused variable warnings.
8040 * Makefile.in: Removed.
8041 * conf/any-emu.rmk: Removed.
8042 * conf/common.rmk: Removed.
8043 * conf/i386-coreboot.rmk: Removed.
8044 * conf/i386-efi.rmk: Removed.
8045 * conf/i386-ieee1275.rmk: Removed.
8046 * conf/i386-multiboot.rmk: Removed.
8047 * conf/i386-pc.rmk: Removed.
8048 * conf/i386-qemu.rmk: Removed.
8049 * conf/i386.rmk: Removed.
8050 * conf/mips-yeeloong.rmk: Removed.
8051 * conf/mips.rmk: Removed.
8052 * conf/powerpc-ieee1275.rmk: Removed.
8053 * conf/sparc64-ieee1275.rmk: Removed.
8054 * conf/tests.rmk: Removed.
8055 * conf/x86-efi.rmk: Removed.
8056 * conf/x86_64-efi.rmk: Removed.
8057 * gendistlist.sh: Removed.
8058 * geninitheader.sh: Removed.
8059 * genkernsyms.sh.in: Removed.
8060 * genmk.rb: Removed.
8061 * gensymlist.sh.in: Removed.
8062 * mkinstalldirs: Removed.
8064 * grub-core/boot: ... to here.
8066 * grub-core/bus: ... to here.
8067 * commands: Moved ...
8068 * grub-core/commands: ... to here.
8070 * grub-core/disk: ... to here.
8072 * grub-core/efiemu: ... to here.
8074 * grub-core/font: ... to here.
8076 * grub-core/fs: ... to here.
8077 * gencmdlist.sh: Moved ...
8078 * grub-core/gencmdlist.sh: ... to here.
8079 * genemuinit.sh: Moved ...
8080 * grub-core/genemuinit.sh: ... to here.
8081 * genemuinitheader.sh: Moved ...
8082 * grub-core/genemuinitheader.sh: ... to here.
8083 * genfslist.sh: Moved ...
8084 * grub-core/genfslist.sh: ... to here.
8085 * genhandlerlist.sh: Moved ...
8086 * grub-core/genhandlerlist.sh: ... to here.
8087 * genmoddep.awk: Moved ...
8088 * grub-core/genmoddep.awk: ... to here.
8089 * genmodsrc.sh: Moved ...
8090 * grub-core/genmodsrc.sh: ... to here.
8091 * genpartmaplist.sh: Moved ...
8092 * grub-core/genpartmaplist.sh: ... to here.
8093 * genparttoollist.sh: Moved ...
8094 * grub-core/genparttoollist.sh: ... to here.
8095 * genterminallist.sh: Moved ...
8096 * grub-core/genterminallist.sh: ... to here.
8097 * gentrigtables.c: Moved ...
8098 * grub-core/gentrigtables.c: ... to here.
8099 * genvideolist.sh: Moved ...
8100 * grub-core/genvideolist.sh: ... to here.
8101 * gettext: Moved ...
8102 * grub-core/gettext: ... to here.
8103 * gfxmenu: Moved ...
8104 * grub-core/gfxmenu: ... to here.
8106 * grub-core/gnulib: ... to here.
8108 * grub-core/hello: ... to here.
8110 * grub-core/hook: ... to here.
8112 * grub-core/io: ... to here.
8114 * grub-core/kern: ... to here.
8116 * grub-core/lib: ... to here.
8118 * grub-core/loader: ... to here.
8120 * grub-core/mmap: ... to here.
8122 * grub-core/normal: ... to here.
8123 * partmap: Moved ...
8124 * grub-core/partmap: ... to here.
8125 * parttool: Moved ...
8126 * grub-core/parttool: ... to here.
8128 * grub-core/script: ... to here.
8130 * grub-core/term: ... to here
8131 * tests/example_functional_test.c: Moved ...
8132 * grub-core/tests/example_functional_test.c: ... to here.
8133 * tests/lib/functional_test.c: Moved ...
8134 * grub-core/tests/lib/functional_test.c: ... to here.
8135 * tests/lib/test.c: Moved ...
8136 * grub-core/tests/lib/test.c: ... to here.
8138 * grub-core/video: ... to here.
8140 2010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
8142 Replace --enable-grub-emu-modules with grub-emu-lite.
8144 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
8147 * include/grub/emu/misc.h (grub_emu_init): New prototype.
8148 * kern/emu/full.c: New file. For grub-emu specific initialization.
8149 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
8150 * kern/emu/main.c: Call initialization function grub_emu_init.
8152 * Makefile.in: Include grub-emu-lite in install.
8153 * commands/parttool.c: Use grub_no_autoload to differentiate
8154 between grub-emu and grub-emu-lite.
8155 * include/grub/misc.h: New variable grub_no_autoload.
8157 * conf/any-emu.rmk: New rules for grub-emu-lite.
8158 * configure.ac: Remove --enable-grub-emu-modules.
8159 * genmk.rb: Cleanup unnecessary rules.
8160 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
8162 * normal/main.c: Don't load list files on grub-emu-lite.
8163 * util/misc.c (grub_arch_sync_caches): Removed.
8165 2010-08-23 Colin Watson <cjwatson@ubuntu.com>
8167 * kern/mips/startup.S (grub_prefix): Update comment to refer to
8168 grub-mkimage rather than grub-mkelfimage.
8169 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
8171 2010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
8173 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
8174 a key after CapsLock or NumLock. It's just a qemu bug.
8176 2010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
8178 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
8179 needed by libusb wrapper.
8181 2010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
8183 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
8185 2010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
8187 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
8188 --nounzip is passed.
8190 2010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
8192 USB hotunplugging and USB serial support.
8194 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
8195 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
8196 (grub_uhci_transfer): Respect timeout and set *actual.
8197 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
8198 non-standard length.
8199 (grub_usb_device_attach): Autoload modules.
8200 (GRUB_MOD_INIT): Set grub_term_poll_usb.
8201 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
8202 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
8204 (grub_usb_add_hub): Fill nports and children.
8205 (attach_root_port): Receive hub instead of controller.
8206 All users updated. Fill hub->devices.
8207 (grub_usb_root_hub): Allocate hub->devices.
8208 (detach_device): New function.
8209 (poll_nonroot_hub): Fill children and detach devices.
8210 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
8211 actual arguments. All users updated.
8212 (grub_usb_bulk_read_extended): New function.
8213 * bus/usb/serial/common.c: New file.
8214 * bus/usb/serial/ftdi.c: Likewise.
8215 * bus/usb/serial/pl2303.c: Likewise.
8216 * commands/terminal.c (handle_command): Support wildcard.
8217 * commands/usbtest.c: Output "Unknown" instead of empty string.
8218 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
8219 (usbserial_common_mod_SOURCES): New variable.
8220 (usbserial_common_mod_CFLAGS): Likewise.
8221 (usbserial_common_mod_LDFLAGS): Likewise.
8222 (pkglib_MODULES): Add usbserial_pl2303.mod.
8223 (usbserial_pl2303_mod_SOURCES): New variable.
8224 (usbserial_pl2303_mod_CFLAGS): Likewise.
8225 (usbserial_pl2303_mod_LDFLAGS): Likewise.
8226 (pkglib_MODULES): Add usbserial_ftdi.mod.
8227 (usbserial_ftdi_mod_SOURCES): New variable.
8228 (usbserial_ftdi_mod_CFLAGS): Likewise.
8229 (usbserial_ftdi_mod_LDFLAGS): Likewise.
8230 (pkglib_MODULES): Add serial.mod.
8231 (serial_mod_SOURCES): New variable.
8232 (serial_mod_CFLAGS): Likewise.
8233 (serial_mod_LDFLAGS): Likewise.
8234 * conf/i386-pc.rmk: Likewise.
8235 * conf/mips-yeeloong.rmk: Likewise.
8236 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
8237 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
8238 * disk/usbms.c (first_available_slot): New variable.
8239 (grub_usbms_attach): Don't reuse free slots due to potential cache
8241 * include/grub/serial.h: Moved to ..
8242 * include/grub/ns8250.h: ...this.
8243 * include/grub/serial.h: New file.
8244 * include/grub/term.h (grub_term_poll_usb): New variable.
8245 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
8246 readkey. All users updated.
8247 (grub_terminfo_output_state): Pass term to put.
8248 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
8249 (grub_usb_controller_dev): Add timeout and actual arguments to
8250 transfer. All users updated.
8251 (grub_usb_interface): New field detach_data.
8252 (grub_usb_device): New fields children and nports.
8253 (grub_usb_ep_type_t): New type.
8254 (grub_usb_get_ep_type): New function.
8255 (grub_usb_bulk_read_extended): Likewise.
8256 * include/grub/usbdesc.h (grub_usb_desc): New type.
8257 * include/grub/usbserial.h: New file.
8258 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
8259 * kern/term.c (grub_term_poll_usb): New variable.
8260 (grub_getkey): Call grub_term_poll_usb if set.
8261 (grub_checkkey): Likewise.
8262 (grub_getkeystatus): Likewise.
8263 * term/serial.c: Moved controller-specific parts to ...
8264 * term/ns8250.c: ... here.
8265 * term/serial.c: Mostly rewritten.
8266 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
8269 2010-08-20 Robert Millan <rmh@gnu.org>
8271 Make kFreeBSD code more generic to support ext2fs as root, ufs as
8272 a separate module and maybe other interesting combinations.
8274 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
8275 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
8276 (kfreebsd_entry): Add generic filesystem module load routine.
8277 Map GRUB `ext2' to kFreeBSD `ext2fs'.
8279 2010-08-20 Colin Watson <cjwatson@ubuntu.com>
8281 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
8282 "numcenter" (I misunderstood the purpose of this entry).
8283 * docs/grub.texi (sendkey): Likewise.
8285 2010-08-20 Colin Watson <cjwatson@ubuntu.com>
8287 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
8288 status flag options; simply omitting the option is equivalent and
8289 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
8290 (keysym_table): Rename "num5numlock" to "numlock".
8291 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
8292 can uniformly say that only the last of multiple `sendkey'
8293 invocations has any effect.
8294 * docs/grub.texi (sendkey): New section.
8296 2010-08-19 Colin Watson <cjwatson@ubuntu.com>
8298 * commands/i386/pc/sendkey.c (options): Fix three typos.
8300 2010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
8302 Implement sendkey support.
8304 * commands/i386/pc/sendkey.c: New file.
8305 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
8306 (sendkey_mod_SOURCES): New variable.
8307 (sendkey_mod_CFLAGS): Likewise.
8308 (sendkey_mod_LDFLAGS): Likewise.
8310 2010-08-18 Colin Watson <cjwatson@ubuntu.com>
8312 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
8313 fix warnings from Autoconf.
8315 2010-08-18 Colin Watson <cjwatson@ubuntu.com>
8317 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
8318 to avoid false positives with some assemblers that output things
8319 like "someprefix_func" as part of their output.
8321 2010-08-15 Robert Millan <rmh@gnu.org>
8323 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
8325 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
8326 grub_get_libzfs_handle() errors.
8328 2010-08-14 Robert Millan <rmh@gnu.org>
8330 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
8331 filesystem is not ZFS.
8333 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
8335 Fix for misspelled color names defaulting to black/black (bug
8336 reported by Doug Nazar)
8338 * include/grub/normal.h (grub_parse_color_name_pair): Add return
8339 status to prototype.
8340 * normal/color.c (grub_parse_color_name_pair): Return failure
8342 (grub_env_write_color_normal): Ignore bad color names.
8343 (grub_env_write_color_highlight): Likewise.
8344 * normal/main.c (GRUB_MOD_INIT): Set default color names.
8346 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
8348 "shift" command support to GRUB script.
8350 * include/grub/script_sh.h (grub_script_shift): New prototype.
8351 * script/execute.c (grub_script_shift): New function.
8352 * script/main.c (grub_script_init): Register shift command.
8353 (grub_script_fini): Unregister shift command.
8354 * util/grub-script-check.c (grub_script_cmd_shift): New function.
8356 * tests/grub_script_shift.in: New testcase.
8357 * conf/tests.rmk: Rules for new testcase.
8359 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
8361 "continue" command support to GRUB script.
8363 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
8364 (grub_script_break): Continue support.
8365 * script/main.c (grub_script_init): Register continue command.
8366 (grub_script_fini): Unregister continue command.
8368 * tests/grub_script_continue.in: New testcase.
8369 * conf/tests.rmk: Rules for new testcase.
8371 2010-08-12 BVK Chaitanya <bvk@dbook>
8373 "break" command support to GRUB script.
8375 * conf/common.rmk: Rule updates to grub-script-check.
8376 * include/grub/misc.h (grub_min): New function.
8377 * include/grub/script_sh.h (grub_script_init): New prototype.
8378 (grub_script_fini): New prototype.
8379 (grub_script_break): New prototype.
8380 * script/main.c (grub_script_init): New function.
8381 (grub_script_fini): New function.
8382 * script/execute.c (grub_script_break): New function.
8383 * normal/main.c: Calls to grub_script_{init,fini}.
8384 * util/grub-script-check.c (grub_script_break): New function.
8386 * tests/grub_script_break.in: New testcase.
8387 * conf/tests.rmk: Rules for new test case.
8389 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
8391 Function parameters support to GRUB script.
8393 * script/yylex.l (VARIABLE): Regular expression update.
8394 * script/function.c (grub_script_function_call): Moved ...
8395 * script/execute.c (grub_script_function_call): ... to here.
8396 (grub_script_execute_arglist_to_argv): Removed.
8397 (grub_script_arglist_to_argv): New function.
8398 * script/argv.c: New file.
8399 (grub_script_argv_free): New function.
8400 (grub_script_argv_next): Likewise.
8401 (grub_script_argv_append): Likewise.
8402 (grub_script_argv_split_append): Likewise.
8403 * include/grub/script_sh.h (grub_script_argv): New struct.
8404 (grub_script_argv_free): New function.
8405 (grub_script_argv_next): Likewise.
8406 (grub_script_argv_append): Likewise.
8407 (grub_script_argv_split_append): Likewise.
8409 * conf/common.rmk (normal.mod): New source script/argv.c.
8411 * tests/grub_script_echo1.in: More tests.
8412 * tests/grub_script_vars1.in: Likewise.
8413 * tests/grub_script_functions.in: New test case.
8414 * conf/tests.rmk: Rules for new testcase.
8416 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
8418 Remove grub_script_cmdblock struct.
8420 * include/grub/script_sh.h: Remove grub_script_cmdblock.
8421 * script/parser.y: Likewise.
8422 * script/execute.c: Rename cmdblock suffix to cmdlist.
8423 * script/script.c: Likewise.
8424 * util/grub-script-check.c: Likewise.
8426 2010-08-11 Yves Blusseau <blusseau@zetam.org>
8428 * .bzrignore: add grub-macho2img
8430 2010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
8432 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
8434 2010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
8436 Remove the dump of sm712 initialisation sequence.
8438 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
8439 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
8440 (GRUB_VGA_IO_MISC_WRITE): Likewise.
8441 (GRUB_VGA_CR_*): Added many registers.
8442 (GRUB_VGA_SR_*): Likewise.
8443 (GRUB_VGA_GR_*): Likewise.
8444 (grub_vga_write_arx): New function.
8445 (grub_video_hw_config): New struct.
8446 (grub_vga_set_geometry): New function.
8447 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
8448 GRUB_PCI_CLASS_SUBCLASS_VGA.
8449 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
8450 * video/sm712.c (grub_sm712_write_reg): New function
8451 (grub_sm712_read_reg): Likewise.
8452 (grub_sm712_sr_write): Likewise.
8453 (grub_sm712_gr_write): Likewise.
8454 (grub_sm712_cr_write): Likewise.
8455 (grub_sm712_write_arx): Likewise.
8456 (grub_sm712_cr_shadow_write): Likewise.
8457 (grub_sm712_write_dda_lookup): Likewise.
8458 (grub_video_sm712_setup): Initialise the video rather then
8459 blindly replay the dump.
8460 (main) [TEST]: Add a routine to be able to compile as standalone for
8462 * video/sm712_init.c (sm712_init): Removed.
8463 (sm712_sr_seq1): New array.
8464 (sm712_sr_seq2): Likewise.
8466 2010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
8468 * include/grub/vga.h: Add missing grub/pci.h include.
8470 2010-08-10 Yves Blusseau <blusseau@zetam.org>
8472 * util/grub-macho2img.c (main): fix typo
8474 2010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
8476 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
8477 (grub_vga_gr_read): Likewise.
8478 (grub_vga_cr_write): Likewise.
8479 (grub_vga_cr_read): Likewise.
8480 (grub_vga_sr_write): Likewise.
8481 (grub_vga_sr_read): Likewise.
8482 (grub_vga_palette_read): Likewise.
8483 (grub_vga_palette_write): Likewise.
8484 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
8485 (grub_sm712_sr_read): New function.
8486 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
8487 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
8489 2010-08-09 Robert Millan <rmh@gnu.org>
8491 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
8492 out unused variables on non-ZFS build.
8494 2010-08-08 Robert Millan <rmh@gnu.org>
8496 Fix path generation for sub-filesystems in ZFS.
8498 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
8501 2010-08-08 Robert Millan <rmh@gnu.org>
8503 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
8505 2010-08-08 Robert Millan <rmh@gnu.org>
8507 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
8508 exist, issue a proper error message (rely on `ls' for translated
8511 2010-08-08 Robert Millan <rmh@gnu.org>
8513 Fix grub-probe invocation.
8515 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
8517 2010-08-04 Robert Millan <rmh@gnu.org>
8519 * configure.ac: Remove checks for getfsstat() and getmntany().
8520 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
8521 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
8522 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
8523 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
8524 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
8526 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
8527 via find_mount_point_from_dir() and getfsstat() / getmntany().
8529 2010-08-04 Robert Millan <rmh@gnu.org>
8531 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
8532 (grub_find_zpool_from_mount_point): Merge into ...
8533 (grub_find_zpool_from_dir): ... this.
8534 * kern/emu/misc.c: Likewise.
8537 (grub_make_system_path_relative_to_its_root): Replace
8538 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
8539 with grub_find_zpool_from_dir().
8540 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
8542 2010-08-04 Robert Millan <rmh@gnu.org>
8544 Support OpenSolaris in ZFS device resolution.
8546 * configure.ac: Check for getmntany().
8547 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
8548 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
8551 2010-08-03 Robert Millan <rmh@gnu.org>
8555 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
8556 * include/grub/emu/misc.h: ... here.
8558 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
8559 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
8561 * util/misc.c: Remove `<grub/util/libzfs.h>'.
8562 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
8563 (grub_get_libzfs_handle): Move to ...
8564 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
8565 (grub_get_libzfs_handle): ... here.
8567 2010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
8569 * script/execute.c (grub_script_execute_cmdline): Check for NULL
8570 as command name case.
8572 2010-08-02 Colin Watson <cjwatson@ubuntu.com>
8574 * disk/raid.c (insert_array): Select unique numbers for named arrays
8575 as well, for use as keys in the disk cache.
8577 2010-08-01 Robert Millan <rmh@gnu.org>
8579 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
8580 kFreeBSD device name, except on ZFS where the filesystem label is
8582 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
8583 `/boot/zfs/zpool.cache'.
8584 Set mountfrom kernel variable using ${kfreebsd_device}.
8586 2010-08-01 Robert Millan <rmh@gnu.org>
8588 Make it even harder to use uninitialized `libzfs_handle' (and
8589 make the interface a bit simpler).
8591 * include/grub/util/misc.h (grub_util_init_libzfs)
8592 (libzfs_handle): Remove.
8593 (grub_get_libzfs_handle): New prototype.
8595 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
8597 (grub_util_init_libzfs): Remove.
8598 (grub_get_libzfs_handle): New function.
8600 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
8601 grub_get_libzfs_handle() to obtain a libzfs handle instead of
8602 accessing `libzfs_handle' directly.
8604 2010-08-01 Robert Millan <rmh@gnu.org>
8606 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
8607 (grub_find_zpool_from_mount_point): New function prototypes.
8609 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
8610 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
8612 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
8613 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
8616 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
8617 finding zpool from mount point into ...
8618 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
8620 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
8621 requested path is part of a ZFS pool, use
8622 grub_find_zpool_from_mount_point() to detect its filesystem name,
8623 and generate a path with `/fsname@path' syntax.
8625 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
8627 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
8628 (void) rather than () so that this is a proper prototype.
8630 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
8632 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
8634 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
8636 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
8637 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
8639 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
8641 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
8643 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
8645 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
8647 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
8649 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
8650 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
8651 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
8653 (Shell-like scripting): Add real content.
8654 (Serial terminal): Suggest `terminal_input serial; terminal_output
8655 serial' rather than putting the two commands on separate lines,
8656 since console input will be inoperative after the first command.
8657 (menuentry): Document --class, --users, and --hotkey options.
8658 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
8659 Vladimir Serbinenko).
8661 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
8662 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
8664 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
8666 2010-08-01 Robert Millan <rmh@gnu.org>
8668 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
8669 (grub_find_zpool_from_mount_point): New function prototypes.
8671 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
8672 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
8674 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
8675 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
8678 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
8679 finding zpool from mount point into ...
8680 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
8682 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
8683 requested path is part of a ZFS pool, use
8684 grub_find_zpool_from_mount_point() to detect its filesystem name,
8685 and generate a path with `/fsname@path' syntax.
8687 2010-08-01 Robert Millan <rmh@gnu.org>
8689 Prevent accidental use of uninitialized libzfs_handle.
8691 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
8692 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
8693 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
8695 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
8697 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
8698 util/grub.d/10_linux.in). Fixes Debian bug #591093.
8700 2010-08-01 Robert Millan <rmh@gnu.org>
8702 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8704 2010-07-31 Robert Millan <rmh@gnu.org>
8706 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
8708 2010-07-31 Robert Millan <rmh@gnu.org>
8710 * kern/emu/misc.c: Add missing license header.
8712 2010-07-31 Robert Millan <rmh@gnu.org>
8714 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
8716 * include/grub/util/libnvpair.h: Include `<config.h>'.
8717 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
8718 declaring libnvpair prototypes ourselves.
8719 * include/grub/util/libzfs.h: Include `<config.h>'.
8720 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
8721 declaring libzfs prototypes ourselves.
8723 (libzfs_handle): Moved to ...
8724 * include/grub/util/misc.h (libzfs_handle): ... here.
8725 Include `<grub/util/libzfs.h>'.
8727 2010-07-30 Robert Millan <rmh@gnu.org>
8729 * include/grub/emu/misc.h: Add missing license header.
8731 2010-07-30 Robert Millan <rmh@gnu.org>
8733 Enable `grub-probe -t device' resolution on ZFS.
8735 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
8736 * include/grub/util/libnvpair.h: New file.
8737 * include/grub/util/libzfs.h: New file.
8739 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
8740 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
8741 `<grub/util/libnvpair.h>'.
8742 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
8744 (find_mount_point_from_dir): New static function.
8745 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
8747 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
8748 find_root_device_from_libzfs() before ressorting to find_root_device().
8750 * include/grub/util/misc.h (grub_util_init_libzfs): New function
8752 * util/misc.c: Include `<grub/util/libzfs.h>'.
8753 (grub_util_init_libzfs): New function.
8754 [HAVE_LIBZFS] (libzfs_handle): New global variable.
8755 [HAVE_LIBZFS] (fini_libzfs): New static function.
8756 (grub_util_init_libzfs): New function.
8757 * util/grub-probe.c (main): Call grub_util_init_libzfs().
8759 2010-07-30 Robert Millan <rmh@gnu.org>
8761 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
8762 (xmalloc, xrealloc, xstrdup, xasprintf): Add
8763 `warn_unused_result' attribute.
8764 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
8765 (grub_xasprintf, grub_xvasprintf): Likewise.
8766 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
8768 2010-07-29 Robert Millan <rmh@gnu.org>
8770 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
8771 (probe): Handle `PRINT_FS_LABEL'.
8772 (main): Handle `-t fs_label'.
8774 2010-07-29 Robert Millan <rmh@gnu.org>
8776 * configure.ac: Remove grub-mkisofs checks.
8778 2010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
8780 * util/ieee1275/grub-install.in: Don't use empty grub_device.
8781 Reported by: Lennart Sorensen.
8783 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
8785 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
8786 prior to terminal_input/terminal_output separation. It's been over 1.5
8787 years and those versions weren't widely deployed.
8789 2010-07-22 Colin Watson <cjwatson@ubuntu.com>
8791 * disk/raid.c (insert_array): Don't count named arrays when looking
8792 for unused array numbers.
8793 Reported and tested by: Michael Guntsche.
8795 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
8797 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
8798 implementation of this so that grub-emu links again, with a note
8799 that this should support hotplugging in the future.
8801 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
8803 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
8805 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
8807 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
8809 (grub_loopback_close): Remove empty function.
8810 (grub_loopback_dev): Remove close method.
8812 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
8814 Disable EFI cursor when the EFI console becomes inactive.
8816 * term/efi/console.c (grub_efi_console_init): New function.
8817 (grub_efi_console_fini): New function.
8818 (grub_console_term_output): Register init and fini methods.
8820 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
8822 * tests/util/grub-shell-tester.in: Remove bashism and declare as
8825 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
8827 * disk/loopback.c (grub_loopback): Replace filename with file.
8828 (delete_loopback): Handle new semantics.
8829 (grub_cmd_loopback): Likewise.
8830 (grub_loopback_iterate): Likewise.
8831 (grub_loopback_close): Likewise.
8833 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
8835 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
8837 Reported by: Tito Keitel.
8839 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
8841 * docs/grub.texi (Naming convention): Document new naming convention.
8843 2010-07-20 Vadim Solomin <vadic052@gmail.com>
8844 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
8846 Generate device.map in something closer to the old ordering.
8848 * util/deviceiter.c (struct device): New declaration.
8849 (compare_file_names): Rename to ...
8850 (compare_devices): ... this. Sort by kernel name in preference to
8851 the stable by-id name, but keep the latter as a fallback comparison.
8852 Update header comment.
8853 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
8854 of `struct device' rather than of plain file names.
8856 2010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
8858 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
8861 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
8863 * commands/acpi.c (setup_common_tables): Use sizeof instead of
8865 (setv1table): Likewise.
8867 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
8869 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
8870 removing the homehost if present.
8871 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
8872 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
8873 removing the homehost if present.
8874 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
8876 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
8878 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
8879 parameter. Set its pointer target to 0.
8880 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
8881 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
8882 `data_offset' value from the superblock for 1.x metadata.
8883 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
8885 (insert_array): Record the start sector of data on the device.
8886 (grub_raid_register): Pass start_sector parameters to
8887 grub_raid_list->detect and insert_array.
8888 * include/grub/raid.h (struct grub_raid_array): Add start_sector
8890 (struct grub_raid): Add start_sector parameter to `detect'.
8892 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
8893 __attribute__ ((packed)), leaving a comment.
8894 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
8895 (grub_mdraid_detect_09): ... here and ...
8896 (grub_mdraid_detect_1x): ... here.
8898 2010-07-20 Peter Henn <peter.henn@web.de>
8900 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
8901 chunk size and disk size, which are already given as sector counts
8902 as distinct from the 0.90 units. Fetch the correct device number
8903 from the role table instead of using the table index.
8905 2010-07-20 Felix Zielcke <fzielcke@z-51.de>
8907 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
8908 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
8909 (WriteMostly1): New macro.
8910 Set array->name to NULL for metadata format 0.90. Add support for
8911 metadata 1.x. Fix some comments.
8912 * disk/raid.c (): Add support for name based RAID arrays. Fix a
8914 * util/getroot.c (grub_util_get_grub_dev): Add support for
8915 /dev/md/name style devices.
8917 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
8919 * .bzrignore: Ignore 20_linux_xen.
8921 2010-07-17 Colin Watson <cjwatson@ubuntu.com>
8923 * util/import_unicode.py: Remove unnecessary imports.
8925 2010-07-17 Aleš Nesrsta <starous@volny.cz>
8927 Hotplugging and USB hub support.
8929 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
8930 (grub_ohci): Likewise.
8931 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
8932 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
8933 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
8934 (GRUB_OHCI_CTRL_EDS): Likewise.
8935 (GRUB_OHCI_BULK_EDS): Likewise.
8936 (GRUB_OHCI_TDS): Likewise.
8937 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
8938 (grub_ohci_ed_phys2virt): New function.
8939 (grub_ohci_virt_to_phys): Likewise.
8940 (grub_ohci_td_phys2virt): Likewise.
8941 (grub_ohci_td_virt2phys): Likewise.
8942 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
8944 (grub_ohci_find_ed): New function.
8945 (grub_ohci_alloc_td): Likewise.
8946 (grub_ohci_free_td): Likewise.
8947 (grub_ohci_free_tds): Likewise.
8948 (grub_ohci_transfer): Use previously allocated memory.
8949 (grub_ohci_portstatus): Reset status changed bit.
8950 (grub_ohci_detect_dev): Supply status changed.
8951 (grub_ohci_fini_hw): Free memory.
8952 (grub_ohci_restore_hw): Reallocate memory.
8953 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
8954 Reset status change.
8955 (grub_uhci_detect_dev): Supply status_change.
8956 * bus/usb/usb.c (attach_hooks): New var.
8957 (grub_usb_device_attach): New function.
8958 (grub_usb_register_attach_hook_class): Likewise.
8959 (grub_usb_unregister_attach_hook_class): Likewise.
8960 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
8961 (grub_usb_add_hub): Reset connection changed bit.
8962 (attach_root_port): New function.
8963 (grub_usb_root_hub): Likewise.
8964 (poll_nonroot_hub): Likewise.
8965 (grub_usb_poll_devices): Likewise.
8966 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
8967 * disk/usbms.c (grub_usbms_open): Use device hooks.
8968 (grub_usbms_iterate) :Poll devices.
8969 (grub_usbms_finddevs): Split into ...
8970 (grub_usbms_attach): ... this ...
8971 (grub_usbms_attach): ... and this.
8972 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
8974 (grub_usb_interface): New fields attached and detach_hook.
8975 (grub_usb_attach_hook_class): New type.
8976 (grub_usb_attach_desc): New struct.
8977 (grub_usb_register_attach_hook_class): New function.
8978 (grub_usb_unregister_attach_hook_class): Likewise.
8979 (grub_usb_poll_devices): Likewise.
8980 (grub_usb_device_attach): Likewise.
8981 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
8982 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
8984 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
8986 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
8987 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
8988 delta determination style. Works with most NetBSD partitions too.
8990 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
8992 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
8993 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
8995 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
8997 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
8999 2010-07-14 Anton Blanchard <anton@samba.org>
9001 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
9004 2010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
9006 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
9008 2010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
9010 * kern/partition.c (grub_partition_check_containment): New function to
9011 check that a partition is physically contained in a parent. Since
9012 offsets are relative (and non-negative), this reduces to checking that
9013 the partition ends before its parent.
9014 (grub_partition_map_probe): Discard out-of-range sub-partitions.
9015 (grub_partition_iterate): Likewise.
9016 * include/grub/partition.h (grub_partition_map): Slightly more detailed
9018 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
9019 partitions that start before their parent, and add debug printfs.
9021 2010-07-13 Colin Watson <cjwatson@ubuntu.com>
9023 * Makefile.in (.SUFFIX): Spell correctly, as ...
9024 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
9025 bare module name without `.mod', e.g. `test') tried to invoke a
9028 2010-07-13 Colin Watson <cjwatson@ubuntu.com>
9030 * README: Point to the Info manual.
9032 2010-07-13 Jiro SEKIBA <jir@unicus.jp>
9034 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
9035 2nd superblock position from partition size.
9037 2010-07-10 Colin Watson <cjwatson@ubuntu.com>
9039 * Makefile.in (MAINTAINER_CLEANFILES): Remove
9040 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
9041 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
9044 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
9046 Restructure SCSI .id handling.
9047 Reported and tested by: Aleš Nesrsta.
9049 * disk/ata.c (grub_atapi_close): Removed. All users updated.
9050 (grub_atapi_dev): Changed .name to "ata". New field .id.
9051 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
9052 (grub_usbms_dev): New field .id.
9053 * disk/scsi.c (grub_scsi_iterate): Generate name.
9054 (grub_scsi_open): Parse name.
9055 * include/grub/scsi.h (grub_make_scsi_id): New function.
9056 (grub_scsi_dev): Change iterate and open to number instead of naming
9057 busses. All users updated.
9058 (grub_scsi): Remove name. Add .bus.
9060 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
9062 * commands/help.c (grub_cmd_help): Fix a typo.
9064 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
9066 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
9067 Reported and tested by: Colin Watson.
9069 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
9071 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
9074 2010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
9076 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
9078 2010-07-07 Colin Watson <cjwatson@ubuntu.com>
9080 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
9083 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
9085 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
9086 and disk/raid6_recover.c.
9087 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
9088 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
9090 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
9092 * term/gfxterm.c (repaint_schedulded): Rename to ...
9093 (repaint_scheduled): ... this. Update all callers.
9094 (repaint_was_schedulded): Rename to ...
9095 (repaint_was_scheduled): ... this. Update all callers.
9097 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
9099 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
9100 which we expect to be handled by upper layers.
9102 2010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
9104 * bus/usb/usbhub.c: #include time.h header.
9106 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
9108 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
9109 entry_name also for entries without stat blocks (e.g. ".."); fixes
9110 corruption of the first entry in a directory.
9112 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
9114 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
9115 after setting gfxterm as the active terminal. GRUB_BACKGROUND
9116 doesn't work otherwise.
9118 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
9120 * docs/grub.texi (Features): Update list of supported file systems.
9121 (GNU/Linux): Update for GRUB 2.
9122 (Serial terminal): Remove mention of --disable-serial, which was a
9123 GRUB Legacy configure option. Update instructions to use
9124 `terminal_input' and `terminal_output' rather than `terminal'.
9125 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
9126 configuration' and `Installing GRUB using grub-install'.
9127 (Menu entry editor): Update for GRUB 2.
9128 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
9129 Document new -a, -u, and -v options.
9130 (initrd): New section.
9131 (initrd16): New section.
9132 (linux): New section.
9133 (linux16): New section.
9134 (search): The `var' argument to `--set' is optional.
9135 (GRUB only offers a rescue shell): Go into a little more detail on
9138 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
9140 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
9142 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
9144 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
9145 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
9147 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
9149 * util/i386/pc/grub-setup.c (setup): Rename prefix to
9150 install_prefix, in line with install_dos_part and install_bsd_part.
9151 Add new prefix variable, which is copied to install_prefix after
9152 comparing core.img in memory with the one read from disk in the
9153 no-embedding case, and use that rather than overwriting
9154 install_prefix immediately when installing to a partition.
9155 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
9158 2010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
9160 * configure.ac: Avoid == in test command, it's not portable.
9161 * util/grub.d/30_os-prober.in: Likewise.
9163 2010-07-04 Colin Watson <cjwatson@ubuntu.com>
9165 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
9167 2010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
9169 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
9170 multiple (top-level) partmaps.
9172 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
9174 * util/i386/efi/grub-install.in: Don't use empty grub_device.
9175 Reported by: Tino Keitel.
9177 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
9179 Bidi and diacritics support.
9181 * Makefile.in (widthspec.bin): New target.
9182 (widthspec.h): Likewise.
9183 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
9184 * autogen.sh: Generate unidata.c.
9185 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
9186 * commands/ls.c (grub_ls_list_devices): Likewise.
9187 (grub_ls_list_files): Likewise.
9188 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
9189 (grub_mini_cmd_lsmod): Likewise.
9190 * commands/read.c: Likewise.
9191 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
9192 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
9193 * lib/arg.c (grub_arg_show_help): Likewise.
9194 * lib/crypto.c (grub_password_get): Likewise.
9195 * normal/auth.c (grub_username_get): Likewise.
9196 * normal/misc.c (grub_normal_print_device_info): Likewise.
9197 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
9198 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
9199 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
9200 (normal/charset.c_DEPENDENCIES): New variable.
9201 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
9202 (pkglib_MODULES): Remove charset.mod.
9203 (charset_mod_SOURCES): Removed.
9204 (charset_mod_CFLAGS): Likewise.
9205 (charset_mod_LDFLAGS): Likewise.
9206 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
9207 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
9209 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
9210 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
9211 (kernel_img_HEADERS): Add terminfo.h.
9212 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
9213 Fill ->font. Reverse ascii bitmaps.
9214 (grub_font_get_xheight): New function.
9215 * font/font.c (grub_font_get_string_width): Moved from here ...
9216 * gfxmenu/font.c (grub_font_get_string_width): ... here.
9217 * font/font.c (grub_font_draw_string): Moved from here ...
9218 * gfxmenu/font.c (grub_font_draw_string): ... here.
9219 * font/font.c (grub_font_dup_glyph): New function.
9220 (grub_font_blit_glyph): Likewise.
9221 (grub_font_blit_glyph_mirror): Likewise.
9222 (blit_comb): Likewise.
9223 (grub_font_construct_dry_run): Likewise.
9224 (grub_font_get_constructed_device_width): Likewise.
9225 (grub_font_construct_glyph): Likewise.
9226 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
9227 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
9228 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
9229 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
9230 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
9231 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
9232 (grub_font_get_xheight): New proto.
9233 (grub_font_get_constructed_device_width): Likewise.
9234 (grub_font_construct_glyph): Likewise.
9235 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
9236 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
9237 * include/grub/font.h (grub_font_draw_string): Moved from here ...
9238 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
9239 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
9240 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
9241 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
9242 (grub_console_getcharwidth): Likewise.
9243 * include/grub/misc.h (grub_xputs): New proto.
9244 (grub_puts): Inlined.
9245 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
9246 (grub_normal_get_line_counter): Removed.
9247 (grub_install_newline_hook): Likewise.
9248 (grub_normal_get_char_counter): New proto.
9249 (grub_normal_reset_more): Likewise.
9250 (grub_xputs_normal): Likewise.
9251 * include/grub/powerpc/ieee1275/console.h: Removed.
9252 * include/grub/sparc64/ieee1275/console.h: Likewise.
9253 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
9254 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
9255 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
9256 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
9257 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
9258 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
9259 (grub_term_input): Pass reference to self. All users updated.
9260 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
9261 Pass reference to self. New fields normal_color, highlight_color and
9262 data. All users updated.
9263 (grub_putchar): Removed.
9264 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
9265 (grub_unicode_estimate_width): New function.
9266 (grub_term_getcharwidth): Add defaults.
9267 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
9268 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
9269 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
9270 (grub_cls): Remove EXPORT_FUNC.
9271 (grub_setcolorstate): Inline.
9272 (grub_newline_hook): Removed.
9273 * include/grub/terminfo.h: Rewritten. All users updated.
9274 * include/grub/unicode.h: New file.
9275 * include/grub/video.h (grub_video_signed_rect): New type.
9276 * kern/emu/console.c (grub_console_highlight_color): Removed.
9277 (grub_console_normal_color): Likewise.
9278 (grub_console_standard_color): Made static.
9279 (grub_ncurses_putchar): Remove mapping.
9280 (grub_ncurses_getcharwidth): Removed.
9281 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
9282 (grub_ncurses_setcolor): Removed.
9283 (grub_ncurses_getcolor): Likewise.
9284 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
9285 (grub_console_putchar): ... this.
9286 (grub_console_putchar): Handle argument difference.
9287 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
9288 console_init_early and console_init_lately.
9289 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
9290 * kern/misc.c (grub_puts): Removed.
9291 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
9292 (grub_vsnprintf_real): Remove str = NULL support.
9293 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
9294 * normal/charset.c (grub_utf8_to_ucs4): ... here.
9295 * kern/term.c (grub_putcode): Renamed to ...
9296 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
9297 (grub_putchar): Removed.
9298 (grub_xputs_dumb): New function.
9299 (grub_xputs): New variable.
9300 * lib/charset.c: Move from here ...
9301 * normal/charset.c: ... to here.
9302 (grub_ucs4_to_utf8): New function.
9303 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
9304 (join_types): New variable.
9305 (unpack_join): New function.
9306 (bidi_types): New variable.
9307 (unpack_bidi): New function.
9308 (get_bidi_type): Likewise.
9309 (get_join_type): Likewise.
9310 (is_mirrored): Likewise.
9311 (grub_unicode_get_comb_type): Likewise.
9312 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
9313 (is_type_after): Likewise.
9314 (grub_unicode_aglomerate_comb): Likewise.
9315 (bidi_line_wrap): Likewise.
9316 (grub_bidi_line_logical_to_visual): Likewise.
9317 (grub_bidi_logical_to_visual): Likewise.
9318 (grub_unicode_mirror_code): Likewise.
9319 (grub_unicode_shape_code): Likewise.
9320 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
9321 Don't use grub_putchar.
9322 * normal/main.c (grub_normal_init_page): Use grub_putcode.
9323 (grub_normal_reader_init): Likewise.
9324 (grub_xputs_saved): New variable.
9325 (GRUB_MOD_INIT): Set grub_xputs.
9326 (GRUB_MOD_FINI): Restore grub_xputs.
9327 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
9328 (menu_init): Avoid printing gfxmenu error.
9329 (show_menu): Use grub_normal_get_char_counter.
9330 * normal/menu_entry.c (update_screen): Fix out-of-array.
9331 (complete): Avoid NULL dereferencing.
9332 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
9333 * normal/menu_text.c (print_spaces): Removed.
9334 (grub_print_ucs4): Likewise.
9335 (grub_print_message_indented): Use grub_print_ucs4.
9336 (print_message): Use grub_putcode.
9337 (print_entry): Hanlde diacritics.
9338 * normal/term.c (term_state): New type.
9339 (grub_more_lines): Removed.
9340 (term_states): New variable.
9341 (grub_normal_line_counter): Renamed to ..
9342 (grub_normal_char_counter): ...this. All users updated.
9343 (grub_normal_get_line_counter): Renamed to ...
9344 (grub_normal_get_char_counter): ... this.
9345 (grub_normal_reset_more): New function.
9346 (process_newline): Removed.
9347 (print_more): New function.
9348 (grub_install_newline_hook): Removed.
9349 (map_code): New function.
9350 (grub_puts_terminal): Use grub_print_ucs4.
9351 (putglyph): New function.
9352 (putcode_real): Likewise.
9353 (grub_putcode): Use putcode_real.
9354 (get_maxwidth): New function.
9355 (get_startwidth): Likewise.
9356 (print_ucs4_terminal): Likewise.
9357 (find_term_state): Likewise.
9358 (put_glyphs_terminal): Likewise.
9359 (print_backlog): Likewise.
9360 (print_ucs4_real): Likewise.
9361 (grub_print_ucs4): Likewise.
9362 (grub_xputs_normal): Likewise.
9363 * term/efi/console.c (grub_console_putchar): Output diacritics.
9364 (grub_console_getcharwidth): Removed.
9365 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
9366 * term/gfxterm.c (clear_char): Free chars.
9367 (scroll_up): Avoid leaking memory.
9368 (grub_gfxterm_putchar): Support diacritics.
9369 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
9370 * term/i386/pc/console.c (grub_console_term_output): Declare as
9371 GRUB_TERM_CODE_TYPE_VGA.
9372 * term/i386/pc/vga.c (grub_vga_term): Declare as
9373 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
9374 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
9375 GRUB_TERM_CODE_TYPE_VGA.
9376 * term/i386/vga_common.c (map_char): Removed.
9377 (grub_console_putchar): Likewise.
9378 (grub_console_getcharwidth): Likewise.
9379 * term/ieee1275/ofconsole.c: Simplify using terminfo.
9380 (colors): Reordered to match terminfo.
9381 (grub_ofconsole_normal_color): Removed.
9382 (grub_ofconsole_writeesc): Likewise.
9383 (grub_ofconsole_highlight_color): Likewise.
9384 (grub_ofconsole_getcharwidth): Likewise.
9385 (grub_ofconsole_setcolorstate): Likewise.
9386 (grub_ofconsole_setcolor): Likewise.
9387 (grub_ofconsole_getcolor): Likewise.
9388 (grub_ofconsole_readkey): Renamed to ...
9389 (readkey): ... this. Remove escape sequence handling. Return -1 on no
9391 (grub_ofconsole_checkkey): Removed.
9392 (grub_ofconsole_getkey): Likewise.
9393 (grub_ofconsole_getxy): Likewise.
9394 (grub_ofconsole_gotoxy): Likewise.
9395 (grub_ofconsole_cls): Likewise.
9396 (grub_ofconsole_refresh): Likewise.
9397 (grub_ofconsole_terminfo_input): New struct.
9398 (grub_ofconsole_terminfo_output): Likewise.
9399 (grub_ofconsole_term_input): Use terminfo.
9400 (grub_ofconsole_term_output): Likewise.
9401 (grub_console_init): Split into ...
9402 (grub_console_init_early): ...this and ...
9403 (grub_console_init_lately): ...this. Use terminfo.
9404 (grub_ofconsole_putchar): Renamed to ...
9405 (put): ... this. Remove mapping.
9406 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
9407 * term/serial.c: Simplify using terminfo.
9410 (keep_track): Likewise.
9411 (registered): Likewise.
9412 (input_buf): Likewise.
9413 (npending): Likewise.
9414 (serial_translate_key_sequence): Likewise.
9415 (fill_input_buf): Likewise.
9416 (grub_serial_checkkey): Likewise.
9417 (grub_serial_getkey): Likewise.
9418 (grub_serial_getxy): Likewise.
9419 (grub_serial_gotoxy): Likewise.
9420 (grub_serial_putchar): Likewise.
9421 (grub_serial_cls): Likewise.
9422 (grub_serial_setcolorstate): Likewise.
9423 (grub_serial_setcursor): Likewise.
9424 (serial_hw_init): Use serial_hw_fetch.
9425 (grub_serial_terminfo_input): New variable.
9426 (grub_serial_terminfo_output): Likewise.
9427 (grub_serial_term_input): Use terminfo.
9428 (grub_serial_term_output): Likewise.
9429 * term/terminfo.c (putstr): Use put.
9430 (grub_terminfo_all_free): New function
9431 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
9432 (grub_terminfo_output_register): New function.
9433 (grub_terminfo_output_unregister): Likewise.
9434 (grub_terminfo_getxy): Likewise.
9435 (grub_terminfo_readkey): Likewise.
9436 (grub_terminfo_checkkey): Likewise.
9437 (grub_terminfo_getkey): Likewise.
9438 (grub_terminfo_input_init): Likewise.
9439 (print_terminfo): Likewise.
9440 (grub_cmd_terminfo): Handle encoding.
9441 (grub_terminfo_gotoxy): Track position.
9442 (grub_terminfo_cls): Likewise.
9443 (grub_terminfo_putchar): Likewise.
9444 (grub_terminfo_setcolorstate): Handle colors
9445 (grub_terminfo_cursor_on): This ...
9446 (grub_terminfo_cursor_off): ... and this merged into ...
9447 (grub_terminfo_setcursor): ... this.
9448 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
9449 * unicode/ArabicShaping.txt: New file (imported from Unicode).
9450 * unicode/BidiMirroring.txt: Likewise.
9451 * unicode/UnicodeData.txt: Likewise.
9452 * unicode/COPYING: Likewise.
9453 * util/grub-editenv.c (grub_putchar): Removed.
9454 (grub_xputs_real): New function.
9455 (grub_xputs): New variable.
9456 * util/grub-fstest.c (grub_putchar): Removed.
9457 (grub_xputs_real): New function.
9458 (grub_xputs): New variable.
9459 * util/grub-mkdevicemap.c (grub_putchar): Removed.
9460 (grub_xputs_real): New function.
9461 (grub_xputs): New variable.
9462 * util/grub-probe.c (grub_putchar): Removed.
9463 (grub_xputs_real): New function.
9464 (grub_xputs): New variable.
9465 * util/grub-script-check.c (grub_putchar): Removed.
9466 (grub_xputs_real): New function.
9467 (grub_xputs): New variable.
9468 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
9469 (grub_xputs_real): New function.
9470 (grub_xputs): New variable.
9471 * util/import_unicode.py: New file.
9472 * util/grub-mkfont.c (ft_errmsgs): New array.
9473 (grub_glyph_info): Make bitmap a pointer.
9474 (file_formats): New type WIDTH_SPEC.
9475 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
9476 (options): Add width-spec.
9478 (add_char): Renamed to ...
9479 (add_glyph): ... this.
9480 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
9481 (glyph_replace): New type.
9482 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
9483 (add_char): New function.
9484 (add_subst): Likewise.
9485 (process_cursive): Likewise.
9486 (add_font): Handle GSUB.
9487 (write_font_width_spec): New function.
9488 (main): Sort glyphs.
9489 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
9490 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
9491 * kern/term.c (grub_cls): Moved from here...
9492 * normal/term.c (grub_cls): ... here.
9494 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
9496 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
9497 suitable for using within the format argument of printf when
9498 converting grub_size_t.
9499 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
9500 "x" to convert grub_size_t arguments.
9502 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
9504 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
9506 (list_get_minimal_size): Take selection box into account.
9508 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
9510 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
9513 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
9515 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
9516 devices when iterating over /dev/disk/by-id; they will be handled
9517 later if appropriate, which they aren't always (e.g. LVM).
9519 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
9521 * include/grub/misc.h (grub_reboot): Declare as noreturn.
9522 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
9524 (grub_halt): Likewise.
9525 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
9527 (grub_halt): Don't return, even if all of shut-down, power-off, and
9530 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
9532 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
9533 arguments, not three.
9535 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
9537 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
9538 * util/grub.d/10_linux.in: Use it to check for LVM, so that
9539 LVM-on-RAID is handled correctly.
9541 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
9543 * docs/grub.texi (Changes from GRUB Legacy): New section.
9546 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
9548 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
9549 grub.d/README accidentally ends up executable for one reason or
9552 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
9554 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
9555 (gpt_partition_map_iterate): Support non-512B sectors.
9557 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
9559 * kern/efi/init.c (grub_efi_init): Disable watchdog.
9560 Tested by: Seth Goldberg.
9562 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
9564 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
9566 Reported by: Seth Goldberg.
9568 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
9570 * util/grub-mkrescue.in: Avoid module duplication.
9572 2010-07-01 Sean Finney <seanius@seanius.net>
9574 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
9576 2010-07-01 Sean Finney <seanius@seanius.net>
9578 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
9580 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
9582 * disk/lvm.c (grub_lvm_checkvalue): New function.
9583 (grub_lvm_check_flag): Likewise.
9585 2010-07-01 Robert Millan <rmh@gnu.org>
9587 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
9588 Support 'p' as partition separator on kernel of FreeBSD (used
9590 (grub_util_biosdisk_get_grub_dev): Likewise.
9592 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
9594 Yeeloong firmware port.
9596 * boot/mips/yeeloong/fwstart.S: New file.
9597 * bus/cs5536.c (gpiodump): New const.
9598 (set_io_space): New function.
9599 (set_iod): Likewise.
9600 (set_p2d): Likewise.
9601 (grub_cs5536_init_geode): Likewise.
9602 * commands/mips/yeeloong/lsspd.c: New file.
9603 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
9604 (serial_mod_SOURCES): New variable.
9605 (serial_mod_CFLAGS): Likewise.
9606 (serial_mod_LDFLAGS): Likewise.
9607 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
9608 term/terminfo.c and term/tparm.c.
9609 (pkglib_IMAGES): Add fwstart.img.
9610 (fwstart_img_SOURCES): New variable.
9611 (fwstart_img_CFLAGS): Likewise.
9612 (fwstart_img_ASFLAGS): Likewise.
9613 (fwstart_img_LDFLAGS): Likewise.
9614 (fwstart_img_FORMAT): Likewise.
9615 (pkglib_MODULES): Add lsspd.mod.
9616 (lsspd_mod_SOURCES): New variable.
9617 (lsspd_mod_CFLAGS): Likewise.
9618 (lsspd_mod_LDFLAGS): Likewise.
9619 (pkglib_MODULES): Add halt.mod.
9620 (halt_mod_SOURCES): New variable.
9621 (halt_mod_CFLAGS): Likewise.
9622 (halt_mod_LDFLAGS): Likewise.
9623 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
9624 (serial_mod_SOURCES): Removed.
9625 (serial_mod_CFLAGS): Likewise.
9626 (serial_mod_LDFLAGS): Likewise.
9627 * disk/ata.c (check_device): New function.
9628 (grub_ata_device_initialize): Use check_device.
9629 (grub_ata_iterate): Recheck devices.
9630 (grub_ata_open): Likewise.
9631 (grub_atapi_iterate): Likewise.
9632 (grub_atapi_open): Likewise.
9633 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
9634 (GRUB_ATA_CH1_PORT1): Likewise.
9635 (GRUB_ATA_CH0_PORT2): Likewise.
9636 (GRUB_ATA_CH1_PORT2): Likewise.
9637 * include/grub/mips/loongson.h: New file.
9638 * include/grub/mips/yeeloong/ec.h: Likewise.
9639 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
9640 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
9641 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
9642 * include/grub/misc.h (grub_halt): Declare as noreturn.
9643 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
9644 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
9645 (UART_ENABLE_FIFO_TRIGGER1): New definition.
9646 (UART_ENABLE_DTRRTS): Likewise.
9647 (UART_ENABLE_MODEM): Removed.
9648 (UART_ENABLE_OUT2): New const.
9649 * include/grub/term.h (grub_term_register_input_active): New function.
9650 (grub_term_register_output_active): Likewise.
9651 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
9653 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
9654 (init_pci): New function.
9655 (grub_machine_init): Execute platform init when firmware. Init serial.
9656 (grub_halt): Implement.
9657 (grub_exit): Likewise.
9658 (grub_reboot): Likewise.
9659 * term/serial.c (serial_hw_init): Update macros.
9660 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
9661 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
9662 (image_targets): New target mipsel-yeeloong-flash.
9663 (generate_image): Support IMAGE_YEELOONG_FLASH.
9664 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
9665 (grub_video_sm712_setup): Init card.
9666 (grub_video_sm712_set_palette): Removed.
9667 * video/sm712_init.c: New file.
9669 2010-06-30 Colin Watson <cjwatson@ubuntu.com>
9671 * Makefile.in (install-local): Temporarily prepend $(builddir) to
9672 PATH when running help2man and then run it on the unadorned
9673 executable names, rather than passing $(builddir)/* paths to
9674 help2man. This avoids the build directory ending up in generated
9677 2010-06-29 Colin Watson <cjwatson@ubuntu.com>
9679 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
9680 to avoid accidents when debugging with 'sh -x'.
9681 * util/grub-mkrescue.in: Likewise.
9682 * util/grub.d/00_header.in: Likewise.
9683 * util/grub.d/10_hurd.in: Likewise.
9684 * util/grub.d/10_kfreebsd.in: Likewise.
9685 * util/grub.d/10_linux.in: Likewise.
9686 * util/grub.d/10_netbsd.in: Likewise.
9687 * util/grub.d/10_windows.in: Likewise.
9688 * util/grub.d/20_linux_xen.in: Likewise.
9689 * util/grub.d/30_os-prober.in: Likewise.
9690 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
9692 2010-06-29 Colin Watson <cjwatson@ubuntu.com>
9694 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
9695 last character in the buffer.
9696 Reported by: Vladimir Serbinenko.
9698 2010-06-29 Robert Millan <rmh@gnu.org>
9700 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
9701 (Command-line and menu entry commands): Document `badram' command.
9703 2010-06-28 Robert Millan <rmh@gnu.org>
9705 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
9706 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
9707 command using ${GRUB_BADRAM} as parameter.
9709 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
9711 * docs/grub.texi (Device map): New section.
9712 (Themes): New section (stub).
9713 * Makefile.in (docs/grub.info): The info documentation now builds
9714 without errors. Make sure it stays that way.
9716 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
9718 Use normal parser for menu entries.
9719 Reported by: Thomas Frauendorfer
9721 * include/grub/parser.h (grub_parser_execute): Don't export.
9722 * normal/menu.c (grub_menu_execute_entry_real): New function.
9723 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
9725 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
9727 * docs/grub.texi (Embedded configuration): New section (replacing
9728 old "Preset Menu" stub).
9729 (Images): New section.
9730 (configfile): Note that any menu entries defined in `file' are shown
9733 2010-06-28 Josh Triplett <josh@joshtriplett.org>
9735 * mmap/i386/pc/mmap_helper.S: Set CF on return.
9737 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
9739 * util/grub-install.in: Add --debug-image= option.
9741 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
9743 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
9746 * util/deviceiter.c (check_device): Rename to ...
9747 (check_device_readable_unique): ... this. Update all callers.
9748 Maintain and check a list of which devices (by canonicalized name)
9749 have already been seen.
9750 (clear_seen_devices): New function.
9751 (compare_file_names) [__linux__]: New function.
9752 (grub_util_iterate_devices): Clear the list of seen devices on exit
9753 and (just in case) on entry.
9754 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
9755 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
9756 seen-devices list, superseded by general code in check_device.
9758 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
9760 * commands/cat.c (options): New variable.
9761 (grub_cmd_cat): Parse options. If the --dos option is given, print
9762 DOS-style "\r\n" line endings as simple newlines (Debian bug
9764 (GRUB_MOD_INIT): Use extcmd.
9765 (GRUB_MOD_FINI): Likewise.
9766 * docs/grub.texi (cat): Document --dos.
9768 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
9770 XEN with Linux grub-mkconfig support.
9772 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
9773 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
9774 GRUB_CMDLINE_XEN_DEFAULT.
9775 * util/grub.d/20_linux_xen.in: New file.
9777 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
9779 Initialise VGA video on qemu ourselves.
9781 * boot/i386/qemu/boot.S: Don't call 0xc000.
9782 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
9783 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
9784 (kernel_img_HEADERS): Add pci.h.
9785 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
9786 * configure.ac: Force unifont on qemu and yeeloong.
9787 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
9788 (grub_vga_palette_write): Use correct register.
9789 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
9790 Call grub_qemu_init_cirrus.
9791 * kern/i386/qemu/init.c: New file.
9792 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
9794 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
9796 2010-06-26 Pavel Roskin <proski@gnu.org>
9798 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
9801 2010-06-26 Colin Watson <cjwatson@ubuntu.com>
9803 * docs/grub.texi (Simple configuration): Explain that
9804 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
9805 set to `true' to disable their respective recovery entries, not
9808 2010-06-26 Colin Watson <cjwatson@ubuntu.com>
9810 Make the `source' command slightly faster.
9812 * normal/main.c (grub_normal_execute): Don't re-read list files when
9815 2010-06-23 Colin Watson <cjwatson@ubuntu.com>
9817 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
9818 field position and mask size to red fields from mode_info, not
9820 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
9821 Remove redundant tag->common.framebuffer_type assignment.
9822 Reported by: Seth Goldberg.
9824 2010-06-23 Colin Watson <cjwatson@ubuntu.com>
9826 Sync up other versions of the Linux loader with Robert Millan's
9827 change of 2010-01-09, "Make loader output a bit more user-friendly".
9829 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
9831 (grub_cmd_linux): Likewise.
9832 (grub_cmd_initrd): Likewise.
9833 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
9834 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
9836 2010-06-21 Colin Watson <cjwatson@ubuntu.com>
9838 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
9839 larger than MEMORY_MAP_SIZE.
9841 2010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
9845 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
9847 * script/parser.y: #include grub_script.tab.h header.
9849 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
9851 Support >3GiB and <16MiB RAM in i386-qemu.
9853 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
9854 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
9855 (grub_lower_mem): Removed.
9856 (grub_upper_mem): Likewise.
9857 (mem_size): Made static.
9858 (above_4g): New variable.
9859 (grub_machine_mmap_init): Detect small mem_size and above_4g.
9860 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
9863 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
9865 Cirrus 5446 and Bochs video cards support.
9867 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
9869 (video_cirrus_mod_SOURCES): New variable.
9870 (video_cirrus_mod_CFLAGS): Likewise.
9871 (video_cirrus_mod_LDFLAGS): Likewise.
9872 (video_bochs_mod_SOURCES): Likewise.
9873 (video_bochs_mod_CFLAGS): Likewise.
9874 (video_bochs_mod_LDFLAGS): Likewise.
9875 * include/grub/vga.h: New file.
9876 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
9877 (grub_video_fb_set_page_t): New type.
9878 (grub_video_fb_setup): New prototype.
9879 (grub_video_fb_swap_buffers): Likewise.
9880 (grub_video_fb_get_info_and_fini): Likewise.
9881 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
9882 (CRTC_DATA_PORT): Likewise.
9883 (CRTC_CURSOR): Likewise.
9884 (CRTC_CURSOR_ADDR_HIGH): Likewise.
9885 (CRTC_CURSOR_ADDR_LOW): Likewise.
9886 (CRTC_CURSOR_DISABLE): Likewise.
9887 (update_cursor): Use grub_vga_cr_write.
9888 (grub_vga_text_setcursor): Likewise.
9889 * video/bochs.c: New file.
9890 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
9891 (palette): Likewise.
9892 (palette_size): Likewise.
9893 (framebuffer): New variable.
9894 (grub_video_fb_init): Use 'framebuffer'.
9895 (grub_video_fb_fini): Likewise.
9896 (grub_video_fb_get_info): Likewise.
9897 (grub_video_fb_get_palette): Likewise.
9898 (grub_video_fb_set_palette): Likewise.
9899 (grub_video_fb_set_viewport): Likewise.
9900 (grub_video_fb_get_viewport): Likewise.
9901 (grub_video_fb_map_color): Likewise.
9902 (grub_video_fb_map_rgb): Likewise.
9903 (grub_video_fb_map_rgba): Likewise.
9904 (grub_video_fb_unmap_color): Likewise.
9905 (grub_video_fb_unmap_color_int): Likewise.
9906 (grub_video_fb_fill_rect): Likewise.
9907 (grub_video_fb_blit_bitmap): Likewise.
9908 (grub_video_fb_blit_render_target): Likewise.
9909 (grub_video_fb_scroll): Likewise.
9910 (grub_video_fb_create_render_target): Likewise.
9911 (grub_video_fb_doublebuf_blit_init): Likewise.
9912 (grub_video_fb_set_active_render_target): Handle doublebuffering.
9913 (doublebuf_pageflipping_update_screen): New function.
9914 (doublebuf_pageflipping_init): Likewise.
9915 (grub_video_fb_setup): Likewise.
9916 (grub_video_fb_swap_buffers): Likewise.
9917 (grub_video_fb_get_info_and_fini): Likewise.
9918 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
9920 (doublebuf_pageflipping_commit): Restructured into ...
9921 (doublebuf_pageflipping_set_page): ... this.
9922 (doublebuf_pageflipping_update_screen): Removed.
9923 (doublebuf_pageflipping_init): Likewise.
9924 (double_buffering_init): Likewise.
9925 (grub_video_vbe_setup): Use grub_video_fb_setup.
9926 (grub_video_vbe_swap_buffers): Removed.
9927 (grub_video_vbe_set_active_render_target): Likewise.
9928 (grub_video_vbe_get_active_render_target): Likewise.
9929 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
9930 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
9931 grub_video_fb_set_active_render_target and
9932 grub_video_fb_get_active_render_target.
9933 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
9934 (SEQUENCER_DATA_PORT): Likewise.
9935 (MAP_MASK_REGISTER): Likewise.
9936 (CRTC_ADDR_PORT): Likewise.
9937 (CRTC_DATA_PORT): Likewise.
9938 (START_ADDR_HIGH_REGISTER): Likewise.
9939 (START_ADDR_LOW_REGISTER): Likewise.
9940 (GRAPHICS_ADDR_PORT): Likewise.
9941 (GRAPHICS_DATA_PORT): Likewise.
9942 (READ_MAP_REGISTER): Likewise.
9943 (INPUT_STATUS1_REGISTER): Likewise.
9944 (INPUT_STATUS1_VERTR_BIT): Likewise.
9945 (get_map_mask): Use grub_vga_sr_read.
9946 (set_map_mask): Use grub_vga_sr_write.
9947 (set_read_map): Use grub_vga_gr_write.
9948 (set_start_address): Use grub_vga_cr_write.
9949 * video/sm712.c (framebuffer): Remove leftover fields.
9951 2010-06-20 Colin Watson <cjwatson@ubuntu.com>
9953 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
9954 setting GRUB_VIDEO_BACKEND. Make it available as a user override
9955 instead. Replace the gfxterm backend check with a check that
9956 ${GRUB_PREFIX}/video.lst is non-empty.
9957 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
9959 (load_video): New generated function. Call it before loading
9960 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
9961 * util/grub.d/10_linux.in (linux_entry): Call load_video.
9962 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
9963 * docs/grub.texi (Simple configuration): Document
9966 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
9968 Use video functions in linux and xnu loaders.
9970 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
9971 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
9972 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
9973 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
9974 loader/i386/pc/linux.c.
9975 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
9976 (find_line_len): Removed.
9977 (find_framebuf): Likewise.
9978 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
9979 * loader/i386/efi/xnu.c: Removed.
9980 * loader/i386/pc/xnu.c: Moved from here...
9981 * loader/i386/xnu.c: ...here.
9983 Enable priorities in video drivers.
9985 * include/grub/video.h (grub_video_adapter_prio_t): New type.
9986 (grub_video_adapter): New field prio.
9987 (grub_video_register): Respect prio when inserting.
9988 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
9989 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
9990 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
9991 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
9992 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
9993 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
9994 * video/sm712.c (grub_video_sm712_adapter): Likewise.
9998 * include/grub/video.h (grub_video_driver_id_t): New value
9999 GRUB_VIDEO_DRIVER_SDL.
10000 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
10002 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
10004 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
10005 argument to printf.
10006 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
10008 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
10010 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
10011 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
10013 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
10015 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
10016 directly, and recommend grub-install instead.
10017 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
10019 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
10021 Fix i386-pc prefix handling with nested partitions (Debian bug
10022 #585068). Note that the case where the core image is booted using
10023 multiboot and relocated from its original location still requires
10026 * kern/i386/pc/init.c (make_install_device): If the prefix starts
10027 with "(,", fill the boot drive in between those two characters, but
10028 expect that a full partition specification including partition map
10030 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
10031 specified, write a prefix without the drive name but including a
10032 full partition specification.
10034 2010-06-16 Colin Watson <cjwatson@ubuntu.com>
10036 * util/grub-mkconfig.in: Ignore non-option arguments, for
10037 compatibility with older versions (before 2010-06-12) which did the
10038 same. In particular, this makes it easier to ship an update-grub
10039 wrapper which is compatible with that used with GRUB Legacy (Debian
10042 2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
10044 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
10045 for manual page generation.
10047 2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
10049 * po/POTFILES: Remove leftover commands/handler.c.
10051 2010-06-14 Colin Watson <cjwatson@ubuntu.com>
10053 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
10054 left this script non-functional.
10056 2010-06-14 Colin Watson <cjwatson@ubuntu.com>
10058 * docs/man/grub-emu.h2m: New file.
10060 2010-06-13 Colin Watson <cjwatson@ubuntu.com>
10062 * docs/grub.texi (Commands): Document reduced command set in rescue
10064 (cpuid): New section.
10066 2010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
10068 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
10069 new partition naming style.
10070 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
10072 2010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
10074 Add "-o grub.iso" like cmdline options support.
10076 * util/grub-install.in: Improve cmdline option parsing.
10077 * util/grub-mkconfig.in: Likewise.
10078 * util/grub-mkrescue.in: Likewise.
10079 * util/grub-reboot.in: Likewise.
10080 * util/grub-set-default.in: Likewise.
10081 * util/i386/efi/grub-install.in: Likewise.
10082 * util/ieee1275/grub-install.in: Likewise.
10083 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
10085 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
10087 * .bzrignore: Ignore 41_custom.
10089 2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
10091 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
10093 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
10095 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
10096 prototype declarations.
10098 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
10099 generating fs, partmap, and video lists.
10100 * include/grub/fs.h (grub_fs_register): Omit prototype if
10101 GRUB_LST_GENERATOR is defined.
10102 * include/grub/partition.h (grub_partition_map_register): Likewise.
10103 * include/grub/video.h (grub_video_register): Likewise.
10105 2010-06-12 Javier Martín <lordhabbit@gmail.com>
10107 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
10109 2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
10111 * util/grub-mkrescue.in: Support --xorriso argument.
10113 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
10115 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
10116 Suggested by: Thomas Schmitt.
10118 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
10120 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
10121 Suggested by: Thomas Schmitt.
10123 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
10125 custom.cfg support.
10127 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
10128 * util/grub.d/41_custom.in: New file.
10130 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
10132 * util/grub-mkrescue.in (make_image): Remove sh module, which has
10133 been merged back into normal.
10135 2010-06-11 Colin Watson <cjwatson@ubuntu.com>
10137 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
10138 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
10140 2010-06-11 Colin Watson <cjwatson@ubuntu.com>
10142 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
10143 when generating manual pages.
10144 * docs/man/grub-bin2h.h2m: New file.
10145 * docs/man/grub-editenv.h2m: New file.
10146 * docs/man/grub-fstest.h2m: New file.
10147 * docs/man/grub-install.h2m: New file.
10148 * docs/man/grub-macho2img.h2m: New file.
10149 * docs/man/grub-mkconfig.h2m: New file.
10150 * docs/man/grub-mkdevicemap.h2m: New file.
10151 * docs/man/grub-mkfont.h2m: New file.
10152 * docs/man/grub-mkimage.h2m: New file.
10153 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
10154 * docs/man/grub-mkrelpath.h2m: New file.
10155 * docs/man/grub-mkrescue.h2m: New file.
10156 * docs/man/grub-ofpathname.h2m: New file.
10157 * docs/man/grub-pe2elf.h2m: New file.
10158 * docs/man/grub-probe.h2m: New file.
10159 * docs/man/grub-reboot.h2m: New file.
10160 * docs/man/grub-script-check.h2m: New file.
10161 * docs/man/grub-set-default.h2m: New file.
10162 * docs/man/grub-setup.h2m: New file.
10164 2010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
10166 Use FOR_* macros instead of *_iterate whenever possible.
10168 * commands/handler.c: Removed.
10169 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
10170 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
10171 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
10172 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
10173 (grub_probe_SOURCES): Remove kern/parser.c.
10174 (util/grub-script-check.c_DEPENDENCIES): Removed.
10175 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
10176 and grub_script_check_init.c.
10177 (grub_script_check_init.lst): Removed.
10178 (grub_script_check_init.h): Likewise.
10179 (grub_script_check_init.c): Likewise.
10180 (pkglib_MODULES): Remove handler.mod and sh.mod.
10181 (handler_mod_SOURCES): Removed.
10182 (handler_mod_CFLAGS): Likewise.
10183 (handler_mod_LDFLAGS): Likewise.
10184 (normal_mod_SOURCES): Remove normal/handler.c.
10185 Add script/main.c, script/script.c, script/execute.c,
10186 script/function.c, script/lexer.c, grub_script.tab.c
10187 and grub_script.yy.c.
10188 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
10189 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
10190 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
10191 (grub_setup_SOURCES): Remove kern/parser.c.
10192 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
10193 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
10194 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
10195 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
10196 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
10197 (grub_setup_SOURCES): Remove kern/parser.c.
10198 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
10199 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
10200 * include/grub/command.h (grub_command_iterate): Removed.
10201 (FOR_COMMANDS): New macro.
10202 * include/grub/dl.h (grub_dl): New member next.
10203 (grub_dl_iterate): Removed.
10204 (grub_dl_head): New variable declaration.
10205 (FOR_DL_MODULES): New macro.
10206 * include/grub/fs.h: Include list.h.
10207 (grub_fs): Make next first element.
10208 (grub_fs_list): New variable declaration.
10209 (grub_fs_register): Make inline.
10210 (grub_fs_unregister): Likewise.
10211 (grub_fs_iterate): Removed.
10212 (FOR_FILESYSTEMS): New macro.
10213 * include/grub/handler.h: Removed.
10214 * include/grub/list.h (grub_list_hook_t): Removed.
10215 (grub_list_test_t): Likewise.
10216 (grub_list_pop): Likewise.
10217 (grub_list_iterate): Likewise.
10218 (grub_list_insert): Likewise.
10219 (FOR_LIST_ELEMENTS): New macro.
10220 * include/grub/parser.h (grub_parser_class): Removed.
10221 (grub_parser_register): Likewise.
10222 (grub_parser_unregister): Likewise.
10223 (grub_parser_get_current): Likewise.
10224 (grub_parser_set_current): Likewise.
10225 (grub_register_rescue_parser): Likewise.
10226 (grub_rescue_parse_line): New function.
10227 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
10228 * include/grub/script_sh.h (grub_script_function_list): New variable
10230 (FOR_SCRIPT_FUNCTIONS): New macro.
10231 (grub_script_function_iterate): Removed.
10232 (grub_normal_parse_line): New prototype.
10233 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
10234 (FOR_DISABLED_TERM_INPUTS): Likewise.
10235 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
10236 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
10237 * include/grub/video.h (grub_video_adapter): Move 'next' to first
10239 (grub_video_register): Inline.
10240 (grub_video_unregister): Likewise.
10241 (grub_video_adapter_list): New variable declaration.
10242 (grub_video_iterate): Removed.
10243 (FOR_VIDEO_ADAPTERS): New macro.
10244 * kern/dl.c (grub_dl_list): Removed. All users updated.
10245 (grub_dl_iterate): Removed.
10246 * kern/fs.c (grub_fs_list): Make global.
10247 (grub_fs_register): Removed.
10248 (grub_fs_unregister): Likewise.
10249 (grub_fs_iterate): Likewise.
10250 * kern/handler.c: Removed.
10251 * kern/list.c (grub_list_pop): Removed.
10252 (grub_list_iterate): Likewise.
10253 (grub_list_insert): Likewise.
10254 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
10255 (grub_prio_list_insert): Don't use grub_list_insert.
10256 * kern/main.c (grub_register_rescue_parser): Don't call
10257 grub_register_rescue_parser.
10258 * kern/parser.c (grub_parser_class): Removed.
10259 (grub_parser_execute): Use grub_rescue_parse_line.
10260 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
10261 (grub_rescue_parser): Removed.
10262 (grub_register_rescue_parser): Likewise.
10263 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
10264 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
10265 (grub_auth_check_authentication): Likewise.
10266 * normal/completion.c (iterate_command): Removed.
10267 (grub_normal_do_completion): Use FOR_COMMANDS.
10268 * normal/handler.c: Removed.
10269 * normal/main.c (read_config_file): Remove parser changing.
10270 (grub_normal_execute): Don't call read_handler_list.
10271 (grub_normal_read_line_real): Statically allocate prompt.
10272 (grub_cmdline_run): Use grub_normal_parse_line.
10273 (GRUB_MOD_FINI): Don't call free_handler_list.
10274 * normal/menu_entry.c (run): Likewise.
10275 * script/function.c (grub_script_function_list): Make global.
10276 (grub_script_function_iterate): Removed.
10277 * script/main.c (grub_normal_parse_line): Make global.
10278 (grub_sh_parser): Removed.
10279 (GRUB_MOD_INIT): Likewise.
10280 (GRUB_MOD_FINI): Likewise.
10281 * tests/lib/functional_test.c (grub_functional_test): Use
10283 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
10284 (grub_test_run): Use FOR_LIST_ELEMENTS.
10285 * tests/lib/unit_test.c (main): Likewise.
10286 * util/deviceiter.c (grub_util_iterate_devices): Don't use
10288 * util/grub-fstest.c (grub_term_input_class): Removed.
10289 (grub_term_output_class): Likewise.
10290 * util/grub-probe.c: Likewise.
10291 * util/i386/pc/grub-setup.c: Likewise.
10292 * util/sparc64/ieee1275/grub-setup.c: Likewise.
10293 * util/grub-script-check.c (main): Don't call grub_init_all and
10295 * video/video.c (grub_video_adapter_list): Make global.
10296 (grub_video_register): Removed.
10297 (grub_video_unregister): Likewise.
10298 (grub_video_iterate): Likewise.
10300 2010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
10302 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
10303 reported by Henrique Ferreiro.
10305 2010-06-09 Robert Millan <rmh@gnu.org>
10307 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
10308 ones, when both are available.
10310 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
10312 Make --version uniform and avoid hard-coded program name.
10314 * util/grub-mkimage.c (main): Use `program_name' instead of
10316 * util/i386/pc/grub-setup.c (main): Likewise.
10317 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
10318 * util/grub-install.in: Save the basename of $0 in $self, and use the
10319 latter in informational messages. Use the same format for --version
10320 as the binary programs.
10321 * util/grub-mkconfig.in: Likewise.
10322 * util/grub-mkrescue.in: Likewise.
10323 * util/grub-reboot.in: Likewise.
10324 * util/grub-set-default.in: Likewise.
10325 * util/i386/efi/grub-install.in: Likewise.
10326 * util/ieee1275/grub-install.in: Likewise.
10327 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
10329 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
10331 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
10332 embedding area. Use <= instead of == when checking for non-emptiness.
10334 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
10336 * configure.ac: Add `.' to the directories searched for unifont.
10338 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
10340 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
10343 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
10345 * docs/grub.texi (History): Expand to cover GRUB 2.
10346 (Serial terminal): Refer to `terminal_input' and `terminal_output'
10347 commands, not `terminal'.
10348 (serial): Likewise.
10349 (terminal_input): New section.
10350 (terminal_output): New section.
10351 (uppermem): New section (stub).
10352 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
10354 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
10356 * docs/grub.texi (Security): Menu entries are unrestricted by
10357 default, not restricted to superusers as I had previously thought.
10358 Reword to account for this.
10360 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
10362 * kern/emu/misc.c (device_mapper_null_log): New function.
10363 (grub_device_mapper_supported): New function.
10364 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
10366 * kern/emu/hostdisk.c (find_partition_start): Check whether
10367 device-mapper is supported before trying to use it.
10368 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
10370 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
10372 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
10373 (File name syntax): Likewise.
10374 (help): --all is no longer supported in GRUB 2. Be more precise
10375 about pattern matching.
10377 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
10379 * normal/completion.c (grub_normal_do_completion): When completing
10380 arguments to "set" and the current word contains an equals sign,
10381 skip to after the equals sign before starting completion.
10383 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
10385 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
10387 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
10389 * docs/grub.texi (Network): New section.
10390 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
10391 `(nd)' as in GRUB Legacy.
10392 (pxe_unload): New section.
10394 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
10396 * docs/grub.texi (Troubleshooting): `echo' is not usually available
10397 in the rescue shell, so recommend using `set' instead. Thanks,
10400 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
10402 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
10403 (password): New section.
10404 (password_pbkdf2): New section.
10405 (search): New section.
10406 (Security): New section.
10407 (Troubleshooting): New section, currently very incomplete.
10408 (Invoking grub-mkpasswd-pbkdf2): New section.
10409 (Internals): New section, currently very incomplete.
10411 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
10413 * util/grub.d/00_header.in: Add some more quoting (of
10414 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
10416 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
10418 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
10420 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
10421 to `count', fixing variable shadowing that broke the -c option.
10423 2010-06-05 Colin Watson <cjwatson@ubuntu.com>
10425 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
10426 in case they contain spaces.
10428 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
10430 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
10431 "part_" to partmap module names, in line with grub-install.
10432 Reported by: Jindřich Makovička (Debian bug #584426).
10434 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
10436 * util/grub-mkimage.c: Make target-related error messages slightly
10437 more helpful; -O talks about "format". Explicitly point to the use
10438 of -O if no target is specified.
10439 Reported by: Didier Raboud (Debian bug #584415).
10441 2010-06-03 Colin Watson <cjwatson@ubuntu.com>
10443 * INSTALL: Document several build requirements for optional features
10444 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
10446 2010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
10448 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
10449 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
10450 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
10452 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
10454 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
10455 Thanks to Jordan Uggla for spotting this.
10457 2010-06-02 Aleš Nesrsta <starous@volny.cz>
10459 Finally make USB usable.
10461 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
10462 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
10463 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
10464 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
10465 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
10466 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
10467 (GRUB_OHCI_FSMPS): Likewise.
10468 (GRUB_OHCI_PERIODIC_START): Likewise.
10469 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
10470 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
10471 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
10472 (GRUB_OHCI_SET_PORT_RESET): Likewise.
10473 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
10474 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
10475 (grub_ohci_transaction): Likewise.
10476 (grub_ohci_transfer): Improve condition detection algorithms.
10477 Handle toggle property. Program the transactions correctly.
10478 Improve error handling. Various important fixups.
10479 (grub_ohci_portstatus): Put register writes in right order.
10480 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
10481 (grub_uhci_transfer): Don't show "failed" message on success.
10482 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
10484 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
10485 determine its size.
10486 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
10487 before initialization is completed. Use IN direction for empty
10488 transfers. Use last_trans and compute toggle.
10489 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
10490 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
10491 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
10492 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
10493 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
10494 (grub_usb_device): Increase toggle to 256.
10495 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
10496 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
10497 GRUB_USBMS_SUBCLASS_SFF8070.
10498 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
10499 (grub_scsi_inquiry): New member page and alloc_length.
10500 (grub_scsi_request_sense): New structure.
10501 (grub_scsi_request_sense_data): Likewise.
10502 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
10504 * disk/scsi.c (grub_scsi_request_sense): New function.
10505 (grub_scsi_test_unit_ready): Likewise.
10506 (grub_scsi_inquiry): Fill new fields.
10507 (grub_scsi_read_capacity): Likewise.
10508 (grub_scsi_read10): Add request sense at the end.
10509 (grub_scsi_read12): Likewise.
10510 (grub_scsi_write10): Likewise.
10511 (grub_scsi_write12): Likewise.
10512 (grub_scsi_open): Add Test Unit Ready.
10513 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
10514 Support additional subclasses. Con't clear halt yet. Activate the
10515 proper config. Calculate LUNs correctly.
10516 (grub_usbms_transfer): Various important fixups.
10518 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
10520 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
10521 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
10522 (grub_ohci_fini_hw): New function.
10523 (grub_ohci_restore_hw): Likewise.
10524 (GRUB_MOD_INIT(ohci)): Register preboot hook.
10525 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
10526 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
10528 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
10530 Dedicated DMA allocations.
10532 * bus/pci.c (grub_memalign_dma32): New function
10533 (grub_dma_free): Likewise.
10534 (grub_dma_get_virt): Likewise.
10535 (grub_dma_get_phys): Likewise.
10536 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
10537 (grub_ohci_pci_iter): Use dma32_alloc.
10538 (grub_ohci_transfer): Likewise.
10539 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
10540 (grub_usb_bulk_readwrite): Likewise.
10541 * include/grub/pci.h: Add declarations.
10543 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
10547 * bus/cs5536.c: New file.
10548 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
10549 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
10550 (cs5536_mod_SOURCES): New variable.
10551 (cs5536_mod_CFLAGS): Likewise.
10552 (cs5536_mod_LDFLAGS): Likewise.
10553 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
10555 (kernel_img_SOURCES): Add bus/cs5536.c.
10556 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
10558 (usb_mod_SOURCES): New variable.
10559 (usb_mod_CFLAGS): New variable.
10560 (usb_mod_LDFLAGS): New variable.
10561 (usbtest_mod_SOURCES): New variable.
10562 (usbtest_mod_CFLAGS): New variable.
10563 (usbtest_mod_LDFLAGS): New variable.
10564 (ohci_mod_SOURCES): New variable.
10565 (ohci_mod_CFLAGS): New variable.
10566 (ohci_mod_LDFLAGS): New variable.
10567 (usbms_mod_SOURCES): New variable.
10568 (usbms_mod_CFLAGS): New variable.
10569 (usbms_mod_LDFLAGS): New variable.
10570 (usb_keyboard_mod_SOURCES): New variable.
10571 (usb_keyboard_mod_CFLAGS): New variable.
10572 (usb_keyboard_mod_LDFLAGS): New variable.
10573 * include/grub/smbus.h: New file.
10574 * include/grub/cs5536.h: New file.
10576 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
10578 * util/grub.d/00_header.in: Add safety check to make sure that
10579 ${locale_dir} exists before trying to probe it.
10581 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
10583 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
10584 per the GNU Coding Standards; this is now too obscure to be worth
10587 (chainloader): Remove cross-reference to `SCO UnixWare'.
10589 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
10591 * docs/grub.texi (Chain-loading): New section.
10592 (DOS/Windows): New section, borrowed from GRUB Legacy with details
10593 adjusted for GRUB 2.
10594 (SCO UnixWare): Likewise.
10596 (chainloader): Add reference to `Block list syntax'.
10597 (drivemap): New section.
10598 (parttool): New section.
10600 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
10602 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
10604 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
10605 (Installing GRUB using grub-install): Remove reference to the grub
10606 shell; mention `grub-mkimage' and `grub-setup' instead.
10607 (Invoking grub-install): Likewise.
10608 (Interface): Add reference to `Menu entry editor'.
10609 (serial): Remove `--device' option.
10611 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
10613 * docs/grub.texi (Configuration): New section, documenting
10614 configuration file generation using grub-mkconfig. I've left a slot
10615 for documenting the full shell scripting format but have not yet
10616 started on writing that up.
10617 (Invoking grub-mkconfig): New section.
10619 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
10621 * docs/grub.texi (direntry): Remove grub-terminfo reference.
10622 (GNU GRUB manual): Likewise.
10623 (General commands): Update description of `terminfo' for GRUB 2.
10625 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
10627 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
10628 (GRUB_MOD_INIT): Fix capitalisation.
10629 * docs/grub.texi (Command-line and menu entry commands): Document
10630 gettext and gptsync commands.
10632 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
10634 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
10635 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
10637 2010-06-01 Colin Watson <cjwatson@ubuntu.com>
10639 Add btrfs probing support, currently only in the single-device case.
10641 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
10643 (grub_guess_root_device): Call find_root_device_from_mountinfo
10644 before looking in /dev.
10646 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
10648 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
10649 GRUB_DISK_SIZE_UNKNOWN.
10650 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
10652 2010-05-31 Jiro SEKIBA <jir@unicus.jp>
10654 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
10655 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
10656 corrupted or not synced properly.
10658 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
10660 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
10661 Reported by: Seth Goldberg.
10663 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
10665 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
10667 Reported by: Seth Goldberg.
10669 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
10671 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
10672 Reported by: Seth Goldberg.
10674 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
10676 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
10677 64-bit address as signed on MIPS.
10679 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
10681 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
10682 to the empty string.
10684 2010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
10686 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
10688 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
10689 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
10690 * kern/misc.c (__enable_execute_stack): Disable on
10693 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
10695 Make grub-probe work with symbolic links under /dev/mapper as well
10696 as with real block devices. The Linux world seems to be (at best)
10697 in transition here, and GRUB shouldn't get caught in the middle.
10699 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
10702 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
10704 * util/grub-script-check.c (main): Ensure defined behaviour on empty
10705 input files (in which case exit zero).
10707 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
10709 * kern/emu/misc.c (canonicalize_file_name): realpath can still
10710 return NULL for various reasons even if it has a maximum-length
10711 buffer: for example, there might be a symlink loop, or the path
10712 might exceed PATH_MAX. If this happens, return NULL.
10714 2010-05-27 Robert Millan <rmh@gnu.org>
10716 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
10717 partmap module to handle cross-partmap setups.
10718 Reported by Orestes Mas. Gràcies!
10720 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
10722 * util/grub-mkrescue.in: Initialise override_dir rather than
10723 assuming that it's unset or empty in the environment.
10725 2010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
10727 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
10728 variable index into p_index to suppress a warning with -Wshadow.
10730 2010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
10732 * INSTALL: Added flex >= 2.5.35 requirement.
10734 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
10736 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
10738 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
10742 * commands/i386/cmostest.c: New file.
10743 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
10744 (cmostest_mod_SOURCES): New variable.
10745 (cmostest_mod_CFLAGS): Likewise.
10746 (cmostest_mod_LDFLAGS): Likewise.
10747 * conf/i386-pc.rmk: Likewise.
10748 * docs/grub.texi (Vendor power-on keys): New section.
10749 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
10750 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
10751 and GRUB_BUTTON_CMOS_ADDRESS.
10752 * util/grub.d/00_header.in: Handle powering-on by separate button.
10754 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
10756 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
10757 Removed drawing_scrollbar argument. All users updated
10759 Reported by Jo Shields
10761 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
10763 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
10764 buffer since gfxterm handles double repaint.
10766 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
10768 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
10769 * term/gfxterm.c (real_scroll): Likewise.
10771 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
10773 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
10774 before calling BIOS.
10776 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
10778 * include/grub/i18n.h: Always enable grub_gettext.
10780 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
10782 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
10783 partition naming style.
10785 2010-05-21 Colin Watson <cjwatson@ubuntu.com>
10787 * util/grub-mkconfig.in: Fix handling of -o so that it works when
10788 not the first option.
10790 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
10792 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
10794 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
10796 * util/misc.c: Move inclusion of <limits.h> to ...
10797 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
10799 2010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
10801 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
10802 Fix merge error in NetBSD code.
10803 (find_partition_start) [__NetBSD__]: Likewise.
10805 2010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
10807 Fix grub-mkrescue usage unit testing.
10809 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
10811 2010-05-18 Christian Franke <franke@computer.org>
10813 * util/grub.d/10_windows.in: Use path names instead of
10814 drive letters to prevent warning from Cygwin 1.7.
10815 Add drivemap command to menuentry if needed.
10817 2010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
10819 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
10820 gnumach and gnumach.gz.
10822 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10824 * include/grub/i18n.h (gettext): Inline instead of using #define.
10825 (grub_gettext): Likewise.
10828 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10830 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
10831 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
10832 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
10833 (main): Add a slash after pkglibdirroot.
10835 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10837 * util/grub-install.in: Add missing "in" keyword.
10839 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10841 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
10842 Reported by: Seth Goldberg.
10844 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10846 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
10848 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
10850 * configure.ac: Check for Linux device-mapper support.
10852 * util/hostdisk.c (device_is_mapped): New function.
10853 (find_partition_start): New function, partly broken out from
10854 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
10855 device-mapper support added.
10856 (linux_find_partition): Use find_partition_start.
10857 (convert_system_partition_to_system_disk): Add `st' argument.
10858 Support Linux /dev/mapper/* devices if device-mapper support is
10859 available; only DM-RAID devices are understood at present.
10860 (find_system_device): Add `st' argument. Pass it to
10861 convert_system_partition_to_system_disk.
10862 (grub_util_biosdisk_get_grub_dev): Pass stat result to
10863 find_system_device and convert_system_partition_to_system_disk. Use
10864 find_partition_start.
10866 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
10867 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
10868 * util/deviceiter.c [__linux__]: Define MINOR.
10869 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
10870 * util/mkdevicemap.c (grub_putchar): New function.
10871 (grub_getkey): New function.
10872 (grub_refresh): New function.
10873 (main): Set debug=all if -v -v is used.
10875 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
10877 Fix build with non-GNU libcs.
10879 * util/misc.c (canonicalize_file_name): Move to ...
10880 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
10881 grub_make_system_path_relative_to_its_root.
10883 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
10885 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
10886 we handle finding grub-mkimage. Default to finding grub-mkimage in
10887 ${bindir} with program_transform_name applied, and provide a
10888 --grub-mkimage option to override this.
10890 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10892 Remove grub-mkisofs.
10894 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
10895 (grub_mkisofs_SOURCES): Removed.
10896 (grub_mkisofs_CFLAGS): Removed.
10897 * util/mkisofs/defaults.h: Removed.
10898 * util/mkisofs/eltorito.c: Likewise.
10899 * util/mkisofs/exclude.h: Likewise.
10900 * util/mkisofs/hash.c: Likewise.
10901 * util/mkisofs/include/: Likewise.
10902 * util/mkisofs/include/fctldefs.h: Likewise.
10903 * util/mkisofs/include/mconfig.h: Likewise.
10904 * util/mkisofs/include/prototyp.h: Likewise.
10905 * util/mkisofs/include/statdefs.h: Likewise.
10906 * util/mkisofs/iso9660.h: Likewise.
10907 * util/mkisofs/joliet.c: Likewise.
10908 * util/mkisofs/match.c: Likewise.
10909 * util/mkisofs/match.h: Likewise.
10910 * util/mkisofs/mkisofs.c: Likewise.
10911 * util/mkisofs/mkisofs.h: Likewise.
10912 * util/mkisofs/msdos_partition.h: Likewise.
10913 * util/mkisofs/multi.c: Likewise.
10914 * util/mkisofs/name.c: Likewise.
10915 * util/mkisofs/rock.c: Likewise.
10916 * util/mkisofs/tree.c: Likewise.
10917 * util/mkisofs/write.c: Likewise.
10919 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10921 Unify grub-mkimage accross platforms.
10923 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
10924 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
10925 (grub_mkelfimage_SOURCES): Removed.
10926 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
10927 (util/grub-mkimage.c_DEPENDENCIES): .. this.
10928 (bin_UTILITIES): Add grub-mkimage.
10929 (grub_mkimage_SOURCES): New variable.
10930 (kernel_img_HEADERS): Remove machine/kernel.h.
10931 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
10932 (pkglib_PROGRAMS): Add kernel.img.
10933 (kernel_img_HEADERS): Add machine/kernel.h.
10934 (kernel_img_FORMAT): Removed.
10935 (bin_UTILITIES): Remove grub-mkimage.
10936 (grub_mkimage_SOURCES): Removed.
10937 (grub_mkimage_CFLAGS): Likewise.
10938 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
10939 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
10940 (pkglib_PROGRAMS): Add kernel.img.
10941 (bin_UTILITIES): Remove grub-mkimage.
10942 (grub_mkimage_SOURCES): Removed.
10943 (grub_mkimage_CFLAGS): Likewise.
10944 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
10945 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
10946 (pkglib_PROGRAMS): Add kernel.img.
10947 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
10948 (pkglib_PROGRAMS): Add kernel.img.
10949 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
10950 (grub_mkimage_SOURCES): Removed.
10951 (grub_mkimage_CFLAGS): Likewise.
10952 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
10953 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
10954 (pkglib_PROGRAMS): Add kernel.img.
10955 (bin_UTILITIES): Remove grub-mkimage.
10956 (grub_mkimage_SOURCES): Removed.
10957 (grub_mkimage_CFLAGS): Likewise.
10958 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
10959 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
10960 (grub_mkimage_SOURCES): Removed.
10961 (grub_mkimage_CFLAGS): Likewise.
10962 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
10963 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
10964 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
10965 (grub_pe32_optional_header): ... this.
10966 (grub_pe64_optional_header): ... and this. All users updated.
10967 (GRUB_PE32_PE32_MAGIC): Split into ..
10968 (GRUB_PE32_PE32_MAGIC): .. this.
10969 (GRUB_PE32_PE64_MAGIC): .. and this.
10970 (GRUB_PE32_SIGNATURE_SIZE): New definition.
10971 * include/grub/elf.h (PT_GNU_STACK): New definition.
10972 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
10973 * include/grub/i386/efi/kernel.h: Likewise.
10974 * include/grub/i386/kernel.h: Likewise.
10975 * include/grub/i386/pc/kernel.h: Likewise.
10976 * include/grub/i386/qemu/boot.h: Likewise.
10977 * include/grub/mips/kernel.h: Likewise.
10978 * include/grub/mips/qemu-mips/kernel.h: Likewise.
10979 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
10980 * include/grub/powerpc/kernel.h: Likewise.
10981 * include/grub/sparc64/ieee1275/boot.h: Likewise.
10982 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
10983 * include/grub/sparc64/kernel.h: Likewise.
10984 * include/grub/x86_64/efi/kernel.h: Likewise.
10985 * include/grub/x86_64/kernel.h: Likewise.
10986 * include/grub/offsets.h: New file.
10987 * include/grub/kernel.h (grub_module_info): Split into ...
10988 (grub_module_info32): ... this.
10989 (grub_module_info64): ... and this.
10990 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
10991 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
10992 (grub_boot_blocklist): Moved from here ...
10993 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
10994 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
10995 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
10996 * include/grub/types.h (grub_target_to_host16): Removed.
10997 (grub_target_to_host32): Likewise.
10998 (grub_target_to_host64): Likewise.
10999 (grub_host_to_target16): Likewise.
11000 (grub_host_to_target32): Likewise.
11001 (grub_host_to_target64): Likewise.
11002 (grub_host_to_target_addr): Likewise.
11004 Support grub-mkrescue for efi, coreboot and qemu.
11006 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
11007 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
11008 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
11009 * util/grub-mkrawimage.c: Moved from here ...
11010 * util/grub-mkimage.c: ... here. All users updated.
11011 (ALIGN_ADDR): Use image_target.
11012 (TARGET_NO_FIELD): New const.
11013 (image_target_desc): New type.
11014 (image_targets): New array.
11015 (grub_target_to_host64): Use image_target.
11016 (grub_target_to_host32): Likewise.
11017 (grub_target_to_host16): Likewise.
11018 (grub_host_to_target64): Likewise.
11019 (grub_host_to_target32): Likewise.
11020 (grub_host_to_target16): Likewise.
11021 (grub_host_to_target_addr): Likewise.
11022 (generate_image): Handle multiimage.
11023 (main): Require -O parameter. All users updated.
11024 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
11025 util/efi/grub-mkimage.c
11026 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
11027 New option --rom-directory.
11029 * util/i386/efi/grub-mkimage.c: Removed.
11030 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
11031 (grub_target_to_host32): Likewise.
11032 (grub_target_to_host64): Likewise.
11033 (grub_host_to_target16): Likewise.
11034 (grub_host_to_target32): Likewise.
11035 (grub_host_to_target64): Likewise.
11036 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
11037 (grub_target_to_host32): Likewise.
11038 (grub_target_to_host64): Likewise.
11039 (grub_host_to_target16): Likewise.
11040 (grub_host_to_target32): Likewise.
11041 (grub_host_to_target64): Likewise.
11043 2010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
11045 Source tree is reorganized for emu build.
11047 * include/grub/util/console.h: Move from here...
11048 * include/grub/emu/console.h: ...to here.
11049 * include/grub/util/getroot.h: Move from here...
11050 * include/grub/emu/getroot.h: ...to here.
11051 * include/grub/util/hostdisk.h: Move from here...
11052 * include/grub/emu/hostdisk.h: ...to here.
11053 * util/console.c: Move from here...
11054 * kern/emu/console.c: ...to here.
11055 * util/getroot.c: Move from here...
11056 * kern/emu/getroot.c: ...to here.
11057 * util/grub-emu.c: Move from here...
11058 * kern/emu/main.c: ...to here.
11059 * util/hostdisk.c: Move from here...
11060 * kern/emu/hostdisk.c: ...to here.
11061 * util/hostfs.c: Move from here...
11062 * kern/emu/hostfs.c: ...to here.
11063 * util/mm.c: Move from here...
11064 * kern/emu/mm.c: ...to here.
11065 * util/pci.c: Move from here...
11066 * bus/emu/pci.c: ...to here.
11067 * util/sdl.c: Move from here...
11068 * video/emu/sdl.c: ...to here.
11069 * util/time.c: Move from here...
11070 * kern/emu/time.c: ...to here.
11071 * util/usb.c: Move from here...
11072 * bus/usb/emu/usb.c: ...to here.
11074 * include/grub/emu/misc.h: New header for grub-emu functions.
11075 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
11077 * conf/any-emu.rmk: Rule updates for above renames.
11078 * conf/common.rmk: Likewise.
11079 * conf/i386-pc.rmk: Likewise.
11080 * conf/i386-qemu.rmk: Likewise.
11081 * conf/mips.rmk: Likewise.
11082 * conf/sparc64-ieee1275.rmk: Likewise.
11083 * conf/x86-efi.rmk: Likewise.
11085 * disk/lvm.h: #include updates for above renames.
11086 * util/grub-mkrelpath.c: Likewise.
11087 * util/grub-probe.c: Likewise.
11088 * util/i386/pc/grub-setup.c: Likewise.
11089 * util/sparc64/ieee1275/grub-setup.c: Likewise.
11090 * kern/emu/console.c: Likewise.
11091 * kern/emu/getroot.c: Likewise.
11092 * kern/emu/hostdisk.c: Likewise.
11093 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
11095 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
11096 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
11097 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
11098 * util/misc.c: Remove grub-emu functions.
11100 2010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
11103 Reported by: Thorsten Grützmacher.
11105 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
11107 (circprog_set_property): Register and unregister timeout hook.
11108 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
11109 (label_destroy): Free template. and unregister hook.
11110 (label_set_state): New function.
11111 (label_set_property): Handle templates and hooks.
11112 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
11114 (progress_bar_set_property): Register and unregister timeout hook.
11115 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
11116 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
11117 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
11118 (update_timeout_visit): Removed.
11119 (update_timeouts): New function.
11120 (redraw_timeouts): Likewise.
11121 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
11122 (grub_gfxmenu_clear_timeout): Likewise.
11123 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
11124 (grub_gfxmenu_timeout_notify): Likewise.
11125 (grub_gfxmenu_timeout_notifications): New external variable.
11126 (grub_gfxmenu_timeout_register): New function.
11127 (grub_gfxmenu_timeout_unregister): Likewise.
11129 2010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
11131 Transform (broken) vga terminal into (working) vga video driver.
11133 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
11134 video/i386/pc/vga.c.
11135 * include/grub/video.h (grub_video_driver_id):
11136 Add GRUB_VIDEO_DRIVER_VGA.
11137 * term/i386/pc/vga.c: Renamed to ...
11138 * video/i386/pc/vga.c: ...this
11139 (DEBUG_VGA): Removed.
11140 (CHAR_WIDTH): Likewise.
11141 (CHAR_HEIGHT): Likewise.
11142 (TEXT_WIDTH): Likewise.
11143 (TEXT_HEIGHT): Likewise.
11144 (DEFAULT_FG_COLOR): Likewise.
11145 (DEFAULT_BG_COLOR): Likewise.
11146 (colored_char): Likewise.
11149 (cursor_state): Likewise.
11150 (fg_color): Likewise.
11151 (bg_color): Likewise.
11152 (text_buf): Likewise.
11155 (framebuffer): New variable.
11156 (set_read_map): Disabled.
11157 (setup): New variable.
11158 (is_target): Likewise.
11159 (grub_vga_mod_init): Likewise.
11160 (grub_vga_mod_fini): Likewise.
11161 (check_vga_mem): Likewise.
11162 (write_char): Likewise.
11163 (write_cursor): Likewise.
11164 (scroll_up): Likewise.
11165 (grub_vga_putchar): Likewise.
11166 (grub_vga_getcharwidth): Likewise.
11167 (grub_vga_getwh): Likewise.
11168 (grub_vga_getxy): Likewise.
11169 (grub_vga_gotoxy): Likewise.
11170 (grub_vga_cls): Likewise.
11171 (grub_vga_setcolorstate): Likewise.
11172 (grub_vga_setcursor): Likewise.
11173 (grub_video_vga_init): New function.
11174 (grub_video_vga_setup): Likewise.
11175 (grub_video_vga_fini): Likewise.
11176 (update_target): Likewise.
11177 (grub_video_vga_blit_bitmap): Likewise.
11178 (grub_video_vga_blit_render_target): Likewise.
11179 (grub_video_vga_set_active_render_target): Likewise.
11180 (grub_video_vga_get_active_render_target): Likewise.
11181 (grub_video_vga_swap_buffers): Likewise.
11182 (grub_video_vga_set_palette): Likewise.
11183 (grub_video_vga_get_info_and_fini): Likewise.
11184 (grub_vga_term): Removed.
11185 (grub_video_vga_adapter): New variable.
11186 (GRUB_MOD_INIT): Register a video driver instead of terminal.
11187 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
11189 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
11191 * video/readers/jpeg.c: Indented.
11193 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
11195 Various jpeg cleanups.
11197 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
11198 (grub_jpeg_decode_quan_table): Use sizeof.
11199 (grub_jpeg_decode_du): Use ARRAY_SIZE.
11201 2010-05-05 Peter Hurley <No e-mail available> (tiny change)
11203 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
11204 tables. Ignore non-last ac bit.
11205 (grub_jpeg_decode_quan_table): Likewise.
11207 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
11209 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
11210 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
11211 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
11212 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
11213 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
11214 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
11216 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
11218 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
11221 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
11223 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
11225 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
11227 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
11230 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
11232 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
11235 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
11237 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
11240 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
11242 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
11244 2010-05-01 Christian Franke <franke@computer.org>
11246 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
11247 Remove broken Cygwin path conversion.
11248 * util/misc.c: [__CYGWIN__] Add include and define.
11249 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
11251 (make_system_path_relative_to_its_root): Simplify loop, replace early
11253 [__CYGWIN__] Add conversion to win32 path.
11254 Include "/" case in trailing slash removal.
11256 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
11258 * kern/main.c (grub_load_config): Fix copy-pasted comment.
11259 Reported by: Seth Goldberg
11261 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
11263 * commands/help.c (grub_cmd_help): Fix a typo.
11264 Reported by: Seth Goldberg
11266 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
11268 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
11270 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
11271 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
11272 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
11273 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
11274 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
11275 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
11276 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
11277 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
11278 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
11279 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
11280 * normal/context.c (GRUB_MOD_INIT): Likewise.
11281 * normal/main.c (GRUB_MOD_INIT): Likewise.
11282 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
11283 * term/serial.c (GRUB_MOD_INIT): Likewise.
11284 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
11286 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
11288 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
11291 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
11293 * commands/iorw.c: New file.
11294 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
11295 (iorw_mod_SOURCES): New variable.
11296 (iorw_mod_CFLAGS): Likewise.
11297 (iorw_mod_LDFLAGS): Likewise.
11299 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
11303 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
11304 * normal/main.c (hotkey_aliases): New variable.
11305 (grub_normal_add_menu_entry): Parse "--hotkey".
11306 * normal/menu_text.c (run_menu): Handle hotkeys.
11308 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
11310 * kern/i386/coreboot/init.c (grub_machine_init): Call
11311 grub_machine_mmap_init on qemu.
11313 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
11315 * boot/i386/qemu/boot.S: Add a missing .code16.
11317 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
11319 Use LBIO on coreboot.
11321 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
11322 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
11323 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
11325 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
11326 grub_machine_mmap_init on coreboot.
11327 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
11328 GRUB_LINUXBIOS_MEMBER_LINK.
11329 (grub_machine_mmap_iterate): Fix declaration.
11330 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
11332 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
11334 Split coreboot and multiboot ports.
11336 * conf/i386-multiboot.rmk: New file.
11337 * configure.ac: Add multiboot port.
11338 * include/grub/i386/multiboot/boot.h: New file.
11339 * include/grub/i386/multiboot/console.h: Likewise.
11340 * include/grub/i386/multiboot/init.h: Likewise.
11341 * include/grub/i386/multiboot/kernel.h: Likewise.
11342 * include/grub/i386/multiboot/loader.h: Likewise.
11343 * include/grub/i386/multiboot/memory.h: Likewise.
11344 * include/grub/i386/multiboot/serial.h: Likewise.
11345 * include/grub/i386/multiboot/time.h: Likewise.
11346 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
11347 * loader/multiboot.c: Likewise.
11348 * loader/multiboot_mbi2.c: Likewise.
11349 * util/grub-mkrescue.in: Generate multiboot rescue.
11351 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
11353 * kern/parser.c (grub_parser_execute): Cope with read-only config.
11355 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
11357 Merge handling of input and output terminals. Fix a hang.
11359 * commands/terminal.c (abstract_terminal): New struct.
11360 (handle_command): New function. Based on grub_cmd_terminal_input.
11361 (grub_cmd_terminal_input): Use handle_command.
11362 (grub_cmd_terminal_output): Use handle_command.
11364 2010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
11366 Fix comment handling.
11368 * tests/grub_script_comments.in: New testcase.
11369 * conf/tests.rmk: Rules for new testcase.
11370 * script/yylex.l: Updated flex rules.
11372 2010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
11374 * docs/grub.texi (play): Document that zero pitches produce rests.
11375 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
11378 2010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
11380 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
11383 2010-04-26 Christian Franke <franke@computer.org>
11385 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
11386 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
11387 (grub_get_prefix): Remove function.
11388 * util/grub-emu.c (main): Replace grub_get_prefix () call by
11389 make_system_path_relative_to_its_root ().
11390 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
11392 2010-04-24 Christian Franke <franke@computer.org>
11394 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
11395 (kernel_img_LDFLAGS): Remove -static-libgcc.
11397 2010-04-24 Christian Franke <franke@computer.org>
11399 * configure.ac: Do not CHECK_BSS_START_SYMBOL
11400 and CHECK_END_SYMBOL if grub-emu is built.
11401 Unset TARGET_OBJ2ELF if grub-emu is built
11402 without module support.
11404 2010-04-24 Jiro SEKIBA <jir@unicus.jp>
11408 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
11409 (grub_fstest_SOURCES): Likewise.
11410 (pkglib_MODULES): Add nilfs2.mod.
11411 (nilfs2_mod_SOURCES): New variable.
11412 (nilfs2_mod_CFLAGS): Likewise.
11413 (nilfs2_mod_LDFLAGS): Likewise.
11414 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
11415 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
11416 * fs/nilfs2.c: New file.
11418 2010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
11420 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
11423 2010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
11425 Add grub-mkconfig support for NetBSD.
11427 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
11428 * util/grub-mkconfig.in: export new NetBSD specific variables.
11429 * po/POTFILES-shell: added 10_netbsd.in.
11430 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
11432 2010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
11434 Fix emu build with grub-emu-pci and grub-emu-modules.
11436 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
11438 * include/grub/libpciaccess.h: New file.
11439 * conf/any-emu.rmk: Update kernel headers for emu build.
11441 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
11443 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
11445 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
11447 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
11449 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
11451 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
11452 Retrieve chosen/bootpath if bootpath isn't hardcoded.
11453 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
11454 util/ieee1275/ofpath.c.
11455 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
11456 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
11457 * include/grub/sparc64/ieee1275/boot.h
11458 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
11459 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
11460 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
11461 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
11463 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
11464 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
11465 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
11468 2010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
11470 * util/grub-mkconfig.in: Corrected two == equality tests.
11471 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
11472 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
11473 expect a number appended to it.
11474 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
11475 expects a number appended to it.
11477 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
11479 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
11481 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
11483 * util/hostdisk.c (make_device_name): Change to new partition naming.
11485 2010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
11487 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
11489 2010-04-17 Christian Franke <franke@computer.org>
11491 * Makefile.in: Add missing localedir setting.
11493 2010-04-14 Colin Watson <cjwatson@ubuntu.com>
11495 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
11496 mistake in r2156. Noticed by Anthony Fok.
11498 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
11500 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
11502 2010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
11504 Fix a spurious, uninitialized variable warning.
11506 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
11507 Initialize variable, shdr.
11508 (grub_freebsd_load_elfmodule): Likewise.
11509 (grub_freebsd_load_elf_meta): Likewise.
11511 2010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
11513 Fix for escaped dollar in double quoted strings.
11515 * script/yylex.l: Updated flex rules.
11516 * conf/tests.rmk: Rule for new testcase.
11517 * tests/grub_script_dollar.in: New testcase.
11519 2010-04-13 Carles Pina i Estany <carles@pina.cat>
11520 2010-04-13 Colin Watson <cjwatson@ubuntu.com>
11522 Enclose all translated strings in grub.cfg in single quotes, and
11523 escape them appropriately (Ubuntu bug #552921).
11525 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
11526 * util/grub.d/10_hurd.in: Use it.
11527 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
11528 * util/grub.d/10_linux.in (linux_entry): Likewise.
11530 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
11532 Fix cygwin compilation.
11534 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
11535 * include/grub/misc.h (__register_frame_info)
11536 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
11537 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
11538 * kern/misc.c (__register_frame_info)
11539 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
11540 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
11542 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
11544 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
11546 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
11548 Unify libgcc processing.
11550 * Makefile.in (kernel_img_LDFLAGS): New variable.
11551 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
11552 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
11554 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
11555 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
11556 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
11557 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
11558 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
11559 overwriting. Remove -lgcc and -static-libgcc
11560 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
11561 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
11562 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
11563 (kernel_img_LDFLAGS): Append instead of overwriting.
11564 Remove -lgcc and -static-libgcc
11565 * conf/sparc64-ieee1275.rmk: Likewise.
11566 * include/grub/powerpc/libgcc.h: Move to ...
11567 * include/grub/libgcc.h: .. this.
11568 * include/grub/libgcc.h: Don't export most of the function on x86.
11569 (__bswapsi2): New export.
11570 (__bswapdi2): Likewise.
11571 * include/grub/mips/libgcc.h: Removed.
11572 * include/grub/sparc64/libgcc.h: Likewise.
11574 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
11576 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
11577 disk_info_msg (conflicts with gettexting into languages with cases).
11579 2010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
11581 Add grub-probe support for NetBSD.
11583 * util/getroot.c (find_root_device): Convert block device to
11584 character device on NetBSD.
11585 * util/probe.c (probe): Require character device on NetBSD.
11586 * util/hostdisk.c: NetBSD specific headers.
11587 (configure_device_driver): new function to tune device driver
11588 parameters (currently only for NetBSD floppy driver).
11589 (grub_util_biosdisk_open): NetBSD specific code (get disk size
11590 via disklabel ioctl).
11591 (open_device): call configure_device_driver on NetBSD.
11592 (convert_system_partition_to_system_disk): NetBSD specific code.
11593 (device_is_wholedisk): Likewise.
11594 (grub_util_biosdisk_get_grub_dev): Likewise.
11595 (make_device_name): Fixed a typo in bsd_part_str.
11596 * configure.ac: check for opendisk() and getrawpartition() on
11597 NetBSD and set LIBUTIL.
11598 * Makefile.in: add LIBUTIL to LIBS.
11600 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
11604 * util/grub-script-check.c: Better help message.
11606 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
11610 * configure.ac: Flex version check.
11611 * conf/common.rmk: Add -Wno-error to sh.mod.
11612 * script/yylex.l: Remove all #pragma.
11614 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
11616 * include/grub/util/misc.h (canonicalise_file_name): Add missing
11618 Reported by: Seth Goldberg.
11620 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
11622 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
11623 Rename "module" to "module2".
11624 Reported by: Seth Goldberg.
11626 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
11628 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
11630 Reported by: Seth Goldberg.
11632 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
11634 * lib/posix_wrap/locale.h: Add missing file.
11635 Reported by: Seth Goldberg.
11637 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
11639 grub-emu module load support.
11641 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
11642 NO_DYNAMIC_MODULES switched to this.
11643 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
11644 (CFLAGS): Likewise.
11645 * conf/any-emu.rmk: Generate symlist.
11646 (kernel_img_HEADERS): Add util/datetime.h.
11647 (kernel_img_HEADERS) [sdl]: Add sdl.h.
11648 (kernel_img_HEADERS) [libusb]: Add libusb.h.
11649 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
11650 kern/$(target_cpu)/cache.S.
11651 * configure.ac (grub-emu-modules): New option.
11652 * genmk.rb: Handle multiple source lists.
11653 * include/grub/sdl.h: New file.
11654 * include/grub/libusb.h: Likewise.
11655 * util/grub-emu.c (main): Hanle (host) root.
11656 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
11657 GRUB_ERR_UNKNOWN_DEVICE.
11658 * util/misc.c: Move mm functions to ...
11659 * util/mm.c: ... here. All users updated.
11661 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
11663 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
11664 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
11666 (maintainer-clean): Remove libgcrypt-grub.
11668 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
11670 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
11672 2010-04-09 EFI Coder <eficoder@hotmail.com>
11674 * normal/menu_text.c (print_message): Clean up the message and show
11675 the Fn information when on EFI
11676 * term/efi/console.c (grub_console_checkkey): Add F4 support.
11678 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
11680 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
11682 * normal/crypto.c (read_crypto_list): Likewise.
11683 * normal/dyncmd.c (read_command_list): Likewise.
11684 * normal/term.c (read_terminal_list): Likewise.
11685 * normal/main.c (read_lists): Use explicit prefix.
11686 (read_lists_hook): Use read_lists.
11687 (grub_normal_execute): Likewise.
11689 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
11691 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
11692 Reported by: Thomas Schmitt.
11693 Add -no-emul-boot to grub-mkisofs parameters.
11695 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
11697 * font/font.c: Indented.
11699 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
11701 Elif support to GRUB script (by Deepak Vankadaru).
11703 * tests/grub_script_if.in: New testcase.
11704 * conf/tests.rmk: Rule for new testcase.
11705 * script/parser.y: Grammar rules for elif.
11707 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
11709 While and until loops support to GRUB script.
11711 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
11712 (grub_script_create_cmdwhile): New function prototype.
11713 (grub_script_execute_cmdwhile): New function prototype.
11714 * script/execute.c (grub_script_execute_cmdwhile): New function.
11715 * script/parser.y (command): New commands.
11716 (whilecmd): New grammar rule.
11717 (untilcmd): New grammar rule.
11718 * script/script.c (grub_script_create_cmdwhile): New function.
11719 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
11722 * tests/grub_script_while1.in: New testcase.
11723 * conf/tests.rmk: Rule for new testcase.
11725 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
11727 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
11730 2010-04-09 Mario Vazquez <mariovazq@gmail.com>
11732 GRUB_BACKGROUND support.
11734 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
11735 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
11737 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
11739 Load fonts and modules for gfxmenu in grub-mkconfig.
11740 Idea by: Mario Vazquez
11742 * util/grub.d/00_header.in: Load pf2 and image modules.
11744 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
11746 grub-mkconfig multiple terminal support.
11748 * util/grub-mkconfig.in: Handle multiple terminals correctly.
11749 * util/grub.d/00_header.in: Likewise.
11751 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
11753 * Makefile.in: Specify files explicitly instead of using $< and $@ since
11754 we use cd $(srcdir).
11756 2010-04-08 Colin Watson <cjwatson@ubuntu.com>
11758 * util/grub.d/10_linux.in: Only use the first word of
11759 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
11760 spaces in GRUB_DISTRIBUTOR.
11761 * util/grub.d/10_kfreebsd.in: Likewise.
11762 * util/grub.d/10_hurd.in: Likewise.
11764 2010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
11766 Fix unit testing framework for Qemu 0.12.
11768 * tests/util/grub-shell.in: Remove -serial stdio option.
11770 2010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
11772 POSIX header file wrappers.
11774 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
11776 * lib/posix_wrap/ctype.h: Likewise.
11777 * lib/posix_wrap/errno.h: Likewise.
11778 * lib/posix_wrap/langinfo.h: Likewise.
11779 * lib/posix_wrap/limits.h: Likewise.
11780 * lib/posix_wrap/localcharset.h: Likewise.
11781 * lib/posix_wrap/stdint.h: Likewise.
11782 * lib/posix_wrap/stdio.h: Likewise.
11783 * lib/posix_wrap/stdlib.h: Likewise.
11784 * lib/posix_wrap/string.h: Likewise.
11785 * lib/posix_wrap/sys/types.h: Likewise.
11786 * lib/posix_wrap/unistd.h: Likewise.
11787 * lib/posix_wrap/wchar.h: Likewise.
11788 * lib/posix_wrap/wctype.h: Likewise.
11789 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
11790 (grub_script.yy.h): Likewise.
11791 * script/yylex.l: Remove POSIX emulation #defines.
11792 * Makefile.in (POSIX_CFLAGS): New variable.
11793 (GNULIB_UTIL_CFLAGS): Likewise.
11797 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
11798 (regexp_mod_SOURCES): New variable.
11799 (regexp_mod_CFLAGS): Likewise.
11800 (regexp_mod_LDFLAGS): Likewise.
11801 * commands/regexp.c: New file.
11802 * gnulib/regcomp.c: New file. Imported from gnulib.
11803 * gnulib/regex.c: Likewise.
11804 * gnulib/regex_internal.c: Likewise.
11805 * gnulib/regex_internal.h: Likewise.
11806 * gnulib/regexec.c: Likewise.
11807 * gnulib/regex.h: Likewise.
11809 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
11811 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
11812 unsupported video mode types.
11814 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
11816 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
11818 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
11820 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
11821 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
11823 2010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
11825 Remove unused grub_vga_get_font.
11827 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
11828 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
11830 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
11832 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
11833 * include/grub/misc.h: Likewise.
11835 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
11837 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
11838 for which failure is fatal.
11840 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
11842 * util/grub-install.in: Use mkdir -p to create grub directory.
11843 * util/i386/efi/grub-install.in: Likewise.
11844 * util/ieee1275/grub-install.in: Likewise.
11846 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
11848 * Makefile.in (LEX): new variable.
11850 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
11852 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
11853 `=' and added double quotes on operands of this equality test.
11855 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
11857 * Makefile.in (uninstall): Remove a leftover debug echo.
11858 Reported by: Grégoire Sutre
11860 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
11862 MIPS multiboot2 support.
11864 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
11865 (multiboot2_mod_SOURCES): New variable.
11866 (multiboot2_mod_CFLAGS): Likewise.
11867 (multiboot2_mod_LDFLAGS): Likewise.
11868 (multiboot2_mod_ASFLAGS): Likewise.
11869 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
11871 (MULTIBOOT_ENTRY_REGISTER): Likewise.
11872 (MULTIBOOT_MBI_REGISTER): Likewise.
11873 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
11874 (MULTIBOOT_ELF32_MACHINE): Likewise.
11875 (MULTIBOOT_ELF64_MACHINE): Likewise.
11876 * include/grub/mips/multiboot.h: New file.
11877 * include/grub/video.h (grub_video_driver_id): New type
11878 GRUB_VIDEO_DRIVER_SM712.
11879 (grub_video_get_info_and_fini): Export.
11880 (grub_video_get_palette): Likewise.
11881 (grub_video_get_driver_id): Likewise.
11882 * include/multiboot2.h: Resynced with spec.
11883 * loader/i386/multiboot.c: Moved from here ...
11884 * loader/multiboot.c: ... here. All users updated.
11885 (grub_multiboot_boot): Use platform-specific macros.
11886 * loader/i386/multiboot_elfxx.c: Moved from here ...
11887 * loader/multiboot_elfxx.c: ... here. All users updated.
11888 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
11889 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
11890 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
11892 2010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
11894 Import gnulib argp module.
11896 * gnulib/argp-ba.c: New file.
11897 * gnulib/argp-eexst.c: Likewise.
11898 * gnulib/argp-fmtstream.c: Likewise.
11899 * gnulib/argp-fmtstream.h: Likewise.
11900 * gnulib/argp-fs-xinl.c: Likewise.
11901 * gnulib/argp-help.c: Likewise.
11902 * gnulib/argp-namefrob.h: Likewise.
11903 * gnulib/argp-parse.c: Likewise.
11904 * gnulib/argp-pin.c: Likewise.
11905 * gnulib/argp-pv.c: Likewise.
11906 * gnulib/argp-pvh.c: Likewise.
11907 * gnulib/argp-version-etc.c: Likewise.
11908 * gnulib/argp-version-etc.h: Likewise.
11909 * gnulib/argp-xinl.c: Likewise.
11910 * gnulib/argp.h: Likewise.
11912 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
11914 * kern/device.c (grub_device_iterate): Clear errors after failed
11917 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
11919 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
11920 returned by firmware.
11922 2010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
11924 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
11925 compilation on coreboot and qemu
11927 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
11929 * include/multiboot2.h: Resync with spec.
11931 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
11933 Multiboot2 tag support
11935 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
11936 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
11937 Remove loader/multiboot_loader.c.
11938 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
11939 (grub_multiboot2_real_boot): Likewise.
11940 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
11941 (grub_get_multiboot_mmap_count): New proto.
11942 (grub_fill_multiboot_mmap): Likewise.
11943 (grub_multiboot_set_video_mode): Likewise.
11944 (grub_multiboot_set_console): Likewise.
11945 (grub_multiboot_load): Likewise.
11946 (grub_multiboot_load_elf): Likewise.
11947 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
11948 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
11949 * include/multiboot.h: Resynced with specification.
11950 * include/multiboot2.h: Resynced with specification.
11951 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
11952 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
11953 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
11954 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
11956 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
11957 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
11958 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
11960 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
11962 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
11963 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
11965 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
11966 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
11967 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
11969 * loader/i386/multiboot_mbi2.c: New file.
11971 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
11973 Resync with gnulib.
11975 * Makefile.in (GNULIB_CFLAGS): New variable.
11976 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
11977 (grub_script_check_CFLAGS): New variable.
11978 * gnulib/alloca.h: Resync with gnulib.
11979 * gnulib/error.c: Likewise.
11980 * gnulib/error.h: Likewise.
11981 * gnulib/fnmatch.c: Likewise.
11982 * gnulib/fnmatch_loop.c: Likewise.
11983 * gnulib/getdelim.c: Likewise.
11984 * gnulib/getline.c: Likewise.
11985 * gnulib/getopt.c: Likewise.
11986 * gnulib/getopt1.c: Likewise.
11987 * gnulib/getopt_int.h: Likewise.
11988 * gnulib/gettext.h: Likewise.
11989 * gnulib/progname.c: Likewise.
11990 * gnulib/progname.h: Likewise.
11992 2010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
11994 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
11995 which is the case with --disabled-nls.
11997 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
11998 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
11999 * util/misc.c: Likewise.
12000 * util/mkisofs/mkisofs.c: Likewise.
12001 * util/mkisofs/mkisofs.h: Likewise.
12003 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
12005 Simplify Apple CC support.
12007 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
12008 Add 0 byte at the end not to have a symbol with empty target.
12009 * mmap/i386/pc/mmap_helper.S: Likewise.
12010 * genmk.rb: Ignore errors 2030 and 2050.
12011 * kern/i386/pc/startup.S: Use LOCAL when possible.
12013 2010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
12015 Testcase and the fix for final semicolon on cmdline.
12017 * tests/grub_script_final_semicolon.in: New testcase.
12018 * conf/tests.rmk: Rules for the new testcase.
12019 * script/parser.y: Grammar fix.
12021 2010-03-26 BVK Chaitanya <bvk@localhost>
12023 Blank lines testcase for GRUB script.
12025 * tests/grub_script_blanklines.in: New testcase.
12026 * conf/tests.rmk: Rules for the new testcase.
12028 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
12030 Don't use __FILE__.
12032 * genmk.rb: Add -DGRUB_FILE to all C targets.
12033 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
12034 * include/grub/list.h: Likewise.
12035 * include/grub/misc.h: Likewise.
12036 * include/grub/mm.h: Likewise.
12037 * include/grub/test.h: Likewise.
12038 * kern/mm.c: Likewise.
12039 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
12041 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
12043 Sunpc partitions support.
12045 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
12046 (grub_fstest_SOURCES): Likewise.
12047 (pkglib_MODULES): Add part_sunpc.mod.
12048 (part_sunpc_mod_SOURCES): New variable.
12049 (part_sunpc_mod_CFLAGS): Likewise.
12050 (part_sunpc_mod_LDFLAGS): Likewise.
12051 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
12052 * partmap/sunpc.c: New file.
12054 2010-03-26 BVK Chaitanya <bvk@localhost>
12056 For loop support to GRUB script.
12058 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
12059 (grub_script_create_cmdfor): New function prototype.
12060 (grub_script_execute_cmdfor): New function prototype.
12061 * script/execute.c (grub_script_execute_cmdfor): New function.
12062 * script/parser.y (command): New for command.
12063 (forcmd): New grammar rule.
12064 * script/script.c (grub_script_create_cmdfor): New function.
12065 * util/grub-script-check.c (grub_script_execute_cmdfor): New
12067 * tests/grub_script_for1.in: New testcase.
12068 * conf/tests.rmk: Rules for new testcase.
12070 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
12074 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
12075 'partition' is NULL, grub_partition_get_start already does that.
12076 * commands/loadenv.c (check_blocklists): Likewise.
12077 (write_blocklists): Likewise.
12078 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
12079 (grub_fstest_SOURCES): Likewise.
12080 (pkglib_MODULES): Add part_bsd.mod.
12081 (part_bsd_mod_SOURCES): New variable.
12082 (part_bsd_mod_CFLAGS): Likewise.
12083 (part_bsd_mod_LDFLAGS): Likewise.
12084 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
12085 (grub_emu_SOURCES): Likewise.
12086 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12087 * include/grub/bsdlabel.h: New file.
12088 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
12090 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
12091 (grub_partition_map_list): New variable.
12092 (grub_partition_map_register): Inline.
12093 (grub_partition_map_unregister): Likewise.
12094 (FOR_PARTITION_MAPS): New macro.
12095 (grub_partition_map_iterate): Removed.
12096 (grub_partition_get_start): Handle nested partitions.
12097 * include/grub/msdos_partition.h: Remove bsd-related entries.
12098 (grub_pc_partition): Remove.
12099 * kern/disk.c (grub_disk_close): Free partition data.
12100 (grub_disk_adjust_range): Handle nested partitions.
12101 * kern/partition.c (grub_partition_map_probe): New function.
12102 (grub_partition_probe): Parse name to number, handle subpartitions.
12103 (get_partmap): New function.
12104 (grub_partition_iterate): Handle subpartitions.
12105 (grub_partition_get_name): Likewise.
12106 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
12107 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
12108 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
12109 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
12111 (acorn_partition_map_probe): Remove.
12112 (acorn_partition_map_get_name): Likewise.
12113 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
12115 Set 'index' to 0 since there can be only one partition entry per sector.
12116 (amiga_partition_map_probe): Remove.
12117 (amiga_partition_map_get_name): Likewise.
12118 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
12120 Set 'offset' and 'index' to real positions of partitions.
12121 (apple_partition_map_probe): Remove.
12122 (apple_partition_map_get_name): Likewise.
12123 * partmap/bsdlabel.c: New file.
12124 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
12126 Allocate 'data' so it can be correctly freed.
12127 Set 'index' to offset inside sector.
12128 (gpt_partition_map_probe): Remove.
12129 (gpt_partition_map_get_name): Likewise.
12130 * partmap/msdos.c (grub_partition_parse): Remove.
12131 (pc_partition_map_iterate): Don't force raw access.
12133 Make 'ext_offset' a local variable.
12134 (pc_partition_map_probe): Remove.
12135 (pc_partition_map_get_name): Remove.
12136 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
12138 (sun_partition_map_probe): Remove.
12139 (sun_partition_map_get_name): Likewise.
12140 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
12141 (grub_pcpart_type): Likewise.
12142 * util/hostdisk.c (open_device): Handle new numbering scheme.
12143 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
12144 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
12145 * util/grub-probe.c (probe_partmap): Handle nested paritions.
12146 * util/grub-install.in: Insert all subpartition modules.
12147 * util/ieee1275/grub-install.in: Likewise.
12149 2010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
12151 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
12154 2010-03-24 Colin Watson <cjwatson@ubuntu.com>
12156 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
12158 2010-03-21 Colin Watson <cjwatson@ubuntu.com>
12160 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
12161 match where 'make install' puts them.
12162 * util/i386/efi/grub-install.in: Likewise.
12164 2010-03-19 Colin Watson <cjwatson@ubuntu.com>
12166 * .bzrignore: Add gentrigtables, grub-script-check,
12167 grub_script_check_init.c, grub_script_check_init.h, and
12170 2010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
12172 * kern/parser.c: Indented.
12174 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
12176 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
12178 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
12180 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
12181 alpha_mask_size == 0 case.
12183 2010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
12185 GRUB shell lexer and parser improvements.
12187 * conf/any-emu.rmk: Build rule updates.
12188 * conf/common.rmk: Likewise.
12189 * conf/i386-coreboot.rmk: Likewise.
12190 * conf/i386-efi.rmk: Likewise.
12191 * conf/i386-ieee1275.rmk: Likewise.
12192 * conf/i386-pc.rmk: Likewise.
12193 * conf/powerpc-ieee1275.rmk: Likewise.
12194 * conf/x86_64-efi.rmk: Likewise.
12196 * configure.ac: Configure check for flex.
12198 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
12200 (grub_lexer_param): Struct member updates.
12201 (grub_parser_param): Likewise.
12202 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
12203 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
12204 (grub_script_lexer_init): Prototype update.
12205 (grub_script_lexer_record_start): Likewise.
12206 (grub_script_lexer_record_stop): Likewise.
12207 (grub_script_lexer_yywrap): New function prototype.
12208 (grub_script_lexer_fini): Likewise.
12209 (grub_script_execute_argument_to_string): Removed by...
12210 (grub_script_execute_argument_to_argv): ...better version.
12212 * script/execute.c (ROUND_UPTO): New macro.
12213 (grub_script_execute_cmdline): Out of memory fixes.
12214 (grub_script_execute_menuentry): Likewise.
12215 (grub_script_execute_argument_to_string): Removed. Update all
12217 (grub_script_execute_argument_to_argv): ...better version.
12218 * script/function.c (grub_script_function_create): Use
12219 grub_script_execute_argument_to_argv instead of
12220 grub_script_execute_argument_to_string.
12222 * script/lexer.c (check_varstate): Removed.
12223 (check_textstate): Removed.
12224 (grub_script_lexer_record_start): Likewise.
12225 (grub_script_lexer_record_stop): Likewise.
12226 (recordchar): Replaced with...
12227 (grub_script_lexer_record): ...new function.
12228 (nextchar): Removed.
12229 (grub_script_lexer_init): Rewritten.
12230 (grub_script_yylex): Rewritten.
12231 (append_newline): New function.
12232 (grub_script_lexer_yywrap): New function.
12233 (grub_script_lexer_fini): New function.
12234 (grub_script_yyerror): Sets error flag.
12236 * script/yylex.l: New file.
12237 (grub_lexer_yyfree): Wrapper for flex yyffre.
12238 (grub_lexer_yyalloc): Likewise.
12239 (grub_lexer_yyrealloc): Likewise.
12240 * script/parser.y: Refactored.
12242 * script/script.c (grub_script_arg_add): Out of memory fixes.
12243 (grub_script_add_arglist): Likewise.
12244 (grub_script_create_cmdline): Likewise.
12245 (grub_script_create_cmdmenu): Likewise.
12246 (grub_script_add_cmd): Likewise.
12247 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
12248 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
12251 * tests/grub_script_echo1.in: New testcase.
12252 * tests/grub_script_vars1.in: New testcase.
12253 * tests/grub_script_echo_keywords.in: New testcase.
12255 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
12257 Remove some redundancy in build system.
12259 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
12260 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
12261 (TARGET_LDFLAGS): Add -nostdlib.
12262 (TARGET_IMG_LDFLAGS): Likewise.
12263 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
12264 anything since mmap isn't available.
12265 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
12267 (pkglib_MODULES): Remove reboot.mod.
12268 (reboot_mod_SOURCES): Removed.
12269 (reboot_mod_CFLAGS): Likewise.
12270 (reboot_mod_LDFLAGS): Likewise.
12271 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
12272 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
12273 (DEFSYMFILES): Add kernel_syms.lst.
12274 (kernel_img_HEADERS): Add common headers.
12275 (symlist.c): New target.
12276 (kernel_syms.lst): Likewise.
12277 (pkglib_MODULES): Add memdisk.mod.
12278 (memdisk_mod_SOURCES): New variable.
12279 (memdisk_mod_CFLAGS): Likewise.
12280 (memdisk_mod_LDFLAGS): Likewise.
12281 (pkglib_MODULES): Add reboot.mod.
12282 (reboot_mod_SOURCES): New variable.
12283 (reboot_mod_CFLAGS): Likewise.
12284 (reboot_mod_LDFLAGS): Likewise.
12285 (pkglib_MODULES): Add date.mod.
12286 (date_mod_SOURCES): New variable.
12287 (date_mod_CFLAGS): Likewise.
12288 (date_mod_LDFLAGS): Likewise.
12289 (pkglib_MODULES): Add datehook.mod.
12290 (datehook_mod_SOURCES): New variable.
12291 (datehook_mod_CFLAGS): Likewise.
12292 (datehook_mod_LDFLAGS): Likewise.
12293 (pkglib_MODULES): Add lsmmap.mod.
12294 (lsmmap_mod_SOURCES): New variable.
12295 (lsmmap_mod_CFLAGS): Likewise.
12296 (lsmmap_mod_LDFLAGS): Likewise.
12297 (pkglib_MODULES): Add boot.mod.
12298 (boot_mod_SOURCES): New variable.
12299 (boot_mod_CFLAGS): Likewise.
12300 (boot_mod_LDFLAGS): Likewise.
12301 * conf/i386-coreboot.rmk: Removed redundant parts.
12302 * conf/i386-ieee1275.rmk: Likewise.
12303 * conf/i386-pc.rmk: Likewise.
12304 * conf/mips-yeeloong.rmk: Likewise.
12305 * conf/mips.rmk: Likewise.
12306 * conf/powerpc-ieee1275.rmk: Likewise.
12307 * conf/sparc64-ieee1275.rmk: Likewise.
12308 * conf/x86_64-efi.rmk: Likewise.
12309 * conf/i386-coreboot.rmk: Moved qemu parts ..
12310 * conf/i386-qemu.rmk: ... here
12311 * conf/i386-efi.rmk: Moved common parts to...
12312 * conf/x86-efi.rmk: ... here.
12313 * conf/i386.rmk: Added modules common to all x86 variants.
12314 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
12315 * disk/memdisk.c: Remove grub/machine/kernel.h.
12316 * gensymlist.sh.in: Include symbol.h.
12317 * hook/datehook.c: Correct module name.
12318 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
12319 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
12320 * include/grub/i386/efi/serial.h: New file.
12321 * include/grub/x86_64/efi/serial.h: Likewise.
12322 * util/time.c: Likewise.
12323 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
12325 2010-03-14 Colin King <colin.king@ubuntu.com>
12326 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
12328 Shrink the pre-partition-table part of boot.img by eight bytes.
12330 * boot/i386/pc/boot.S (ERR): New macro.
12331 (chs_mode): Use ERR.
12332 (geometry_error): Likewise.
12333 (hd_probe_error): Remove. This is only used once, so we wrwite
12335 (read_error): Instead of printing read_error_string, just set up
12336 %si and fall through to ...
12337 (error_message): ... this new function, also used by ERR.
12339 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
12341 Speed up consecutive hostdisk operations on the same device.
12343 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
12344 (grub_util_biosdisk_open): Initialise disk->data.
12345 (struct linux_partition_cache): New structure.
12346 (linux_find_partition): Cache partition start positions; these are
12347 expensive to compute on every read and write.
12348 (open_device): Cache open file descriptor in disk->data, so that we
12349 don't have to reopen it and flush the buffer cache for consecutive
12350 operations on the same device.
12351 (grub_util_biosdisk_close): New function.
12352 (grub_util_biosdisk_dev): Set `close' member.
12354 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
12355 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
12356 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
12357 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
12358 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
12360 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
12362 Compile parts of grub-emu as modules.
12364 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
12365 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
12366 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
12367 (all-local): Add $(GRUB_EMU).
12368 (install-local): Install $(GRUB_EMU).
12369 (uninstall): Uninstall $(GRUB_EMU).
12370 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
12371 * kern/dl.c: Likewise.
12372 * commands/sleep.c: Not include machine/time.h.
12373 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
12374 (COMMON_CFLAGS): Likewise.
12375 (sbin_UTILITIES): Remove grub-emu.
12376 (grub_emu_SOURCES): Removed.
12377 (kernel_img_RELOCATABLE): New variable.
12378 (pkglib_PROGRAMS): Add kernel.img.
12379 (kernel_img_SOURCES): New variable
12380 (kernel_img_CFLAGS): Likewise.
12381 (kernel_img_LDFLAGS): Likewise.
12382 (TARGET_NO_STRIP): Likewise.
12383 (TARGET_NO_DYNAMIC_MODULES): Likewise.
12384 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
12385 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
12386 (grub-emu): New target.
12387 (GRUB_EMU): New variable.
12388 * configure.ac: Whitelist -emu as possible x86_64 architecture.
12389 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
12390 * loader/xnu.c: Likewise.
12391 * include/grub/pci.h: Likewise.
12392 * genemuinit.sh: New file.
12393 * genemuinitheader.sh: Likewise.
12394 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
12395 Support TARGET_NO_DYNAMIC_MODULES.
12396 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
12397 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
12398 * disk/loopback.c: Likewise.
12399 * font/font_cmd.c: Likewise.
12400 * partmap/acorn.c: Likewise.
12401 * partmap/amiga.c: Likewise.
12402 * partmap/apple.c: Likewise.
12403 * partmap/gpt.c: Likewise.
12404 * partmap/msdos.c: Likewise.
12405 * partmap/sun.c: Likewise.
12406 * parttool/msdospart.c: Likewise.
12407 * term/gfxterm.c: Likewise.
12408 * video/bitmap.c: Likewise.
12409 * video/readers/jpeg.c: Likewise.
12410 * video/readers/png.c: Likewise.
12411 * video/readers/tga.c: Likewise.
12412 * video/video.c: Likewise.
12413 * util/grub-emu.c (read_command_list): Removed.
12414 (main): Don't call util_init_nls.
12415 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
12416 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
12418 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
12420 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
12421 date.mod, datehook.mod.
12422 (datetime_mod_SOURCES): New variable.
12423 (datetime_mod_CFLAGS): Likewise.
12424 (datetime_mod_LDFLAGS): Likewise.
12425 (date_mod_SOURCES): Likewise.
12426 (date_mod_CFLAGS): Likewise.
12427 (date_mod_LDFLAGS): Likewise.
12428 (datehook_mod_SOURCES): Likewise.
12429 (datehook_mod_CFLAGS): Likewise.
12430 (datehook_mod_LDFLAGS): Likewise.
12431 * conf/sparc64-ieee1275.rmk: Likewise.
12432 * lib/ieee1275/datetime.c: New file.
12434 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
12436 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
12437 (ieee1275_fb_mod_SOURCES): New variable.
12438 (ieee1275_fb_mod_CFLAGS): Likewise.
12439 (ieee1275_fb_mod_LDFLAGS): Likewise.
12440 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
12442 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
12443 (HEAP_MAX_ADDR): Likewise.
12444 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
12446 Correct stop condition.
12447 (grub_ieee1275_devices_iterate): New function.
12448 * video/ieee1275.c: New file.
12450 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
12452 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
12454 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
12456 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
12457 SCRATCH_PAD_DISKBOOT as scratch.
12458 (bootit): Pass Openfirmware pointer in %o4.
12459 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
12461 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
12462 with util/grub-mkrawimage.c.
12463 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
12464 * include/grub/aout.h (AOUT_MID_SUN): New definition.
12465 (grub_aout_get_type) [GRUB_UTIL]: Removed.
12466 (grub_aout_load) [GRUB_UTIL]: Likewise.
12467 * include/grub/kernel.h (grub_modules_get_end): New proto.
12468 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
12469 (SCRATCH_PAD_BOOT): New definition.
12470 (SCRATCH_PAD_DISKBOOT): Likewise.
12471 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
12472 * include/grub/sparc64/ieee1275/ieee1275.h
12473 (grub_ieee1275_original_stack): New variable
12474 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
12476 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
12477 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
12478 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
12479 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
12480 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
12481 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
12482 (grub_platform_image_format_t): New type.
12483 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
12484 * kern/main.c (grub_modules_get_end)
12485 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
12486 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
12487 (codestart): Switch stacks.
12488 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
12490 (grub_heap_init): Use grub_modules_get_end.
12491 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
12493 * util/grub-mkrawimage.c (generate_image): Support sparc64.
12495 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
12497 2010-03-14 Thorsten Glaser <tg@mirbsd.org>
12499 * util/grub-mkrescue.in: Base ISO UUID on UTC.
12501 2010-03-08 Matt Kraai <kraai@ftbfs.org>
12503 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
12506 2010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
12508 * genmoddep.awk: Output all missing symbols and not only first.
12510 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
12512 * NEWS: Put the date of 1.98 release.
12514 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
12516 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
12519 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
12521 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
12522 completition in the middle of string.
12524 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
12526 * util/grub-mkrescue.in: Use mktemp with explicit template.
12528 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
12530 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
12532 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
12534 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
12537 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
12539 Fix FreeBSD compilation.
12541 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
12542 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
12544 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
12546 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
12548 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
12550 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
12552 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
12554 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
12556 2010-03-04 Robert Millan <rmh.grub@aybabtu.com>
12558 Support relative image path in theme file.
12560 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
12561 (image_set_property): Handle theme_dir and relative path.
12563 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
12565 * configure.ac: Alias amd64 to x86_64.
12567 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
12569 * NEWS: mention multiboot on EFI.
12571 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
12573 * kern/main.c (grub_load_modules): Handle errors from init functions of
12576 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
12578 * normal/autofs.c (autoload_fs_module): Handle errors.
12580 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
12582 Disable linux.mod on qemu-mips since it's not functional and leads
12583 to compilation failure.
12585 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
12586 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
12587 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
12588 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
12589 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
12590 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
12591 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
12592 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
12593 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
12594 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
12595 Reported by: BVK Chaitanya
12597 2010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
12599 * INSTALL: Add gettext as a dependency and add qemu to a new section
12600 "Prerequisites for make-check".
12602 2010-03-04 Christian Franke <franke@computer.org>
12604 * util/grub-pe2elf.c: Add missing include "progname.h".
12606 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
12608 * normal/crypto.c (read_crypto_list): Fix a typo.
12609 Reported by: Seth Goldberg.
12611 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
12613 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
12614 Reported by: Seth Goldberg.
12616 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
12618 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
12621 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
12623 * genmk.rb: Remove terminal*.lst in make clean.
12624 Reported by: Seth Goldberg.
12626 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
12628 * util/i386/efi/grub-install.in: Copy gettext files.
12630 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
12632 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
12634 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
12636 Wait for user entry basing on presence of output rather than on errors.
12638 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
12639 (grub_install_newline_hook): Likewise.
12640 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
12641 * normal/menu.c (show_menu): Check line_counter to determine presence
12643 * normal/term.c (grub_normal_line_counter): New variable.
12644 (grub_normal_get_line_counter): New function.
12645 (grub_install_newline_hook): Likewise.
12647 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
12649 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
12651 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
12653 * configure.ac: Update version to 1.98.
12655 2010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12657 * util/grub.d/10_linux.in (linux_entry): Don't default to
12658 gfxpayload=keep if Linux doesn't support video handover.
12660 2010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
12662 Don't compile video modules on yeeloong since video subsystem is part
12665 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
12666 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
12667 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
12668 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
12669 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
12670 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
12671 * include/grub/bitmap_scale.h: Likewise.
12672 * include/grub/bufio.h: Likewise.
12673 * include/grub/font.h: Likewise.
12674 * include/grub/gfxterm.h: Likewise.
12675 * include/grub/video.h: Likewise.
12676 * include/grub/vbe.h: Don't include video_fb.h.
12677 * video/i386/pc/vbe.c: Include video_fb.h.
12678 * commands/i386/pc/vbetest.c: Include video.h.
12680 2010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
12682 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
12683 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
12684 default entry if GRUB_SAVEDEFAULT=true. This allows using
12685 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
12686 saving a new default on every boot.
12688 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
12690 * normal/crypto.c (read_crypto_list): Fix a memory leak.
12691 * normal/term.c (read_terminal_list): Likewise.
12692 * normal/main.c (grub_normal_init_page): Likewise.
12693 (grub_normal_read_line_real): Likewise.
12695 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
12697 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
12699 Reported by: Seth Goldberg.
12701 2010-02-24 Joey Korkames <joey+lists@kidfixit.com>
12703 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
12704 duplicate declaration of `start'.
12706 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
12708 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
12710 Reported by: Georgy Buranov
12712 2010-02-20 Carles Pina i Estany <carles@pina.cat>
12714 * util/grub-mkrawimage.c (usage): Change string formatting to
12717 2010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
12719 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
12722 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
12724 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
12725 Reported by: Michael Suchanek.
12727 2010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
12729 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
12730 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
12732 2010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
12734 Remove any reference to non-free fonts.
12736 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
12737 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
12738 uses non-free components.
12739 * font/font.c (grub_font_get_name): Remove example name.
12740 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
12741 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
12742 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
12743 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
12745 2010-02-16 Georgy Buranov <gburanov@gmail.com>
12747 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
12749 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
12751 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
12753 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
12755 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
12757 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
12759 * gensymlist.sh.in: Use TARGET_CC instead of CC.
12761 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
12763 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
12764 * docs/grub.texi (Command-line and menu entry commands): Document play
12767 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
12769 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
12770 parse arguments as inline tempo and notes. Move code for playing notes
12772 (play): ... new function.
12774 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
12776 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
12777 grub_uint16_t instead of short.
12778 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
12779 disk from little endian to cpu endianness.
12781 2010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
12783 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
12784 GRUB_TICKS_PER_SECOND instead of 120.
12786 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
12788 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
12789 escape sequence after \e.
12791 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
12793 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
12794 non-ASCII characters.
12796 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
12798 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
12799 set root in single quotes to prevent \, from being unescaped.
12801 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
12803 Prevent unknown commands from stopping menuentry execution.
12805 * script/execute.c (grub_script_execute_cmdline): Print error after
12808 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
12810 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
12811 Reported by: Pavel Pisa.
12813 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
12815 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
12817 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
12819 Merge grub_ieee1275_map_physical into grub_map and rename to
12822 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
12823 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
12825 * kern/ieee1275/openfw.c (grub_map): Rename to ...
12826 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
12828 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
12830 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
12832 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
12833 opening and not after.
12835 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
12837 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
12840 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
12842 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
12843 (alloc_phys): Use ALIGN_UP instead of align_addr.
12845 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
12847 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
12849 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
12851 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
12853 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
12855 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
12858 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
12860 Fix over-4GiB seek on sparc64.
12862 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
12863 Replace pos_i and pos_lo with pos. All users updated.
12864 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
12866 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
12868 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
12871 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
12873 * util/grub-mkrawimage.c (main): Call set_program_name.
12875 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
12877 Properly align 64-bit targets.
12879 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
12880 (generate_image): Use ALIGN_ADDR.
12882 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
12884 Properly create cross-endian images.
12886 * include/grub/types.h (grub_host_to_target_addr): New macro
12887 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
12889 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
12891 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
12893 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12895 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
12897 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
12898 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
12899 (grub_linux_boot): Divide by 64K when on VESA.
12901 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12903 Support GRUB_GFXPAYLOAD_LINUX.
12905 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
12906 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
12908 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12910 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
12911 to show messages instead of discarding them.
12912 Process errors after executing command and not before. Keep old method
12915 2010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12917 * configure.ac: Check for ft2build.h.
12919 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
12921 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
12923 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
12925 * genkernsyms.sh.in: Use TARGET_CC.
12927 2010-02-07 Colin Watson <cjwatson@ubuntu.com>
12931 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
12933 * include/grub/multiboot2.h: Remove leftover file.
12934 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
12935 * include/grub/partition.h [GRUB_UTIL]: Likewise.
12937 2010-02-07 Yves Blusseau <blusseau@zetam.org>
12939 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
12941 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
12943 Fix warnings in grub-emu when compiling with maximum warning options.
12945 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
12946 (grub_arch_modules_addr): Return 0 and not NULL.
12947 * util/misc.c (ENABLE_RELOCATABLE): New definition.
12948 (xstrdup): Use newstr instead of dup.
12949 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
12950 of disk to dsk to avoid shadowing.
12951 (find_free_slot): Fix prototype.
12952 * util/getroot.c (grub_util_is_dmraid): Make static.
12953 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
12954 Add missing prototype.
12955 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
12957 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
12959 * loader/i386/linux.c (grub_linux_setup_video): Handle error
12962 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
12964 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
12967 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
12969 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
12970 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
12971 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
12972 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
12973 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
12974 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
12976 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
12978 * include/grub/err.h (grub_err_printf): Don't export.
12980 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
12982 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
12984 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
12986 * include/grub/i18n.h (grub_gettext_dummy): Removed.
12987 * kern/misc.c (grub_gettext_dummy): Make static.
12989 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
12991 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
12993 * kern/term.c (grub_putchar): Likewise.
12995 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
12997 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
12998 buggy hook call and memory leak.
13000 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
13002 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
13004 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
13006 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
13008 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
13010 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
13012 Return grub_errno on allocation error.
13014 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
13016 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
13018 2010-02-06 Yves Blusseau <blusseau@zetam.org>
13020 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
13021 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
13023 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
13025 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
13027 (grub_pxefs_open): Likewise.
13029 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
13031 * util/grub.d/10_hurd.in: Add --class information to menuentries.
13032 * util/grub.d/10_kfreebsd.in: Likewise.
13033 * util/grub.d/10_linux.in: Likewise.
13035 2010-02-06 Colin D Bennett <colin@gibibit.com>
13037 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
13038 (gfxmenu_mod_SOURCES): New variable.
13039 (gfxmenu_mod_CFLAGS): Likewise.
13040 (gfxmenu_mod_LDFLAGS): Likewise.
13041 * include/grub/term.h (grub_term_set_current_output): Declare
13043 * docs/gfxmenu-theme-example.txt: New file.
13044 * gfxmenu/gfxmenu.c: Likewise.
13045 * gfxmenu/gui_box.c: Likewise.
13046 * gfxmenu/gui_canvas.c: Likewise.
13047 * gfxmenu/gui_circular_progress.c: Likewise.
13048 * gfxmenu/gui_image.c: Likewise.
13049 * gfxmenu/gui_label.c: Likewise.
13050 * gfxmenu/gui_list.c: Likewise.
13051 * gfxmenu/gui_progress_bar.c: Likewise.
13052 * gfxmenu/gui_string_util.c: Likewise.
13053 * gfxmenu/gui_util.c: Likewise.
13054 * gfxmenu/icon_manager.c: Likewise.
13055 * gfxmenu/model.c: Likewise.
13056 * gfxmenu/named_colors.c: Likewise.
13057 * gfxmenu/theme_loader.c: Likewise.
13058 * gfxmenu/view.c: Likewise.
13059 * gfxmenu/widget-box.c: Likewise.
13060 * include/grub/gfxmenu_model.h: Likewise.
13061 * include/grub/gfxmenu_view.h: Likewise.
13062 * include/grub/gfxwidgets.h: Likewise.
13063 * include/grub/gui.h: Likewise.
13064 * include/grub/gui_string_util.h: Likewise.
13065 * include/grub/icon_manager.h: Likewise.
13067 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
13069 Agglomerate scrolling in gfxterm.
13071 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
13072 (grub_virtual_screen_setup): Initialise 'total_screen'.
13073 (write_char): Split to ...
13074 (paint_char): ... this ...
13075 (write_char): ... and this.
13076 (paint_char): Handle delayed scrolling.
13077 (draw_cursor): Likewise.
13078 (scroll_up): Split to ...
13079 (real_scroll): ... this ...
13080 (scroll_up): ... and this.
13081 (real_scroll): Handle multi-line scroll and draw below-the-bottom
13083 (grub_gfxterm_refresh): Call real_scroll.
13085 2010-02-06 Colin D Bennett <colin@gibibit.com>
13087 * include/grub/misc.h (grub_iscntrl): New inline function.
13088 (grub_isalnum): Likewise.
13089 (grub_strtol): Likewise.
13091 2010-02-06 Colin D Bennett <colin@gibibit.com>
13093 * normal/menu_text.c (get_entry_number): Move from here ...
13094 * normal/menu.c (get_entry_number): ... moved here.
13095 * include/grub/menu.h (grub_menu_get_default_entry_index):
13097 * normal/menu.c (grub_menu_get_default_entry_index): New function.
13098 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
13099 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
13100 (grub_menu_viewer_should_return): Likewise.
13101 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
13102 * normal/menu_text.c (run_menu): Enable menu switching.
13103 * normal/menu_viewer.c (should_return): New variable.
13104 (menu_viewer_changed): Likewise.
13105 (grub_menu_viewer_show_menu): Handle menu viewer changes.
13106 (grub_menu_viewer_should_return): New function.
13107 (menuviewer_write_hook): Likewise.
13108 (grub_menu_viewer_init): Likewise.
13110 2010-02-06 Colin D Bennet <colin@gibibit.com>
13111 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
13113 Support for gfxterm in a window.
13115 * include/grub/gfxterm.h: New file.
13116 * include/grub/video.h (struct grub_video_rect): New declaration.
13117 (grub_video_rect_t): Likewise.
13118 * term/gfxterm.c (struct grub_gfxterm_window): New type.
13119 (refcount): New variable.
13120 (render_target): Likewise.
13121 (window): Likewise.
13122 (repaint_callback): Likewise.
13123 (grub_virtual_screen_setup): Use 'render_target'.
13124 (init_window): New function.
13125 (grub_gfxterm_init_window): Likewise.
13126 (grub_gfxterm_init): Check reference counter.
13128 (destroy_window): New function.
13129 (grub_gfxterm_destroy_window): Likewise.
13130 (grub_gfxterm_fini): Check reference counter.
13131 Use destroy_window.
13132 (redraw_screen_rect): Restore viewport.
13133 Use 'render_target' and 'window'.
13134 Call 'repaint_callback'.
13135 (write_char): Use 'render_target'.
13136 (draw_cursor): Likewise.
13137 (scroll_up): Restore viewport.
13138 Use 'render_target' and 'window'.
13139 Call 'repaint_callback'.
13140 (grub_gfxterm_cls): Likewise.
13141 (grub_gfxterm_refresh): Use 'window'.
13142 (grub_gfxterm_set_repaint_callback): New function.
13143 (grub_gfxterm_background_image_cmd): Use 'window'.
13144 (grub_gfxterm_get_term): New function.
13145 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
13147 2010-02-06 Colin D Bennett <colin@gibibit.com>
13149 Bitmap scaling support.
13151 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
13152 (bitmap_scale_mod_SOURCES): New variable.
13153 (bitmap_scale_mod_CFLAGS): Likewise.
13154 (bitmap_scale_mod_LDFLAGS): Likewise.
13155 * include/grub/bitmap_scale.h: New file.
13156 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
13157 (background_image_cmd_options): New variable.
13158 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
13159 (cmd): Rename and change type to ...
13160 (background_image_cmd_handle): ... this. All users updated.
13161 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
13162 * video/bitmap_scale.c: New file.
13164 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
13168 * Makefile.in (LIBSDL): New variable.
13169 (enable_grub_emu_sdl): Likewise.
13170 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
13171 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
13172 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
13173 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
13174 * util/sdl.c: New file.
13176 2010-02-06 Colin D Bennett <colin@gibibit.com>
13177 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
13179 Double buffering support.
13181 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
13182 * include/grub/video.h: Update comment.
13183 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
13185 (grub_video_fb_doublebuf_blit_init): New prototype.
13186 * term/gfxterm.c (scroll_up): Support double buffering.
13187 (grub_gfxterm_refresh): Likewise.
13188 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
13189 (grub_video_fb_doublebuf_blit_init): Likewise.
13190 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
13191 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
13192 'displayed_page', 'render_page' and 'update_screen'.
13193 (grub_video_vbe_fini): Free offscreen buffer.
13194 (doublebuf_pageflipping_commit): New function.
13195 (doublebuf_pageflipping_update_screen): Likewise.
13196 (doublebuf_pageflipping_init): Likewise.
13197 (double_buffering_init): Likewise.
13198 (grub_video_vbe_setup): Enable doublebuffering.
13199 (grub_video_vbe_swap_buffers): Implement.
13200 (grub_video_vbe_set_active_render_target): Handle double buffering.
13201 (grub_video_vbe_get_active_render_target): Likewise.
13202 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
13203 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
13204 (grub_video_vbe_enable_double_buffering): Likewise.
13205 (grub_video_vbe_swap_buffers): Use update_screen.
13206 (grub_video_set_mode): Use double buffering.
13208 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
13210 * maintainance/gentrigtables.py: Remove.
13211 * lib/trig.c: Likewise.
13213 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
13215 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
13217 (trigtables.c): New rule.
13218 (gentrigtables): Likewise.
13219 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
13221 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
13223 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
13226 2010-02-06 Colin D Bennet <colin@gibibit.com>
13228 Trigonometry support.
13230 * include/grub/trig.h: New file.
13231 * lib/trig.c: Likewise.
13232 * maintainance/gentrigtables.py: Likewise.
13233 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
13234 (trig_mod_SOURCES): New variable.
13235 (trig_mod_CFLAGS): Likewise.
13236 (trig_mod_LDFLAGS): Likewise.
13238 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
13240 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
13243 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
13245 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
13248 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13250 * util/hostdisk.c (open_device): Don't use partition device when reading
13251 before the partition.
13252 (grub_util_biosdisk_read): Don't read from partition and before the
13253 partition in single operation.
13254 (grub_util_biosdisk_write): Don't write to partition and before the
13255 partition in single operation.
13257 2010-02-03 Torsten Landschoff <torsten@debian.org>
13259 * kern/disk.c (grub_disk_read): Fix offset computation when reading
13262 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13264 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
13266 (grub_biosdisk_write): Refuse to write to CDROM.
13268 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
13270 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
13272 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
13274 * font/font.c (find_glyph): Check that bmp_idx is available before
13276 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
13277 with (font == NULL).
13279 2010-01-28 Christian Schmitt <chris@ilovelinux.de>
13281 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
13283 2010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
13285 * include/grub/script_sh.h (sourcecode): Add const qualifier.
13286 * util/grub-script-check.c (getline): Fix empty lines case.
13288 2010-01-28 Robert Millan <rmh.grub@aybabtu.com>
13290 * Makefile.in (check): Exit with fail status when one of the tests
13292 * tests/example_functional_test.c (example_test): Fix reversed assert.
13293 * tests/example_unit_test.c (example_test): Likewise.
13295 2010-01-28 Colin Watson <cjwatson@ubuntu.com>
13297 * util/grub.d/10_linux.in: This script does not use any of the
13298 contents of gettext.sh, only the external command `gettext', so stop
13299 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
13300 the same prefix as GRUB.)
13301 * util/grub.d/10_kfreebsd.in: Likewise.
13303 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
13305 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
13308 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
13310 * kern/disk.c (grub_disk_read): Fix offset computation when reading
13313 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
13315 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
13316 having a 4KiB and not 32KiB buffer size.
13318 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
13320 * util/hostfs.c: Include `<errno.h>'.
13321 (grub_hostfs_read): Handle errors from fseeko() and fread().
13323 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
13325 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
13326 loop when using read hooks on files whose size isn't sector-aligned.
13328 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
13330 Remove unused parameter.
13332 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
13333 (grub_iso9660_open): Remove initialization of `data->length'.
13335 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
13337 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
13338 memleak conditions.
13340 2010-01-27 Carles Pina i Estany <carles@pina.cat>
13342 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
13343 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
13345 2010-01-26 Carles Pina i Estany <carles@pina.cat>
13347 * util/bin2h.c (usage): Fix warning (space after backslash).
13349 2010-01-26 Carles Pina i Estany <carles@pina.cat>
13351 * font/font.c: Include `grub/fontformat.h.
13352 Remove font file format constants.
13353 (grub_font_load): Use the new macros.
13354 * include/grub/fontformat.h: New file.
13355 * util/grub-mkfont.c: Include `grub/fontformat.c'.
13356 (write_font_pf2): Use the new macros.
13358 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
13360 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
13363 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
13365 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
13367 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
13368 (_start): Macroify `0x7F'.
13370 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
13371 (make_install_device): Use "(pxe)" as fallback prefix when booting
13374 2010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
13376 * configure.ac: Reset LIBS after check for libgcc symbols.
13378 2010-01-25 Colin Watson <cjwatson@ubuntu.com>
13380 * util/hostdisk.c (open_device): Add trailing newline to debug
13383 2010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
13385 * configure.ac: Check for `limits.h'.
13386 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
13388 2010-01-24 Robert Millan <rmh.grub@aybabtu.com>
13390 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
13391 capitalize error strings.
13393 2010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
13395 * util/grub.d/10_hurd.in: Add a recovery mode.
13397 2010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
13399 * configure.ac: Check for libgcc symbols with -nostdlib.
13401 2010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
13403 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
13405 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
13407 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
13408 stack since heap may be unavailable at that point.
13409 (grub_ofconsole_gotoxy): Likewise.
13411 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
13413 * configure.ac: Check for _restgpr_14_x.
13414 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
13415 and _savegpr_* prototypes.
13417 2010-01-22 Robert Millan <rmh.grub@aybabtu.com>
13419 Use generic grub_reboot() for i386-efi.
13421 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
13422 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
13423 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
13425 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
13427 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
13428 presence of "prefix" variable as it breaks when normal.mod is
13431 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
13433 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
13434 stack since heap is unavailable at that point.
13436 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
13438 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
13439 (grub_freebsd_bootinfo): Rewritten.
13440 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
13442 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
13444 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
13446 2010-01-21 Robert Millan <rmh.grub@aybabtu.com>
13448 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
13451 2010-01-20 Felix Zielcke <fzielcke@z-51.de>
13453 * util/misc.c (make_system_path_relative_to_its_root): Change the work
13454 around for handling "/" to the correct fix. Fix a memory leak. Use
13455 xstrdup instead of strdup.
13457 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
13459 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
13461 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
13463 Optimise glyph lookup by Basic Multilingual Plane lookup array.
13465 * font/font.c (struct grub_font): New member 'bmp_idx'.
13466 (font_init): Initialise 'bmp_idx'.
13467 (load_font_index): Fill 'bmp_idx'.
13468 (find_glyph): Make inline. Use bmp_idx for BMP characters.
13470 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
13472 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
13475 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
13477 Move context handling out of the kernel.
13479 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
13480 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
13481 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
13482 * conf/i386-efi.rmk: Likewise.
13483 * conf/i386-ieee1275.rmk: Likewise.
13484 * conf/i386-pc.rmk: Likewise.
13485 * conf/powerpc-ieee1275.rmk: Likewise.
13486 * conf/sparc64-ieee1275.rmk: Likewise.
13487 * conf/x86_64-efi.rmk: Likewise.
13488 * include/grub/env.h: Include grub/menu.h.
13489 (grub_env_var_type): Removed.
13490 (grub_env_var): Replaced field 'type' with 'global'.
13491 (grub_env_find): New prototype.
13492 (grub_env_context_open): Remove EXPORT_FUNC.
13493 (grub_env_context_close): Likewise.
13494 (grub_env_export): Likewise.
13495 (grub_env_set_data_slot): Removed.
13496 (grub_env_get_data_slot): Likewise.
13497 (grub_env_unset_data_slot): Likewise.
13498 (grub_env_unset_menu): New prototype.
13499 (grub_env_set_menu): Likewise.
13500 (grub_env_get_menu): Likewise.
13501 * include/grub/env_private.h: New file.
13502 * include/grub/normal.h (grub_context_init): New prototype.
13503 (grub_context_fini): Likewise.
13504 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
13505 * normal/context.c (grub_cmd_export): ... to here.
13506 * kern/env.c: Include env_private.h.
13507 (HASHSZ): Moved to include/grub/env_private.h.
13508 (grub_env_context): Likewise.
13509 (grub_env_sorted_var): Likewise.
13510 (current_context): Renamed from this ...
13511 (grub_current_context): ...to this. 'static' removed. All users updated.
13512 (grub_env_find): Removed 'static'.
13513 (grub_env_context_open): Moved to normal/context.c.
13514 (grub_env_context_close): Likewise.
13515 (grub_env_export): Likewise.
13516 (mangle_data_slot_name): Removed.
13517 (grub_env_set_data_slot): Likewise.
13518 (grub_env_get_data_slot): Likewise.
13519 (grub_env_unset_data_slot): Likewise.
13520 * kern/main.c (grub_set_root_dev): Don't export root.
13521 It will be done later.
13522 (grub_main): Don't export prefix.
13523 It will be done later.
13524 * normal/context.c: New file.
13525 * normal/main.c (free_menu): Use grub_env_unset_menu.
13526 (grub_normal_add_menu_entry): Use grub_env_get_menu.
13527 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
13528 (GRUB_MOD_INIT(normal)): Call grub_context_init.
13529 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
13531 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
13535 * commands/setpci.c: New file.
13536 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
13537 (setpci_mod_SOURCES): New variable.
13538 (setpci_mod_CFLAGS): Likewise.
13539 (setpci_mod_LDFLAGS): Likewise.
13541 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
13543 Byte-addressable PCI configuration space.
13545 * bus/pci.c (grub_pci_make_address): Use byte address instead of
13547 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
13548 GRUB_PCI_REG_CACHELINE.
13549 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
13550 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
13551 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
13552 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
13553 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
13554 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
13555 grub_pci_make_address.
13556 (lock_rom_area): Likewise.
13557 * commands/lspci.c (grub_lspci_iter): Use macroses
13558 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
13559 of grub_pci_make_address.
13560 * disk/ata.c (grub_ata_pciinit): Likewise.
13561 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
13562 (GRUB_PCI_REG_VENDOR): Likewise.
13563 (GRUB_PCI_REG_DEVICE): Likewise.
13564 (GRUB_PCI_REG_COMMAND): Likewise.
13565 (GRUB_PCI_REG_STATUS): Likewise.
13566 (GRUB_PCI_REG_REVISION): Likewise.
13567 (GRUB_PCI_REG_CLASS): Likewise.
13568 (GRUB_PCI_REG_CACHELINE): Likewise.
13569 (GRUB_PCI_REG_LAT_TIMER): Likewise.
13570 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
13571 (GRUB_PCI_REG_BIST): Likewise.
13572 (GRUB_PCI_REG_ADDRESSES): Likewise.
13573 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
13574 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
13575 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
13576 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
13577 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
13578 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
13579 (GRUB_PCI_REG_CIS_POINTER): Likewise.
13580 (GRUB_PCI_REG_SUBVENDOR): Likewise.
13581 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
13582 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
13583 (GRUB_PCI_REG_CAP_POINTER): Likewise.
13584 (GRUB_PCI_REG_IRQ_LINE): Likewise.
13585 (GRUB_PCI_REG_IRQ_PIN): Likewise.
13586 (GRUB_PCI_REG_MIN_GNT): Likewise.
13587 (GRUB_PCI_REG_MAX_LAT): Likewise.
13588 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
13589 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
13590 * video/efi_uga.c (find_framebuf): Likewise.
13591 * video/sm712.c (grub_video_sm712_setup): Likewise.
13592 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
13595 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
13597 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
13598 can be reliably determined to be supported.
13600 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
13602 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
13603 that VESA is supported.
13604 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
13607 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
13609 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
13611 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
13613 * util/misc.c (make_system_path_relative_to_its_root): Work around
13614 special-casing of "/", as previous incarnation of this routine did.
13616 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
13618 Fix any-emu compilation.
13620 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
13621 * grub_bin2h_SOURCES: New variable.
13623 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
13625 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
13627 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
13629 * util/grub.d/00_header.in: Fix handling of locale_dir.
13631 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
13633 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
13634 as possible unifont location (Gentoo).
13635 Reported by: Alexander Brüning
13637 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
13639 Don't try to generate lists for kernel.img.
13641 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
13642 (pkglib_MODULES): Remove kernel.img.
13643 (kernel_img_EXPORTS): Removed.
13644 (kernel_img_RELOCATABLE): New variable.
13645 * conf/x86_64-efi.rmk: Likewise.
13646 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
13648 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
13650 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
13651 grub_xasprintf or grub_snprintf.
13652 (grub_vsprintf): Likewise.
13653 (grub_snprintf): New proto.
13654 (grub_vsnprintf): Likewise.
13655 (grub_xasprintf): Likewise.
13656 (grub_xvasprintf): Likewise.
13657 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
13658 (grub_sprintf): Removed.
13659 (grub_vsnprintf): New function.
13660 (grub_snprintf): Likewise.
13661 (grub_xvasprintf): Likewise.
13662 (grub_xasprintf): Likewise.
13663 (grub_vsprintf): Renamed to ...
13664 (grub_vsnprintf_real): ...this. New argument max_len.
13666 2010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
13668 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
13669 fix grub-script-check warning.
13671 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
13673 * include/grub/font.h (grub_font_load): Fix prototype.
13675 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
13677 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
13679 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
13681 * include/grub/x86_64/at_keyboard.h: New file.
13683 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
13685 * loader/mips/linux.c: Include missing grub/i18n.h.
13687 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
13689 * normal/menu.c (notify_execution_failure): Clarify error message.
13691 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
13693 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
13694 return value (and revert all return statements). Update users.
13696 2010-01-20 Dan Merillat <debian@dan.merillat.org>
13698 * kern/device.c (grub_device_iterate): Allocate new part_ent
13699 structure based on sizeof (*p) rather than sizeof (p->next), to
13700 account for structure padding.
13702 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
13703 disk is NULL, which might happen for LVM physical volumes with no
13706 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
13708 * loader/mips/linux.c (grub_cmd_initrd)
13709 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
13711 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
13713 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
13714 (grub_video_video_init, grub_video_bitmap_init)
13715 (grub_font_manager_init, grub_term_gfxterm_init)
13716 (grub_at_keyboard_init): New extern declarations.
13717 (grub_machine_init): Initialize gfxterm and at_keyboard.
13719 * kern/main.c (grub_main): Revert grub_printf delay kludge.
13721 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
13722 `gfxterm.mod' into core image.
13724 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
13725 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
13726 (kernel_img_FORMAT): Copy to ...
13728 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
13729 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
13730 (kernel_img_FORMAT): ... here, and ...
13732 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
13733 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
13734 (kernel_img_FORMAT): ... here.
13736 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
13737 and input (at_keyboard) terminals in kernel.
13738 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
13740 (pkglib_MODULES): Remove `pci.mod'.
13741 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
13742 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
13743 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
13744 (at_keyboard_mod_LDFLAGS): Remove variables.
13746 2010-01-11 Felix Zielcke <fzielcke@z-51.de>
13748 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
13750 2009-12-10 Robert Millan <rmh.grub@aybabtu.com>
13752 * include/grub/mips/libgcc.h: Only export symbols for functions
13753 that libgcc provides.
13755 2009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
13759 * bus/bonito.c: New file.
13760 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
13761 GRUB_PCI_NUM_DEVICES.
13762 * term/i386/pc/serial.c: Move to ...
13763 * term/serial.c: ... here. All users updated.
13764 * util/i386/pc/grub-mkimage.c: Move to ...
13765 * util/grub-mkrawimage.c: ... here. All users updated.
13766 * term/i386/pc/at_keyboard.c: Move to ...
13767 * term/at_keyboard.c: ... here. All users updated.
13768 * conf/mips-qemu-mips.rmk: New file.
13769 * conf/mips-yeeloong.rmk: Likewise.
13770 * conf/mips.rmk: Likewise.
13771 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
13773 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
13775 (grub_ata_pciinit): Support CS5536.
13776 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
13777 * font/font_cmd.c (loadfont_command): Open file before passing it to
13779 (pseudo_file_read): New function.
13780 (pseudo_file_close): Likewise.
13781 (pseudo_fs): New structure.
13782 (load_font_module): New function.
13783 (GRUB_MOD_INIT(font_manager)): Load embedded font.
13784 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
13785 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
13786 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
13787 * include/grub/i386/at_keyboard.h: Split into ...
13788 * include/grub/at_keyboard.h: ... this ...
13789 * include/grub/i386/at_keyboard.h: ... and this.
13790 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
13792 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
13794 (grub_elf64_size): Likewise.
13795 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
13797 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
13798 * include/grub/i386/coreboot/serial.h: Rewritten.
13799 * include/grub/i386/ieee1275/serial.h: Include
13800 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
13801 * include/grub/i386/pc/serial.h: Moved from here ...
13802 * include/grub/serial.h: ... to here. All users updated.
13803 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
13804 (GRUB_PCI_NUM_BUS): Likewise.
13805 (GRUB_PCI_NUM_DEVICES): Likewise.
13806 (grub_pci_device_map_range): Add missing volatile keyword.
13807 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
13808 * include/grub/mips/at_keyboard.h: New file.
13809 * include/grub/mips/cache.h: Likewise.
13810 * include/grub/mips/io.h: Likewise.
13811 * include/grub/mips/kernel.h: Likewise.
13812 * include/grub/mips/libgcc.h: Likewise.
13813 * include/grub/mips/pci.h: Likewise.
13814 * include/grub/mips/qemu-mips/boot.h: Likewise.
13815 * include/grub/mips/qemu-mips/kernel.h: Likewise.
13816 * include/grub/mips/qemu-mips/loader.h: Likewise.
13817 * include/grub/mips/qemu-mips/memory.h: Likewise.
13818 * include/grub/mips/qemu-mips/serial.h: Likewise.
13819 * include/grub/mips/qemu-mips/time.h: Likewise.
13820 * include/grub/mips/relocator.h: Likewise.
13821 * include/grub/mips/time.h: Likewise.
13822 * include/grub/mips/types.h: Likewise.
13823 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
13824 * include/grub/mips/yeeloong/boot.h: Likewise.
13825 * include/grub/mips/yeeloong/kernel.h: Likewise.
13826 * include/grub/mips/yeeloong/loader.h: Likewise.
13827 * include/grub/mips/yeeloong/memory.h: Likewise.
13828 * include/grub/mips/yeeloong/pci.h: Likewise.
13829 * include/grub/mips/yeeloong/serial.h: Likewise.
13830 * include/grub/mips/yeeloong/time.h: Likewise.
13831 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
13832 * kern/elf.c (grub_elf32_size): New parameter. All users
13834 (grub_elf64_size): Likewise.
13835 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
13836 Load modules before saying "Welcome to GRUB!".
13837 Call grub_refresh after saying "Welcome to GRUB!".
13838 * kern/mips/cache.S: New file.
13839 * kern/mips/cache_flush.S: Likewise.
13840 * kern/mips/dl.c: Likewise.
13841 * kern/mips/init.c: Likewise.
13842 * kern/mips/qemu-mips/init.c: Likewise.
13843 * kern/mips/startup.S: Likewise.
13844 * kern/mips/yeeloong/init.c: Likewise.
13845 * kern/term.c (grub_putcode): Handle NULL terminal.
13846 (grub_getcharwidth): Likewise.
13847 (grub_getkey): Likewise.
13848 (grub_checkkey): Likewise.
13849 (grub_getkeystatus): Likewise.
13850 (grub_getxy): Likewise.
13851 (grub_getwh): Likewise.
13852 (grub_gotoxy): Likewise.
13853 (grub_cls): Likewise.
13854 (grub_setcolorstate): Likewise.
13855 (grub_setcolor): Likewise.
13856 (grub_getcolor): Likewise.
13857 (grub_refresh): Likewise.
13858 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
13859 (write_jump): Add hatch nop.
13860 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
13861 * lib/mips/setjmp.S: New file.
13862 * loader/mips/linux.c: Likewise.
13863 * term/i386/pc/at_keyboard.c: Move from here ...
13864 * term/at_keyboard.c: ... to here.
13865 * term/i386/pc/serial.c: Moved from here ...
13866 * term/serial.c: ... to here. All users updated.
13867 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
13868 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
13869 (serial_translate_key_sequence): Avoid deadlock.
13870 (grub_serial_getkey): Handle backspace.
13871 (grub_serial_putchar): Fix newline handling.
13872 * util/i386/pc/grub-mkimage.c: Move from here ...
13873 * util/grub-mkrawimage.c: ... to here. All users updated.
13874 (generate_image): New parameters 'font_path' and 'format'.
13875 Support embedding font.
13876 Use grub_host_to_target* instead of grub_cpu_to_le*.
13877 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
13878 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
13879 (options): New option "--font".
13881 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
13882 (main): Handle "--font".
13883 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
13884 (grub_virtual_screen_setup): Set bg_color_display.
13885 (redraw_screen_rect): Use bg_color_display instead of incorrect
13887 (grub_gfxterm_cls): Likewise.
13888 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
13889 Support embedding config file.
13890 (add_segments): Likewise.
13891 (options): New option "--config".
13892 (main): Handle "--config".
13893 * video/sm712.c: New file.
13895 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
13897 Fix parallel builds.
13899 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
13900 font.c depend on ascii.h).
13902 2010-01-12 Carles Pina i Estany <carles@pina.cat>
13904 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
13906 2010-01-11 Carles Pina i Estany <carles@pina.cat>
13908 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
13909 By default: disabled.
13910 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
13913 2010-01-10 Carles Pina i Estany <carles@pina.cat>
13915 * font/font.c: Update copyright years.
13916 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
13918 2010-01-10 Carles Pina i Estany <carles@pina.cat>
13920 * font/font.c: Include `ascii.h'.
13921 (ASCII_BITMAP_SIZE): New macro.
13922 (ascii_font_glyph): Define.
13923 (ascii_glyph_lookup): New function.
13924 (grub_font_get_string_width): Change comment. If glyph not found, use
13925 ascii_glyph_lookup.
13926 (grub_font_get_glyph_with_fallback): If glyph not available returns
13927 ascii_glyph_lookup.
13928 * util/grub-mkfont.c (file_formats): New enum.
13929 (options): Add `ascii-bitmaps' new option.
13930 (usage): Add `asii-bitmaps' new option.
13931 (write_font_ascii_bitmap): New function.
13932 (write_font): Rename to ...
13933 (write_font_p2): ... this. Remove print_glyphs call.
13934 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
13935 used. Call print_glyphs.
13936 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
13938 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
13940 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
13941 (grub_bin2h_SOURCES): New variable.
13942 * util/bin2h.c: New file.
13944 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
13946 * include/multiboot.h: Resynced with spec.
13947 * include/multiboot2.h: Likewise.
13948 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
13949 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
13951 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
13953 * include/grub/term.h (grub_term_register_input,
13954 grub_term_register_output): Check return of terminal init()
13955 routines, and abort if errors are raised.
13957 * commands/terminal.c: Update copyright year.
13959 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
13961 * commands/terminal.c (grub_cmd_terminal_input)
13962 (grub_cmd_terminal_output): Check return of terminal init()
13963 routines, and abort if errors are raised.
13965 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
13967 * include/grub/i386/bsd.h: Fix include pathes.
13969 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
13971 Add missing *BSD copyright headers.
13973 * include/grub/aout.h: Add BSD licence.
13974 * include/grub/i386/bsd.h: Parts under different licences moved to ...
13975 * include/grub/i386/freebsd_linker.h: ... here,
13976 * include/grub/i386/freebsd_reboot.h: ... here,
13977 * include/grub/i386/netbsd_bootinfo.h: ... here,
13978 * include/grub/i386/netbsd_reboot.h: ... here,
13979 * include/grub/i386/openbsd_bootarg.h: ... here,
13980 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
13981 licence to each file.
13983 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
13985 * acinclude.m4: Remove `nop' assembly instruction; it's not
13986 implemented by all architectures.
13988 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
13990 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
13991 ELILO. This is no longer necessary.
13993 2010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
13995 Added new tool, grub-scrit-check to verify grub.cfg syntax.
13997 * util/grub-script-check.c: grub-script-check tool.
13998 * conf/common.rmk: Make rules for grub-script-check.
14000 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
14002 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
14003 spotting it back in 2008. Shame on me for forgetting he did.
14005 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
14007 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
14009 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
14010 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
14011 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
14012 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
14013 (GRUB_VIDEO_TYPE_EFI): Rename to ...
14014 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
14016 2010-01-17 Robert Millan <rmh.grub@aybabtu.com>
14018 * include/grub/test.h: Add license header.
14019 * tests/example_functional_test.c: Likewise.
14020 * tests/example_unit_test.c: Likewise.
14021 * tests/lib/functional_test.c: Likewise.
14022 * tests/lib/test.c: Likewise.
14023 * tests/lib/unit_test.c: Likewise.
14025 2010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
14027 Use flag-based instead of hook-based video mode selection and "auto"
14030 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
14031 (grub_video_set_mode): Changed prototype. All users updated.
14032 (grub_video_check_mode_flag): New inline function.
14033 * video/video.c (parse_modespec): New function.
14034 (grub_video_set_mode): Parse flags and keywords.
14036 2010-01-17 Carles Pina i Estany <carles@pina.cat>
14038 * util/misc.c (grub_util_info): Fix the order of the parameters in a
14041 2010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
14043 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
14045 2010-01-16 Carles Pina i Estany <carles@pina.cat>
14047 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
14049 * util/grub-emu.c (usage): Likewise.
14050 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
14051 * util/i386/efi/grub-mkimage.c (usage): Likewise.
14052 * util/i386/pc/grub-mkimage.c (usage): Likewise.
14053 * util/i386/pc/grub-setup.c (usage): Likewise.
14055 2010-01-16 Carles Pina i Estany <carles@pina.cat>
14057 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
14059 (grub_util_info): Likewise.
14060 (grub_util_error): Likewise.
14061 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
14062 and/or new lines in `grub_util_warna', `grub_util_info',
14063 `grub_util_error' calls.
14064 * util/getroot.c: Likewise.
14065 * util/grub-editenv.c: Likewise.
14066 * util/grub-emu.c: Likewise.
14067 * util/grub-fstest.c: Likewise.
14068 * util/grub-mkdevicemap.c: Likewise.
14069 * util/grub-mkfont.c: Likewise.
14070 * util/grub-mkpasswd-pbkdf2.c: Likewise.
14071 * util/grub-mkrelpath.c: Likewise.
14072 * util/grub-pe2elf.c: Likewise.
14073 * util/grub-probe.c: Likewise.
14074 * util/hostdisk.c: Likewise.
14075 * util/i386/efi/grub-mkimage.c: Likewise.
14076 * util/i386/pc/grub-mkimage.c: Likewise.
14077 * util/i386/pc/grub-setup.c: Likewise.
14078 * util/ieee1275/ofpath.c: Likewise.
14079 * util/mkisofs/eltorito.c: Likewise.
14080 * util/mkisofs/rock.c: Likewise.
14081 * util/mkisofs/write.c: Likewise.
14082 * util/raid.c: Likewise.
14083 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
14084 * util/sparc64/ieee1275/grub-setup.c: Likewise.
14086 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
14088 Enable multiboot on non-pc.
14090 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
14091 multiboot.mod and multiboot2.mod to ...
14092 * conf/i386.rmk (pkglib_MODULES): ... here.
14093 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
14095 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
14096 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
14098 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
14099 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
14101 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
14102 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
14104 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
14105 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
14107 (ata_mod_SOURCES): Removed.
14108 (ata_mod_CFLAGS): Likewise.
14109 (ata_mod_LDFLAGS): Likewise.
14110 (relocator_mod_SOURCES): Removed.
14111 (relocator_mod_CFLAGS): Likewise.
14112 (relocator_mod_ASFLAGS): Likewise.
14113 (relocator_mod_LDFLAGS): Likewise.
14115 * include/grub/x86_64/multiboot.h: New file.
14116 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
14119 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
14121 Video multiboot support.
14123 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
14125 * include/multiboot.h: Resynced with multiboot specification.
14126 * include/multiboot2.h: Likewise.
14127 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
14128 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
14129 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
14130 (HAS_VGA_TEXT): Likewise.
14131 (accepts_video): New variable.
14132 (grub_multiboot_set_accepts_video): New function.
14133 (grub_multiboot_get_mbi_size): Account for video structures.
14134 (set_video_mode): New function.
14135 (retrieve_video_parameters): Likewise.
14136 (grub_multiboot_make_mbi): Fill video fields.
14138 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
14142 * include/grub/video.h (grub_video_driver_id): New type.
14143 (grub_video_adapter): New member 'id'. All users updated.
14144 (grub_video_get_driver_id): New proto.
14145 * video/video.c (grub_video_get_driver_id): New function.
14147 2010-01-14 Carles Pina i Estany <carles@pina.cat>
14149 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
14152 2010-01-14 Carles Pina i Estany <carles@pina.cat>
14154 * normal/cmdline.c (print_completion): Gettextizze.
14156 2001-01-14 Carles Pina i Estany <carles@pina.cat>
14158 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
14160 2010-01-14 Carles Pina i Estany <carles@pina.cat>
14162 * gettext/gettext.c (grub_gettext_translate): Push and pop
14164 (grub_gettext_delete_list): Change comment style.
14165 * kern/err.c (grub_error): Gettextizze.
14166 (grub_fatal): Gettextizze.
14168 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
14170 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
14171 (grub_linux16_real_boot): ... this.
14172 * kern/i386/loader.S: Likewise.
14173 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
14174 (grub_linux16_boot): New function. Switches to text mode and calls
14175 grub_linux16_real_boot().
14177 * loader/i386/bsd.c: Include `<grub/video.h>'.
14178 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
14179 text mode before calling grub_unix_real_boot().
14181 * loader/i386/multiboot.c: Include `<grub/video.h>'.
14182 (grub_multiboot_boot): Switch to text mode before calling
14183 grub_relocator32_boot().
14185 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
14186 (grub_chainloader_boot): Switch to text mode before calling
14187 grub_chainloader_real_boot().
14189 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
14190 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
14192 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
14195 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
14196 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
14198 * util/grub.d/00_header.in: Define a "savedefault" function for use
14200 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
14202 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
14203 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
14205 * util/grub-mkconfig_lib.in (save_default_entry): Only set
14206 saved_entry if boot_once is unset.
14207 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
14208 previous saved entry (i.e. grub-reboot).
14210 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
14212 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
14214 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
14216 * util/grub.d/00_header.in: Use `set var=val' rather than plain
14218 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
14220 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
14222 * util/grub-reboot.in: Fix --version output.
14223 * util/grub-set-default.in: Likewise.
14225 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
14227 * util/grub.d/00_header.in: Silently ignore zero-sized environment
14230 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
14232 * util/grub.d/00_header.in: Quote the value assigned to `default',
14233 in case it contains spaces.
14235 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
14237 * util/grub.d/30_os-prober.in: Fix merge error that moved a
14238 `save_default_entry' call from the macosx case to the linux case.
14240 2009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
14241 2009-10-25 Colin Watson <cjwatson@ubuntu.com>
14243 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
14244 in `chosen' environment variable.
14245 * normal/menu_text.c (get_entry_number): Check if the variable
14246 matches the title of a menu entry.
14247 (run_menu): Pass menu to get_entry_number.
14249 * util/grub-reboot.in: New file.
14250 * util/grub-set-default.in: New file.
14251 * conf/common.rmk (grub-reboot): New utility.
14252 (grub-set-default): New utility.
14254 * util/grub-mkconfig_lib.in (save_default_entry): New function.
14255 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
14256 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
14257 move it to `saved_entry' for the next boot. Load environment on
14259 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
14260 * util/grub.d/10_hurd.in: Likewise.
14261 * util/grub.d/10_linux.in (linux_entry): Likewise.
14262 * util/grub.d/10_windows.in: Likewise.
14263 * util/grub.d/30_os-prober.in: Likewise.
14265 * util/grub-install.in: Create environment block.
14266 * util/i386/efi/grub-install.in: Likewise.
14267 * util/ieee1275/grub-install.in: Likewise.
14268 * util/sparc64/ieee1275/grub-install.in: Likewise.
14270 2010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
14272 Unit testing framework for GRUB.
14274 * Makefile.in: Test framework build rules for 'make check'.
14275 * conf/tests.rmk: Build rules for individual tests and framework.
14277 * include/grub/test.h: Header file for whitebox tests.
14278 * tests/lib/functional_test.c: Framework support for whitebox
14280 * tests/lib/test.c: Common whitebox testing code for unit and
14282 * tests/lib/unit_test.c: Framework support for whitebox unit
14285 * tests/util/grub-shell-tester.in: Support utility for grub-script
14287 * tests/util/grub-shell.in: Utility to execute grub-script
14288 commands in a Qemu instance.
14290 * tests/example_functional_test.c: Example whitebox functional
14292 * tests/example_grub_script_test.in: Example grub-script test.
14293 * tests/example_scripted_test.in: Example scripted test.
14294 * tests/example_unit_test.c: Example whitebox unit test.
14296 2010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14298 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
14299 Add loader/i386/multiboot_mbi.c.
14300 (multiboot2_mod_SOURCES): Likewise.
14301 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
14302 (multiboot2_mod_SOURCES): Likewise.
14303 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
14304 (grub_multiboot_make_mbi): Likewise.
14305 (grub_multiboot_free_mbi): Likewise.
14306 (grub_multiboot_init_mbi): Likewise.
14307 (grub_multiboot_add_module): Likewise.
14308 (grub_multiboot_set_bootdev): Likewise.
14309 * loader/i386/multiboot.c (mbi): Removed.
14310 (mbi_dest): Likewise.
14311 (alloc_mbi): New variable.
14312 (grub_multiboot_payload_size): Removed. All users updated.
14313 (grub_multiboot_pure_size): New variable.
14314 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
14315 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
14316 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
14317 (grub_fill_multiboot_mmap): Likewise.
14318 (grub_multiboot_get_bootdev): Likewise.
14319 (grub_multiboot): Use multiboot_mbi functions.
14320 * loader/i386/multiboot_mbi.c: New file.
14322 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
14324 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
14325 it would result in module crash.
14327 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
14329 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
14330 (grub_ofconsole_getwh): Split to ...
14331 (grub_ofconsole_getwh): ... this.
14332 (grub_ofconsole_dimensions): ...and this.
14333 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
14335 2010-01-13 Robert Millan <rmh.grub@aybabtu.com>
14337 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
14339 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
14341 * loader/i386/pc/multiboot2.c: Removed stalled file.
14343 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
14345 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
14346 Reported by: Grégoire Sutre
14348 2010-01-11 Robert Millan <rmh.grub@aybabtu.com>
14350 * util/misc.c (canonicalize_file_name): New function.
14351 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
14352 instead of realpath().
14354 2010-01-11 Colin Watson <cjwatson@ubuntu.com>
14356 * util/grub-install.in (usage): Clarify meaning of --root-directory,
14357 and make it clearer that it's optional. Based on confusion
14360 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
14362 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
14363 in premature implicit newline.
14365 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
14367 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
14368 which resulted in garbled command line at the end of screen.
14370 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
14372 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
14373 initialization with similar approach as with other Linux loaders.
14375 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
14377 Fix i386-ieee1275 build.
14379 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
14380 and grub_term_height() for video_{width,height} initialization.
14382 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
14384 Fix grub-emu build.
14386 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
14388 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
14389 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
14391 Support for multiple terminals.
14393 * Makefile.in (pkglib_DATA): terminal.lst.
14394 (terminal.lst): New target.
14395 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
14396 (GRUB_MOD_INIT(handler)): Likewise.
14397 (GRUB_MOD_FINI(handler)): Likewise.
14398 * commands/help.c (grub_cmd_help): Handle multiple terminals.
14399 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
14400 * commands/sleep.c (do_print): Use grub_term_restore_pos.
14401 (grub_cmd_sleep): Use grub_term_save_pos.
14402 * commands/terminal.c: New file.
14403 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
14404 commands/terminal.c and lib/charset.c.
14405 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
14406 (pkglib_MODULES): Add terminal.mod.
14407 (terminal_mod_SOURCES): New variable.
14408 (terminal_mod_CFLAGS): Likewise.
14409 (terminal_mod_LDFLAGS): Likewise.
14410 * genhandlerlist.sh: Don't handle terminals.
14411 * genmk.rb: Generate terminal-*.lst.
14412 * genterminallist.sh: New file.
14413 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
14414 (grub_is_valid_utf8): Likewise.
14415 (grub_utf8_to_ucs4_alloc): Likewise.
14416 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
14417 (grub_menu_register_viewer): Changed argument.
14418 (grub_menu_try_text): New proto.
14419 (grub_gfxmenu_try_hook): New declaration.
14420 * include/grub/normal.h (grub_normal_exit_level): New declaration.
14421 (grub_menu_init_page): Additional argument term.
14422 (grub_normal_init_page): Likewise.
14423 (grub_cmdline_get): Arguments simplified.
14424 (grub_utf8_to_ucs4_alloc): Removed.
14425 (grub_print_ucs4): Additional argument term.
14426 (grub_getstringwidth): Likewise.
14427 (grub_print_message_indented): Likewise.
14428 (grub_menu_text_register_instances): New proto.
14429 (grub_show_menu): Likewise.
14430 (read_terminal_list): Likewise.
14431 (grub_set_more): Likewise.
14432 * include/grub/parser.h: Include handler.h.
14433 * include/grub/reader.h: Rewritten.
14434 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
14435 (GRUB_TERM_WIDTH): Changed to function.
14436 (GRUB_TERM_HEIGHT): Likewise.
14437 (GRUB_TERM_BORDER_WIDTH): Likewise.
14438 (GRUB_TERM_BORDER_HEIGHT): Likewise.
14439 (GRUB_TERM_NUM_ENTRIES): Likewise.
14440 (GRUB_TERM_ENTRY_WIDTH): Likewise.
14441 (GRUB_TERM_CURSOR_X): Likewise.
14442 (grub_term_input_class): Likewise.
14443 (grub_term_output_class): Likewise.
14444 (grub_term_outputs_disabled): New declaration.
14445 (grub_term_inputs_disabled): Likewise.
14446 (grub_term_outputs): Likewise.
14447 (grub_term_inputs): Likewise.
14448 (grub_term_register_input): Rewritten.
14449 (grub_term_register_output): Likewise.
14450 (grub_term_unregister_input): Likewise.
14451 (grub_term_unregister_output): Likewise.
14452 (FOR_ACTIVE_TERM_INPUTS): New macro.
14453 (FOR_DISABLED_TERM_INPUTS): Likewise.
14454 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
14455 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
14456 * include/grub/terminfo.h: Add oterm argument to all protypes.
14457 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
14458 Use grub_rescue_run.
14459 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
14461 * kern/reader.c: Removed. All users updated.
14462 * kern/rescue_reader.c (grub_rescue_init): Removed.
14463 (grub_rescue_reader): Likewise.
14464 (grub_register_rescue_reader): Likewise.
14465 (grub_rescue_run): New function based on kern/reader.c.
14466 * kern/term.c: Adapted for multiterm.
14467 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
14468 (grub_is_valid_utf8): Likewise.
14469 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
14470 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
14472 * loader/i386/linux.c (grub_linux_boot): Likewise.
14473 * normal/auth.c (grub_username_get): New function.
14474 (grub_auth_check_authentication): Use grub_username_get.
14475 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
14476 * normal/color.c: Adapt for multiterm.
14477 * normal/main.c (read_config_file): Don't use grub_reader_loop.
14478 (grub_normal_init_page): Additional argument term.
14479 (read_lists): Call read_terminal_lists.
14480 (grub_enter_normal_mode): Call grub_cmdline_run.
14481 Handle grub_normal_exit_level.
14482 (grub_cmd_normal): Make reentrant.
14483 (grub_cmd_normal_exit): New function.
14484 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
14485 * normal/menu.c: Adapt for multiterm.
14486 * normal/menu_entry.c: Likewise.
14487 * normal/menu_text.c: Likewise.
14488 * normal/menu_viewer.c: Removed. All users updated.
14489 * normal/term.c: New file.
14490 * util/console.c: Change order of includes to workaround a bug in
14492 * term/terminfo.c: New argument oterm on all exported functions.
14494 * util/grub-editenv.c (grub_term_input_class): Removed.
14495 (grub_term_output_class): Likewise.
14497 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
14499 Make loader output a bit more user-friendly.
14501 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
14502 is being loaded. Likewise for the Hurd.
14504 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
14505 that kernel of FreeBSD ${version} is being loaded.
14507 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
14509 (grub_cmd_initrd): Likewise.
14510 * util/grub.d/10_linux.in (linux_entry): Print message indicating
14511 that Linux ${version} is being loaded. Likewise for initrd.
14513 2010-01-09 Carles Pina i Estany <carles@pina.cat>
14515 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
14517 2010-01-08 Carles Pina i Estany <carles@pina.cat>
14519 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
14520 (GRUB_MOD_INIT): Gettextizze.
14521 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
14522 (GRUB_MOD_INIT): Gettextizze.
14523 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
14524 (grub_cmd_linux): Capitalise Linux.
14525 (GRUB_MOD_INIT): Gettextizze.
14526 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
14527 (grub_cmd_linux): Capitalise Linux.
14528 (GRUB_MOD_INIT): Gettextizze.
14529 * loader/i386/linux.c: Include `<grub/i18n.h>'.
14530 (grub_cmd_linux): Capitalise Linux.
14531 (GRUB_MOD_INIT): Gettextizze.
14532 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
14533 (GRUB_MOD_INIT): Gettextizze.
14534 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
14535 (grub_cmd_linux): Capitalise Linux.
14536 (GRUB_MOD_INIT): Gettextizze.
14537 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
14538 (grub_cpu_xnu_init): Gettextizze.
14539 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
14540 (GRUB_MOD_INIT): Gettextizze.
14541 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
14542 (GRUB_MOD_INIT): Gettextizze.
14543 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
14544 (grub_linux_load64): Capitalise Linux.
14545 (GRUB_MOD_INIT): Gettextizze.
14546 * loader/xnu.c: Include `<grub/i18n.h>'.
14547 (GRUB_MOD_INIT): Gettextizze.
14548 * po/POTFILES: Add `loader/efi/appleloader.c',
14549 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
14550 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
14551 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
14552 `loader/i386/xnu.c', `loader/multiboot_loader.c',
14553 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
14554 and `loader/xnu.c'.
14556 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
14558 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
14560 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
14562 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
14563 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
14564 * util/mkisofs/mkisofs.c (main): Readjust --version output.
14566 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
14568 Reset Multiboot 2 support. New loader implements the draft in
14569 /branches/multiboot2 and shares as much code as possible with the
14570 production Multiboot 1 implementation.
14572 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
14573 * loader/multiboot2.c: Likewise.
14574 * loader/i386/multiboot_helper.S: Likewise.
14575 * include/multiboot2.h: Replace with latest version from the draft
14576 in /branches/multiboot2.
14578 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
14579 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
14580 and `loader/multiboot2.c'.
14581 (pkglib_MODULES): Add `multiboot2.mod'.
14582 (multiboot2_mod_SOURCES): New variable.
14583 (multiboot2_mod_LDFLAGS): Likewise.
14584 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
14586 * conf/i386-pc.rmk: Likewise.
14588 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
14589 (multiboot_mod_SOURCES): Remove variable.
14590 (multiboot_mod_LDFLAGS): Likewise.
14591 (multiboot_mod_CFLAGS): Likewise.
14593 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
14594 `<multiboot2.h>' instead of `<multiboot.h>'.
14595 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
14596 (MULTIBOOT_HEADER_MAGIC): New macros.
14598 * loader/multiboot_loader.c (module_version_status): Remove variable.
14599 (find_multi_boot2_header): Remove function.
14600 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
14601 logic. Always check for the Multiboot version we're compiling for.
14602 (grub_cmd_module_loader): Likewise.
14603 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
14604 command instead of `multiboot'.
14606 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
14608 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
14609 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
14612 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
14613 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
14615 Fix breakage introduced with previous commit.
14617 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
14619 * normal/handler.c (read_handler_list): Revert part of previous commit
14620 affecting this file.
14621 * normal/main.c (read_lists): Move read_handler_list() call back to ...
14622 (grub_normal_execute): ... here.
14624 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
14626 Merge prefix-redefinition-fix branch.
14628 * normal/autofs.c (read_fs_list): Make function capable of being
14629 run multiple times, gracefuly replacing the previous data
14631 * normal/dyncmd.c (read_command_list): Likewise.
14632 * normal/handler.c (read_handler_list): Likewise.
14633 * normal/main.c (read_lists): New function. Calls all the
14634 list reading functions.
14635 (grub_normal_execute): Use read_lists() instead of calling all
14636 list reading functions explicitly. Register read_lists() as a
14637 variable hook attached to ${prefix}.
14639 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
14641 Merge crypto branch.
14643 * Makefile.in (pkglib_DATA): Add crypto.lst.
14644 (crypto.lst): New target.
14645 * commands/hashsum.c: New file.
14646 * commands/password.c (check_password): Use grub_crypto_memcmp.
14647 * commands/password_pbkdf2.c: New file.
14648 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
14649 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
14650 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
14651 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
14652 -I$(srcdir)/lib/libgcrypt_wrap.
14653 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
14654 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
14655 password_pbkdf2.mod.
14656 (crypto_mod_SOURCES): New variable.
14657 (crypto_mod_CFLAGS): Likewise.
14658 (crypto_mod_LDFLAGS): Likewise.
14659 (hashsum_mod_SOURCES): New variable.
14660 (hashsum_mod_CFLAGS): Likewise.
14661 (hashsum_mod_LDFLAGS): Likewise.
14662 (pbkdf2_mod_SOURCES): New variable.
14663 (pbkdf2_mod_CFLAGS): Likewise.
14664 (pbkdf2_mod_LDFLAGS): Likewise.
14665 (password_pbkdf2_mod_SOURCES): New variable.
14666 (password_pbkdf2_mod_CFLAGS): Likewise.
14667 (password_pbkdf2_mod_LDFLAGS): Likewise.
14668 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
14669 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
14670 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
14671 Include conf/gcry.rmk.
14672 * include/grub/auth.h: Rewritten.
14673 * include/grub/crypto.h: New file.
14674 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
14675 * include/grub/normal.h (read_crypto_list): New prototype.
14676 * lib/crypto.c: New file.
14677 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
14678 * lib/pbkdf2.c: Likewise.
14679 * normal/auth.c (grub_auth_strcmp): Removed.
14680 (grub_iswordseparator): Likewise.
14681 (grub_auth_strword): Likewise.
14682 (is_authenticated): Use grub_strword.
14683 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
14684 and grub_strword. Pass entered password to authentication callback.
14685 * normal/crypto.c: New file.
14686 * normal/main.c: Call read_crypto_list.
14687 * util/grub-mkpasswd-pbkdf2.c: New file.
14688 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
14690 2010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
14692 Fix descent and ascent calculation.
14694 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
14695 (options): New option "asce".
14697 (add_char): Ignore invalid glyphs for descent calculation.
14698 Calculate ascent from actual content.
14699 (print_glyphs): Use 'asce'.
14700 (write_font): Likewise. Allow ascent override.
14701 (main): Handle "asce" option.
14703 2010-01-06 Carles Pina i Estany <carles@pina.cat>
14705 * kern/err.c: Include `<grub/i18n.h>'.
14706 (grub_print_error): Add full stop. Gettextizze.
14707 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
14708 (grub_bsd_load_elf): Capitalise ELF.
14709 (grub_cmd_freebsd_loadenv): Add `s' in error string.
14710 (grub_cmd_freebsd_module): Likewise.
14711 (grub_cmd_freebsd_module_elf): Likewise.
14712 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
14714 2010-01-06 Carles Pina i Estany <carles@pina.cat>
14716 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
14717 * commands/search_file.c (HELP_MESSAGE): New macro.
14718 * commands/search_label.c (HELP_MESSAGE): Likewise.
14719 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
14720 * po/POTFILES: Add `commands/search_file.c',
14721 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
14722 `commands/search.c'.
14724 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
14726 * config.rpath: Update from Gnulib.
14728 2010-01-05 Yves Blusseau <blusseau@zetam.org>
14730 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
14732 2010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
14734 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
14736 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
14738 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
14739 arguments to fread so that we get a return value in bytes, rather
14740 than something that will normally be rounded down to 0.
14741 Adjust error handling to avoid producing garbage when size_t is not
14742 the same size as long long.
14744 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
14746 * util/mkisofs/write.c (padblock_write): Check return value of
14749 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
14751 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
14754 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
14756 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
14758 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
14759 instead of manual alignment.
14760 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
14761 verbose). Avoid attempts to read past end of the device
14762 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
14763 but GRUB_DISK_CACHE_SIZE may exceed that).
14765 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
14767 * commands/crc.c (grub_cmd_crc): Abort on read errors.
14768 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
14771 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
14773 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
14775 (grub_efi_piwg_device_path): New structure
14776 (grub_efi_piwg_device_path_t): New type.
14777 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
14778 (devpath_1): Transform to a structure. All users updated.
14779 (devpath_2): Likewise.
14780 (devpath_3): Likewise.
14781 (devpath_4): Likewise.
14782 (devpath_5): Likewise.
14784 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
14786 * loader/efi/appleloader.c: Restored. Update all users.
14788 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
14790 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
14792 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
14793 (struct boot_blocklist): Move from here ...
14794 * include/grub/i386/pc/boot.h [ASM_FILE]
14795 (struct grub_boot_blocklist): ... to here. Update all users.
14796 (setup): Only initialize `start' member of `first_block'
14797 structure. Add assert() calls to verify the other members.
14799 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
14800 (generate_image): Fix broken blocklist length initialization.
14801 Add assert() call to verify blocklist `segment' field.
14803 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
14805 * loader/efi/appleloader.c: Remove. Update all users.
14807 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
14809 * boot/i386/pc/boot.S: Update copyright year.
14810 * boot/i386/pc/cdboot.S: Likewise.
14811 * boot/i386/pc/diskboot.S: Likewise.
14812 * boot/i386/pc/lnxboot.S: Likewise.
14813 * boot/i386/pc/pxeboot.S: Likewise.
14814 * bus/pci.c: Likewise.
14815 * commands/cmp.c: Likewise.
14816 * commands/help.c: Likewise.
14817 * commands/hexdump.c: Likewise.
14818 * commands/i386/pc/halt.c: Likewise.
14819 * commands/i386/pc/play.c: Likewise.
14820 * commands/i386/pc/vbeinfo.c: Likewise.
14821 * commands/ls.c: Likewise.
14822 * commands/test.c: Likewise.
14823 * disk/dmraid_nvidia.c: Likewise.
14824 * disk/i386/pc/biosdisk.c: Likewise.
14825 * disk/ieee1275/nand.c: Likewise.
14826 * disk/ieee1275/ofdisk.c: Likewise.
14827 * disk/lvm.c: Likewise.
14828 * disk/raid.c: Likewise.
14829 * disk/raid6_recover.c: Likewise.
14830 * disk/scsi.c: Likewise.
14831 * fs/affs.c: Likewise.
14832 * fs/cpio.c: Likewise.
14833 * fs/ext2.c: Likewise.
14834 * fs/hfs.c: Likewise.
14835 * fs/iso9660.c: Likewise.
14836 * fs/ntfs.c: Likewise.
14837 * fs/sfs.c: Likewise.
14838 * fs/udf.c: Likewise.
14839 * fs/ufs.c: Likewise.
14840 * fs/xfs.c: Likewise.
14841 * gencmdlist.sh: Likewise.
14842 * genmk.rb: Likewise.
14843 * include/grub/disk.h: Likewise.
14844 * include/grub/efi/api.h: Likewise.
14845 * include/grub/efi/efi.h: Likewise.
14846 * include/grub/efi/pe32.h: Likewise.
14847 * include/grub/elf.h: Likewise.
14848 * include/grub/fs.h: Likewise.
14849 * include/grub/i386/at_keyboard.h: Likewise.
14850 * include/grub/i386/pc/memory.h: Likewise.
14851 * include/grub/i386/pc/vbe.h: Likewise.
14852 * include/grub/i386/pci.h: Likewise.
14853 * include/grub/i386/tsc.h: Likewise.
14854 * include/grub/ieee1275/ieee1275.h: Likewise.
14855 * include/grub/ntfs.h: Likewise.
14856 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
14857 * include/grub/sparc64/libgcc.h: Likewise.
14858 * include/grub/symbol.h: Likewise.
14859 * include/grub/types.h: Likewise.
14860 * include/multiboot2.h: Likewise.
14861 * io/gzio.c: Likewise.
14862 * kern/device.c: Likewise.
14863 * kern/disk.c: Likewise.
14864 * kern/efi/efi.c: Likewise.
14865 * kern/efi/mm.c: Likewise.
14866 * kern/elf.c: Likewise.
14867 * kern/file.c: Likewise.
14868 * kern/i386/dl.c: Likewise.
14869 * kern/i386/pc/init.c: Likewise.
14870 * kern/i386/pc/startup.S: Likewise.
14871 * kern/ieee1275/ieee1275.c: Likewise.
14872 * kern/ieee1275/init.c: Likewise.
14873 * kern/main.c: Likewise.
14874 * kern/mm.c: Likewise.
14875 * kern/powerpc/dl.c: Likewise.
14876 * kern/sparc64/dl.c: Likewise.
14877 * kern/x86_64/dl.c: Likewise.
14878 * lib/hexdump.c: Likewise.
14879 * loader/efi/appleloader.c: Likewise.
14880 * loader/i386/ieee1275/linux.c: Likewise.
14881 * loader/i386/pc/chainloader.c: Likewise.
14882 * loader/i386/pc/linux.c: Likewise.
14883 * loader/i386/pc/multiboot2.c: Likewise.
14884 * loader/ieee1275/multiboot2.c: Likewise.
14885 * loader/multiboot2.c: Likewise.
14886 * loader/multiboot_loader.c: Likewise.
14887 * loader/powerpc/ieee1275/linux.c: Likewise.
14888 * normal/completion.c: Likewise.
14889 * normal/menu_entry.c: Likewise.
14890 * partmap/apple.c: Likewise.
14891 * util/grub.d/10_hurd.in: Likewise.
14892 * util/hostfs.c: Likewise.
14893 * video/readers/png.c: Likewise.
14895 2010-01-03 Colin Watson <cjwatson@ubuntu.com>
14897 * include/grub/misc.h (GNUC_PREREQ): New macro.
14898 (ATTRIBUTE_ERROR): New macro.
14899 * include/grub/list.h (grub_bad_type_cast_real): Use
14902 2010-01-03 Carles Pina i Estany <carles@pina.cat>
14904 * normal/menu_text.c (print_message): Change messages.
14906 2010-01-03 Carles Pina i Estany <carles@pina.cat>
14908 * normal/menu_entry.c (store_completion): Gettextizze.
14910 2010-01-03 Carles Pina i Estany <carles@pina.cat>
14912 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
14914 2010-01-03 Carles Pina i Estany <carles@pina.cat>
14916 * po/POTFILES: Sort correctly.
14918 2010-01-03 Carles Pina i Estany <carles@pina.cat>
14920 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
14921 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
14922 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
14924 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
14925 summary. Gettextizze the strings.
14926 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
14927 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
14928 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
14930 (GRUB_MOD_INIT): Remove command name from summary.
14931 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
14933 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
14934 * term/i386/pc/serial.c (options): Add full stops.
14935 (GRUB_MOD_INIT): Remove command name from the summary.
14937 2010-01-03 Carles Pina i Estany <carles@pina.cat>
14939 * commands/acpi.c: Gettextizze help strings and/or options. Include
14940 `grub/i18n.h' if needed.
14941 * commands/blocklist.c: Likewise.
14942 * commands/boot.c: Likewise.
14943 * commands/cat.c: Likewise.
14944 * commands/cmp.c: Likewise.
14945 * commands/configfile.c: Likewise.
14946 * commands/crc.c: Likewise.
14947 * commands/date.c: Likewise.
14948 * commands/echo.c: Likewise.
14949 * commands/efi/fixvideo.c: Likewise.
14950 * commands/efi/loadbios.c: Likewise.
14951 * commands/gptsync.c: Likewise.
14952 * commands/halt.c: Likewise.
14953 * commands/handler.c: Likewise.
14954 * commands/hdparm.c: Likewise.
14955 * commands/hexdump.c: Likewise.
14956 * commands/i386/cpuid.c: Likewise.
14957 * commands/i386/pc/drivemap.c: Likewise.
14958 * commands/i386/pc/halt.c: Likewise.
14959 * commands/i386/pc/pxecmd.c: Likewise.
14960 * commands/i386/pc/vbeinfo.c: Likewise.
14961 * commands/i386/pc/vbetest.c: Likewise.
14962 * commands/ieee1275/suspend.c: Likewise.
14963 * commands/keystatus.c: Likewise.
14964 * commands/loadenv.c: Likewise.
14965 * commands/ls.c: Likewise.
14966 * commands/lsmmap.c: Likewise.
14967 * commands/lspci.c: Likewise.
14968 * commands/memrw.c: Likewise.
14969 * commands/minicmd.c: Likewise.
14970 * commands/parttool.c: Likewise.
14971 * commands/password.c: Likewise.
14972 * commands/probe.c: Likewise.
14973 * commands/read.c: Likewise.
14974 * commands/reboot.c: Likewise.
14975 * commands/search.c: Likewise.
14976 * commands/sleep.c: Likewise.
14977 * commands/test.c: Likewise.
14978 * commands/true.c: Likewise.
14979 * commands/usbtest.c: Likewise.
14980 * commands/videotest.c: Likewise.
14981 * commands/xnu_uuid.c: Likewise.
14982 * disk/loopback.c: Likewise.
14983 * hello/hello.c: Likewise.
14984 * loader/i386/bsd.c: Likewise.
14985 * term/i386/pc/serial.c: Likewise.
14986 * po/POTFILES: Add new files.
14988 2010-01-02 Colin Watson <cjwatson@ubuntu.com>
14990 * term/i386/pc/at_keyboard.c
14991 (keyboard_controller_wait_untill_ready): Rename to ...
14992 (keyboard_controller_wait_until_ready): ... this. Update all users.
14994 2010-01-01 Carles Pina i Estany <carles@pina.cat>
14996 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
14997 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
14998 string using string width.
14999 * normal/menu_text.c (grub_print_message_indented): Use
15000 grub_print_spaces and not print_spaces.
15001 (print_timeout): Likewise.
15002 (print_spaces): Move to...
15003 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
15005 2010-01-01 Robert Millan <rmh.grub@aybabtu.com>
15007 Import from Gnulib.
15009 * gnulib/getdelim.c: New file.
15010 * gnulib/getline.c: Likewise.
15012 2009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
15014 * include/grub/list.h (grub_assert_fail): Removed.
15015 (grub_bad_type_cast_real): New function.
15016 (grub_bad_type_cast): New macro.
15017 (GRUB_AS_LIST): Use grub_bad_type_cast.
15018 (GRUB_AS_LIST_P): Likewise.
15019 (GRUB_AS_NAMED_LIST): Likewise.
15020 (GRUB_AS_NAMED_LIST_P): Likewise.
15021 (GRUB_AS_PRIO_LIST): Likewise.
15022 (GRUB_AS_PRIO_LIST_P): Likewise.
15023 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
15025 2009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
15027 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
15030 2009-12-29 Robert Millan <rmh.grub@aybabtu.com>
15032 * configure.ac: Check for TARGET_CFLAGS initialization before we
15033 initialize it ourselves (sigh).
15034 Move a few modifications to TARGET_CFLAGS to be unconditional
15035 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
15038 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
15039 * term/i386/pc/at_keyboard.c
15040 (keyboard_controller_wait_untill_ready): Likewise.
15041 (keyboard_controller_led): Rename `led_status' paramter to avoid
15044 2009-12-28 Carles Pina i Estany <carles@pina.cat>
15046 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
15049 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
15051 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
15053 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
15055 * normal/menu_text.c (grub_print_message_indented): Prevent
15056 past-the-end-of-array dereference.
15058 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
15060 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
15061 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
15063 2009-12-27 Carles Pina i Estany <carles@pina.cat>
15065 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
15066 * normal/main.c (grub_normal_read_line): Remove a space from the
15069 2009-12-27 Carles Pina i Estany <carles@pina.cat>
15071 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
15072 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
15073 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
15074 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
15075 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
15076 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
15077 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
15079 2009-12-26 Carles Pina i Estany <carles@pina.cat>
15081 * video/readers/jpeg.c (cmd): Declare.
15082 (grub_cmd_jpegtest): Use `grub_command_t' type.
15083 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
15085 (GRUB_MOD_FINI): Use `cmd' to unregister.
15086 * video/readers/png.c (cmd): Declare.
15087 (grub_cmd_pngtest): Use `grub_command_t' type.
15088 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
15090 (GRUB_MOD_FINI): Use `cmd' to unregister.
15091 * video/readers/tga.c (cmd): Declare.
15092 (grub_cmd_tgatest): Use `grub_command_t' type.
15093 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
15095 (GRUB_MOD_FINI): Use `cmd' to unregister.
15097 2009-12-26 Carles Pina i Estany <carles@pina.cat>
15099 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
15101 * kern/corecmd.c (grub_register_core_commands): Likewise.
15102 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
15103 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
15104 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
15105 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
15106 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
15107 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
15108 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
15109 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
15110 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
15111 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
15112 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
15113 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
15114 * normal/handler.c (insert_handler): Likewise.
15115 * normal/main.c (GRUB_MOD_INIT): Likewise.
15116 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
15118 2009-12-26 Carles Pina i Estany <carles@pina.cat>
15120 * commands/help.c (grub_cmd_help): Print the command name before the
15122 (GRUB_MOD_INIT): Remove command name from the summary.
15123 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
15125 * lib/arg.c (find_long): Print the command name before the summary.
15126 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
15128 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
15129 * commands/cat.c (GRUB_MOD_INIT): Likewise.
15130 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
15131 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
15132 * commands/crc.c (GRUB_MOD_INIT): Likewise.
15133 * commands/date.c (GRUB_MOD_INIT): Likewise.
15134 * commands/echo.c (GRUB_MOD_INIT): Likewise.
15135 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
15136 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
15137 * commands/handler.c (GRUB_MOD_INIT): Likewise.
15138 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
15139 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
15140 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
15141 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
15142 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
15143 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
15144 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
15145 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
15146 * commands/ls.c (GRUB_MOD_INIT): Likewise.
15147 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
15148 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
15149 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
15150 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
15151 * commands/password.c (GRUB_MOD_INIT): Likewise.
15152 * commands/probe.c (GRUB_MOD_INIT): Likewise.
15153 * commands/read.c (GRUB_MOD_INIT): Likewise.
15154 * commands/search.c (GRUB_MOD_INIT): Likewise.
15155 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
15156 * commands/test.c (GRUB_MOD_INIT): Likewise.
15157 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
15158 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
15159 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
15160 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
15161 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
15162 * lib/arg.c (GRUB_MOD_INIT): Likewise.
15163 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
15164 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
15165 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
15166 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
15167 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
15168 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
15169 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
15170 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
15172 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
15174 Use search command for preliminar UUID search.
15176 * commands/search.c: Split into ...
15177 * commands/search_wrap.c: ...this
15178 * commands/search.c: ...and this.
15179 * commands/search_file.c: New file.
15180 * commands/search_label.c: New file.
15181 * commands/search_uuid.c: New file.
15182 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
15183 Add commands/search_wrap.c, commands/search_file.c,
15184 commands/search_label.c and commands/search_uuid.c.
15185 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
15186 (search_mod_SOURCES): Set to commands/search_wrap.c.
15187 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
15189 (search_fs_file_mod_SOURCES): New variable.
15190 (search_fs_file_mod_CFLAGS): Likewise.
15191 (search_fs_file_mod_LDFLAGS): Likewise.
15192 (search_label_mod_SOURCES): Likewise.
15193 (search_label_mod_CFLAGS): Likewise.
15194 (search_label_mod_LDFLAGS): Likewise.
15195 (search_fs_uuid_mod_SOURCES): New variable.
15196 (search_fs_uuid_mod_CFLAGS): Likewise.
15197 (search_fs_uuid_mod_LDFLAGS): Likewise.
15198 (fs_file_mod_SOURCES): Removed.
15199 (fs_file_mod_CFLAGS): Likewise.
15200 (fs_file_mod_LDFLAGS): Likewise.
15201 (fs_uuid_mod_SOURCES): Removed.
15202 (fs_uuid_mod_CFLAGS): Likewise.
15203 (fs_uuid_mod_LDFLAGS): Likewise.
15204 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
15205 Set to util/grub-install.in.
15206 * disk/fs_file.c: Removed.
15207 * disk/fs_uuid.c: Likewise.
15208 * include/grub/search.h: New file.
15209 * util/grub-install.in: Handle sparc64.
15210 Create and use load.cfg.
15211 * util/sparc64/ieee1275/grub-install.in: Removed.
15213 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
15215 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
15216 Ignore return status if CF is cleared.
15217 (grub_biosdisk_get_diskinfo_standard): Likewise.
15219 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
15221 * term/i386/pc/at_keyboard.c
15222 (keyboard_controller_wait_untill_ready): New function.
15223 (grub_keyboard_controller_write, grub_keyboard_controller_read)
15224 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
15225 for keyboard polling, rather than duplicate the same loop. This
15226 saves a few bytes in code size.
15228 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
15230 Support for (pxe[:server[:gateway]]) syntax and
15231 use environment variable for PXE.
15233 * commands/i386/pc/pxecmd.c (options): Removed.
15234 (print_ip): Removed.
15235 (grub_cmd_pxe): Removed
15236 (grub_cmd_pxe_unload): New function.
15237 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
15238 (grub_pxe_your_ip): Made static.
15239 (grub_pxe_default_server_ip): Likewise.
15240 (grub_pxe_default_gateway_ip): Likewise.
15241 (grub_pxe_blksize): Likewise.
15242 (parse_ip): New function.
15243 (grub_pxe_open): Support server and gateway specification.
15244 (grub_pxe_close): Free disk->data.
15245 (grub_pxefs_open): Use disk->data.
15246 (grub_pxefs_read): Likewise.
15247 (grub_env_write_readonly): New function.
15248 (set_mac_env): Likewise.
15249 (set_env_limn_ro): Likewise.
15250 (parse_dhcp_vendor): Likewise.
15251 (grub_pxe_detect): Set the environment variables.
15252 (set_ip_env): New function.
15253 (write_ip_env): Likewise.
15254 (grub_env_write_pxe_default_server): Likewise.
15255 (grub_env_write_pxe_default_gateway): Likewise.
15256 (grub_env_write_pxe_blocksize): Likewise.
15257 (GRUB_MOD_INIT(pxe)): Set environment variables.
15258 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
15259 (grub_pxe_mac_addr_t): ... this. All users updated.
15260 (grub_pxe_your_ip): Removed.
15261 (grub_pxe_server_ip): Likewise.
15262 (grub_pxe_gateway_ip): Likewise.
15263 (grub_pxe_blksize): Likewise.
15265 2009-12-25 Carles Pina i Estany <carles@pina.cat>
15267 * commands/help.c: Include `<grub/i18n.h>'.
15268 (grub_cmd_help): Gettextizze.
15269 (GRUB_MOD_INIT): Likewise.
15270 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
15271 (GRUB_MOD_INIT): Gettextizze.
15272 * commands/search.c: Include `<grub/i18n.h>'.
15273 (options): Gettextizze.
15274 (GRUB_MOD_INIT): Gettextizze.
15275 * lib/arg.c: Include `<grub/i18n.h>'.
15276 (help_options): Gettextizze.
15277 (find_long): Likewise.
15278 (grub_arg_show_help): Likewise.
15279 * normal/dyncmd.c: Include `<grub/i18n.h>'.
15280 (read_command_list): Gettextizze.
15281 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
15282 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
15284 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
15286 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
15287 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
15288 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
15289 (led_status): New variable.
15290 (keyboard_controller_led): New function.
15291 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
15292 update led status for caps lock, num lock and scroll lock.
15294 2009-12-25 Felix Zielcke <fzielcke@z-51.de>
15296 * util/hostdisk.c (open_device): Fix a comment.
15298 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
15300 * util/grub-install.in (host_os): New variable.
15301 * util/i386/efi/grub-install.in (host_os): Likewise.
15303 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
15305 * util/mkisofs/write.c (padblock_write): Abort when given an
15306 excedingly large embed image, instead of silently truncating it.
15308 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
15310 * include/multiboot.h: Indentation fixes.
15312 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
15314 * include/multiboot.h (struct multiboot_aout_symbol_table)
15315 (struct multiboot_elf_section_header_table): New structure
15316 declarations (stolen from GRUB Legacy).
15317 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
15320 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
15321 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
15324 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
15326 * include/multiboot.h: Make comments src2texi-friendly.
15328 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
15330 For consistency with [multiboot]/docs/boot.S.
15332 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
15333 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
15334 (MULTIBOOT_MAGIC2): Rename from this ...
15335 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
15337 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
15339 * include/multiboot.h: Remove `<grub/types.h>'.
15340 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
15341 types. Update all users.
15343 2009-12-25 Carles Pina i Estany <carles@pina.cat>
15345 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
15346 `couldn't' and `can not' by `cannot'.
15347 * commands/i386/pc/drivemap.c: Likewise.
15348 * disk/ata.c: Likewise.
15349 * disk/ieee1275/nand.c: Likewise.
15350 * fs/affs.c: Likewise.
15351 * fs/fat.c: Likewise.
15352 * fs/hfs.c: Likewise.
15353 * fs/hfsplus.c: Likewise.
15354 * fs/iso9660.c: Likewise.
15355 * fs/jfs.c: Likewise.
15356 * fs/minix.c: Likewise.
15357 * fs/reiserfs.c: Likewise.
15358 * fs/sfs.c: Likewise.
15359 * fs/udf.c: Likewise.
15360 * fs/ufs.c: Likewise.
15361 * fs/xfs.c: Likewise.
15362 * loader/powerpc/ieee1275/linux.c: Likewise.
15363 * loader/sparc64/ieee1275/linux.c: Likewise.
15364 * util/grub-probe.c: Likewise.
15365 * util/misc.c: Likewise.
15367 2009-12-24 Carles Pina i Estany <carles@pina.cat>
15369 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
15371 * commands/acpi.c: Likewise.
15372 * commands/blocklist.c: Likewise.
15373 * commands/efi/loadbios.c: Likewise.
15374 * commands/i386/pc/drivemap.c: Likewise.
15375 * commands/loadenv.c: Likewise.
15376 * commands/memrw.c: Likewise.
15377 * commands/password.c: Likewise.
15378 * commands/videotest.c: Likewise.
15379 * disk/ata.c: Likewise.
15380 * disk/ata_pthru.c: Likewise.
15381 * disk/dmraid_nvidia.c: Likewise.
15382 * disk/ieee1275/nand.c: Likewise.
15383 * disk/ieee1275/ofdisk.c: Likewise.
15384 * disk/loopback.c: Likewise.
15385 * disk/lvm.c: Likewise.
15386 * disk/mdraid_linux.c: Likewise.
15387 * disk/raid.c: Likewise.
15388 * disk/raid6_recover.c: Likewise.
15389 * disk/scsi.c: Likewise.
15390 * efiemu/main.c: Likewise.
15391 * efiemu/mm.c: Likewise.
15392 * efiemu/pnvram.c: Likewise.
15393 * efiemu/symbols.c: Likewise.
15394 * font/font.c: Likewise.
15395 * fs/cpio.c: Likewise.
15396 * fs/hfsplus.c: Likewise.
15397 * fs/iso9660.c: Likewise.
15398 * fs/jfs.c: Likewise.
15399 * fs/minix.c: Likewise.
15400 * fs/ntfs.c: Likewise.
15401 * fs/ntfscomp.c: Likewise.
15402 * fs/reiserfs.c: Likewise.
15403 * fs/ufs.c: Likewise.
15404 * fs/xfs.c: Likewise.
15405 * gettext/gettext.c: Likewise.
15406 * include/grub/auth.h: Likewise.
15407 * kern/elf.c: Likewise.
15408 * kern/file.c: Likewise.
15409 * kern/ieee1275/init.c: Likewise.
15410 * kern/ieee1275/mmap.c: Likewise.
15411 * kern/ieee1275/openfw.c: Likewise.
15412 * kern/powerpc/dl.c: Likewise.
15413 * kern/sparc64/dl.c: Likewise.
15414 * lib/arg.c: Likewise.
15415 * loader/i386/bsd.c: Likewise.
15416 * loader/i386/bsdXX.c: Likewise.
15417 * loader/i386/efi/linux.c: Likewise.
15418 * loader/i386/efi/xnu.c: Likewise.
15419 * loader/i386/ieee1275/linux.c: Likewise.
15420 * loader/i386/linux.c: Likewise.
15421 * loader/i386/multiboot.c: Likewise.
15422 * loader/i386/pc/linux.c: Likewise.
15423 * loader/i386/pc/multiboot2.c: Likewise.
15424 * loader/i386/xnu.c: Likewise.
15425 * loader/ieee1275/multiboot2.c: Likewise.
15426 * loader/macho.c: Likewise.
15427 * loader/machoXX.c: Likewise.
15428 * loader/multiboot2.c: Likewise.
15429 * loader/multiboot_loader.c: Likewise.
15430 * loader/powerpc/ieee1275/linux.c: Likewise.
15431 * loader/sparc64/ieee1275/linux.c: Likewise.
15432 * loader/xnu.c: Likewise.
15433 * loader/xnu_resume.c: Likewise.
15434 * mmap/i386/pc/mmap.c: Likewise.
15435 * normal/menu_viewer.c: Likewise.
15436 * partmap/acorn.c: Likewise.
15437 * partmap/amiga.c: Likewise.
15438 * partmap/apple.c: Likewise.
15439 * script/lexer.c: Likewise.
15440 * term/gfxterm.c: Likewise.
15441 * term/i386/pc/serial.c: Likewise.
15442 * term/i386/pc/vga.c: Likewise.
15443 * term/ieee1275/ofconsole.c: Likewise.
15444 * term/terminfo.c: Likewise.
15445 * video/bitmap.c: Likewise.
15446 * video/efi_gop.c: Likewise.
15447 * video/efi_uga.c: Likewise.
15448 * video/fb/video_fb.c: Likewise.
15449 * video/i386/pc/vbe.c: Likewise.
15450 * video/readers/tga.c: Likewise.
15451 * video/video.c: Likewise.
15453 2009-12-23 Felix Zielcke <fzielcke@z-51.de>
15455 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
15456 * commands/lspci.c: Likewise.
15457 * commands/probe.c: Likewise.
15458 * commands/xnu_uuid.c: Likewise.
15459 * conf/i386-coreboot.rmk: Likewise.
15460 * conf/i386-efi.rmk: Likewise.
15461 * conf/i386-ieee1275.rmk: Likewise.
15462 * conf/i386-pc.rmk: Likewise.
15463 * conf/powerpc-ieee1275.rmk: Likewise.
15464 * conf/sparc64-ieee1275.rmk: Likewise.
15465 * conf/x86_64-efi.rmk: Likewise.
15466 * fs/i386/pc/pxe.c: Likewise.
15467 * gettext/gettext.c: Likewise.
15468 * include/grub/efi/graphics_output.h: Likewise.
15469 * include/grub/i386/pc/memory.h: Likewise.
15470 * kern/env.c: Likewise.
15471 * kern/i386/qemu/startup.S: Likewise.
15472 * lib/i386/pc/biosnum.c: Likewise.
15473 * lib/i386/relocator.c: Likewise.
15474 * lib/i386/relocator_asm.S: Likewise.
15475 * lib/relocator.c: Likewise.
15476 * loader/i386/bsd.c: Likewise.
15477 * loader/i386/multiboot.c: Likewise.
15478 * loader/i386/pc/chainloader.c: Likewise.
15479 * loader/i386/xnu.c: Likewise.
15480 * loader/xnu.c: Likewise.
15481 * normal/main.c: Likewise.
15482 * normal/menu_text.c: Likewise.
15483 * util/getroot.c: Likewise.
15484 * util/grub-mkconfig_lib.in: Likewise.
15485 * util/grub.d/00_header.in: Likewise.
15486 * util/i386/pc/grub-mkimage.c: Likewise.
15487 * util/mkisofs/eltorito.c: Likewise.
15488 * util/mkisofs/exclude.h: Likewise.
15489 * util/mkisofs/hash.c: Likewise.
15490 * util/mkisofs/iso9660.h: Likewise.
15491 * util/mkisofs/joliet.c: Likewise.
15492 * util/mkisofs/mkisofs.c: Likewise.
15493 * util/mkisofs/mkisofs.h: Likewise.
15494 * util/mkisofs/multi.c: Likewise.
15495 * util/mkisofs/name.c: Likewise.
15496 * util/mkisofs/rock.c: Likewise.
15497 * util/mkisofs/tree.c: Likewise.
15498 * util/mkisofs/write.c: Likewise.
15499 * video/efi_gop.c: Likewise.
15501 2009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
15503 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
15506 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
15508 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
15509 * genmk.rb (class SCRIPT): Modify the target file instead of source.
15511 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
15513 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
15514 (GRUB_MOD_INIT(memrw)): Update help line.
15516 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
15518 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
15519 Use grub_extcmd_t. All users updated.
15520 (options): New variable.
15521 (grub_cmd_read): Restructure for readability. Support "-v" option.
15522 (grub_cmd_write): Restructure for readability.
15524 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
15526 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
15528 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
15530 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
15531 with the actual contents of the correspondending make variable.
15532 * util/grub-mkrescue.in (pkglib_DATA): New variable.
15533 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
15534 specifying `*.lst' and `efiemu??.o'
15536 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
15538 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
15539 after function name.
15540 Noticed by Rene Engelhard <rene@debian.org>.
15542 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
15544 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
15545 (options): New variable.
15546 (iospace): Likewise.
15547 (grub_lspci_iter): List IO spaces if "-i" was given.
15548 (grub_cmd_lspci): Parse options.
15549 (GRUB_MOD_INIT(lspci)): Use extcmd.
15550 (GRUB_MOD_FINI(lspci)): Likewise.
15552 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
15554 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
15555 `function' keyword.
15556 Patch by Tony Mancill <tmancill@debian.org>.
15558 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
15560 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
15561 (grub_uhci_portstatus): Likewise.
15562 (grub_uhci_portstatus): Add necessary delay.
15563 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
15565 2009-12-21 Carles Pina i Estany <carles@pina.cat>
15567 * commands/acpi.c (options): Fix capitalizations and/or full stops.
15568 (GRUB_MOD_INIT): Likewise.
15569 * commands/boot.c (GRUB_MOD_INIT): Likewise.
15570 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
15571 * commands/echo.c (options): Fix capitalizations and/or full stops.
15572 * commands/efi/loadbios.c (enable_rom_area): Likewise.
15573 (enable_rom_area): Likewise.
15574 (GRUB_MOD_INIT): Likewise.
15575 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
15576 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
15577 * commands/handler.c (GRUB_MOD_INIT): Likewise.
15578 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
15579 * commands/hexdump.c (options): Likewise.
15580 * commands/i386/cpuid.c (options): Likewise.
15581 (GRUB_MOD_INIT): Likewise.
15582 * commands/i386/pc/drivemap.c (options): Likewise.
15583 (GRUB_MOD_INIT): Likewise.
15584 * commands/i386/pc/halt (options): Likewise.
15585 (GRUB_MOD_INIT): Likewise.
15586 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
15587 * commands/i386/pc/pxecmd.c (options): Likewise.
15588 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
15589 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
15590 * commands/keystatus.c (options): Likewise.
15591 (GRUB_MOD_INIT): Likewise.
15592 * commands/loadenv.c (options): Likewise.
15593 * commands/ls.c (options): Likewise.
15594 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
15595 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
15596 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
15597 * commands/parttool.c (helpmsg): Likewise.
15598 * commands/probe.c (options): Likewise.
15599 * commands/read.c (GRUB_MOD_INIT): Likewise.
15600 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
15601 * commands/search.c (options): Likewise.
15602 * commands/sleep.c (options): Likewise.
15603 * commands/test.c (GRUB_MOD_INIT): Likewise.
15604 * commands/true.c (GRUB_MOD_INIT): Likewise.
15605 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
15606 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
15607 * lib/arg.c (help_options): Likewise.
15608 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
15610 * po/POTFILES: Add `commands/loadenv.c'.
15612 2009-12-21 Felix Zielcke <fzielcke@z-51.de>
15614 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
15615 instead of specifying them explicit.
15617 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
15619 * NEWS: Add grub-probe support for GNU/Hurd.
15621 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
15623 * NEWS: gettext was added after 1.97.
15625 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
15627 * util/mkisofs/msdos_partition.h: New file (based on
15628 include/grub/msdos_partition.h).
15629 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
15630 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
15631 (ld_options, main): Recognize --protective-msdos-label.
15632 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
15633 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
15634 (padblock_write): If `use_protective_msdos_label' is set, patch a
15635 protective DOS-style label in the output image.
15637 * util/grub-mkrescue.in: Use --protective-msdos-label.
15639 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
15641 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
15644 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
15646 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
15648 (ld_options, main): Recognize `--embedded-boot'.
15649 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
15651 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
15652 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
15653 (padblock_write): Likewise. Rewrite to support embedded boot image.
15655 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
15656 for BIOS-based disk boot instead of only ElTorito.
15658 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
15660 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
15661 build (not needed for bootstrap).
15663 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
15665 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
15666 from i386-pc build (not needed for bootstrap).
15667 Rewrite a pair of strings.
15669 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
15671 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
15673 2009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
15675 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
15677 2009-12-21 Andreas Born <futur.andy@googlemail.com>
15679 * kern/env.c (grub_env_context_open): Mark exported variable for
15682 2009-12-21 Andreas Born <futur.andy@googlemail.com>
15684 * kern/env.c (grub_env_export): Create nonexistent variables before
15687 2009-12-20 Carles Pina i Estany <carles@pina.cat>
15689 * include/grub/auth.h: Include `<grub/i18n.h>'.
15690 (GRUB_GET_PASSWORD): Gettextizze string.
15691 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
15693 (grub_utf8_to_ucs4_alloc): Fix indentation.
15694 (grub_print_ucs4): Likewise.
15695 (grub_getstringwidth): Likewise.
15696 (print_message_indented): New declaration.
15697 * normal/auth.c: Include `<grub/i18n.h>'.
15698 (grub_auth_check_authentication): Gettexttize string.
15699 * normal/cmdline.c: Include `<grub/i18n.h>'.
15700 (grub_cmdline_get): Gettextizze.
15701 * normal/color.c: Include `<grub/i18n.h>'.
15702 (grub_parse_color_name_pair): Gettexttize strings.
15703 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
15704 string (use `print_message_indented').
15705 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
15706 `include/grub/normal.h'.
15707 (print_message_indented): Renamed to ...
15708 (grub_print_message_indented): ... this. Remove `static' qualifer (now
15709 used in normal/main.c).
15710 (print_message): Use `grub_print_message_indented' instead of
15711 `print_message_indented'.
15712 (print_timeout): Likewise.
15713 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
15714 (grub_normal_print_device_info): Gettexttize strings.
15715 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
15717 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
15719 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
15720 of arguments. Return number of tokens and not arguments. All users
15723 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
15725 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
15726 non-MSDOS paritions.
15728 2009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
15730 * include/grub/types.h (UNUSED): Removed since it conflicts with
15731 NetBSD headers. All users changed to direct __attribute__ ((unused)).
15732 Reported by Grégoire Sutre.
15734 2009-12-19 Carles Pina i Estany <carles@pina.cat>
15736 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
15737 (grub_print_ucs4_alloc): Likewise.
15738 (grub_getstringwidth): Likewise.
15739 * normal/main.c (grub_normal_init_page): Gettextize version string.
15740 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
15741 (getstringwidth): Renamed to ...
15742 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
15743 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
15744 (grub_print_ucs4): Remove `static' qualifer (now used in
15746 * po/POTFILES: Add normal/main.c.
15748 2009-12-19 Carles Pina i Estany <carles@pina.cat>
15750 * normal/menu_text.c (STANDARD_MARGIN): New macro.
15751 (print_message_indented): Add `margin_left' and `margin_right'
15753 (print_message): Update `print_message_indented' calls. Adds '\n' to the
15755 (print_timeout): Use `print_message_indented' to print the message.
15756 Deletes `second_stage' parameter.
15757 (run_menu): Update `print_timeout' calls.
15759 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
15761 Fix console palette on OpenFirmware.
15763 * term/ieee1275/ofconsole.c (MAX): Removed.
15764 (colors): Redone based on VGA palette.
15765 (grub_ofconsole_setcolor): Discard brightness bit since only 8
15766 colors are supported.
15767 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
15769 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
15771 Fix potential EfiEmu double prepare.
15773 * efiemu/main.c (prepared): New variable
15774 (grub_efiemu_unload): Set prepare to '0'.
15775 (grub_efiemu_prepare): Return if already prepared. Set prepared.
15777 set_virtual_address_map support.
15779 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
15781 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
15783 (grub_efiemu_crc32): Likewise.
15784 (grub_efiemu_crc64): Likewise.
15785 (grub_efiemu_set_virtual_address_map): Likewise.
15786 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
15788 (grub_autoefi_set_virtual_address_map): Likewise.
15789 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
15790 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
15791 Restructure flow to accomodate it.
15792 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
15793 (grub_efiemu_crc): Recompute CRC32.
15794 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
15795 (efiemu_ptv_relocated): ... this. Made global. All users updated.
15796 * efiemu/symbols.c (relocated_handle): New variable.
15797 (grub_efiemu_free_syms): Free relocated_handle.
15798 (grub_efiemu_alloc_syms): Allocate relocated_handle.
15799 (grub_efiemu_write_sym_markers): New function.
15800 (grub_efiemu_set_virtual_address_map): Likewise.
15802 Newer XNU parameters.
15804 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
15805 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
15806 (grub_xnu_fill_devicetree): New prototype.
15807 (grub_xnu_heap_real_start): New variable.
15808 * loader/xnu.c (get_name_ptr): New function.
15809 (grub_xnu_load_driver): Fill namelen and name.
15811 64-bit xnu support.
15813 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
15814 and 'loader/macho64.c'.
15815 * conf/i386-pc.rmk: Likewise.
15816 * conf/x86_64-efi.rmk: Likewise.
15817 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
15818 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
15819 * include/grub/macho.h (grub_macho_segment64): New structure.
15820 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
15821 (grub_macho_size32): ... to this.
15822 (grub_macho32_get_entry_point): Renamed from ...
15823 (grub_macho_get_entry_point32): ... to this.
15824 (grub_macho_contains_macho64): New prototype.
15825 (grub_macho_size64): Likewise.
15826 (grub_macho_get_entry_point64): Likewise.
15827 (grub_macho32_load): Renamed from ...
15828 (grub_macho_load32): ... to this.
15829 (grub_macho32_filesize): Renamed from ...
15830 (grub_macho_filesize32): ... to this.
15831 (grub_macho32_readfile): Renamed from ...
15832 (grub_macho_readfile32): ... to this.
15833 (grub_macho_filesize64): New prototype.
15834 (grub_macho_readfile64): Likewise.
15835 (grub_macho_parse32): Likewise.
15836 (grub_macho_parse64): Likewise.
15837 * loader/macho.c: Split into ...
15838 * loader/machoXX.c: ... and this. Replace 32 with XX.
15839 * loader/macho32.c: New file.
15840 * loader/macho64.c: Likewise.
15841 * loader/xnu.c (grub_xnu_is_64bit): New variable.
15842 (grub_cmd_xnu_kernel): Make 32-bit only.
15843 (grub_cmd_xnu_kernel64): New function.
15844 (grub_xnu_load_driver): Support Mach-O 64.
15845 (grub_cmd_xnu_mkext): Likewise.
15846 * util/grub.d/30_os-prober.in (osx_entry): New function.
15847 Generate entries for 64-bit boot too.
15849 Eliminate ad-hoc tree format in XNU and EfiEmu.
15851 * efiemu/main.c (grub_efiemu_prepare): Update comment.
15852 * efiemu/pnvram.c: Rewritten to use environment variables.
15855 Inline utf16_to_utf8.
15857 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
15858 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
15860 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
15862 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
15863 * commands/usbtest.c (grub_usb_get_string): ... move here.
15864 (usb_print_str): Fix error handling.
15865 * include/grub/usb.h (grub_usb_get_string): Remove.
15867 UTF-8 to UTF-16 transformation.
15869 * conf/common.rmk (pkglib_MODULES): Add charset.mod
15870 (charset_mod_SOURCES): New variable.
15871 (charset_mod_CFLAGS): Likewise.
15872 (charset_mod_LDFLAGS): Likewise.
15873 * include/grub/utf.h: New file.
15874 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
15876 Support for device properties.
15878 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
15879 (grub_xnu_devprop_device_header): Likewise.
15880 (grub_xnu_devprop_device_descriptor): Likewise.
15881 (grub_xnu_devprop_add_device): New prototype.
15882 (grub_xnu_devprop_remove_device): Likewise.
15883 (grub_xnu_devprop_remove_property): Likewise.
15884 (grub_xnu_devprop_add_property_utf8): Likewise.
15885 (grub_xnu_devprop_add_property_utf16): Likewise.
15886 (grub_cpu_xnu_init): Likewise.
15887 (grub_cpu_xnu_fini): Likewise.
15888 (grub_cpu_xnu_unload): Likewise.
15889 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
15890 (property_descriptor): Likewise.
15891 (devices): New variable.
15892 (grub_xnu_devprop_remove_property): New function.
15893 (grub_xnu_devprop_add_device): Likewise.
15894 (grub_xnu_devprop_remove_device): Likewise.
15895 (grub_xnu_devprop_add_property): Likewise.
15896 (grub_xnu_devprop_add_property_utf8): Likewise.
15897 (grub_xnu_devprop_add_property_utf16): Likewise.
15898 (hextoval): Likewise.
15899 (grub_cpu_xnu_fill_devprop): Likewise.
15900 (grub_cmd_devprop_load): Likewise.
15901 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
15902 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
15903 (cmd_devprop_load): New variable.
15904 (grub_cpu_xnu_init): New function.
15905 (grub_cpu_xnu_fini): Likewise.
15906 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
15907 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
15908 (grub_cmd_xnu_devtree): Likewise.
15909 (hextoval): New function.
15910 (unescape): Likewise.
15911 (grub_xnu_fill_devicetree): Likewise.
15913 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
15914 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
15916 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
15918 Workaround for broken ATI VBE.
15920 * video/i386/pc/vbe.c (last_set_mode): New variable.
15921 (grub_vbe_set_video_mode): Set 'last_set_mode'.
15922 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
15923 (grub_video_vbe_setup): Don't check for reserved flag.
15925 2009-12-17 Felix Zielcke <fzielcke@z-51.de>
15927 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
15928 the `find' command.
15930 2009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
15932 UUID support for HFS.
15934 * fs/hfs.c (grub_hfs_uuid): New function.
15935 (grub_hfs_fs): New value .uuid.
15936 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
15938 2009-12-14 Felix Zielcke <fzielcke@z-51.de>
15940 Fix a segfault with parsing unknown long options.
15942 * util/grub-mkrelpath.c (options): Zero terminate it.
15944 2009-12-13 Carles Pina i Estany <carles@pina.cat>
15946 * include/grub/misc.h (grub_puts): New declaration.
15947 (grub_puts_): Likewise.
15948 * kern/misc.c (grub_puts): New definition.
15949 (grub_puts_): Likewise.
15951 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
15953 * util/grub-probe.c (probe): Improve error message.
15955 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
15957 * loader/i386/multiboot_elfxx.c
15958 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
15961 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15963 Relocator framework
15965 * loader/i386/xnu_helper.S: Removed. All users updated.
15966 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
15967 (relocator_mod_SOURCES): New variable.
15968 (relocator_mod_CFLAGS): Likewise.
15969 (relocator_mod_LDFLAGS): Likewise.
15970 (relocator_mod_ASFLAGS): Likewise.
15971 * conf/x86_64.rmk: Likewise.
15972 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
15973 (grub_multiboot_payload_entry_offset): Likewise.
15974 (grub_multiboot_forward_relocator): Likewise.
15975 (grub_multiboot_forward_relocator_end): Likewise.
15976 (grub_multiboot_backward_relocator): Likewise.
15977 (grub_multiboot_backward_relocator_end): Likewise.
15978 (grub_multiboot_payload_eip): New variable.
15979 (grub_multiboot_payload_orig): Likewise.
15980 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
15981 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
15982 * include/grub/i386/memory.h
15983 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
15984 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
15985 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
15986 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
15987 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
15988 * include/grub/i386/relocator.h: New file.
15989 * include/grub/x86_64/relocator.h: Likewise.
15990 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
15991 (XNU_RELOCATOR): New macro.
15992 (grub_xnu_launcher_start): Remove.
15993 (grub_xnu_launcher_end): Likewise.
15994 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
15995 (grub_xnu_heap_real_start): Remove.
15996 (grub_xnu_heap_start): Change to void *. All users updated.
15997 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
15998 * lib/i386/relocator.c: New file.
15999 * lib/i386/relocator_asm.S: Likewise.
16000 * lib/i386/relocator_backward.S: Likewise.
16001 * lib/mips/relocator.c: Likewise.
16002 * lib/mips/relocator_asm.S: Likewise.
16003 * lib/relocator.c: Likewise.
16004 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
16006 (playground): Likewise.
16007 (grub_multiboot_payload_orig): New variable.
16008 (grub_multiboot_payload_dest): Likewise.
16009 (grub_multiboot_payload_size): Likewise.
16010 (grub_multiboot_payload_eip): Likewise.
16011 (grub_multiboot_payload_esp): Likewise.
16012 (grub_multiboot_boot): Use grub_relocator32_boot.
16013 (grub_multiboot_unload): Free relocators.
16014 (grub_multiboot): Setup stack. Use relocators.
16015 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
16016 (grub_multiboot_load_elfXX): Use relocators.
16017 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
16018 (grub_multiboot_payload_size): Likewise.
16019 (grub_multiboot_payload_dest): Likewise.
16020 (grub_multiboot_payload_entry_offset): Likewise.
16021 (grub_multiboot_forward_relocator): Likewise.
16022 (grub_multiboot_backward_relocator): Likewise.
16023 (grub_multiboot_real_boot): Likewise.
16024 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
16025 (grub_xnu_entry_point): Likewise.
16026 (grub_xnu_arg1): Likewise.
16027 (grub_xnu_stack): Likewise.
16028 (grub_xnu_launch): Removed.
16029 (grub_xnu_boot_resume): New function.
16030 (grub_xnu_boot): Use relocators.
16031 * loader/i386/xnu_helper.S: Removed.
16032 * loader/xnu.c (grub_xnu_heap_start): New variable.
16033 (grub_xnu_heap_size): Likewise.
16034 (grub_xnu_heap_malloc): Use relocators.
16035 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
16037 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
16039 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
16042 2009-12-13 Carles Pina i Estany <carles@pina.cat>
16044 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
16045 GRUB_ERR_NONE before calling grub_env_set.
16047 2009-12-12 Robert Millan <rmh@aybabtu.com>
16049 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
16050 * genmk.rb (video): New variable.
16051 (CLEANFILES, VIDEOFILES): Add #{video}.
16052 (#{video}): New target rule.
16053 * genvideolist.sh: New file.
16054 * Makefile.in (pkglib_DATA): Add video.lst.
16055 (video.lst): New target rule.
16056 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
16058 * util/grub.d/30_os-prober.in: Replace `vbe' with
16059 ${GRUB_VIDEO_BACKEND}.
16061 2009-12-11 Robert Millan <rmh.grub@aybabtu.com>
16063 * THANKS: Add David Miller.
16065 2009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
16067 libpciaccess support.
16069 * Makefile.in (LIBPCIACCESS): New variable.
16070 (enable_grub_emu_pci): Likewise.
16071 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
16072 util/pci.c and commands/lspci.c.
16073 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
16074 * configure.ac (grub-emu-pci): New option.
16075 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
16076 (grub_pci_device_unmap_range): Likewise.
16077 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
16078 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
16079 (grub_pci_address_t) [!GRUB_UTIL]: New type.
16080 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
16081 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
16082 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
16083 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
16084 * include/grub/pciutils.h: New file.
16085 * util/pci.c: Likewise.
16087 2009-12-11 Felix Zielcke <fzielcke@z-51.de>
16089 * util/misc.c: Don't include <errno.h> twice.
16091 2009-12-10 Felix Zielcke <fzielcke@z-51.de>
16093 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
16094 name in an error message.
16095 (grub_biosdisk_rw): Likewise.
16097 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
16099 Eliminate NTFS 4Gib barrier.
16101 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
16102 (read_run_data): Likewise.
16103 (grub_ntfs_read_run_list): Likewise.
16104 (grub_ntfs_read_block): Likewise.
16105 (grub_ntfs_iterate_dir): Likewise.
16106 (read_mft): Likewise.
16107 (read_data): Likewise.
16109 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
16110 to avoid 64-bit division
16111 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
16112 (grub_ntfs_rlst): Use grub_disk_addr_t.
16114 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
16116 Eliminate grub-fstest 4Gib barrier.
16118 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
16119 (read_file): Fix error reporting.
16121 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
16123 Eliminate hexdump 4Gib barrier.
16125 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
16126 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
16128 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
16130 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
16133 2009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
16135 Remove miscellaneous files in distclean target.
16137 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
16139 2009-12-09 Colin Watson <cjwatson@ubuntu.com>
16141 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
16142 if they're already set. This resolves the conflict between my
16143 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
16144 fixing the --grub-probe option again.
16145 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
16146 change on 2009-10-06, so that we now once again source
16147 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
16149 2009-12-08 Robert Millan <rmh.grub@aybabtu.com>
16151 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
16152 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
16153 `util/devicemap.c'.
16155 2009-12-08 Carles Pina i Estany <carles@pina.cat>
16157 * include/grub/misc.h (grub_printf_): New declaration.
16158 * kern/misc.c (grub_printf_): New definition.
16159 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
16160 instead of `grub_printf' and `_'.
16161 * normal/menu_entry.c (store_completion): Likewise.
16163 (grub_menu_entry_run): Likewise.
16164 * normal/menu_text.c (grub_wait_after_message): Likewise.
16165 (notify_booting): Likewise.
16166 (notify_fallback): Likewise.
16167 (notify_execution_failure): Likewise.
16169 2009-12-07 Colin Watson <cjwatson@ubuntu.com>
16171 * configure.ac: Check for vasprintf.
16172 * util/misc.c (asprintf): Move allocation from here ...
16173 (vasprintf): ... to here. New function.
16174 (xasprintf): New function.
16175 * include/grub/util/misc.h (vasprintf, xasprintf): Add
16177 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
16178 * util/grub-mkfont.c (write_font): Likewise.
16179 * util/grub-probe.c (probe): Likewise.
16180 * util/hostdisk.c (make_device_name): Likewise.
16182 2009-12-06 David S. Miller <davem@sunset.davemloft.net>
16184 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
16185 anything even prefixed with 'cdrom' as a cdrom.
16187 2009-12-06 Felix Zielcke <fzielcke@z-51.de>
16189 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
16192 2009-12-05 Carles Pina i Estany <carles@pina.cat>
16194 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
16195 grub_gettext_msg_list.
16196 (grub_gettext_gettranslation_from_position): Return const char *
16198 (grub_gettext_translate): Add the translated strings into a list,
16199 returns from the list if existing there.
16200 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
16201 (grub_gettext_delete_list): Delete the list.
16202 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
16203 lang environment variable is changed.
16204 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
16206 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
16208 Rename kernel.mod to kernel.img.
16210 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
16211 (kernel_mod_EXPORTS): Rename to ...
16212 (kernel_img_EXPORTS): ... this.
16213 (kernel_mod_SOURCES): Rename to ...
16214 (kernel_img_SOURCES): ... this.
16215 (kernel_mod_HEADERS): Rename to ...
16216 (kernel_img_HEADERS): ... this. All users updated.
16217 (kernel_mod_CFLAGS): Rename to ...
16218 (kernel_img_CFLAGS): ... this.
16219 (kernel_mod_ASFLAGS): Rename to ...
16220 (kernel_img_ASFLAGS): ... this.
16221 (kernel_mod_LDFLAGS): Rename to ...
16222 (kernel_img_LDFLAGS): ... this.
16223 * conf/x86_64-efi.rmk: Likewise.
16224 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
16225 (read_kernel_image): ... this. All users updated.
16226 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
16228 2009-12-05 Carles Pina i Estany <carles@pina.cat>
16230 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
16231 (print_spaces): New function.
16232 (grub_print_ucs4): New function.
16233 (getstringwidth): New function.
16234 (print_message_indented): New function.
16235 (print_message): Gettexttize strings using print_message_indented.
16236 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
16238 (get_entry_number): Gettextize and uses dynamic terminal width.
16239 (notify_booting, notify_fallback, notify_execution_failure):
16241 * normal/menu_entry.c (store_completion): Cleanup the gettextized
16244 (grub_menu_entry_run): Likewise.
16245 * PO/POTFILES: Add normal/menu_entry.c.
16247 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
16249 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
16251 2009-12-05 Carles Pina i Estany <carles@pina.cat>
16253 * util/grub-install.in: Install gettext .mo files.
16254 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
16256 2009-12-05 Carles Pina i Estany <carles@pina.cat>
16258 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
16261 2009-12-05 Robert Millan <rmh.grub@aybabtu.com>
16263 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
16264 non-firmware-dependant one in realmode.S takes precedence.
16266 2009-12-04 Robert Millan <rmh.grub@aybabtu.com>
16268 * commands/halt.c: Replace misc arch-specific headers with
16270 * commands/reboot.c: Likewise.
16271 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
16273 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
16274 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
16275 (kernel_img_SOURCES): ... to here.
16277 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
16278 * include/grub/i386/pc/init.h: Likewise.
16279 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
16280 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
16282 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
16284 * include/grub/i386/halt.h: Remove.
16285 * include/grub/i386/reboot.h: Likewise.
16287 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
16289 2009-12-03 David S. Miller <davem@sunset.davemloft.net>
16291 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
16292 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
16293 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
16295 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
16296 * util/sparc64/ieee1275/grub-setup.c: Likewise.
16297 (usage): Add missing comma in printf.
16299 2009-12-02 Robert Millan <rmh.grub@aybabtu.com>
16301 Use the same reboot approach on i386 coreboot and qemu as we do on
16304 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
16305 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
16306 * kern/i386/reboot.c: Remove.
16307 * include/grub/i386/reboot.h (grub_reboot): Export function.
16308 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
16309 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
16310 0xf000:0xfff0 instead of 0xffff:0x0000.
16311 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
16312 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
16314 2009-11-30 Robert Millan <rmh.grub@aybabtu.com>
16316 Fix $srcdir != $objdir build.
16318 * Makefile.in (po/%.po): Rewrite as ...
16319 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
16321 2009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
16323 Fix GNU/Hurd grub-install crash.
16324 * util/grub-probe.c (probe): Try to access `path' only when it is not
16327 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
16329 Correct module naming.
16331 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
16332 (GRUB_MOD_INIT(efi_uga)): ... to this
16333 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
16334 (GRUB_MOD_FINI(efi_uga)): ... to this
16335 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
16336 (GRUB_MOD_INIT(efi_gop)): ... to this
16337 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
16338 (GRUB_MOD_FINI(efi_gop)): ... to this
16340 2009-11-28 Robert Millan <rmh.grub@aybabtu.com>
16342 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
16344 (usage): Translate `arg' strings using gettext().
16345 Thanks to Jordi Mallach for the suggestion.
16347 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
16349 GOP support. Based on patch from Bean
16350 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
16352 * video/efi_gop.c: New file.
16353 * include/grub/efi/graphics_output.h: Likewise.
16354 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
16355 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
16357 * conf/x86_64-efi.rmk: Likewise.
16359 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
16361 Rename efi_fb to efi_uga.
16363 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
16365 (efi_fb_mod_SOURCES): Rename this ...
16366 (efi_uga_mod_SOURCES): ... to this.
16367 (efi_fb_mod_CFLAGS): Rename this ...
16368 (efi_uga_mod_CFLAGS): ... to this.
16369 (efi_fb_mod_LDFLAGS): Rename this ...
16370 (efi_uga_mod_LDFLAGS): ... to this.
16371 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
16373 (efi_fb_mod_SOURCES): Rename this ...
16374 (efi_uga_mod_SOURCES): ... to this.
16375 (efi_fb_mod_CFLAGS): Rename this ...
16376 (efi_uga_mod_CFLAGS): ... to this.
16377 (efi_fb_mod_LDFLAGS): Rename this ...
16378 (efi_uga_mod_LDFLAGS): ... to this.
16379 * video/efi_fb.c: Move this ...
16380 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
16382 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
16384 * po/README: New file. Explain our PO file workflow.
16386 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
16388 * po/ChangeLog: Remove. Move relevant entries back to ...
16389 * ChangeLog: ... here.
16390 * po/ca.po: Remove (now handled by TLP).
16391 * po/id.po: Likewise.
16392 * po/zh_CN.po: Likewise.
16393 * Makefile.in (LINGUAS): Initialize in a way that supports
16396 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
16398 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
16399 reliing on po/LINGUAS.
16400 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
16401 (po/%.po): ... this.
16403 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
16405 * util/i386/efi/grub-mkimage.c: Include "progname.h".
16406 (main): Use `program_name' instead of nonexistent `progname'.
16408 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
16410 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
16411 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
16413 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
16415 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
16417 * conf/i386-efi.rmk: Likewise.
16418 * conf/i386-ieee1275.rmk: Likewise.
16419 * conf/powerpc-ieee1275.rmk: Likewise.
16420 * conf/sparc64-ieee1275.rmk: Likewise.
16421 * conf/x86_64-efi.rmk: Likewise.
16423 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
16425 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
16427 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
16429 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
16431 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
16433 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
16434 (grub_mkdevicemap_SOURCES): New variable.
16435 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
16436 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
16437 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
16438 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
16439 (grub_mkdevicemap_SOURCES): Remove.
16440 * conf/i386-efi.rmk: Likewise.
16441 * conf/i386-ieee1275.rmk: Likewise.
16442 * conf/i386-pc.rmk: Likewise.
16443 * conf/powerpc-ieee1275.rmk: Likewise.
16444 * conf/sparc64-ieee1275.rmk: Likewise.
16445 * conf/x86_64-efi.rmk: Likewise.
16446 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
16447 (usage): Fix strings to use `program_name'.
16448 (main): Initialize gettext.
16449 * util/grub-editenv.c: Likewise.
16450 * util/grub-emu.c: Likewise.
16451 * util/grub-fstest.c: Likewise.
16452 * util/grub-mkdevicemap.c: Likewise.
16453 * util/grub-mkfont.c: Likewise.
16454 * util/grub-mkrelpath.c: Likewise.
16455 * util/grub-pe2elf.c: Likewise.
16456 * util/grub-probe.c: Likewise.
16457 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
16458 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
16459 * util/sparc64/ieee1275/grub-setup.c: Likewise.
16461 * util/misc.c: Include `"progname.h"'.
16462 (progname): Remove variable.
16463 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
16465 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
16467 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
16468 printf and print a newline after the menuentry header line.
16469 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
16471 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
16473 autoconf >= 2.60 support $(localedir).
16475 * INSTALL: Note that autoconf 2.60 is required.
16476 * configure.ac (AC_PREREQ): Bump to 2.60.
16477 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
16478 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
16480 2009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
16482 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
16485 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
16487 * normal/main.c (grub_normal_read_line): Fix off-by-one
16490 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
16492 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
16493 "parser.grub" in grub_command_execute() call.
16495 2009-11-24 Carles Pina i Estany <carles@pina.cat>
16497 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
16498 * conf/i386-efi.rmk: Likewise.
16499 * conf/i386-ieee1275.rmk: Likewise.
16500 * conf/i386-pc.rmk: Likewise.
16501 * conf/powerpc-ieee1275.rmk: Likewise.
16502 * conf/sparc64-ieee1275.rmk: Likewise.
16503 * conf/x86_64-efi.rmk: Likewise.
16504 * gettext/gettex.c: Include <grub/i18n.h>.
16505 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
16507 * include/grub/i18n.h: ... to here
16508 * include/grub/i18n.h: ... to here.
16509 * kern/misc.c: Include <grub/i18n.h>
16510 (grub_gettext_dummy): Move above user.
16512 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
16514 * util/Makefile.in (install-local): Convert a `for' into a normal
16517 2009-11-24 Robert Millan <rmh.grub@aybabtu.com>
16519 * autogen.sh: Add automake call.
16520 * config.guess: Remove.
16521 * config.sub: Likewise.
16522 * install-sh: Likewise.
16524 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
16526 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
16528 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
16530 * util/Makefile.in (install-local): Convert a make `$(foreach)'
16531 function to a normal shell `for'.
16533 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
16535 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
16537 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
16539 * util/grub-mkrelpath.c: New file.
16540 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
16541 (grub_mkrelpath_SOURCES): New variable.
16542 * include/grub/util/misc.h: New function prototype.
16543 * util/misc.c (make_system_path_relative_to_its_root): New function.
16545 * util/grub-mkconfig_lib.in (bindir): New variable.
16546 (grub_mkrelpath): Likewise.
16547 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
16549 * util/probe.c (probe): Make the file path relative to its root.
16550 Change a info message to use the GRUB path. Enable again the
16551 check if we can read the file with GRUB facilities.
16553 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
16556 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
16558 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
16561 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
16563 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
16566 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
16568 * util/getroot.c (grub_util_is_dmraid): New function.
16569 (grub_util_get_dev_abstraction): Treat dmraid and multipath
16570 devices as normal ones, not as LVM.
16572 2009-11-23 Carles Pina i Estany <carles@pina.cat>
16574 * conf/common.rmk: Add grub-gettext_lib target and updates
16575 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
16577 * gettext/gettext.c: New file. (Reads mo files).
16578 * include/grub/file.h (grub_file_pread): New prototype.
16579 * include/grub/i18n.h (_): New prototype.
16580 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
16582 * kern/misc.c (grub_gettext_dummy): New function.
16583 * normal/menu_text.c: Include <grub/i18n.h>.
16584 * normal/menu_text.c (print_timeout): Gettexttize string.
16585 * normal/menu_text.c (print_message): Gettexttize string.
16586 * po/POTFILES: Add `normal/menu_text.c'.
16587 * po/ca.po: Add new translations.
16588 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
16589 gettext module and defines locale_dir and lang in grub.cfg.
16590 * NEWS: Add gettext support.
16592 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
16594 * util/hostdisk.c: Include `<grub/i18n.h>'.
16595 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
16596 (make_device_name): Rewrite using asprintf.
16597 (convert_system_partition_to_system_disk): Replace 0 with NULL.
16598 (find_system_device): If a device is not found, generate one just
16599 by reusing the OS path name.
16600 (read_device_map): Make it permissible for device.map not to exist.
16602 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
16604 * script/sh/execute.c: Move from here ...
16605 * script/execute.c: ... to here. Update all users.
16606 * script/sh/function.c: Move from here ...
16607 * script/function.c: ... to here. Update all users.
16608 * script/sh/lexer.c: Move from here ...
16609 * script/lexer.c: ... to here. Update all users.
16610 * script/sh/main.c: Move from here ...
16611 * script/main.c: ... to here. Update all users.
16612 * script/sh/parser.y: Move from here ...
16613 * script/parser.y: ... to here. Update all users.
16614 * script/sh/script.c: Move from here ...
16615 * script/script.c: ... to here. Update all users.
16617 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
16619 * configure.ac: Detect all `emu' platforms. Define
16620 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
16621 --enable-grub-emu logic. Disable include/grub/machine
16622 symlink on `emu' platforms.
16624 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
16625 * gensymlist.sh.in: Likewise.
16627 * include/grub/i386/coreboot/machine.h: Remove file.
16628 * include/grub/i386/efi/machine.h: Likewise.
16629 * include/grub/i386/ieee1275/machine.h: Likewise.
16630 * include/grub/i386/pc/machine.h: Likewise.
16631 * include/grub/i386/qemu/machine.h: Likewise.
16632 * include/grub/powerpc/ieee1275/machine.h: Likewise.
16633 * include/grub/sparc64/ieee1275/machine.h: Likewise.
16634 * include/grub/x86_64/efi/machine.h: Likewise.
16636 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
16637 * commands/halt.c: Likewise.
16638 * commands/reboot.c: Likewise.
16639 * include/grub/autoefi.h: Likewise.
16640 * include/grub/i386/at_keyboard.h: Likewise.
16641 * include/grub/i386/kernel.h: Likewise.
16642 * include/grub/i386/loader.h: Likewise.
16643 * include/grub/i386/pc/memory.h: Likewise.
16644 * kern/dl.c: Likewise.
16645 * kern/i386/coreboot/init.c: Likewise.
16646 * loader/i386/bsd.c: Likewise.
16647 * loader/i386/linux.c: Likewise.
16648 * loader/multiboot_loader.c: Likewise.
16649 * term/i386/pc/serial.c: Likewise.
16650 * term/usb_keyboard.c: Likewise.
16652 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
16653 `<grub/machine/machine.h>'
16654 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
16655 * util/misc.c: Remove `<grub/machine/machine.h>' and
16656 `<grub/machine/time.h>'.
16658 * Makefile.in (enable_grub_emu): Remove variable.
16659 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
16661 * conf/any-emu.rmk: New file.
16662 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
16663 (grub_emu_init.c): Move from here ...
16664 * conf/any-emu.rmk: ... to here.
16666 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
16667 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
16668 * conf/any-emu.rmk: ... to here.
16670 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
16672 * include/grub/parser.h (grub_parser_register): Document need
16673 of `name' parameter.
16674 * normal/main.c (grub_normal_read_line): Simplify prompt string.
16675 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
16678 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
16680 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
16682 * include/grub/i18n.h (N_): New macro.
16683 * util/mkisofs/mkisofs.h: Likewise.
16684 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
16686 (usage): Use gettext() to translate help strings when printing them.
16688 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
16690 Based on patch from Bean
16691 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
16693 * video/efi_fb.c: New file.
16694 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
16695 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
16697 * conf/x86_64-efi.rmk: Likewise.
16699 2009-11-22 Robert Millan <rmh.grub@aybabtu.com>
16701 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
16702 * util/i386/pc/grub-setup.c: Likewise.
16704 2009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
16706 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
16708 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
16709 file_get_storage_info to implement grub_guess_root_device.
16711 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
16713 * Makefile.in (target): Use make's builtin $(shell) function
16714 instead of calling directly $(SHELL) to create the locale directories,
16715 inside the $(foreach) function.
16717 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
16719 * util/grub-mkrescue.in: Print an error and usage if output option
16720 has not been given.
16722 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
16724 Patch from Loïc Minier <loic.minier@ubuntu.com>.
16725 * util/grub.d/30_os-prober.in: Cope with Linux entries where
16726 root and /boot are on different devices.
16728 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
16730 Fix build for srcdir != objdir.
16732 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
16733 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
16735 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
16736 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
16737 reference for input.
16739 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
16741 * util/grub-mkrescue.in: Use source directory direcly (without copiing
16742 or hardlinking it). Remove -J option, Joliet is not compatible with
16743 multiple source directories.
16745 2009-11-21 Carles Pina i Estany <carles@pina.cat>
16746 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
16748 * util/grub-mkrescue.in: Recognize `--override-directory' option.
16749 (process_input_dir): New function. Process an arbitrary input
16751 Misc adjustments to support both "override mode" and system-wide mode.
16753 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
16755 * configure.ac (UNIFONT_BDF): Rename to ...
16756 (FONT_SOURCE): ... this. Update all users.
16758 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
16760 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
16761 to the list of unifont files to look for.
16763 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
16765 Patch from Joe Auricchio <jauricchio@gmail.com>
16766 * commands/minicmd.c (grub_mini_cmd_clear): New function.
16767 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
16768 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
16770 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
16772 * Makefile.in (install-local): Add a missing backslash.
16774 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
16776 * include/grub/x86_64/io.h: New file.
16778 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
16780 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
16781 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
16782 Include `"progname.h"'.
16783 (main): Initialize gettext.
16784 * util/i386/pc/grub-setup.c: Gettexttize.
16785 * util/i386/pc/grub-mkimage.c: Likewise.
16787 * Makefile.in (po/*.po): Redefine as ...
16788 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
16790 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
16792 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
16794 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
16795 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
16796 (program_name): Remove.
16797 (main): Initialize gettext support.
16798 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
16799 Include `<libintl.h>'.
16802 * util/mkisofs/eltorito.c: Gettexttize.
16803 * util/mkisofs/joliet.c: Likewise.
16804 * util/mkisofs/mkisofs.c: Likewise.
16805 * util/mkisofs/multi.c: Likewise.
16806 * util/mkisofs/rock.c: Likewise.
16807 * util/mkisofs/tree.c: Likewise.
16808 * util/mkisofs/write.c: Likewise.
16810 * po/POTFILES: Update with new files.
16812 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
16814 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
16815 * util/mkisofs/iso9660.h: Likewise.
16816 * util/mkisofs/joliet.c: Likewise.
16817 * util/mkisofs/mkisofs.c: Likewise.
16818 * util/mkisofs/mkisofs.h: Likewise.
16819 * util/mkisofs/rock.c: Likewise.
16820 * util/mkisofs/tree.c: Likewise.
16821 * util/mkisofs/write.c: Likewise.
16823 * util/mkisofs/eltorito.c (rcsid): Remove.
16824 * util/mkisofs/hash.c: Likewise.
16825 * util/mkisofs/joliet.c: Likewise.
16826 * util/mkisofs/name.c: Likewise.
16827 * util/mkisofs/rock.c: Likewise.
16828 * util/mkisofs/tree.c: Likewise.
16829 * util/mkisofs/write.c: Likewise.
16831 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
16833 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
16834 instead of static allocation.
16835 * util/mkisofs/match.h: Likewise.
16837 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
16839 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
16840 and `util/grub.d/10_linux.in'.
16841 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
16842 translatable Shell files.
16844 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
16846 * Makefile.in ($(srcdir)/aclocal.m4): New target.
16848 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
16850 * INSTALL: Document Automake is needed for bootstrap.
16851 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
16852 * util/grub.d/10_kfreebsd.in (bindir): New variable.
16853 Add gettext initialization.
16854 (kfreebsd_entry): Make menuentry output translatable.
16856 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
16858 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
16859 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
16860 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
16861 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
16862 (LINGUAS): Auto-generate using `po/LINGUAS'.
16863 * po/LINGUAS: New file.
16865 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
16867 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
16869 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
16870 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
16871 bindtextdomain() calls for gettext initialization.
16873 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
16875 * gnulib/progname.c: New file (imported from Gnulib).
16876 * gnulib/progname.h: Likewise.
16877 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
16878 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
16879 (usage): Replace `progname' with `program_name'.
16880 (main): Use set_program_name() for program name initialization.
16882 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
16884 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
16886 * Makefile.in (CPPFLAGS): ... to here.
16888 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
16890 * aclocal.m4: Move from here ...
16891 * acinclude.m4: ... to here.
16892 * autogen.sh: Add call to `aclocal'.
16893 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
16895 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
16897 * Makefile.in (CLEANFILES): Add `po/*.mo'.
16898 (LINGUAS): New variable.
16899 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
16900 (install-local): Install MO files.
16901 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
16902 * include/grub/i18n.h: New file.
16903 * po/POTFILES: New file.
16904 * po/ca.po: New file.
16905 * util/grub.d/10_linux.in (bindir): New variable.
16906 Add gettext initialization.
16907 (linux_entry): Make menuentry output translatable.
16908 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
16909 (usage): Make --help output translatable.
16910 (main): Initialize gettext.
16912 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
16914 * import_gcry.py: New file (written by Vladimir with minor
16916 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
16918 * INSTALL: Document that Python is required for bootstrap.
16920 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
16922 Import ciphers from libgcrypt 1.4.4.
16924 * lib/libgcrypt/cipher/ChangeLog
16925 * lib/libgcrypt/cipher/ac.c
16926 * lib/libgcrypt/cipher/arcfour.c
16927 * lib/libgcrypt/cipher/bithelp.h
16928 * lib/libgcrypt/cipher/blowfish.c
16929 * lib/libgcrypt/cipher/camellia-glue.c
16930 * lib/libgcrypt/cipher/camellia.c
16931 * lib/libgcrypt/cipher/camellia.h
16932 * lib/libgcrypt/cipher/cast5.c
16933 * lib/libgcrypt/cipher/cipher.c
16934 * lib/libgcrypt/cipher/crc.c
16935 * lib/libgcrypt/cipher/des.c
16936 * lib/libgcrypt/cipher/dsa.c
16937 * lib/libgcrypt/cipher/ecc.c
16938 * lib/libgcrypt/cipher/elgamal.c
16939 * lib/libgcrypt/cipher/hash-common.c
16940 * lib/libgcrypt/cipher/hash-common.h
16941 * lib/libgcrypt/cipher/hmac-tests.c
16942 * lib/libgcrypt/cipher/md.c
16943 * lib/libgcrypt/cipher/md4.c
16944 * lib/libgcrypt/cipher/md5.c
16945 * lib/libgcrypt/cipher/primegen.c
16946 * lib/libgcrypt/cipher/pubkey.c
16947 * lib/libgcrypt/cipher/rfc2268.c
16948 * lib/libgcrypt/cipher/rijndael-tables.h
16949 * lib/libgcrypt/cipher/rijndael.c
16950 * lib/libgcrypt/cipher/rmd.h
16951 * lib/libgcrypt/cipher/rmd160.c
16952 * lib/libgcrypt/cipher/rsa.c
16953 * lib/libgcrypt/cipher/seed.c
16954 * lib/libgcrypt/cipher/serpent.c
16955 * lib/libgcrypt/cipher/sha1.c
16956 * lib/libgcrypt/cipher/sha256.c
16957 * lib/libgcrypt/cipher/sha512.c
16958 * lib/libgcrypt/cipher/tiger.c
16959 * lib/libgcrypt/cipher/twofish.c
16960 * lib/libgcrypt/cipher/whirlpool.c
16962 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
16964 Fix build for systems without error().
16966 * gnulib/error.c: New file (imported from Gnulib).
16967 * gnulib/error.h: Likewise.
16968 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
16969 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
16970 (this variable is now used by error()).
16972 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
16974 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
16975 instead of relying that char is signed.
16977 2009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
16979 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
16980 blocksize different from specified.
16981 (grub_pxefs_read): Likewise.
16983 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
16985 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
16987 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
16988 (grub_ata_readwrite): Likewise. Update 2 format strings.
16989 (grub_atapi_read): Likewise.
16991 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
16992 * conf/i386.rmk (pkglib_MODULES): ... to here ...
16993 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
16994 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
16995 (ata_mod_LDFLAGS): Move from here ...
16996 * conf/i386.rmk: ... to here ...
16997 * conf/x86_64-efi.rmk: ... and here.
16998 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
16999 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
17001 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
17003 Relicense multiboot.h, with RMS' blessing.
17005 * include/multiboot.h: Change to X11 license.
17007 2009-11-15 Robert Millan <rmh.grub@aybabtu.com>
17009 Support --version in grub-mkisofs.
17011 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
17012 (OPTION_VERSION): New macro.
17013 (ld_options): Recognize --version.
17014 (usage): Move `program_name' from here ...
17015 (program_name): ... to here. Add `static' qualifier.
17016 (main): Recognize `OPTION_VERSION'.
17018 2009-11-15 Felix Zielcke <fzielcke@z-51.de>
17020 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
17021 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
17023 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
17025 Fix help2man generation for mkisofs.
17027 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
17028 (usage): Send output to stdout (rather than stderr).
17030 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
17032 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
17033 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
17034 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
17035 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
17036 (bin_SCRIPTS): Add `grub-mkfloppy'.
17037 (grub_mkfloppy_SOURCES): New variable.
17039 * util/grub-mkrescue.in: New file.
17040 * util/i386/pc/grub-mkfloppy.in: New file.
17042 * util/i386/coreboot/grub-mkrescue.in: Remove.
17043 * util/i386/pc/grub-mkrescue.in: Remove.
17045 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
17047 * include/grub/multiboot.h (struct grub_multiboot_header): Move
17049 * include/multiboot.h (struct multiboot_header): ... to here. Update
17051 * include/grub/multiboot.h (struct grub_multiboot_info): Move
17053 * include/multiboot.h (struct multiboot_info): ... to here. Update
17055 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
17057 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
17059 * include/grub/multiboot.h (struct grub_mod_list): Move
17061 * include/multiboot.h (struct multiboot_mod_list): ... to here.
17064 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
17066 * include/multiboot2.h (multiboot_word): Rename from this ...
17067 (multiboot2_word): ... to this. Update all users.
17068 (multiboot_header): Rename from this ...
17069 (multiboot2_header): ... to this. Update all users.
17070 (multiboot_tag_header): Rename from this ...
17071 (multiboot2_tag_header): ... to this. Update all users.
17072 (multiboot_tag_start): Rename from this ...
17073 (multiboot2_tag_start): ... to this. Update all users.
17074 (multiboot_tag_name): Rename from this ...
17075 (multiboot2_tag_name): ... to this. Update all users.
17076 (multiboot_tag_module): Rename from this ...
17077 (multiboot2_tag_module): ... to this. Update all users.
17078 (multiboot_tag_memory): Rename from this ...
17079 (multiboot2_tag_memory): ... to this. Update all users.
17080 (multiboot_tag_unused): Rename from this ...
17081 (multiboot2_tag_unused): ... to this. Update all users.
17082 (multiboot_tag_end): Rename from this ...
17083 (multiboot2_tag_end): ... to this. Update all users.
17085 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
17087 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
17088 this platform we should support Multiboot1 first.
17090 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
17091 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
17092 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
17094 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
17096 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
17097 of write calls (converting them to fwrite() if they aren't already).
17098 (get_torito_desc): Likewise.
17099 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
17101 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
17103 * util/i386/pc/grub-install.in: Move from here ...
17104 * util/grub-install.in: ... to here. Update all users.
17106 2009-11-11 Colin Watson <cjwatson@ubuntu.com>
17108 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
17110 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
17112 Support for El Torito without floppy emulation.
17114 * util/mkisofs/eltorito.c: Include `<errno.h>'.
17115 (init_boot_catalog): Improve error handling.
17116 (get_torito_desc): Don't use floppy emulation unless requested by
17117 user. Patch boot information table when requested via
17118 `-boot-info-table'.
17119 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
17120 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
17121 (use_boot_info_table): New variables.
17122 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
17123 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
17124 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
17125 `--eltorito-emul-floppy'.
17126 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
17127 and `OPTION_ELTORITO_EMUL_FLOPPY'.
17128 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
17129 (use_boot_info_table, get_731): New prototypes.
17130 * util/mkisofs/write.c (get_731): New function.
17132 2009-11-11 Felix Zielcke <fzielcke@z-51.de>
17134 Fix the generation of the man page.
17136 * util/pc/i386/grub-install.in: Source
17137 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
17139 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
17141 Large file support for grub-mkisofs.
17143 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
17144 * util/mkisofs/mkisofs.c (next_extent, last_extent)
17145 (session_start): Upgrade type to `uint64_t'. Update all users.
17146 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
17147 (struct directory_entry): Upgrade type of `starting_block' and
17148 `size' to `uint64_t'. Update all users.
17149 (struct deferred): Remove unused structure.
17150 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
17152 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
17153 file is larger than `UINT32_MAX'.
17154 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
17155 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
17157 (struct deferred_write): Upgrade type of `extent' and `size' to
17158 `uint64_t'. Update all users.
17159 (last_extent_written): Upgrade type to `uint64_t'. Update all
17161 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
17162 Update all users. Upgrade type of `remain' to `int64_t' and
17163 `use' to `size_t'. Use error() to handle fread() errors.
17164 (write_files): Rely on write_one_file() rather than calling
17165 xfwrite() directly.
17167 2009-11-09 Felix Zielcke <fzielcke@z-51.de>
17169 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
17171 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
17173 * util/mkisofs/fnmatch.c: Remove.
17174 * util/mkisofs/getopt1.c: Likewise.
17175 * util/mkisofs/getopt.c: Likewise.
17176 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
17177 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
17178 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
17179 `gnulib/getopt1.c' and `gnulib/getopt.c'.
17180 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
17182 * configure.ac: Detect `mingw32msvc' host_os.
17183 Check for lstat(), getuid() and getgid().
17185 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
17186 instances of `u_char' with `uint8_t'.
17188 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
17189 [!HAVE_GETUID] (getuid): New function (stub).
17190 [!HAVE_GETGID] (getgid): Likewise.
17191 [!HAVE_LSTAT] (lstat): Likewise.
17192 [!S_IROTH] (S_IROTH): New macro (dummy).
17193 [!S_IRGRP] (S_IRGRP): Likewise.
17195 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
17197 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
17198 conditional expression).
17200 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
17202 Import from Gnulib.
17204 * gnulib/fnmatch.c: New file.
17205 * gnulib/fnmatch.h: Likewise.
17206 * gnulib/fnmatch_loop.c: Likewise.
17207 * gnulib/getopt.c: Likewise.
17208 * gnulib/getopt.h: Likewise.
17209 * gnulib/getopt1.c: Likewise.
17210 * gnulib/getopt_int.h: Likewise.
17211 * gnulib/gettext.h: Likewise.
17213 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
17215 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
17216 * normal/handler.c (read_handler_list): Likewise.
17218 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
17222 * kern/command.c (grub_register_command_prio): Use
17223 grub_zalloc() instead of explicitly zeroing data.
17224 * kern/list.c: Include `<grub/mm.h>'.
17225 (grub_named_list_find): Replace `0' with `NULL'.
17226 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
17227 (fs_module_list): Change type to `grub_named_list_t'. Update all
17229 * normal/dyncmd.c (read_command_list): Add space between function
17230 call and parenthesis.
17231 * normal/handler.c (read_handler_list): Likewise.
17233 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
17235 * normal/auth.c (punishment_delay): Moved from here ...
17236 (grub_auth_strcmp): ... to here (inside function).
17238 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
17240 * include/grub/list.h (struct grub_named_list): Remove `const'
17241 qualifier from `name'.
17242 (struct grub_prio_list): Likewise.
17244 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
17246 * normal/auth.c: Include `<grub/time.h>'.
17247 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
17249 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
17251 * normal/auth.c (punishment_delay): New variable.
17252 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
17253 (grub_auth_check_authentication): Punish failed login attempts with
17254 an incremental (2^N) delay.
17256 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
17258 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
17259 path with $(srcdir).
17261 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
17263 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
17265 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
17267 * util/i386/coreboot/grub-mkrescue.in: New file.
17268 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
17271 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
17272 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
17273 * configure.ac: Add header and function checks to satisfy grub-mkisofs
17275 * util/mkisofs/defaults.h: New file.
17276 * util/mkisofs/eltorito.c: Likewise.
17277 * util/mkisofs/exclude.h: Likewise.
17278 * util/mkisofs/fnmatch.c: Likewise.
17279 * util/mkisofs/getopt.c: Likewise.
17280 * util/mkisofs/getopt1.c: Likewise.
17281 * util/mkisofs/hash.c: Likewise.
17282 * util/mkisofs/include/fctldefs.h: Likewise.
17283 * util/mkisofs/include/mconfig.h: Likewise.
17284 * util/mkisofs/include/prototyp.h: Likewise.
17285 * util/mkisofs/include/statdefs.h: Likewise.
17286 * util/mkisofs/iso9660.h: Likewise.
17287 * util/mkisofs/joliet.c: Likewise.
17288 * util/mkisofs/match.c: Likewise.
17289 * util/mkisofs/match.h: Likewise.
17290 * util/mkisofs/mkisofs.c: Likewise.
17291 * util/mkisofs/mkisofs.h: Likewise.
17292 * util/mkisofs/multi.c: Likewise.
17293 * util/mkisofs/name.c: Likewise.
17294 * util/mkisofs/rock.c: Likewise.
17295 * util/mkisofs/tree.c: Likewise.
17296 * util/mkisofs/write.c: Likewise.
17298 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
17300 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
17303 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
17305 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
17306 `grub-mkimage' (and use $0 when possible).
17308 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
17310 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
17311 error message for excessively large memory map.
17313 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
17315 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
17318 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
17320 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
17321 message for coreboot users.
17323 2009-11-07 Robert Millan <rmh.grub@aybabtu.com>
17325 Fix build with GNU gold.
17327 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
17328 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
17329 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
17331 * aclocal.m4: Likewise.
17333 2009-11-04 Felix Zielcke <fzielcke@z-51.de>
17335 * configure.ac (AC_PREREQ): Bump to 2.59d.
17336 * INSTALL: Make it more clear when Autoconf and Ruby are
17337 needed and when to run `./autogen.sh'.
17339 2009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
17341 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
17344 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
17346 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
17348 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
17350 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
17351 giving it to GNU Mach.
17353 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
17355 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
17356 GNU partition number to get internal GRUB partition number.
17358 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
17360 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
17361 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
17363 2009-11-01 Robert Millan <rmh.grub@aybabtu.com>
17365 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
17366 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
17369 2009-11-01 Felix Zielcke <fzielcke@z-51.de>
17371 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
17373 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
17377 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
17378 `-isystem=$(srcdir)/include'.
17380 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
17382 * util/i386/pc/grub-install.in: Remove hint that device.map should be
17383 checked (grub-install doesn't currently rely on it).
17385 2009-10-29 Robert Millan <rmh.grub@aybabtu.com>
17389 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
17390 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
17391 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
17392 * conf/i386-ieee1275.rmk: Likewise.
17393 * conf/i386-pc.rmk: Likewise.
17394 * conf/powerpc-ieee1275.rmk: Likewise.
17395 * conf/sparc64-ieee1275.rmk: Likewise.
17396 * conf/x86_64-efi.rmk: Likewise.
17398 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
17400 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
17402 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
17404 * include/grub/misc.h: Stop checking for APPLE_CC.
17406 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
17408 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
17409 doesn't cause an infinite call loop.
17411 2009-10-28 Felix Zielcke <fzielcke@z-51.de>
17413 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
17416 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
17418 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
17420 * Makefile.in: Likewise.
17422 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
17424 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
17426 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
17428 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
17430 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
17432 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
17434 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
17436 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
17438 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
17440 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
17442 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
17443 in $(MAKEINFO) invocation. This makes it clear in output that
17444 errors are being ignored.
17446 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
17448 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
17450 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
17451 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
17452 * conf/i386-ieee1275.rmk: Likewise.
17453 * conf/i386-pc.rmk: Likewise.
17454 * conf/powerpc-ieee1275.rmk: Likewise.
17455 * conf/sparc64-ieee1275.rmk: Likewise.
17456 * conf/x86_64-efi.rmk: Likewise.
17458 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
17460 * util/grub-editenv.c (main): If only a command is given, use
17461 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
17462 (usage): FILENAME is now optional and has a default.
17464 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
17466 Improve grub-mkconfig performance when there are several menu
17467 entries on a single filesystem.
17469 * util/grub.d/10_linux.in (linux_entry): Cache the output of
17470 prepare_grub_to_access_device.
17471 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
17472 * util/grub.d/30_os-prober.in: Likewise.
17474 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
17476 * util/grub.d/10_freebsd.in: Remove.
17477 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
17478 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
17480 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
17482 * docs/grub.cfg: Fix example usage of *BSD loaders.
17484 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
17486 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
17487 grub_util_error() call.
17489 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
17491 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
17492 `reserved_first_sector' member.
17493 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
17494 `reserved_first_sector' to 1.
17495 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
17496 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
17497 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
17498 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
17499 filesystems which begin at first sector.
17500 (options): New option --skip-fs-probe.
17501 (main): Handle --skip-fs-probe and pass it to setup().
17503 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
17505 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
17506 (memset): Fix function prototype.
17508 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
17509 2009-10-25 Vasily Averin <vvs@parallels.com>
17511 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
17512 `dirent.direntlen == 0'.
17514 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
17516 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
17518 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
17520 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
17522 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
17523 `__trampoline_setup' and `__ucmpdi2'.
17524 * include/grub/powerpc/libgcc.h: Only export symbols for functions
17525 that libgcc provides.
17527 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
17529 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
17530 * include/grub/sparc64/libgcc.h (memset): Likewise.
17531 * include/grub/misc.h (memset, memcmp): New function prototypes.
17533 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
17535 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
17537 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
17539 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
17541 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
17542 * docs/grub.cfg: Compensate for recent change in multiboot
17543 loader (since 2009-08-14 it won't pass filename to payload).
17544 * util/grub.d/10_hurd.in: Likewise.
17546 2009-10-21 Felix Zielcke <fzielcke@z-51.de>
17548 * config.guess: Update to latest version from config git
17550 * config.sub: Likewise.
17552 2009-10-20 Robert Millan <rmh.grub@aybabtu.com>
17554 Fix build on sparc64.
17556 * configure.ac: Perform checks for libgcc symbols before
17557 adding `-nostdlib' to LDFLAGS.
17559 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17561 Let user specify OpenBSD root device.
17563 * loader/i386/bsd.c (openbsd_root): New variable.
17564 (openbsd_opts): New option 'root'.
17565 (OPENBSD_ROOT_ARG): New macro.
17566 (grub_openbsd_boot): Use 'openbsd_root'.
17567 (grub_cmd_openbsd): Fill 'openbsd_root'.
17569 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
17571 * NEWS: Misc adjustments.
17573 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17575 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
17577 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
17579 * configure.ac: Bump version to 1.97.
17581 2009-10-16 Colin Watson <cjwatson@ubuntu.com>
17583 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
17584 -mno-3dnow on x86 architectures. Some toolchains enable these
17585 features by default, but they rely on registers that aren't enabled
17586 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
17588 2009-10-15 Robert Millan <rmh.grub@aybabtu.com>
17590 Make entry text a bit more readable.
17592 * util/grub.d/10_linux.in: Add `with' before `Linux'.
17594 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
17596 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
17598 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
17600 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
17603 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
17605 * configure.ac: Add missing dollar.
17607 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
17609 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
17611 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
17612 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
17614 * include/grub/sparc64/libgcc.h: Likewise. Use
17615 preprocessor conditionals.
17617 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
17619 * conf/common.rmk (grub-dumpbios): Remove rule.
17620 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
17621 * util/grub-dumpbios.in: Remove file.
17623 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
17625 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
17626 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
17628 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
17629 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
17632 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
17633 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
17634 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
17635 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
17638 2009-10-12 Robert Millan <rmh.grub@aybabtu.com>
17640 * term/tparm.c: Switch to GPLv3.
17642 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
17644 * include/grub/i386/cpuid.h: Add header protection.
17646 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
17648 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
17650 * include/grub/i386/cpuid.h: New file.
17651 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
17652 (has_longmode): Rename to ...
17653 (grub_cpuid_has_longmode): ... this. Update all users. Remove
17654 `static' attribute.
17655 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
17656 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
17657 on a CPU that doesn't implement AMD64 instruction set.
17659 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
17661 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
17662 that version.texi is rebuilt on version number changes.
17664 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
17666 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
17669 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
17671 * util/i386/pc/grub-install.in: Source
17672 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
17673 that the --grub-probe option will work.
17674 * util/sparc64/ieee1275/grub-install.in: Likewise.
17676 2009-10-05 Robert Millan <rmh.grub@aybabtu.com>
17678 * configure.ac: Bump version to 1.97~beta4.
17680 2009-10-03 Robert Millan <rmh.grub@aybabtu.com>
17682 Resync grub-mkdevicemap in x86_64-efi.
17684 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
17685 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
17686 `util/devicemap.c'.
17688 2009-10-01 Colin Watson <cjwatson@ubuntu.com>
17690 * util/grub-editenv.c (create_envblk_file): Write new block with a
17691 .new suffix and then rename it into place, to ensure atomic
17694 2009-09-28 Robert Millan <rmh.grub@aybabtu.com>
17696 Do not automatically install headers.
17698 * Makefile.in (include_DATA): Remove. Update all users.
17700 2009-09-26 Robert Millan <rmh.grub@aybabtu.com>
17702 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
17703 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
17705 * util/osdetect.lua: Remove.
17706 * script/lua/lauxlib.c: Likewise.
17707 * script/lua/ldebug.c: Likewise.
17708 * script/lua/grub_main.c: Likewise.
17709 * script/lua/lauxlib.h: Likewise.
17710 * script/lua/ldebug.h: Likewise.
17711 * script/lua/ltablib.c: Likewise.
17712 * script/lua/liolib.c: Likewise.
17713 * script/lua/lstrlib.c: Likewise.
17714 * script/lua/lualib.h: Likewise.
17715 * script/lua/ldo.c: Likewise.
17716 * script/lua/ldump.c: Likewise.
17717 * script/lua/ldo.h: Likewise.
17718 * script/lua/loslib.c: Likewise.
17719 * script/lua/lundump.c: Likewise.
17720 * script/lua/grub_lib.c: Likewise.
17721 * script/lua/ldblib.c: Likewise.
17722 * script/lua/lundump.h: Likewise.
17723 * script/lua/lmem.c: Likewise.
17724 * script/lua/grub_lib.h: Likewise.
17725 * script/lua/lmathlib.c: Likewise.
17726 * script/lua/lstate.c: Likewise.
17727 * script/lua/ltm.c: Likewise.
17728 * script/lua/lvm.c: Likewise.
17729 * script/lua/lmem.h: Likewise.
17730 * script/lua/lstate.h: Likewise.
17731 * script/lua/ltm.h: Likewise.
17732 * script/lua/ltable.c: Likewise.
17733 * script/lua/lvm.h: Likewise.
17734 * script/lua/llex.c: Likewise.
17735 * script/lua/lgc.c: Likewise.
17736 * script/lua/grub_lua.h: Likewise.
17737 * script/lua/loadlib.c: Likewise.
17738 * script/lua/lfunc.c: Likewise.
17739 * script/lua/lopcodes.c: Likewise.
17740 * script/lua/lparser.c: Likewise.
17741 * script/lua/ltable.h: Likewise.
17742 * script/lua/llex.h: Likewise.
17743 * script/lua/lgc.h: Likewise.
17744 * script/lua/lfunc.h: Likewise.
17745 * script/lua/lbaselib.c: Likewise.
17746 * script/lua/lopcodes.h: Likewise.
17747 * script/lua/lparser.h: Likewise.
17748 * script/lua/lzio.c: Likewise.
17749 * script/lua/linit.c: Likewise.
17750 * script/lua/lobject.c: Likewise.
17751 * script/lua/llimits.h: Likewise.
17752 * script/lua/lstring.c: Likewise.
17753 * script/lua/lzio.h: Likewise.
17754 * script/lua/lapi.c: Likewise.
17755 * script/lua/lcode.c: Likewise.
17756 * script/lua/lua.h: Likewise.
17757 * script/lua/lobject.h: Likewise.
17758 * script/lua/lstring.h: Likewise.
17759 * script/lua/lapi.h: Likewise.
17760 * script/lua/lcode.h: Likewise.
17761 * script/lua/luaconf.h: Likewise.
17763 2009-09-26 Colin Watson <cjwatson@ubuntu.com>
17765 * docs/grub.texi (Command-line and menu entry commands): Document
17766 date and echo commands.
17768 2009-09-24 Pavel Roskin <proski@gnu.org>
17770 * include/grub/kernel.h (struct grub_module_header): Remove
17771 `grub_module_header_types'. Make `type' unsigned. Make `size'
17772 32-bit on all platforms.
17773 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
17774 8-bit field. Use grub_host_to_target32() for `size'.
17775 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
17776 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
17777 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
17779 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
17781 Fix "lost keypress" bug in at_keyboard.
17783 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
17784 Checks for readyness of input buffer (without flushing it).
17785 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
17786 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
17788 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
17790 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
17791 size check within GRUB_MACHINE_PCBIOS section.
17793 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
17795 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
17797 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
17798 KEYBOARD_ISREADY check.
17799 (grub_at_keyboard_checkkey): Rename to ...
17800 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
17801 Remove gratuitous cast.
17803 2009-09-23 Colin Watson <cjwatson@ubuntu.com>
17805 * configure.ac: Call AC_PROG_MKDIR_P.
17806 * Makefile.in (docs/stamp-vti): Create docs directory. Create
17807 version.texi in $(builddir) rather than $(srcdir).
17808 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
17809 to makeinfo's @include search path.
17811 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
17813 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
17815 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
17817 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
17820 2009-09-21 Colin Watson <cjwatson@ubuntu.com>
17822 Build info documentation. Some code borrowed from Automake.
17824 * configure.ac: Check for makeinfo.
17825 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
17826 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
17828 (MOSTLYCLEANFILES): Add vti.tmp.
17829 (docs/version.texi, docs/stamp-vti): Update automatically.
17830 (docs/grub.info): Build info documentation. Use --force and ignore
17832 (all-local): Add $(INFOS).
17833 (install-local): Install info files.
17834 (uninstall): Uninstall info files.
17835 * docs/version.texi: Remove from revision control. This file is
17836 automatically generated on build now.
17837 * gendistlist.sh: Add `*.info'.
17839 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
17841 * kern/term.c: Fix indentation.
17843 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
17845 * util/hostdisk.c: Fix a comment.
17847 2009-09-20 Robert Millan <rmh.grub@aybabtu.com>
17849 Fix regression introduced in r2539.
17851 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
17854 2009-09-19 Colin Watson <cjwatson@ubuntu.com>
17856 * util/grub.d/30_os-prober.in: Don't throw away stderr from
17857 os-prober. Under normal operation, it does not print anything to
17858 stderr; if it does, we need to debug it, and throwing away stderr
17859 makes that excessively difficult.
17861 2009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
17863 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
17865 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
17867 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
17868 AC_LANG_PROGRAM from autoconf.
17869 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
17870 prototypes (fixes warning).
17872 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
17873 `--disable-werror' was used.
17875 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
17877 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
17878 uninitialized `lastaddr'.
17880 2009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
17882 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
17884 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
17886 * commands/test.c (get_fileinfo): Return immediately if
17887 grub_fs_probe fails.
17889 2009-09-14 José Martínez <xosemp@gmail.com>
17891 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
17893 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
17895 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
17898 2009-09-13 Robert Millan <rmh.grub@aybabtu.com>
17900 * configure.ac: Remove --enable-grub-pe2elf. Only build
17901 grub-pe2elf when needed by the build system itself.
17902 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
17904 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
17906 * configure.ac: Bump version to 1.97~beta3.
17907 * docs/version.texi: Likewise.
17909 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
17911 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
17912 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
17914 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
17915 (grub_linux_setup_video): ... to here (with some adjustments).
17917 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
17919 Fix memory corruption issue (spotted by Colin Watson).
17921 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
17922 causing returned size to be stored in an incorrect memory location.
17923 Fix use of uninitialized value when storing the returned size.
17925 2009-09-12 Yves Blusseau <blusseau@zetam.org>
17927 Change clean rules to properly remove files
17929 * genmk.rb: add new clean rules
17930 * Makefile.in (clean): add the new targets
17931 (mostlyclean): likewise
17933 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
17935 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
17937 * fs/ntfs.c (init_file): Understand 64-bit sizes for
17938 non-resident files.
17940 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
17942 * configure.ac: Don't look for help2man when cross-compiling. Fixes
17943 part of bug #27349.
17945 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
17947 * util/grub-mkconfig.in: Make the created config mode 400 and
17948 print a warning if it fails.
17950 2009-09-10 Robert Millan <rmh.grub@aybabtu.com>
17952 * util/grub.d/40_custom.in: Ask user to type custom entries below
17953 comment, rather than below 'exec tail' line.
17955 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
17957 * util/grub.d/40_custom.in: Make sure that the explanatory text is
17958 visible in grub.cfg.
17960 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
17962 * util/grub.d/40_custom.in: Make it a little clearer how to use this
17965 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
17967 * docs/grub.cfg: Add an example menu entry for memtest86+.
17969 2009-09-09 Felix Zielcke <fzielcke@z-51.de>
17971 * config.guess: Update to latest version from config git.
17972 * config.sub: Likewise.
17974 2009-09-08 Colin Watson <cjwatson@ubuntu.com>
17976 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
17977 unknown-command case. Fixes bug #27320.
17979 2009-09-08 Felix Zielcke <fzielcke@z-51.de>
17981 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
17982 `help' if the command exists.
17984 2009-09-06 Robert Millan <rmh.grub@aybabtu.com>
17986 * INSTALL: Require GCC 4.1.3 or later.
17988 2009-09-06 Yves Blusseau <blusseau@zetam.org>
17990 * Makefile.in (RMKFILES): add i386-qemu.rmk
17991 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
17992 $(srcdir)/stamp-h.in
17994 2009-09-05 Robert Millan <rmh.grub@aybabtu.com>
17996 * util/grub-probe.c (probe): Comment out buggy codepath, which
17997 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
17998 should be re-enabled after 1.97.
18000 2009-09-05 Felix Zielcke <fzielcke@z-51.de>
18002 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
18005 2009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
18007 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
18008 unnecessary calls to grub_error.
18010 2009-09-04 Colin Watson <cjwatson@ubuntu.com>
18012 * NEWS: Mention `keystatus' and Unicode fonts.
18014 2009-09-04 Robert Millan <rmh.grub@aybabtu.com>
18016 * configure.ac: Bump version to 1.97~beta2.
18017 * docs/version.texi: Likewise.
18019 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
18021 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
18022 containing unwind information in some cases where it previously did
18023 not. Use -fno-dwarf2-cfi-asm if available to restore the old
18024 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
18027 2009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
18029 Embedding loadenv module into grub-emu
18031 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
18033 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
18034 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
18035 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
18036 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
18037 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
18038 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
18040 2009-09-03 Magnus Granberg <zorry@ume.nu>
18042 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
18043 include -fPIE in the default specs.
18044 * configure.ac: Check if pie_possible is yes and add -fno-PIE
18047 2009-09-03 Felix Zielcke <fzielcke@z-51.de>
18049 * INSTALL: Note that GNU Bison 2.3 or later is required.
18051 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
18053 * kern/i386/pc/startup.S: Fix typo.
18055 2009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
18057 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
18060 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
18062 * docs/grub.texi (Naming convention): Describe one-based partition
18064 (Device syntax): Likewise.
18065 (File name syntax): Likewise.
18066 (Block list syntax): Likewise.
18067 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
18069 (File name syntax): Likewise.
18070 (Command-line and menu entry commands): Document acpi, blocklist,
18071 crc, export, insmod, keystatus, ls, set, and unset commands.
18073 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
18075 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
18076 to avoid implying that only one of --shift, --ctrl, or --alt may be
18079 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
18081 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
18082 rather than comparing against S_IFREG, which will almost never work.
18084 2009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
18086 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
18087 (write_blocklists): Likewise.
18089 2009-09-01 Colin Watson <cjwatson@ubuntu.com>
18091 * script/lua/grub_lua.h (fputs): Supply a format string as the first
18092 argument to grub_printf.
18094 2009-09-01 Felix Zielcke <fzielcke@z-51.de>
18096 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
18099 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
18101 * kern/file.c (grub_file_read): Spelling fix
18103 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
18105 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
18106 loading of headers in some cases.
18108 2009-08-30 Robert Millan <rmh.grub@aybabtu.com>
18110 * configure.ac: Bump version to 1.97~beta1.
18111 * docs/version.texi: Likewise.
18113 2009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
18115 * include/grub/i386/xnu.h: Add license header.
18116 include grub/err.h explicitly.
18118 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
18120 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
18121 to `ufs' in the vfs.root.mountfrom kernel parameter.
18123 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
18125 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
18127 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
18128 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
18130 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
18131 `ARRAY_SIZE' macro.
18133 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
18135 * kern/file.c (grub_file_read): Check offset.
18136 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
18137 * fs/jfs.c (grub_jfs_read_file): Likewise.
18138 * fs/ntfs.c (grub_ntfs_read): Likewise.
18139 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
18140 * fs/minix.c (grub_minix_read_file): Correct offset check.
18141 * fs/ufs.c (grub_ufs_read_file): Likewise.
18143 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
18145 * term/i386/pc/console.c (bios_data_area): Cast
18146 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
18148 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
18150 1-bit optimised blitters.
18152 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
18154 (grub_video_fbblit_replace_24bit_1bit): Likewise.
18155 (grub_video_fbblit_replace_16bit_1bit): Likewise.
18156 (grub_video_fbblit_replace_8bit_1bit): Likewise.
18157 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
18158 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
18159 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
18160 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
18162 (grub_video_fbblit_replace_24bit_1bit): Likewise.
18163 (grub_video_fbblit_replace_16bit_1bit): Likewise.
18164 (grub_video_fbblit_replace_8bit_1bit): Likewise.
18165 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
18166 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
18167 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
18168 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
18170 * video/video.c (grub_video_get_blit_format): Return
18171 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
18173 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
18175 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
18176 the first argument to grub_printf.
18178 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
18179 2009-08-28 Robert Millan <rmh.grub@aybabtu.com>
18181 Add `getkeystatus' terminal method. Add a new `keystatus' command
18184 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
18185 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
18186 modifier key bitmasks.
18187 (struct grub_term_input): Add `getkeystatus' member.
18188 (grub_getkeystatus): Add prototype.
18189 * kern/term.c (grub_getkeystatus): New function.
18191 * include/grub/i386/pc/memory.h
18192 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
18193 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
18195 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
18196 (grub_console_term_input): Set `getkeystatus' member.
18197 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
18199 (grub_usb_keyboard_getreport): Likewise.
18200 (grub_usb_keyboard_checkkey): Likewise.
18201 (grub_usb_keyboard_getkeystatus): New function.
18202 (grub_usb_keyboard_term): Set `getkeystatus' member.
18204 * commands/keystatus.c: New file.
18205 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
18206 (keystatus_mod_SOURCES): New variable.
18207 (keystatus_mod_CFLAGS): Likewise.
18208 (keystatus_mod_LDFLAGS): Likewise.
18209 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
18210 commands/keystatus.c.
18211 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
18212 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18213 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
18214 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18215 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18216 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
18218 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
18220 Split befs.mod and afs.mod into *_be.mod and *.mod
18222 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
18223 (grub_fstest_SOURCES): Likewise.
18224 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
18225 (afs_be_mod_SOURCES): New variable.
18226 (afs_be_mod_CFLAGS): Likewise.
18227 (afs_be_mod_LDFLAGS): Likewise.
18228 (befs_be_mod_SOURCES): Likewise.
18229 (befs_be_mod_CFLAGS): Likewise.
18230 (befs_be_mod_LDFLAGS): Likewise.
18231 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
18232 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
18233 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18234 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
18235 (grub_emu_SOURCES): Likewise.
18236 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18237 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18238 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
18239 * fs/afs_be.c: New file.
18240 * fs/befs_be.c: New file.
18241 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
18242 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
18243 (U16): Replaced with ...
18244 (grub_afs_to_cpu16): ...this. All users updated.
18245 (U32): Replaced with ...
18246 (grub_afs_to_cpu32): ...this. All users updated.
18247 (U64): Replaced with ...
18248 (grub_afs_to_cpu64): ...this. All users updated.
18249 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
18250 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
18251 (grub_afs_validate_sblock): Check only one endianness.
18252 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
18253 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
18254 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
18255 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
18256 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
18257 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
18258 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
18259 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
18261 2009-08-26 Bean <bean123ch@gmail.com>
18263 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
18265 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
18266 (grub_xfs_inode_block): Change return type to grub_uint64_t.
18267 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
18269 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
18271 NetBSD memory map support.
18273 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
18274 (grub_netbsd_btinfo_mmap_header): New structure.
18275 (grub_netbsd_btinfo_mmap_entry): Likewise.
18276 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
18278 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
18280 Enable bsd.mod on coreboot.
18282 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
18283 (bsd_mod_SOURCES): New variable.
18284 (bsd_mod_CFLAGS): Likewise.
18285 (bsd_mod_LDFLAGS): Likewise.
18286 (bsd_mod_ASFLAGS): Likewise.
18287 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
18288 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
18290 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
18292 Cleanup NetBSD root support.
18294 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
18295 grub_bsd_get_device.
18298 2009-08-25 Felix Zielcke <fzielcke@z-51.de>
18300 * util/grub.d/00_header.in: Move check for the video backend of
18301 gfxterm from here ...
18302 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
18303 a suitable video backend.
18305 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
18307 Fix breakage in grub-setup.
18309 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
18310 "msdos_partition_map".
18312 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
18314 Fix breakage in normal/auth.c.
18316 * normal/auth.c (grub_iswordseparator): New function.
18318 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
18320 Authentication support.
18322 * commands/password.c: New file.
18323 * conf/common.rmk (pkglib_MODULES): Add password.mod.
18324 (password_mod_SOURCES): New variable.
18325 (password_mod_CFLAGS): Likewise.
18326 (password_mod_LDFLAGS): Likewise.
18327 (normal_mod_SOURCES): Add normal/auth.c.
18328 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
18330 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
18331 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18332 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
18333 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18334 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18335 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
18336 * include/grub/auth.h: New file.
18337 * include/grub/err.h (grub_err_t): New enum value
18338 GRUB_ERR_ACCESS_DENIED.
18339 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
18341 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
18342 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
18344 * normal/auth.c: New file.
18345 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
18346 (grub_cmdline_run): Don't allow to go to command line without
18348 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
18349 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
18350 menuentry without superuser rights.
18351 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
18352 user isn't a superuser.
18354 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
18356 Save space by inlining misc.c functions.
18358 * kern/misc.c (grub_iswordseparator): Made static.
18359 * kern/misc.c (grub_strcat): Moved from here ...
18360 * include/grub/misc.h (grub_strcat): ... here. Inlined.
18361 * kern/misc.c (grub_strncat): Moved from here ...
18362 * include/grub/misc.h (grub_strncat): ... here. Inlined.
18363 * kern/misc.c (grub_strcasecmp): Moved from here ...
18364 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
18365 * kern/misc.c (grub_strncasecmp): Moved from here ...
18366 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
18367 * kern/misc.c (grub_isalpha): Moved from here ...
18368 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
18369 * kern/misc.c (grub_isdigit): Moved from here ...
18370 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
18371 * kern/misc.c (grub_isgraph): Moved from here ...
18372 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
18373 * kern/misc.c (grub_tolower): Moved from here ...
18374 * include/grub/misc.h (grub_tolower): ... here. Inlined.
18376 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
18378 * script/sh/function.c (grub_script_function_find): Cut error message
18379 not to flood terminal.
18380 * script/sh/lexer.c (grub_script_yylex): Remove command line length
18382 * script/sh/script.c (grub_script_arg_add): Duplicate string.
18384 2009-08-24 Colin Watson <cjwatson@ubuntu.com>
18386 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
18387 `report' grub_uint8_t *.
18388 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
18389 Use a 50-millisecond timeout rather than just repeating
18390 grub_usb_keyboard_getreport 50 times.
18391 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
18393 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
18395 Rename *_partition_map to part_*
18397 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
18398 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
18399 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
18400 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
18402 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
18404 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
18405 * util/grub-probe.c (probe_partmap): Don't transform partition name
18406 to get module name.
18408 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
18410 Fix OpenBSD and NetBSD support.
18412 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
18413 memory address conflict.
18414 (OPENBSD_MMAP_ACPI): New definition.
18415 (OPENBSD_MMAP_NVS): Likewise.
18416 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
18417 and OPENBSD_MMAP_NVS.
18418 Add memory map terminator
18419 Explicit cast when calling grub_unix_real_boot.
18420 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
18422 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
18424 Let user specify NetBSD root device.
18426 * loader/i386/bsd.c (netbsd_root): New variable.
18427 (netbsd_opts): New option 'root'.
18428 (NETBSD_ROOT_ARG): New macro.
18429 (grub_netbsd_boot): Use 'netbsd_root'.
18430 (grub_bsd_unload): Free 'netbsd_root'.
18431 (grub_cmd_netbsd): Fill 'netbsd_root'.
18433 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
18435 Support for 64-bit NetBSD.
18437 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
18438 point when booting non-FreeBSD.
18440 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
18442 Support --no-smp and --no-acpi for NetBSD.
18444 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
18445 (NETBSD_AB_NOACPI): Likewise.
18446 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
18447 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
18449 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
18451 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
18453 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
18454 errors. Call grub_error when needed.
18456 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
18458 * commands/search.c (search_fs): Try searching without autoload first.
18459 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
18460 filesystem module explicitly for faster booting.
18462 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
18464 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
18466 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
18468 * util/grub.d/30_os-prober.in: Disable os-prober if
18469 `GRUB_DISABLE_OS_PROBER' was set to true.
18471 2009-08-23 Robert Millan <rmh.grub@aybabtu.com>
18473 * partmap/pc.c: Rename to ...
18474 * partmap/msdos.c: ... this. Update all users.
18475 (grub_pc_partition_map): Rename to ...
18476 (grub_msdos_partition_map): ... this. Update all users.
18478 * parttool/pcpart.c: Rename to ...
18479 * parttool/msdospart.c: ... this. Update all users.
18481 * include/grub/pc_partition.h: Rename to ...
18482 * include/grub/msdos_partition.h: ... this. Update all users.
18483 (grub_pc_partition_bsd_entry): Rename to ...
18484 (grub_msdos_partition_bsd_entry): ... this. Update all users.
18485 (grub_pc_partition_disk_label): Rename to ...
18486 (grub_msdos_partition_disk_label): ... this. Update all users.
18487 (grub_pc_partition_entry): Rename to ...
18488 (grub_msdos_partition_entry): ... this. Update all users.
18489 (grub_pc_partition_mbr): Rename to ...
18490 (grub_msdos_partition_mbr): ... this. Update all users.
18491 (grub_pc_partition): Rename to ...
18492 (grub_msdos_partition): ... this. Update all users.
18493 (grub_pc_partition_is_empty): Rename to ...
18494 (grub_msdos_partition_is_empty): ... this. Update all users.
18495 (grub_pc_partition_is_extended): Rename to ...
18496 (grub_msdos_partition_is_extended): ... this. Update all users.
18497 (grub_pc_partition_is_bsd): Rename to ...
18498 (grub_msdos_partition_is_bsd): ... this. Update all users.
18500 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
18501 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
18502 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
18503 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
18504 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
18505 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
18506 (gpt_mod_LDFLAGS): Rename to ...
18507 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
18508 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
18509 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
18510 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
18511 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
18512 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
18513 (part_gpt_mod_LDFLAGS): ... this.
18514 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
18515 `pcpart.mod' to `msdospart.mod'.
18516 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
18518 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
18519 (msdospart_mod_LDFLAGS): ... this.
18521 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
18523 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
18524 (openbsd_opts): Likewise.
18525 (netbsd_opts): Likewise.
18526 (freebsd_flags): Added 0 terminator.
18527 (openbsd_flags): Likewise.
18528 (netbsd_flags): Likewise.
18529 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
18530 (grub_cmd_freebsd): Transformed into extended command.
18531 (grub_cmd_openbsd): Likewise.
18532 (grub_cmd_netbsd): Likewise.
18533 (cmd_freebsd): Changed type to grub_extcmd_t.
18534 (cmd_openbsd): Likewise.
18535 (cmd_netbsd): Likewise.
18536 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
18537 grub_cmd_openbsd as extended commands.
18538 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
18539 cmd_netbsd and cmd_openbsd
18541 2009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
18543 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
18545 2009-08-21 Pavel Roskin <proski@gnu.org>
18547 * Makefile.in (install-local): When checking if a file is in the
18548 build directory, use "test -e" to detect symlinks.
18550 * Makefile.in (install-local): Remove all files in
18551 $(DESTDIR)$(pkglibdir) before installing new files there.
18553 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
18555 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
18558 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
18560 * util/grub-mkconfig.in: Don't use gfxterm by default if not
18561 explicitly specified by the user.
18563 2009-08-18 Pavel Roskin <proski@gnu.org>
18565 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
18566 grub_uint8_t pointer for data.
18567 * include/grub/fbutil.h (struct grub_video_fbblit_info):
18569 * video/fb/fbutil.c: Remove unnecessary casts.
18571 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
18575 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
18576 (grub_vbe_set_video_mode): Save active mode info
18577 only after setting the mode.
18578 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
18581 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
18583 Rename variables for clarity.
18585 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
18586 (active_vbe_mode_info): ... this. All users updated.
18587 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
18589 (initial_mode): Rename to ...
18590 (initial_vbe_mode): ... this. All users updated.
18591 (mode_in_use): Rename to ..
18592 (vbe_mode_in_use): ... this. All users updated.
18593 (mode_list): Rename to ..
18594 (vbe_mode_list): ... this. All users updated.
18595 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
18596 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
18597 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
18598 'mode_list_size' to 'vbe_mode_list_size'.
18599 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
18600 'best_mode_info' to 'best_vbe_mode_info' and
18601 'best_mode' to 'best_vbe_mode'
18603 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
18605 Remove duplicate grub_video_fb_get_video_ptr.
18607 * include/grub/fbutil.h (get_data_ptr): Rename to ...
18608 (grub_video_fb_get_video_ptr): ... this.
18609 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
18610 * video/fb/fbutil.c: Add comment about addressing.
18611 (get_data_ptr): Rename to ...
18612 (grub_video_fb_get_video_ptr): ... this. All users updated.
18613 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
18615 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
18617 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
18618 grub_dprintf() that was just added.
18620 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
18622 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
18623 (DEFAULT_VIDEO_MODE): Remove macros.
18624 (grub_linux_boot): Remove assumption that Linux has FB support,
18625 and use "text" as default video mode.
18627 2009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
18629 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
18631 * fs/fat.c (grub_fat_read_data): Likewise.
18633 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
18635 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
18637 (grub_module): Likewise.
18639 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
18641 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
18642 mbi->cmdline but free playground.
18644 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
18646 Handle group offset on UFS1.
18648 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
18649 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
18651 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
18653 Split ufs.mod into ufs1.mod and ufs2.mod.
18655 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
18656 (grub_fstest_SOURCES): Likewise.
18657 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
18658 (ufs_mod_SOURCES): Remove.
18659 (ufs_mod_CFLAGS): Likewise.
18660 (ufs_mod_LDFLAGS): Likewise.
18661 (ufs1_mod_SOURCES): New variable.
18662 (ufs1_mod_CFLAGS): Likewise.
18663 (ufs1_mod_LDFLAGS): Likewise.
18664 (ufs2_mod_SOURCES): New variable.
18665 (ufs2_mod_CFLAGS): Likewise.
18666 (ufs2_mod_LDFLAGS): Likewise.
18667 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
18668 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
18670 (grub_emu_SOURCES): Likewise.
18671 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18672 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
18673 (grub_setup_SOURCES): Likewise.
18674 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18675 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
18676 (grub_setup_SOURCES): Likewise.
18677 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
18679 * fs/ufs2.c: New file.
18680 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
18682 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
18686 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
18687 subsystem at the end.
18688 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
18689 (video_fb_mod_SOURCES): New variable.
18690 (video_fb_mod_CFLAGS): Likewise.
18691 (video_fb_mod_LDFLAGS): Likewise.
18692 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
18693 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
18694 * video/i386/pc/vbeblit.c: Moved from here ...
18695 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
18696 * video/i386/pc/vbefill.c: Moved from here ...
18697 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
18698 * video/i386/pc/vbeutil.c: Moved from here ...
18699 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
18700 * include/grub/i386/pc/vbeblit.h: Moved from here ...
18701 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
18702 * include/grub/i386/pc/vbefill.h: Moved from here ...
18703 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
18704 * include/grub/i386/pc/vbeutil.h: Moved from here ...
18705 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
18706 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
18707 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
18708 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
18709 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
18710 (grub_video_adapter): Added 'get_info_and_fini'.
18711 (grub_video_get_info_and_fini): New prototype.
18712 (grub_video_set_mode): make modestring const char *.
18713 * loader/i386/linux.c (grub_linux_setup_video): Use
18714 grub_video_get_info_and_fini.
18715 (grub_linux_boot): Move modesetting just before booting.
18716 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
18717 grub_video_get_info_and_fini.
18718 * video/i386/pc/vbe.c: Moved framebuffer part ...
18719 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
18720 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
18721 grub_video_fbstd_colors and grub_video_fb_set_palette.
18722 (grub_video_vbe_init): Clear 'framebuffer' variable and use
18723 grub_video_fb_init.
18724 (grub_video_vbe_fini): Use grub_video_fb_fini.
18725 (grub_video_vbe_setup): Use framebuffer.render_target instead of
18726 render_target and use grub_video_fb_set_active_render_target and
18727 grub_video_fb_set_palette.
18728 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
18729 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
18730 (grub_video_vbe_adapter): Use framebuffer.
18731 * video/video.c (grub_video_get_info_and_fini): New function.
18732 (grub_video_set_mode): Make modestring const char *.
18733 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
18734 values are already initialised.
18736 2009-08-14 Pavel Roskin <proski@gnu.org>
18738 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
18740 * boot/i386/pc/diskboot.S: Likewise.
18741 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
18742 sectors allow compilation on MacOSX.
18743 * conf/i386-pc.rmk: Enable unconditional compilation of
18746 2009-08-13 Colin Watson <cjwatson@ubuntu.com>
18748 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
18749 * util/grub.d/00_header.in: Enter interruptible sleep if
18750 GRUB_HIDDEN_TIMEOUT is set.
18752 2009-08-13 Yves Blusseau <blusseau@zetam.org>
18754 * include/grub/symbol.h: Add the LOCAL macro.
18755 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
18756 starting with "L_".
18758 2009-08-13 Pavel Roskin <proski@gnu.org>
18760 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
18761 any modern compilers we support.
18763 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
18764 Use local labels starting with "L_" so that Apple assembler
18765 knows they are local.
18767 2009-08-10 Robert Millan <rmh.grub@aybabtu.com>
18769 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
18770 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
18771 (bsd_kernel_types): ... this enum.
18773 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
18774 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
18775 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
18777 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
18778 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
18779 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
18782 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
18784 * util/grub-dumpdevtree: Moved from here ...
18785 * util/i386/efi/grub-dumpdevtree: ... to here.
18786 (hexify): New function. Converts a string to its hex version.
18787 Generate hex versions of "efi" and "device-properties" by calling
18788 hexify() on the ASCII strings rather than by hardcoding numbers.
18790 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
18792 * fs/jfs.c: Update copyright year.
18794 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
18796 * util/grub.d/00_header.in: Fix a comment.
18797 * util/grub.d/10_linux.in: Likewise.
18798 * util/grub.d/10_windows.in: Likewise.
18799 * util/grub.d/10_hurd.in: Likewise.
18801 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
18803 * util/grub-mkconfig.in: Allow the user to specify the used font
18806 2009-08-08 Pavel Roskin <proski@gnu.org>
18808 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
18809 available, xfs.mod needs it now.
18811 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
18812 the "g" modifier in sed when the intention is to strip something
18813 once. This fixes comparison of kernels with multiple dashes.
18815 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
18816 on it. Add missing space before closing bracket. Fix
18817 misleading formatting.
18819 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
18821 * docs/grub.texi: Major overhaul. Remove all sections that are
18822 specific to GRUB Legacy, or mostly composed of Legacy-specific
18825 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
18827 * docs/version.texi: New file. Provides version information for
18830 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
18832 * docs/grub.texi: Update CVS information to SVN.
18833 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
18835 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
18837 * util/grub-mkconfig.in: Remove a wrong `fi'.
18839 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
18841 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
18842 (grub_jfs_uuid): New function.
18843 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
18845 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
18847 * util/grub-mkconfig_lib.in (font_path): Move the functionality
18849 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
18850 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
18852 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
18854 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
18855 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
18858 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
18859 not just "vmlinu[zx]".
18860 Moved from here ...
18861 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
18864 * util/grub.d/10_linux.in (find_latest): Moved from here ...
18865 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
18868 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
18870 * util/grub.d/10_freebsd.in: Use an absolute device path for
18871 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
18873 2009-08-06 Felix Zielcke <fzielcke@z-51.de>
18875 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
18876 handling of multiple abstraction modules.
18878 2009-08-04 Robert Millan <rmh.grub@aybabtu.com>
18880 Fix a bug resulting in black screen when loading Linux using a
18883 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
18886 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
18887 (grub_vbe_bios_getset_dac_palette_width): New function.
18888 (grub_vbe_bios_get_dac_palette_width)
18889 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
18890 grub_vbe_bios_getset_dac_palette_width()).
18892 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
18893 check for return status.
18894 (grub_vbe_get_video_mode_info): When getting information for a packed
18895 mode (<= 8 bpp), obtain DAC palette width using
18896 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
18897 {red,green,blue}_mark_size.
18899 2009-08-04 Felix Zielcke <fzielcke@z-51.de>
18901 * commands/search.c (options): Fix help output to match actual code.
18903 2009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
18905 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
18908 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
18910 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
18911 on XFS or ReiserFS.
18913 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
18915 Support Apple partition map with sector size different from 512 bytes.
18917 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
18918 (apple_partition_map_iterate): Respect 'aheader.blocksize'
18919 and 'apart.partmap_size'.
18921 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
18922 2009-08-01 Robert Millan <rmh.grub@aybabtu.com>
18926 * commands/i386/cpuid.c (options): New variable.
18927 (grub_cmd_cpuid): Return real error.
18928 (GRUB_MOD_INIT(cpuid)): Declare options.
18930 2009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
18932 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
18935 2009-07-31 Bean <bean123ch@gmail.com>
18937 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
18939 (grub_fshelp_node): Move inode field to the end.
18940 (grub_xfs_data): Remove inode field.
18941 (grub_xfs_inode_block): Calculate inode size using sblock.
18942 (grub_xfs_inode_offset): Likewise.
18943 (grub_xfs_read_inode): Calculate inode size using sblock.
18944 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
18945 (grub_xfs_iterate_dir): Calculate inode size using sblock.
18946 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
18947 to match inode size.
18948 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
18949 not accessible when data is null.
18950 (grub_xfs_open): Likewise.
18952 2009-07-31 Bean <bean123ch@gmail.com>
18954 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
18955 Don't change pv->disk if it's already set.
18957 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
18958 (grub_raid_register): ... here.
18959 (grub_raid_rescan): Removed.
18961 * include/grub/raid.h (grub_raid_rescan): Removed.
18963 * util/grub-fstest.c: Remove include file <grub/raid.h>.
18964 (fstest): Replace grub_raid_rescan with module fini function followed
18967 * util/grub-probe.c: Add include file <grub/raid.h>.
18968 (probe_raid_level): New function.
18969 (probe): Detect abstraction by walking the disk device, support two
18970 level of abstraction (LVM on RAID) when detecting partition map.
18972 2009-07-31 Pavel Roskin <proski@gnu.org>
18974 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
18975 to grub_zalloc(), it was erroneous.
18976 Reported by Bean <bean123ch@gmail.com>
18978 2009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
18980 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
18981 embedding zone, not only the first one.
18983 2009-07-29 Joe Auricchio <jauricchio@gmail.com>
18985 * term/gfxterm.c (clear_char): New function.
18986 (grub_virtual_screen_setup): Use clear_char.
18987 (scroll_up): Likewise.
18988 (grub_virtual_screen_cls): Likewise.
18990 2009-07-29 Felix Zielcke <fzielcke@z-51.de>
18992 * util/deviceiter.c (get_acceleraid_disk_name): New static
18994 (grub_util_iterate_devices): Handle Accelraid devices.
18995 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
18997 2009-07-28 Robert Millan <rmh.grub@aybabtu.com>
18999 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
19000 separator for the suggested gfxpayload string (';' collides with the
19001 parser and needs escaping).
19003 2009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
19005 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
19006 Clear direction flag before jumping to OS.
19007 (grub_multiboot2_real_boot): Likewise.
19009 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
19011 * util/i386/pc/grub-install: Fix parsing of --disk-module
19014 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
19016 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
19019 2009-07-26 Felix Zielcke <fzielcke@z-51.de>
19021 * util/grub-mkconfig.in (package_version): New variable.
19022 Use it do display the version.
19024 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
19026 * kern/file.c (grub_file_open): Revert to previous check with
19029 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
19031 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
19032 from help line. It's out of sync with code.
19034 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
19036 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
19037 entries on failed boot.
19039 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
19041 * kern/file.c (grub_file_open): Fix an error check.
19043 2009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
19045 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
19046 partition map couldn't be identified.
19048 2009-07-23 Pavel Roskin <proski@gnu.org>
19050 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
19051 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
19052 case of little endian words becomes just an optimization.
19053 Respect const modifier.
19054 (md5_final): Use code that doesn't depend on endianness.
19056 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
19057 to avoid loss of upper bits if align is unsigned and shorter
19060 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
19062 UUID support for UFS
19064 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
19065 (grub_ufs_uuid): New function.
19066 (grub_ufs_fs): add .uuid
19068 2009-07-21 Pavel Roskin <proski@gnu.org>
19070 * kern/dl.c (grub_dl_check_header): Make static.
19072 2009-07-21 Felix Zielcke <fzielcke@z-51.de>
19074 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
19075 add drivemap for Vista. It breaks Windows 7.
19077 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
19079 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
19082 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
19086 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
19087 (grub_fstest_SOURCES): Likewise.
19088 (pkglib_MODULES): Add befs.mod.
19089 (befs_mod_SOURCES): New variable.
19090 (befs_mod_CFLAGS): Likewise.
19091 (befs_mod_LDFLAGS): Likewise.
19092 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
19093 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
19094 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19095 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
19096 (grub_setup_SOURCES): Likewise.
19097 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19098 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19099 (grub_setup_SOURCES): Likewise.
19100 * fs/befs.c: New file.
19101 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
19102 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
19103 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
19104 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
19105 (B_KEY_INDEX_ALIGN): New declaration.
19106 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
19107 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
19108 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
19109 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
19110 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
19111 (grub_afs_mount) [MODE_BFS]: Likewise.
19112 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
19113 (grub_afs_fs): Use GRUB_AFS_FSNAME
19114 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
19115 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
19116 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
19117 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
19119 2009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
19121 * util/getroot.c (find_root_device): Add support for MacOSX.
19122 * util/hostdisk.c: Likewise.
19124 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
19126 * font/font.c (find_glyph): Check whether a font is present to avoid
19127 segmentation fault.
19129 2009-07-20 Joe Auricchio <jauricchio@gmail.com>
19131 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
19133 2009-07-20 Pavel Roskin <proski@gnu.org>
19135 * configure.ac: Trim excessively wordy excuses.
19137 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
19139 Add symlink, mtime and label support to AtheFS.
19141 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
19142 (grub_afs_iterate_dir): Handle symlinks.
19143 (grub_afs_open): Use grub_afs_read_symlink.
19144 (grub_afs_dir): Likewise.
19146 (grub_afs_label): New function.
19147 (grub_afs_fs): Add grub_afs_label.
19148 (grub_afs_read_symlink): New function.
19150 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
19152 Fix AtheFS support.
19154 * fs/afs.c: Fix comments style.
19155 (grub_afs_blockrun): Declare as packed.
19156 (grub_afs_datastream): Likewise.
19157 (grub_afs_bnode): Likewise.
19158 (grub_afs_btree): Likewise.
19159 (grub_afs_sblock): Likewise.
19160 Declare `name' as char.
19161 (grub_afs_inode): Declare as packed.
19162 Change void *vnode to grub_uint32_t unused.
19163 (grub_afs_iterate_dir): Check that key_size is positive.
19164 (grub_afs_mount): Don't read superblock twice.
19165 (grub_afs_dir): Don't free node in case of error,
19166 grub_fshelp_find_file already handles this.
19167 (grub_afs_open): Likewise.
19169 2009-07-19 Pavel Roskin <proski@gnu.org>
19171 * Makefile.in: Remove LIBLZO and enable_lzo.
19172 * conf/i386-pc.rmk: Remove lzo support.
19173 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
19174 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
19176 * kern/i386/pc/lzo1x.S: Remove.
19177 * kern/i386/pc/startup.S: Remove lzo support.
19178 * util/i386/pc/grub-mkimage.c: Likewise.
19180 2009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
19182 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
19183 * fs/xfs.c (grub_xfs_dir): Likewise.
19184 * fs/afs.c (grub_afs_dir): Likewise.
19185 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
19186 (grub_iso9660_open): Likewise.
19187 * fs/jfs.c (grub_jfs_open): Likewise.
19188 * fs/ext2.c (grub_ext2_dir): Likewise.
19189 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
19190 * script/sh/lexer.c (grub_script_yylex): Likewise.
19192 2009-07-16 Pavel Roskin <proski@gnu.org>
19194 * configure.ac: Never add "-c" to CFLAGS.
19196 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
19198 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
19199 grub_cv_cc_efiemu should be used.
19201 * configure.ac: Typo fixes.
19203 * kern/mm.c (grub_zalloc): New function.
19204 (grub_debug_zalloc): Likewise.
19205 * include/grub/mm.h: Declare grub_zalloc() and
19206 grub_debug_zalloc().
19207 * util/misc.c (grub_zalloc): New function.
19208 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
19209 instead of grub_malloc(), remove unneeded initializations.
19210 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
19211 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
19212 * commands/parttool.c (grub_cmd_parttool): Likewise.
19213 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
19214 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
19215 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
19216 * disk/usbms.c (grub_usbms_finddevs): Likewise.
19217 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
19218 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
19219 (grub_cmd_efiemu_pnvram): Likewise.
19220 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
19221 * fs/iso9660.c (grub_iso9660_mount): Likewise.
19222 (grub_iso9660_iterate_dir): Likewise.
19223 * fs/jfs.c (grub_jfs_opendir): Likewise.
19224 * fs/ntfs.c (list_file): Likewise.
19225 (grub_ntfs_mount): Likewise.
19226 * kern/disk.c (grub_disk_open): Likewise.
19227 * kern/dl.c (grub_dl_load_core): Likewise.
19228 * kern/elf.c (grub_elf_file): Likewise.
19229 * kern/env.c (grub_env_context_open): Likewise.
19230 (grub_env_set): Likewise.
19231 (grub_env_set_data_slot): Likewise.
19232 * kern/file.c (grub_file_open): Likewise.
19233 * kern/fs.c (grub_fs_blocklist_open): Likewise.
19234 * loader/i386/multiboot.c (grub_module): Likewise.
19235 * loader/xnu.c (grub_xnu_create_key): Likewise.
19236 (grub_xnu_create_value): Likewise.
19237 * normal/main.c (grub_normal_add_menu_entry): Likewise.
19238 (read_config_file): Likewise.
19239 * normal/menu_entry.c (make_screen): Likewise.
19240 * partmap/sun.c (sun_partition_map_iterate): Likewise.
19241 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
19242 * script/sh/script.c (grub_script_parse): Likewise.
19243 * video/bitmap.c (grub_video_bitmap_create): Likewise.
19244 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
19245 * video/readers/png.c (grub_png_output_byte): Likewise.
19246 (grub_video_reader_png): Likewise.
19248 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
19250 Enable all targets that can be built by default
19252 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
19253 grub-mkfont and grub-fstest if they can be built
19255 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
19257 Fix hang and segmentation fault in grub-emu-usb
19259 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
19260 * util/usb.c (grub_libusb_devices): likewise
19261 (grub_libusb_init): rename to ...
19262 (GRUB_MOD_INIT (libusb)):...this
19263 (grub_libusb_fini): rename to ..
19264 (GRUB_MOD_FINI (libusb)):...this
19265 * disk/usbms.c (grub_usbms_transfer): fix retry logic
19266 * include/grub/disk.h (grub_raid_init): removed, it's useless
19267 (grub_raid_fini): likewise
19268 (grub_lvm_init): likewise
19269 (grub_lvm_fini): likewise
19270 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
19273 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
19277 * Makefile.in (LIBUSB): new macro
19278 * genmk.rb (Utility/print_tail): new method
19279 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
19280 (top level): call util.print_tail at the end.
19282 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
19284 Make FreeBSD accept zpool.cache
19286 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
19287 type is /boot/zfs/zpool.cache
19289 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
19293 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
19294 correct wrong typedef
19295 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
19297 2009-07-15 Pavel Roskin <proski@gnu.org>
19299 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
19300 * kern/disk.c (struct grub_disk_cache): Likewise.
19302 * commands/probe.c (options): Typo fix.
19304 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
19305 Increase to 0x5a to accommodate FAT32. Adjust other offsets
19307 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
19309 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
19310 the end of "Error" to make the message more readable.
19312 * boot/i386/pc/boot.S (kernel_segment): Remove.
19313 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
19316 * boot/i386/pc/boot.S (boot_version): Remove.
19317 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
19320 * include/grub/i386/pc/boot.h: Sort all offsets.
19321 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
19322 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
19323 * boot/i386/pc/boot.S: Assert location of every offset listed in
19324 include/grub/i386/pc/boot.h.
19326 2009-07-13 Pavel Roskin <proski@gnu.org>
19328 * include/grub/i386/coreboot/machine.h: Rename
19329 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
19330 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
19331 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
19333 * kern/dl.c: Force native word size to suppress warnings when
19334 compiling grub-emu.
19336 * kern/device.c (grub_device_iterate): Change struct part_ent to
19337 hold the name, not a pointer to it. Use one grub_malloc() per
19338 partition, not two. Free partition_name if grub_malloc() fails.
19339 Set ents to NULL only before grub_partition_iterate() is called.
19341 2009-07-11 Bean <bean123ch@gmail.com>
19343 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
19346 2009-07-10 Bean <bean123ch@gmail.com>
19347 2009-07-10 Robert Millan <rmh.grub@aybabtu.com>
19349 * kern/ieee1275/openfw.c (grub_children_iterate)
19350 (grub_devalias_iterate): Fix size evaluation for property or path
19351 strings, which was broken since r2132.
19353 2009-07-07 Pavel Roskin <proski@gnu.org>
19355 * commands/search.c (search_file): Merge into ...
19356 (search_fs): ... this. Accept search type as argument.
19357 (grub_cmd_search): Pass search type to search_fs().
19359 * include/grub/util/console.h: New file.
19360 * util/console.c: Use it instead of grub/machine/console.h.
19361 * util/grub-emu.c: Likewise.
19363 * lib/arg.c (find_long_option): Remove.
19364 (find_long): Add `len' argument, make `s' const char *.
19365 (grub_arg_parse): Parse long options in place, not in a
19368 2009-07-06 Pavel Roskin <proski@gnu.org>
19370 * commands/search.c (search_fs): Fix potential NULL pointer
19373 * commands/search.c (search_fs): Replace QUID macro with quid_fn
19376 2009-07-06 Daniel Mierswa <impulze@impulze.org>
19378 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
19381 2009-07-05 Pavel Roskin <proski@gnu.org>
19383 * include/grub/i386/linux.h (struct linux_kernel_params):
19384 Restore padding3, it's still needed.
19386 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
19388 * util/osdetect.lua: Likewise.
19390 2009-07-05 Bean <bean123ch@gmail.com>
19392 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
19394 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
19395 (grub_lua_getenv): Likewise.
19396 (grub_lua_setenv): Likewise.
19397 (save_errno): New function.
19398 (push_result): Likewise.
19399 (grub_lua_enum_device): Likewise.
19400 (grub_lua_enum_file): Likewise.
19401 (grub_lua_file_open): Likewise.
19402 (grub_lua_file_close): Likewise.
19403 (grub_lua_file_seek): Likewise.
19404 (grub_lua_file_read): Likewise.
19405 (grub_lua_file_getline): Likewise.
19406 (grub_lua_file_getsize): Likewise.
19407 (grub_lua_file_getpos): Likewise.
19408 (grub_lua_file_eof): Likewise.
19409 (grub_lua_file_exist): Likewise.
19410 (grub_lua_add_menu): Likewise.
19412 * script/lua/grub_lua.h (isupper): New inline function.
19413 (islower): Likewise.
19414 (ispunct): Likewise.
19415 (isxdigit): Likewise.
19416 (strcspn): Change to normal function.
19417 (strpbkr): New function declaration.
19418 (memchr): Likewise.
19420 * script/lua/grub_main.c (scan_str): New function.
19421 (strcspn): Likewise.
19422 (strpbrk): Likewise.
19423 (memchr): Likewise.
19425 * script/lua/linit.c (lualibs): Enable the string library.
19427 * util/osdetect.lua: New file.
19429 2009-07-04 Robert Millan <rmh.grub@aybabtu.com>
19431 * include/grub/i386/linux.h (struct linux_kernel_params): Add
19432 `capabilities' member.
19434 2009-07-02 Pavel Roskin <proski@gnu.org>
19436 * genparttoollist.sh: Add missing newline at the end.
19438 2009-07-01 Pavel Roskin <proski@gnu.org>
19440 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
19442 * util/hostdisk.c (open_device): Remove `const' from
19443 `sysctl_size', as sysctlbyname() can change it (in this case it
19444 doesn't actually happen).
19446 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
19447 using signed long int constants.
19449 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
19450 constant to avoid a warning on FreeBSD.
19452 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
19455 * Makefile.in: Install include/grub/machine symlink.
19457 * Makefile.in: When installing symlinks, use "cp -fR", which
19458 works on FreeBSD and MacOSX.
19459 From Yves Blusseau <cl7m42e02@sneakemail.com>
19461 * kern/dl.c (grub_dl_resolve_symbol): Make static.
19462 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
19464 * util/misc.c: Move grub_reboot() and grub_halt() ...
19465 * util/grub-emu.c: ... here. Make main_env static.
19466 * include/grub/util/misc.h: Remove main_env.
19468 * kern/mm.c: Use correct format to print size_t.
19470 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
19471 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
19472 * kern/powerpc/dl.c: Likewise.
19473 * kern/sparc64/dl.c: Likewise.
19474 * kern/x86_64/dl.c: Likewise.
19476 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
19478 Fix grub-emu build on sparc64-ieee1275.
19480 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
19481 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
19483 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
19485 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
19486 (grub_reboot, grub_halt): New functions.
19488 * util/i386/pc/misc.c: Delete. Update all users.
19489 * util/sparc64/ieee1275/misc.c: Likewise.
19490 * util/powerpc/ieee1275/misc.c: Likewise.
19492 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
19494 * conf/i386.rmk (setjmp_mod_SOURCES)
19495 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
19496 * conf/common.rmk (setjmp_mod_SOURCES)
19497 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
19498 to use $(target_cpu).
19499 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
19500 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
19501 * conf/powerpc-ieee1275.rmk: Likewise.
19502 * conf/sparc64-ieee1275.rmk: Likewise.
19504 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
19505 $(target_cpu) for kern/$(target_cpu)/dl.c.
19506 * conf/i386-efi.rmk: Likewise.
19507 * conf/i386-ieee1275.rmk: Likewise.
19508 * conf/x86_64-efi.rmk: Likewise.
19509 * conf/i386-coreboot.rmk: Likewise.
19510 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
19511 $(target_cpu) for kern/$(target_cpu)/dl.c and for
19512 kern/$(target_cpu)/cache.S.
19513 * conf/sparc64-ieee1275.rmk: Likewise.
19515 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
19517 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
19518 type to `grub_uint8_t', and adjust `padding9' accordingly.
19520 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
19522 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
19524 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
19525 assembly in final jump, using register constraints.
19527 (grub_linux_boot): For text mode, initialize `have_vga' using
19528 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
19530 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
19531 right before the final jump.
19533 Set `video_mode' to 0x3.
19535 Document initialization of `video_page', `video_mode' and
19538 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
19540 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
19541 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
19542 and set GRUB_LINUX_FLAG_QUIET appropriately.
19544 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
19546 Fix build on Debian / sparc.
19548 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
19550 2009-06-28 Pavel Roskin <proski@gnu.org>
19552 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
19555 * util/grub.d/10_linux.in: Match SUSE style initrd names.
19557 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
19559 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
19562 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
19566 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
19567 file can't be opened. grub_file_open() is already supposed to set
19568 grub_errno / grub_errmsg appropriately.
19569 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
19571 2009-06-27 Pavel Roskin <proski@gnu.org>
19572 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
19574 * include/grub/dl.h: Include grub/elf.h.
19575 (struct grub_dl): Add symtab field.
19576 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
19577 GRUB_MODULES_MACHINE_READONLY.
19578 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
19579 of the header for read-only modules.
19580 (grub_dl_unload): Free mod->symtab for read-only modules.
19581 * kern/i386/dl.c: Use mod->symtab.
19582 * kern/powerpc/dl.c: Likewise.
19583 * kern/sparc64/dl.c: Likewise.
19584 * kern/x86_64/dl.c: Likewise.
19586 * conf/i386-qemu.rmk: New file.
19587 * kern/i386/qemu/startup.S: Likewise.
19588 * kern/i386/qemu/mmap.c: Likewise.
19589 * boot/i386/qemu/boot.S: Likewise.
19590 * include/grub/i386/qemu/time.h: Likewise.
19591 * include/grub/i386/qemu/serial.h: Likewise.
19592 * include/grub/i386/qemu/kernel.h: Likewise.
19593 * include/grub/i386/qemu/console.h: Likewise.
19594 * include/grub/i386/qemu/boot.h: Likewise.
19595 * include/grub/i386/qemu/init.h: Likewise.
19596 * include/grub/i386/qemu/machine.h: Likewise.
19597 * include/grub/i386/qemu/loader.h: Likewise.
19598 * include/grub/i386/qemu/memory.h: Likewise.
19600 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
19601 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
19602 [qemu] (pkglib_IMAGES): Add `boot.img'.
19603 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
19604 [qemu] (boot_img_FORMAT): New variables.
19605 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
19606 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
19607 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
19608 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
19609 [qemu] (kernel_img_FORMAT): New variables.
19611 * configure.ac: Recognise `i386-qemu'.
19613 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
19614 (for no compression).
19615 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
19616 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
19617 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
19618 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
19621 2009-06-27 Pavel Roskin <proski@gnu.org>
19623 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
19625 * efiemu/prepare32.c: Likewise.
19626 * efiemu/prepare64.c: Likewise.
19628 2009-06-26 Pavel Roskin <proski@gnu.org>
19630 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
19631 * include/grub/elf.h: Define symbols without "32" or "64" based
19632 on GRUB_TARGET_WORDSIZE.
19633 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
19634 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
19636 * efiemu/loadcore64.c: Likewise.
19637 * loader/i386/bsd32.c: Likewise.
19638 * loader/i386/bsd64.c: Likewise.
19639 * kern/dl.c: Remove own ELF definitions.
19640 * util/i386/efi/grub-mkimage.c: Likewise.
19642 2009-06-23 Robert Millan <rmh.grub@aybabtu.com>
19644 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
19645 segment 0x0 unconditionally, because the reference generated by
19646 GAS is an absolute address.
19648 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
19650 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
19651 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
19653 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
19655 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
19656 indexes. Check for -f explicitly.
19657 (search_file): Improve error message.
19658 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
19660 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
19662 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
19663 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
19665 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
19667 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
19668 * conf/i386-ieee1275.rmk: Likewise.
19669 * conf/i386-coreboot.rmk: Likewise.
19671 * kern/i386/pc/startup.S (grub_stop): Remove function.
19672 * kern/i386/ieee1275/startup.S: Likewise.
19673 * kern/i386/coreboot/startup.S: Likewise.
19674 * kern/i386/misc.S (grub_stop): New function.
19676 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
19678 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
19679 * kern/i386/realmode.S (real_to_prot): ... to here.
19681 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
19683 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
19685 (kernel_elf_SOURCES): Rename to ...
19686 (kernel_img_SOURCES): ... this.
19687 (kernel_elf_HEADERS): Rename to ...
19688 (kernel_img_HEADERS): ... this. Update all users.
19689 (kernel_elf_ASFLAGS): Rename to ...
19690 (kernel_img_ASFLAGS): ... this.
19691 (kernel_elf_CFLAGS): Rename to ...
19692 (kernel_img_CFLAGS): ... this.
19693 (kernel_elf_LDFLAGS): Rename to ...
19694 (kernel_img_LDFLAGS): ... this.
19695 * conf/i386-coreboot.rmk: Likewise.
19696 * conf/powerpc-ieee1275.rmk: Likewise.
19698 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
19701 2009-06-21 Pavel Roskin <proski@gnu.org>
19703 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
19704 to match nested functions.
19705 * loader/sparc64/ieee1275/linux.c: Likewise.
19707 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
19709 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
19711 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
19712 all i386 platforms.
19714 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
19716 Fix asm file handling on ELF, and remove workarounds.
19718 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
19719 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
19720 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
19721 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
19723 2009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
19725 Load BSD ELF modules
19727 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
19728 and loader/i386/bsd64.c
19729 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
19730 (FREEBSD_MODTYPE_ELF_MODULE): New definition
19731 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
19732 (grub_freebsd_load_elfmodule32): New declaration
19733 (grub_freebsd_load_elfmoduleobj64): Likewise
19734 (grub_freebsd_load_elf_meta32): Likewise
19735 (grub_freebsd_load_elf_meta64): Likewise
19736 (grub_freebsd_add_meta): Likewise
19737 (grub_freebsd_add_meta_module): Likewise
19738 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
19739 (grub_freebsd_add_meta_module): Likewise and move module-specific
19740 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
19741 (grub_cmd_freebsd): Add elf-kernel specific parts
19742 based on grub_freebsd_add_meta_module
19743 (grub_cmd_freebsd_module): Add type parsing moved from
19744 grub_freebsd_add_meta_module
19745 (grub_cmd_freebsd_module_elf): New function
19746 (cmd_freebsd_module_elf): New variable
19747 (GRUB_MOD_INIT): Register freebsd_module_elf
19748 * loader/i386/bsd32.c: New file
19749 * loader/i386/bsd64.c: Likewise
19750 * loader/i386/bsdXX.c: Likewise
19751 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
19752 (grub_elf64_load): Likewise
19753 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
19755 (grub_elf64_load_hook_t): Likewise
19757 2009-06-21 Colin Watson <cjwatson@ubuntu.com>
19759 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
19761 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
19762 don't write a menu entry for recovery mode.
19764 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
19766 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
19767 after it's no longer needed.
19769 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
19771 * include/grub/i386/loader.h (grub_linux_prot_size)
19772 (grub_linux_tmp_addr, grub_linux_real_addr)
19773 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
19774 GRUB_MACHINE_PCBIOS.
19775 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
19776 common grub_util_info() call to ...
19777 (generate_image): ... here.
19778 Fix use of uninitialized memory, comparison of signed with
19779 unsigned integers and memory leak.
19780 Remove bogus module address message.
19782 2009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
19784 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
19786 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
19788 2009-06-19 Pavel Roskin <proski@gnu.org>
19790 * configure.ac: Remove stray AC_MSG_CHECKING.
19792 2009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
19794 * disk/scsi.c (grub_scsi_open): use continue instead of big if
19796 2009-06-18 Pavel Roskin <proski@gnu.org>
19798 * conf/common.rmk: Add fs_file.mod.
19799 * disk/fs_file.c: New file.
19800 * include/grub/disk.h (enum grub_disk_dev_id): Add
19801 GRUB_DISK_DEVICE_FILE_ID.
19803 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
19805 Fix build with Apple's toolchain. Part 2
19807 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
19810 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
19812 Fix build with Apple's toolchain. Part 1
19814 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
19816 * configure.ac: remove a leftover AC_MSG_RESULT
19817 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
19820 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
19824 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
19825 (decomp_block): initialize ch
19826 use grub_memcpy instead of memcpy
19828 2009-06-17 Pavel Roskin <proski@gnu.org>
19830 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
19831 version, use declarations needed to use vga_text as the startup
19834 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
19835 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
19837 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
19838 and grub_at_keyboard_fini(), it's done on module load and
19841 2009-06-17 Felix Zielcke <fzielcke@z-51.de>
19843 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
19844 file can't be found.
19845 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
19847 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
19849 Fix newline handling
19851 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
19852 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
19853 (grub_script_yylex): don't segfault on unterminated script
19854 newline terminates command and variable
19856 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
19858 avoid double grub_adjust_range call. Bug reported by David Simner
19860 * kern/disk.c (grub_disk_write): change to raw disk access before
19863 2009-06-17 Colin Watson <cjwatson@ubuntu.com>
19865 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
19866 spaces, for the benefit of help2man.
19867 * util/i386/efi/grub-mkimage.c (usage): Likewise.
19869 2009-06-16 Pavel Roskin <proski@gnu.org>
19871 * kern/i386/halt.c: Include grub/machine/init.h.
19872 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
19874 2009-06-16 Felix Zielcke <fzielcke@z-51.de>
19876 * util/grub.d/30_os-prober.in: Use ${root} in the generated
19877 drivemap menuentry.
19879 2009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
19881 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
19884 2009-06-16 Pavel Roskin <proski@gnu.org>
19886 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
19887 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
19888 save %dx, we only need %dl and we never change it.
19889 * boot/i386/pc/cdboot.S: Don't set the root drive.
19890 * boot/i386/pc/pxeboot.S: Likewise.
19891 * include/grub/i386/pc/boot.h: Remove
19892 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
19893 GRUB_BOOT_MACHINE_DRIVE_CHECK.
19894 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
19895 * kern/i386/pc/init.c (make_install_device): Remove references
19896 to grub_root_drive.
19897 * kern/i386/pc/startup.S: Likewise.
19898 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
19900 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
19904 * commands/xnu_uuid.c: new file
19905 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
19906 (xnu_uuid_mod_SOURCES): new variable
19907 (xnu_uuid_mod_CFLAGS): likewise
19908 (xnu_uuid_mod_LDFLAGS): likewise
19909 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
19910 * conf/i386-ieee1275.rmk: likewise
19911 * conf/i386-pc.rmk: likewise
19912 * conf/powerpc-ieee1275.rmk: likewise
19913 * conf/sparc64-ieee1275.rmk: likewise
19914 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
19916 2009-06-16 Pavel Roskin <proski@gnu.org>
19918 * configure.ac: Avoid '==' in test command, it's not portable.
19920 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
19924 * commands/probe.c: new file
19925 * conf/common.rmk (pkglib_MODULES): add probe.mod
19926 (probe_mod_SOURCES): new variable
19927 (probe_mod_CFLAGS): likewise
19928 (probe_mod_LDFLAGS): likewise
19929 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
19930 * conf/i386-ieee1275.rmk: likewise
19931 * conf/i386-pc.rmk: likewise
19932 * conf/powerpc-ieee1275.rmk: likewise
19933 * conf/sparc64-ieee1275.rmk: likewise
19935 2009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
19937 Fix handling of string like \"hello\" and "a
19940 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
19941 (grub_script_yylex): fix parsing of quoting, escaping and newline
19943 2009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
19945 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
19948 2009-06-13 Jun Inoue <jun.lambda@gmail.com>
19950 * util/grub-mkconfig.in: Fix parsing of --output option.
19952 2009-06-12 Pavel Roskin <proski@gnu.org>
19954 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
19955 genmk.rb don't need to be generated or installed.
19957 2009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
19959 * commands/i386/pc/drivemap_int13h.S: add more comments
19961 2009-06-11 Pavel Roskin <proski@gnu.org>
19963 * Makefile.in (uninstall): Uninstall manuals.
19965 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
19966 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
19967 and update-grub_lib in two places.
19968 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
19970 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
19971 a compiler warning.
19973 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
19974 `entry_lo' to fix variable shadowing.
19976 2009-06-11 Christian Franke <franke@computer.org>
19978 * kern/misc.c (__enable_execute_stack): Add missing return type
19979 to prevent gcc warning.
19981 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
19983 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
19985 2009-06-11 Pavel Roskin <proski@gnu.org>
19987 * Makefile.in: Don't rely on any scripts being executable.
19988 Always use $(SHELL) to run shell scripts.
19990 * configure.ac: Always define ___main if using -nostdlib. This
19991 fixes tests on Cygwin.
19993 2009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
19997 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
19998 is in bytes and not in blocks
20000 2009-06-11 Pavel Roskin <proski@gnu.org>
20002 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
20005 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
20007 * util/grub.d/30_os-prober.in: Fix a comment. Source
20008 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
20009 to set the root device. Place drivemap command in the generated
20012 2009-06-11 Pavel Roskin <proski@gnu.org>
20014 * configure.ac: Remove host_m32. Issues with 64-bit utilities
20015 have long been resolved.
20017 2009-06-11 Colin Watson <cjwatson@ubuntu.com>
20019 * util/grub.d/10_linux.in: Capitalise "Linux".
20021 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
20023 2009-06-11 Pavel Roskin <proski@gnu.org>
20025 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
20026 fix a gcc warning and ensure that the function won't ever exit.
20028 * kern/i386/ieee1275/init.c: Add missing prototype for
20029 grub_stop_floppy().
20031 * loader/ieee1275/multiboot2.c [__i386__]: Include
20032 grub/cpu/multiboot.h.
20034 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
20035 casts to short - they are not portable and cause warnings. Fix
20036 use of uninitialized values in input_buf. Use ARRAY_SIZE.
20038 2009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
20042 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
20044 (grub_get_root_biosnumber_saved): new variable
20045 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
20046 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
20047 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
20048 %dx after the call if necessary
20049 * conf/common.rmk (pkglib_MODULES): remove boot.mod
20050 (boot_mod_SOURCES): remove
20051 (boot_mod_CFLAGS): remove
20052 (boot_mod_LDFLAGS): remove
20053 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
20054 (boot_mod_SOURCES): new variable
20055 (boot_mod_CFLAGS): likewise
20056 (boot_mod_LDFLAGS): likewise
20057 * conf/i386-efi.rmk: likewise
20058 * conf/i386-ieee1275.rmk: likewise
20059 * conf/i386-pc.rmk: likewise
20060 * conf/powerpc-ieee1275.rmk: likewise
20061 * conf/sparc64-ieee1275.rmk: likewise
20062 * conf/x86_64-efi.rmk: likewise
20063 * include/grub/i386/pc/biosnum.h: new file
20064 * lib/i386/pc/biosnum.c: likewise
20065 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
20066 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
20067 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
20069 2009-06-10 Pavel Roskin <proski@gnu.org>
20071 * io/gzio.c (test_header): Don't reuse one buffer for all data.
20072 Use separate variables. Read only the file size at the end, but
20073 not the checksum that we don't use.
20075 * kern/file.c (grub_file_read): Use void pointer for the buffer.
20076 Adjust all callers.
20078 * kern/ieee1275/openfw.c: Remove libc includes.
20079 * kern/ieee1275/cmain.c: Likewise.
20080 * include/grub/ieee1275/ieee1275.h: Likewise.
20082 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
20085 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
20087 * Makefile.in: Remove all trailing whitespace.
20088 * conf/i386-pc.rmk: Likewise.
20089 * conf/powerpc-ieee1275.rmk: Likewise.
20090 * conf/sparc64-ieee1275.rmk: Likewise.
20091 * docs/grub.texi: Likewise.
20092 * docs/texinfo.tex: Likewise.
20093 * disk/fs_uuid.c: Likewise.
20094 * disk/lvm.c: Likewise.
20095 * disk/scsi.c: Likewise.
20096 * disk/ata.c: Likewise.
20097 * disk/ieee1275/ofdisk.c: Likewise.
20098 * disk/i386/pc/biosdisk.c: Likewise.
20099 * disk/host.c: Likewise.
20100 * disk/raid.c: Likewise.
20101 * disk/efi/efidisk.c: Likewise.
20102 * disk/usbms.c: Likewise.
20103 * disk/memdisk.c: Likewise.
20104 * disk/loopback.c: Likewise.
20105 * kern/powerpc/dl.c: Likewise.
20106 * kern/device.c: Likewise.
20107 * kern/dl.c: Likewise.
20108 * kern/sparc64/dl.c: Likewise.
20109 * kern/ieee1275/ieee1275.c: Likewise.
20110 * kern/term.c: Likewise.
20111 * kern/fs.c: Likewise.
20112 * kern/i386/dl.c: Likewise.
20113 * kern/i386/pc/startup.S: Likewise.
20114 * kern/i386/pc/init.c: Likewise.
20115 * kern/i386/pc/mmap.c: Likewise.
20116 * kern/i386/pc/lzo1x.S: Likewise.
20117 * kern/i386/ieee1275/init.c: Likewise.
20118 * kern/i386/realmode.S: Likewise.
20119 * kern/i386/tsc.c: Likewise.
20120 * kern/partition.c: Likewise.
20121 * kern/corecmd.c: Likewise.
20122 * kern/file.c: Likewise.
20123 * kern/efi/efi.c: Likewise.
20124 * kern/efi/init.c: Likewise.
20125 * kern/efi/mm.c: Likewise.
20126 * kern/main.c: Likewise.
20127 * kern/err.c: Likewise.
20128 * kern/env.c: Likewise.
20129 * kern/disk.c: Likewise.
20130 * kern/generic/millisleep.c: Likewise.
20131 * kern/generic/rtc_get_time_ms.c: Likewise.
20132 * kern/misc.c: Likewise.
20133 * kern/parser.c: Likewise.
20134 * genmk.rb: Likewise.
20135 * configure.ac: Likewise.
20136 * boot/i386/pc/diskboot.S: Likewise.
20137 * boot/i386/pc/pxeboot.S: Likewise.
20138 * boot/i386/pc/boot.S: Likewise.
20139 * boot/i386/pc/lnxboot.S: Likewise.
20140 * boot/i386/pc/cdboot.S: Likewise.
20141 * parttool/pcpart.c: Likewise.
20142 * video/readers/tga.c: Likewise.
20143 * video/video.c: Likewise.
20144 * video/bitmap.c: Likewise.
20145 * lib/envblk.c: Likewise.
20146 * lib/i386/setjmp.S: Likewise.
20147 * fs/xfs.c: Likewise.
20148 * fs/afs.c: Likewise.
20149 * fs/fat.c: Likewise.
20150 * fs/ntfs.c: Likewise.
20151 * fs/udf.c: Likewise.
20152 * fs/affs.c: Likewise.
20153 * fs/iso9660.c: Likewise.
20154 * fs/hfs.c: Likewise.
20155 * fs/fshelp.c: Likewise.
20156 * fs/ext2.c: Likewise.
20157 * fs/jfs.c: Likewise.
20158 * fs/reiserfs.c: Likewise.
20159 * fs/hfsplus.c: Likewise.
20160 * fs/minix.c: Likewise.
20161 * fs/cpio.c: Likewise.
20162 * fs/sfs.c: Likewise.
20163 * fs/ufs.c: Likewise.
20164 * efiemu/prepare.c: Likewise.
20165 * efiemu/loadcore_common.c: Likewise.
20166 * efiemu/runtime/efiemu.sh: Likewise.
20167 * efiemu/runtime/efiemu.S: Likewise.
20168 * efiemu/runtime/efiemu.c: Likewise.
20169 * efiemu/pnvram.c: Likewise.
20170 * efiemu/main.c: Likewise.
20171 * efiemu/i386/pc/cfgtables.c: Likewise.
20172 * efiemu/i386/loadcore64.c: Likewise.
20173 * efiemu/i386/loadcore32.c: Likewise.
20174 * efiemu/loadcore.c: Likewise.
20175 * efiemu/symbols.c: Likewise.
20176 * efiemu/mm.c: Likewise.
20177 * include/grub/autoefi.h: Likewise.
20178 * include/grub/datetime.h: Likewise.
20179 * include/grub/term.h: Likewise.
20180 * include/grub/hfs.h: Likewise.
20181 * include/grub/lvm.h: Likewise.
20182 * include/grub/i386/tsc.h: Likewise.
20183 * include/grub/i386/linux.h: Likewise.
20184 * include/grub/i386/xnu.h: Likewise.
20185 * include/grub/i386/efiemu.h: Likewise.
20186 * include/grub/i386/pc/biosdisk.h: Likewise.
20187 * include/grub/i386/pc/memory.h: Likewise.
20188 * include/grub/i386/pc/vbe.h: Likewise.
20189 * include/grub/parttool.h: Likewise.
20190 * include/grub/video.h: Likewise.
20191 * include/grub/memory.h: Likewise.
20192 * include/grub/fs.h: Likewise.
20193 * include/grub/partition.h: Likewise.
20194 * include/grub/xnu.h: Likewise.
20195 * include/grub/efi/api.h: Likewise.
20196 * include/grub/efi/pe32.h: Likewise.
20197 * include/grub/efi/memory.h: Likewise.
20198 * include/grub/multiboot.h: Likewise.
20199 * include/grub/usbdesc.h: Likewise.
20200 * include/grub/multiboot2.h: Likewise.
20201 * include/grub/acpi.h: Likewise.
20202 * include/grub/efiemu/efiemu.h: Likewise.
20203 * include/grub/disk.h: Likewise.
20204 * include/grub/ieee1275/ieee1275.h: Likewise.
20205 * include/grub/net.h: Likewise.
20206 * include/grub/machoload.h: Likewise.
20207 * include/grub/macho.h: Likewise.
20208 * include/multiboot.h: Likewise.
20209 * genmoddep.awk: Likewise.
20210 * normal/main.c: Likewise.
20211 * normal/menu_entry.c: Likewise.
20212 * normal/menu_viewer.c: Likewise.
20213 * normal/completion.c: Likewise.
20214 * normal/cmdline.c: Likewise.
20215 * normal/misc.c: Likewise.
20216 * normal/datetime.c: Likewise.
20217 * bus/usb/usbtrans.c: Likewise.
20218 * bus/usb/ohci.c: Likewise.
20219 * bus/usb/uhci.c: Likewise.
20220 * bus/usb/usb.c: Likewise.
20221 * mmap/efi/mmap.c: Likewise.
20222 * mmap/i386/pc/mmap_helper.S: Likewise.
20223 * mmap/i386/pc/mmap.c: Likewise.
20224 * mmap/i386/mmap.c: Likewise.
20225 * mmap/i386/uppermem.c: Likewise.
20226 * mmap/mmap.c: Likewise.
20227 * commands/acpi.c: Likewise.
20228 * commands/echo.c: Likewise.
20229 * commands/blocklist.c: Likewise.
20230 * commands/loadenv.c: Likewise.
20231 * commands/usbtest.c: Likewise.
20232 * commands/boot.c: Likewise.
20233 * commands/parttool.c: Likewise.
20234 * commands/search.c: Likewise.
20235 * commands/cat.c: Likewise.
20236 * commands/i386/pc/play.c: Likewise.
20237 * commands/i386/pc/drivemap.c: Likewise.
20238 * commands/i386/pc/vbeinfo.c: Likewise.
20239 * commands/i386/pc/acpi.c: Likewise.
20240 * commands/i386/pc/vbetest.c: Likewise.
20241 * commands/ls.c: Likewise.
20242 * commands/cmp.c: Likewise.
20243 * commands/test.c: Likewise.
20244 * commands/efi/acpi.c: Likewise.
20245 * commands/gptsync.c: Likewise.
20246 * commands/help.c: Likewise.
20247 * partmap/amiga.c: Likewise.
20248 * partmap/apple.c: Likewise.
20249 * partmap/acorn.c: Likewise.
20250 * partmap/pc.c: Likewise.
20251 * partmap/sun.c: Likewise.
20252 * partmap/gpt.c: Likewise.
20253 * script/sh/lexer.c: Likewise.
20254 * script/sh/function.c: Likewise.
20255 * font/font.c: Likewise.
20256 * font/font_cmd.c: Likewise.
20257 * loader/powerpc/ieee1275/linux.c: Likewise.
20258 * loader/efi/chainloader.c: Likewise.
20259 * loader/multiboot_loader.c: Likewise.
20260 * loader/macho.c: Likewise.
20261 * loader/i386/multiboot.c: Likewise.
20262 * loader/i386/linux.c: Likewise.
20263 * loader/i386/pc/linux.c: Likewise.
20264 * loader/i386/pc/multiboot2.c: Likewise.
20265 * loader/i386/pc/chainloader.c: Likewise.
20266 * loader/i386/pc/xnu.c: Likewise.
20267 * loader/i386/bsd_trampoline.S: Likewise.
20268 * loader/i386/efi/linux.c: Likewise.
20269 * loader/i386/multiboot_elfxx.c: Likewise.
20270 * loader/i386/bsd_helper.S: Likewise.
20271 * loader/i386/bsd.c: Likewise.
20272 * loader/i386/linux_trampoline.S: Likewise.
20273 * loader/i386/xnu_helper.S: Likewise.
20274 * loader/i386/xnu.c: Likewise.
20275 * loader/i386/bsd_pagetable.c: Likewise.
20276 * loader/i386/multiboot_helper.S: Likewise.
20277 * loader/xnu.c: Likewise.
20278 * loader/xnu_resume.c: Likewise.
20279 * io/gzio.c: Likewise.
20280 * term/efi/console.c: Likewise.
20281 * term/terminfo.c: Likewise.
20282 * term/ieee1275/ofconsole.c: Likewise.
20283 * term/i386/pc/serial.c: Likewise.
20284 * term/i386/pc/vesafb.c: Likewise.
20285 * term/i386/pc/vga.c: Likewise.
20286 * term/usb_keyboard.c: Likewise.
20287 * term/gfxterm.c: Likewise.
20288 * aclocal.m4: Likewise.
20289 * util/lvm.c: Likewise.
20290 * util/grub.d/30_os-prober.in: Likewise.
20291 * util/grub.d/10_hurd.in: Likewise.
20292 * util/console.c: Likewise.
20293 * util/grub-macho2img.c: Likewise.
20294 * util/grub-probe.c: Likewise.
20295 * util/hostfs.c: Likewise.
20296 * util/i386/pc/grub-mkimage.c: Likewise.
20297 * util/i386/pc/grub-setup.c: Likewise.
20298 * util/i386/efi/grub-mkimage.c: Likewise.
20299 * util/grub-mkconfig.in: Likewise.
20300 * util/raid.c: Likewise.
20301 * util/resolve.c: Likewise.
20302 * util/grub-mkdevicemap.c: Likewise.
20303 * util/grub-emu.c: Likewise.
20304 * util/getroot.c: Likewise.
20305 * util/hostdisk.c: Likewise.
20306 * util/usb.c: Likewise.
20307 * util/grub-editenv.c: Likewise.
20308 * util/misc.c: Likewise.
20310 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
20312 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
20313 `genparttoollist.sh'.
20314 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
20315 Add `*.sh' to the list find searches for and change `mdate.sh'
20318 2009-06-10 Pavel Roskin <proski@gnu.org>
20320 * include/grub/multiboot2.h: Provide compatibility defines for
20322 * include/multiboot2.h: Include stdint.h only if needed, using
20324 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
20326 * loader/ieee1275/multiboot2.c: Likewise.
20327 * loader/multiboot2.c: Likewise.
20328 * loader/multiboot_loader.c: Likewise.
20330 * configure.ac: Use -nostdlib when probing for the target. It
20331 should not be required to have libc for the target.
20333 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
20334 they fail without libc headers for the target.
20335 * include/grub/powerpc/libgcc.h: Use weak attribute for all
20337 * include/grub/sparc64/libgcc.h: Likewise. Don't use
20338 preprocessor conditionals.
20340 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
20341 build system doesn't need to be aware of the tar.c internals.
20343 2009-06-09 Michel Hermier <michel.hermier@gmail.com>
20345 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
20347 2009-06-09 Robert Millan <rmh.grub@aybabtu.com>
20349 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
20350 disk limit to 26 for IDE, Virtio, Xen and SCSI.
20352 2009-06-09 Felix Zielcke <fzielcke@z-51.de>
20354 * util/i386/pc/grub-install.in: Change the error message if UUIDs
20355 aren't available if ata.mod gets used.
20357 2009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
20359 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
20360 initialising controller.
20361 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
20363 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
20365 * util/i386/pc/grub-install.in: Add a parameter --disk-module
20366 to choose between ata and biosdisk module on i386-pc.
20368 2009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
20370 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
20371 Subclass and Programming Interface fields in terms of the 3 byte
20372 Class Code register.
20373 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
20375 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
20376 interface is OHCI. Add grub_dprintf for symmetry with
20378 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
20379 interface is UHCI. Add interf variable for programming
20380 interface. Print interface with class/subclass.
20382 * bus/usb/ohci.c: Set interf with correct field.
20384 * bus/usb/uhci.c: Remove unneeded doubled lines.
20385 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
20386 Remove whitespace inside comment.
20388 2009-06-08 Robert Millan <rmh.grub@aybabtu.com>
20390 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
20391 as fallback an equivalent option without depth.
20393 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
20395 Not fail if unable to retrieve C/H/S on LBA disks
20397 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
20398 if unable to retrieve C/H/S on LBA disks
20400 2009-06-08 Pavel Roskin <proski@gnu.org>
20402 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
20405 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
20407 * Makefile.in (uninstall): Remove all $lib_DATA files.
20409 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
20411 Bugfix: install on partitionless device
20413 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
20416 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
20418 * Makefile.in (uninstall): Remove all $include_DATA files.
20420 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
20422 * commands/true.c: New file. Implement the true and false commands.
20423 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
20424 (true_mod_SOURCES): New variable.
20425 (true_mod_CFLAGS): Likewise.
20426 (true_mod_LDFLAGS): Likewise.
20428 2009-06-05 Colin D Bennett <colin@gibibit.com>
20430 Optimized font character lookup using binary search instead of linear
20431 search. Fonts now are required to have the character index ordered by
20434 * font/font.c (load_font_index): Verify that fonts have ordered
20436 (find_glyph): Use binary search instead of linear search to find a
20437 character in a font.
20439 2009-06-05 Michael Scherer <misc@mandriva.org>
20441 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
20442 uses case sensitive btree.
20443 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
20444 only for case insensitive filesystems.
20446 2009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
20448 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
20449 * conf/common.rmk (search_mod_CFLAGS): likewise
20451 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20453 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
20454 compensate a compiler bug
20456 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20458 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
20461 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20463 Definitions for creating asm symbols with Apple's CC
20465 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
20466 [APPLE_CC] (VARIABLE): likewise
20468 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20470 Disable lnxboot.img when compiled
20473 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
20474 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
20475 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
20476 [! APPLE_CC] (CODE_LENG): skip
20477 [! APPLE_CC] (setup_sects): likewise
20478 [! APPLE_CC]: skip filling
20480 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20482 Address in trampolines based on 32-bit registers when compiled
20485 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
20487 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
20489 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20491 Avoid aliases when compiling with Apple's CC for PCBIOS machine
20493 * kern/misc.c [APPLE_CC] (memcpy): new function
20494 [APPLE_CC] (memmove): likewise
20495 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
20496 (memcpy): define alias conditionally on !APPLE_CC
20499 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
20500 APPLE_CC are defined
20501 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
20502 (grub_assert_fail): make prototype conditional
20504 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20506 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
20508 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
20510 (CLEANFILES): add grub-macho2img
20511 (grub_macho2img_SOURCES): new variable
20512 * kern/i386/pc/startup.S (bss_start): new variable
20513 (bss_end): likewise
20514 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
20515 * util/grub-macho2img.c: new file
20517 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20519 Use objconv when compiling with Apple's CC
20521 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
20522 (efiemu64.o): likewise
20523 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
20524 when compiling with Apple's CC
20525 (efiemu64_s.o): likewise
20526 * configure.ac: check for objconv when compiling with Apple's CC
20527 * genmk.rb: use objconv for modules when compiled with Apple's CC
20529 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20531 Define segment as well as section when compiling with
20534 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
20535 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
20536 (efiemu_convert_pointer): likewise
20537 (efiemu_set_virtual_address_map): likewise
20538 (efiemu_convert_pointer): likewise
20539 (efiemu_getcrc32): likewise
20540 (init_crc32_table): likewise
20541 (reflect): likewise
20542 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
20543 (GRUB_MOD_DEP): likewise
20545 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20547 Allow a compilation without -mcmodel=large
20549 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
20550 when compiled without -mcmodel=large
20551 (filter_memory_map): remove memory post 4 GiB when compiled
20552 without -mcmodel=large
20553 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
20554 TARGET_CFLAGS when -mcmodel=large isn't supported
20556 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20558 Remove nested functions in efiemu core
20560 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
20562 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20564 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
20566 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
20568 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
20570 (grub_cpu_is_tsc_supported): likewise
20571 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
20573 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20575 Absolute addressing through constant with Apple's cc
20577 * kern/i386/pc/startup.S: Define necessary constants
20578 and address through it when using ABS with Apple's CC
20579 * boot/i386/pc/diskboot.S: likewise
20580 * boot/i386/pc/boot.S: likewise
20581 * boot/i386/pc/lnxboot.S: likewise
20582 * boot/i386/pc/cdboot.S: likewise
20583 * mmap/i386/pc/mmap_helper.S: likewise
20584 * commands/i386/pc/drivemap_int13h.S: likewise
20586 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20588 Check if compiler is apple cc
20590 * Makefile.in (ASFLAGS): new variable
20591 (TARGET_ASFLAGS): likewise
20592 (TARGET_MODULE_FORMAT): likewise
20593 (TARGET_APPLE_CC): likewise
20594 (OBJCONV): likewise
20595 (TARGET_IMG_CFLAGS): likewise
20596 (TARGET_CPPFLAGS): add includedir
20597 * configure.ac: call grub_apple_cc and grub_apple_target_cc
20598 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
20599 Check for linker script only if compiler isn't Apple's CC
20600 (TARGET_MODULE_FORMAT): set
20601 (TARGET_APPLE_CC): likewise
20602 (TARGET_ASFLAGS): likewise
20603 (ASFLAGS): likewise
20604 Check for objcopy only if compiler isn't Apple's CC
20605 Check for BSS symbol only if compiler isn't Apple's CC
20606 * genmk.rb: adapt nm options if we use Apple's utils
20607 * aclocal.m4 (grub_apple_cc): new test
20608 (grub_apple_target_cc): likewise
20610 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20612 Simplify sed expressions and improve awk
20614 * Makefile.in (install-local): simplify sed expression
20615 * gencmdlist.sh: likewise
20616 * genmoddep.awk: avoid adding module as a dependency of itself
20618 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20620 Add missing start symbols
20622 * boot/i386/pc/boot.S: add start
20623 * boot/i386/pc/pxeboot.S: likewise
20625 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20627 Fix wrong assumptions with grub-mkimage on EFI
20629 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
20630 (relocate_addresses): consider both r_addend and value at offset
20631 (make_mods_section): zerofill modinfo and header
20632 (convert_elf): write prefix here
20634 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20636 Use .asciz instead of .string
20638 * i386/pc/diskboot.S: use .asciz instead of .string
20639 * i386/pc/boot.S: likewise
20640 * include/grub/dl.h (GRUB_MOD_DEP): likewise
20641 (GRUB_MOD_NAME): likewise
20643 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20647 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
20648 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
20649 (grub_video_setup): remove
20650 (grub_video_set_mode): new prototype
20651 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
20653 (linux_vesafb_res): compile only on PCBIOS
20654 (grub_linux_boot): support gfxpayload
20655 * loader/i386/pc/xnu.c (video_hook): new function
20656 (grub_xnu_set_video): support gfxpayload
20657 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
20658 (DEFAULT_VIDEO_HEIGHT): likewise
20659 (DEFAULT_VIDEO_FLAGS): likewise
20660 (DEFAULT_VIDEO_MODE): new definition
20661 (video_hook): new function
20662 (grub_gfxterm_init): use grub_video_set_mode
20663 * util/grub.d/30_os-prober.in: remove explicit modesetting before
20665 * video/video.c (grub_video_setup): removed
20666 (grub_video_set_mode): new function based on grub_gfxterm_init and
20669 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20671 Avoid calling biosdisk in drivemap
20673 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
20674 (revparse_biosdisk): likewise
20675 (list_mappings): derive name from id directly
20676 (grub_cmd_drivemap): use tryparse_diskstring
20678 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20682 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
20683 (grub_lexer_param): add tokenonhold
20684 (grub_script_create_cmdline): remove cmdline. All callers updated
20685 (grub_script_function_create): make functionname
20686 grub_script_arg. All callers updated
20687 (grub_script_execute_argument_to_string): new prototype
20688 * kern/parser.c (state_transitions): reorder
20689 (grub_parser_cmdline_state): fix a bug and make more compact
20690 * script/sh/execute.c (grub_script_execute_argument_to_string):
20692 (grub_script_execute_cmdline): use new format
20693 * script/sh/function.c (grub_script_function_create): make functionname
20694 grub_script_arg. All callers updated
20695 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
20696 (grub_script_yylex): remove
20697 (grub_script_yylex2): renamed to ...
20698 (grub_script_yylex): ...renamed
20699 parse the expressions like a${b}c
20700 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
20701 (GRUB_PARSER_TOKEN_VAR): remove
20702 (GRUB_PARSER_TOKEN_NAME): likewise
20703 ("if"): declare as typeless
20704 ("while"): likewise
20705 ("function"): likewise
20710 (argument): likewise
20711 (script): accept empty scripts and make exit on error
20712 (arguments): use GRUB_PARSER_TOKEN_ARG
20713 (function): likewise
20714 (command): move error handling to script
20715 (menuentry): move grub_script_lexer_ref before
20716 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
20717 argument. All callers updated
20719 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
20721 Prevent GRUB from probing floppies during boot.
20723 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
20724 * commands/search.c (options): Add --no-floppy.
20725 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
20726 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
20727 --no-floppy when searching for UUIDs.
20729 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
20731 Simplify the code duplication in commands/search.c.
20733 * commands/search.c (search_label, search_fs_uuid): Merge into ...
20734 (search_fs): ... this. Update all users.
20736 2009-06-03 Felix Zielcke <fzielcke@z-51.de>
20738 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
20740 2009-05-28 Pavel Roskin <proski@gnu.org>
20742 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
20743 Remove the original symlink explicitly.
20745 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
20746 just one slash. That's how grub_fshelp_find_file() does it.
20748 2009-05-26 Pavel Roskin <proski@gnu.org>
20750 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
20753 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
20756 2009-05-25 Christian Franke <franke@computer.org>
20758 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
20760 (grub_atapi_identify): Add wait after drive select.
20761 (grub_ata_identify): Do more strict status register check before
20762 calling grub_atapi_identify (). Suppress error message if status
20763 register is 0x00 after command failure. Add status register
20764 check after PIO read to avoid bogus identify due to stuck DRQ.
20765 Thanks to Pavel Roskin for testing.
20766 (grub_device_initialize): Remove unsafe status register check.
20767 Thanks to 'phcoder' for problem report and patch.
20768 Prevent sign extension in debug message.
20770 2009-05-23 Colin D Bennett <colin@gibibit.com>
20772 Cleaned up `include/grub/normal.h'. Grouped prototypes by
20773 definition file, and functions defined in `normal/menu.c' have had
20774 their prototypes moved to `include/grub/menu.h' for consistency.
20776 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
20778 (grub_menu_get_entry): Likewise.
20779 (grub_menu_get_timeout): Likewise.
20780 (grub_menu_set_timeout): Likewise.
20781 (grub_menu_execute_entry): Likewise.
20782 (grub_menu_execute_with_fallback): Likewise.
20783 (grub_menu_entry_run): Likewise.
20785 * include/grub/normal.h: Re-ordered and grouped function
20786 prototypes by file that the function is defined in.
20787 (grub_menu_execute_callback): Removed; moved to menu.h.
20788 (grub_menu_get_entry): Likewise.
20789 (grub_menu_get_timeout): Likewise.
20790 (grub_menu_set_timeout): Likewise.
20791 (grub_menu_execute_entry): Likewise.
20792 (grub_menu_execute_with_fallback): Likewise.
20793 (grub_menu_entry_run): Likewise.
20794 (grub_menu_addentry): Renamed from this ...
20795 (grub_normal_add_menu_entry): ... to this.
20797 * normal/main.c (grub_menu_addentry): Renamed from this ...
20798 (grub_normal_add_menu_entry): ... to this.
20800 * script/sh/execute.c (grub_script_execute_menuentry): Update
20801 reference to renamed grub_menu_addentry function.
20803 2009-05-23 Felix Zielcke <fzielcke@z-51.de>
20805 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
20807 2009-05-22 Pavel Roskin <proski@gnu.org>
20809 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
20810 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
20811 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
20812 compiling for the i386 targets, but not for the utilities.
20814 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
20816 (grub_root_drive): Likewise.
20817 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
20819 (grub_root_drive): Change size to byte.
20820 (grub_start_addr): Remove.
20821 (grub_end_addr): Likewise.
20822 (grub_apm_bios_info): Likewise.
20824 2009-05-21 Felix Zielcke <fzielcke@z-51.de>
20826 * normal/i386: Remove.
20827 * normal/powerpc: Likewise.
20828 * normal/sparc64: Likewise.
20829 * normal/x86_64: Likewise.
20831 2009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
20833 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
20834 * loader/i386/linux_trampoline.S: Fix indentation
20835 * loader/i386/xnu_helper.S: Likewise
20837 2009-05-18 Colin D Bennett <colin@gibibit.com>
20839 Display error messages when parsing a Lua statement fails.
20840 Previously, executing a syntactically invalid statement like
20841 ")foo" or "bar;" would silently fail.
20843 * script/lua/grub_main.c (handle_lua_error): New function.
20844 (grub_lua_parse_line): Improved reporting of Lua parser and
20847 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
20849 Remove -Werror which causes build to fail on some systems
20851 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
20852 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
20853 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
20855 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
20857 trampoline for linux on 64-bit platform
20859 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
20860 loader/i386/efi/linux_trampoline.S
20861 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
20863 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
20865 * loader/i386/linux_trampoline.S: moved here
20866 * loader/i386/efi/linux.c (allocate_pages): reserve space for
20868 (jumpvector): removed
20869 (grub_linux_trampoline_start): new declaration
20870 (grub_linux_trampoline_end): likewise
20871 (grub_linux_boot): use trampoline when on 64-bit platform
20872 * loader/i386/linux.c: likewise
20874 2009-05-16 Pavel Roskin <proski@gnu.org>
20876 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
20877 const to avoid a warning.
20878 (grub_lua_setenv): Likewise.
20879 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
20880 lmsg to fix a warning.
20882 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
20884 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
20885 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
20886 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
20887 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
20888 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
20889 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
20890 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
20891 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
20893 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
20895 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
20897 2009-05-16 Bean <bean123ch@gmail.com>
20899 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
20900 (lua_mod_SOURCES): New variable.
20901 (lua_mod_CFLAGS): Likewise.
20902 (lua_mod_LDFLAGS): Likewise.
20904 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
20905 (setjmp_mod_SOURCES): New variable.
20906 (setjmp_mod_CFLAGS): Likewise.
20907 (setjmp_LDFLAGS): Likewise.
20909 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
20910 (setjmp_mod_SOURCES): New variable.
20911 (setjmp_mod_CFLAGS): Likewise.
20912 (setjmp_LDFLAGS): Likewise.
20914 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
20915 (setjmp_mod_SOURCES): New variable.
20916 (setjmp_mod_CFLAGS): Likewise.
20917 (setjmp_LDFLAGS): Likewise.
20919 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
20920 (setjmp_mod_SOURCES): New variable.
20921 (setjmp_mod_CFLAGS): Likewise.
20922 (setjmp_LDFLAGS): Likewise.
20924 * normal/i386/setjmp.S: Moved from here ...
20925 * lib/i386/setjmp.S: ... Moved here
20926 * normal/x86_64/setjmp.S: Moved from here ...
20927 * lib/x86_64/setjmp.S: ... Moved here
20928 * normal/powerpc/setjmp.S: Moved from here ...
20929 * lib/powerpc/setjmp.S: ... Moved here
20930 * normal/sparc64/setjmp.S: Moved from here ...
20931 * lib/sparc64/setjmp.S: ... Moved here
20933 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
20934 returns_twice in mingw.
20936 * script/lua/grub_lib.c: New file.
20937 * script/lua/grub_lib.h: Likewise.
20938 * script/lua/grub_lua.h: Likewise.
20939 * script/lua/grub_main.c: Likewise.
20940 * script/lua/lapi.c: Likewise.
20941 * script/lua/lapi.h: Likewise.
20942 * script/lua/lauxlib.c: Likewise.
20943 * script/lua/lauxlib.h: Likewise.
20944 * script/lua/lbaselib.c: Likewise.
20945 * script/lua/lcode.c: Likewise.
20946 * script/lua/lcode.h: Likewise.
20947 * script/lua/ldblib.c: Likewise.
20948 * script/lua/ldebug.c: Likewise.
20949 * script/lua/ldebug.h: Likewise.
20950 * script/lua/ldo.c: Likewise.
20951 * script/lua/ldo.h: Likewise.
20952 * script/lua/ldump.c: Likewise.
20953 * script/lua/lfunc.c: Likewise.
20954 * script/lua/lfunc.h: Likewise.
20955 * script/lua/lgc.c: Likewise.
20956 * script/lua/lgc.h: Likewise.
20957 * script/lua/linit.c: Likewise.
20958 * script/lua/liolib.c: Likewise.
20959 * script/lua/llex.c: Likewise.
20960 * script/lua/llex.h: Likewise.
20961 * script/lua/llimits.h: Likewise.
20962 * script/lua/lmathlib.c: Likewise.
20963 * script/lua/lmem.c: Likewise.
20964 * script/lua/lmem.h: Likewise.
20965 * script/lua/loadlib.c: Likewise.
20966 * script/lua/lobject.c: Likewise.
20967 * script/lua/lobject.h: Likewise.
20968 * script/lua/lopcodes.c: Likewise.
20969 * script/lua/lopcodes.h: Likewise.
20970 * script/lua/loslib.c: Likewise.
20971 * script/lua/lparser.c: Likewise.
20972 * script/lua/lparser.h: Likewise.
20973 * script/lua/lstate.c: Likewise.
20974 * script/lua/lstate.h: Likewise.
20975 * script/lua/lstring.c: Likewise.
20976 * script/lua/lstring.h: Likewise.
20977 * script/lua/lstrlib.c: Likewise.
20978 * script/lua/ltable.c: Likewise.
20979 * script/lua/ltable.h: Likewise.
20980 * script/lua/ltablib.c: Likewise.
20981 * script/lua/ltm.c: Likewise.
20982 * script/lua/ltm.h: Likewise.
20983 * script/lua/lua.h: Likewise.
20984 * script/lua/luaconf.h: Likewise.
20985 * script/lua/lualib.h: Likewise.
20986 * script/lua/lundump.c: Likewise.
20987 * script/lua/lundump.h: Likewise.
20988 * script/lua/lvm.c: Likewise.
20989 * script/lua/lvm.h: Likewise.
20990 * script/lua/lzio.c: Likewise.
20991 * script/lua/lzio.h: Likewise.
20993 2009-05-16 Bean <bean123ch@gmail.com>
20995 * include/grub/kernel.h (grub_module_header_types): Add type
20998 * kern/main.c (grub_load_config): New function.
20999 (grub_main): Call grub_load_config to read boot config.
21001 * grub-mkimage (generate_image): New parameter config_path.
21002 (options): New option --config.
21003 (main): Parse --config option, and pass it to generate_image.
21005 2009-05-14 Christian Franke <franke@computer.org>
21007 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
21008 This fixes build on Cygwin.
21010 2009-05-14 Pavel Roskin <proski@gnu.org>
21012 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
21013 jump. This saves two bytes, so the typical case of 2 swapped
21014 drives would fit 32 bytes.
21016 2009-05-13 Pavel Roskin <proski@gnu.org>
21018 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
21019 grub_uint32_t to avoid a warning.
21021 * loader/i386/linux.c (allocate_pages): When assigning
21022 real_mode_mem, cast through grub_size_t to fix a warning. The
21023 code already makes sure that the value would fit a pointer.
21024 (grub_linux_setup_video): Cast render_target->data to
21025 grub_size_t to fix a warning.
21027 2009-05-13 Javier Martín <lordhabbit@gmail.com>
21029 * commands/i386/pc/drivemap.c: New file - implement drivemap
21031 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
21032 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
21034 2009-05-13 Pavel Roskin <proski@gnu.org>
21036 * util/i386/pc/grub-setup.c (setup): Remove unused variable
21037 embedding_area_exists.
21039 2009-05-13 Robert Millan <rmh.grub@aybabtu.com>
21041 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
21042 it easier to understand / work with.
21043 Improve warning messages for cases where there's no embedding area,
21044 or when it is too small (or core.img too large).
21046 2009-05-13 Pavel Roskin <proski@gnu.org>
21048 * loader/i386/pc/multiboot2.c: Add necessary includes for
21049 grub_multiboot2_real_boot().
21051 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
21052 PX record is always little-endian. We only need the lower 2
21055 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
21056 facilitate code reuse.
21057 (grub_cpio_mount): Use "struct head", not a char buffer. This
21058 fixes a warning reported by gcc 4.4.
21060 * kernel/disk.c (grub_disk_read): Use void pointer for the
21062 (grub_disk_write): Use const void pointer for the buffer.
21063 Adjust all callers. Remove unnecessary casts.
21065 2009-05-10 Robert Millan <rmh.grub@aybabtu.com>
21067 * util/i386/pc/grub-install.in: Update copyright year.
21069 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
21073 * commands/gptsync.c: new file
21074 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
21075 (gptsync_mod_SOURCES): new variable
21076 (gptsync_mod_CFLAGS): likewise
21077 (gptsync_mod_LDFLAGS): likewise
21078 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
21080 (GRUB_PC_PARTITION_TYPE_HFS): likewise
21081 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
21082 * conf/i386-ieee1275.rmk: likewise
21083 * conf/i386-pc.rmk: likewise
21084 * conf/powerpc-ieee1275.rmk: likewise
21086 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
21090 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
21091 (grub_dl_ref): likewise
21093 2009-05-08 Robert Millan <rmh.grub@aybabtu.com>
21095 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
21096 split in two functions (one for msdos and one for gpt).
21098 2009-05-08 Pavel Roskin <proski@gnu.org>
21100 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
21103 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
21104 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
21105 Initialize them with -1. Add sanity check for bad1. Eliminate
21108 2009-05-08 David S. Miller <davem@davemloft.net>
21110 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
21112 2009-05-06 Robert Millan <rmh.grub@aybabtu.com>
21114 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
21117 2009-05-05 Felix Zielcke <fzielcke@z-51.de>
21119 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
21120 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
21122 2009-05-05 David S. Miller <davem@davemloft.net>
21124 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
21126 2009-05-05 Pavel Roskin <proski@gnu.org>
21128 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
21129 of grub_dl_ref() and grub_dl_unref().
21130 * commands/parttool.c: Remove preprocessor conditionals around
21131 grub_dl_ref() and grub_dl_unref().
21132 * fs/affs.c: Likewise.
21133 * fs/afs.c: Likewise.
21134 * fs/cpio.c: Likewise.
21135 * fs/ext2.c: Likewise.
21136 * fs/fat.c: Likewise.
21137 * fs/hfs.c: Likewise.
21138 * fs/hfsplus.c: Likewise.
21139 * fs/iso9660.c: Likewise.
21140 * fs/jfs.c: Likewise.
21141 * fs/minix.c: Likewise.
21142 * fs/ntfs.c: Likewise.
21143 * fs/reiserfs.c: Likewise.
21144 * fs/sfs.c: Likewise.
21145 * fs/udf.c: Likewise.
21146 * fs/ufs.c: Likewise.
21147 * fs/xfs.c: Likewise.
21148 * include/grub/dl.h: Likewise.
21149 * loader/xnu.c: Likewise.
21151 2009-05-04 Pavel Roskin <proski@gnu.org>
21153 * commands/acpi.c: Remove unused variable my_mod.
21154 * partmap/amiga.c: Likewise.
21155 * partmap/apple.c: Likewise.
21156 * partmap/gpt.c: Likewise.
21157 * partmap/pc.c: Likewise.
21158 * partmap/sun.c: Likewise.
21159 * term/gfxterm.c: Likewise.
21160 * term/i386/pc/vesafb.c: Likewise.
21161 * term/i386/pc/vga.c: Likewise.
21163 2009-05-04 David S. Miller <davem@davemloft.net>
21165 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
21166 pointer args to grub_ieee1275_get_property().
21168 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
21170 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
21171 devices, and do not traverse down under controller nodes.
21173 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
21174 (grub_ofdisk_open): Use it to un-escape "," characters.
21175 * kern/disk.c (find_part_sep): New.
21176 (grub_disk_open): Use it to find the first non-escaped ','
21177 character in the disk name.
21178 * util/ieee1275/devicemap.c (escape_of_path): New.
21179 (grub_util_emit_devicemap_entry): Use it.
21180 * util/sparc64/ieee1275/grub-install.in: Update script to
21181 strip partition specifiers properly by not triggering on
21182 '\' escaped ',' characters.
21184 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
21186 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
21188 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
21190 (linux_vesafb_modes): Add a lot of additional modes to the list (based
21191 on documentation from Wikipedia).
21193 2009-05-04 Pavel Roskin <proski@gnu.org>
21195 * disk/ata.c: Spelling fixes.
21196 * disk/raid.c: Likewise.
21197 * disk/usbms.c: Likewise.
21198 * disk/dmraid_nvidia.c: Likewise.
21199 * kern/ieee1275/openfw.c: Likewise.
21200 * kern/ieee1275/init.c: Likewise.
21201 * kern/ieee1275/cmain.c: Likewise.
21202 * boot/i386/pc/cdboot.S: Likewise.
21203 * video/readers/png.c: Likewise.
21204 * video/i386/pc/vbe.c: Likewise.
21205 * fs/udf.c: Likewise.
21206 * fs/hfs.c: Likewise.
21207 * fs/reiserfs.c: Likewise.
21208 * efiemu/runtime/efiemu.c: Likewise.
21209 * efiemu/main.c: Likewise.
21210 * efiemu/mm.c: Likewise.
21211 * include/grub/elf.h: Likewise.
21212 * include/grub/xnu.h: Likewise.
21213 * include/grub/usbdesc.h: Likewise.
21214 * include/grub/usb.h: Likewise.
21215 * include/grub/script_sh.h: Likewise.
21216 * include/grub/lib/LzmaEnc.h: Likewise.
21217 * include/grub/efiemu/efiemu.h: Likewise.
21218 * include/grub/command.h: Likewise.
21219 * normal/menu.c: Likewise.
21220 * normal/main.c: Likewise.
21221 * normal/datetime.c: Likewise.
21222 * bus/usb/uhci.c: Likewise.
21223 * mmap/i386/uppermem.c: Likewise.
21224 * mmap/mmap.c: Likewise.
21225 * commands/acpi.c: Likewise.
21226 * commands/test.c: Likewise.
21227 * partmap/apple.c: Likewise.
21228 * font/font.c: Likewise.
21229 * loader/sparc64/ieee1275/linux.c: Likewise.
21230 * loader/macho.c: Likewise.
21231 * loader/i386/bsd_trampoline.S: Likewise.
21232 * loader/i386/bsd.c: Likewise.
21233 * loader/xnu.c: Likewise.
21234 * term/i386/pc/vesafb.c: Likewise.
21235 * term/usb_keyboard.c: Likewise.
21236 * util/resolve.c: Likewise.
21237 * util/getroot.c: Likewise.
21239 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
21241 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
21243 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
21245 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
21248 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
21250 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
21251 parameter only available on BIOS.
21253 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
21255 Removed wrong semicolon in declaration
21257 * grub/misc.h (grub_dprintf): remove semicolon
21259 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
21261 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
21262 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
21263 is done by grub_cmd_linux() now).
21264 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
21265 restore video to text mode.
21266 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
21267 indicates lack of "vga=" parameter. "vga=0" is mapped to
21268 `GRUB_LINUX_VID_MODE_NORMAL'.
21270 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
21272 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
21273 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
21274 and `normal/script.c'. Add `kern/rescue_reader.c',
21275 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
21276 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
21277 `grub_script.tab.c'.
21279 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21280 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
21281 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21282 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
21283 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21285 * Makefile.in: Remove duplicated 2008 in Copyright line.
21287 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
21289 * util/misc.c (grub_util_warn): New function. Emits a warning
21291 * include/grub/util/misc.h (grub_util_warn): New declaration.
21293 * util/i386/pc/grub-install.in: Understand --force and pass it down
21296 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
21298 (setup): Improve error messages and add warnings when requested to
21299 install in odd layouts. Refuse to install using blocklists unless
21302 2009-05-04 martin f. krafft <madduck@madduck.net>
21304 * disk/raid.c (grub_raid_scan_device): Improve debug message.
21306 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
21308 Updated copyright year
21310 * fs/hfsplus.c: updated copyright year
21312 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
21316 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
21317 in the space previously used by unused3
21318 (grub_hfsplus_uuid): new function
21319 (grub_hfsplus_fs): added uuid field
21321 2009-05-03 Pavel Roskin <proski@gnu.org>
21323 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
21324 suppress warnings. It's no longer needed.
21325 * disk/host.c: Likewise.
21326 * disk/ata_pthru.c: Likewise.
21327 * disk/loopback.c: Likewise.
21328 * hook/datehook.c: Likewise.
21329 * parttool/pcpart.c: Likewise.
21330 * fs/i386/pc/pxe.c: Likewise.
21331 * fs/ntfscomp.c: Likewise.
21332 * efiemu/main.c: Likewise.
21333 * mmap/mmap.c: Likewise.
21334 * commands/crc.c: Likewise.
21335 * commands/hexdump.c: Likewise.
21336 * commands/hdparm.c: Likewise.
21337 * commands/acpi.c: Likewise.
21338 * commands/echo.c: Likewise.
21339 * commands/minicmd.c: Likewise.
21340 * commands/blocklist.c: Likewise.
21341 * commands/memrw.c: Likewise.
21342 * commands/loadenv.c: Likewise.
21343 * commands/usbtest.c: Likewise.
21344 * commands/lsmmap.c: Likewise.
21345 * commands/boot.c: Likewise.
21346 * commands/parttool.c: Likewise.
21347 * commands/configfile.c: Likewise.
21348 * commands/search.c: Likewise.
21349 * commands/ieee1275/suspend.c: Likewise.
21350 * commands/cat.c: Likewise.
21351 * commands/i386/pc/pxecmd.c: Likewise.
21352 * commands/i386/pc/play.c: Likewise.
21353 * commands/i386/pc/halt.c: Likewise.
21354 * commands/i386/pc/vbeinfo.c: Likewise.
21355 * commands/i386/pc/vbetest.c: Likewise.
21356 * commands/lspci.c: Likewise.
21357 * commands/date.c: Likewise.
21358 * commands/handler.c: Likewise.
21359 * commands/ls.c: Likewise.
21360 * commands/test.c: Likewise.
21361 * commands/cmp.c: Likewise.
21362 * commands/efi/loadbios.c: Likewise.
21363 * commands/efi/fixvideo.c: Likewise.
21364 * commands/halt.c: Likewise.
21365 * commands/help.c: Likewise.
21366 * commands/reboot.c: Likewise.
21367 * hello/hello.c: Likewise.
21368 * script/sh/main.c: Likewise.
21369 * loader/xnu.c: Likewise.
21370 * term/terminfo.c: Likewise.
21371 * term/i386/pc/serial.c: Likewise.
21372 * term/usb_keyboard.c: Likewise.
21374 2009-05-03 David S. Miller <davem@davemloft.net>
21376 * normal/menu.c: Include grub/parser.h
21378 2009-05-03 Pavel Roskin <proski@gnu.org>
21380 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
21382 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
21383 Suggested by Javier Martín <lordhabbit@gmail.com>
21385 * util/i386/pc/grub-mkrescue.in: Allow for the case when
21386 efiemu??.o doesn't exist.
21387 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
21390 2009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
21392 FreeBSD 64-bit support
21394 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
21395 and loader/i386/bsd_trampoline.S
21396 (bsd_mod_ASFLAGS): new variable
21397 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
21398 (FREEBSD_MODTYPE_KERNEL64): likewise
21399 (grub_bsd64_trampoline_start): likewise
21400 (grub_bsd64_trampoline_end): likewise
21401 (grub_bsd64_trampoline_selfjump): likewise
21402 (grub_bsd64_trampoline_gdt): likewise
21403 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
21404 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
21405 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
21406 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
21407 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
21409 * loader/i386/bsd_pagetable.c: new file
21410 * loader/i386/bsd_trampoline.S: likewise
21411 * loader/i386/bsd.c (ALIGN_QWORD): new macro
21412 (ALIGN_VAR): likewise
21413 (entry_hi): new variable
21414 (kern_end_mdofs): likewise
21415 (is_64bit): likewise
21416 (grub_freebsd_add_meta): use ALIGN_VAR
21417 (grub_e820_mmap): new declaration
21418 (grub_freebsd_add_mmap): new function
21419 (grub_freebsd_add_meta_module): support 64 bit kernels
21420 (grub_freebsd_list_modules): use ALIGN_VAR
21421 (gdt_descriptor): new declaration
21422 (grub_freebsd_boot): support 64 bit kernels
21423 (grub_bsd_elf64_hook): new function
21424 (grub_bsd_load_elf): support elf64
21426 2009-05-03 Bean <bean123ch@gmail.com>
21428 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
21429 after we get the result of if statement.
21431 2009-05-03 Bean <bean123ch@gmail.com>
21433 * Makefile.in (enable_efiemu): New variable.
21435 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
21437 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
21439 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
21440 path, add -mno-red-zone option.
21441 (efiemu64_s.o): Likewise.
21442 (efiemu64.o): Use macro $^ for source file.
21444 * configure.ac (--enable-efiemu): New option.
21446 2009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
21450 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
21451 (pkglib_MODULES): add xnu.mod
21452 (xnu_mod_SOURCES): new variable
21453 (xnu_mod_CFLAGS): likewise
21454 (xnu_mod_LDFLAGS): likewise
21455 (xnu_mod_ASFLAGS): likewise
21456 * conf/i386-pc.rmk: likewise
21457 * conf/x86_64-efi.rmk: likewise
21458 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
21460 * include/grub/i386/macho.h: new file
21461 * include/grub/i386/xnu.h: likewise
21462 * include/grub/macho.h: likewise
21463 * include/grub/machoload.h: likewise
21464 * include/grub/x86_64/macho.h: likewise
21465 * include/grub/x86_64/xnu.h: likewise
21466 * include/grub/xnu.h: likewise
21467 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
21468 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
21469 * loader/i386/efi/xnu.c: new file
21470 * loader/i386/pc/xnu.c: likewise
21471 * loader/i386/xnu.c: likewise
21472 * loader/i386/xnu_helper.S: likewise
21473 * loader/macho.c: likewise
21474 * loader/xnu.c: likewise
21475 * loader/xnu_resume.c: likewise
21476 * util/grub-dumpdevtree: likewise
21477 * include/grub/i386/pit.h: include grub/err.h
21478 (grub_pit_wait): export
21479 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
21481 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
21485 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
21486 _linux_efi, linux_efi.
21487 new files in grub-emu
21488 new targets efiemu32.o and efiemu64.o
21489 * loader/linux_normal_efiemu.c: likewise
21490 * loader/i386/efi/linux.c: added preliminary efiemu support
21491 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
21493 * include/grub/autoefi.h: new file
21494 * include/grub/i386/efiemu.h: likewise
21495 * include/grub/i386/pc/efiemu.h: likewise
21496 * include/grub/efi/api.h: add LL suffix when necessary
21497 new definitions relating to tables
21498 * include/grub/efiemu/efiemu.h: new file
21499 * include/grub/efiemu/runtime.h: likewise
21500 * efiemu/prepare.c: likewise
21501 * efiemu/loadcore_common.c: likewise
21502 * efiemu/loadcore64.c: likewise
21503 * efiemu/runtime/efiemu.sh: likewise
21504 * efiemu/runtime/efiemu.S: likewise
21505 * efiemu/runtime/efiemu.c: likewise
21506 * efiemu/runtime/config.h: likewise
21507 * efiemu/prepare32.c: likewise
21508 * efiemu/main.c: likewise
21509 * efiemu/modules/pnvram.c: likewise
21510 * efiemu/modules/i386: likewise
21511 * efiemu/modules/i386/pc: likewise
21512 * efiemu/modules/acpi.c: likewise
21513 * efiemu/i386/pc/cfgtables.c: likewise
21514 * efiemu/i386/loadcore64.c: likewise
21515 * efiemu/i386/loadcore32.c: likewise
21516 * efiemu/prepare64.c: likewise
21517 * efiemu/loadcore.c: likewise
21518 * efiemu/symbols.c: likewise
21519 * efiemu/mm.c: likewise
21520 * efiemu/loadcore32.c: likewise
21522 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
21526 * commands/acpi.c: new file
21527 * commands/i386/pc/acpi.c: likewise
21528 * commands/efi/acpi.c: likewise
21529 * include/grub/acpi.h: likewise
21530 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
21531 (acpi_mod_SOURCES): new variable
21532 (acpi_mod_CFLAGS): likewise
21533 (acpi_mod_LDFLAGS): likewise
21534 * conf/i386-efi.rmk: likewise
21535 * conf/x86_64-efi.rmk: likewise
21537 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
21539 Missing part from mmap patch
21541 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
21542 (grub_mmap_unregister)
21543 (grub_mmap_free_and_unregister): use grub_mmap_register
21545 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
21549 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
21550 * loader/i386/linux.c (find_mmap_size): likewise
21551 (allocate_pages): likewise
21552 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
21553 (grub_fill_multiboot_mmap): likewise
21554 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
21555 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
21556 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
21557 (OPENBSD_MMAP_RESERVED): likewise
21558 * include/grub/i386/pc/memory.h: include grub/memory.h
21559 (grub_lower_mem): removed
21560 (grub_upper_mem): likewise
21561 (GRUB_MACHINE_MEMORY_ACPI): new definition
21562 (GRUB_MACHINE_MEMORY_NVS): likewise
21563 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
21564 (GRUB_MACHINE_MEMORY_HOLE): likewise
21565 (grub_machine_mmap_register): likewise
21566 (grub_machine_mmap_unregister): likewise
21567 (grub_machine_get_upper): likewise
21568 (grub_machine_get_lower): likewise
21569 (grub_machine_get_post64): likewise
21570 * include/grub/i386/efi/memory.h: new file
21571 * include/grub/x86_64/efi/memory.h: likewise
21572 * include/grub/efi/memory.h: likewise
21573 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
21574 (mmap_mod_SOURCES): new variable
21575 (mmap_mod_LDFLAGS): likewise
21576 (mmap_mod_ASFLAGS): likewise
21577 * conf/i386-coreboot.rmk: likewise
21578 * conf/i386-ieee1275.rmk: likewise
21579 * conf/i386-efi.rmk: likewise
21580 * conf/x86_64-efi.rmk: likewise
21581 * include/grub/types.h (UINT_TO_PTR): new macro
21582 (PTR_TO_UINT32): likewise
21583 (PTR_TO_UINT64): likewise
21584 * include/grub/memory.h: new file
21585 * mmap/i386/pc/mmap.c: likewise
21586 * mmap/i386/pc/mmap_helper.S: likewise
21587 * mmap/i386/uppermem.c: likewise
21588 * mmap/mmap.c: likewise
21589 * mmap/efi/mmap.c: likewise
21590 * kern/i386/coreboot/init.c (grub_machine_init): don't use
21592 * kern/i386/pc/init.c (grub_lower_mem): removed variable
21593 (grub_upper_mem): likewise
21594 (grub_machine_init): don't use grub_upper_mem,
21595 make grub_lower_mem local
21596 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
21597 grub_mmap_iterate and grub_mmap_get_upper
21598 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
21600 2009-05-02 Bean <bean123ch@gmail.com>
21602 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
21603 script/sh/parser.y.
21604 (pkglib_MODULES): Add normal.mod and sh.mod.
21605 (normal_SOURCES): New variable.
21606 (normal_mod_CFLAGS): Likewise.
21607 (normal_mod_LDFLAGS): Likewise.
21608 (sh_mod_SOURCES): Likewise.
21609 (sh_mod_CFLAGS): Likewise.
21610 (sh_mod_LDFLAGS): Likewise.
21612 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
21613 script/sh/lexer.c_DEPENDENCIES.
21614 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
21615 kern/rescue_reader.c and kern/rescue_parser.c.
21616 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
21617 (grub_emu_SOURCES): Change source files.
21618 (pkglib_MODULES): Remove normal.mod.
21619 (normal_SOURCES): Removed.
21620 (normal_mod_CFLAGS): Likewise.
21621 (normal_mod_LDFLAGS): Likewise.
21622 * conf/i386-coreboot.rmk: Likewise.
21623 * conf/i386-efi.rmk: Likewise.
21624 * conf/i386-ieee1276.rmk: Likewise.
21625 * conf/powerpc-ieee1275.rmk: Likewise.
21626 * conf/sparc64-ieee1275.rmk: Likewise.
21627 * conf/x86_64-efi.rmk: Likewise.
21629 * include/grub/command.h (grub_command_execute): New inline function.
21631 * include/grub/menu.h (grub_menu_entry): Removed commands field.
21633 * include/grub/normal.h: Remove <grub/setjmp.h>.
21634 (grub_fs_module_list): Moved to normal/autofs.c.
21635 (grub_exit_env): Removed.
21636 (grub_command_execute): Likewise.
21637 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
21639 (read_command_list): New function declaration.
21640 (read_fs_list): Likewise.
21642 * include/parser.h: Include <grub/reader.h>.
21643 (grub_parser_split_cmdline): Change type of getline parameter.
21644 (grub_parser): New structure.
21645 (grub_parser_class): New variable.
21646 (grub_parser_execute): New function declaration.
21647 (grub_register_rescue_parser): Likewise.
21648 (grub_parser_register): New inline function.
21649 (grub_parser_unregister): Likewise.
21650 (grub_parser_get_current): Likewise.
21651 (grub_parser_set_current): Likewise.
21653 * include/grub/reader.h: New file.
21654 * kern/reader.c: Likewise.
21655 * kern/rescue_parser.c: Likewise.
21656 * kern/rescue_reader.c: Likewise.
21657 * normal/autofs.c: Likewise.
21658 * normal/dyncmd.c: Likewise.
21660 * include/grub/rescue.h: Removed.
21661 * normal/command.h: Likewise.
21663 * include/grub/script.h: Moved to ...
21664 * include/grub/script_sh.h: ... Moved here.
21665 * normal/execute.c: Moved to ...
21666 * script/sh/execute.c: ... Moved here.
21667 * normal/function.c: Moved to ...
21668 * script/sh/function.c: ... Moved here.
21669 * normal/lexer.c: Moved to ...
21670 * script/sh/lexer.c: ... Moved here.
21671 * normal/parser.y: Moved to ...
21672 * script/sh/parser.y: ... Moved here.
21673 * normal/script.c: Moved to ...
21674 * script/sh/script.c: ... Moved here.
21676 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
21678 (grub_exit_env): Removed.
21679 (fs_module_list): Moved to normal/autofs.c.
21680 (grub_file_getline): Don't handle comment here.
21681 (free_menu): Skip removed field entry->commands.
21682 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
21684 (read_config_file): Removed nested parameter, change getline function.
21685 (grub_enter_normal_mode): Removed.
21686 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
21687 (read_command_list): Likewise.
21688 (autoload_fs_module): Moved to normal/autofs.c.
21689 (read_fs_list): Likewise.
21690 (reader_nested): New variable.
21691 (grub_normal_execute): Run parser.sh to switch to sh parser.
21692 (grub_cmd_rescue): Removed.
21693 (cmd_normal): Removed.
21694 (grub_cmd_normal): Unregister itself at the beginning. Don't register
21696 (grub_cmdline_run): New function.
21697 (grub_normal_reader_init): Likewise.
21698 (grub_normal_read_line): Likewise.
21699 (grub_env_write_pager): Likewise.
21700 (cmdline): New variable.
21701 (grub_normal_reader): Likewise.
21702 (GRUB_MOD_INIT): Register normal reader and set as current, register
21703 pager hook, register normal command with grub_register_command_prio,
21704 so that it won't show up in command.lst.
21705 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
21706 grub_fs_autoload_hook.
21708 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
21709 (grub_menu_execute_entry): Replace grub_script_execute with
21710 grub_parser_execute, change parameter to grub_command_execute.
21712 * normal/menu_text.c: Remove <grub/script.h>.
21714 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
21715 and <grub/parser.h>.
21716 (run): Change editor_getline to use new parser interface. Change
21717 parameter to grub_command_execute.
21719 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
21720 <grub/reader.h> and <grub/parser.h>.
21721 (grub_load_normal_mode): Execute normal command.
21722 (grub_main): Call grub_register_core_commands,
21723 grub_register_rescue_parser and grub_register_rescue_reader, use
21724 grub_reader_loop to enter input loop.
21726 * kern/parser.c (grub_parser_split_cmdline): Change type of
21728 (grub_parser_class): New variable.
21729 (grub_parser_execute): New function.
21731 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
21732 * loader/multiboot2.c: Likewise.
21733 * loader/sparc64/ieee1275/linux.c: Likewise.
21735 * util/grub-emu.c (read_command_list): New dummy function.
21737 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
21739 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
21740 count to 16 for CCISS and IDA.
21742 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
21744 * normal/menu_text.c (grub_wait_after_message): Print a newline
21745 after waiting for user input.
21747 * loader/i386/linux.c: Include `<grub/normal.h>'.
21748 (grub_cmd_linux): Improve the error message about `ask' mode, by
21749 waiting for user input so it's not missed (we can do this, since
21750 user requested interaction).
21752 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
21754 Added missing lst to grub-mkrescue
21756 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
21757 and ${input_dir}/parttool.lst
21759 2009-04-30 David S. Miller <davem@davemloft.net>
21761 * util/hostdisk.c (device_is_wholedisk): New function.
21762 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
21763 zero only if device_is_wholedisk() returns true.
21765 * util/hostdisk.c (convert_system_partition_to_system_disk):
21766 Handle virtual disk devices named /dev/vdiskX as found on sparc
21769 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
21770 lettered partition specifier is found, convert to numbered.
21772 2009-04-29 David S. Miller <davem@davemloft.net>
21774 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
21775 * include/grub/sparc64/ieee1275/memory.h: Likewise.
21777 * normal/command.c: Add missing newline at end of file.
21779 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
21781 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
21782 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
21783 grub_ofdisk_read): Likewise, and deal similarly with the fact that
21784 ihandles have a 32-bit type but need to be stored in a "void *".
21786 2009-04-28 Pavel Roskin <proski@gnu.org>
21788 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
21789 not disk. Adjust all dependencies.
21790 (grub_fs_uuid_close): Use grub_device_close(), not
21793 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
21794 parent's partition, don't copy it by reference, as it gets freed
21797 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
21799 Preboot hooks support
21801 * commands/boot.c (struct grub_preboot_t): new declaration
21802 (preboots_head): new variable
21803 (preboots_tail): likewise
21804 (grub_loader_register_preboot_hook): new function
21805 (grub_loader_unregister_preboot_hook): likewise
21806 (grub_loader_set): launch preboot hooks
21807 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
21808 (grub_loader_register_preboot_hook): new declaration
21809 (grub_loader_unregister_preboot_hook): likewise
21811 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
21815 * disk/scsi.c (grub_scsi_open): added missing cast when
21816 calling grub_dprintf
21818 2009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
21820 Bug and warning fixes
21822 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
21824 * commands/test.c (test_parse): fixed bug with file tests and corrected
21825 declaration of find_file
21827 2009-04-26 Pavel Roskin <proski@gnu.org>
21829 * Makefile.in: Don't install empty manual pages if help2man is
21830 missing. Use help2man option for output, not shell redirection.
21832 2009-04-26 David S. Miller <davem@davemloft.net>
21834 * util/grub-mkdevicemap.c (make_device_map): Add missing
21835 NESTED_FUNC_ATTR to process_device().
21837 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
21841 * commands/test.c: rewritten to use bash-like test
21843 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
21845 Parttool autoloading and improvements
21847 * Makefile.in (pkglib_DATA): add parttool.lst
21848 (parttool.lst): new target
21849 * genmk.rb: generate parttool-*
21850 (CLEANFILES): add #{parttool}
21851 (PARTTOOLFILES): new variable
21852 * genparttoollist.sh: new file
21853 * parttool/pcpart.c (grub_pcpart_boot): more feedback
21854 (grub_pcpart_type): likewise
21855 * commands/parttool.c (helpmsg): new variable
21856 (grub_cmd_parttool): output help if not enough arguments are supplied
21858 (GRUB_MOD_INIT(parttool)): use helpmsg
21860 2009-04-24 David S. Miller <davem@davemloft.net>
21862 Avoiding opening same device multiple times in device iterator.
21864 * kern/device.c: (grub_device_iterate): Define struct part_ent,
21865 and use it to build a list of partitions in iterate_disk() and
21866 iterate_partition().
21868 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
21871 * disk/ieee1275/nand.c (grub_nand_iterate): Return
21872 grub_devalias_iterate() result instead of unconditional 0.
21873 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
21874 Also, capture hook return value, either directly or via
21875 grub_children_iterate(), and propagate to caller.
21876 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
21877 grub_children_iterate): Return value is now 'int' instead of
21879 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
21880 like a proper iterator, stopping when hooks return non-zero.
21881 (grub_devalias_iterate): Likewise.
21883 2009-04-23 David S. Miller <davem@davemloft.net>
21885 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
21887 2009-04-22 David S. Miller <davem@davemloft.net>
21889 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
21890 is larger than address_cells, use that value for address_cells too.
21892 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
21893 IEEE1275_MAX_PATH_LEN): Define.
21894 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
21895 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
21896 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
21897 'devtype'. Explicitly NULL terminate devalias expansion.
21899 * util/sparc64/ieee1275/misc.c: New file.
21900 * util/sparc64/ieee1275/grub-setup.c: New file.
21901 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
21902 * util/sparc64/ieee1275/grub-mkimage.c: New file.
21903 * util/sparc64/ieee1275/grub-install.in: New file.
21904 * util/ieee1275/ofpath.c: New file.
21905 * util/ieee1275/devicemap.c: New file.
21906 * util/devicemap.c: New file.
21907 * util/deviceiter.c: New file.
21908 * kern/sparc64/ieee1275/init.c: New file.
21909 * include/grub/util/ofpath.h: New file.
21910 * include/grub/util/deviceiter.h: New file.
21911 * util/grub-mkdevicemap.c: Include deviceiter.h.
21912 Implement using grub_util_emit_devicemap_entry and
21913 grub_util_iterate_devices.
21914 * conf/i386-corebook.rmk: Build util/deviceiter.c and
21915 util/devicemap.c into grub-mkdevicemap
21916 * conf/i386-efi.rmk: Likewise.
21917 * conf/i386-ieee1275.rmk: Likewise.
21918 * conf/i386-pc.rmk: Likewise.
21919 * conf/powerpc-ieee1275.rmk: Likewise.
21920 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
21921 images and installation utilities. Build kernel as image
21922 instead of as elf binary. Use common rules as much as possible.
21924 2009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
21926 Correct GPT definition
21928 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
21931 2009-04-19 Felix Zielcke <fzielcke@z-51.de>
21933 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
21935 2009-04-19 David S. Miller <davem@davemloft.net>
21937 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
21938 (grub_rescue_cmd_linux): Rename to...
21939 (grub_cmd_linux): and fix prototype.
21940 (grub_rescue_cmd_initrd): Rename to...
21941 (grub_cmd_initrd): and fix prototype.
21942 (cmd_linux, cmd_initrd): New.
21943 (GRUB_MOD_INIT(linux)): Use grub_register_command().
21944 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
21946 2009-04-17 Pavel Roskin <proski@gnu.org>
21948 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
21950 (grub_ohci_transfer): Likewise.
21952 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
21954 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
21955 return without a value. Fix inconsistent indentation.
21957 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
21958 match struct grub_fs.
21960 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
21961 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
21962 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
21963 * commands/lspci.c (grub_lspci_iter): Likewise.
21965 2009-04-16 Bean <bean123ch@gmail.com>
21967 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
21970 2009-04-15 Pavel Roskin <proski@gnu.org>
21972 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
21973 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
21974 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
21977 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
21979 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
21980 that no multiple data or metadata areas are supported and `Unknown
21983 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
21985 Move loader out of the kernel
21987 * kern/loader.c: moved to ...
21988 * commands/boot.c: ... moved here
21989 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
21990 * commands/boot.c (grub_cmd_boot): moved here. All users updated
21991 * include/grub/kernel.h (grub_machine_fini): export
21992 * include/grub/loader.h (grub_loader_is_loaded): update declaration
21993 (grub_loader_set): likewise
21994 (grub_loader_unset): likewise
21995 (grub_loader_boot): likewise
21996 * conf/common.rmk: new module boot.mod
21997 (pkglib_MODULES): add boot.mod
21998 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
21999 (grub_emu_SOURCES): likewise
22000 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
22001 (grub_emu_SOURCES): likewise
22002 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
22003 (grub_emu_SOURCES): likewise
22004 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
22005 (grub_emu_SOURCES): likewise
22006 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
22007 (grub_emu_SOURCES): likewise
22008 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
22009 (grub_emu_SOURCES): likewise
22010 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
22011 (grub_emu_SOURCES): likewise
22013 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
22015 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
22017 * kern/misc.c (grub_itoa): Removed function
22018 (grub_ltoa): likewise
22019 (grub_vsprintf): use grub_lltoa
22021 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
22025 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
22026 * conf/i386-coreboot.rmk: likewise
22027 * conf/i386-ieee1275.rmk: likewise
22028 * conf/powerpc-ieee1275.rmk: likewise
22030 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
22032 * INSTALL: Add that `./autogen.sh' needs to be run before
22035 2009-04-14 Bean <bean123ch@gmail.com>
22037 * Makefile.in (pkglib_DATA): Add handler.lst.
22038 (handler.lst): New rule.
22040 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
22041 * conf/i386-coreboot.rmk: Likewise.
22042 * conf/i386-ieee1275.rmk: Likewise.
22043 * conf/i386-efi.rmk: Likewise.
22044 * conf/x86_64-efi.rmk: Likewise.
22045 * conf/powerpc-ieee1275.rmk: Likewise.
22046 * conf/sparc64-ieee1275.rmk: Likewise.
22048 * genhandlerlist.sh: New file.
22050 * genmk.rb: Add rules to generate handler.lst.
22052 * include/grub/normal.h (grub_file_getline): New function definition.
22053 (read_handler_list): Likewise.
22054 (free_handler_list): Likewise.
22056 * include/grub/term.h (grub_term_register_input): Add name parameter
22057 for auto generation of handler.lst.
22058 (grub_term_register_output): Likewise.
22060 * normal/handler.c: New file.
22062 * normal/main.c (get_line): Renamed to grub_file_getline.
22063 (read_config_file): Use the newly renamed grub_file_getline.
22064 (read_command_list): Likewise.
22065 (read_fs_list): Likewise.
22066 (grub_normal_execute): Call read_handler_list to parse handler.lst.
22067 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
22069 * term/efi/console.c (grub_console_init): Add name parameter for auto
22070 generation of handler.lst.
22071 * term/gfxterm.c: Likewise.
22072 * term/i386/pc/at_keyboard.c: Likewise.
22073 * term/i386/pc/console.c: Likewise.
22074 * term/i386/pc/serial.c: Likewise.
22075 * term/i386/pc/vesafb.c: Likewise.
22076 * term/i386/pc/vga.c: Likewise.
22077 * term/i386/pc/vga_text.c: Likewise.
22078 * term/ieee1275/ofconsole.c: Likewise.
22079 * term/usb_keyboard.c: Likewise.
22081 2009-04-14 Bean <bean123ch@gmail.com>
22083 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
22084 properly with null character.
22086 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
22088 * configure: Remove.
22089 * config.h.in: Likewise.
22090 * stamp-h.in: Likewise.
22091 * DISTLIST: Likewise.
22092 * conf/common.mk: Likewise.
22093 * conf/i386-coreboot.mk: Likewise.
22094 * conf/i386-efi.mk: Likewise.
22095 * conf/i386-ieee1275.mk: Likewise.
22096 * conf/i386.mk: Likewise.
22097 * conf/i386-pc.mk: Likewise.
22098 * conf/powerpc-ieee1275.mk: Likewise.
22099 * conf/sparc64-ieee1275.mk: Likewise.
22100 * conf/x86_64-efi.mk: Likewise.
22102 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
22105 2009-04-14 John Stanley <jpsinthemix@verizon.net>
22106 David S. Miller <davem@davemloft.net>
22108 * util/hostdisk.c (make_device_name): Fix buffer length
22111 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
22113 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
22114 <sys/param.h> and <sys/sysctl.h>.
22115 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
22116 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
22117 opening the device and reset them afterwards.
22119 2009-04-13 Pavel Roskin <proski@gnu.org>
22121 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
22122 Reported by John Stanley <jpsinthemix@verizon.net>
22124 2009-04-13 Robert Millan <rmh@aybabtu.com>
22126 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
22127 that name for menuentries when appropriate.
22129 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
22131 * util/grub.d/10_freebsd.in: Add a missing `fi'.
22133 2009-04-13 Robert Millan <rmh@aybabtu.com>
22135 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
22136 to Linux, simply abort telling the user it's no longer supported.
22138 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
22140 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
22141 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
22142 `freebsd_loadenv' only when devices.hints exist.
22144 2009-04-13 Pavel Roskin <proski@gnu.org>
22146 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
22148 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
22150 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
22152 (grub_drive): Likewise.
22154 2009-04-13 David S. Miller <davem@davemloft.net>
22156 * kern/sparc64/ieee1275/ieee1275.c: New file.
22157 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
22158 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
22159 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
22160 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
22161 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
22162 grub_ieee1275_alloc_physmem): Declare new exported functions.
22164 * include/grub/sparc64/ieee1275/loader.h: New file.
22165 * include/grub/sparc64/ieee1275/memory.h: Likewise.
22166 * include/grub/sparc64/kernel.h: Likewise.
22167 * loader/sparc64/ieee1275/linux.c: Likewise.
22169 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
22170 (grub_fstest_SOURCES): Likewise.
22172 * util/hostdisk.c (make_device_name): Do not make any assumptions
22173 about the length of drive names.
22175 * kern/dl.c (grub_dl_load_file): Close file immediately when
22176 we are done using it.
22178 2009-04-12 David S. Miller <davem@davemloft.net>
22180 * kern/misc.c (grub_ltoa): Fix cast when handling negative
22181 values. Noticed by Pavel Roskin.
22183 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
22186 * genmk.rb: Add more flexible image type specification, also
22187 pass --strip-unneeded to objcopy.
22188 * conf/i386-pc.rmk: Use *_FORMAT.
22189 * conf/i386-pc.mk: Rebuilt.
22191 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
22192 (OFDISK_HASH_SZ): Define.
22193 (ofdisk_hash): New hash table.
22194 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
22195 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
22196 instead of device phandle which is not unique.
22198 * kern/sparc64/ieee1275/init.c: Delete, replace with...
22199 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
22200 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
22201 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
22202 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
22203 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
22204 GRUB_KERNEL_MACHINE_DATA_END): Define.
22205 (grub_kernel_image_size, grub_total_module_size): Declare.
22207 2009-04-12 Pavel Roskin <proski@gnu.org>
22209 * configure.ac: Change the logic when we check for target tools.
22210 Do it when the target is specified and it's different from the
22211 specified value of the host.
22213 2009-04-11 Felix Zielcke <fzielcke@z-51.de>
22215 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
22216 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
22217 GNU/kFreeBSD. Check if a device is a character device. Use
22218 DIOCGMEDIASIZE to get the size.
22219 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
22220 support for GNU/kFreeBSD.
22221 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
22222 is a character device instead of a block device. Add support for
22223 FreeBSD device names.
22225 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
22226 is a character device instead of a block device.
22228 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
22229 is a character device instead of a block device.
22231 2009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
22233 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
22234 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
22235 FreeBSD. Check if a device is a character device. Use
22236 DIOCGMEDIASIZE to get the size.
22237 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
22238 support for FreeBSD.
22239 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
22240 is a character device instead of a block device. Add support for
22241 FreeBSD device names.
22243 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
22244 a character device instead of a block device.
22245 (grub_util_check_char_device): New function.
22247 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
22248 a character device instead of a block device.
22250 * include/grub/util/getroot.h (grub_util_check_char_device): New
22253 2009-04-11 David S. Miller <davem@davemloft.net>
22255 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
22257 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
22258 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
22259 function, if present.
22260 (__bswapdi2): Likewise.
22262 * include/grub/sparc64/ieee1275/boot.h: New file.
22263 * boot/sparc64/ieee1275/boot.S: Likewise.
22264 * boot/sparc64/ieee1275/diskboot.S: Likewise.
22266 * kern/misc.c (grub_ltoa): New function.
22267 (grub_vsprintf): Use it to format 'long' integers.
22269 2009-04-10 David S. Miller <davem@davemloft.net>
22271 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
22272 slots are of type grub_ieee1275_cell_t.
22273 (grub_nand_read): Likewise.
22274 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
22275 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
22276 macros are used to compare values in arg/ret block of the call.
22277 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
22278 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
22279 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
22280 grub_ieee1275_instance_to_path, grub_ieee1275_write,
22281 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
22282 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
22283 grub_ieee1275_close, grub_ieee1275_set_property,
22284 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
22285 grub_ieee1275_cell_t.
22286 * kern/ieee1275/openfw.c (grub_map): Likewise.
22287 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
22288 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
22290 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
22291 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
22292 (grub_devalias_iterate): Likewise.
22294 2009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
22298 * fs/ufs.c (INODE_NBLOCKS): new definition
22299 (struct grub_ufs_dirent): added fields for non-BSD dirents
22300 (grub_ufs_get_file_block): fixed double indirect handling
22301 (grub_ufs_lookup_symlink): use more robust way to determine whether
22303 (grub_ufs_find_file): support for non-BSD dirents
22304 (grub_ufs_dir): support for non-BSD dirents
22306 2009-04-10 Bean <bean123ch@gnail.com>
22308 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
22309 attribute, otherwise the size would be wrong for i386 platform.
22311 * include/grub/pci.h (grub_pci_read_word): New inline function.
22312 (grub_pci_read_byte): Likewise.
22313 (grub_pci_write): Likewise.
22314 (grub_pci_write_word): Likewise.
22315 (grub_pci_write_byte): Likewise.
22317 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
22319 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
22320 (find_framebuf): Scan pci to locate the frame buffer address.
22322 * commands/efi/fixvideo.c: New file.
22324 * commands/efi/loadbios.c: Likewise.
22326 * commands/memrw.c: Likewise.
22328 * util/grub-dumpbios.in: Likewise.
22330 * conf/common.rmk (grub-dumpbios): New utility.
22331 (pkglib_MODULES): New module memrw.mod.
22332 (memrw_mod_SOURCE): New macro.
22333 (memrw_mod_CFLAGS): Likewise.
22334 (memrw_mod_LDFLAGS): Likewise.
22336 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
22338 (loadbios_mod_SOURCE): New macro.
22339 (loadbios_mod_CFLAGS): Likewise.
22340 (loadbios_mod_LDFLAGS): Likewise.
22341 (fixvideo_mod_SOURCE): Likewise.
22342 (fixvideo_mod_CFLAGS): Likewise.
22343 (fixvideo_mod_LDFLAGS): Likewise.
22345 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
22347 (loadbios_mod_SOURCE): New macro.
22348 (loadbios_mod_CFLAGS): Likewise.
22349 (loadbios_mod_LDFLAGS): Likewise.
22350 (fixvideo_mod_SOURCE): Likewise.
22351 (fixvideo_mod_CFLAGS): Likewise.
22352 (fixvideo_mod_LDFLAGS): Likewise.
22354 2009-04-08 Felix Zielcke <fzielcke@z-51.de>
22356 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
22358 2009-04-07 David S. Miller <davem@davemloft.net>
22360 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
22361 support for R_SPARC_OLO10 relocations. Fix compile warning for
22362 R_SPARC_WDISP30 case.
22363 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
22365 2009-04-06 Pavel Roskin <proski@gnu.org>
22367 * include/grub/misc.h (ARRAY_SIZE): New macro.
22368 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
22370 * loader/i386/linux.c (allocate_pages): Use free_pages().
22371 (grub_linux_unload): Don't use free_pages().
22372 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
22373 wrong index. Treat all other modes as text modes.
22374 (grub_cmd_linux): Initialize vid_mode unconditionally to
22375 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
22377 * commands/help.c (print_command_help): Use cmd->prio, not
22378 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
22380 2009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
22384 * parttool/pcpart.c: new file
22385 * commands/parttool.c: likewise
22386 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
22387 (parttool_mod_SOURCES): new variable
22388 (parttool_mod_CFLAGS): likewise
22389 (parttool_mod_LDFLAGS): likewise
22390 (pcpart_mod_SOURCES): likewise
22391 (pcpart_mod_CFLAGS): likewise
22392 (pcpart_mod_LDFLAGS): likewise
22393 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
22394 and parttool/pcpart.c
22395 * conf/i386-efi.rmk: likewise
22396 * conf/i386-ieee1275.rmk: likewise
22397 * conf/i386-pc.rmk: likewise
22398 * conf/powerpc-ieee1275.rmk: likewise
22399 * conf/sparc64-ieee1275.rmk: likewise
22400 * conf/x86_64-ieee1275.rmk: likewise
22402 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
22404 Support for mtime and further expandability of dir command
22406 * include/grub/lib/datetime.h: moved to ...
22407 * include/grub/datetime.h: ... moved here and added
22408 declaration of grub_unixtime2datetime. All users updated
22409 * include/grub/fs.h: new syntax for dir and mtime functions in
22411 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
22412 and GRUB_FSHELP_FLAGS_MASK
22413 * commands/ls.c (grub_ls_list_files): Write mtime in long format
22414 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
22415 (grub_ext2_mtime): new function
22416 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
22417 (grub_hfsplus_mtime): new function
22418 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
22419 (GRUB_UFS_ATTR_FILE): likewise
22420 (GRUB_UFS_ATTR_LNK): likewise
22421 (struct grub_ufs_sblock): new fields mtime
22422 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
22424 (grub_ufs_dir): mtime support
22425 (grub_ufs_mtime): new function
22426 * fs/affs.c (grub_affs_dir): use new dir syntax
22427 * fs/afs.c (grub_afs_dir): likewise
22428 * fs/cpio.c (grub_cpio_dir): likewise
22429 * fs/fat.c (grub_fat_find_dir): likewise
22430 * fs/hfs.c (grub_hfs_dir): likewise
22431 * fs/iso9660.c (grub_iso9660_dir): likewise
22432 * fs/jfs.c (grub_jfs_dir): likewise
22433 * fs/minix.c (grub_minix_dir): likewise
22434 * fs/ntfs.c (grub_ntfs_dir): likewise
22435 * fs/reiserfs.c (grub_reiserfs_dir): likewise
22436 * fs/sfs.c (grub_sfs_dir): likewise
22437 * fs/xfs.c (grub_xfs_dir): likewise
22438 * util/hostfs.c (grub_hostfs_dir): likewise
22439 * lib/datetime.c: moved to ...
22440 * normal/datetime.c: ... moved here
22441 (grub_unixtime2datetime): new function
22442 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
22443 * normal/completion.c (iterate_dir): use new dir syntax
22444 * normal/misc.c (grub_normal_print_device_info): tell the
22445 last modification time of a volume
22446 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
22447 * conf/common.rmk: added lib/datetime.c to ls.mod
22448 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
22449 (normal_mod_SOURCES): likewise
22450 (datetime_mod_SOURCES): Removed lib/datetime.c
22451 * conf/i386-efi.rmk: likewise
22452 * conf/i386-ieee1275.rmk: likewise
22453 * conf/i386-pc.rmk: likewise
22454 * conf/powerpc-ieee1275.rmk: likewise
22455 * conf/sparc64-ieee1275.rmk: likewise
22456 * conf/x86_64-efi.rmk: likewise
22458 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
22460 Trim trailing spaces in FAT label and support mtools-like labels
22462 * fs/fat.c (grub_fat_iterate_dir): New function based
22463 on grub_fat_find_dir
22464 (grub_fat_find_dir): use grub_fat_iterate_dir
22465 (grub_fat_label): likewise
22467 2009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
22469 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
22471 remove extraneous kernel_elf_HEADERS
22473 2009-04-04 Bean <bean123ch@gnail.com>
22475 * include/grub/util/misc.h: Add dummy function fsync for mingw.
22477 * util/misc.c: Likewise.
22479 2009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
22481 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
22482 instead of grub_printf.
22484 2009-04-03 Robert Millan <rmh@aybabtu.com>
22486 * loader/i386/linux.c (grub_linux_setup_video): Fill
22487 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
22488 values from `mode info' structure instead of hardcoded
22491 2009-04-01 Pavel Roskin <proski@gnu.org>
22493 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
22495 * genmk.rb: Likewise.
22496 * configure.ac: Likewise.
22498 2009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
22500 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
22501 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
22503 2009-04-01 David S. Miller <davem@davemloft.net>
22505 * normal/sparc64/setjmp.S: Fix setjmp implementation.
22506 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
22507 (grub_setjmp): Mark with 'returns_twice' attribute.
22508 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
22509 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
22510 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
22512 2009-04-01 Robert Millan <rmh@aybabtu.com>
22514 Reapply fix from 2008-07-28 which was accidentally reverted; also
22515 perform the same fix to a similar check in same function.
22517 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
22518 with the same number are found, just use issue a warning with
22519 grub_dprintf(), as this error has been reported to be non-fatal.
22521 2009-03-31 Pavel Roskin <proski@gnu.org>
22523 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
22524 for cross-compilation.
22526 2009-03-30 Robert Millan <rmh@aybabtu.com>
22528 Fix i386-ieee1275 build.
22530 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
22531 Remove declaration.
22533 2009-03-30 Pavel Roskin <proski@gnu.org>
22535 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
22536 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
22537 zero-terminated, rely only on the strlen value. Fix comparison
22538 of strings differing in length.
22540 2009-03-30 Robert Millan <rmh@aybabtu.com>
22542 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
22543 checking for abi version. Improve error messages on BIOS to notify
22544 user about `linux16' command.
22546 2009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
22550 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
22551 in case of collision
22552 * disk/scsi.c (grub_scsi_open): free scsi in case of error
22554 2009-03-29 Robert Millan <rmh@aybabtu.com>
22556 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
22557 set `vid_mode' accordingly.
22558 (grub_linux_boot): Process `vid_mode' and set video mode.
22560 2009-03-29 Robert Millan <rmh@aybabtu.com>
22562 * util/grub.d/10_linux.in (linux_entry): New function.
22563 Factorize generation of Linux boot entries.
22565 2009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
22567 Make the format of Environment Block plain text. The boot loader
22568 part is not tested well yet.
22570 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
22572 (envblk): Likewise.
22573 (usage): Remove "info" and "clear". Add "unset". Update the
22574 description of "set", as this does not delete variables any
22576 (create_envblk_file): Complete rewrite.
22577 (open_envblk_file): Likewise.
22578 (cmd_info): Removed.
22579 (cmd_list): Likewise.
22580 (cmd_set): Likewise.
22581 (cmd_clear): Likewise.
22582 (list_variables): New function.
22583 (write_envblk): Likewise.
22584 (set_variables): Likewise.
22585 (unset_variables): Likewise.
22586 (main): Complete rewrite.
22588 * commands/loadenv.c (buffer): Removed.
22589 (envblk): Likewise.
22590 (open_envblk_file): New function.
22591 (read_envblk_file): Complete rewrite.
22592 (grub_cmd_load_env): Likewise.
22593 (grub_cmd_list_env): Likewise.
22594 (struct blocklist): New struct.
22595 (free_blocklists): New function.
22596 (check_blocklists): Likewise.
22597 (write_blocklists): Likewise.
22598 (grub_cmd_save_env): Complete rewrite.
22600 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
22601 a plain text signature.
22602 (GRUB_ENVBLK_MAXLEN): Removed.
22603 (struct grub_envblk): Complete rewrite.
22604 (grub_envblk_find): Removed.
22605 (grub_envblk_insert): Likewise.
22606 (grub_envblk_open): New prototype.
22607 (grub_envblk_set): Likewise.
22608 (grub_envblk_delete): Put const to VALUE.
22609 (grub_envblk_iterate): Put const to NAME and VALUE.
22610 (grub_envblk_close): New prototype.
22611 (grub_envblk_buffer): New inline function.
22612 (grub_envblk_size): Likewise.
22614 * lib/envblk.c: Include grub/mm.h.
22615 (grub_env_find): Removed.
22616 (grub_envblk_open): New function.
22617 (grub_envblk_close): Likewise.
22618 (escaped_value_len): Likewise.
22619 (find_next_line): Likewise.
22620 (grub_envblk_insert): Removed.
22621 (grub_envblk_set): New function.
22622 (grub_envblk_delete): Complete rewrite.
22623 (grub_envblk_iterate): Likewise.
22625 2009-03-28 Robert Millan <rmh@aybabtu.com>
22627 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
22628 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
22629 variables. Use 16-bit loader.
22630 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
22632 * kern/i386/loader.S (grub_linux_boot): Rename to ...
22633 (grub_linux16_boot): ... this. Update all users.
22634 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
22635 (grub_linux_boot): ... this. Update all users.
22637 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
22638 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
22639 commands to `linux16' and `initrd16'.
22640 (GRUB_MOD_FINI(linux)): Rename to ...
22641 (GRUB_MOD_FINI(linux16)): ... this.
22643 2009-03-24 Pavel Roskin <proski@gnu.org>
22645 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
22646 not just for compilation.
22648 2009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
22650 Move multiboot helper out of kernel
22652 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
22653 `loader/i386/multiboot_helper.S'.
22654 * conf/i386-coreboot.rmk: Likewise
22655 * conf/i386-ieee1275.rmk: Likewise
22657 * kern/i386/loader.S: Move multiboot helpers from here...
22658 * loader/i386/multiboot_helper.S: ...moved here
22659 * include/grub/i386/loader.h: Move declarations of multiboot
22660 helpers from here...
22661 * include/grub/i386/multiboot.h: ...moved here
22662 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
22664 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
22666 * kern/env.c (grub_env_context_open): Added an argument to specify
22667 whether a new context inherits exported variables from current
22668 one. This is useful when making a sandbox to interpret a config
22670 All callers updated.
22672 * include/grub/env.h (grub_env_context_open): Updated the prototype.
22674 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
22676 * kern/env.c (grub_env_context_close): Fix memory leaks.
22678 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
22680 * normal/main.c (grub_normal_execute): Added an argument
22681 BATCH to specify if an interactive interface should be provided
22682 after reading a config file.
22683 All callers updated.
22684 (read_command_list): Prevent being executed twice.
22685 (read_fs_list): Likewise.
22687 * include/grub/normal.h (grub_normal_execute): Updated the
22690 2009-03-22 Pavel Roskin <proski@gno.org>
22692 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
22694 * kern/i386/pc/startup.S: Likewise.
22695 * kern/i386/efi/startup.S: Likewise.
22696 * kern/i386/ieee1275/startup.S: Likewise.
22697 * kern/i386/coreboot/startup.S: Likewise.
22698 * kern/x86_64/efi/startup.S: Likewise.
22700 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
22701 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
22702 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
22704 2009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
22706 Bugfixes in multiboot for bugs uncovered by solaris kernel.
22708 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
22710 Use vaddr of correct segment for entry_point.
22712 2009-03-21 Bean <bean123ch@gmail.com>
22714 * commands/blocklist.c: Add include file <grub/command.h>, remove
22715 <grub/normal.h> and <grub/arg.h>.
22716 (grub_cmd_blocklist): Use the new command interface.
22717 (GRUB_MOD_INIT): Likewise.
22718 (GRUB_MOD_FINI): Likewise.
22719 * commands/boot.c: Likewise.
22720 * commands/cat.c: Likewise.
22721 * commands/cmp.c: Likewise.
22722 * commands/configfile.c: Likewise.
22723 * commands/crc.c: Likewise.
22724 * commands/echo.c: Likewise.
22725 * commands/halt.c: Likewise.
22726 * commands/handler.c: Likewise.
22727 * commands/hdparm.c: Likewise.
22728 * commands/help.c: Likewise.
22729 * commands/hexdump.c: Likewise.
22730 * commands/loadenv.c: Likewise.
22731 * commands/ls.c: Likewise.
22732 * commands/lsmmap.c: Likewise.
22733 * commands/lspci.c: Likewise.
22734 * commands/loadenv.c: Likewise.
22735 * commands/read.c: Likewise.
22736 * commands/reboot.c: Likewise.
22737 * commands/search.c: Likewise.
22738 * commands/sleep.c: Likewise.
22739 * commands/test.c: Likewise.
22740 * commands/usbtest.c: Likewise.
22741 * commands/videotest.c: Likewise.
22742 * commands/i386/cpuid.c: Likewise.
22743 * commands/i386/pc/halt.c: Likewise.
22744 * commands/i386/pc/play.c: Likewise.
22745 * commands/i386/pc/pxecmd.c: Likewise.
22746 * commands/i386/pc/vbeinfo.c: Likewise.
22747 * commands/i386/pc/vbetest.c: Likewise.
22748 * commands/ieee1275/suspend.c: Likewise.
22749 * disk/loopback.c: Likewise.
22750 * font/font_cmd.c: Likewise.
22751 * hello/hello.c: Likewise.
22752 * loader/efi/appleloader.c: Likewise.
22753 * loader/efi/chainloader.c: Likewise.
22754 * loader/i386/bsd.c: Likewise.
22755 * loader/i386/efi/linux.c: Likewise.
22756 * loader/i386/ieee1275/linux.c: Likewise.
22757 * loader/i386/linux.c: Likewise.
22758 * loader/i386/pc/chainloader.c: Likewise.
22759 * loader/i386/pc/linux.c: Likewise.
22760 * loader/powerpc/ieee1275/linux.c: Likewise.
22761 * loader/multiboot_loader.c: Likewise.
22762 * term/gfxterm.c: Likewise.
22763 * term/i386/pc/serial.c: Likewise.
22764 * term/terminfo.c: Likewise.
22766 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
22767 * term/i386/pc/vga.c: Likewise.
22768 * video/readers/jpeg.c: Likewise.
22769 * video/readers/png.c: Likewise.
22770 * video/readers/tga.c: Likewise.
22772 * util/grub-fstest (cmd_loopback): Removed.
22773 (cmd_blocklist): Likewise.
22774 (cmd_ls): Likewise.
22775 (grub_register_command): Likewise.
22776 (grub_unregister_command): Likewise.
22777 (execute_command): Use grub_command_find to locate command and execute
22780 * include/grub/efi/chainloader.h: Removed.
22781 * loader/efi/chainloader_normal.c: Likewise.
22782 * loader/i386/bsd_normal.c: Likewise.
22783 * loader/i386/pc/chainloader_normal.c: Likewise.
22784 * loader/i386/pc/multiboot_normal.c: Likewise.
22785 * loader/linux_normal.c: Likewise.
22786 * loader/multiboot_loader_normal.c: Likewise.
22787 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
22789 * gencmdlist.sh: Scan new registration command grub_register_extcmd
22790 and grub_register_command_p1.
22792 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
22793 kern/command.c, lib/arg.c and commands/extcmd.c.
22794 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
22795 (minicmd_mod_SOURCES): New variable.
22796 (minicmd_mod_CFLAGS): Likewise.
22797 (minicmd_mod_LDFLAGS): Likewise.
22798 (extcmd_mod_SOURCES): Likewise.
22799 (extcmd_mod_CFLAGS): Likewise.
22800 (extcmd_mod_LDFLAGS): Likewise.
22801 (boot_mod_SOURCES): Removed.
22802 (boot_mod_CFLAGS): Likewise.
22803 (boot_mod_LDFLAGS): Likewise.
22805 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
22807 (kernel_img_HEADERS): Add command.h.
22808 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
22809 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
22811 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
22812 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
22813 remove the corresponding normal mode command.
22814 (normal_mod_SOURCES): Remove normal/arg.c.
22815 * conf/i386-coreboot.rmk: Likewise.
22816 * conf/i386-efi.rmk: Likewise.
22817 * conf/i386-ieee1275.rmk: Likewise.
22818 * conf/powerpc-ieee1275.rmk: Likewise.
22819 * conf/x86_64-efi.rmk: Likewise.
22821 * include/grub/arg.h: Move from here ...
22822 * include/grub/lib/arg.h: ... to here.
22824 * normal/arg.c: Move from here ...
22825 * lib/arg.c: ... to here.
22827 * commands/extcmd.c: New file.
22828 * commands/minicmd.c: Likewise.
22829 * include/grub/command.h: Likewise.
22830 * include/grub/extcmd.h: Likewise.
22831 * kern/command.c: Likewise.
22832 * kern/corecmd.c: Likewise.
22834 * kern/list.c (grub_list_iterate): Return int instead of void.
22835 (grub_list_insert): New function.
22836 (grub_prio_list_insert): Likewise.
22838 * kern/rescue.c (grub_rescue_command): Removed.
22839 (grub_rescue_command_list): Likewise.
22840 (grub_rescue_register_command): Likewise.
22841 (grub_rescue_unregister_command): Likewise.
22842 (grub_rescue_cmd_boot): Move to minicmd.c
22843 (grub_rescue_cmd_help): Likewise.
22844 (grub_rescue_cmd_info): Likewise.
22845 (grub_rescue_cmd_boot): Likewise.
22846 (grub_rescue_cmd_testload): Likewise.
22847 (grub_rescue_cmd_dump): Likewise.
22848 (grub_rescue_cmd_rmmod): Likewise.
22849 (grub_rescue_cmd_lsmod): Likewise.
22850 (grub_rescue_cmd_exit): Likewise.
22851 (grub_rescue_print_devices): Moved to corecmd.c.
22852 (grub_rescue_print_files): Likewise.
22853 (grub_rescue_cmd_ls): Likewise.
22854 (grub_rescue_cmd_insmod): Likewise.
22855 (grub_rescue_cmd_set): Likewise.
22856 (grub_rescue_cmd_unset): Likewise.
22857 (attempt_normal_mode): Use grub_command_find to get normal module.
22858 (grub_enter_rescue_mode): Use grub_register_core_commands to register
22859 commands, remove grub_rescue_register_command calls.
22861 * normal/command.c (grub_register_command): Removed.
22862 (grub_unregister_command): Likewise.
22863 (grub_command_find): Likewise.
22864 (grub_iterate_commands): Likewise.
22865 (rescue_command): Likewise.
22866 (export_command): Moved to corecmd.c.
22867 (set_command): Removed.
22868 (unset_command): Likewise.
22869 (insmod_command): Likewise.
22870 (rmmod_command): Likewise.
22871 (lsmod_command): Likewise.
22872 (grub_command_init): Likewise.
22874 * normal/completion.c (iterate_command): Use cmd->prio to check for
22876 (complete_arguments): Use grub_extcmd_t structure to find options.
22877 (grub_normal_do_completion): Change function grub_iterate_commands to
22878 grub_command_iterate.
22880 * normal/execute.c (grub_script_execute_cmd): No need to parse
22883 * normal/main.c (grub_dyncmd_dispatcher): New function.
22884 (read_command_list): Register unload commands as dyncmd.
22885 (grub_cmd_normal): Use new command interface, register rescue,
22886 unregister normal at entry, register normal, unregister rescue at exit.
22888 * include/grub/list.h (grub_list_test_t): New type.
22889 (grub_list_iterate): Return int instead of void.
22890 (grub_list_insert): New function.
22891 (GRUB_AS_NAMED_LIST_P): New macro.
22892 (GRUB_AS_PRIO_LIST): Likewise.
22893 (GRUB_AS_PRIO_LIST_P): Likewise.
22894 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
22895 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
22896 (grub_prio_list): New structure.
22897 (grub_prio_list_insert): New function.
22898 (grub_prio_list_remove): New inline function.
22900 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
22901 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
22902 (GRUB_COMMAND_FLAG_MENU): Likewise.
22903 (GRUB_COMMAND_FLAG_BOTH): Likewise.
22904 (GRUB_COMMAND_FLAG_TITLE): Likewise.
22905 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
22906 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
22907 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
22908 (grub_command): Likewise.
22909 (grub_register_command): Likewise.
22910 (grub_command_find): Likewise.
22911 (grub_iterate_commands): Likewise.
22912 (grub_command_init): Likewise.
22913 (grub_arg_parse): Likewise.
22914 (grub_arg_show_help): Likewise.
22916 * include/grub/rescue.h (grub_rescue_register_command): Removed.
22917 (grub_rescue_unregister_command): Likewise.
22919 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
22920 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
22921 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
22923 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
22924 grub_rescue_cmd_initrd.
22925 * include/grub/i386/loader.h: Likewise.
22926 * include/grub/x86_64/loader.h: Likewise.
22928 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
22930 2009-03-21 Bean <bean123ch@gmail.com>
22932 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
22933 instead of stat in mingw environment.
22935 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
22937 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
22939 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
22942 2009-03-21 Bean <bean123ch@gmail.com>
22944 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
22945 out of range error.
22947 2009-03-18 Michel Dänzer <michel@daenzer.net>
22949 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
22950 checking inode flags for EXT4_EXTENTS_FLAG.
22952 2009-03-18 Robert Millan <rmh@aybabtu.com>
22954 * loader/i386/linux.c: Include `<grub/video.h>' and
22955 `<grub/i386/pc/vbe.h>'..
22956 (grub_linux_setup_video): New function. Loosely based on the EFI one.
22957 (grub_linux32_boot): Attempt to configure video settings with
22958 grub_linux_setup_video().
22959 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
22960 to avoid grub_console_fini() which would step out of graphical mode
22963 2009-03-14 Robert Millan <rmh@aybabtu.com>
22965 Fix build on powerpc.
22966 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
22968 2009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
22970 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
22971 background image command.
22973 2009-03-12 Colin D Bennett <colin@gibibit.com>
22975 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
22976 (grub_gfxterm_putchar): Extract pairs of identical calls to
22977 draw_cursor out of conditional blocks.
22979 2009-03-11 Pavel Roskin <proski@gnu.org>
22981 * fs/hfs.c (grub_hfs_strncasecmp): New function.
22982 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
22984 2009-03-11 Robert Millan <rmh@aybabtu.com>
22986 * loader/i386/multiboot_elfxx.c
22987 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
22989 2009-03-11 Felix Zielcke <fzielcke@z-51.de>
22991 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
22994 2009-03-11 Robert Millan <rmh@aybabtu.com>
22996 * loader/i386/multiboot.c (code_size): New variable.
22997 (grub_multiboot): Define offsets by adding to `code_size' rather
22998 than subtracting from `grub_multiboot_payload_size'. Provide
22999 4-byte alignment to MBI and others by increasing
23000 `boot_loader_name_length' appropriately.
23002 * loader/i386/multiboot_elfxx.c
23003 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
23005 2009-03-09 Felix Zielcke <fzielcke@z-51.de>
23007 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
23010 2009-03-08 Robert Millan <rmh@aybabtu.com>
23012 Make loader/i386/linux.c usable on i386-pc again.
23014 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
23016 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
23019 2009-03-07 Bean <bean123ch@gmail.com>
23021 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
23024 2009-03-06 Robert Millan <rmh@aybabtu.com>
23026 Fix display issue on terminals with screen size other than 80x25
23027 (e.g. gfxterm with resolution higher than 640x480).
23029 * normal/main.c (grub_normal_init_page): Display title text in a
23030 position relative to the center of the terminal instead of relying
23031 on a hardcoded offset.
23033 2009-03-04 Robert Millan <rmh@aybabtu.com>
23035 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
23038 * Makefile.in (host_kernel): New variable.
23039 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
23040 scripts instead of just the windows one.
23041 * configure.ac: Initialize and AC_SUBST `host_kernel'.
23043 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
23045 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
23047 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
23048 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
23049 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
23050 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23051 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23052 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23054 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
23056 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
23057 or if there's no space for the disk label and print the partition number on a
23060 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
23062 * util/misc.c: Include <time.h>.
23063 (grub_millisleep): New function.
23065 2009-03-04 Bean <bean123ch@gmail.com>
23067 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
23068 another option -mno-red-zone.
23070 * commands/handler.c: Change module description.
23072 * kern/handler.c: Add missing space at the end of description line.
23074 * kern/list.c: Likewise.
23076 2009-03-03 Robert Millan <rmh@aybabtu.com>
23078 Move more components to the relocation area, and fix mbi pointer
23079 handling to use the destination rather than the origin (thanks to
23080 Vladimir Serbinenko for spotting).
23082 * loader/i386/multiboot.c (mbi_dest): New variable.
23083 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
23084 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
23087 2009-03-01 Bean <bean123ch@gmail.com>
23089 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
23090 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
23091 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
23092 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
23094 * loader/i386/efi/linux.c (acpi_guid): New variable.
23095 (acpi_guid): Likewise.
23096 (EBDA_SEG_ADDR): New constant.
23097 (LOW_MEM_ADDR): Likewise.
23098 (FAKE_EBDA_SEG): Likewise.
23099 (fake_bios_data): New function.
23100 (grub_linux_boot): Call fake_bios_data.
23102 2009-03-01 Bean <bean123ch@gmail.com>
23104 * commands/terminal.c: Removed.
23106 * commands/handler.c: New file.
23108 * include/grub/list.h: Likewise.
23110 * include/grub/handler.h: Likewise.
23112 * kern/list.c: Likewise.
23114 * kern/handler.c: Likewise.
23116 * kern/term.h: Include header file <grub/handler.h>.
23117 (grub_term_input): Move next field to the beginning.
23118 (grub_term_output): Likewise.
23119 (grub_term_input_class): New variable.
23120 (grub_term_output_class): Likewise.
23121 (grub_term_register_input): Changed to inline function.
23122 (grub_term_register_output): Likewise.
23123 (grub_term_unregister_input): Likewise.
23124 (grub_term_unregister_output): Likewise.
23125 (grub_term_set_current_input): Likewise.
23126 (grub_term_set_current_output): Likewise.
23127 (grub_term_get_current_input): Likewise.
23128 (grub_term_get_current_output): Likewise.
23129 (grub_term_iterate_input): Removed.
23130 (grub_term_iterate_output): Likewise.
23132 * kern/term.c (grub_term_list_input): Removed.
23133 (grub_term_list_output): Likewise.
23134 (grub_term_input_class): New variable.
23135 (grub_term_output_class): Likewise.
23136 (grub_cur_term_input): Change variable as macro.
23137 (grub_cur_term_output): Likewise.
23138 (grub_term_register_input): Removed.
23139 (grub_term_register_output): Likewise.
23140 (grub_term_unregister_input): Likewise.
23141 (grub_term_unregister_output): Likewise.
23142 (grub_term_set_current_input): Likewise.
23143 (grub_term_set_current_output): Likewise.
23144 (grub_term_iterate_input): Likewise.
23145 (grub_term_iterate_output): Likewise.
23146 (grub_term_get_current_input): Likewise.
23147 (grub_term_get_current_output): Likewise.
23149 * util/grub-editenv.c: Include header file <grub/handler.h>.
23150 (grub_term_get_current_input): Removed.
23151 (grub_term_get_current_output): Likewise.
23152 (grub_term_input_class): New variable.
23153 (grub_term_output_class): Likewise.
23155 * util/grub-fstest.c (grub_term_get_current_input): Removed.
23156 (grub_term_get_current_output): Likewise.
23157 (grub_term_input_class): New variable.
23158 (grub_term_output_class): Likewise.
23160 * util/grub-probe.c (grub_term_get_current_input): Removed.
23161 (grub_term_get_current_output): Likewise.
23162 (grub_term_input_class): New variable.
23163 (grub_term_output_class): Likewise.
23165 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
23166 (grub_term_get_current_output): Likewise.
23167 (grub_term_input_class): New variable.
23168 (grub_term_output_class): Likewise.
23170 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
23171 (terminal_mod_SOURCES): Likewise.
23172 (terminal_mod_CFLAGS): Likewise.
23173 (terminal_mod_LDFLAGS): Likewise.
23175 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
23177 (kernel_img_SOURCES): Add list.c and handler.c.
23178 (kernel_img_HEADERS): Add list.h and handler.h.
23180 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
23182 (kernel_mod_SOURCES): Add list.c and handler.c.
23183 (kernel_mod_HEADERS): Add list.h and handler.h.
23185 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
23187 (kernel_elf_SOURCES): Add list.c and handler.c.
23188 (kernel_elf_HEADERS): Add list.h and handler.h.
23190 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
23192 (kernel_elf_SOURCES): Add list.c and handler.c.
23193 (kernel_elf_HEADERS): Add list.h and handler.h.
23195 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
23197 (kernel_mod_SOURCES): Add list.c and handler.c.
23198 (kernel_mod_HEADERS): Add list.h and handler.h.
23200 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
23202 (kernel_elf_SOURCES): Add list.c and handler.c.
23203 (kernel_elf_HEADERS): Add list.h and handler.h.
23205 2009-02-27 Robert Millan <rmh@aybabtu.com>
23207 Factorize elf32 / elf64 code in Multiboot loader. This will
23208 prevent it from getting out of sync again.
23210 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
23211 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
23212 grub_multiboot_load_elf64): Move from here ...
23213 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
23214 grub_multiboot_load_elf): ... to here (new file).
23216 2009-02-27 Robert Millan <rmh@aybabtu.com>
23218 * util/grub.d/10_linux.in: Rename "single-user mode" to
23221 2009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
23223 Don't leak in SCSI code.
23224 * disk/scsi.c (grub_scsi_close): free `scsi'.
23226 2009-02-27 Robert Millan <rmh@aybabtu.com>
23228 * loader/i386/pc/multiboot.c: Move from here ...
23229 * loader/i386/multiboot.c: ... to here. Update all users.
23231 2009-02-27 Robert Millan <rmh@aybabtu.com>
23233 Patch from Alexandre Bique <bique.alexandre@gmail.com>
23234 * util/i386/pc/grub-setup.c (setup): Fix directory path.
23236 2009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
23238 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
23241 2009-02-27 Robert Millan <rmh@aybabtu.com>
23243 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
23244 `0x' qualifier as 0 when base is specified as parameter).
23246 2009-02-24 Bean <bean123ch@gmail.com>
23248 * configure.ac: Check for -mcmodel=large in x86_64 target.
23250 * include/grub/efi/api.h (efi_call_10): New macro.
23251 (efi_wrap_10): New function.
23253 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
23254 (GRUB_PE32_REL_BASED_HIGH): Likewise.
23255 (GRUB_PE32_REL_BASED_LOW): Likewise.
23256 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
23257 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
23258 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
23259 (GRUB_PE32_REL_BASED_SECTION): Likewise.
23260 (GRUB_PE32_REL_BASED_REL): Likewise.
23261 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
23262 (GRUB_PE32_REL_BASED_DIR64): Likewise.
23263 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
23265 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
23268 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
23269 (efi_wrap_10): New function.
23271 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
23273 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
23274 MB/MBP model (NV chipset).
23275 (devdata_devs): Add devpath_5 to the list.
23277 * load/i386/efi/linux.c (video_base): Remove variable.
23278 (RGB_MASK): New macro.
23279 (RGB_MAGIC): Likewise.
23280 (LINE_MIN): Likewise.
23281 (LINE_MAX): Likewise.
23282 (FBTEST_STEP): Likewise.
23283 (FBTEST_COUNT): Likewise.
23284 (fb_list): New variable.
23285 (grub_find_video_card): Remove function.
23286 (find_framebuf): New function.
23287 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
23290 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
23291 problem for x86_64.
23293 2009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
23295 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
23297 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
23300 2009-02-22 Robert Millan <rmh@aybabtu.com>
23302 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
23303 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
23304 in our relocation, instead of using it directly from heap. Also
23305 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
23307 2009-02-21 Robert Millan <rmh@aybabtu.com>
23309 Implement USB keyboard support (based on patch by Marco Gerards)
23311 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
23312 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
23313 (usb_keyboard_mod_LDFLAGS): New variables.
23315 * term/usb_keyboard.c: New file.
23317 2009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
23319 Corrected wrong declaration
23321 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
23323 2009-02-14 Christian Franke <franke@computer.org>
23325 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
23326 (grub_lspci_iter): Print class code and programming interface byte.
23328 2009-02-14 Christian Franke <franke@computer.org>
23330 * gendistlist.sh: Ignore `.svn' directories.
23332 2009-02-14 Felix Zielcke <fzielcke@z-51.de>
23334 * fs/fat.c: Add 2009 to Copyright line.
23336 2009-02-14 Christian Franke <franke@computer.org>
23338 * commands/hdparm.c: New file. Provides `hdparm' command
23339 which sends ATA commands via grub_disk_ata_pass_through ().
23341 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
23343 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
23344 and <grub/cpu/io.h> to include/grub/ata.h.
23345 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
23346 (GRUB_CDROM_SECTOR_SIZE): Remove.
23347 (GRUB_ATA_*): Move to include/grub/ata.h.
23348 (GRUB_ATAPI_*): Likewise.
23349 (enum grub_ata_commands): Likewise.
23350 (enum grub_ata_timeout_milliseconds): Likewise.
23351 (struct grub_ata_device): Likewise.
23352 (grub_ata_regset): Likewise.
23353 (grub_ata_regget): Likewise.
23354 (grub_ata_regset2): Likewise.
23355 (grub_ata_regget2): Likewise.
23356 (grub_ata_check_ready): Likewise.
23357 (grub_ata_wait_not_busy): Remove static, exported in
23358 include/grub/ata.h.
23359 (grub_ata_wait_drq): Likewise.
23360 (grub_ata_pio_read): Likewise.
23362 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
23363 function for hdparm.mod.
23365 * include/grub/ata.h: New file, contains declarations from
23367 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
23369 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
23370 (grub_disk_ata_pass_through): New exported variable.
23372 * kern/disk.c (grub_disk_ata_pass_through): New variable.
23374 2009-02-13 Colin D Bennett <colin@gibibit.com>
23376 Support multiple fallback entries, and provide an API to support
23377 executing default+fallback menu entries. Renamed the `terminal' menu
23380 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
23381 variable declaration.
23382 (grub_menu_execute_callback): New structure declaration.
23383 (grub_menu_execute_callback_t): New typedef.
23384 (grub_menu_execute_with_fallback): New function declaration.
23385 (grub_menu_get_entry): Likewise.
23386 (grub_menu_get_timeout): Likewise.
23387 (grub_menu_set_timeout): Likewise.
23389 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
23391 * normal/menu.c (grub_wait_after_message): Moved to
23392 `normal/menu_text.c'.
23393 (draw_border): Likewise.
23394 (print_message): Likewise.
23395 (print_entry): Likewise.
23396 (print_entries): Likewise.
23397 (grub_menu_init_page): Likewise.
23398 (get_entry_number): Likewise.
23399 (print_timeout): Likewise.
23400 (run_menu): Likewise.
23401 (grub_menu_execute_entry): Likewise.
23402 (show_text_menu): Likewise.
23403 (get_and_remove_first_entry_number): New function.
23404 (grub_menu_execute_with_fallback): Likewise.
23405 (get_entry): Renamed to ...
23406 (grub_menu_get_entry): .. this and made it global.
23407 (get_timeout): Renamed to ...
23408 (grub_menu_get_timeout): ... this and made it global.
23409 (set_timeout): Renamed to ...
23410 (grub_menu_set_timeout): ... this and made it global.
23411 (grub_normal_terminal_menu_viewer): Renamed to ...
23412 (grub_normal_text_menu_viewer): ... this.
23414 * normal/menu_text.c: New file. Extracted text-menu-specific code
23415 from normal/menu.c.
23417 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
23418 (normal_mod_SOURCES): Likewise.
23420 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
23421 (normal_mod_SOURCES): Likewise.
23423 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23424 (normal_mod_SOURCES): Likewise.
23426 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
23427 (normal_mod_SOURCES): Likewise.
23429 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23430 (normal_mod_SOURCES): Likewise.
23432 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23433 (normal_mod_SOURCES): Likewise.
23435 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
23436 (normal_mod_SOURCES): Likewise.
23438 2009-02-11 Robert Millan <rmh@aybabtu.com>
23440 * util/grub.d/00_header.in: Update old reference to `font' command.
23442 2009-02-10 Felix Zielcke <fzielcke@z-51.de>
23444 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
23446 Based on patch from Javier Martín.
23448 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
23450 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
23451 to avoid false positives with FAT.
23452 (grub_fstest_SOURCES): Likewise.
23453 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
23454 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
23455 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23456 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
23457 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23458 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23460 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
23462 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
23463 bpb.version_specific.fat12_or_fat16.fstype and
23464 bpb.version_specific.fat32.fstype.
23466 2009-02-08 Robert Millan <rmh@aybabtu.com>
23468 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
23470 2009-02-08 Robert Millan <rmh@aybabtu.com>
23472 * Makefile.in (host_os, host_cpu): New variables.
23473 (target_os): Remove. Update all users.
23475 2009-02-08 Marco Gerards <marco@gnu.org>
23477 * Makefile.in (enable_grub_emu_usb): New variable.
23478 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
23479 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
23480 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
23481 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
23482 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
23483 `usbtest.mod' and `usbms.mod'.
23484 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
23485 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
23486 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
23487 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
23488 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
23491 * disk/usbms.c: New file.
23493 * include/grub/usb.h: Likewise.
23495 * include/grub/usbtrans.h: Likewise.
23497 * include/grub/usbdesc.h: Likewise.
23499 * bus/usb/usbtrans.c: Likewise.
23501 * bus/usb/ohci.c: Likewise.
23503 * bus/usb/uhci.c: Likewise.
23505 * bus/usb/usbhub.c: Likewise.
23507 * bus/usb/usb.c: Likewise.
23509 * commands/usbtest.c: Likewise.
23511 * util/usb.c: Likewise.
23513 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
23515 * configure.ac: Test for libusb presence.
23517 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
23519 2009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
23521 * kern/mm.c: Add more comments.
23523 2009-02-08 Robert Millan <rmh@aybabtu.com>
23525 Patch from Javier Martín.
23526 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
23527 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
23529 2009-02-08 Robert Millan <rmh@aybabtu.com>
23531 * fs/cpio.c: Split tar functionality to ...
23532 * fs/tar.c: ... here (new file). Update all users.
23534 2009-02-07 Robert Millan <rmh@aybabtu.com>
23536 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
23537 backward-incompatible features.
23539 Based on patch from Javier Martín, with some adjustments.
23541 2009-02-07 Michael Scherer <misc@mandriva.org>
23543 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
23545 2009-02-07 Robert Millan <rmh@aybabtu.com>
23547 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
23548 position of `disk/lvm.c' to ensure grub_init_all() always picks it
23549 after the RAID stuff.
23551 2009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
23553 Fixes problem when running vbetest command as reported by
23554 Vladimir Serbinenko <phcoder@gmail.com>.
23556 * (grub_vbe_set_video_mode): Fixed problem with text modes.
23558 2009-02-04 Felix Zielcke <fzielcke@z-51.de>
23560 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
23561 /dev/md/NpN style mdraid devices.
23563 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
23565 * util/unifont2pff.rb: Remove.
23567 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
23569 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
23572 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
23574 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
23575 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
23576 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
23577 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
23578 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23579 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23580 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23582 2009-02-02 Christian Franke <franke@computer.org>
23584 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
23586 2009-02-01 Felix Zielcke <fzielcke@z-51.de>
23588 * INSTALL: Note that we now require at least autoconf 2.59 and
23589 that LZO is optional.
23591 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
23593 Base on patch on bug #24154 created by Tomas Tintera
23594 <trosos@seznam.cz>.
23596 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
23598 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
23600 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
23601 <bero@arklinux.org>.
23603 * normal/parser.y (script_init): Add missing semicolon.
23605 2009-01-31 Colin D Bennett <colin@gibibit.com>
23607 * normal/main.c: Add include to grub/menu_viewer.h.
23608 (free_menu_entry_classes): Added.
23609 (grub_normal_menu_addentry): Added class property handling.
23610 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
23611 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
23613 * normal/menu_viewer.c: New file.
23615 * normal/menu.c (run_menu_entry): Renamed to ...
23616 (grub_menu_execute_entry): ... this and made it as global.
23617 (grub_menu_run): Renamed to ...
23618 (show_text_menu): ... this and made it local.
23619 (show_text_menu): Adapt to new function names.
23620 (grub_normal_terminal_menu_viewer): New global variable.
23622 * include/grub/menu.h: New file.
23624 * include/grub/menu_viewer.h: New file.
23626 * include/grub/normal.h: Added include to grub/menu.h.
23627 (grub_menu_entry): Moved to include/grub/menu.h.
23628 (grub_menu_entry_t): Likewise.
23629 (grub_menu): Likewise.
23630 (grub_menu_t): Likewise.
23631 (grub_normal_terminal_menu_viewer): Added.
23632 (grub_menu_execute_entry): Likewise.
23633 (grub_menu_run): Removed.
23635 * DISTLIST: Added include/grub/menu.h.
23636 Added include/grub/menu_viewer.h.
23637 Added normal/menu_viewer.c.
23639 2009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
23641 * normal/execute.c (grub_script_execute_menuentry): Changed to use
23642 arglist for menutitle arguments.
23644 * normal/main.c (grub_normal_menu_addentry): Likewise.
23646 * normal/parser.y (menuentry): Likewise.
23648 * normal/script.c (grub_script_create_cmdmenu): Likewise.
23650 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
23651 (grub_script_create_cmdmenu): Likewise.
23653 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
23655 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
23658 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
23660 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
23662 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
23664 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
23666 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
23668 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
23670 2009-01-30 Christian Franke <franke@computer.org>
23672 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
23673 in option help text.
23675 2009-01-27 Pavel Roskin <proski@gnu.org>
23677 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
23679 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
23681 * commands/lsmmap.c: Add include to grub/machine/memory.h.
23683 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
23685 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
23686 unregister function.
23688 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
23690 * disk/scsi.c (grub_scsi_read): Fix sign problem.
23692 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
23694 * util/grub-mkfont.c (usage): Fix typo.
23696 * util/elf/grub-mkimage.c (load_modules): Fix warning.
23698 2009-01-26 Daniel Mierswa <impulze@impulze.org>
23700 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
23702 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
23704 * kern/misc.c (grub_strcasecmp): New function.
23705 (grub_strcasecmp): Use grub_size_t instead of int for length.
23707 * include/grub/misc.h: Update function prototypes.
23709 2009-01-26 Robert Millan <rmh@aybabtu.com>
23711 * configure.ac: Fix cross-compilation check.
23713 2009-01-22 Christian Franke <franke@computer.org>
23715 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
23716 (precision) digit string. Allow `.format2' without `format1' (width).
23717 Limit input chars for `%s' output to `format2' if specified. This is
23718 compatible with standard printf ().
23720 2009-01-22 Christian Franke <franke@computer.org>
23722 * disk/ata.c (grub_ata_wait_status): Replace by ...
23723 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
23724 other status bits may be invalid while BSY is asserted.
23725 (grub_ata_check_ready): New function.
23726 (grub_ata_cmd): Removed.
23727 (grub_ata_wait_drq): New function.
23728 (grub_ata_strncpy): Remove inline.
23729 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
23730 and error check now done by grub_ata_wait_drq ().
23731 (grub_ata_pio_write): Likewise.
23732 (grub_atapi_identify): Set DEV before check for !BSY. Use
23733 grub_ata_wait_drq () to wait for data.
23734 (grub_ata_device_initialize): Add status register check to
23735 detect missing SATA slave devices. Add debug messages.
23736 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
23737 (grub_atapi_packet): Set DEV before check for !BSY. Replace
23738 transfer loop by grub_ata_pio_write ().
23739 (grub_ata_identify): Set DEV before check for !BSY. Use
23740 grub_ata_wait_drq () to wait for data.
23741 (grub_ata_setaddress): Set DEV before check for !BSY.
23742 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
23743 read/write in one loop. Fix invalid command on write. Fix incomplete
23744 command on (size % batch) == 0. Add missing error check after write of
23745 last block. Add debug messages.
23746 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
23748 2009-01-19 Christian Franke <franke@computer.org>
23750 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
23751 (GRUB_ATAPI_IREASON_*): Likewise.
23752 (grub_ata_pio_write): Fix timeout error return.
23753 (grub_atapi_identify): Add grub_ata_wait () after cmd.
23754 (grub_atapi_wait_drq): New function.
23755 (grub_atapi_packet): New parameter `size'.
23756 Use grub_atapi_wait_drq () and direct write instead of
23757 grub_ata_pio_write ().
23758 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
23759 reads the number of bytes requested by the device for each DRQ
23761 (grub_atapi_write): Remove old implementation, return not
23762 implemented instead.
23764 2009-01-19 Christian Franke <franke@computer.org>
23766 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
23767 of 512 to calculate data size.
23768 (grub_scsi_read12): Likewise.
23769 (grub_scsi_write10): Likewise.
23770 (grub_scsi_write12): Likewise.
23771 (grub_scsi_read): Adjust size according to blocksize.
23772 Add checks for invalid blocksize and unaligned transfer.
23774 2009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
23776 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
23778 * term/gfxterm.c (write_char): Fix background rendering for wide
23781 2009-01-19 Robert Millan <rmh@aybabtu.com>
23783 * config.guess: Update to latest version from config git.
23784 * config.sub: Likewise.
23786 2009-01-17 Felix Zielcke <fzielcke@z-51.de>
23788 * Makefile.in: Change font compilation to use new grub-mkfont instead
23791 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
23792 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
23793 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
23794 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
23795 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
23796 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
23797 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
23798 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
23799 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
23801 2009-01-16 Christian Franke <franke@computer.org>
23803 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
23804 (enum grub_ata_timeout_milliseconds): New enum.
23805 (grub_ata_wait_status): Add parameter milliseconds.
23806 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
23807 recovery from timed-out commands.
23808 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
23809 return grub_errno instead of REG_ERROR.
23810 (grub_ata_pio_write): Add parameter milliseconds.
23811 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
23812 Pass milliseconds to grub_ata_wait_status () and
23813 grub_ata_pio_read ().
23814 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
23815 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
23816 grub_ata_wait_status (). Fix IDENTIFY timeout check.
23817 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
23818 It is not suitable for device detection, because DEV bit is ignored,
23819 the command may run too long, and not all devices set the signature
23821 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
23822 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
23823 Fix device selection, DEV bit must be set first to address the registers
23824 of the correct device.
23825 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
23826 grub_ata_pio_read/write ().
23827 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
23828 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
23830 2009-01-13 Carles Pina i Estany <carles@pina.cat>
23832 * util/grub-editenv.c (main): Use fseeko(), not fseek().
23834 2009-01-13 Bean <bean123ch@gmail.com>
23836 * util/grub-mkfont.c (write_font): forget to remove some debug code.
23838 2009-01-13 Bean <bean123ch@gmail.com>
23840 * Makefile.in: (enable_grub_mkfont): New variable.
23841 (freetype_cflags): Likewise.
23842 (freetype_libs): Likewise.
23844 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
23845 (grub_mkfont_SOURCES): New variable.
23846 (grub_mkfont_CFLAGS): Likewise.
23847 (grub_mkfont_LDFLAGS): Likewise.
23849 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
23850 library if `--enable-grub-mkfont' is requested.
23851 (enable_grub_mkfont): New variable.
23852 (freetype_cflags): Likewise.
23853 (freetype_libs): Likewise.
23855 * util/grub-mkfont.c: New file.
23857 2009-01-12 Christian Franke <franke@computer.org>
23859 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
23860 mode check. Fix setting of compat_use[].
23862 2009-01-10 Robert Millan <rmh@aybabtu.com>
23864 Update a few copyright years which we forgot to do in 2008 (only for
23865 files whose changes made in 2008 were copyright-significant)
23867 * Makefile.in: Add 2008 to Copyright line.
23868 * disk/ieee1275/ofdisk.c: Likewise.
23869 * disk/efi/efidisk.c: Likewise.
23870 * kern/dl.c: Likewise.
23871 * kern/sparc64/ieee1275/init.c: Likewise.
23872 * kern/mm.c: Likewise.
23873 * kern/efi/mm.c: Likewise.
23874 * boot/i386/pc/boot.S: Likewise.
23875 * genfslist.sh: Likewise.
23876 * fs/iso9660.c: Likewise.
23877 * fs/hfs.c: Likewise.
23878 * fs/jfs.c: Likewise.
23879 * fs/minix.c: Likewise.
23880 * fs/ufs.c: Likewise.
23881 * gensymlist.sh.in: Likewise.
23882 * genkernsyms.sh.in: Likewise.
23883 * include/grub/misc.h: Likewise.
23884 * include/grub/types.h: Likewise.
23885 * include/grub/symbol.h: Likewise.
23886 * include/grub/elf.h: Likewise.
23887 * include/grub/kernel.h: Likewise.
23888 * include/grub/disk.h: Likewise.
23889 * include/grub/dl.h: Likewise.
23890 * include/grub/i386/linux.h: Likewise.
23891 * include/grub/i386/pc/biosdisk.h: Likewise.
23892 * include/grub/efi/api.h: Likewise.
23893 * include/grub/efi/pe32.h: Likewise.
23894 * include/grub/util/misc.h: Likewise.
23895 * normal/execute.c: Likewise.
23896 * normal/arg.c: Likewise.
23897 * normal/completion.c: Likewise.
23898 * normal/lexer.c: Likewise.
23899 * normal/parser.y: Likewise.
23900 * normal/misc.c: Likewise.
23901 * commands/i386/pc/vbeinfo.c: Likewise.
23902 * commands/hexdump.c: Likewise.
23903 * commands/terminal.c: Likewise.
23904 * commands/ls.c: Likewise.
23905 * commands/help.c: Likewise.
23906 * partmap/pc.c: Likewise.
23907 * loader/efi/chainloader.c: Likewise.
23908 * loader/multiboot_loader.c: Likewise.
23909 * loader/i386/pc/multiboot2.c: Likewise.
23910 * term/efi/console.c: Likewise.
23911 * term/i386/pc/serial.c: Likewise.
23912 * util/lvm.c: Likewise.
23913 * util/console.c: Likewise.
23914 * util/i386/efi/grub-mkimage.c: Likewise.
23915 * util/raid.c: Likewise.
23917 2009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
23919 * commands/videotest.c: Removed include to grub/machine/memory.h.
23921 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
23922 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
23923 (video_mod_SOURCES): Removed.
23924 (video_mod_CFLAGS): Likewise.
23925 (video_mod_LDFLAGS): Likewise.
23926 (gfxterm_mod_SOURCES): Likewise.
23927 (gfxterm_mod_CFLAGS): Likewise.
23928 (gfxterm_mod_LDFLAGS): Likewise.
23929 (videotest_mod_SOURCES): Likewise.
23930 (videotest_mod_CFLAGS): Likewise.
23931 (videotest_mod_LDFLAGS): Likewise.
23932 (bitmap_mod_SOURCES): Likewise.
23933 (bitmap_mod_CFLAGS): Likewise.
23934 (bitmap_mod_LDFLAGS): Likewise.
23935 (tga_mod_SOURCES): Likewise.
23936 (tga_mod_CFLAGS): Likewise.
23937 (tga_mod_LDFLAGS): Likewise.
23938 (jpeg_mod_SOURCES): Likewise.
23939 (jpeg_mod_CFLAGS): Likewise.
23940 (jpeg_mod_LDFLAGS): Likewise.
23941 (png_mod_SOURCES): Likewise.
23942 (png_mod_CFLAGS): Likewise.
23943 (png_mod_LDFLAGS): Likewise.
23945 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
23946 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
23947 (video_mod_SOURCES): Added.
23948 (video_mod_CFLAGS): Likewise.
23949 (video_mod_LDFLAGS): Likewise.
23950 (videotest_mod_SOURCES): Likewise.
23951 (videotest_mod_CFLAGS): Likewise.
23952 (videotest_mod_LDFLAGS): Likewise.
23953 (bitmap_mod_SOURCES): Likewise.
23954 (bitmap_mod_CFLAGS): Likewise.
23955 (bitmap_mod_LDFLAGS): Likewise.
23956 (tga_mod_SOURCES): Likewise.
23957 (tga_mod_CFLAGS): Likewise.
23958 (tga_mod_LDFLAGS): Likewise.
23959 (jpeg_mod_SOURCES): Likewise.
23960 (jpeg_mod_CFLAGS): Likewise.
23961 (jpeg_mod_LDFLAGS): Likewise.
23962 (png_mod_SOURCES): Likewise.
23963 (png_mod_CFLAGS): Likewise.
23964 (png_mod_LDFLAGS): Likewise.
23965 (gfxterm_mod_SOURCES): Likewise.
23966 (gfxterm_mod_CFLAGS): Likewise.
23967 (gfxterm_mod_LDFLAGS): Likewise.
23969 * term/gfxterm.c: Removed include to grub/machine/memory.h,
23970 grub/machine/console.h.
23972 2009-01-04 Jerone Young <jerone@gmail.com>
23974 Make on screen instructions clearer
23976 Based on patch created by Jidanni <jidanni@jidanni.org>
23978 * normal/menu.c: print clearer instructions on the screen
23980 2009-01-02 Colin D Bennett <colin@gibibit.com>
23984 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
23985 build system and fixed gfxterm.c to work with different sized fonts.
23987 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
23989 * configure: Re-generated.
23991 * DISTLIST: Removed font/manager.c.
23993 Added font/font_cmd.c.
23995 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
23998 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
24000 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
24002 * kern/term.c: Changed users of grub_utf8_to_ucs4.
24004 * normal/menu.c: Likewise.
24006 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
24007 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
24009 * include/grub/font.h: Replaced with new file.
24011 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
24012 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
24013 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
24014 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
24015 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
24016 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
24017 fg_red, fg_green, fg_blue, fg_alpha.
24018 (grub_video_adapter): Removed blit_glyph.
24019 (grub_video_blit_glyph): Removed.
24021 * font/manager.c: Removed file.
24023 * font/font.c: New file.
24025 * font/font_cmd.c: Likewise.
24027 * video/video.c (grub_video_blit_glyph): Removed.
24029 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
24030 (grub_video_vbe_map_rgba): Likewise.
24031 (grub_video_vbe_unmap_color_int): Likewise.
24032 (grub_video_vbe_blit_glyph): Removed.
24033 (grub_video_vbe_adapter): Removed blit_glyph.
24035 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
24036 (get_pixel): Likewise.
24037 (set_pixel): Likewise.
24039 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
24041 * term/gfxterm.c: Adapted to new font engine.
24043 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
24045 * term/i386/pc/vga.c: Likewise.
24047 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
24049 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
24051 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
24053 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
24055 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
24057 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
24059 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
24061 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
24063 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
24065 * util/grub.d/00_header.in: Changed to use new loadfont command.
24067 * util/grub-mkconfig_lib.in: Changed font extension.
24069 2008-12-28 Felix Zielcke <fzielcke@z-51.de>
24071 * util/getroot.c (grub_util_get_grub_dev): Add support for
24072 /dev/md/dNNpNN style partitionable mdraid devices.
24074 2008-12-12 Alex Smith <alex@alex-smith.me.uk>
24076 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
24077 at a time limit of the PXE TFTP API correctly.
24078 (grub_pxefs_close): Likewise.
24080 2008-11-29 Robert Millan <rmh@aybabtu.com>
24082 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
24083 grub_ata_device_initialize() calls.
24085 2008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
24087 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
24089 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
24091 2008-11-28 Robert Millan <rmh@aybabtu.com>
24093 Fix build on powerpc-ieee1275. Based on patch created by
24094 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
24095 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
24096 `kern/ieee1275/mmap.c'.
24097 * include/grub/powerpc/ieee1275/memory.h: New file.
24099 Provide grub-install on coreboot.
24100 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
24101 (grub_install_SOURCES): New variable.
24102 * util/i386/pc/grub-install.in: Add a few condition checks to make it
24103 usable on coreboot.
24105 2008-11-25 Felix Zielcke <fzielcke@z-51.de>
24107 * util/grub-fstest.c (grub_term_get_current_input): Change return type
24108 to `grub_term_input_t'.
24109 (grub_term_get_current_output): Change return type to
24110 `grub_term_output_t'.
24112 2008-11-22 Robert Millan <rmh@aybabtu.com>
24114 Fix breakage on coreboot due to declaration mismatch.
24115 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
24116 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
24117 grub_vga_text_cls().
24119 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
24120 comments. Avoid copying one more byte than necessary (just in case).
24122 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
24123 to 0x200000 (avoids trouble with some OFW implementations, and matches
24124 with the one in Yaboot).
24125 Reported by Manoel Abranches
24127 2008-11-20 Robert Millan <rmh@aybabtu.com>
24129 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
24130 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
24132 * util/grub-mkconfig_lib.in (grub_warn): New function.
24133 (convert_system_path_to_grub_path): Use grub_warn() when issuing
24134 warnings, to obtain consistent formatting.
24135 * util/grub.d/00_header.in: Likewise.
24136 * util/update-grub_lib.in: Likewise.
24138 * loader/i386/linux.c (allocate_pages): Fix a warning.
24139 Move comment text to `#error' stanza.
24141 Harmonize ieee1275's grub_available_iterate() with the generic
24142 grub_machine_mmap_iterate() interface (fixes a recently-introduced
24143 build problem on i386-ieee1275):
24144 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
24145 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
24146 parameter `type'. Update all users of this function.
24147 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
24148 `kern/ieee1275/mmap.c'.
24149 * kern/ieee1275/init.c
24150 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
24152 (grub_machine_mmap_iterate): ... this.
24153 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
24154 return type to `grub_err_t'. Update all implementations of this
24155 function prototype.
24156 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
24159 Add `lsmmap' command (lists firmware-provided memory map):
24160 * commands/lsmmap.c: New file.
24161 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
24162 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
24164 * conf/powerpc-ieee1275.rmk: Likewise.
24165 * conf/i386-coreboot.rmk: Likewise.
24166 * conf/i386-ieee1275.rmk: Likewise.
24168 2008-11-19 Robert Millan <rmh@aybabtu.com>
24170 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
24171 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
24172 constraints to initrd allocation (based on code from
24173 loader/i386/pc/linux.c). Without them, initrd was allocated too high
24174 for Linux to find it.
24176 2008-11-14 Robert Millan <rmh@aybabtu.com>
24178 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
24179 order to cope with duplicate slashes.
24181 2008-11-14 Robert Millan <rmh@aybabtu.com>
24183 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
24184 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
24185 don't want to mess with lower memory, because it is used in the Linux
24188 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
24189 an appropriate place in lower memory, between 0x10000 and 0x90000,
24190 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
24191 is in our heap (probably as a result of it being corrupted during
24192 decompression). Add #error instance with comment to explain why this
24193 loader isn't currently usable on PC/BIOS.
24195 2008-11-14 Robert Millan <rmh@aybabtu.com>
24197 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
24198 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
24200 2008-11-12 Robert Millan <rmh@aybabtu.com>
24202 Make loader/i386/linux.c buildable on i386-pc (although disabled).
24204 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
24205 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
24207 * include/grub/i386/pc/memory.h: ... to here.
24209 2008-11-12 Robert Millan <rmh@aybabtu.com>
24211 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
24214 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
24215 (grub_console_cur_color, grub_console_real_putchar)
24216 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
24217 (grub_console_setcolorstate, grub_console_setcolor)
24218 (grub_console_getcolor): Move from here ...
24219 * include/grub/i386/vga_common.h: ... to here (new file).
24221 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
24222 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
24223 `<grub/i386/io.h>'.
24224 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
24225 `<grub/i386/vga_common.h>'.
24227 2008-11-12 Robert Millan <rmh@aybabtu.com>
24229 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
24230 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
24231 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
24233 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
24234 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
24236 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
24237 grub_console_init() with call to grub_vga_text_init().
24238 (grub_machine_fini): Replace call to
24239 grub_console_fini() with call to grub_vga_text_fini() and
24240 grub_at_keyboard_fini().
24242 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
24243 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
24244 (grub_console_setcolorstate, grub_console_setcolor)
24245 (grub_console_getcolor): New function prototypes.
24247 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
24248 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
24249 (grub_vga_text_setcursor): Static-ize.
24250 (grub_vga_text_term): New structure.
24251 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
24253 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
24254 (grub_console_cur_color, grub_console_standard_color)
24255 (grub_console_normal_color, grub_console_highlight_color)
24256 (map_char, grub_console_putchar, grub_console_getcharwidth)
24257 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
24258 (grub_console_getcolor): Move from here ...
24259 * term/i386/vga_common.c: ... to here (same function names).
24261 2008-11-12 Robert Millan <rmh@aybabtu.com>
24263 Use newly-added Multiboot support in coreboot.
24265 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
24266 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
24268 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
24269 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
24270 (codestart): Store the MBI in `startup_multiboot_info' when we're
24271 being loaded using Multiboot.
24273 * kern/i386/coreboot/init.c (grub_machine_init): Move
24274 grub_at_keyboard_init() call to beginning of function (useful for
24275 debugging). Call grub_machine_mmap_init() before attempting to use
24276 grub_machine_mmap_iterate().
24277 (grub_lower_mem, grub_upper_mem): Move from here ...
24278 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
24281 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
24282 function prototype.
24284 2008-11-12 Robert Millan <rmh@aybabtu.com>
24286 Fix a regression introduced by the at_keyboard.mod split. Because
24287 some terminals are default on some platforms and non-default on
24288 others, the first terminal being registered determines which is
24289 going to be default.
24291 * kern/term.c (grub_term_register_input): If this is the first
24292 terminal being registered, set it as the current one.
24293 (grub_term_register_output): Likewise.
24295 * term/efi/console.c (grub_console_init): Do not call
24296 grub_term_set_current_output() or grub_term_set_current_input().
24297 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
24298 * term/i386/pc/console.c (grub_console_init): Likewise.
24299 (grub_console_fini): Do not call grub_term_set_current_input()
24300 (but leave grub_term_set_current_output() to restore text mode).
24302 2008-11-10 Robert Millan <rmh@aybabtu.com>
24304 * util/grub.d/00_header.in: Add backward compatibility check for
24305 versions of terminal.mod that don't understand `terminal_input' or
24308 2008-11-09 Robert Millan <rmh@aybabtu.com>
24310 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
24311 `terminal_input' / `terminal_output', not `terminal'.
24313 2008-11-08 Robert Millan <rmh@aybabtu.com>
24315 * Makefile.in (include_DATA): Fix srcdir=. assumption.
24316 (DISTCLEANFILES): Add `build_env.mk'.
24318 2008-11-08 Robert Millan <rmh@aybabtu.com>
24320 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
24321 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
24322 members. Update all users.
24323 * util/console.c (grub_ncurses_term): Split in ...
24324 (grub_ncurses_term_input): ... this, and ...
24325 (grub_ncurses_term_output): ... this. Update all users.
24326 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
24328 2008-11-08 Robert Millan <rmh@aybabtu.com>
24330 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
24331 (PKGDATA): Add $(pkgdata_SRCDIR).
24332 (pkglib_BUILDDIR): New variable.
24333 (pkgdata_SRCDIR): New variable.
24334 (build_env.mk): New target.
24335 (include_DATA): New variable.
24336 (install-local): Install $(include_DATA) files in $(includedir).
24338 2008-11-07 Pavel Roskin <proski@gnu.org>
24340 * gendistlist.sh: Use C locale for sorting to ensure consistent
24341 output on all systems.
24343 * util/grub.d/00_header.in: Remove incorrect space before
24346 2008-11-07 Robert Millan <rmh@aybabtu.com>
24348 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
24350 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
24351 * loader/multiboot_loader.c (find_multi_boot2_header): New function
24352 (based on find_multi_boot1_header).
24353 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
24354 using find_multi_boot2_header(), and abort if neither Multiboot or
24355 Multiboot headers were found.
24357 2008-11-07 Robert Millan <rmh@aybabtu.com>
24359 Modularize at_keyboard.mod:
24361 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
24362 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
24363 (at_keyboard_mod_LDFLAGS): New variables.
24365 Actual terminal split:
24367 * include/grub/term.h (struct grub_term): Split in ...
24368 (struct grub_term_input): ... this, and ...
24369 (struct grub_term_output): ... this. Update all users.
24370 (grub_term_set_current): Split in ...
24371 (grub_term_set_current_input): ... this, and ...
24372 (grub_term_set_current_output): ... this.
24373 (grub_term_get_current): Split in ...
24374 (grub_term_get_current_input): ... this, and ...
24375 (grub_term_get_current_output): ... this.
24376 (grub_term_register): Split in ...
24377 (grub_term_register_input): ... this, and ...
24378 (grub_term_register_output): ... this.
24379 (grub_term_unregister): Split in ...
24380 (grub_term_unregister_input): ... this, and ...
24381 (grub_term_unregister_output): ... this.
24382 (grub_term_iterate): Split in ...
24383 (grub_term_iterate_input): ... this, and ...
24384 (grub_term_iterate_output): ... this.
24386 * kern/term.c (grub_term_list): Split in ...
24387 (grub_term_list_input): ... this, and ...
24388 (grub_term_list_output): ... this. Update all users.
24389 (grub_cur_term): Split in ...
24390 (grub_cur_term_input): ... this, and ...
24391 (grub_cur_term_output): ... this. Update all users.
24392 (grub_term_set_current): Split in ...
24393 (grub_term_set_current_input): ... this, and ...
24394 (grub_term_set_current_output): ... this.
24395 (grub_term_get_current): Split in ...
24396 (grub_term_get_current_input): ... this, and ...
24397 (grub_term_get_current_output): ... this.
24398 (grub_term_register): Split in ...
24399 (grub_term_register_input): ... this, and ...
24400 (grub_term_register_output): ... this.
24401 (grub_term_unregister): Split in ...
24402 (grub_term_unregister_input): ... this, and ...
24403 (grub_term_unregister_output): ... this.
24404 (grub_term_iterate): Split in ...
24405 (grub_term_iterate_input): ... this, and ...
24406 (grub_term_iterate_output): ... this.
24408 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
24409 a check for input and one for output (and only attempt to get keys
24410 from user when input works).
24412 * util/grub-probe.c (grub_term_get_current): Split in ...
24413 (grub_term_get_current_input): ... this, and ...
24414 (grub_term_get_current_output): ... this.
24415 * util/grub-fstest.c: Likewise.
24416 * util/i386/pc/grub-setup.c: Likewise.
24417 * util/grub-editenv.c: Likewise.
24419 Portability adjustments:
24421 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
24422 `term/i386/pc/at_keyboard.c'.
24423 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
24424 grub_keyboard_controller_init() (now handled by terminal .init).
24425 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
24426 grub_at_keyboard_init().
24427 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
24428 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
24429 at_keyboard.mod via input terminal interface).
24430 * include/grub/i386/coreboot/console.h: Convert into a stub for
24431 `<grub/i386/pc/console.h>'.
24433 Migrate full terminals to new API:
24435 * term/efi/console.c (grub_console_term): Split into ...
24436 (grub_console_term_input): ... this, and ...
24437 (grub_console_term_output): ... this. Update all users.
24438 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
24439 (grub_ofconsole_init): Split into ...
24440 (grub_ofconsole_init_input): ... this, and ...
24441 (grub_ofconsole_init_output): ... this.
24442 (grub_ofconsole_term): Split into ...
24443 (grub_ofconsole_term_input): ... this, and ...
24444 (grub_ofconsole_term_output): ... this. Update all users.
24445 * term/i386/pc/serial.c (grub_serial_term): Split into ...
24446 (grub_serial_term_input): ... this, and ...
24447 (grub_serial_term_output): ... this. Update all users.
24448 * term/i386/pc/console.c (grub_console_term): Split into ...
24449 (grub_console_term_input): ... this, and ...
24450 (grub_console_term_output): ... this. Update all users.
24451 (grub_console_term_input): Only enable it on PC/BIOS platform.
24452 (grub_console_init): Remove grub_keyboard_controller_init() call.
24454 Migrate input terminals to new API:
24456 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
24457 `i386' and `i386/pc' to enable build on x86_64 (this driver is
24458 i386-specific anyway).
24459 (grub_console_checkkey): Rename to ...
24460 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
24462 (grub_keyboard_controller_orig): New variable.
24463 (grub_console_getkey): Rename to ...
24464 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
24466 (grub_keyboard_controller_init): Static-ize. Save original
24467 controller value so that it can be restored ...
24468 (grub_keyboard_controller_fini): ... here (new function).
24469 (grub_at_keyboard_term): New structure.
24470 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
24473 Migrate output terminals to new API:
24475 * term/i386/pc/vga.c (grub_vga_term): Change type to
24476 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
24477 members. Update all users.
24478 * term/gfxterm.c (grub_video_term): Change type to
24479 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
24480 members. Update all users.
24481 * include/grub/i386/pc/console.h (grub_console_checkkey)
24482 (grub_console_getkey): Do not export (no longer needed by gfxterm,
24485 Migrate `terminal' command and userland tools to new API:
24487 * commands/terminal.c (grub_cmd_terminal): Split into ...
24488 (grub_cmd_terminal_input): ... this, and ...
24489 (grub_cmd_terminal_output): ... this.
24490 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
24491 `terminal_input' and `terminal_output'.
24492 * util/grub.d/00_header.in: Adjust `terminal' calls to new
24493 `terminal_input' / `terminal_output' API.
24494 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
24495 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
24496 provided ${GRUB_TERMINAL}, convert it).
24498 2008-11-04 Robert Millan <rmh@aybabtu.com>
24500 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
24502 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
24504 2008-11-03 Bean <bean123ch@gmail.com>
24506 * kern/elf.c (grub_elf32_load): Revert to previous code.
24507 (grub_elf64_load): Likewise.
24509 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
24511 2008-11-01 Robert Millan <rmh@aybabtu.com>
24513 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
24514 (TARGET_CPPFLAGS): Likewise.
24515 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
24517 2008-11-01 Carles Pina i Estany <carles@pina.cat>
24519 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
24521 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
24523 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
24524 addition of objects until the code is not going to be able to fail.
24526 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
24528 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
24529 (add a missing NULL check, and correct them by moving the pointer
24530 operations after the actual check).
24532 2008-10-29 Robert Millan <rmh@aybabtu.com>
24534 * util/i386/pc/grub-install.in: Handle empty string as output from
24535 make_system_path_relative_to_its_root().
24537 2008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
24539 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
24540 circular metadata worst case scenario. If the metadata is circular
24541 then copy the wrap in place.
24542 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
24543 project lib/format_text/layout.h
24544 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
24546 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
24548 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
24550 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
24552 * util/update-grub_lib.in: Mention filename in warning message.
24554 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
24556 * NEWS: Update for rename of update-grub to grub-mkconfig.
24558 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
24560 * util/update-grub_lib.in: Copy to ...
24561 * util/grub-mkconfig_lib.in: ... this. Update all users.
24562 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
24563 * util/update-grub.in: Rename to ...
24564 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
24565 option. Add `--output' option to allow users to specify the generated
24566 configuration file. Default to stdout.
24567 (update_grub_dir): Rename to ...
24568 (grub_mkconfig_dir): ... this.
24569 (grub_cfg): Default to an empty string.
24570 * conf/common.rmk (update-grub): Rename to ...
24571 (grub-mkconfig): ... this.
24572 (update-grub_lib): Copy to ...
24573 (grub-mkconfig_lib): ... this.
24574 (update-grub_SCRIPTS): Copy to ...
24575 (grub-mkconfig_SCRIPTS): ... this. Update all users.
24576 (update-grub_DATA): Rename to ...
24577 (grub-mkconfig_DATA): ... this.
24579 2008-09-28 Robert Millan <rmh@aybabtu.com>
24581 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
24582 to `modified'. Add the real `created' field.
24583 (grub_iso9660_uuid): Use `modified' rather than `created' for
24584 constructing the UUID.
24586 2008-09-28 Felix Zielcke <fzielcke@z-51.de>
24588 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
24589 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
24591 2008-09-28 Bean <bean123ch@gmail.com>
24593 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
24594 Thanks to Christian Franke for finding this bug.
24596 2008-09-25 Robert Millan <rmh@aybabtu.com>
24598 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
24599 instances of grub_util_get_disk_name() (see previous commit).
24601 2008-09-25 Robert Millan <rmh@aybabtu.com>
24603 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
24604 `util/i386/get_disk_name.c'.
24605 * conf/i386-efi.rmk: Likewise.
24606 * conf/x86_64-efi.rmk: Likewise.
24607 * conf/i386-coreboot.rmk: Likewise.
24608 * conf/i386-ieee1275.rmk: Likewise.
24609 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
24610 `util/ieee1275/get_disk_name.c'.
24611 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
24612 * util/ieee1275/get_disk_name.c: Remove file.
24613 * util/i386/get_disk_name.c: Remove file.
24614 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
24615 "hd%d" for device.map entries, rather than using
24616 grub_util_get_disk_name().
24618 2008-09-24 Carles Pina i Estany <carles@pina.cat>
24620 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
24622 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
24624 2008-09-24 Carles Pina i Estany <carles@pina.cat>
24626 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
24628 (GRUB_TERM_PPAGE): Changed to 0x4900.
24630 2008-09-24 Robert Millan <rmh@aybabtu.com>
24632 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
24633 macros (they were i386-pc specific).
24634 * include/grub/sparc64/ieee1275/console.h: Likewise.
24635 * include/grub/efi/console.h: Likewise.
24637 2008-09-22 Bean <bean123ch@gmail.com>
24639 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
24640 resident and in attribute list.
24642 * include/grub/ntfs.h (BMP_LEN): Removed.
24644 2008-09-22 Bean <bean123ch@gmail.com>
24646 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
24647 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
24649 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
24650 error occurs, as grub_disk_open will call grub_disk_close, which will
24651 call p->close (scsi).
24653 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
24655 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
24656 (AC_PREREQ): Bumped to 2.59.
24657 (AC_TRY_COMPILE): Replace obsolete macro with ...
24658 (AC_COMPILE_IFELSE): ... this.
24659 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
24660 (AC_LINK_IFELSE): ... this.
24662 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
24664 * autogen.sh: Add a call to `gendistlist.sh'.
24666 2008-09-19 Christian Franke <franke@computer.org>
24668 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
24669 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
24670 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
24671 Export __enable_execute_stack() to modules.
24672 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
24675 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
24677 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
24680 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
24682 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
24683 #include <grub/util/hostdisk.h>.
24685 2008-09-08 Robert Millan <rmh@aybabtu.com>
24687 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
24688 segments when their filesz is zero (grub_file_read() interprets
24689 zero-size as "read until EOF", which results in memory corruption).
24690 Use `lowest_segment' rather than 0 for calculating the current
24691 segment load address.
24693 2008-09-08 Robert Millan <rmh@aybabtu.com>
24695 * util/hostdisk.c (open_device): Replace a grub_util_info() call
24696 with grub_dprintf("hostdisk", ...), as it was so verbose that it
24697 clobbered useful information.
24699 2008-09-08 Robert Millan <rmh@aybabtu.com>
24701 * include/grub/util/biosdisk.h: Move to ...
24702 * include/grub/util/hostdisk.h: ... here. Update all users.
24703 * util/biosdisk.c: Move to ...
24704 * util/hostdisk.c: ... here. Update all users.
24706 2008-09-07 Robert Millan <rmh@aybabtu.com>
24708 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
24710 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
24711 and length can be stored directly in the `mbi->mmap_addr' and
24712 `mbi->mmap_length' struct fields.
24714 2008-09-07 Robert Millan <rmh@aybabtu.com>
24716 * conf/i386.rmk: New file. Provides declaration for building
24718 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
24719 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
24721 Include `conf/i386.mk'.
24722 * conf/i386-efi.rmk: Likewise.
24723 * conf/x86_64-efi.rmk: Likewise.
24724 * conf/i386-coreboot.rmk: Likewise.
24725 * conf/i386-ieee1275.rmk: Likewise.
24727 2008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
24729 Based on patch created by Colin D Bennett <colin@gibibit.com>.
24730 Adds optimization support for BGR based modes.
24732 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
24733 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
24734 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
24735 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
24736 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
24737 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
24738 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
24739 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
24740 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
24741 (grub_video_i386_vbeblit_index_index): Likewise.
24742 (grub_video_i386_vbeblit_replace_directN): Added.
24743 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
24744 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
24745 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
24746 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
24747 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
24748 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
24749 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
24750 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
24751 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
24752 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
24753 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
24754 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
24755 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
24757 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
24758 (grub_video_i386_vbefill_R8G8B8): Likewise.
24759 (grub_video_i386_vbefill_index): Likewise.
24760 (grub_video_i386_vbefill_direct32): Added.
24761 (grub_video_i386_vbefill_direct24): Likewise.
24762 (grub_video_i386_vbefill_direct16): Likewise.
24763 (grub_video_i386_vbefill_direct8): Likewise.
24765 * include/grub/video.h (grub_video_blit_format): Removed
24766 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
24767 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
24768 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
24769 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
24770 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
24772 * video/video.c (grub_video_get_blit_format): Updated to use new
24773 blit formats. Added handling for 16 bit color modes.
24775 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
24777 (common_blitter): Updated to use new blitters.
24779 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
24781 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
24782 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
24783 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
24784 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
24785 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
24786 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
24787 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
24788 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
24789 (grub_video_i386_vbeblit_index_index): Likewise.
24790 (grub_video_i386_vbeblit_replace_directN): Added.
24791 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
24792 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
24793 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
24794 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
24795 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
24796 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
24797 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
24798 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
24799 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
24800 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
24801 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
24802 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
24803 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
24805 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
24806 (grub_video_i386_vbefill_R8G8B8): Likewise.
24807 (grub_video_i386_vbefill_index): Likewise.
24808 (grub_video_i386_vbefill_direct32): Added.
24809 (grub_video_i386_vbefill_direct24): Likewise.
24810 (grub_video_i386_vbefill_direct16): Likewise.
24811 (grub_video_i386_vbefill_direct8): Likewise.
24813 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
24816 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
24819 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
24822 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
24825 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
24827 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
24830 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
24832 * fs/iso9660.c (grub_iso9660_date): New structure.
24833 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
24834 (grub_iso9660_uuid): New function.
24836 2008-09-05 Bean <bean123ch@gmail.com>
24838 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
24840 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
24841 insensitive bit for names in Win32 and Win32 & DOS namespace.
24843 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
24845 * include/grub/types.h (LONG_MAX): Likewise.
24847 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
24849 * util/getroot.c: Include <config.h>.
24850 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
24851 add support for /dev/md/N devices and handle LVM double dash escaping.
24853 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
24855 * config.guess: Update to latest version from config git.
24856 * config.sub: Likewise.
24858 2008-09-03 Robert Millan <rmh@aybabtu.com>
24860 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
24861 `disk->total_sectors'.
24863 2008-09-01 Colin D Bennett <colin@gibibit.com>
24865 * include/grub/normal.h: Fixed incorrect comment for
24866 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
24868 2008-09-01 Colin D Bennett <colin@gibibit.com>
24870 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
24871 values with defines.
24873 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
24874 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
24875 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
24876 (GRUB_VBE_MODEATTR_COLOR): Likewise.
24877 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
24878 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
24879 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
24880 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
24881 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
24882 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
24883 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
24884 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
24885 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
24886 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
24887 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
24888 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
24889 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
24890 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
24891 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
24893 2008-08-31 Robert Millan <rmh@aybabtu.com>
24895 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
24897 (grub_multiboot): Fix a few warnings.
24899 2008-08-31 Robert Millan <rmh@aybabtu.com>
24901 * loader/i386/pc/multiboot.c: Update comment not to say that
24902 boot_device support is unimplemented.
24904 2008-08-31 Robert Millan <rmh@aybabtu.com>
24906 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
24907 or memory map support are unimplemented.
24909 2008-08-31 Colin D Bennett <colin@gibibit.com>
24911 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
24913 2008-08-31 Colin D Bennett <colin@gibibit.com>
24915 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
24916 total video memory in 'vbeinfo' output; show color format details for
24919 2008-08-30 Pavel Roskin <proski@gnu.org>
24921 * util/genmoddep.c: Remove for real this time.
24922 * DISTLIST: Remove util/genmoddep.c.
24924 2008-08-30 Robert Millan <rmh@aybabtu.com>
24926 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
24927 as required by Multiboot spec (it was already 4-byte aligned, but
24930 2008-08-29 Pavel Roskin <proski@gnu.org>
24932 * kern/powerpc/ieee1275/crt0.S: Rename to ...
24933 * kern/powerpc/ieee1275/startup.S: ... this.
24934 * conf/powerpc-ieee1275.rmk: Adjust for the above.
24935 * DISTLIST: Likewise.
24937 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
24938 grub/cpu/kernel.h. Add start label for consistency with other
24939 platforms. Add grub_prefix immediately after start. Add jump
24940 to the code after grub_prefix.
24941 * include/grub/powerpc/kernel.h: Provide valid values for
24942 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
24944 2008-08-29 Bean <bean123ch@gmail.com>
24946 * configure.ac: Change host_os to cygwin for mingw.
24947 (asprintf): New check for function.
24949 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
24950 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
24952 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
24953 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
24954 sync, sleep and grub_util_get_disk_size for mingw.
24956 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
24957 to get size in mingw.
24958 (open_device): Use flag O_BINARY if it's defined.
24959 (find_root_device): Add dummy code for mingw.
24961 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
24962 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
24963 (get_scsi_disk_name): Return 0 for mingw.
24965 * util/hostfs.c: #include <grub/util/misc.h>.
24966 (grub_hostfs_open): Use "rb" flag to open file, use
24967 grub_util_get_disk_size to get disk size for mingw.
24969 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
24970 (asprintf): New function if HAVE_ASPRINTF is not set.
24971 (sync): New function for mingw.
24973 (grub_util_get_disk_size): Likewise.
24975 2008-08-28 Pavel Roskin <proski@gnu.org>
24977 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
24980 2008-08-28 Robert Millan <rmh@aybabtu.com>
24982 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
24984 2008-08-28 Robert Millan <rmh@aybabtu.com>
24986 Change find_grub_drive() syntax so it doesn't prevent it from
24987 detecting NULL names as errors.
24989 * util/biosdisk.c (find_grub_drive): Move free slot search code
24991 (find_free_slot): ... to here.
24992 (read_device_map): Use find_free_slot() to search for free slots.
24994 2008-08-27 Marco Gerards <marco@gnu.org>
24996 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
24997 (scsi_mod_SOURCES): New variable.
24998 (scsi_mod_CFLAGS): Likewise
24999 (scsi_mod_LDFLAGS): Likewise.
25001 * disk/scsi.c: New file.
25003 * include/grub/scsi.h: Likewise.
25005 * include/grub/scsicmd.h: Likewise.
25007 * disk/ata.c: Include <grub/scsi.h>.
25008 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
25010 (grub_ata_iterate): Skip ATAPI devices.
25011 (grub_ata_open): Only handle ATAPI devices.
25012 (struct grub_atapi_read): Removed.
25013 (grub_atapi_readsector): Likewise.
25014 (grub_ata_read): No longer handle ATAPI devices.
25015 (grub_ata_write): Likewise.
25016 (grub_atapi_iterate): New function.
25017 (grub_atapi_read): Likewise.
25018 (grub_atapi_write): Likewise.
25019 (grub_atapi_open): Likewise.
25020 (grub_atapi_close): Likewise.
25021 (grub_atapi_dev): New variable.
25022 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
25023 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
25025 * include/grub/disk.h (enum grub_disk_dev_id): Add
25026 `GRUB_DISK_DEVICE_SCSI_ID'.
25028 2008-08-26 Robert Millan <rmh@aybabtu.com>
25030 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
25031 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
25034 2008-08-23 Bean <bean123ch@gmail.com>
25036 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
25037 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
25038 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
25039 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
25041 (raid5rec_mod_SOURCES): New macro.
25042 (raid5rec_mod_CFLAGS): Likewise.
25043 (raid5rec_mod_LDFLAGS): Likewise.
25044 (raid6rec_mod_SOURCES): Likewise.
25045 (raid6rec_mod_CFLAGS): Likewise.
25046 (raid6rec_mod_LDFLAGS): Likewise.
25047 (mdraid_mod_SOURCES): Likewise.
25048 (mdraid_mod_CFLAGS): Likewise.
25049 (mdraid_mod_LDFLAGS): Likewise.
25050 (dm_nv_mod_SOURCES): Likewise.
25051 (dm_nv_mod_CFLAGS): Likewise.
25052 (dm_nv_mod_LDFLAGS): Likewise.
25054 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
25055 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
25056 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
25058 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
25059 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
25061 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
25063 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
25065 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25067 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25069 * disk/raid5_recover.c: New file.
25071 * disk/raid6_recover.c: Likewise.
25073 * disk/mdraid_linux.c: Likewise.
25075 * disk/dmraid_nvidia.c: Likewise.
25077 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
25080 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
25081 calculate the size of raid device.
25082 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
25083 different layout of raid5.
25084 (grub_raid_scan_device): Remove code specific to mdraid.
25085 (grub_raid_list): New variable.
25086 (free_array): New function.
25087 (grub_raid_register): Likewise.
25088 (grub_raid_unregister): Likewise.
25089 (grub_raid_rescan): Likewise.
25090 (GRUB_MOD_INIT): Don't iterate device here.
25091 (GRUB_MOD_FINI): Use free_array to release resource.
25093 * include/grub/raid.h: Remove macro and structure specific to mdraid.
25094 (grub_raid5_recover_func_t): New function variable type.
25095 (grub_raid6_recover_func_t): Likewise.
25096 (grub_raid5_recover_func): New variable.
25097 (grub_raid6_recover_func): Likewise.
25098 (grub_raid_register): New function.
25099 (grub_raid_unregister): Likewise.
25100 (grub_raid_rescan): Likewise.
25101 (grub_raid_block_xor): Likewise.
25103 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
25104 (CMD_CRC): New macro.
25106 (read_file): Handle device as well as file.
25107 (cmd_crc): New function.
25108 (fstest): Handle multiple disks.
25109 (options): Remove part, raw and long, add root and diskcount.
25110 (usage): Add crc, remove -p, -r, -l, add -r and -c.
25111 (main): Find the first non option entry and ignore subsequent options,
25112 add handling for the new options, support multiple disks.
25114 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
25116 2008-08-23 Bean <bean123ch@gmail.com>
25118 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
25120 * genfslist.sh: Ignore kernel.mod.
25122 * genpartmaplist.sh: Likewise.
25124 2008-08-23 Robert Millan <rmh@aybabtu.com>
25126 * util/getroot.c (find_root_device): Skip anything that starts with
25127 a dot, not just directories. This avoids things like /dev/.tmp.md0.
25129 2008-08-22 Felix Zielcke <fzielcke@z-51.de>
25131 * util/update-grub.in (GRUB_GFXMODE): Export variable.
25132 * util/grub.d/00_header.in: Allow the administrator to change default
25133 gfxmode via ${GRUB_GFXMODE}.
25135 2008-08-21 Felix Zielcke <fzielcke@z-51.de>
25137 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
25139 2008-08-21 Robert Millan <rmh@aybabtu.com>
25141 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
25143 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
25144 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
25146 2008-08-20 Carles Pina i Estany <carles@pina.cat>
25148 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
25149 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
25151 2008-08-19 Robert Millan <rmh@aybabtu.com>
25153 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
25154 (struct grub_virtual_screen): Remove `cursor_color'.
25155 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
25157 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
25159 2008-08-18 Robert Millan <rmh@aybabtu.com>
25161 Unify (identical) linux_normal.c files.
25162 * loader/i386/efi/linux_normal.c: Move from here ...
25163 * loader/linux_normal.c: ... to here. Update all users.
25164 * loader/i386/pc/linux_normal.c: Delete. Update all users.
25165 * loader/i386/ieee1275/linux_normal.c: Likewise.
25167 2008-08-18 Robert Millan <rmh@aybabtu.com>
25169 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
25170 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
25171 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
25172 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
25173 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
25175 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
25176 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
25177 (GRUB_LINUX_CL_END_OFFSET): ... to here.
25178 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
25179 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
25180 (GRUB_EFI_CL_END_OFFSET): Rename to ...
25181 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
25182 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
25183 Initialize `params->video_cursor_x' and `params->video_cursor_y'
25184 portably using grub_getxy().
25185 Replace `-EFI' with `-bzImage' in boot message.
25187 2008-08-17 Robert Millan <rmh@aybabtu.com>
25189 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
25191 2008-08-17 Robert Millan <rmh@aybabtu.com>
25193 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
25195 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
25196 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
25197 (grub_machine_mmap_iterate): New function declaration.
25198 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
25200 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
25203 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
25204 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
25205 Move e820 parsing from here ...
25206 * kern/i386/pc/mmap.c: New file.
25207 (grub_machine_mmap_iterate): ... to here.
25209 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
25210 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
25211 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
25212 (grub_available_iterate): Redeclare to return `void', and redeclare
25213 its hook to use grub_uint64_t as addr and size parameters, and rename
25215 (grub_machine_mmap_iterate): ... this. Update all users.
25217 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
25218 to make it more readable. Rename to ...
25219 (grub_machine_mmap_iterate): ... this.
25221 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
25222 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
25223 (grub_multiboot): Allocate an extra region after the payload, and fill
25224 it with a Multiboot memory map. Adjust a.out loader to calculate size
25225 with the extra space.
25226 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
25227 with the extra space.
25229 2008-08-17 Carles Pina i Estany <carles@pina.cat>
25231 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
25233 2008-08-17 Felix Zielcke <fzielcke@z-51.de>
25235 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
25236 mdate-sh to the list `find' searches for.
25237 * DISTLIST: Regenerated.
25239 2008-08-16 Felix Zielcke <fzielcke@z-51.de>
25241 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
25242 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
25243 genmoddep.awk, gensymlist.sh.in.
25244 (DISTDIRS): Add bus, docs, hook, lib.
25245 * DISTLIST: Regenerated.
25246 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
25248 2008-08-16 Robert Millan <rmh@aybabtu.com>
25250 * disk/raid.c (grub_raid_init): Handle/report errors set by
25251 grub_device_iterate().
25252 * disk/lvm.c (grub_lvm_init): Likewise.
25254 2008-08-15 Bean <bean123ch@gmail.com>
25256 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
25258 (datetime_mod_SOURCES): New macro.
25259 (datetime_mod_CFLAGS): Likewise.
25260 (datetime_mod_LDFLAGS): Likewise.
25261 (date_mod_SOURCES): Likewise.
25262 (date_mod_CFLAGS): Likewise.
25263 (date_mod_LDFLAGS): Likewise.
25264 (datehook_mod_SOURCES): Likewise.
25265 (datehook_mod_CFLAGS): Likewise.
25266 (datehook_mod_LDFLAGS): Likewise.
25268 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
25270 (datetime_mod_SOURCES): New macro.
25271 (datetime_mod_CFLAGS): Likewise.
25272 (datetime_mod_LDFLAGS): Likewise.
25273 (date_mod_SOURCES): Likewise.
25274 (date_mod_CFLAGS): Likewise.
25275 (date_mod_LDFLAGS): Likewise.
25276 (datehook_mod_SOURCES): Likewise.
25277 (datehook_mod_CFLAGS): Likewise.
25278 (datehook_mod_LDFLAGS): Likewise.
25280 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
25282 (datetime_mod_SOURCES): New macro.
25283 (datetime_mod_CFLAGS): Likewise.
25284 (datetime_mod_LDFLAGS): Likewise.
25285 (date_mod_SOURCES): Likewise.
25286 (date_mod_CFLAGS): Likewise.
25287 (date_mod_LDFLAGS): Likewise.
25288 (datehook_mod_SOURCES): Likewise.
25289 (datehook_mod_CFLAGS): Likewise.
25290 (datehook_mod_LDFLAGS): Likewise.
25292 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
25294 (datetime_mod_SOURCES): New macro.
25295 (datetime_mod_CFLAGS): Likewise.
25296 (datetime_mod_LDFLAGS): Likewise.
25297 (date_mod_SOURCES): Likewise.
25298 (date_mod_CFLAGS): Likewise.
25299 (date_mod_LDFLAGS): Likewise.
25300 (datehook_mod_SOURCES): Likewise.
25301 (datehook_mod_CFLAGS): Likewise.
25302 (datehook_mod_LDFLAGS): Likewise.
25304 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
25306 (datetime_mod_SOURCES): New macro.
25307 (datetime_mod_CFLAGS): Likewise.
25308 (datetime_mod_LDFLAGS): Likewise.
25309 (date_mod_SOURCES): Likewise.
25310 (date_mod_CFLAGS): Likewise.
25311 (date_mod_LDFLAGS): Likewise.
25312 (datehook_mod_SOURCES): Likewise.
25313 (datehook_mod_CFLAGS): Likewise.
25314 (datehook_mod_LDFLAGS): Likewise.
25316 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
25318 * commands/date.c: New file.
25320 * hook/datehook.c: Likewise.
25322 * include/grub/lib/datetime.h: Likewise.
25324 * include/grub/i386/cmos.h: Likewise.
25326 * lib/datetime.c: Likewise.
25328 * lib/i386/datetime.c: Likewise.
25330 * lib/efi/datetime.c: Likewise.
25332 2008-08-14 Robert Millan <rmh@aybabtu.com>
25334 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
25335 (grub_mkelfimage_SOURCES): New variable.
25336 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
25338 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
25339 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
25340 * conf/powerpc-ieee1275.rmk: Likewise.
25341 * conf/i386-ieee1275.rmk: Likewise.
25343 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
25344 * kern/i386/coreboot/init.c: Likewise.
25346 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
25347 with `<grub/cpu/kernel.h>'.
25348 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
25350 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
25351 * kern/i386/coreboot/startup.S: Likewise.
25353 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
25354 (GRUB_MOD_GAP): Remove.
25355 * include/grub/powerpc/kernel.h: New file.
25356 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
25357 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
25358 * include/grub/i386/kernel.h: New file.
25359 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
25360 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
25361 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
25363 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
25365 Use --directory when invoking grub_mkimage.
25367 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
25368 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
25369 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
25370 and GRUB_KERNEL_CPU_PREFIX.
25372 2008-08-14 Felix Zielcke <fzielcke@z-51.de>
25374 * include/grub/err.h (grub_err_printf): New function prototype.
25375 * util/misc.c (grub_err_printf): New function.
25376 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
25378 * kern/err.c (grub_print_error): Use grub_err_printf.
25380 2008-08-13 Robert Millan <rmh@aybabtu.com>
25382 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
25384 2008-08-13 Robert Millan <rmh@aybabtu.com>
25386 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
25389 2008-08-12 Robert Millan <rmh@aybabtu.com>
25391 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
25392 of the relocation code from here ...
25393 (grub_multiboot): ... to here.
25394 (forward_relocator, backward_relocator): Move from here ...
25395 * kern/i386/loader.S (grub_multiboot_forward_relocator)
25396 (grub_multiboot_backward_relocator): ... to here.
25397 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
25398 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
25399 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
25400 (grub_multiboot_forward_relocator_end)
25401 (grub_multiboot_backward_relocator)
25402 (grub_multiboot_backward_relocator_end): New variables.
25404 2008-08-12 Bean <bean123ch@gmail.com>
25406 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
25408 2008-08-11 Robert Millan <rmh@aybabtu.com>
25410 * kern/i386/linuxbios/startup.S: Move from here ...
25411 * kern/i386/coreboot/startup.S: ... to here.
25413 * kern/i386/linuxbios/init.c: Move from here ...
25414 * kern/i386/coreboot/init.c: ... to here.
25416 * kern/i386/linuxbios/table.c: Move from here ...
25417 * kern/i386/coreboot/mmap.c: ... to here.
25419 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
25421 2008-08-11 Robert Millan <rmh@aybabtu.com>
25423 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
25424 errors. Leave it to the upper layer to handle them.
25426 2008-08-09 Christian Franke <franke@computer.org>
25428 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
25429 * conf/common.rmk: Install `grub-pe2elf' only if requested.
25430 Install `grub.d/10_windows' only on Cygwin.
25431 * configure.ac: Add subst of `target_os'.
25432 Check `target_os' also before setting TARGET_OBJ2ELF.
25433 Add `--enable-grub-pe2elf'.
25435 2008-08-08 Robert Millan <rmh@aybabtu.com>
25437 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
25438 (grub_last_time): Change type to grub_uint64_t.
25439 (grub_disk_open): Migrate code from to using grub_get_time_ms().
25440 (grub_disk_close): Likewise.
25442 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
25443 (run_menu): Migrate code from to using grub_get_time_ms().
25445 * util/misc.c (grub_get_time_ms): New function.
25447 2008-08-08 Marco Gerards <marco@gnu.org>
25449 * disk/ata.c (grub_ata_regget): Change return type to
25451 (grub_ata_regget2): Likewise.
25452 (grub_ata_wait_status): New function.
25453 (grub_ata_wait_busy): Removed function, updated all users to use
25454 `grub_ata_wait_status'.
25455 (grub_ata_wait_drq): Likewise.
25456 (grub_ata_cmd): New function.
25457 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
25459 (grub_ata_pio_write): Add error handling.
25460 (grub_atapi_identify): Likewise.
25461 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
25463 (grub_ata_identify): Use `grub_ata_cmd' and improve error
25464 handling. Actually use the detected registers. Reorder the
25465 detection logic such that it is easier to read.
25466 (grub_ata_pciinit): Do not assign the same ID to each controller.
25467 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
25469 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
25471 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
25473 2008-08-08 Marco Gerards <marco@gnu.org>
25477 2008-08-07 Bean <bean123ch@gmail.com>
25479 * include/grub/x86_64/pci.h: New file.
25481 2008-08-07 Christian Franke <franke@computer.org>
25483 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
25484 (TIMER2_GATE): Likewise.
25485 (grub_pit_wait): Add enable/disable of the timer2 gate
25486 bit of port 0x61. This fixes a possible infinite loop.
25488 2008-08-07 Bean <bean123ch@gmail.com>
25490 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
25491 kern/i386/tsc.c and kern/i386/pit.c.
25493 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
25496 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
25499 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
25501 2008-08-07 Bean <bean123ch@gmail.com>
25503 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
25505 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
25507 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
25508 multiple inclusion. Add #include <grub/types.h>.
25510 2008-08-06 Christian Franke <franke@computer.org>
25512 * conf/common.rmk: Build and install `10_windows'.
25513 * util/grub.d/10_windows.in: New script.
25515 2008-08-06 Pavel Roskin <proski@gnu.org>
25517 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
25519 2008-08-06 Robert Millan <rmh@aybabtu.com>
25521 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
25522 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
25524 2008-08-06 Bean <bean123ch@gmail.com>
25526 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
25527 (grub_pxefs_fs_int): Remove dummy definition.
25528 (grub_pxefs_open): Use data->block_size to store the current block
25530 (grub_pxefs_read): Use block size stored in data->block_size. As the
25531 value of grub_pxe_blksize can be changed after the file is opened.
25533 2008-08-06 Bean <bean123ch@gmail.com>
25535 * fs/i386/pc/pxe.c (curr_file): new variable.
25536 (grub_pxefs_open): Simply the handling of pxe file system. Don't
25537 require the dummy internal file system anymore.
25538 (grub_pxefs_read): Removed.
25539 (grub_pxefs_close): Likewise.
25540 (grub_pxefs_fs_int): Likewise.
25541 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
25542 connection when we switch file.
25543 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
25545 2008-08-06 Robert Millan <rmh@aybabtu.com>
25547 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
25549 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
25550 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
25552 * kern/i386/halt.c: New file.
25553 * kern/i386/reboot.c: Likewise.
25554 * include/grub/i386/reboot.h: Likewise.
25555 * include/grub/i386/halt.h: Likewise.
25557 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
25558 Include `<grub/cpu/halt.h>'.
25559 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
25560 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
25562 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
25563 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
25564 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
25565 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
25566 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
25567 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
25569 * include/grub/i386/at_keyboard.h: ... to here.
25571 2008-08-05 Robert Millan <rmh@aybabtu.com>
25573 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
25574 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
25575 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
25576 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
25577 `kern/generic/millisleep.c'.
25579 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
25580 instead of grub_get_rtc().
25581 (grub_tsc_init): Initialize `tsc_boot_time'.
25583 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
25584 (grub_machine_init): Use grub_tsc_init() rather than
25585 installing an RTC-based handler via grub_install_get_time_ms().
25587 * kern/i386/pit.c: New file.
25588 * include/grub/i386/pit.h: Likewise.
25590 2008-08-05 Bean <bean123ch@gmail.com>
25592 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
25594 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
25595 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
25596 (pxe_mod_SOURCES): New macro.
25597 (pxe_mod_CFLAGS): Likewise.
25598 (pxe_mod_LDFLAGS): Likewise.
25599 (pxecmd_mod_SOURCES): Likewise.
25600 (pxecmd_mod_CFLAGS): Likewise.
25601 (pxecmd_mod_LDFLAGS): Likewise.
25603 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
25604 (grub_pxe_call): Likewise.
25606 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
25608 * commands/i386/pc/pxecmd.c: New file.
25610 * fs/i386/pc/pxe.c: Likewise.
25612 * include/grub/i386/pc/pxe.h: Likewise.
25614 2008-08-05 Bean <bean123ch@gmail.com>
25616 * util/console.c (grub_console_cur_color): New variable.
25617 (grub_console_standard_color): Likewise.
25618 (grub_console_normal_color): Likewise.
25619 (grub_console_highlight_color): Likewise.
25620 (color_map): Likewise.
25621 (use_color): Likewise.
25622 (NUM_COLORS): New macro.
25623 (grub_ncurses_setcolorstate): Handle color properly.
25624 (grub_ncurses_setcolor): Don't change color here, just remember the
25625 settings, color will be set in grub_ncurses_setcolorstate.
25626 (grub_ncurses_getcolor): New function.
25627 (grub_ncurses_init): Initialize color pairs.
25628 (grub_ncurses_term): New member grub_ncurses_getcolor.
25630 2008-08-05 Colin D Bennett <colin@gibibit.com>
25632 High resolution timer support. Implemented for x86 CPUs using TSC.
25633 Extracted generic grub_millisleep() so it's linked in only as needed.
25634 This requires a Pentium compatible CPU; if the RDTSC instruction is
25635 not supported, then it falls back on the generic grub_get_time_ms()
25636 implementation that uses the machine's RTC.
25638 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
25639 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
25640 `kern/generic/millisleep.c'.
25642 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
25643 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
25645 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
25646 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
25648 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
25650 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
25651 `kern/generic/millisleep.c'.
25653 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
25655 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
25657 * kern/generic/rtc_get_time_ms.c: New file.
25659 * kern/generic/millisleep.c: New file.
25661 * kern/misc.c: Don't include
25662 <kern/time.h> anymore.
25663 (grub_millisleep_generic): Removed.
25665 * commands/sleep.c (grub_interruptible_millisleep): Uses
25666 grub_get_time_ms() instead of grub_get_rtc().
25668 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
25670 (grub_cpu_is_cpuid_supported): New inline function.
25671 (grub_cpu_is_tsc_supported): New inline function.
25672 (grub_tsc_init): New function prototype.
25673 (grub_tsc_get_time_ms): New function prototype.
25675 * kern/i386/tsc.c (grub_get_time_ms): New file.
25677 * include/grub/time.h: Include <grub/types.h.
25678 (grub_millisleep_generic): Removed.
25679 (grub_get_time_ms): New prototype.
25680 (grub_install_get_time_ms): New prototype.
25681 (grub_rtc_get_time_ms): New prototype.
25683 * kern/time.c (grub_get_time_ms): New function.
25684 (grub_install_get_time_ms): New function.
25686 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
25687 <grub/time.h> anymore.
25688 (grub_millisleep): Removed.
25689 (grub_machine_init): Call grub_tsc_init.
25691 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
25692 get_time_ms() implementation.
25694 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
25695 (ieee1275_get_time_ms): New function.
25696 (grub_machine_init): Install get_time_ms() implementation.
25698 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
25699 (grub_machine_init): Call grub_tsc_init().
25700 (grub_millisleep): Removed.
25702 * kern/ieee1275/init.c (grub_millisleep): Removed.
25703 (grub_machine_init): Install ieee1275_get_time_ms()
25705 (ieee1275_get_time_ms): New function.
25706 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
25709 2008-08-05 Marco Gerards <marco@gnu.org>
25711 * disk/ata.c: Include <grub/pci.h>.
25712 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
25713 (grub_ata_initialize): Rewritten.
25714 (grub_ata_device_initialize): New function.
25716 2008-08-04 Pavel Roskin <proski@gnu.org>
25718 * kern/main.c: Include grub/mm.h.
25720 2008-08-04 Robert Millan <rmh@aybabtu.com>
25722 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
25723 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
25724 corruption problem).
25726 2008-08-04 Robert Millan <rmh@aybabtu.com>
25728 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
25729 warnings introduced in my last commit.
25731 2008-08-03 Robert Millan <rmh@aybabtu.com>
25733 Make PCI available on all i386 architectures.
25735 * include/grub/i386/pc/pci.h: Move from here ...
25736 * include/grub/i386/pci.h: ... to here.
25738 * include/grub/i386/pc/pci.h: Remove.
25739 * include/grub/i386/efi/pci.h: Remove.
25740 * include/grub/x86_64/efi/pci.h: Remove.
25742 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
25743 `<grub/cpu/pci.h>'.
25745 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
25746 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
25747 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
25749 * conf/i386-ieee1275.rmk: Likewise.
25751 2008-08-03 Robert Millan <rmh@aybabtu.com>
25753 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
25754 (grub_console_setcursor): Make it possible to set cursor off.
25756 2008-08-03 Robert Millan <rmh@aybabtu.com>
25758 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
25759 of modules instead of assuming which platform provides what.
25760 * util/update-grub.in: Likewise.
25762 2008-08-03 Robert Millan <rmh@aybabtu.com>
25764 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
25765 instead of `grub_install_dos_part' to determine whether a drive needs
25766 to be prepended to prefix (`grub_install_dos_part' is not reliable,
25767 because it can be overridden when loading GRUB via Multiboot).
25769 2008-08-02 Robert Millan <rmh@aybabtu.com>
25771 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
25773 2008-08-02 Robert Millan <rmh@aybabtu.com>
25775 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
25776 of informational grub_dprintf() calls.
25778 2008-08-02 Robert Millan <rmh@aybabtu.com>
25780 * disk/memdisk.c (memdisk_size): Don't initialize.
25781 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
25783 * include/grub/i386/pc/kernel.h
25784 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
25785 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
25786 (grub_memdisk_image_size, grub_arch_memdisk_addr)
25787 (grub_arch_memdisk_size): Remove.
25789 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
25790 field (was only used to transfer a constant). Add `type' field to
25791 support multiple module types.
25792 (grub_module_iterate): New function.
25794 * kern/device.c (grub_device_open): Do not hide error messages
25795 when grub_disk_open() fails. Use grub_print_error() instead.
25797 * kern/i386/pc/init.c (grub_arch_modules_addr)
25798 (grub_arch_memdisk_size): Remove functions.
25799 (grub_arch_modules_addr): Return the module address in high memory
25800 (now that it isn't copied anymore).
25802 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
25803 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
25804 decompression routine (grub_total_module_size already includes that
25805 now). Don't copy modules back to low memory.
25807 * kern/main.c: Include `<grub/mm.h>'.
25808 (grub_load_modules): Split out (and use) ...
25809 (grub_module_iterate): ... this function, which iterates through
25810 module objects and runs a hook.
25811 Comment out grub_mm_init_region() call, as it would cause non-ELF
25812 modules to be overwritten.
25814 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
25815 the memdisk image in its own region, make it part of the module list.
25816 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
25817 (main): Parse --memdisk|-m option, and pass user-provided path as
25818 parameter to generate_image().
25819 (add_segments): Pass `memdisk_path' down to load_modules().
25820 (load_modules): Embed memdisk image in module section when requested.
25821 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
25822 `header.type' instead of `header.offset'.
25824 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
25825 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
25826 (memdisk_mod_LDFLAGS): New variables.
25827 * conf/i386-coreboot.rmk: Likewise.
25828 * conf/i386-ieee1275.rmk: Likewise.
25830 2008-08-02 Robert Millan <rmh@aybabtu.com>
25832 * loader/i386/pc/multiboot.c (playground, forward_relocator)
25833 (backward_relocator): New variables. Used to allocate and relocate
25834 the payload, respectively.
25835 (grub_multiboot_load_elf32): Load into heap instead of requested
25836 address, install the appropriate relocator code in each bound of
25837 the payload, and set the entry point such that
25838 grub_multiboot_real_boot() will jump to one of them.
25840 * kern/i386/loader.S (grub_multiboot_payload_size)
25841 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
25842 (grub_multiboot_payload_entry_offset): New variables.
25843 (grub_multiboot_real_boot): Set cpu context to what the relocator
25844 expects, and jump to the relocator instead of the payload.
25846 * include/grub/i386/loader.h (grub_multiboot_payload_size)
25847 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
25848 (grub_multiboot_payload_entry_offset): Export.
25850 2008-08-01 Bean <bean123ch@gmail.com>
25852 * normal/menu_entry.c (editor_getline): Don't return the original
25853 string as result, as it will be released by lexer once it has done
25856 2008-08-01 Robert Millan <rmh@aybabtu.com>
25858 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
25859 within menuentries, not before them.
25860 util/grub.d/10_hurd.in: Likewise.
25862 2008-08-01 Bean <bean123ch@gmail.com>
25864 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
25865 (bufio_mod_SOURCES): New macro.
25866 (bufio_mod_CFLAGS): Likewise.
25867 (bufio_mod_LDFLAGS): Likewise.
25869 * include/grub/bufio.h: New file.
25871 * io/bufio.c: Likewise.
25873 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
25874 (grub_video_reader_png): Use grub_buffile_open to open file.
25876 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
25877 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
25879 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
25880 (grub_video_reader_tga): Use grub_buffile_open to open file.
25882 * font/manager.c: Include <grub/bufio.h>.
25883 (add_font): Use grub_buffile_open to open file.
25885 2008-07-31 Robert Millan <rmh@aybabtu.com>
25887 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
25888 ELF segments, use a macro for arbitrarily accessing any of them instead
25889 of preparing a pointer that allows access to one at a time.
25890 (grub_multiboot_load_elf64): Likewise.
25892 2008-07-31 Bean <bean123ch@gmail.com>
25894 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
25895 GRUB_KERNEL_MACHINE_DATA_END.
25897 2008-07-30 Robert Millan <rmh@aybabtu.com>
25899 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
25900 Increase from 0x50 to 0x60.
25901 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
25902 use UUIDs to identify the root drive for them. If that's not
25904 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
25905 check, for cross-disk installs.
25907 2008-07-30 Robert Millan <rmh@aybabtu.com>
25909 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
25910 is non-empty, use it to set the `prefix' environment variable instead
25911 of the usual approach.
25912 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
25913 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
25914 environment variable instead of dummy make_install_device().
25916 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
25917 (start): Insert a data section, with `grub_prefix' variable.
25918 * kern/i386/linuxbios/startup.S: Likewise.
25920 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
25921 New variable reference.
25922 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
25923 New macro. Defines offset of `grub_prefix' within startup.S (relative
25925 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
25926 section within startup.S (relative to `start').
25927 * include/grub/i386/coreboot/kernel.h: Likewise.
25929 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
25930 Overwrite grub_prefix with its contents, at the beginning of the
25932 (main): Understand -p|--prefix.
25934 2008-07-30 Robert Millan <rmh@aybabtu.com>
25936 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
25938 2008-07-30 Robert Millan <rmh@aybabtu.com>
25940 * term/i386/pc/vga_text.c (grub_console_cls): Use
25941 grub_console_gotoxy() to go back to beginning of the screen.
25942 Found by Patrick Georgi <patrick.georgi@coresystems.de>
25944 2008-07-29 Christian Franke <franke@computer.org>
25946 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
25947 Add conversion of emulated mount points on Cygwin.
25949 2008-07-29 Christian Franke <franke@computer.org>
25951 * util/update-grub.in: Add a check for admin
25953 Remove old `grub.cfg.new' before creation.
25954 Add `-f' to `mv' to handle the different filesystem
25955 semantics of Windows.
25957 2008-07-29 Bean <bean123ch@gmail.com>
25959 * normal/main.c (get_line): Fix buffer overflow bug.
25961 2008-07-28 Robert Millan <rmh@aybabtu.com>
25963 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
25964 (struct grub_apple_header): New struct. Describes the layout of
25965 the partmap header.
25966 (apple_partition_map_iterate): Check the header magic as well as the
25967 partition magic (which was already being checked).
25969 2008-07-28 Pavel Roskin <proski@gnu.org>
25971 * genmk.rb: Add a warning to the beginning of the output that
25972 it's a generated file and should not be edited.
25974 2008-07-28 Robert Millan <rmh@aybabtu.com>
25976 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
25977 with the same number are found, just use issue a warning with
25978 grub_dprintf(), as this error has been reported to be non-fatal.
25980 2008-07-27 Robert Millan <rmh@aybabtu.com>
25982 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
25985 2008-07-27 Bean <bean123ch@gmail.com>
25987 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
25988 (grub_fat_find_dir): Ignore case when comparing filename.
25990 2008-07-27 Bean <bean123ch@gmail.com>
25992 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
25993 smallino, as it's more descriptive, and i8count can be confused with
25994 the other field count.
25995 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
25998 2008-07-27 Bean <bean123ch@gmail.com>
26000 * commands/crc.c: New file.
26002 * lib/crc.c: Likewise.
26004 * include/grub/lib/crc.h: Likewise.
26006 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
26008 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
26009 (hexdump): Move this function to ...
26011 * lib/hexdump.c: ... here.
26013 * include/grub/hexdump.h: Renamed to ...
26015 * include/grub/lib/hexdump.h: ... this.
26017 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
26019 * util/grub-editenv.c: Likewise.
26021 * include/envblk.h: Renamed to ...
26023 * include/lib/envblk.h: ... this.
26025 * util/envblk.c: Renamed to ...
26027 * lib/envblk.c: ... this.
26029 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
26031 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
26032 (pkglib_MODULES): Add crc.mod.
26033 (hexdump_mod_SOURCES): Add lib/hexdump.c.
26034 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
26035 (crc_mod_SOURCES): New macro.
26036 (crc_mod_CFLAGS): Likewise.
26037 (crc_mod_LDFLAGS): Likewise.
26039 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
26041 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
26043 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
26045 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26047 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
26049 2008-07-27 Felix Zielcke <fzielcke@z-51.de>
26051 * commands/help.c: Include <grub/term.h>.
26052 (TERM_WIDTH): Removed. Updated all users.
26054 2008-07-27 Pavel Roskin <proski@gnu.org>
26056 * util/getroot.c (find_root_device): Rephrase a comment to avoid
26057 spurious warnings about a comment within a comment.
26059 2008-07-25 Robert Millan <rmh@aybabtu.com>
26061 * util/getroot.c (find_root_device): Skip devices that match
26062 /dev/dm-[0-9]. This lets the real device be found for any type of
26063 abstraction (LVM, EVMS, RAID..).
26064 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
26065 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
26066 device is found first, find_root_device() will now skip it.
26068 2008-07-24 Pavel Roskin <proski@gnu.org>
26070 * include/grub/types.h: Use __builtin_bswap32() and
26071 __builtin_bswap64() with gcc 4.3 and newer.
26073 2008-07-24 Christian Franke <franke@computer.org>
26075 * util/i386/pc/grub-install.in: If `--debug' is specified,
26076 pass `--verbose' to grub-setup.
26077 Abort script if make_system_path_relative_to_its_root() fails.
26079 2008-07-24 Bean <bean123ch@gmail.com>
26081 * configure.ac: Fixed a bug caused by the previous cygwin patch,
26082 variable `target_platform' should be `platform'.
26084 2008-07-24 Bean <bean123ch@gmail.com>
26086 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
26087 (grub_png_init_fixed_block): New function.
26088 (grub_png_decode_image_data): Handle fixed huffman code compression.
26090 2008-07-24 Bean <bean123ch@gmail.com>
26092 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
26093 (grub_pe2elf_SOURCES): New macro.
26094 (CLEANFILES): Add grub-pe2elf.
26096 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
26097 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
26098 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
26099 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
26100 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
26101 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
26102 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
26103 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
26104 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
26105 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
26106 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
26107 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
26108 (GRUB_PE32_DT_FUNCTION): Likewise.
26109 (GRUB_PE32_REL_I386_DIR32): Likewise.
26110 (GRUB_PE32_REL_I386_REL32): Likewise.
26111 (grub_pe32_symbol): New structure.
26112 (grub_pe32_reloc): Likewise.
26114 * util/grub-pe2elf.c: New file.
26116 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
26117 start symbol in non pc platform.
26119 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
26121 The following patches are from Christian Franke.
26123 * include/grub/dl.h: Remove .previous, gas supports this only
26126 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
26127 Remove .type, gas supports this only for ELF format.
26129 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
26130 nullbytes in symbol table. This fixes an infinite loop if table is
26133 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
26134 TARGET_IMG_LDFLAGS and EXEEXT.
26136 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
26137 TARGET_IMG_LDFLAGS_AC.
26138 (grub_CHECK_STACK_ARG_PROBE): New function.
26140 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
26142 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
26144 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
26145 to set TARGET_IMG_LD* accordingly.
26146 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
26147 Add call to grub_CHECK_STACK_ARG_PROBE.
26148 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
26150 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
26152 * genmk.rb: Add EXEEXT to CLEANFILES.
26154 2008-07-23 Robert Millan <rmh@aybabtu.com>
26156 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
26157 define the codes for arrows and lines used for the menu).
26158 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
26161 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
26162 fonts, because the latter are too slow.
26164 2008-07-21 Bean <bean123ch@gmail.com>
26166 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
26167 a20. Run keyboard test last, as it will cause macbook to halt.
26169 2008-07-18 Pavel Roskin <proski@gnu.org>
26171 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
26172 load foreign architecture modules correctly anyway. Keep
26173 support for loading host architecture modules, whether we
26174 compile them or not.
26176 2008-07-17 Pavel Roskin <proski@gnu.org>
26178 * configure.ac: Use -m32 or -m64 regardless of whether we had to
26179 change target_cpu. The compiler default can mismatch target_cpu
26182 * disk/efi/efidisk.c: Fix format warnings on x86_64.
26183 * kern/efi/efi.c: Likewise.
26185 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
26186 target compiler is functional.
26187 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
26190 * configure.ac: Default to efi platform for x86_64-apple. Allow
26191 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
26192 adjustments from the rest, only do them if target is not
26193 explicitly given. Merge other adjustments with the final sanity
26194 check. Remove an extraneous check for supported CPU. Be
26195 specific which CPU and which platform is not supported.
26197 * configure.ac: Default to pc platform for x86_64.
26199 2008-07-17 Robert Millan <rmh@aybabtu.com>
26201 Partial LinuxBIOS -> Coreboot rename.
26203 * conf/i386-linuxbios.rmk: Renamed to ...
26204 * conf/i386-coreboot.rmk: ... this.
26205 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
26206 * configure.ac: Accept "coreboot" as input platform (but maintain
26207 compatibility with "linuxbios").
26208 * include/grub/i386/linuxbios: Renamed to ...
26209 * include/grub/i386/coreboot: ... this.
26211 2008-07-17 Bean <bean123ch@gmail.com>
26213 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
26214 (appleldr_mod_SOURCE): New variable.
26215 (appleldr_mod_CFLAGS): Likewise.
26216 (appleldr_mod_LDFLAGS): Likewise.
26217 (pci_mod_SOURCES): Likewise.
26218 (pci_mod_CFLAGS): Likewise.
26219 (pci_mod_LDFLAGS): Likewise.
26220 (lspci_mod_SOURCES): Likewise.
26221 (lspci_mod_CFLAGS): Likewise.
26222 (lspci_mod_LDFLAGS): Likewise.
26224 * conf/x86_64-efi.rmk: New file.
26226 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
26228 (grub_efidisk_write): Likewise.
26230 * include/efi/api.h (efi_call_0): New macro.
26231 (efi_call_1): Likewise.
26232 (efi_call_2): Likewise.
26233 (efi_call_3): Likewise.
26234 (efi_call_4): Likewise.
26235 (efi_call_5): Likewise.
26236 (efi_call_6): Likewise.
26238 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
26239 grub_rescue_cmd_chainloader.
26241 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
26242 (grub_pe32_optional_header): Change some fields based on i386 or
26244 (GRUB_PE32_PE32_MAGIC): Likewise.
26246 * include/grub/efi/uga_draw.h: New file.
26248 * include/grub/elf.h (STN_ABS): New constant.
26249 (R_X86_64_NONE): Relocation constant for x86_64.
26250 (R_X86_64_64): Likewise.
26251 (R_X86_64_PC32): Likewise.
26252 (R_X86_64_GOT32): Likewise.
26253 (R_X86_64_PLT32): Likewise.
26254 (R_X86_64_COPY): Likewise.
26255 (R_X86_64_GLOB_DAT): Likewise.
26256 (R_X86_64_JUMP_SLOT): Likewise.
26257 (R_X86_64_RELATIVE): Likewise.
26258 (R_X86_64_GOTPCREL): Likewise.
26259 (R_X86_64_32): Likewise.
26260 (R_X86_64_32S): Likewise.
26261 (R_X86_64_16): Likewise.
26262 (R_X86_64_PC16): Likewise.
26263 (R_X86_64_8): Likewise.
26264 (R_X86_64_PC8): Likewise.
26266 * include/grub/i386/efi/pci.h: New file.
26268 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
26269 Change it value based on platform.
26270 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
26271 (GRUB_E820_RAM): Likewise.
26272 (GRUB_E820_RESERVED): Likewise.
26273 (GRUB_E820_ACPI): Likewise.
26274 (GRUB_E820_NVS): Likewise.
26275 (GRUB_E820_EXEC_CODE): Likewise.
26276 (GRUB_E820_MAX_ENTRY): Likewise.
26277 (grub_e820_mmap): New structure.
26278 (linux_kernel_header): Change the efi field according to different
26279 kernel version, also field from linux_kernel_header.
26281 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
26283 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
26284 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
26285 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
26286 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
26287 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
26288 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
26289 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
26290 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
26291 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
26292 (GRUB_PCI_ADDR_IO_MASK): Likewise.
26294 * include/grub/x86_64/efi/kernel.h: New file.
26296 * include/grub/x86_64/efi/loader.h: Likewise.
26298 * include/grub/x86_64/efi/machine.h: Likewise.
26300 * include/grub/x86_64/efi/pci.h: Likewise.
26302 * include/grub/x86_64/efi/time.h: Likewise.
26304 * include/grub/x86_64/linux.h: Likewise.
26306 * include/grub/x86_64/setjmp.h: Likewise.
26308 * include/grub/x86_64/time.h: Likewise.
26310 * include/grub/x86_64/types.h: Likewise.
26312 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
26313 GRUB_TARGET_SIZEOF_VOID_P.
26315 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
26316 (grub_efi_locate_handle): Likewise.
26317 (grub_efi_open_protocol): Likewise.
26318 (grub_efi_set_text_mode): Likewise.
26319 (grub_efi_stall): Likewise.
26320 (grub_exit): Likewise.
26321 (grub_reboot): Likewise.
26322 (grub_halt): Likewise.
26323 (grub_efi_exit_boot_services): Likewise.
26324 (grub_get_rtc): Likewise.
26326 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
26327 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
26328 (grub_efi_allocate_pages): Wrap efi calls.
26329 (grub_efi_free_pages): Wrap efi calls.
26330 (grub_efi_get_memory_map): Wrap efi calls.
26332 * kern/x86_64/dl.c: New file.
26334 * kern/x86_64/efi/callwrap.S: Likewise.
26336 * kern/x86_64/efi/startup.S: Likewise.
26338 * loader/efi/appleloader.c: Likewise.
26340 * loader/efi/chainloader.c (cmdline): New variable.
26341 (grub_chainloader_unload): Wrap efi calls.
26342 (grub_chainloader_boot): Likewise.
26343 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
26346 * loader/efi/chainloader_normal.c (chainloader_command):
26347 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
26350 * loader/i386/efi/linux.c (allocate_pages): Change allocation
26352 (grub_e820_add_region): New function.
26353 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
26355 (grub_find_video_card): New function.
26356 (grub_linux_setup_video): New function.
26357 (grub_rescue_cmd_linux): Probe for video information.
26359 * normal/x86_64/setjmp.S: New file.
26361 * term/efi/console.c (map_char): New function.
26362 (grub_console_putchar): Map unicode char.
26363 (grub_console_checkkey): Wrap efi calls.
26364 (grub_console_getkey): Likewise.
26365 (grub_console_getwh): Likewise.
26366 (grub_console_gotoxy): Likewise.
26367 (grub_console_cls): Likewise.
26368 (grub_console_setcolorstate): Likewise.
26369 (grub_console_setcursor): Likewise.
26371 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
26373 2008-07-16 Pavel Roskin <proski@gnu.org>
26375 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
26378 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
26379 pointer, not an integer. This fixes a warning and prevents
26380 precision loss on 64-bit systems.
26381 (relocate_addresses): Remove unneeded cast.
26383 2008-07-15 Pavel Roskin <proski@gnu.org>
26385 * kern/i386/ieee1275/init.c: Include grub/cache.h.
26387 * term/ieee1275/ofconsole.c: Disable code unused on i386.
26389 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
26390 Fix comparison between signed and unsigned.
26392 * include/grub/i386/ieee1275/console.h: Declare
26393 grub_console_init() and grub_console_fini().
26395 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
26396 It's empty and unused.
26398 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
26399 beginning to avoid warnings with some compilers.
26401 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
26402 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
26404 2008-07-14 Pavel Roskin <proski@gnu.org>
26406 * kern/env.c (grub_register_variable_hook): Don't copy empty
26407 string, it leaks memory. Pass "" to grub_env_set(), it should
26408 handle constant strings.
26410 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
26411 * commands/cmp.c (grub_cmd_cmp): Likewise.
26412 * kern/dl.c (grub_dl_flush_cache): Likewise.
26413 (grub_dl_load_core): Likewise.
26414 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
26415 (grub_elf64_load_phdrs): Likewise.
26417 2008-07-13 Pavel Roskin <proski@gnu.org>
26419 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
26420 between signed and unsigned.
26421 (LzmaEnc_Finish): Fix warning about an unused parameter.
26423 2008-07-13 Bean <bean123ch@gmail.com>
26425 * Makefile.in (enable_lzo): New rule.
26427 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
26429 * configure.ac (ENABLE_LZO): New option --enable-lzo.
26431 * boot/i386/pc/lnxboot.S: #include <config.h>.
26433 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
26434 its value according to the compression algorithm used, lzo or lzma.
26436 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
26437 compression algorithm according to configure macro.
26439 * kern/i386/pc/startup.S (codestart): Likewise.
26441 * kern/i386/pc/lzma_decode.S: New file.
26443 * include/grub/lib/LzFind.h: Likewise.
26445 * include/grub/lib/LzHash.h: Likewise.
26447 * include/grub/lib/LzmaDec.h: Likewise.
26449 * include/grub/lib/LzmaEnc.h: Likewise.
26451 * include/grub/lib/LzmaTypes.h: Likewise.
26453 * lib/LzFind.c: Likewise.
26455 * lib/LzmaDec.c: Likewise.
26457 * lib/LzmaEnc.c: Likewise.
26459 2008-07-13 Bean <bean123ch@gmail.com>
26461 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
26462 (grub_ext4_extent_header): New structure.
26463 (grub_ext4_extent): Likewise.
26464 (grub_ext4_extent_idx): Likewise.
26465 (grub_ext4_find_leaf): New function.
26466 (grub_ext2_read_block): Handle extents.
26468 2008-07-12 Robert Millan <rmh@aybabtu.com>
26470 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
26472 2008-07-11 Robert Millan <rmh@aybabtu.com>
26474 * util/grub.d/40_custom.in: New file. Example on how to add custom
26475 entries to /etc/grub.d.
26476 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
26477 40_custom (implicitly, by merging all the grub.d rules).
26479 2008-07-11 Pavel Roskin <proski@gnu.org>
26481 * commands/read.c (grub_getline): Fix invalid memory access.
26482 Don't add newline to the variable value.
26484 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
26485 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
26486 (serial_hw_get_port): Check validity of the port number.
26487 (grub_cmd_serial): Check return value of serial_hw_get_port().
26489 2008-07-07 Pavel Roskin <proski@gnu.org>
26491 * boot/i386/pc/diskboot.S (notification_string): Replace
26492 "Loading kernel" with just "loading". This is shorter, less
26493 confusing and saves a few bytes for possible future changes.
26495 2008-07-05 Pavel Roskin <proski@gnu.org>
26497 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
26498 size for ATAPI devices, they are undefined. Output sector
26499 number in decimal form.
26501 * disk/ata.c: Use named constants for status bits.
26503 2008-07-04 Pavel Roskin <proski@gnu.org>
26505 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
26506 grub_addr_t before casting it to the void pointer to fix a
26507 warning. Non-addressable regions are discarded earlier.
26508 (grub_arch_modules_addr): Cast _end to grub_addr_t.
26509 * kern/i386/linuxbios/table.c: Include grub/misc.h.
26510 (check_signature): Don't shadow table_header.
26511 (grub_linuxbios_table_iterate): Cast numeric constants to
26512 grub_linuxbios_table_header_t.
26513 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
26516 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
26519 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
26520 pointer, which can cause warnings. Support 64-bit addresses.
26522 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
26523 of sizeof(long). This fixes PowerPC image generation on x86_64.
26525 2008-07-04 Robert Millan <rmh@aybabtu.com>
26527 This fixes a performance issue when pc & gpt partmap iterators
26528 didn't abort iteration even after our hook found what it was
26529 looking for (often causing expensive probes of non-existent drives).
26531 Some callers relied on previous buggy behaviour, since they would
26532 raise an error when their own hooks caused early abortion of its
26535 * kern/device.c (grub_device_open): Improve error message.
26536 * disk/lvm.c (grub_lvm_open): Likewise.
26537 * disk/raid.c (grub_raid_open): Likewise.
26539 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
26540 when hook requests it, independently of grub_errno.
26541 (pc_partition_map_probe): Do not fail when find_func() caused
26542 early abortion of pc_partition_map_iterate().
26544 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
26545 when hook requests it, independently of grub_errno.
26546 (gpt_partition_map_probe): Do not fail when find_func() caused
26547 early abortion of gpt_partition_map_iterate().
26549 * kern/partition.c (grub_partition_iterate): Abort parent iteration
26550 when hook requests it, independently of grub_errno. Do not fail when
26551 part_map_iterate_hook() caused early abortion of p->iterate().
26553 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
26554 when grub_partition_iterate() returned with non-zero.
26556 2008-07-03 Pavel Roskin <proski@gnu.org>
26558 * disk/ata.c (grub_ata_pio_write): Check status before writing,
26559 like we do in grub_ata_pio_read().
26560 (grub_ata_readwrite): Always write individual sectors. Fix the
26561 sector count for the remainder.
26562 (grub_ata_write): Enable writing to ATA devices. Correctly
26563 report error for ATAPI devices.
26565 2008-07-02 Pavel Roskin <proski@gnu.org>
26567 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
26570 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
26571 for every read sector, we already increment it for the whole
26572 batch. This fixes reading more than 256 sectors at once.
26574 * util/grub-editenv.c (cmd_info): Cast argument to long
26575 explicitly. ptrdiff_t reduces to int on i386.
26577 * util/grub-editenv.c (main): Be specific which parameter is
26580 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
26581 (memdisk): Make memdisk_orig_addr a pointer.
26583 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
26584 for file offsets, use grub_off_t instead. Fix printf format
26587 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
26588 there. Real unexpected warnings should not drown in the noise
26589 about known problems.
26591 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
26592 grub_disk_addr_t for memory addresses.
26594 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
26595 explicitly to fix a warning.
26597 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
26599 * Makefile.in (MODULE_LDFLAGS): New variable.
26600 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
26601 the linker accepts --build-id=none.
26602 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
26604 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
26606 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
26607 those in Linux XFS code. Provide a way to access 64-bit parent
26609 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
26610 the end of struct grub_xfs_dir_header.
26612 2008-07-02 Bean <bean123ch@gmail.com>
26614 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
26615 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
26616 and GRUB_IEEE1275_FLAG_NO_ANSI.
26618 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
26619 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
26620 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
26622 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
26623 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
26625 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
26626 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
26628 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
26629 esc sequence on non ANSI terminal.
26630 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
26632 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
26635 2008-07-02 Bean <bean123ch@gmail.com>
26637 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
26638 (grub_editenv_SOURCES): New variable.
26639 (pkglib_MODULES): Add loadenv.mod.
26640 (loadenv_mod_SOURCES): New variable.
26641 (loadenv_mod_CFLAGS): Likewise.
26642 (loadenv_mod_LDFLAGS): Likewise.
26644 * include/grub/envblk.h: New file.
26646 * util/envblk.c: New file.
26648 * util/grub-editenv.c: New file.
26650 * commands/loadenv.c: New file.
26652 2008-07-01 Pavel Roskin <proski@gnu.org>
26654 * include/multiboot2.h (struct multiboot_tag_module): Use char,
26655 not unsigned char. This fixes warnings and is consistent with
26658 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
26660 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
26662 * term/tparm.c (analyze): Always set *popcount.
26664 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
26665 cast to fix a warning.
26667 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
26668 cast to suppress a warning.
26670 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
26671 grub_fshelp_read_file() expects.
26673 * fs/fat.c: Fix UUID calculation on big-endian systems. We
26674 write uuid as a 32-bit value in CPU byte order, so declare and
26677 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
26678 long if the format specifier expects it.
26679 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
26680 * partmap/pc.c (pc_partition_map_iterate): Likewise.
26681 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
26682 long to fix a warning.
26683 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
26684 grub_dprintf() arguments to fix warnings.
26686 2008-06-30 Pavel Roskin <proski@gnu.org>
26688 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
26689 install_bsd_part immediately before core.img is embedded or
26690 modified on disk. This fixes core.img verification if core.img
26691 cannot be embedded.
26693 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
26694 core_path to calculate the blocklist.
26695 Patch from Javier Martín <lordhabbit@gmail.com>
26697 2008-06-29 Robert Millan <rmh@aybabtu.com>
26699 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
26700 block to disk block.
26701 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
26702 Patch from Niels Böhm <bitbucket@arcor.de>
26704 2008-06-29 Robert Millan <rmh@aybabtu.com>
26706 * util/update-grub_lib.in (font_path): Search for fonts in
26707 /boot/grub first, which is more likely to be readable (we aren't
26708 deciding where fonts live, just looking for them).
26710 2008-06-26 Pavel Roskin <proski@gnu.org>
26712 * util/biosdisk.c (read_device_map): Don't leave dead map
26713 entries for devices failing stat() check.
26715 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
26716 core_path_dev for the core.img path on the target device.
26718 2008-06-26 Robert Millan <rmh@aybabtu.com>
26720 * disk/fs_uuid.c: New file.
26721 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
26722 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
26723 (fs_uuid_mod_LDFLAGS): New variables.
26724 * include/grub/disk.h (grub_disk_dev_id): Add
26725 `GRUB_DISK_DEVICE_UUID_ID'.
26726 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
26727 implement iterate().
26729 2008-06-26 Robert Millan <rmh@aybabtu.com>
26731 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
26732 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
26733 Linux image includes no initrd.
26735 2008-06-21 Javier Martín <lordhabbit@gmail.com>
26737 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
26738 call to resolve the core image location that effectively appended the
26741 2008-06-21 Robert Millan <rmh@aybabtu.com>
26743 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
26746 * util/grub.d/10_hurd.in: ... to here ...
26747 * util/grub.d/10_linux.in: ... and here.
26749 2008-06-19 Robert Millan <rmh@aybabtu.com>
26751 * kern/main.c (grub_main): Export `prefix' variable immediately
26752 after it has been set by grub_machine_set_prefix().
26754 2008-06-19 Robert Millan <rmh@aybabtu.com>
26756 * commands/search.c (search_label, search_fs_uuid, search_file): Print
26757 search result when not saving to variable, not the other way around.
26758 When saving to variable, abort iteration as soon as a match is found.
26760 2008-06-19 Robert Millan <rmh@aybabtu.com>
26762 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
26763 check for partition that provides /boot/grub. Its logic is flawed,
26764 as it prevents prepare_grub_to_access_device() from being called
26767 2008-06-19 Robert Millan <rmh@aybabtu.com>
26769 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
26770 "insmod" command directly when abstraction modules are needed,
26771 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
26772 since it had already been processed).
26774 2008-06-19 Pavel Roskin <proski@gnu.org>
26776 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
26777 changed. This is needed in case GRUB_LIBDIR changes.
26778 * conf/i386-ieee1275.rmk: Likewise.
26779 * conf/i386-linuxbios.rmk: Likewise.
26780 * conf/i386-pc.rmk: Likewise.
26781 * conf/powerpc-ieee1275.rmk: Likewise.
26783 2008-06-18 Pavel Roskin <proski@gnu.org>
26785 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
26786 kernel_elf_symlist.c to symlist.c for consistency with other
26787 architectures. Update all users.
26788 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
26790 2008-06-18 Robert Millan <rmh@aybabtu.com>
26792 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
26795 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
26796 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
26797 a RAID device, run setup() for all members independently on whether
26798 LVM abstraction is being used.
26799 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
26800 If grub-mkimage has set `*install_dos_part == -2', don't override this
26802 Perform *install_dos_part adjustments independently on whether
26803 we're embedding or not.
26804 Clarify error message when image is too big for embedding.
26805 Remove duplicate *install_dos_part stanza.
26807 2008-06-17 Robert Millan <rmh@aybabtu.com>
26809 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
26810 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
26812 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
26813 values in grub_ofconsole_normal_color and
26814 grub_ofconsole_highlight_color (they're not directly related to
26815 background and foreground).
26816 (grub_ofconsole_setcolorstate): Extract background and foreground
26817 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
26819 2008-06-17 Robert Millan <rmh@aybabtu.com>
26821 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
26822 /boot/grub for the check in last commit, not /boot (they could be
26823 different partitions).
26825 2008-06-16 Robert Millan <rmh@aybabtu.com>
26827 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
26828 asked to setup access for the same partition that provides /boot,
26829 don't bother using UUIDs since our root already has the value we
26832 2008-06-16 Robert Millan <rmh@aybabtu.com>
26834 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
26836 Patch from Sven Mueller <sven@debian.org>.
26838 2008-06-16 Robert Millan <rmh@aybabtu.com>
26840 * util/update-grub.in: Check for $EUID instead of $UID.
26841 Reported by Vincent Zweije.
26843 2008-06-16 Bean <bean123ch@gmail.com>
26845 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
26846 (grub_ext2_read_block): Likewise.
26847 (grub_ext2_read_inode): Likewise.
26848 (grub_ext2_mount): Likewise.
26849 (grub_ext2_close): Likewise.
26850 (grub_ext3_get_journal): Removed.
26852 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
26853 (grub_reiserfs_read_symlink): Likewise.
26854 (grub_reiserfs_mount): Likewise.
26855 (grub_reiserfs_open): Likewise.
26856 (grub_reiserfs_read): Likewise.
26857 (grub_reiserfs_close): Likewise.
26858 (grub_reiserfs_get_journal): Removed.
26860 * fs/fshelp.c (grub_fshelp_read): Removed.
26861 (grub_fshelp_map_block): Likewise.
26863 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
26864 (grub_fshelp_journal): Likewise.
26865 (grub_fshelp_read): Likewise.
26866 (grub_fshelp_map_block): Likewise.
26868 2008-06-16 Pavel Roskin <proski@gnu.org>
26870 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
26871 floating point anymore.
26872 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
26874 2008-06-15 Pavel Roskin <proski@gnu.org>
26876 * commands/ls.c (grub_ls_list_files): Use integer calculations
26877 for human readable format, avoid floating point use.
26878 * kern/misc.c (grub_ftoa): Remove.
26879 (grub_vsprintf): Remove floating point support.
26881 2008-06-15 Robert Millan <rmh@aybabtu.com>
26883 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
26885 Reported by Max Vozeler.
26887 2008-06-15 Robert Millan <rmh@aybabtu.com>
26889 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
26890 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
26892 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
26893 the beginning of the prefix.
26895 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
26896 It is assumed that if we have a memdisk, grub-mkimage has set
26897 grub_prefix to include the "(memdisk)" drive in it.
26899 2008-06-15 Robert Millan <rmh@aybabtu.com>
26901 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
26902 Initialize keyboard controller after registering the terminal, so that
26903 grub_printf() can be called from grub_keyboard_controller_init().
26905 2008-06-15 Robert Millan <rmh@aybabtu.com>
26907 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
26908 extent-btree which is written as big endian on disk.
26909 Reported by Alain Greppin <al@chilibi.org>.
26911 2008-06-14 Robert Millan <rmh@aybabtu.com>
26913 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
26914 * util/i386/pc/grub-install.in (modules): Likewise.
26916 2008-06-13 Pavel Roskin <proski@gnu.org>
26918 * commands/ls.c (grub_ls_list_files): Fix format warnings.
26920 2008-06-13 Bean <bean123ch@gmail.com>
26922 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
26924 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
26926 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
26927 to indicate sparse block.
26929 2008-06-12 Pavel Roskin <proski@gnu.org>
26931 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
26932 number, grub_fshelp_read() does it for us.
26934 * fs/fshelp.c (grub_fshelp_read): New function. Implement
26935 linear disk read with journal translation.
26936 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
26937 * include/grub/fshelp.h: Declare grub_fshelp_read().
26939 2008-06-09 Pavel Roskin <proski@gnu.org>
26941 * fs/minix.c (grub_minix_mount): Handle error reading
26944 2008-06-08 Robert Millan <rmh@aybabtu.com>
26946 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
26947 don't append the RAID prefix afterwards.
26948 Reported by Clint Adams.
26950 2008-06-08 Robert Millan <rmh@aybabtu.com>
26952 Based on description from Pavel:
26953 * kern/disk.c (grub_disk_check_range): Rename to ...
26954 (grub_disk_adjust_range): ... this. Add a comment explaining the
26955 tasks performed by this function.
26957 2008-06-08 Robert Millan <rmh@aybabtu.com>
26959 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
26960 `num_serial' (for consistency with other variables).
26961 (struct grub_ntfs_data): Add `uuid' member.
26962 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
26963 (grub_ntfs_uuid): New function.
26964 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
26966 2008-06-07 Pavel Roskin <proski@gnu.org>
26968 * util/biosdisk.c (open_device): Revert last change to the
26969 function, it broke installation. The sector needs to be
26970 different dependent on which device is opened.
26972 2008-06-06 Robert Millan <rmh@aybabtu.com>
26974 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
26975 rest of GRUB, and breakage doesn't happen if its value were modified.
26977 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
26978 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
26979 a constant (same value).
26980 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
26981 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
26983 2008-06-06 Robert Millan <rmh@aybabtu.com>
26985 * util/biosdisk.c (open_device): Do not modify sector offset when
26986 accessing a partition. kern/disk.c already handles this for us.
26988 2008-06-06 Robert Millan <rmh@aybabtu.com>
26990 * util/grub-emu.c (grub_machine_init): Move code in this function from
26992 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
26993 segfault in case grub_printf() is called).
26995 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
26996 grub_probe. Update all users not to explicitly add it again.
26997 (grub_device): New variable; contains corresponding device for grubdir.
26998 (fs_module, partmap_module, devabstraction_module): Pass
26999 `--device ${grub_device}' to grub_probe to avoid traversing /dev
27002 2008-06-05 Robert Millan <rmh@aybabtu.com>
27004 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
27005 is found, print it (same layout as with labels).
27007 2008-06-04 Robert Millan <rmh@aybabtu.com>
27009 * util/biosdisk.c (get_drive): Rename to ...
27010 (find_grub_drive): ... this. Update all users.
27012 (get_os_disk): Rename to ...
27013 (convert_system_partition_to_system_disk): ... this. Update all users.
27015 (find_drive): Rename to ...
27016 (find_system_device): ... this. Update all users.
27018 2008-06-04 Robert Millan <rmh@aybabtu.com>
27020 * util/biosdisk.c (get_os_disk): Handle IDA devices.
27021 * util/grub-mkdevicemap.c (get_mmc_disk_name)
27022 (make_device_map): Likewise.
27024 2008-06-01 Robert Millan <rmh@aybabtu.com>
27026 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
27027 before dereferencing it.
27029 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
27030 union with fat12/fat16-specific ones. Add some new fields, including
27031 `num_serial' for both versions.
27032 (struct grub_fat_data): Add `uuid' member.
27033 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
27034 names. Initialize `data->uuid' using `num_serial'.
27035 (grub_fat_uuid): New function.
27036 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
27038 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
27039 (grub_reiserfs_uuid): New function.
27040 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
27043 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
27044 (grub_xfs_uuid): New function.
27045 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
27047 2008-06-01 Robert Millan <rmh@aybabtu.com>
27049 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
27050 code that is backward compatible with pre-uuid search command.
27052 2008-05-31 Robert Millan <rmh@aybabtu.com>
27054 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
27055 floppies after everything else, to ensure floppy drive isn't accessed
27056 unnecessarily (patch from Bean).
27058 2008-05-31 Robert Millan <rmh@aybabtu.com>
27060 * commands/search.c (search_label, search_fs_uuid, search_file): Do
27061 not print device names when we were asked to set a variable.
27063 2008-05-31 Robert Millan <rmh@aybabtu.com>
27065 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
27066 using "cursor-on" and "cursor-off" commands (understood at least by
27067 the Open Firmware flavour on OLPC).
27069 2008-05-31 Michael Gorven <michael@gorven.za.net>
27071 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
27072 on and off sequences.
27074 2008-05-31 Robert Millan <rmh@aybabtu.com>
27076 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
27077 * util/update-grub.in: Likewise.
27079 2008-05-30 Pavel Roskin <proski@gnu.org>
27081 * util/biosdisk.c (linux_find_partition): Simplify logic and
27082 make the code more universal. Keep special processing for
27083 devfs, but use a simple rule for all other devices. If the
27084 device ends with a number, append 'p' and the partition number.
27085 Otherwise, append only the partition number.
27087 2008-05-30 Robert Millan <rmh@aybabtu.com>
27089 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
27090 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
27091 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
27092 the `root' parameter to Linux.
27094 2008-05-30 Robert Millan <rmh@aybabtu.com>
27096 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
27097 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
27098 --fs_uuid with --fs-uuid.
27099 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
27100 all filesystems support them).
27102 2008-05-30 Robert Millan <rmh@aybabtu.com>
27104 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
27105 grub_printf() flags, since we're printing in units of 2 bytes.
27107 2008-05-30 Robert Millan <rmh@aybabtu.com>
27109 * util/grub.d/00_header.in: Remove obsolete comment referencing
27110 convert_system_path_to_grub_path().
27111 * util/update-grub.in: Likewise.
27112 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
27113 (convert_system_path_to_grub_path): Add a warning message explaining
27114 that this function is deprecated. Rely on is_path_readable_by_grub()
27115 for the readability checks.
27116 (font_path): Use is_path_readable_by_grub() for the readability
27117 check rather than convert_system_path_to_grub_path().
27119 2008-05-30 Robert Millan <rmh@aybabtu.com>
27121 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
27122 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
27123 converting it first.
27124 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
27125 grub.cfg for access to font file, and afterwards call it again to set
27128 2008-05-30 Robert Millan <rmh@aybabtu.com>
27130 * commands/search.c (options): Add --fs_uuid option.
27131 (search_fs_uuid): New function.
27132 (grub_cmd_search): Fix --set argument passing.
27133 Use search_fs_uuid() when requested via --fs_uuid.
27134 (grub_search_init): Update help message.
27135 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
27136 and redeclare it as an array of 16-bit words.
27137 (grub_ext2_uuid): New function.
27138 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
27139 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
27140 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
27141 (GRUB_DEVICE_BOOT_UUID): New variables.
27142 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
27143 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
27145 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
27146 just assume `root' variable has the right value.
27147 * util/grub.d/10_linux.in: Likewise.
27148 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
27150 (main): Recognise `-t fs_uuid' argument.
27152 2008-05-30 Robert Millan <rmh@aybabtu.com>
27154 * util/biosdisk.c (map): Redefine structure to hold information
27155 about GRUB drive name.
27156 (get_drive): Reimplement without assuming (and verifying) BIOS-like
27158 (call_hook): Remove.
27159 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
27160 member. Assume drive has partitions.
27161 (grub_util_biosdisk_open): Access device names via `.device' struct
27163 (open_device): Likewise.
27164 (find_drive): Likewise.
27165 (read_device_map): Adjust map[] usage to match the new struct
27166 definition. Don't check for duplicates (still possible, but not cheap
27168 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
27169 (make_device_name): Remove assumption of BIOS-like drive names.
27171 2008-05-30 Pavel Roskin <proski@gnu.org>
27173 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
27174 compiling execute.c doesn't need grub_script.tab.h anymore.
27175 (normal/command.c_DEPENDENCIES): Likewise.
27176 (normal/function.c_DEPENDENCIES): Likewise.
27177 * conf/i386-ieee1275.rmk: Likewise.
27178 * conf/i386-linuxbios.rmk: Likewise.
27179 * conf/i386-pc.rmk: Likewise.
27180 * conf/powerpc-ieee1275.rmk: Likewise.
27181 * conf/sparc64-ieee1275.rmk: Likewise.
27183 2008-05-29 Pavel Roskin <proski@gnu.org>
27185 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
27186 when scanning metadata for volume group name.
27188 * include/grub/script.h: Don't include grub_script.tab.h. It's
27189 a generated file, which may only be included from the files with
27190 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
27191 use union YYSTYPE, as the later allows forward declaration.
27192 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
27194 2008-05-29 Robert Millan <rmh@aybabtu.com>
27196 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
27197 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
27198 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
27199 (grub_console_checkkey): Add grub_dprintf() call to report unknown
27202 2008-05-29 Robert Millan <rmh@aybabtu.com>
27204 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
27205 control key combinations.
27207 2008-05-29 Robert Millan <rmh@aybabtu.com>
27209 * util/powerpc/ieee1275/grub-install.in: Move from here ...
27210 * util/ieee1275/grub-install.in: ... to here.
27211 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
27212 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
27213 (grub_install_SOURCES): Likewise.
27215 2008-05-29 Robert Millan <rmh@aybabtu.com>
27217 * fs/affs.c: Update copyright year.
27218 * fs/ext2.c: Likewise.
27219 * fs/fshelp.c: Likewise.
27220 * fs/hfsplus.c: Likewise.
27221 * fs/ntfs.c: Likewise.
27222 * fs/xfs.c: Likewise.
27223 * include/grub/fshelp.h: Likewise.
27224 * util/grub-mkdevicemap.c: Likewise.
27226 2008-05-28 Robert Millan <rmh@aybabtu.com>
27228 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
27229 might need to be fatfs to support some firmware implementations
27232 2008-05-28 Robert Millan <rmh@aybabtu.com>
27234 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
27236 * util/grub-mkdevicemap.c (get_mmc_disk_name)
27237 (make_device_map): Likewise.
27239 2008-05-20 Bean <bean123ch@gmail.com>
27241 * fs/fshelp.c (grub_fshelp_map_block): New function.
27242 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
27243 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
27245 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
27246 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
27247 (grub_fshelp_journal): New structure.
27248 (grub_fshelp_map_block): New function prototype.
27249 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
27250 (grub_fshelp_map_block): Likewise.
27252 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
27253 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
27254 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
27255 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
27256 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
27257 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
27258 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
27259 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
27260 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
27261 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
27262 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
27263 (grub_ext2_sblock): New members for journal support.
27264 (grub_ext3_journal_header): New structure.
27265 (grub_ext3_journal_revoke_header): Likewise.
27266 (grub_ext3_journal_block_tag): Likewise.
27267 (grub_ext3_journal_sblock): Likewise.
27268 (grub_fshelp_node): New members logfile and journal.
27269 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
27270 grub_fshelp_map_block to get real block number.
27271 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
27273 (grub_ext2_read_inode): Likewise.
27274 (grub_ext3_get_journal): New function.
27275 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
27276 (grub_ext2_close): Release memory used by journal.
27278 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
27279 (REISERFS_MAGIC_DESC_BLOCK): New macro.
27280 (grub_reiserfs_transaction_header): Renamed to
27281 grub_reiserfs_description_block, replace field data with real_blocks.
27282 (grub_reiserfs_commit_block): New structure.
27283 (grub_reiserfs_data): New member journal.
27284 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
27286 (grub_reiserfs_read_symlink): Likewise.
27287 (grub_reiserfs_iterate_dir): Likewise.
27288 (grub_reiserfs_open): Likewise.
27289 (grub_reiserfs_read): Likewise.
27290 (grub_reiserfs_get_journal): New function.
27291 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
27292 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
27293 using grub_reiserfs_get_journal.
27294 (grub_reiserfs_close): Release memory used by journal.
27296 * fs/affs.c (grub_affs_read_block): Change block type to
27297 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
27299 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
27301 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
27303 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
27305 * fs/udf.c (grub_udf_read_block): Change block type to
27306 grub_disk_addr_t. Use type cast to avoid warning.
27308 * fs/xfs.c (grub_xfs_read_block): Likewise.
27310 2008-05-16 Christian Franke <franke@computer.org>
27312 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
27313 to ensure that break with ESC will always work.
27314 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
27315 Remove ESC from keyboard queue.
27317 2008-05-16 Christian Franke <franke@computer.org>
27319 * util/biosdisk.c: [__CYGWIN__] Add includes.
27320 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
27321 (get_os_disk): Move variable declarations to OS specific
27322 parts to avoid warning.
27323 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
27324 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
27325 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
27327 * util/getroot.c: [__CYGWIN__] Add includes.
27328 (strip_extra_slashes): Fix "/" case.
27329 [__CYGWIN__] (get_win32_path): New function.
27330 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
27331 [__CYGWIN__] (find_root_device): Disable.
27332 [__CYGWIN__] (get_bootsec_serial): New function.
27333 [__CYGWIN__] (find_cygwin_root_device): Likewise.
27334 [__linux__] (grub_guess_root_device): Add early returns to simplify
27336 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
27337 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
27338 check for Linux only.
27340 2008-05-15 Bean <bean123ch@gmail.com>
27342 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
27343 keyboard hang problem in apple's intel mac.
27345 2008-05-09 Robert Millan <rmh@aybabtu.com>
27347 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
27349 * util/grub-mkdevicemap.c (get_virtio_disk_name)
27350 (make_device_map): Likewise.
27351 Reported by Aurelien Jarno <aurel32@debian.org>
27353 2008-05-07 Ian Campbell <ijc@hellion.org.uk>
27355 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
27356 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
27357 (make_device_map): Output entries for xvd type disks.
27359 2008-05-07 Robert Millan <rmh@aybabtu.com>
27361 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
27363 * util/grub-mkdevicemap.c (get_cciss_disk_name)
27364 (make_device_map): Likewise.
27365 Reported by Roland Dreier <rdreier@cisco.com>
27367 2008-05-07 Robert Millan <rmh@aybabtu.com>
27369 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
27370 grub_strstr() call. Correct a few mistakes in failure path handling.
27372 2008-05-06 Robert Millan <rmh@aybabtu.com>
27374 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
27375 Do not print a trailing slash (therefore, the root directory is an
27377 (convert_system_path_to_grub_path): Do not remove trailing slash
27378 from make_system_path_relative_to_its_root() output.
27380 * util/i386/pc/grub-install.in: Add trailing slash to output from
27381 make_system_path_relative_to_its_root().
27383 2008-05-06 Robert Millan <rmh@aybabtu.com>
27385 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
27386 ensures that output lines aren't intermangled with those sent to
27387 stderr (via grub_util_info()).
27388 * util/grub-probe.c (grub_refresh): Likewise.
27389 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
27391 2008-05-05 Christian Franke <franke@computer.org>
27393 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
27394 Add Cygwin device names.
27395 (get_ide_disk_name) [__CYGWIN__]: Likewise.
27396 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
27397 (check_device): Return error instead of success on empty name.
27398 (make_device_map): Move label inside linux specific code to
27399 prevent compiler warning.
27401 2008-04-30 Robert Millan <rmh@aybabtu.com>
27403 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
27404 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
27406 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
27408 2008-04-29 Robert Millan <rmh@aybabtu.com>
27410 * docs/grub.cfg: New file (example GRUB configuration).
27412 2008-04-26 Robert Millan <rmh@aybabtu.com>
27414 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
27415 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
27416 and `disk/ieee1275/nand.c'.
27418 2008-04-25 Bean <bean123ch@gmail.com>
27420 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
27423 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
27424 change the buffer size to 4096 for cdrom device.
27426 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
27428 (_linux_mod_SOURCES): New variable.
27429 (_linux_mod_CFLAGS): Likewise.
27430 (_linux_mod_LDFLAGS): Likewise.
27431 (linux_mod_SOURCES): Likewise.
27432 (linux_mod_CFLAGS): Likewise.
27433 (linux_mod_LDFLAGS): Likewise.
27434 (nand_mod_SOURCES): Likewise.
27435 (nand_mod_CFLAGS): Likewise.
27436 (nand_mod_LDFLAGS): Likewise.
27438 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
27439 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
27440 type property. (nand device in olpc don't have this property)
27442 * include/grub/disk.h (grub_disk_dev_id): New macro
27443 GRUB_DISK_DEVICE_NAND_ID.
27445 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
27446 function prototype.
27447 (grub_rescue_cmd_initrd): Likewise.
27449 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
27450 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
27451 ofw_cif_handler and ofw_idt, adjust padding number.
27453 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
27454 GRUB_MACHINE_IEEE1275 is defined.
27456 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
27457 Use NESTED_FUNC_ATTR attribute on the hook parameter.
27459 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
27460 on nested function heap_init.
27461 (grub_upper_mem): New variable for i386-ieee1275.
27462 (grub_get_extended_memory): New function for i386-ieee1275.
27463 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
27465 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
27466 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
27469 * loader/i386/ieee1275/linux.c: New file.
27471 * loader/i386/ieee1275/linux_normal.c: New file.
27473 * disk/ieee1275/nand.c: New file.
27475 2008-04-18 Thomas Schwinge <tschwinge@gnu.org>
27477 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
27479 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
27481 2008-04-18 Robert Millan <rmh@aybabtu.com>
27483 Restructures early code path on ieee1275 to unify grub_main() as
27484 the first C function that is executed in every platform.
27486 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
27487 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
27489 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
27490 * kern/ieee1275/cmain.c (cmain): Rename to ...
27491 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
27492 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
27495 2008-04-18 Robert Millan <rmh@aybabtu.com>
27497 * util/update-grub.in: Fix syntax error when setting
27498 `GRUB_PRELOAD_MODULES'.
27499 Reported by Stephane Chazelas <stephane@artesyncp.com>
27501 2008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
27503 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
27504 section into account, newer toolchains generate unique build ids
27505 * configure.ac: remove the test for --build-id=none acceptance,
27506 we want build ids to be preserved
27507 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
27508 far from other sections don't cause the raw binary images grow
27511 2008-04-15 Robert Millan <rmh@aybabtu.com>
27513 * disk/lvm.c: Update copyright year.
27514 * kern/misc.c: Likewise.
27516 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
27518 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
27519 there is no memory left for physical volume name.
27521 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
27523 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
27524 volume name mapping to support bigger than 9 character names properly.
27526 2008-04-13 Robert Millan <rmh@aybabtu.com>
27528 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
27529 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
27531 2008-04-13 Christian Franke <franke@computer.org>
27533 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
27534 to create a floppy emulation boot CD when non emulation mode
27536 Enable Joliet CD filesystem extension.
27538 2008-04-13 Robert Millan <rmh@aybabtu.com>
27540 * kern/misc.c (grub_strncat): Fix off-by-one error.
27541 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
27543 * kern/env.c (grub_env_context_close): Clear current context, not
27545 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
27547 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
27549 2008-04-13 Robert Millan <rmh@aybabtu.com>
27551 Improve robustness when handling LVM.
27553 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
27554 (and leave `*p' unmodified).
27555 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
27557 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
27558 iterating through it.
27559 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
27561 (grub_lvm_scan_device): Check the return value (and fail gracefully
27562 when due) on each grub_lvm_getvalue() or grub_strstr() call.
27563 Don't assume `vg->pvs != NULL' when iterating through it.
27565 2008-04-13 Robert Millan <rmh@aybabtu.com>
27567 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
27568 * genmk.rb (partmap): New variable.
27569 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
27570 (#{partmap}): New target rule.
27571 * genpartmaplist.sh: New file.
27572 * Makefile.in (pkglib_DATA): Add partmap.lst.
27573 (partmap.lst): New target rule.
27574 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
27575 modules (including all partition maps), instead of preloading them.
27577 2007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
27579 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
27580 `linux-boot-prober' (if installed) to detect other operating
27581 systems which are installed on the computer and add them to
27583 * conf/common.rmk: Build and install 30_os-prober.
27585 2008-04-12 Robert Millan <rmh@aybabtu.com>
27587 * kern/powerpc/ieee1275/init.c: Move from here ...
27588 * kern/ieee1275/init.c: ... to here. Update all users.
27590 * kern/powerpc/ieee1275/cmain.c: Move from here ...
27591 * kern/ieee1275/cmain.c: ... to here. Update all users.
27593 * kern/powerpc/ieee1275/openfw.c: Move from here ...
27594 * kern/ieee1275/openfw.c: ... to here. Update all users.
27596 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
27597 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
27599 2008-04-10 Pavel Roskin <proski@gnu.org>
27601 * configure.ac: Always use "_cv_" in cache variables for
27602 compatibility with Autoconf 2.62.
27604 2008-04-07 Robert Millan <rmh@aybabtu.com>
27606 Revert grub/machine/init.h addition by Pavel (since it breaks on
27607 i386-ieee1275 and others):
27608 * util/i386/pc/misc.c: Remove grub/machine/init.h.
27609 * util/powerpc/ieee1275/misc.c: Likewise.
27611 2008-04-07 Robert Millan <rmh@aybabtu.com>
27613 * util/grub-probe.c (probe): Improve error message.
27615 2008-04-07 Robert Millan <rmh@aybabtu.com>
27617 * util/biosdisk.c (read_device_map): Skip devices that don't exist
27618 (this prevents the presence of a bogus entry from ruining the whole
27621 2008-04-06 Pavel Roskin <proski@gnu.org>
27623 * util/biosdisk.c: Include grub/util/biosdisk.h.
27624 * util/grub-fstest.c (execute_command): Make static.
27625 * util/grub-mkdevicemap.c (check_device): Likewise.
27626 * util/i386/pc/misc.c: Include grub/machine/init.h.
27627 * util/powerpc/ieee1275/misc.c: Likewise.
27628 * util/lvm.c: Include grub/util/lvm.h.
27629 * util/misc.c: Include grub/kernel.h, grub/misc.h and
27631 * util/raid.c: Include grub/util/raid.h.
27632 (grub_util_getdiskname): Make static.
27634 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
27635 grub_hostfs_fini(), as they are called from grub_init_all() and
27636 grub_fini_all() respectively. This fixes an infinite loop in
27637 grub-fstest due to double registration of hostfs.
27638 Reported by Christian Franke <Christian.Franke@t-online.de>
27640 2008-04-05 Pavel Roskin <proski@gnu.org>
27642 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
27643 all 8 functions. Otherwise, probe function 0 only.
27645 2008-04-04 Pavel Roskin <proski@gnu.org>
27647 * commands/lspci.c (grub_lspci_iter): Print the bus number
27650 * commands/lspci.c (grub_pci_classes): Fix typos.
27651 (grub_lspci_iter): Don't print func twice. Print vendor ID
27652 before device ID, as it's normally done.
27654 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
27655 Fix signedness warnings.
27656 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
27658 * util/ieee1275/get_disk_name.c: Include config.h so that
27659 _GNU_SOURCE is defined and getline() is declared. Mark an
27660 unused argument as such. Fix a signedness warning.
27662 2008-04-02 Pavel Roskin <proski@gnu.org>
27664 * genkernsyms.sh.in: Use more robust assignments for CC and
27665 srcdir. Quote srcdir.
27666 * gensymlist.sh.in: Likewise. Assert at the compile time that
27667 the symbol table is not empty.
27669 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
27670 * fs/cpio.c (grub_cpio_read): Likewise.
27672 2008-04-01 Pavel Roskin <proski@gnu.org>
27674 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
27675 * disk/host.c (grub_host_open): Likewise.
27676 * disk/loopback.c (grub_loopback_open): Likewise.
27677 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
27678 disk->id as in disk/host.c, not a multi-character constant.
27680 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
27681 later is obsolete, potentially dangerous and sets a bad example.
27682 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
27683 * util/misc.c (grub_util_get_image_size): Likewise.
27685 * disk/loopback.c (options): Improve help for "--partitions".
27687 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
27688 options to align them with the short options, e.g. "echo -e".
27690 2008-03-31 Bean <bean123ch@gmail.com>
27692 * video/reader/png.c (grub_png_data): New member is_16bit and
27694 (grub_png_decode_image_header): Detect 16 bit png image.
27695 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
27696 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
27697 (grub_video_reader_png): Release memory occupied by image_data.
27699 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
27701 (grub_nfs_mount): Skip the test for sector per cluster.
27703 * include/grub/ntfs.h (MAX_SPC): Removed.
27705 2008-03-31 Bean <bean123ch@gmail.com>
27707 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
27708 (grub_probe_SOURCES): Add fs/afs.c.
27709 (grub_fstest_SOURCES): Likewise.
27710 (afs_mod_SOURCES): New variable.
27711 (afs_mod_CFLAGS): Likewise.
27712 (afs_mod_LDFLAGS): Likewise.
27714 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
27715 (grub_emu_SOURCES): Likewise.
27717 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
27719 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27721 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
27723 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27725 * fs/afs.c: New file.
27727 2008-03-30 Pavel Roskin <proski@gnu.org>
27729 * disk/host.c: Include grub/misc.h to fix a warning.
27730 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
27731 warnings about implicit declarations.
27733 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
27735 * include/grub/i386/loader.h: Change declaration of
27736 grub_linux_boot() to match what grub_loader_set() expects.
27737 * util/getroot.c (grub_guess_root_device): Return const char* to
27739 * util/grub-probe.c (probe): Fix a warning about uninitialized
27740 abstraction_name variable.
27741 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
27742 second argument as unused to fix a warning.
27744 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
27745 missing grub_error() call.
27747 * util/update-grub_lib.in: Define datarootdir, since Autoconf
27748 2.60 and newer uses it to define datadir.
27750 * commands/sleep.c: Fix warning about implicit declaration.
27751 * disk/memdisk.c: Likewise.
27752 * loader/aout.c: Likewise.
27753 * loader/i386/bsd_normal.c: Likewise.
27754 * util/grub-probe.c: Likewise.
27756 * commands/i386/cpuid.c (has_longmode): Make static.
27757 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
27758 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
27760 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
27761 GDT. This is more robust, as %ds can change.
27762 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
27763 calling real_to_prot().
27764 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
27766 2008-03-28 Pavel Roskin <proski@gnu.org>
27768 * kern/i386/pc/startup.S: Assert that uncompressed functions
27769 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
27770 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
27771 code, as they push parts of the code (error handlers) beyond
27772 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
27773 code as correctness and size.
27775 2008-03-28 Pavel Roskin <proski@gnu.org>
27777 * kern/i386/pc/startup.S
27778 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
27779 data block address to the real mode, keep offset minimal. This
27780 works around a bug in AWARD BIOS on old Athlon systems, which
27781 makes CD detection hang.
27783 2008-03-26 Pavel Roskin <proski@gnu.org>
27785 * normal/color.c (grub_parse_color_name_pair): Make `name' a
27787 * include/grub/normal.h: Add grub_parse_color_name_pair()
27790 2008-03-24 Bean <bean123ch@gmail.com>
27792 * disk/i386/pc/biosdisk.c (cd_start): Removed.
27793 (cd_count): Removed.
27794 (cd_drive): New variable.
27795 (grub_biosdisk_get_drive): Don't check for (cdN) device.
27796 (grub_biosdisk_call_hook): Likewise.
27797 (grub_biosdisk_iterate): Change cdrom detection method.
27798 (grub_biosdisk_open): Replace cd_start with cd_drive.
27799 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
27800 detect cdrom device.
27802 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
27804 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
27805 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
27806 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
27807 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
27808 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
27809 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
27810 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
27811 (grub_biosdisk_cdrp): New structure.
27812 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
27814 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
27816 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
27819 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
27822 2008-03-20 Robert Millan <rmh@aybabtu.com>
27824 Remove 2 TiB limit in ata.mod.
27825 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
27826 (grub_ata_dumpinfo): Print sector count with 0x%llx.
27827 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
27828 grub_uint64_t instead of grub_uint32_t.
27830 2008-03-05 Bean <bean123ch@gmail.com>
27832 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
27833 (grub_multiboot): Set boot device.
27835 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
27837 2008-03-02 Bean <bean123ch@gmail.com>
27839 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
27842 2008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
27844 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
27847 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
27850 * docs/fdl.texi: New file.
27852 * docs/mdate-sh: New file. Copied from gnulib.
27853 * docs/texinfo.tex: Likewise.
27855 * config.guess: Updated from gnulib.
27856 * install-sh: Likewise.
27858 2008-02-28 Robert Millan <rmh@aybabtu.com>
27860 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
27861 (aout_mod_SOURCES): New variable.
27862 (aout_mod_CFLAGS): Likewise.
27863 (aout_mod_LDFLAGS): Likewise.
27865 * conf/i386-ieee1275.rmk: Likewise.
27867 2008-02-28 Robert Millan <rmh@aybabtu.com>
27869 * util/update-grub.in: Reorganise terminal validity check. Accept
27870 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
27871 Based on suggestion by Franklin PIAT.
27873 2008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
27875 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
27877 * util/getroot.c (grub_util_check_block_device): New function that
27878 returns the given argument if it is a block device and returns NULL else.
27879 * util/grub-probe.c (argument_is_device): New variable.
27880 (probe): Promote device_name from a variable to an argument. Receive
27881 device_name from grub_util_check_block_device() if path is NULL and from
27882 grub_guess_root_device() else. Do not free() device_name anymore.
27883 (options): Introduce new parameter '-d, --device'.
27884 (main): Add description of the new parameter to the help screen.
27885 Rename path variable to argument. Set argument_is_device if the '-d'
27886 option is given. Pass argument to probe() depending on
27887 argument_is_device.
27889 2008-02-24 Bean <bean123ch@gmail.com>
27891 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
27892 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
27893 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
27894 (GRUB_ISO9660_VOLDESC_PART): Likewise.
27895 (GRUB_ISO9660_VOLDESC_END): Likewise.
27896 (grub_iso9660_primary_voldesc): New member escape.
27897 (grub_iso9660_data): New member joliet.
27898 (grub_iso9660_convert_string): New function.
27899 (grub_iso9660_mount): Detect joliet extension.
27900 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
27901 (grub_iso9660_iso9660_label): Likewise.
27903 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
27904 (grub_setup_SOURCES): Add fs/udf.c.
27905 (grub_fstest_SOURCES): Likewise.
27906 (udf_mod_SOURCES): New variable.
27907 (udf_mod_CFLAGS): Likewise.
27908 (udf_mod_LDFLAGS): Likewise.
27910 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
27911 (grub_emu_SOURCES): Likewise.
27913 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
27915 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27917 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
27919 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27921 * fs/udf.c: New file.
27923 2008-02-24 Robert Millan <rmh@aybabtu.com>
27925 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
27926 (normal/lexer.c_DEPENDENCIES): New variables.
27927 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
27928 (normal/lexer.c_DEPENDENCIES): Likewise.
27929 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
27930 (normal/lexer.c_DEPENDENCIES): Likewise.
27931 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
27932 (normal/lexer.c_DEPENDENCIES): Likewise.
27933 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
27934 (normal/lexer.c_DEPENDENCIES): Likewise.
27935 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
27936 (normal/lexer.c_DEPENDENCIES): Likewise.
27938 2008-02-23 Robert Millan <rmh@aybabtu.com>
27940 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
27941 since they were intended to be in hex. This didn't break previously
27942 because of a bug in gpt_partition_map_iterate() (see below).
27944 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
27945 when checking the validity of GPT header.
27946 Remove `partno', since it always provides the same information as `i'.
27948 2008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
27950 * include/grub/efi/time.h: Fix a wrong comment.
27952 2008-02-19 Pavel Roskin <proski@gnu.org>
27954 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
27957 2008-02-19 Bean <bean123ch@gmail.com>
27959 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
27960 (aout_mod_SOURCES): New variable.
27961 (aout_mod_CFLAGS): Likewise.
27962 (aout_mod_LDFLAGS): Likewise.
27963 (_bsd_mod_SOURCES): New variable.
27964 (_bsd_mod_CFLAGS): Likewise.
27965 (_bsd_mod_LDFLAGS): Likewise.
27966 (bsd_mod_SOURCES): New variable.
27967 (bsd_mod_CFLAGS): Likewise.
27968 (bsd_mod_LDFLAGS): Likewise.
27970 * include/grub/aout.h: New file.
27972 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
27974 * include/grub/i386/bsd.h: New file.
27976 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
27979 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
27980 function is called, so that it's possible to change it inside the hook.
27981 (grub_elf64_load): Likewise.
27982 (grub_elf_file): Don't close the file if elf header is not found.
27983 (grub_elf_close): Close the file if grub_elf_file fails (The new
27984 grub_elf_file won't close it).
27985 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
27986 (grub_elf64_size): Likewise.
27988 * kern/i386/loader.S (grub_unix_real_boot): New function.
27990 * loader/aout.c: New file.
27992 * loader/i386/bsd.c: New file.
27994 * loader/i386/bsd_normal.c: New file.
27996 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
27998 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
27999 can test other formats.
28001 2008-02-19 Robert Millan <rmh@aybabtu.com>
28003 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
28004 (grub_gpt_partition_type_empty): Redefine with macro from
28005 `<grub/gpt_partition.h>'.
28006 (gpt_partition_map_iterate): Adjust partition type comparison.
28008 Export `entry' as partmap-specific `part.data' struct.
28009 (grub_gpt_header, grub_gpt_partentry): Move from here ...
28011 * include/grub/gpt_partition.h (grub_gpt_header)
28012 (grub_gpt_partentry): ... to here (new file).
28014 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
28016 (grub_gpt_partition_type_bios_boot): New const variable, defined
28017 with macro from `<grub/gpt_partition.h>'.
28019 (setup): Replace `first_start' with `embed_region', which keeps
28020 track of the embed region (and is partmap-agnostic).
28022 Replace find_first_partition_start() with find_usable_region(),
28023 which finds a usable region for embedding using partmap-specific
28024 knowledge (supports PC/MSDOS and GPT).
28026 Fix all assumptions that the embed region start at sector 1, using
28027 `embed_region.start' from now on. Similarly, use `embed_region.end'
28028 rather than `first_start' to calculate available size.
28030 In grub_util_info() message, replace "into after the MBR" with an
28031 indication of the specific sector our embed region starts at.
28033 2008-02-19 Robert Millan <rmh@aybabtu.com>
28035 * DISTLIST: Replace `commands/ieee1275/halt.c' and
28036 `commands/ieee1275/reboot.c' with `commands/halt.c' and
28037 `commands/reboot.c'.
28038 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
28039 (halt_mod_SOURCES): Likewise.
28040 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
28041 (halt_mod_SOURCES): Likewise.
28043 2008-02-17 Christian Franke <franke@computer.org>
28045 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
28047 2008-02-17 Robert Millan <rmh@aybabtu.com>
28049 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
28050 set `first_start' to 0 for non-PC/MSDOS partition maps.
28052 2008-02-16 Robert Millan <rmh@aybabtu.com>
28054 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
28055 do not assume partition map is PC/MSDOS before performing checks that
28056 are specific to that layout.
28058 2008-02-13 Robert Millan <rmh@aybabtu.com>
28060 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
28061 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
28062 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
28064 2008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
28066 * configure.ac: Only a cosmetic change on the handling of
28067 -fno-stack-protector.
28069 2008-02-12 Alexandre Boeglin <alex@boeglin.org>
28071 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
28072 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
28074 (grub_install_SOURCES): Add halt.mod and reboot.mod.
28075 (halt_mod_SOURCES): New variable.
28076 (halt_mod_CFLAGS): Likewise.
28077 (halt_mod_LDFLAGS): Likewise.
28078 (reboot_mod_SOURCES): Likewise.
28079 (reboot_mod_CFLAGS): Likewise.
28080 (reboot_mod_LDFLAGS): Likewise.
28082 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
28083 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
28085 (halt_mod_SOURCES): Likewise.
28086 (reboot_mod_SOURCES): Likewise.
28088 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
28089 commands/i386/pc/reboot.c by commands/reboot.c.
28090 (reboot_mod_SOURCES): Likewise.
28092 * commands/i386/pc/reboot.c: merge this file ...
28094 * commands/ieee1275/reboot.c: ... and this file ...
28096 * commands/reboot.c: ... to this file.
28097 Add some precompiler directive to include the correct header for
28100 * commands/ieee1275/halt.c: move this file ...
28102 * commands/halt.c: ... to here.
28103 Add some precompiler directive to include the correct header for
28106 * include/grub/efi/efi.h (grub_reboot): New function declaration.
28107 (grub_halt): Likewise.
28109 * kern/efi/efi.c (grub_reboot): New function.
28110 (grub_halt): Likewise.
28112 2008-02-12 Robert Millan <rmh@aybabtu.com>
28114 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
28115 /dev (like it is done for /dev/mapper). This doesn't provide support
28116 for EVMS, but at least it is now easy to identify the problem when it
28119 2008-02-11 Robert Millan <rmh@aybabtu.com>
28121 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
28122 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
28123 comparing it with -1, not 0.
28125 2008-02-10 Robert Millan <rmh@aybabtu.com>
28127 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
28129 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28130 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
28132 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
28133 `disk/lvm.c' to the end of the list.
28134 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
28135 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
28137 2008-02-10 Robert Millan <rmh@aybabtu.com>
28139 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
28140 grub_print_error() instead. This will let user know why we're entering
28142 Based on suggestions from Sam Morris.
28144 2008-02-10 Alexandre Boeglin <alex@boeglin.org>
28146 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
28147 on remaining N args, instead of "--" arg N times.
28149 2008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
28151 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
28152 (fill_with_default_glyph): Changed to use unknown_glyph for fill
28153 pattern for unknown glyphs.
28155 2008-02-09 Robert Millan <rmh@aybabtu.com>
28157 * configure.ac: Probe for `help2man'.
28158 * Makefile.in (builddir): New variable.
28159 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
28160 or otherwise add a few flags/options to it.
28161 (install-local): For every executable utility or script that is
28162 installed, invoke $(HELP2MAN) to install a manpage based on --help
28165 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
28166 that it doesn't prevent --help from working in build tree.
28168 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
28169 with `bug-grub@gnu.org'.
28170 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
28171 * util/update-grub.in (usage): New function.
28172 Implement proper argument check, with support for --help and --version
28173 (as well as existing -y).
28175 2008-02-09 Christian Franke <franke@computer.org>
28177 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
28178 avoid overwriting previous output.
28179 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
28181 2008-02-09 Robert Millan <rmh@aybabtu.com>
28183 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
28186 2008-02-09 Robert Millan <rmh@aybabtu.com>
28188 * commands/sleep.c: New file.
28189 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
28190 (sleep_mod_SOURCES): New variable.
28191 (sleep_mod_CFLAGS): Likewise.
28192 (sleep_mod_LDFLAGS): Likewise.
28194 2008-02-09 Robert Millan <rmh@aybabtu.com>
28196 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
28197 situations in which we can deduce the RAID size and the superblock
28200 2008-02-09 Robert Millan <rmh@aybabtu.com>
28202 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
28203 and return a grub_diskmemberlist_t composed of LVM physical volumes.
28204 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
28206 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
28207 and return a grub_diskmemberlist_t composed of physical array members.
28208 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
28210 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
28212 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
28213 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
28214 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
28216 * util/grub-probe.c (probe): Move partmap probing code from here ...
28217 (probe_partmap): ... to here.
28218 (probe): Use probe_partmap() once for the disk we're probing, and
28219 additionally, when such disk contains a memberlist() struct member,
28220 once for each disk that is contained in the structure returned by
28223 2008-02-09 Robert Millan <rmh@aybabtu.com>
28225 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
28226 environment variable to 'all' in order to obtain debug output from
28228 * util/i386/pc/grub-setup.c (main): Likewise.
28230 2008-02-08 Robert Millan <rmh@aybabtu.com>
28232 * disk/raid.c (grub_raid_scan_device): Check for
28233 `array->device[sb.this_disk.number]' rather than for
28234 `array->device[sb.this_disk.number]->name', since the latter is not
28235 guaranteed to be accessible.
28237 2008-02-08 Robert Millan <rmh@aybabtu.com>
28239 * disk/raid.c: Update copyright.
28240 * fs/cpio.c: Likewise.
28241 * include/grub/raid.h: Likewise.
28242 * loader/i386/pc/multiboot.c: Likewise.
28243 * util/hostfs.c: Likewise.
28245 2008-02-08 Robert Millan <rmh@aybabtu.com>
28247 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
28248 to a grub_disk_t array.
28249 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
28251 (grub_raid_scan_device): Replace `device[x].name' accesses with
28252 `device[x]->name'. Simplify initialization of `array->device[x]'.
28254 2008-02-08 Robert Millan <rmh@aybabtu.com>
28256 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
28257 grub_dprintf() calls.
28258 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
28261 2008-02-07 Christian Franke <franke@computer.org>
28263 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
28264 instead of fseek and ftell to support large files.
28265 (grub_hostfs_read): Likewise.
28267 2008-02-07 Robert Millan <rmh@aybabtu.com>
28269 Patch from Jeroen Dekkers.
28270 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
28271 failure, since successfully reading all array members might not be
28274 2008-02-06 Robert Millan <rmh@aybabtu.com>
28276 * util/grub-probe.c (probe): Simplify partmap probing (with the
28277 assumption that the first word up to the underscore equals to
28280 2008-02-06 Christian Franke <franke@computer.org>
28282 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
28283 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
28284 last block of a cpio or tar stream.
28285 Check for "TRAILER!!!" instead of any empty data
28286 block to detect last block of a cpio stream.
28287 (grub_cpio_dir): Fix constness of variable np.
28288 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
28289 cpio or tar trailer is detected. This fixes a crash
28290 on open of a non existing file.
28292 2008-02-05 Bean <bean123ch@gmail.com>
28294 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
28296 (grub_multiboot_load_elf64): Likewise.
28297 (grub_multiboot): Initialize mbi structure.
28299 * util/grub-fstest.c: Don't include unused header file script.h.
28301 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
28303 (grub_fstest_SOURCES): Likewise.
28305 2008-02-05 Robert Millan <rmh@aybabtu.com>
28307 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
28308 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
28309 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
28310 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
28312 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
28313 (translation_table): Replace hardcoded values with macros
28314 provided by `<grub/term.h>'.
28316 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
28317 (keyboard_map): Correct/add a few values, with macros provided
28318 by `<grub/term.h>'.
28319 (keyboard_map_shift): Zero values that don't differ from their
28320 `keyboard_map' equivalents.
28321 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
28322 Discard the second scan code that is always sent by Caps lock.
28323 Only use `keyboard_map_shift' when it provides a non-zero value,
28324 otherwise fallback to `keyboard_map'.
28326 2008-02-04 Bean <bean123ch@gmail.com>
28328 * Makefile.in (enable_grub_fstest): New variable.
28330 * conf/common.rmk (grub_fstest_init.lst): New rule.
28331 (grub_fstest_init.h): Likewise.
28332 (grub_fstest_init.c): Likewise.
28333 (util/grub-fstest.c_DEPENDENCIES): New variable.
28334 (grub_fstest_SOURCES): Likewise.
28336 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
28338 * util/grub-fstest.c: New file.
28340 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
28342 Make grub-setup handle a separate root device.
28344 * util/i386/pc/grub-setup.c (setup): Always open the root device,
28345 so that the root device can be compared with the destination
28347 When embedding the core image, if the root and destination devices
28348 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
28350 When not embedding, set ROOT_DRIVE to 0xFF.
28352 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
28354 Add support for having a grub directory in a different drive. This
28355 is still only the data handling part.
28357 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
28358 (codestart): Save %dh in GRUB_ROOT_DRIVE.
28359 (grub_root_drive): New variable.
28361 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
28362 instead of GRUB_BOOT_DRIVE to construct a device name. Set
28363 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
28366 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
28368 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
28370 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
28372 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
28373 is bogus, because PXE booting does not specify any drive
28376 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
28377 am not sure if this is really correct.
28379 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
28380 is always identical to the boot drive when booting from a CD.
28382 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
28384 (root_drive): New variable.
28385 (real_start): Unconditionally set %dh to ROOT_DRIVE.
28386 (setup_sectors): Push %dx right after popping it, because %dh will
28388 (copy_buffer): Restore %dx.
28390 2008-02-03 Robert Millan <rmh@aybabtu.com>
28392 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
28393 use `cdboot.img' for cdrom images.
28395 2008-02-03 Robert Millan <rmh@aybabtu.com>
28397 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
28398 only setup gfxterm when `font' command has succeeded.
28400 2008-02-03 Robert Millan <rmh@aybabtu.com>
28402 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
28403 (grub_rescue_cmd_multiboot_loader)
28404 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
28406 2008-02-03 Pavel Roskin <proski@gnu.org>
28408 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
28409 %edx and %esi from stack only after grub_gate_a20() is called.
28410 grub_gate_a20() clobbers %edx.
28412 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
28414 * configure.ac (AC_INIT): Bumped to 1.96.
28416 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
28417 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
28418 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
28419 video/readers/png.c.
28421 2008-02-03 Bean <bean123ch@gmail.com>
28423 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
28424 (cdboot_img_SOURCES): New variable.
28425 (cdboot_img_ASFLAGS): New variable.
28426 (cdboot_img_LDFLAGS): New variable.
28428 * boot/i386/pc/cdboot.S: New file.
28430 * disk/i386/pc/biosdisk.c (cd_start): New variable.
28431 (cd_count): Likewise.
28432 (grub_biosdisk_get_drive): Add support for cd device.
28433 (grub_biosdisk_call_hook): Likewise.
28434 (grub_biosdisk_iterate): Likewise.
28435 (grub_biosdisk_open): Likewise.
28436 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
28437 (grub_biosdisk_rw): Support reading from cd device.
28438 (GRUB_MOD_INIT): Iterate cd devices.
28440 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
28441 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
28442 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
28444 * kern/i386/pc/init.c (make_install_device): Check for cd device.
28446 2008-02-02 Robert Millan <rmh@aybabtu.com>
28448 * commands/read.c: New file.
28449 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
28450 (read_mod_SOURCES): New variable.
28451 (read_mod_CFLAGS): Likewise.
28452 (read_mod_LDFLAGS): Likewise.
28454 2008-02-02 Robert Millan <rmh@aybabtu.com>
28456 * normal/main.c (grub_normal_execute): Check for `menu->size' when
28457 determining whether menu has to be displayed.
28459 2008-02-02 Marco Gerards <marco@gnu.org>
28461 * bus/pci.c: New file.
28463 * include/grub/pci.h: Likewise.
28465 * include/grub/i386/pc/pci.h: Likewise.
28467 * commands/lspci.c: Likewise.
28469 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
28471 (pci_mod_SOURCES): New variable.
28472 (pci_mod_CFLAGS): Likewise.
28473 (pci_mod_LDFLAGS): Likewise.
28474 (lspci_mod_SOURCES): Likewise.
28475 (lspci_mod_CFLAGS): Likewise.
28476 (lspci_mod_LDFLAGS): Likewise.
28478 2008-02-02 Bean <bean123ch@gmail.com>
28480 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
28481 (grub_ufs_get_file_block): Fix indirect block calculation problem.
28483 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
28484 (grub_xfs_btree_node): New structure.
28485 (grub_xfs_btree_root): New structure.
28486 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
28487 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
28488 (GRUB_XFS_EXTENT_BLOCK): Likewise.
28489 (GRUB_XFS_EXTENT_SIZE): Likewise.
28490 (grub_xfs_read_block): Support btree format type.
28491 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
28492 Use directory block as basic unit.
28494 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
28496 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
28497 __attribute__ ((__regparm__ (1))).
28499 2008-02-01 Robert Millan <rmh@aybabtu.com>
28501 Correct a mistake in previous commit.
28503 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
28505 (normal/command.c_DEPENDENCIES): New variable.
28507 2008-02-01 Robert Millan <rmh@aybabtu.com>
28509 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
28511 (normal/command.c_DEPENDENCIES): New variable.
28512 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
28513 * conf/i386-ieee1275.rmk: Likewise.
28514 * conf/i386-linuxbios.rmk: Likewise.
28515 * conf/i386-pc.rmk: Likewise.
28516 * conf/sparc64-ieee1275.rmk: Likewise.
28517 * conf/powerpc-ieee1275.rmk: Likewise.
28518 (grub_emu_SOURCES): Add `fs/fshelp.c'.
28520 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
28522 2008-02-01 Robert Millan <rmh@aybabtu.com>
28524 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
28525 call at beginning of function.
28527 2008-01-31 Pavel Roskin <proski@gnu.org>
28529 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
28530 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
28531 (grub_mkrescue_SOURCES): Likewise.
28532 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
28534 2008-01-30 Robert Millan <rmh@aybabtu.com>
28536 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
28537 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
28538 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
28539 (grub_probe_SOURCES): ... to here.
28541 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
28542 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
28543 * conf/i386-ieee1275.rmk: Likewise.
28544 * conf/i386-linuxbios.rmk: Likewise.
28545 * conf/powerpc-ieee1275.rmk: Likewise.
28547 2008-01-30 Tristan Gingold <gingold@free.fr>
28549 * kern/rescue.c: Silently accept empty lines.
28551 2008-01-29 Bean <bean123ch@gmail.com>
28553 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
28554 (real_code_2): Code cleanup and change comment style.
28555 (move_memory): Avoid using 32-bit address mode.
28557 2008-01-29 Bean <bean123ch@gmail.com>
28559 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
28560 (png_mod_SOURCES): New variable.
28561 (png_mod_CFLAGS): Likewise.
28562 (png_mod_LDFLAGS): Likewise.
28564 * video/readers/png.c: New file.
28566 2008-01-28 Robert Millan <rmh@aybabtu.com>
28568 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
28569 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
28570 `ifndef GRUB_MOD_GAP' hack.
28571 * util/elf/grub-mkimage.c (add_segments): Likewise.
28573 2008-01-27 Robert Millan <rmh@aybabtu.com>
28575 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
28576 `GRUB_MOD_GAP' for platforms in which it's not defined.
28577 * util/elf/grub-mkimage.c (add_segments): Likewise.
28579 2008-01-27 Robert Millan <rmh@aybabtu.com>
28581 Get grub-emu to build again (including parallel builds).
28583 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
28585 (util/grub-emu.c_DEPENDENCIES): ... this, ...
28586 (normal/execute.c_DEPENDENCIES): ... this, ...
28587 (grub-emu_DEPENDENCIES): ... and this.
28589 * conf/i386-efi.rmk: Likewise.
28590 * conf/i386-linuxbios.rmk: Likewise.
28591 * conf/i386-ieee1275.rmk: Likewise.
28592 * conf/powerpc-ieee1275.rmk: Likewise.
28593 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
28595 2008-01-27 Robert Millan <rmh@aybabtu.com>
28597 * NEWS: Add a few items.
28599 2008-01-27 Robert Millan <rmh@aybabtu.com>
28601 Fix parallel builds with grub-emu. Based on earlier commit for
28602 grub-probe and grub-setup.
28604 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
28605 (util/grub-emu.c_DEPENDENCIES): ... this.
28606 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
28607 (util/grub-emu.c_DEPENDENCIES): ... this.
28608 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
28609 (util/grub-emu.c_DEPENDENCIES): ... this.
28610 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
28611 (util/grub-emu.c_DEPENDENCIES): ... this.
28612 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
28613 (util/grub-emu.c_DEPENDENCIES): ... this.
28615 2008-01-27 Pavel Roskin <proski@gnu.org>
28617 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
28618 to create a gap between _end and the modules added to the image
28619 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
28620 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
28621 * util/elf/grub-mkimage.c (add_segments): Likewise.
28623 2008-01-26 Pavel Roskin <proski@gnu.org>
28625 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
28626 just return an error.
28628 2008-01-26 Bean <bean123ch@gmail.com>
28630 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
28631 (grub_reiserfs_get_item): Save offset of the next item.
28632 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
28634 2008-01-25 Robert Millan <rmh@aybabtu.com>
28636 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
28637 make all filesystem sources appear together (possibly fixing omissions
28639 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
28640 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28641 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
28642 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28644 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
28646 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
28647 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
28648 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
28649 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
28651 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
28652 (probe): Add a sanity check to make sure of our ability to read
28653 requested files when probing for filesystem type.
28655 * genmk.rb: Update copyright year (2007).
28657 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
28658 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
28659 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
28660 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
28661 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
28662 : Remove function prototypes.
28664 2008-01-25 Robert Millan <rmh@aybabtu.com>
28666 Revert my previous commits (based on wrong assumption of how grub_errno
28669 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
28670 * kern/file.c (grub_file_open): Likewise.
28672 2008-01-24 Pavel Roskin <proski@gnu.org>
28674 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
28675 that hang if GRUB tries to setup colors.
28676 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
28677 colors for firmwares that don't support it.
28678 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
28679 Recognize Open Hack'Ware, set flags to work around its
28682 2008-01-24 Robert Millan <rmh@aybabtu.com>
28684 * kern/file.c (grub_file_open): Do not account previous failures of
28685 unrelated functions when grub_errno is checked for.
28686 Reported by Oleg Strikov.
28688 2008-01-24 Bean <bean123ch@gmail.com>
28690 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
28691 (grub_ufs_sblock): New member volume name.
28692 (grub_ufs_find_file): Fix string copy bug.
28693 (grub_ufs_label): Implement this function properly.
28695 * fs/hfs.c (grub_hfs_cnid_type): New enum.
28696 (grub_hfs_iterate_records): Use the correct file number for extents
28697 and catalog file. Fix problem in next index calculation.
28698 (grub_hfs_find_node): Replace recursive function call with loop.
28699 (grub_hfs_iterate_dir): Replace recursive function call with loop.
28701 2008-01-23 Robert Millan <rmh@aybabtu.com>
28703 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
28704 `<grub/symbol.h>' and `<grub/multiboot.h>'.
28705 (grub_multiboot2_real_boot): New function prototype.
28707 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
28708 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
28710 * kern/i386/ieee1275/init.c (grub_os_area_addr)
28711 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
28713 2008-01-23 Robert Millan <rmh@aybabtu.com>
28715 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
28716 #ifdef'ed out grub_printf().
28718 2008-01-23 Robert Millan <rmh@aybabtu.com>
28720 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
28721 grub_dprintf calls, since they make "debug=all" mode unusable.
28722 (grub_console_checkkey): Likewise.
28724 2008-01-23 Robert Millan <rmh@aybabtu.com>
28726 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
28727 `term/i386/pc/at_keyboard.c'.
28728 (pkglib_MODULES): Add `serial.mod'.
28729 (serial_mod_SOURCES): New variable.
28730 (serial_mod_CFLAGS): Likewise.
28731 (serial_mod_LDFLAGS): Likewise.
28733 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
28734 `<grub/powerpc/ieee1275/console.h>'.
28735 (grub_keyboard_controller_init): New function prototype.
28736 (grub_console_checkkey): Likewise.
28737 (grub_console_getkey): Likewise.
28739 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
28742 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
28743 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
28745 2008-01-23 Robert Millan <rmh@aybabtu.com>
28747 * kern/i386/pc/init.c (make_install_device): When memdisk image is
28748 present, "(memdisk)/boot/grub" becomes the default prefix.
28750 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
28751 a memdisk tarball with all the modules. Add --overlay=DIR option that
28752 allows users to overlay additional files into the image.
28754 2008-01-23 Robert Millan <rmh@aybabtu.com>
28756 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
28757 and `machine/memory.h'.
28758 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
28759 (_multiboot_mod_SOURCES): New variable.
28760 (_multiboot_mod_CFLAGS): Likewise.
28761 (_multiboot_mod_LDFLAGS): Likewise.
28762 (multiboot_mod_SOURCES): Likewise.
28763 (multiboot_mod_CFLAGS): Likewise.
28764 (multiboot_mod_LDFLAGS): Likewise.
28766 * include/grub/i386/ieee1275/loader.h: New file.
28768 * include/grub/i386/ieee1275/machine.h: Likewise.
28770 * include/grub/i386/ieee1275/memory.h: Likewise.
28772 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
28773 variable declaration.
28774 (grub_os_area_size): Likewise.
28776 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
28777 (grub_lower_mem, grub_upper_mem): New variables.
28778 (grub_stop_floppy): New function (just to make
28779 grub_multiboot2_real_boot() happy).
28781 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
28782 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
28783 (grub_stop): New function.
28784 Include `"../realmode.S"' and `"../loader.S"'.
28786 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
28787 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
28789 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
28790 rely on grub_multiboot2_real_boot() for final boot.
28792 2008-01-22 Robert Millan <rmh@aybabtu.com>
28794 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
28795 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
28796 device that doesn't look like an SD card.
28797 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
28798 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
28799 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
28800 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
28803 2008-01-22 Robert Millan <rmh@aybabtu.com>
28805 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
28806 avoid claiming over our own code.
28808 2008-01-22 Bean <bean123ch@gmail.com>
28810 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
28811 (jpeg_mod_SOURCES): New variable.
28812 (jpeg_mod_CFLAGS): Likewise.
28813 (jpeg_mod_LDFLAGS): Likewise.
28815 * video/readers/jpeg.c : New file.
28817 2008-01-22 Bean <bean123ch@gmail.com>
28819 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
28820 there are no more items.
28822 2008-01-21 Robert Millan <rmh@aybabtu.com>
28824 * kern/mm.c (grub_mm_init_region): Improve debug message.
28826 2008-01-21 Robert Millan <rmh@aybabtu.com>
28828 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
28829 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
28831 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
28833 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
28834 Indicates start of upper memory.
28835 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
28836 (generate_image): Abort when image size is big enough to corrupt
28839 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
28840 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
28841 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
28842 instead of hardcoding 0xA0000.
28843 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
28844 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
28845 instead of hardcoding 0xA0000.
28847 2008-01-21 Robert Millan <rmh@aybabtu.com>
28849 * disk/memdisk.c (memdisk_size): New variable.
28850 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
28852 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
28853 image to dynamic memory.
28854 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
28855 `memdisk_size'. Free memdisk block.
28857 2008-01-21 Robert Millan <rmh@aybabtu.com>
28859 Fix detection of very small filesystems (like tar).
28861 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
28862 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
28863 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
28864 a problem with this disk).
28866 2008-01-21 Robert Millan <rmh@aybabtu.com>
28868 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
28869 on grub_biosdisk_rw_standard() error.
28871 2008-01-21 Robert Millan <rmh@aybabtu.com>
28873 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
28875 * kern/elf.c: Likewise.
28876 * kern/ieee1275/ieee1275.c: Likewise.
28877 * kern/powerpc/ieee1275/openfw.c: Likewise.
28878 * term/ieee1275/ofconsole.c: Likewise.
28880 2008-01-21 Robert Millan <rmh@aybabtu.com>
28882 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
28884 * include/grub/kernel.h (grub_arch_memdisk_addr)
28885 (grub_arch_memdisk_size): Moved from here ...
28887 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
28888 (grub_arch_memdisk_size): ... to here.
28890 2008-01-21 Robert Millan <rmh@aybabtu.com>
28892 Mostly based on bugfix from Bean.
28894 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
28895 attribute with hook() parameter.
28896 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
28898 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
28899 attribute with hook() parameter.
28900 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
28903 2008-01-21 Robert Millan <rmh@aybabtu.com>
28905 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
28906 (pkglib_MODULES): Add `memdisk.mod'.
28907 (memdisk_mod_SOURCES): New variable.
28908 (memdisk_mod_CFLAGS): Likewise.
28909 (memdisk_mod_LDFLAGS): Likewise.
28911 * disk/memdisk.c: New file.
28913 * include/grub/disk.h (grub_disk_dev_id): Add
28914 `GRUB_DISK_DEVICE_MEMDISK_ID'.
28916 * include/grub/i386/pc/kernel.h
28917 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
28918 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
28919 (grub_kernel_image_size): New variable declaration.
28920 (grub_total_module_size): Likewise.
28921 (grub_memdisk_image_size): Likewise.
28923 * include/grub/i386/pc/memory.h
28924 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
28926 * include/grub/kernel.h: Include `<grub/symbol.h>'.
28927 (grub_arch_memdisk_addr): New variable declaration.
28928 (grub_arch_memdisk_size): Likewise.
28930 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
28931 (grub_arch_memdisk_size): Likewise.
28933 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
28934 (codestart): Replace hardcoded `0x100000' with
28935 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
28937 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
28938 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
28939 not NULL, append the contents of the file it refers to, at the end of
28940 the compressed kernel image. Initialize `grub_memdisk_image_size'
28941 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
28942 (options): Add "memdisk"|'m' option.
28943 (main): Parse --memdisk|-m option, and pass user-provided path as
28944 parameter to generate_image().
28946 2008-01-20 Robert Millan <rmh@aybabtu.com>
28948 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
28949 grub_dprintf() calls from here ...
28950 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
28952 2008-01-20 Robert Millan <rmh@aybabtu.com>
28954 Fix detection of "real mode" when /options/real-mode? doesn't exist.
28956 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
28958 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
28959 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
28960 `GRUB_IEEE1275_FLAG_REAL_MODE'.
28961 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
28963 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
28964 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
28966 2008-01-19 Robert Millan <rmh@aybabtu.com>
28968 Get rid of confusing function (superseded by
28969 `grub_ieee1275_get_integer_property')
28970 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
28972 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
28974 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
28975 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
28976 in native endianness from grub_ieee1275_get_integer_property().
28978 2008-01-19 Robert Millan <rmh@aybabtu.com>
28980 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
28981 command after "shut-down", since implementations differ on which
28982 the command for halt is.
28984 2008-01-19 Robert Millan <rmh@aybabtu.com>
28986 * include/grub/i386/linuxbios/console.h: Add header protection.
28987 (grub_keyboard_controller_init): New function prototype.
28988 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
28989 (KEYBOARD_COMMAND_READ): Likewise.
28990 (KEYBOARD_COMMAND_WRITE): Likewise.
28991 (KEYBOARD_SCANCODE_SET1): Likewise.
28992 (grub_keyboard_controller_write): New function.
28993 (grub_keyboard_controller_read): Likewise.
28994 (grub_keyboard_controller_init): Likewise.
28996 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
28997 (grub_console_init): On coreboot/LinuxBIOS, call
28998 grub_keyboard_controller_init().
29000 2008-01-19 Robert Millan <rmh@aybabtu.com>
29002 PowerPC changes provided by Pavel Roskin.
29004 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
29005 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
29006 don't rely on cmain() doing it.
29007 * kern/i386/ieee1275/startup.S (_start): Store %eax in
29008 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
29010 2008-01-16 Robert Millan <rmh@aybabtu.com>
29012 * include/grub/i386/linuxbios/memory.h
29013 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
29014 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
29015 receive `table_header' as argument. Instead, probe for it in the
29016 known memory ranges where it can be present.
29017 (grub_available_iterate): Do not pass a fixed `table_header' address
29018 to grub_linuxbios_table_iterate().
29020 2008-01-15 Robert Millan <rmh@aybabtu.com>
29022 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
29023 * conf/i386-ieee1275.rmk: New file.
29024 * include/grub/i386/ieee1275/console.h: Likewise.
29025 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
29026 * include/grub/i386/ieee1275/kernel.h: Likewise.
29027 * include/grub/i386/ieee1275/time.h: Likewise.
29028 * kern/i386/ieee1275/init.c: Likewise.
29029 * kern/i386/ieee1275/startup.S: Likewise.
29031 2008-01-15 Robert Millan <rmh@aybabtu.com>
29033 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
29034 when pointers are 32-bit (but still do set it to one when they are
29037 2008-01-15 Robert Millan <rmh@aybabtu.com>
29039 * include/grub/ieee1275/ieee1275.h
29040 (grub_ieee1275_get_integer_property): New function prototype.
29042 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
29043 (grub_ieee1275_get_integer_property): New function. Wraps around
29044 grub_ieee1275_get_property() to handle endianness.
29046 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
29047 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
29049 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
29050 (grub_map): Likewise.
29051 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
29053 2008-01-15 Bean <bean123ch@gmail.com>
29055 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
29056 (grub_script_execute_cmdline): Reset grub_errno.
29058 * normal/main.c (read_config_file): Reset grub_errno.
29060 * normal/parse.y (script_init): New.
29061 (script): Move function and menuentry here.
29063 (command): Add delimiter at the end of command.
29064 (commands): Adjust to match the new command.
29065 (commandblock): Remove grub_script_lexer_record_start.
29066 (menuentry): Add grub_script_lexer_record_start, use the new commands.
29067 (if): Use the new commands.
29069 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
29071 2008-01-15 Robert Millan <rmh@aybabtu.com>
29073 * normal/menu.c (run_menu): Move timeout message from here ...
29074 (print_timeout): ... to here.
29075 (run_menu): Use print_timeout() once during initial draw to print
29076 the whole message, and again in every clock tick to update only
29077 the number of seconds.
29079 2008-01-15 Robert Millan <rmh@aybabtu.com>
29081 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
29082 actual size of `available' from grub_ieee1275_get_property(), and
29083 restrict parsing to that bound.
29085 2008-01-15 Christian Franke <franke@computer.org>
29087 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
29088 (argp_program_version): Remove variable.
29089 (argp_program_bug_address): Likewise.
29090 (options): Convert from struct argp_option to struct option.
29091 (struct arguments): Remove.
29092 (parse_opt): Remove.
29093 (usage): New function.
29094 (main): Replace struct args members by simple variables.
29095 Replace argp_parse() by getopt_long().
29096 Add switch to evaluate options.
29097 Add missing "(...)" around root_dev in prefix string.
29099 2008-01-14 Robert Millan <rmh@aybabtu.com>
29101 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
29102 for grub_ieee1275_exit(), in order to improve portability.
29104 2008-01-14 Robert Millan <rmh@aybabtu.com>
29106 * util/grub.d/10_linux.in (prefix): Define.
29107 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
29109 2008-01-13 Pavel Roskin <proski@gnu.org>
29111 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
29112 grub_errno if no errors have been detected.
29114 2008-01-12 Robert Millan <rmh@aybabtu.com>
29116 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
29117 (grub_util_get_dev_abstraction): New function prototype.
29119 * util/getroot.c: Include `<grub/util/getroot.h>'
29120 (grub_util_get_grub_dev): Move detection of abstraction type to ...
29121 (grub_util_get_dev_abstraction): ... here (new function).
29123 * util/grub-probe.c: Convert PRINT_* to an enum. Add
29124 `PRINT_ABSTRACTION'.
29125 (probe): Probe for abstraction type when requested.
29126 (main): Understand `--target=abstraction'.
29128 * util/i386/efi/grub-install.in: Add abstraction module to core
29129 image when it is found to be necessary.
29130 * util/i386/pc/grub-install.in: Likewise.
29131 * util/powerpc/ieee1275/grub-install.in: Likewise.
29133 * util/update-grub_lib.in (font_path): Return system path without
29134 converting to GRUB path.
29135 * util/update-grub.in: Convert system path returned by font_path()
29136 to a GRUB path. Use `grub-probe -t abstraction' to determine what
29137 abstraction module is needed for loading fonts (if any). Export
29138 that as `GRUB_PRELOAD_MODULES'.
29139 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
29142 2008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
29144 Remove some unused code from reiserfs.
29146 * fs/reiserfs.c (struct grub_reiserfs_key)
29147 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
29148 (struct grub_reiserfs_node_body): Removed.
29149 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
29151 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
29153 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
29155 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
29157 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
29159 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
29161 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
29162 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
29163 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
29165 2008-01-10 Robert Millan <rmh@aybabtu.com>
29167 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
29168 Determines if a file is garbage left by packaging systems, etc.
29169 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
29170 for processing /etc/grub.d scripts.
29171 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
29172 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
29173 as a condition for processing Linux images.
29175 2008-01-10 Pavel Roskin <proski@gnu.org>
29177 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
29178 to compile reiserfs.c on PowerPC.
29180 2008-01-10 Robert Millan <rmh@aybabtu.com>
29182 * kern/device.c (grub_device_iterate): Do not abort device iteration
29183 when one of the devices cannot be opened.
29184 * kern/disk.c (grub_disk_open): Do not account previous failures of
29185 unrelated functions when grub_errno is checked for.
29187 2008-01-08 Robert Millan <rmh@aybabtu.com>
29189 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
29190 `! grub_linux_is_bzimage', change order of address comparison to make
29191 it more intuitive, and improve "too big zImage" error message.
29193 2008-01-08 Robert Millan <rmh@aybabtu.com>
29195 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
29196 `$(update-grub_DATA)'.
29197 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
29200 2008-01-07 Robert Millan <rmh@aybabtu.com>
29202 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
29203 which instruction is modified by grub-setup during installation
29204 (since it wasn't obvious by only looking at this file).
29206 2008-01-07 Robert Millan <rmh@aybabtu.com>
29208 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
29209 listing actual TODO items.
29211 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
29213 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
29215 (grub_reiserfs_get_key_offset): Likewise.
29216 (grub_reiserfs_set_key_offset): Likewise.
29217 (grub_reiserfs_set_key_type): Likewise.
29218 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
29220 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
29221 better to remove the bitfield version completely.
29223 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
29225 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
29226 allocated from the heap, due to the fshelp implementation.
29227 (grub_reiserfs_dir): Free NODE, due to the same reason.
29229 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
29231 Mostly from Vincent Pelletier:
29233 * fs/reiserfs.c: New file.
29235 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
29236 (reiserfs_mod_SOURCES): New variable.
29237 (reiserfs_mod_CFLAGS): Likewise.
29238 (reiserfs_mod_LDFLAGS): Likewise.
29240 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
29241 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
29242 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
29245 2008-01-06 Robert Millan <rmh@aybabtu.com>
29247 * normal/color.c: Remove `<grub/env.h>'.
29249 2008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
29251 * include/grub/normal.h: Include <grub/env.h>.
29253 2008-01-05 Robert Millan <rmh@aybabtu.com>
29255 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
29256 usage example with `(hd0,1)'.
29257 Reported by Samuel Thibault.
29259 2008-01-05 Robert Millan <rmh@aybabtu.com>
29261 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
29262 (grub_linux_boot_zimage): Rename to ...
29263 (grub_linux_boot): ... this.
29264 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
29265 (grub_linux_boot_zimage): Conditionalize zImage copy.
29267 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
29268 (grub_linux_boot_bzimage): Remove prototype.
29269 (grub_linux_boot_zimage): Rename to ...
29270 (grub_linux_boot): ... this.
29272 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
29273 (grub_linux_boot): Remove function.
29275 2008-01-05 Robert Millan <rmh@aybabtu.com>
29277 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
29278 (grub_env_write_color_highlight): Likewise.
29279 (grub_wait_after_message): Likewise.
29281 * normal/color.c: New file.
29283 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
29284 (normal_mod_DEPENDENCIES): Likewise.
29286 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
29287 (normal_mod_DEPENDENCIES): Likewise.
29289 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
29290 (normal_mod_DEPENDENCIES): Likewise.
29292 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
29293 (normal_mod_DEPENDENCIES): Likewise.
29295 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
29296 for waiting after a message is printed.
29297 * normal/main.c (read_config_file): Likewise.
29298 (grub_normal_init): Register grub_env_write_color_normal() and
29299 grub_env_write_color_highlight() hooks. Mark `color_normal' and
29300 `color_highlight' variables as global.
29302 * normal/menu.c (grub_wait_after_message): New function.
29303 (grub_color_menu_normal): New variable. Replaces ...
29304 (GRUB_COLOR_MENU_NORMAL): ... this macro.
29305 (grub_color_menu_highlight): New variable. Replaces ...
29306 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
29307 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
29308 `GRUB_TERM_COLOR_STANDARD'.
29309 (print_message): Use `grub_setcolorstate' to reload colors. Rename
29310 `normal_code' and `highlight_code' to `old_color_normal' and
29311 `old_color_highlight', respectively.
29312 (grub_menu_init_page): Update colors when drawing the menu, based on
29313 `menu_color_normal' and `menu_color_highlight' variables.
29314 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
29315 a message is printed.
29317 2008-01-05 Robert Millan <rmh@aybabtu.com>
29319 * kern/env.c (grub_env_context_open): Propagate hooks for global
29320 variables to new context.
29322 * kern/main.c (grub_set_root_dev): Export `root' variable.
29324 2008-01-05 Robert Millan <rmh@aybabtu.com>
29326 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
29327 discs unconditionally, since udev and others have options to provide
29330 2008-01-05 Robert Millan <rmh@aybabtu.com>
29332 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
29334 2008-01-04 Christian Franke <franke@computer.org>
29336 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
29339 2008-01-03 Pavel Roskin <proski@gnu.org>
29341 * kern/i386/linuxbios/init.c: Put "void" to all function
29342 declarations with no arguments.
29343 * kern/powerpc/ieee1275/init.c: Likewise.
29344 * term/i386/pc/at_keyboard.c: Likewise.
29345 * term/i386/pc/vga_text.c: Likewise.
29346 * util/grub-mkdevicemap.c: Likewise.
29348 2008-01-02 Robert Millan <rmh@aybabtu.com>
29350 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
29351 message when loaded image is out of bounds.
29352 (grub_multiboot_load_elf64): Likewise.
29354 2008-01-02 Pavel Roskin <proski@gnu.org>
29356 * util/grub.d/10_linux.in: Try version without ".old" when
29357 looking for initrd. It's better to use initrd from the newer
29358 kernel of the same version than no initrd at all.
29360 2008-01-01 Robert Millan <rmh@aybabtu.com>
29362 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
29364 2008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
29366 * include/grub/video.h: Added grub_video_unmap_color and
29367 grub_video_get_active_render_target.
29368 (grub_video_adapter): Added unmap_color and get_active_render_target.
29370 * video/video.c: Added grub_video_unmap_color and
29371 grub_video_get_active_render_target.
29372 (grub_video_get_info): Changed method to accept NULL pointer as an
29373 argument to allow detection of active video adapter.
29375 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
29376 grub_video_vbe_unmap_color_int.
29377 Added grub_video_vbe_unmap_color and
29378 grub_video_vbe_get_active_render_target.
29379 (grub_video_vbe_adapter): Added unmap_color and
29380 get_active_render_target.
29382 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
29383 with grub_video_vbe_unmap_color_int.
29385 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
29386 (DEFAULT_NORMAL_COLOR): Likewise.
29387 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
29388 (DEFAULT_FG_COLOR): Removed.
29389 (DEFAULT_BG_COLOR): Likewise.
29390 (DEFAULT_CURSOR_COLOR): Changed value.
29391 (grub_virtual_screen): Added standard_color_setting,
29392 normal_color_setting, highlight_color_setting and term_color.
29393 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
29394 (bitmap_width): Added.
29395 (bitmap_height): Likewise.
29396 (bitmap): Likewise.
29397 (set_term_color): Likewise.
29398 (grub_virtual_screen_setup): Changed to use new terminal coloring
29400 (grub_gfxterm_init): Added init for bitmap.
29401 (grub_gfxterm_fini): Added destroy for bitmap.
29402 (redraw_screen_rect): Updated to use background bitmap and new
29404 (scroll_up): Added optimization for case when there is no bitmap.
29405 (grub_gfxterm_cls): Fixed to use correct background color.
29406 (grub_virtual_screen_setcolorstate): Changed to use new terminal
29408 (grub_virtual_screen_setcolor): Likewise.
29409 (grub_virtual_screen_getcolor): Added.
29410 (grub_gfxterm_background_image_cmd): Likewise.
29411 (grub_video_term): Added setcolor and getcolor.
29412 (MOD_INIT): Added registration of background_image command.
29413 (MOD_TERM): Added unregistration for background_image command.
29415 2007-12-30 Pavel Roskin <proski@gnu.org>
29417 * loader/multiboot_loader.c: Fix multiboot command
29418 unregistration. Fix all typos in the word "multiboot".
29420 2007-12-29 Pavel Roskin <proski@gnu.org>
29422 * util/grub.d/10_linux.in: Refactor search for initrd. Add
29423 support for initrd names used in Fedora.
29425 2007-12-26 Bean <bean123ch@gmail.com>
29427 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
29428 (cpio_mod_SOURCES): New variable.
29429 (cpio_mod_CFLAGS): Likewise.
29430 (cpio_mod_LDFLAGS): Likewise.
29432 * fs/cpio.c: New file.
29434 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
29436 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
29438 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
29440 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29442 2007-12-25 Robert Millan <rmh@aybabtu.com>
29444 * include/grub/term.h (struct grub_term): Add `getcolor' function.
29445 (grub_getcolor): New function.
29447 * kern/term.c (grub_getcolor): New function.
29448 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
29449 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
29450 (print_entry): Set normal and highlight colors to
29451 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
29452 respectively, before printing and restore them to old
29454 (grub_menu_init_page): Likewise. Fill an additional colored space
29455 that would otherwise be left blank.
29457 * term/efi/console.c (grub_console_getcolor): New function.
29458 (struct grub_console_term.getcolor): New variable.
29459 * term/i386/pc/console.c (grub_console_getcolor): New function.
29460 (struct grub_console_term.getcolor): New variable.
29461 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
29462 (struct grub_console_term.getcolor): New variable.
29464 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
29465 (struct grub_console_term.setcolor): Remove variable.
29466 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
29467 (struct grub_console_term.setcolor): Remove variable.
29468 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
29469 (struct grub_console_term.setcolor): Remove variable.
29470 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
29471 (struct grub_console_term.setcolor): Remove variable.
29473 2007-12-25 Robert Millan <rmh@aybabtu.com>
29475 * configure.ac: Search for possible unifont.hex locations, and
29476 define UNIFONT_HEX if found.
29478 * Makefile.in (UNIFONT_HEX): Define variable.
29479 (DATA): Rename to ...
29480 (PKGLIB): ... this. Update all users.
29481 (PKGDATA): New variable.
29482 (pkgdata_IMAGES): Rename to ...
29483 (pkglib_IMAGES): ... this. Update all users.
29484 (pkgdata_MODULES): Rename to ...
29485 (pkglib_MODULES): ... this. Update all users.
29486 (pkgdata_PROGRAMS): Rename to ...
29487 (pkglib_PROGRAMS): ... this. Update all users.
29488 (pkgdata_DATA): Rename to ...
29489 (pkglib_DATA): ... this. Update all users.
29490 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
29491 (unicode.pff, ascii.pff): New rules.
29492 (all-local): Add `$(PKGDATA)' dependency.
29493 (install-local): Process `$(PKGDATA)'.
29495 * util/update-grub_lib.in (font_path): Search for *.pff files in
29496 a few more locations, including `${pkgdata}'.
29498 2007-12-23 Robert Millan <rmh@aybabtu.com>
29500 Patch from Bean <bean123ch@gmail.com>:
29501 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
29504 2007-12-21 Bean <bean123ch@gmail.com>
29506 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
29507 (ntfscomp_mod_SOURCES): New variable.
29508 (ntfscomp_mod_CFLAGS): Likewise.
29509 (ntfscomp_mod_LDFLAGS): Likewise.
29511 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
29512 (grub_probe_SOURCES): Likewise.
29513 (grub_emu_SOURCES): Likewise.
29515 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
29516 (grub_emu_SOURCES): Likewise.
29518 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
29519 (grub_emu_SOURCES): Likewise.
29521 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
29522 (grub_emu_SOURCES): Likewise.
29524 * fs/ntfs.c (grub_ntfscomp_func): New variable.
29525 (read_run_list): Renamed to grub_ntfs_read_run_list.
29526 (decomp_nextvcn): Moved to ntfscomp.c.
29527 (decomp_getch): Likewise.
29528 (decomp_get16): Likewise.
29529 (decomp_block): Likewise.
29530 (read_block): Likewise.
29531 (read_data): Partially moved to ntfscomp.c.
29532 (fixup): Change unsigned to grub_uint16_t.
29533 (read_mft): Change unsigned long to grub_uint32_t.
29534 (read_attr): Likewise.
29535 (read_data): Likewise.
29536 (read_run_data): Likewise.
29537 (read_run_list): Likewise.
29538 (read_mft): Likewise.
29540 * fs/ntfscomp.c: New file.
29542 * include/grub/ntfs.h: New file.
29544 2007-12-16 Robert Millan <rmh@aybabtu.com>
29546 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
29547 IDE disk check, since Linux is known to support 20 IDE disks.
29548 Reported by Colin Watson.
29550 2007-12-15 Bean <bean123ch@gmail.com>
29552 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
29553 (lnxboot_img_SOURCES): New variable.
29554 (lnxboot_img_ASFLAGS): Likewise.
29555 (lnxboot_img_LDFLAGS): Likewise.
29557 * boot/i386/pc/lnxboot.S: New file.
29559 2007-11-24 Pavel Roskin <proski@gnu.org>
29561 * configure.ac: Test if '--build-id=none' is supported by the
29562 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
29563 objcopy to generate incorrect binary files (binutils
29564 2.17.50.0.18-1 as shipped by Fedora 8).
29565 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
29566 linking, so that build ID doesn't break the test.
29568 2007-11-24 Pavel Roskin <proski@gnu.org>
29570 * include/grub/i386/time.h: use "void" in the argument list
29571 of grub_cpu_idle().
29572 * include/grub/powerpc/time.h: Likewise.
29573 * include/grub/sparc64/time.h: Likewise.
29575 2007-11-18 Christian Franke <franke@computer.org>
29577 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
29578 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
29579 This fixes the problem that function keys did not work in grub-emu.
29581 2007-11-18 Christian Franke <franke@computer.org>
29583 * disk/host.c (grub_host_open): Remove attribute unused from
29584 name parameter. Add check for "host". This fixes the problem
29585 that grub-emu does not find partitions.
29587 2007-11-18 Christian Franke <franke@computer.org>
29589 * util/hostfs.c (is_dir): New function.
29590 (grub_hostfs_dir): Handle missing dirent.d_type case.
29591 (grub_hostfs_read): Add missing fseek().
29592 (grub_hostfs_label): Clear label pointer. This fixes a crash
29593 of grub-emu on "ls (host)".
29595 2007-11-18 Christian Franke <franke@computer.org>
29597 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
29598 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
29599 to 64 bit boundary by default.
29601 2007-11-18 Bean <bean123ch@gmail.com>
29603 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
29604 (hexdump_mod_SOURCES): New variable.
29605 (hexdump_mod_CFLAGS): Likewise.
29606 (hexdump_mod_LDFLAGS): Likewise.
29608 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
29610 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
29612 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
29614 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
29616 * include/grub/hexdump.h: New file.
29618 * commands/hexdump.c: New file.
29620 2007-11-10 Robert Millan <rmh@aybabtu.com>
29622 * commands/i386/pc/play.c (beep_off): Switch order of arguments
29623 in grub_outb() calls.
29624 (beep_on): Likewise.
29626 2007-11-10 Christian Franke <franke@computer.org>
29628 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
29629 (grub_menu_run): Likewise.
29631 2007-11-10 Robert Millan <rmh@aybabtu.com>
29633 * include/grub/i386/efi/machine.h: New file.
29634 * include/grub/i386/linuxbios/machine.h: Likewise.
29635 * include/grub/i386/pc/machine.h: Likewise.
29636 * include/grub/powerpc/ieee1275/machine.h: Likewise.
29637 * include/grub/sparc64/ieee1275/machine.h: Likewise.
29639 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
29640 (serial_hw_io_addr): New variable.
29641 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
29642 instead of `(unsigned short *) 0x400'.
29644 2007-11-10 Bean <bean123ch@gmail.com>
29646 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
29648 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
29650 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
29651 (vga_mod_SOURCES): Added.
29652 (vga_mod_CFLAGS): Likewise.
29653 (vga_mod_LDFLAGS): Likewise.
29655 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
29657 (set_map_mask): Likewise.
29658 (set_read_map): Likewise.
29659 (set_read_address): Likewise.
29660 (vga_font): Removed variable.
29661 (get_vga_glyph): Removed function.
29662 (invalidate_char): Likewise.
29663 (write_char): Changed to use grub_font_get_glyph() for font
29665 (grub_vga_putchar): Likewise.
29666 (grub_vga_getcharwidth): Likewise.
29668 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
29670 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
29672 (pxeboot_img_LDFLAGS): Likewise.
29673 (diskboot_img_LDFLAGS): Likewise.
29674 (kernel_img_LDFLAGS): Likewise.
29676 2007-11-06 Robert Millan <rmh@aybabtu.com>
29678 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
29679 in grub_outb() calls.
29680 (serial_hw_init): Likewise.
29682 2007-11-05 Robert Millan <rmh@aybabtu.com>
29684 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
29685 spaces. Skip non-regular files.
29687 2007-11-05 Robert Millan <rmh@aybabtu.com>
29689 * kern/disk.c (grub_disk_firmware_fini)
29690 (grub_disk_firmware_is_tainted): New variables.
29692 * include/grub/disk.h (grub_disk_firmware_fini)
29693 (grub_disk_firmware_is_tainted): Likewise.
29695 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
29696 (grub_disk_biosdisk_fini): ... to here.
29697 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
29698 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
29699 is set. Register grub_disk_biosdisk_fini() in
29700 `grub_disk_firmware_fini'.
29702 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
29703 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
29704 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
29705 to finish existing firmware disk interface.
29707 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
29708 (ata_mod_SOURCES): New variable.
29709 (ata_mod_CFLAGS): Likewise.
29710 (ata_mod_LDFLAGS): Likewise.
29712 2007-11-05 Robert Millan <rmh@aybabtu.com>
29714 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
29715 (grub_ata_wait): Reimplement using grub_millisleep().
29717 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
29718 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
29720 2007-11-03 Marco Gerards <marco@gnu.org>
29722 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
29723 (CRTC_ADDR_PORT): New macro.
29724 (CRTC_DATA_PORT): Likewise.
29725 (CRTC_CURSOR): Likewise.
29726 (CRTC_CURSOR_ADDR_HIGH): Likewise.
29727 (CRTC_CURSOR_ADDR_LOW): Likewise.
29728 (update_cursor): New function.
29729 (grub_console_real_putchar): Call `update_cursor'.
29730 (grub_console_gotoxy): Likewise.
29731 (grub_console_cls): Set the default color when clearing the
29733 (grub_console_setcursor): Implemented.
29735 2007-11-03 Marco Gerards <marco@gnu.org>
29737 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
29739 (grub_ata_pio_write): Likewise.
29741 (grub_atapi_identify): Wait after issuing an ATA command.
29742 (grub_atapi_packet): Likewise.
29743 (grub_ata_identify): Likewise.
29744 (grub_ata_readwrite): Likewise.
29746 2007-11-03 Marco Gerards <marco@gnu.org>
29748 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
29749 (grub_ata_pio_write): Likewise.
29750 (grub_ata_readwrite): Use `grub_error', instead of
29751 returning `grub_errno'.
29753 2007-11-03 Marco Gerards <marco@gnu.org>
29755 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
29756 grub_ata_pio_write once for every single sector, instead of for
29759 2007-10-31 Robert Millan <rmh@aybabtu.com>
29761 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
29763 * conf/i386-linuxbios.rmk: New file.
29765 * kern/i386/pc/hardware.c: Likewise.
29766 * term/i386/pc/at_keyboard.c: Likewise.
29767 * term/i386/pc/vga_text.c: Likewise.
29769 * include/grub/i386/linuxbios/boot.h: Likewise.
29770 * include/grub/i386/linuxbios/console.h: Likewise.
29771 * include/grub/i386/linuxbios/init.h: Likewise.
29772 * include/grub/i386/linuxbios/kernel.h: Likewise.
29773 * include/grub/i386/linuxbios/loader.h: Likewise.
29774 * include/grub/i386/linuxbios/memory.h: Likewise.
29775 * include/grub/i386/linuxbios/serial.h: Likewise.
29776 * include/grub/i386/linuxbios/time.h: Likewise.
29778 * kern/i386/linuxbios/init.c: Likewise.
29779 * kern/i386/linuxbios/startup.S: Likewise.
29780 * kern/i386/linuxbios/table.c: Likewise.
29782 2007-10-31 Marco Gerards <marco@gnu.org>
29784 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
29785 (ata_mod_SOURCES): New variable.
29786 (ata_mod_CFLAGS): Likewise.
29787 (ata_mod_LDFLAGS): Likewise.
29789 * disk/ata.c: New file.
29791 * include/grub/disk.h (grub_disk_dev_id): Add
29792 `GRUB_DISK_DEV_ATA_ID'.
29794 2007-10-31 Robert Millan <rmh@aybabtu.com>
29796 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
29797 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
29799 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
29800 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
29802 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
29805 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
29807 2007-10-27 Robert Millan <rmh@aybabtu.com>
29809 * include/grub/types.h (ULONG_MAX): Define macro.
29811 2007-10-22 Robert Millan <rmh@aybabtu.com>
29813 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
29815 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
29817 2007-10-22 Robert Millan <rmh@aybabtu.com>
29819 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
29820 (pkgdata_MODULES): Add `biosdisk.mod'.
29821 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
29824 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
29825 (grub_biosdisk_init): Replace with ...
29826 (GRUB_MOD_INIT(biosdisk)): ... this.
29827 (grub_biosdisk_fini): Replace with ...
29828 (GRUB_MOD_FINI(biosdisk)): ... this.
29830 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
29831 (grub_machine_init): Remove call to grub_biosdisk_init().
29832 (grub_machine_fini): Remove call to grub_machine_fini().
29834 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
29836 2007-10-22 Robert Millan <rmh@aybabtu.com>
29838 * include/grub/time.h: New file.
29839 * include/grub/i386/time.h: Likewise.
29840 * include/grub/powerpc/time.h: Likewise.
29841 * include/grub/sparc64/time.h: Likewise.
29843 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
29845 (KERNEL_MACHINE_TIME_HEADER): ... this.
29846 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
29848 (KERNEL_MACHINE_TIME_HEADER): ... this.
29849 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
29851 (KERNEL_MACHINE_TIME_HEADER): ... this.
29853 * kern/i386/efi/init.c: Include `<grub/time.h>'.
29854 (grub_millisleep): New function.
29855 * kern/i386/pc/init.c: Include `<grub/time.h>'.
29856 (grub_millisleep): New function.
29857 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
29858 Remove `grub/machine/time.h' include.
29859 (grub_millisleep): New function.
29860 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
29861 Remove `grub/machine/time.h' include.
29862 (grub_millisleep): New function.
29864 * include/grub/misc.h (grub_div_roundup): New function.
29866 * kern/misc.c: Include `<grub/time.h>'.
29867 (grub_millisleep_generic): New function.
29869 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
29871 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
29873 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
29874 `machine/time.h'. Add `time.h'.
29875 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
29877 2007-10-21 Robert Millan <rmh@aybabtu.com>
29879 * include/grub/misc.h (grub_max): New function.
29881 2007-10-21 Robert Millan <rmh@aybabtu.com>
29883 * util/misc.c (grub_util_info): Call fflush() before returning.
29885 2007-10-20 Robert Millan <rmh@aybabtu.com>
29887 * genmk.rb (Image): Copy `extra_flags' from here ...
29888 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
29890 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
29891 to `argc' and `args' arguments.
29893 2007-10-17 Robert Millan <rmh@aybabtu.com>
29895 * kern/i386/loader.S: New file.
29897 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
29898 * kern/i386/loader.S (grub_linux_prot_size)... to here.
29899 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
29900 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
29901 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
29902 * kern/i386/loader.S (grub_linux_real_addr)... to here.
29903 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
29904 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
29905 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
29906 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
29907 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
29908 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
29909 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
29910 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
29912 * kern/i386/realmode.S: New file.
29914 * kern/i386/pc/startup.S (protstack): Moved from here ...
29915 * kern/i386/realmode.S (protstack)... to here.
29916 * kern/i386/pc/startup.S (gdt): Moved from here ...
29917 * kern/i386/realmode.S (gdt)... to here.
29918 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
29919 * kern/i386/realmode.S (prot_to_real)... to here.
29921 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
29922 `kern/i386/realmode.S'.
29924 2007-10-17 Robert Millan <rmh@aybabtu.com>
29926 * include/grub/i386/loader.h: New file.
29928 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
29929 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
29930 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
29931 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
29932 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
29933 * include/grub/i386/loader.h (grub_linux_prot_size)
29934 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
29935 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
29936 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
29937 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
29939 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
29941 2007-10-15 Robert Millan <rmh@aybabtu.com>
29943 * normal/misc.c (grub_normal_print_device_info): Do not probe for
29944 filesystem when dev->disk is unset.
29945 Do probe for filesystem even when dev->disk->has_partitions is set.
29946 In case a filesystem is found, always report it.
29947 In case it isn't, if dev->disk->has_partitions is set, report that
29948 a partition table was found instead of reporting that no filesystem
29949 could be identified.
29951 2007-10-12 Robert Millan <rmh@aybabtu.com>
29953 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
29954 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
29956 * include/grub/types.h (grub_host_to_target16): New macro.
29957 (grub_host_to_target32): Likewise.
29958 (grub_host_to_target64): Likewise.
29959 (grub_target_to_host16): Likewise.
29960 (grub_target_to_host32): Likewise.
29961 (grub_target_to_host64): Likewise.
29963 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
29964 Renamed from to ...
29965 (GRUB_MOD_ALIGN): ...this. Update all users.
29967 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
29968 grub_host_to_target32.
29969 Replace grub_be_to_cpu32 with grub_target_to_host32.
29970 (load_modules): Likewise.
29971 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
29972 Replace grub_be_to_cpu32 with grub_target_to_host32.
29973 Replace grub_cpu_to_be16 with grub_host_to_target16.
29974 Replace grub_cpu_to_be32 grub_host_to_target32.
29976 2007-10-12 Robert Millan <rmh@aybabtu.com>
29978 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
29979 * util/elf/grub-mkimage.c: ... here.
29981 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
29982 `util/powerpc/ieee1275/grub-mkimage.c'.
29984 2007-10-07 Robert Millan <rmh@aybabtu.com>
29986 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
29987 and make it easier to figure out.
29988 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
29989 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
29990 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
29991 leave us with less than HEAP_MIN_SIZE total heap.
29992 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
29994 2007-10-03 Robert Millan <rmh@aybabtu.com>
29996 * include/grub/i386/io.h: New file.
29997 * commands/i386/pc/play.c (inb): Removed.
29999 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
30001 * term/i386/pc/serial.c (inb): Removed.
30003 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
30005 * term/i386/pc/vga.c (inb): Removed.
30007 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
30010 2007-10-02 Robert Millan <rmh@aybabtu.com>
30012 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
30013 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30014 Reported by Marcin Kurek.
30016 2007-09-07 Robert Millan <rmh@aybabtu.com>
30018 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
30019 SmartFirmware version updates (as released by Sven Luther), and avoid
30020 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
30021 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
30024 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
30026 From Hitoshi Ozeki:
30027 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
30028 when merging two regions.
30030 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
30032 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
30033 * normal/completion.c (grub_normal_do_completion): Likewise.
30034 Reported by Hitoshi Ozeki.
30036 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
30038 Do not use devices at boot in chainloading.
30040 * loader/i386/pc/chainloader.c (boot_drive): New variable.
30041 (boot_part_addr): Likewise.
30042 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
30043 with BOOT_DRIVE and BOOT_PART_ADDR.
30044 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
30045 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
30047 2007-08-29 Robert Millan <rmh@aybabtu.com>
30049 Patch from Simon Peter <dn.tlp@gmx.net>:
30050 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
30051 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
30052 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
30053 util/i386/pc/grub-setup.c_DEPENDENCIES.
30054 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
30055 util/grub-probe.c_DEPENDENCIES.
30056 * conf/powerpc-ieee1275.rmk: Likewise.
30058 2007-08-28 Robert Millan <rmh@aybabtu.com>
30060 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
30061 to tell grub-mkdevicemap how to name devices.
30062 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
30065 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
30066 util/i386/get_disk_name.c.
30067 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
30068 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
30069 util/ieee1275/get_disk_name.c.
30071 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
30073 * DISTLIST: Add util/i386/get_disk_name.c and
30074 util/ieee1275/get_disk_name.c.
30076 * util/grub-mkdevicemap.c: Replace device naming logic with
30077 grub_util_get_disk_name() calls.
30079 2007-08-20 Robert Millan <rmh@aybabtu.com>
30081 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
30082 (so that it works for both plural and singular quantities).
30084 2007-08-05 Robert Millan <rmh@aybabtu.com>
30086 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
30087 so that [xz] isn't taken into account when determining order.
30089 2007-08-02 Marco Gerards <marco@gnu.org>
30091 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
30092 `include/multiboot2.h', `include/grub/elfload.h',
30093 `include/multiboot.h', `include/grub/multiboot.h',
30094 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
30095 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
30096 `kern/elf.c', `loader/multiboot_loader.c',
30097 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
30098 `loader/i386/pc/multiboot2.c',
30099 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
30100 `util/i386/pc/grub-mkrescue.in'. Remove
30101 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
30102 `include/grub/i386/pc/util/biosdisk.h' and
30103 `include/grub/powerpc/ieee1275/multiboot.h'.
30105 2007-08-02 Bean <bean123ch@gmail.com>
30107 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
30108 (ntfs_mod_SOURCES): New variable.
30109 (ntfs_mod_CFLAGS): Likewise.
30110 (ntfs_mod_LDFLAGS): Likewise.
30112 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
30113 (grub_probe_SOURCES): Likewise.
30114 (grub_emu_SOURCES): Likewise.
30116 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
30117 (grub_emu_SOURCES): Likewise.
30119 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
30120 (grub_emu_SOURCES): Likewise.
30122 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
30124 * fs/ntfs.c: New file.
30126 2007-08-02 Bean <bean123ch@gmail.com>
30128 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
30130 * file.h (grub_file): Likewise.
30132 * fshelp.h (grub_fshelp_read_file): Likewise.
30134 * util/i386/pc/grub-setup.c (setup): Likewise.
30135 (save_first_sector): Likewise.
30136 (save_blocklists): Likewise.
30138 * fs/affs.c (grub_affs_read_file): Likewise.
30140 * fs/ext2.c (grub_ext2_read_file): Likewise.
30142 * fs/fat.c (grub_fat_read_data): Likewise.
30144 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
30146 * fs/hfs.c (grub_hfs_read_file): Likewise.
30148 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
30150 * fs/jfs.c (grub_jfs_read_file): Likewise.
30152 * fs/minix.c (grub_minix_read_file): Likewise.
30154 * fs/sfs.c (grub_sfs_read_file): Likewise.
30156 * fs/ufs.c (grub_ufs_read_file): Likewise.
30158 * fs/xfs.c (grub_xfs_read_file): Likewise.
30160 * command/blocklist.c (read_blocklist): Likewise.
30161 (print_blocklist): Likewise.
30163 2007-08-02 Marco Gerards <marco@gnu.org>
30165 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
30168 * disk/host.c: New file.
30170 * util/hostfs.c: Likewise.
30172 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
30173 return `GRUB_ERR_BAD_FS'.
30174 * fs/sfs.c (grub_sfs_mount): Likewise.
30175 * fs/xfs.c (grub_xfs_mount): Likewise.
30177 * include/grub/disk.h (enum grub_disk_dev_id): Add
30178 `GRUB_DISK_DEVICE_HOST_ID'.
30180 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
30182 2007-07-24 Jerone Young <jerone@gmail.com>
30184 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
30185 modules for compilation.
30186 * conf/powerpc-ieee1275.rmk: Likewise.
30188 * include/multiboot.h: Move multiboot definitions to one file. Rename
30189 many definitions to not get grub specific.
30190 * include/multiboot2.h: Create header with multiboot 2 definitions.
30191 * include/grub/multiboot.h: Header for grub specific function
30192 prototypes and definitions.
30193 * include/grub/multiboot2.h: Likewise.
30194 * include/grub/multiboot_loader.h: Likewise.
30195 * include/grub/i386/pc/multiboot.h: Removed.
30196 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
30198 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
30199 and 2 to allow for one multiboot and module commands.
30200 * loader/multiboot2.c: Add multiboot2 functionality.
30201 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
30202 and definition names.
30203 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
30205 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
30206 ieee1275 specific multiboot2 code.
30208 * kern/i386/pc/startup.S: Change headers and definition names for
30209 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
30211 2007-07-22 Robert Millan <rmh@aybabtu.com>
30213 * geninitheader.sh: Process file specified in first parameter rather
30214 than hardcoding grub_modules_init.lst.
30215 * geninit.sh: Likewise. Also, construct header name dynamically rather
30216 than hardcoding grub_modules_init.h.
30218 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
30219 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
30220 grub_probe_init.[ch] and grub_setup_init.[ch].
30222 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
30223 grub_modules_init.h with grub_emu_init.h.
30224 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
30225 grub_probe_init.[ch] files.
30226 * conf/i386-efi.rmk: Likewise.
30227 * conf/i386-pc.rmk: Likewise.
30228 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
30229 grub_setup_init.[ch] files.
30231 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
30232 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
30233 to initialize modules rather than a list of hardcoded functions.
30234 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
30235 grub_init_all() to initialize modules rather than a list of hardcoded
30238 2007-07-22 Robert Millan <rmh@aybabtu.com>
30240 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
30241 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
30243 2007-07-22 Robert Millan <rmh@aybabtu.com>
30245 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
30246 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
30247 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
30248 flag when running on SmartFirmware.
30249 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
30250 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
30253 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
30254 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
30255 rather than decreasing it.
30257 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
30258 there's not enough space to do it, fail in the same way as when it
30259 can't be done because there are no partitions.
30261 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
30262 when nvsetenv failed.
30264 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
30266 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
30267 because this rule is automatically generated.
30268 (grub-mkrescue): Removed for the same reason as above.
30270 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
30272 Migrate to GNU General Public License Version 3.
30274 * COPYING: Replaced with the plain text version of GPLv3.
30276 * config.guess: Updated from gnulib.
30277 * config.sub: Likewise.
30279 * geninit.sh: Output a GPLv3 copyright notice.
30280 * geninitheader.sh: Likewise.
30281 * genmodsrc.sh: Likewise.
30282 * gensymlist.sh.in: Likewise.
30284 * boot/i386/pc/boot.S: Upgraded to GPLv3.
30285 * boot/i386/pc/diskboot.S: Likewise.
30286 * boot/i386/pc/pxeboot.S: Likewise.
30287 * commands/blocklist.c: Likewise.
30288 * commands/boot.c: Likewise.
30289 * commands/cat.c: Likewise.
30290 * commands/cmp.c: Likewise.
30291 * commands/configfile.c: Likewise.
30292 * commands/echo.c: Likewise.
30293 * commands/help.c: Likewise.
30294 * commands/ls.c: Likewise.
30295 * commands/search.c: Likewise.
30296 * commands/terminal.c: Likewise.
30297 * commands/test.c: Likewise.
30298 * commands/videotest.c: Likewise.
30299 * commands/i386/cpuid.c: Likewise.
30300 * commands/i386/pc/halt.c: Likewise.
30301 * commands/i386/pc/play.c: Likewise.
30302 * commands/i386/pc/reboot.c: Likewise.
30303 * commands/i386/pc/vbeinfo.c: Likewise.
30304 * commands/i386/pc/vbetest.c: Likewise.
30305 * commands/ieee1275/halt.c: Likewise.
30306 * commands/ieee1275/reboot.c: Likewise.
30307 * commands/ieee1275/suspend.c: Likewise.
30308 * disk/loopback.c: Likewise.
30309 * disk/lvm.c: Likewise.
30310 * disk/raid.c: Likewise.
30311 * disk/efi/efidisk.c: Likewise.
30312 * disk/i386/pc/biosdisk.c: Likewise.
30313 * disk/ieee1275/ofdisk.c: Likewise.
30314 * font/manager.c: Likewise.
30315 * fs/affs.c: Likewise.
30316 * fs/ext2.c: Likewise.
30317 * fs/fat.c: Likewise.
30318 * fs/fshelp.c: Likewise.
30319 * fs/hfs.c: Likewise.
30320 * fs/hfsplus.c: Likewise.
30321 * fs/iso9660.c: Likewise.
30322 * fs/jfs.c: Likewise.
30323 * fs/minix.c: Likewise.
30324 * fs/sfs.c: Likewise.
30325 * fs/ufs.c: Likewise.
30326 * fs/xfs.c: Likewise.
30327 * hello/hello.c: Likewise.
30328 * include/grub/acorn_filecore.h: Likewise.
30329 * include/grub/arg.h: Likewise.
30330 * include/grub/bitmap.h: Likewise.
30331 * include/grub/boot.h: Likewise.
30332 * include/grub/cache.h: Likewise.
30333 * include/grub/device.h: Likewise.
30334 * include/grub/disk.h: Likewise.
30335 * include/grub/dl.h: Likewise.
30336 * include/grub/elfload.h: Likewise.
30337 * include/grub/env.h: Likewise.
30338 * include/grub/err.h: Likewise.
30339 * include/grub/file.h: Likewise.
30340 * include/grub/font.h: Likewise.
30341 * include/grub/fs.h: Likewise.
30342 * include/grub/fshelp.h: Likewise.
30343 * include/grub/gzio.h: Likewise.
30344 * include/grub/hfs.h: Likewise.
30345 * include/grub/kernel.h: Likewise.
30346 * include/grub/loader.h: Likewise.
30347 * include/grub/lvm.h: Likewise.
30348 * include/grub/misc.h: Likewise.
30349 * include/grub/mm.h: Likewise.
30350 * include/grub/net.h: Likewise.
30351 * include/grub/normal.h: Likewise.
30352 * include/grub/parser.h: Likewise.
30353 * include/grub/partition.h: Likewise.
30354 * include/grub/pc_partition.h: Likewise.
30355 * include/grub/raid.h: Likewise.
30356 * include/grub/rescue.h: Likewise.
30357 * include/grub/script.h: Likewise.
30358 * include/grub/setjmp.h: Likewise.
30359 * include/grub/symbol.h: Likewise.
30360 * include/grub/term.h: Likewise.
30361 * include/grub/terminfo.h: Likewise.
30362 * include/grub/tparm.h: Likewise.
30363 * include/grub/types.h: Likewise.
30364 * include/grub/video.h: Likewise.
30365 * include/grub/efi/api.h: Likewise.
30366 * include/grub/efi/chainloader.h: Likewise.
30367 * include/grub/efi/console.h: Likewise.
30368 * include/grub/efi/console_control.h: Likewise.
30369 * include/grub/efi/disk.h: Likewise.
30370 * include/grub/efi/efi.h: Likewise.
30371 * include/grub/efi/pe32.h: Likewise.
30372 * include/grub/efi/time.h: Likewise.
30373 * include/grub/i386/linux.h: Likewise.
30374 * include/grub/i386/setjmp.h: Likewise.
30375 * include/grub/i386/types.h: Likewise.
30376 * include/grub/i386/efi/kernel.h: Likewise.
30377 * include/grub/i386/efi/loader.h: Likewise.
30378 * include/grub/i386/efi/time.h: Likewise.
30379 * include/grub/i386/pc/biosdisk.h: Likewise.
30380 * include/grub/i386/pc/boot.h: Likewise.
30381 * include/grub/i386/pc/chainloader.h: Likewise.
30382 * include/grub/i386/pc/console.h: Likewise.
30383 * include/grub/i386/pc/init.h: Likewise.
30384 * include/grub/i386/pc/kernel.h: Likewise.
30385 * include/grub/i386/pc/loader.h: Likewise.
30386 * include/grub/i386/pc/memory.h: Likewise.
30387 * include/grub/i386/pc/multiboot.h: Likewise.
30388 * include/grub/i386/pc/serial.h: Likewise.
30389 * include/grub/i386/pc/time.h: Likewise.
30390 * include/grub/i386/pc/vbe.h: Likewise.
30391 * include/grub/i386/pc/vbeblit.h: Likewise.
30392 * include/grub/i386/pc/vbefill.h: Likewise.
30393 * include/grub/i386/pc/vbeutil.h: Likewise.
30394 * include/grub/i386/pc/vga.h: Likewise.
30395 * include/grub/ieee1275/ieee1275.h: Likewise.
30396 * include/grub/ieee1275/ofdisk.h: Likewise.
30397 * include/grub/powerpc/libgcc.h: Likewise.
30398 * include/grub/powerpc/setjmp.h: Likewise.
30399 * include/grub/powerpc/types.h: Likewise.
30400 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
30401 * include/grub/powerpc/ieee1275/console.h: Likewise.
30402 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
30403 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
30404 * include/grub/powerpc/ieee1275/loader.h: Likewise.
30405 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
30406 * include/grub/powerpc/ieee1275/time.h: Likewise.
30407 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
30408 * include/grub/sparc64/libgcc.h: Likewise.
30409 * include/grub/sparc64/setjmp.h: Likewise.
30410 * include/grub/sparc64/types.h: Likewise.
30411 * include/grub/sparc64/ieee1275/console.h: Likewise.
30412 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
30413 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
30414 * include/grub/sparc64/ieee1275/time.h: Likewise.
30415 * include/grub/util/biosdisk.h: Likewise.
30416 * include/grub/util/getroot.h: Likewise.
30417 * include/grub/util/lvm.h: Likewise.
30418 * include/grub/util/misc.h: Likewise.
30419 * include/grub/util/raid.h: Likewise.
30420 * include/grub/util/resolve.h: Likewise.
30421 * io/gzio.c: Likewise.
30422 * kern/device.c: Likewise.
30423 * kern/disk.c: Likewise.
30424 * kern/dl.c: Likewise.
30425 * kern/elf.c: Likewise.
30426 * kern/env.c: Likewise.
30427 * kern/err.c: Likewise.
30428 * kern/file.c: Likewise.
30429 * kern/fs.c: Likewise.
30430 * kern/loader.c: Likewise.
30431 * kern/main.c: Likewise.
30432 * kern/misc.c: Likewise.
30433 * kern/mm.c: Likewise.
30434 * kern/parser.c: Likewise.
30435 * kern/partition.c: Likewise.
30436 * kern/rescue.c: Likewise.
30437 * kern/term.c: Likewise.
30438 * kern/efi/efi.c: Likewise.
30439 * kern/efi/init.c: Likewise.
30440 * kern/efi/mm.c: Likewise.
30441 * kern/i386/dl.c: Likewise.
30442 * kern/i386/efi/init.c: Likewise.
30443 * kern/i386/efi/startup.S: Likewise.
30444 * kern/i386/pc/init.c: Likewise.
30445 * kern/i386/pc/lzo1x.S: Likewise.
30446 * kern/i386/pc/startup.S: Likewise.
30447 * kern/ieee1275/ieee1275.c: Likewise.
30448 * kern/powerpc/cache.S: Likewise.
30449 * kern/powerpc/dl.c: Likewise.
30450 * kern/powerpc/ieee1275/cmain.c: Likewise.
30451 * kern/powerpc/ieee1275/crt0.S: Likewise.
30452 * kern/powerpc/ieee1275/init.c: Likewise.
30453 * kern/powerpc/ieee1275/openfw.c: Likewise.
30454 * kern/sparc64/cache.S: Likewise.
30455 * kern/sparc64/dl.c: Likewise.
30456 * kern/sparc64/ieee1275/init.c: Likewise.
30457 * kern/sparc64/ieee1275/openfw.c: Likewise.
30458 * loader/efi/chainloader.c: Likewise.
30459 * loader/efi/chainloader_normal.c: Likewise.
30460 * loader/i386/efi/linux.c: Likewise.
30461 * loader/i386/efi/linux_normal.c: Likewise.
30462 * loader/i386/pc/chainloader.c: Likewise.
30463 * loader/i386/pc/chainloader_normal.c: Likewise.
30464 * loader/i386/pc/linux.c: Likewise.
30465 * loader/i386/pc/linux_normal.c: Likewise.
30466 * loader/i386/pc/multiboot.c: Likewise.
30467 * loader/i386/pc/multiboot_normal.c: Likewise.
30468 * loader/powerpc/ieee1275/linux.c: Likewise.
30469 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
30470 * normal/arg.c: Likewise.
30471 * normal/cmdline.c: Likewise.
30472 * normal/command.c: Likewise.
30473 * normal/completion.c: Likewise.
30474 * normal/execute.c: Likewise.
30475 * normal/function.c: Likewise.
30476 * normal/lexer.c: Likewise.
30477 * normal/main.c: Likewise.
30478 * normal/menu.c: Likewise.
30479 * normal/menu_entry.c: Likewise.
30480 * normal/misc.c: Likewise.
30481 * normal/parser.y: Likewise.
30482 * normal/script.c: Likewise.
30483 * normal/i386/setjmp.S: Likewise.
30484 * normal/powerpc/setjmp.S: Likewise.
30485 * normal/sparc64/setjmp.S: Likewise.
30486 * partmap/acorn.c: Likewise.
30487 * partmap/amiga.c: Likewise.
30488 * partmap/apple.c: Likewise.
30489 * partmap/gpt.c: Likewise.
30490 * partmap/pc.c: Likewise.
30491 * partmap/sun.c: Likewise.
30492 * term/gfxterm.c: Likewise.
30493 * term/terminfo.c: Likewise.
30494 * term/efi/console.c: Likewise.
30495 * term/i386/pc/console.c: Likewise.
30496 * term/i386/pc/serial.c: Likewise.
30497 * term/i386/pc/vesafb.c: Likewise.
30498 * term/i386/pc/vga.c: Likewise.
30499 * term/ieee1275/ofconsole.c: Likewise.
30500 * util/biosdisk.c: Likewise.
30501 * util/console.c: Likewise.
30502 * util/genmoddep.c: Likewise.
30503 * util/getroot.c: Likewise.
30504 * util/grub-emu.c: Likewise.
30505 * util/grub-mkdevicemap.c: Likewise.
30506 * util/grub-probe.c: Likewise.
30507 * util/lvm.c: Likewise.
30508 * util/misc.c: Likewise.
30509 * util/raid.c: Likewise.
30510 * util/resolve.c: Likewise.
30511 * util/update-grub.in: Likewise.
30512 * util/update-grub_lib.in: Likewise.
30513 * util/grub.d/00_header.in: Likewise.
30514 * util/grub.d/10_hurd.in: Likewise.
30515 * util/grub.d/10_linux.in: Likewise.
30516 * util/i386/efi/grub-install.in: Likewise.
30517 * util/i386/efi/grub-mkimage.c: Likewise.
30518 * util/i386/pc/grub-install.in: Likewise.
30519 * util/i386/pc/grub-mkimage.c: Likewise.
30520 * util/i386/pc/grub-mkrescue.in: Likewise.
30521 * util/i386/pc/grub-setup.c: Likewise.
30522 * util/i386/pc/misc.c: Likewise.
30523 * util/powerpc/ieee1275/grub-install.in: Likewise.
30524 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
30525 * util/powerpc/ieee1275/misc.c: Likewise.
30526 * video/bitmap.c: Likewise.
30527 * video/video.c: Likewise.
30528 * video/i386/pc/vbe.c: Likewise.
30529 * video/i386/pc/vbeblit.c: Likewise.
30530 * video/i386/pc/vbefill.c: Likewise.
30531 * video/i386/pc/vbeutil.c: Likewise.
30532 * video/readers/tga.c: Likewise.
30534 2007-07-02 Robert Millan <rmh@aybabtu.com>
30536 * conf/i386-efi.rmk: Replace obsolete reference to
30537 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
30538 with util/getroot.c.
30539 * conf/powerpc-ieee1275.rmk: Likewise.
30540 * conf/sparc64-ieee1275.rmk: Likewise.
30542 * util/grub-emu.c (main): Fix unchecked pointer handling.
30544 2007-07-02 Robert Millan <rmh@aybabtu.com>
30546 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
30547 invocation to fail, in order to support partition-less media.
30549 * util/i386/pc/grub-install.in: Likewise.
30551 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
30552 which fs or partmap modules are needed (akin to its sister scripts).
30554 Also use grub-probe to get rid of unportable /proc/mounts check.
30556 Print the same informational message that the other scripts do, before
30559 2007-06-23 Robert Millan <rmh@aybabtu.com>
30561 * util/update-grub_lib.in (font_path): New function. Determine whether
30562 a font file can be found and, if so, echo the GRUB path to it.
30564 * util/update-grub.in: Handle multiple terminals depending on user
30565 input, platform availability and font file presence. Propagate
30566 variables of our findings to /etc/grub.d/ children.
30568 * util/grub.d/00_header.in: Handle multiple terminals, based on
30569 environment setup by update-grub.
30571 2007-06-23 Robert Millan <rmh@aybabtu.com>
30573 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
30575 2007-06-21 Robert Millan <rmh@aybabtu.com>
30577 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
30578 indicate end of data section in kernel image.
30579 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
30580 GRUB_KERNEL_MACHINE_DATA_END.
30582 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
30584 * kern/i386/efi/startup.S: Likewise.
30586 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
30587 during image generation. Implement --prefix option to override this
30589 * util/i386/efi/grub-mkimage.c: Likewise.
30591 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
30592 code to make path relative to its root into a separate function.
30594 * util/i386/pc/grub-install.in: Use newly provided
30595 make_system_path_relative_to_its_root() to convert ${grubdir}, then
30596 pass the result to grub-install --prefix.
30598 2007-06-13 Robert Millan <rmh@aybabtu.com>
30600 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
30601 DEFAULT_DEVICE_MAP.
30602 * util/grub-emu.c: Use above definitions from misc.h instead of
30604 * util/grub-mkdevicemap.c: Likewise.
30605 * util/i386/pc/grub-setup.c: Likewise.
30606 * util/grub-probe.c: Likewise.
30607 (probe): Abort with grub_util_error() when either
30608 grub_guess_root_device or grub_util_get_grub_dev fails.
30610 2007-06-12 Robert Millan <rmh@aybabtu.com>
30612 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
30613 "pager" assignment.
30614 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
30616 * util/grub-probe.c (probe): Likewise for "drive_name".
30618 2007-06-11 Robert Millan <rmh@aybabtu.com>
30620 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
30621 not just the cdrom one.
30623 2007-06-11 Robert Millan <rmh@aybabtu.com>
30625 * util/i386/pc/grub-mkrescue.in: Add "set -e".
30626 Add --pkglibdir=DIR option to override pkglibdir.
30627 Mention --image-type=TYPE in help output.
30628 Fix --grub-mkimage (it was a no-op).
30629 Abort gracefully when no parameter is given.
30631 2007-06-11 Robert Millan <rmh@aybabtu.com>
30633 * util/i386/pc/grub-mkrescue.in: New file.
30634 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
30635 * Makefile.in: Handle bin_SCRIPTS.
30637 2007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
30639 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
30640 list of video modes.
30642 2007-06-06 Robert Millan <rmh@aybabtu.com>
30644 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
30645 file doesn't exist, or if it is in a filesystem grub can't read.
30647 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
30648 not abort if GRUB_DRIVE could not be defined. Rearrange generated
30649 header comment to fit in 80 columns when the variables are resolved.
30651 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
30652 could be identified by update-grub. Remove redundant check for
30653 unifont.pff existence (since convert_system_path_to_grub_path now
30656 2007-06-04 Robert Millan <rmh@aybabtu.com>
30658 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
30660 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
30662 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
30664 2007-06-04 Robert Millan <rmh@aybabtu.com>
30666 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
30668 * include/grub/partition.h: Declare grub_apple_partition_map_init and
30669 grub_apple_partition_map_fini.
30672 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
30673 to access >2 TiB disks).
30675 Print disk->total_sectors with %llu instead of %lu, since this
30676 variable is always 64-bit (prevents wrong disk size from being displayed
30677 on either >2 TiB disk or big-endian CPU).
30679 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
30680 into a generic case that supports all (sane) partition maps.
30682 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
30685 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
30686 and grub_apple_partition_map_fini() after that.
30688 2007-06-01 Robert Millan <rmh@aybabtu.com>
30690 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
30692 * util/grub.d/00_header.in: Only enable gfxterm when
30693 convert_system_path_to_grub_path() succeeds.
30695 2007-05-20 Robert Millan <rmh@aybabtu.com>
30697 * util/update-grub_lib.in: New file.
30698 * DISTLIST: Add update-grub_lib.in.
30699 * conf/common.rmk: Generate update-grub_lib and install it in
30701 * Makefile.in: Add install routine for $(lib_DATA).
30703 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
30704 function provided by update-grub_lib to support arbitrary paths of
30706 * util/update-grub.in: Use convert_system_path_to_grub_path() to
30707 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
30709 2007-05-19 Robert Millan <rmh@aybabtu.com>
30711 * commands/i386/cpuid.c: New module.
30712 * DISTLIST: Add it.
30713 * conf/i386-efi.rmk: Enable cpuid.mod.
30714 * conf/i386-pc.rmk: Likewise.
30716 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
30718 * kern/disk.c (grub_disk_read): Check return value of
30721 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
30723 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
30725 * disk/raid.c (grub_raid_open): Likewise.
30727 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
30729 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
30730 stack instead of on the heap.
30732 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
30733 before doing a read on it.
30735 * configure.ac: Only use -fno-stack-protector for the target
30738 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
30740 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
30741 __attribute_ ((unused)) to mode_type argument.
30743 * util/getroot.c (grub_guess_root_device): Fix #endif.
30745 * kern/misc.c (memcmp): Fix prototype.
30747 * include/grub/partition.h [GRUB_UTIL]
30748 (grub_gpt_partition_map_init): Add prototype.
30749 (grub_gpt_partition_map_fini): Likewise.
30751 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
30752 at the right place.
30754 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
30755 (grub_fat_read_data): Likewise.
30756 (grub_fat_find_dir): Likewise.
30758 * font/manager.c (find_glyph): Make table a const.
30759 (grub_font_get_glyph): Remove bitmap from if statement.
30761 2007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
30763 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
30764 code, first search for device in /dev/mapper, then in /dev.
30765 (grub_util_get_grub_dev): New function.
30766 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
30768 * util/grub-probe.c (probe): Remove check for RAID, call
30769 grub_util_get_grub_dev() instead of
30770 grub_util_biosdisk_get_grub_dev().
30771 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
30772 grub_util_biosdisk_get_grub_dev().
30773 * util/i386/pc/grub-setup.c (main): Likewise.
30775 2007-05-16 Robert Millan <rmh@aybabtu.com>
30777 * DISTLIST: Update for the latest changes.
30778 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
30779 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
30780 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
30781 grub/util/biosdisk.h.
30782 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
30783 grub/util/biosdisk.h.
30785 2007-05-16 Robert Millan <rmh@aybabtu.com>
30787 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
30789 2007-05-16 Robert Millan <rmh@aybabtu.com>
30791 * util/i386/efi/grub-install.in: New.
30792 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
30793 newly added grub-install.
30794 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
30796 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
30797 grub/util/biosdisk.h.
30798 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
30799 grub/util/biosdisk.h.
30801 2007-05-16 Robert Millan <rmh@aybabtu.com>
30803 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
30804 * include/grub/util/biosdisk.h: ... here.
30805 * util/i386/pc/biosdisk.c: Moved to ...
30806 * util/biosdisk.c: ... here.
30807 * util/i386/pc/getroot.c: Moved to ...
30808 * util/getroot.c: ... here.
30809 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
30810 * util/grub-mkdevicemap.c: ... here.
30811 * util/i386/pc/grub-probe.c: Moved to ...
30812 * util/grub-probe.c: ... here.
30814 2007-05-15 Robert Millan <rmh@aybabtu.com>
30816 * util/update-grub.in: Remove duplicated line in grub.cfg header
30819 2007-05-13 Robert Millan <rmh@aybabtu.com>
30821 * util/update-grub.in: Fix a few assumptions about the devices holding
30822 /, /boot and /boot/grub being the same.
30823 * util/grub.d/00_header.in: Likewise.
30824 * util/grub.d/10_hurd.in: Likewise.
30825 * util/grub.d/10_linux.in: Likewise.
30827 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
30828 patterns. Use that to define the `.old' suffix as older than `'.
30830 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
30832 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
30833 the grub.cfg header message.
30835 2007-05-11 Robert Millan <rmh@aybabtu.com>
30837 * util/update-grub.in: Create device.map if it doesn't already exist,
30838 before attempting to run grub-probe.
30839 Check for grub-probe and grub-mkdevicemap with the same code
30840 grub-install is using.
30843 2007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
30845 * Makefile.in: Add the datarootdir autoconf variable.
30847 2007-05-09 Robert Millan <rmh@aybabtu.com>
30849 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
30850 fail gracefully if dev->disk->partition == NULL.
30852 2007-05-07 Robert Millan <rmh@aybabtu.com>
30854 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
30855 determine partition map module.
30856 * util/i386/pc/grub-install.in: Use this feature to decide which
30857 partition module to load, instead of hardcoding pc and gpt.
30859 2007-05-07 Robert Millan <rmh@aybabtu.com>
30861 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
30862 source directory differs from build directory.
30864 2007-05-05 Robert Millan <rmh@aybabtu.com>
30866 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
30869 2007-05-05 Robert Millan <rmh@aybabtu.com>
30871 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
30873 2007-05-05 Robert Millan <rmh@aybabtu.com>
30875 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
30876 command-line arguments via ${GRUB_CMDLINE_LINUX}.
30878 2007-05-05 Robert Millan <rmh@aybabtu.com>
30880 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
30881 (grub_probe_SOURCES): Likewise.
30882 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
30883 GPT and initialize dos_part and bsd_part accordingly.
30884 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
30886 (main): Activate gpt module for use during partition identification,
30887 and deactivate it afterwards.
30888 * util/i386/pc/grub-install.in: Add gpt module to core.img.
30889 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
30890 partition identification, and deactivate it afterwards.
30892 2007-05-05 Robert Millan <rmh@aybabtu.com>
30894 * term/i386/pc/console.c (grub_console_fini): Call
30895 grub_term_set_current() before grub_term_unregister().
30897 2007-05-04 Robert Millan <rmh@aybabtu.com>
30899 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
30900 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
30901 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
30902 and update-grub_DATA.
30903 * conf/common.rmk: Build and install update-grub components.
30904 * conf/common.mk: Regenerate.
30905 * util/update-grub.in: New. Core of update-grub.
30906 * util/grub.d/00_header.in: New. Generates grub.cfg header.
30907 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
30908 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
30909 * util/grub.d/README: New. Document grub.d directory layout.
30911 2007-05-01 Robert Millan <rmh@aybabtu.com>
30913 * util/grub-emu.c: Move initialization functions
30914 grub_util_biosdisk_init() and grub_init_all() before
30915 grub_util_biosdisk_get_grub_dev(), which relies on them.
30917 2007-04-19 Robert Millan <rmh@aybabtu.com>
30919 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
30922 2007-04-18 Jerone Young <jerone@gmail.com>
30924 * kernel/elf.c: Add missing parenthesis for conditional statement
30927 2007-04-10 Jerone Young <jerone@gmail.com>
30929 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
30930 continue on and look for device node with real device name.
30932 2007-04-10 Jerone Young <jerone@gmail.com>
30934 * configure.ac: Add argument for autoconf to use transformation
30936 * Makefile.in: Add autoconf package transformation code.
30937 * util/i386/pc/grub-install.in: Likewise.
30938 * util/powerpc/ieee1275/grub-install.in: Likewise.
30940 2007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
30942 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
30943 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
30944 (EXT2_REVISION): Likewise.
30945 (EXT2_INODE_SIZE): Likewise.
30946 (struct grub_ext2_block_group): Added a missing member
30948 (grub_ext2_read_inode): Divide by the inode size in a superblock
30949 instead of 128 to obtain INODES_PER_BLOCK.
30950 Use the macro EXT2_INODE_SIZE instead of directly using
30951 SBLOCK->INODE_SIZE.
30953 2007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
30955 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
30956 superblock instead of the structure size to compute an
30957 offset. This fixes the problem that GRUB could not read a
30958 filesystem when inode size is different from 128-byte.
30960 2007-03-05 Marco Gerards <marco@gnu.org>
30962 * normal/main.c (read_config_file): When "menu" is not set, create
30963 an initial context.
30965 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
30967 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
30968 (HEAP_LIMIT): New macro.
30969 (grub_claim_heap): Claim memory up to `heaplimit'.
30971 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
30973 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
30974 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
30975 (_start): Likewise.
30976 (grub_arch_modules_addr): Return address after `_end'.
30977 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
30978 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
30979 (add_segments): Calculate `_end' from phdr size and location.
30980 (ALIGN_UP): Moved to ...
30981 * include/grub/misc.h: here.
30982 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
30984 (GRUB_IEEE1275_MODULE_BASE): Removed.
30986 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
30988 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
30991 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
30993 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
30995 (grub_elf64_load_hook_t): Likewise.
30996 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
30999 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
31001 * kern/mm.c: Update copyright.
31002 (grub_mm_debug): Correct syntax error.
31003 (grub_mm_dump_free): New function.
31004 (grub_debug_free): Call `grub_free'.
31005 * include/grub/mm.h: Update copyright.
31006 (grub_mm_dump_free): Add declaration.
31008 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
31010 * include/grub/ieee1275/ieee1275.h: Update copyright.
31011 * kern/powerpc/ieee1275/init.c: Likewise.
31012 * kern/powerpc/ieee1275/openfw.c: Likewise.
31014 * loader/powerpc/ieee1275/linux.c: Likewise.
31015 * include/grub/elfload.h: Likewise.
31016 * kern/elf.c: Likewise.
31017 (grub_elf32_load): Pass `base' and `size' parameters. Update all
31019 (grub_elf64_load): Likewise.
31020 (grub_elf32_load_segment): Move to a nested function.
31021 (grub_elf64_load_segment): Likewise.
31023 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
31025 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
31027 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
31028 (grub_heap_len): Likewise.
31029 (HEAP_SIZE): New macro.
31030 (grub_claim_heap): New function.
31031 (grub_machine_init): Don't claim heap directly. Call
31033 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
31034 (grub_available_iterate): New function.
31036 2007-02-03 Thomas Schwinge <tschwinge@gnu.org>
31038 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
31039 * configure.ac: Use it for testing the HOST and TARGET compilers.
31041 2006-12-13 Thomas Schwinge <tschwinge@gnu.org>
31043 * Makefile.in (enable_grub_emu): New variable.
31044 * configure.ac (--enable-grub-emu): New option.
31045 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
31046 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
31047 * conf/i386-pc.rmk: Likewise.
31048 * conf/powerpc-ieee1275.rmk: Likewise.
31049 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
31051 2006-12-12 Marco Gerards <marco@gnu.org>
31053 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
31055 * kern/env.c (grub_env_unset): Don't free the member `value' when
31056 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
31059 * normal/main.c (current_menu): Removed.
31060 (free_menu): Unset the `menu' environment variable.
31061 (grub_normal_menu_addentry): Make use of the environment variable
31062 `menu', instead of using the global `current_menu'. Allocate
31063 memory for the sourcecode of this entry.
31064 (read_config_file): New argument `nested', changed all callers.
31065 Only in the case of a new context, initialize a new menu. Set the
31066 `menu' environment variable.
31067 (grub_normal_execute): Don't set and unset the environment
31068 variable `menu' here anymore. Only free the menu when leaving the
31071 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
31074 2006-12-11 Marco Gerards <marco@gnu.org>
31076 * normal/menu_entry.c (run): Fix off by one bug so the last line
31077 is executed. Move the loader check to outside the loop.
31079 2006-12-08 Hollis Blanchard <hollis@penguinppc.org>
31081 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
31083 2006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
31085 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
31086 the number of sectors. Reported by Andrey Shuvikov
31087 <mr_hyro@yahoo.com>.
31089 2006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
31091 * kern/disk.c (grub_disk_read): When there is a read error, always
31092 try to read only the necessary data.
31094 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
31096 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
31098 [GRUB_UTIL] (grub_raid_fini): Likewise.
31099 [GRUB_UTIL] (grub_lvm_init): Likewise.
31100 [GRUB_UTIL] (grub_lvm_fini): Likewise.
31101 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
31102 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
31103 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
31104 and grub_raid_fini().
31106 2006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
31108 * include/grub/types.h (__unused): Rename to UNUSED.
31109 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
31110 (grub_elf64_size): Likewise.
31112 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
31114 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
31115 grub_error_push and grub_error_pop in the error-handling path.
31116 (grub_elf32_load_segment): Only call grub_file_read with non-zero
31119 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
31121 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
31122 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
31123 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31124 (kernel_elf_SOURCES): Likewise.
31125 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
31126 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
31127 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
31128 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
31129 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
31130 (elf_mod_SOURCES): New variable.
31131 (elf_mod_CFLAGS): Likewise.
31132 (elf_mod_LDFLAGS): Likewise.
31133 * include/grub/types.h (__unused): New macro.
31134 * include/grub/elfload.h: New file.
31135 * kern/elf.c: Likewise.
31136 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
31137 (ELF32_LOADMASK): New macro.
31138 (ELF64_LOADMASK): Likewise.
31139 (vmlinux): Removed.
31140 (grub_linux_load32): New function.
31141 (grub_linux_load64): Likewise.
31142 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
31143 Use grub_elf_t instead of grub_file_t.
31145 2006-11-02 Hollis Blanchard <hollis@penguinppc.org>
31147 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
31148 `catch_result' to struct set_color_args.
31150 2006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
31152 * normal/menu.c: Include grub/script.h.
31153 * normal/menu_entry.c: Likewise.
31154 * include/grub/normal.h: Do not include grub/script.h.
31156 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
31158 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
31160 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
31162 * kern/disk.c (grub_disk_open): Print debug messages when opening a
31164 (grub_disk_close): Print debug messages when closing a disk.
31165 (grub_disk_read): Print debug messages when disk read fails.
31166 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
31168 * kern/partition.c: Include misc.h.
31169 (grub_partition_iterate): Print debug messages when detecting
31172 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
31174 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
31176 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
31178 2006-10-26 Hollis Blanchard <hollis@penguinppc.org>
31180 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
31181 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
31183 2006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
31185 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
31186 instead of sizeof(lv). Patch by Michael Guntsche.
31188 2006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
31190 * disk/lvm.c: Rename VGS to VG_LIST.
31191 (grub_lvm_iterate): Change VGS->LV to VG-LV.
31192 (grub_lvm_open): Likewise.
31193 Thanks to Michael Guntsche for finding this bug.
31195 2006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
31197 * configure.ac (AC_INIT): Bumped to 1.95.
31199 2006-10-14 Robert Millan <rmh@aybabtu.com>
31201 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
31202 with "/dev/.static/dev/md".
31204 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
31206 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
31207 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
31208 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
31209 DRIVE_NAME are always freed.
31211 * util/i386/pc/biosdisk.c (make_device_name): Add one into
31212 DOS_PART, as a DOS partition is counted from one instead of zero
31213 now. Reported by Robert Millan.
31215 2006-10-14 Robert Millan <rmh@aybabtu.com>
31217 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
31218 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
31219 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
31220 string returned by grub_guess_root_device.
31221 * util/i386/pc/grub-setup.c: Likewise.
31222 * util/i386/pc/grub-probefs.c: Likewise.
31224 * util/i386/pc/grub-probefs.c: Rename to ...
31225 * util/i386/pc/grub-probe.c: ... this.
31226 * DISTLIST: Remove grub-probefs, add grub-probe.
31227 * conf/i386-efi.rmk: Likewise.
31228 * conf/i386-pc.rmk: Likewise.
31229 * util/i386/pc/grub-install.in: Likewise.
31231 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
31232 choose which information we want to print.
31234 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
31236 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
31237 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
31238 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
31239 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
31240 video/readers/tga.c and video/i386/pc/vbeutil.c.
31242 2006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
31244 Added support for RAID and LVM.
31246 * disk/lvm.c: New file.
31247 * disk/raid.c: Likewise.
31248 * include/grub/lvm.h: Likewise.
31249 * include/grub/raid.h: Likewise.
31250 * include/grub/util/lvm.h: Likewise.
31251 * include/grub/util/raid.h: Likewise.
31252 * util/lvm.c: Likewise.
31253 * util/raid.c: Likewise.
31255 * include/grub/disk.h (grub_disk_dev_id): Add
31256 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
31257 (grub_disk_get_size): New prototype.
31258 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
31259 returns a partition.
31260 (grub_disk_get_size): New function.
31262 * kern/i386/pc/init.c (make_install_device): Copy the prefix
31263 verbatim if grub_install_dos_part is -2.
31265 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
31268 * util/i386/pc/grub-setup.c (setup): New argument
31269 MUST_EMBED. Force embedding of GRUB when the argument is
31270 true. Close FILE before returning.
31271 (main): Add support for RAID and LVM.
31273 * conf/common.rmk: Add RAID and LVM modules.
31274 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
31276 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
31278 * kern/misc.c (grub_strstr): New function.
31279 * include/grub/misc.h (grub_strstr): New prototype.
31281 2006-10-10 Tristan Gingold <tristan.gingold@bull.net>
31283 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
31285 2006-10-05 Tristan Gingold <tristan.gingold@bull.net>
31287 * kern/misc.c (grub_strtoull): Guess the base only if not
31290 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
31292 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
31295 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
31297 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
31299 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
31300 Remove `flags' argument. All callers changed.
31301 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
31302 (IEEE1275_IHANDLE_INVALID): New variable.
31303 (IEEE1275_CELL_INVALID): New variable.
31304 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
31305 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
31306 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
31307 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
31308 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
31309 codes from Open Firmware. All callers updated.
31310 (grub_ieee1275_next_property): Directly return Open Firmware return
31312 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
31313 Standardize error checking from `grub_ieee1275_get_property'.
31314 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
31315 `devalias' to `aliases'. Correct comments. Consolidate error paths.
31317 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
31319 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
31320 `instance_to_package_args' to `instance_to_path_args'.
31322 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
31323 `grub_ieee1275_chosen'.
31325 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
31326 `grub_ieee1275_interpret'.
31328 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
31330 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
31332 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
31334 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
31335 (__cmpdi): Likewise.
31337 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
31338 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
31341 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
31343 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
31344 to type `grub_ssize_t'.
31345 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
31347 2006-09-22 Marco Gerards <marco@gnu.org>
31349 * normal/script.c (grub_script_create_cmdmenu): Skip leading
31352 2006-09-22 Marco Gerards <marco@gnu.org>
31354 * commands/echo.c: New file.
31356 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
31358 * conf/common.rmk (echo_mod_SOURCES): New variable.
31359 (echo_mod_CFLAGS): Likewise.
31360 (echo_mod_LDFLAGS): Likewise.
31362 2006-09-22 Marco Gerards <marco@gnu.org>
31364 * normal/main.c (get_line): Malloc memory instead of using
31365 preallocated memory. Removed the arguments `cmdline' and
31366 `max_len'. Updated all callers.
31368 2006-09-22 Marco Gerards <marco@gnu.org>
31370 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
31371 (normal_mod_DEPENDENCIES): Likewise.
31373 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
31374 (normal_mod_DEPENDENCIES): Likewise.
31376 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
31378 2006-09-22 Johan Rydberg <jrydberg@gnu.org>
31380 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
31382 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
31383 (normal_mod_DEPENDENCIES): Likewise.
31384 * conf/i386-pc.mk: Regenerate.
31385 * conf/i386-efi.mk: Likewise
31386 * conf/common.mk: Likewise.
31387 * conf/powerpc-ieee1275.mk: Likewise.
31388 * conf/sparc64-ieee1275.mk: Likewise.
31390 2006-09-22 Robert Millan <rmh@aybabtu.com>
31392 Sync with i386 version.
31393 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
31394 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
31396 2006-09-21 Robert Millan <rmh@aybabtu.com>
31398 Import from GRUB Legacy (lib/device.c):
31399 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
31400 (init_device_map) [__linux__]: Add support for I2O devices.
31402 2006-09-14 Marco Gerards <marco@gnu.org>
31404 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
31407 2006-09-14 Robert Millan <rmh@aybabtu.com>
31409 * util/i386/pc/grub-install.in: Skip menu.lst when removing
31412 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
31414 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
31415 before adding it to device.map.
31417 2006-08-15 Johan Rydberg <jrydberg@gnu.org>
31419 * genmk.rb: Let GCC generate dependencies the first time it
31420 compiles a file; using the -MD option.
31421 * conf/common.mk: Regenerate.
31422 * conf/i386-pc.mk: Likewise.
31423 * conf/i386-efi.mk: Likewise.
31424 * conf/powerpc-ieee1275.mk: Likewise.
31425 * conf/sparc64-ieee1275.mk: Likewise.
31427 2006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
31429 Move the prototypes of grub_setjmp and grub_longjmp to
31430 cpu/setjmp.h, so that each architecture may specify different
31433 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
31434 (grub_longjmp): Likewise.
31435 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
31436 (grub_longjmp): Likewise.
31437 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
31438 (grub_longjmp): Likewise.
31440 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
31441 [!GRUB_UTIL] (grub_longjmp): Removed.
31443 2006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
31445 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
31446 "color!" method does not return any value.
31448 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
31450 * include/grub/bitmap.h: New file.
31452 * include/grub/i386/pc/vbeutil.h: Likewise.
31454 * video/bitmap.c: Likewise.
31456 * video/readers/tga.c: Likewise.
31458 * video/i386/pc/vbeutil.c: Likewise.
31460 * commands/videotest.c: Code cleanup and updated to reflect to new
31463 * term/gfxterm.c: Likewise.
31465 * video/video.c: Likewise.
31467 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
31468 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
31469 (bitmap_mod_SOURCES): New entry.
31470 (bitmap_mod_CFLAGS): Likewise.
31471 (bitmap_mod_LDFLAGS): Likewise.
31472 (tga_mod_SOURCES): Likewise.
31473 (tga_mod_CFLAGS): Likewise.
31474 (tga_mod_LDFLAGS): Likewise.
31476 * include/grub/video.h (grub_video_blit_operators): New enum type.
31477 (grub_video_render_target): Changed as forward declaration and moved
31478 actual definition to be video driver specific.
31479 (grub_video_adapter.blit_bitmap): Added blitting operator.
31480 (grub_video_adapter.blit_render_target): Likewise.
31481 (grub_video_blit_bitmap): Likewise.
31482 (grub_video_blit_render_target): Likewise.
31484 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
31485 driver specific render target definition.
31486 (grub_video_vbe_map_rgba): Added driver internal helper.
31487 (grub_video_vbe_unmap_color): Updated to use
31488 grub_video_i386_vbeblit_info.
31489 (grub_video_vbe_get_video_ptr): Likewise.
31491 * include/grub/i386/pc/vbeblit.h
31492 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
31493 grub_video_i386_vbeblit_info.
31494 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
31495 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
31496 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
31497 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
31498 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
31499 (grub_video_i386_vbeblit_index_index): Likewise.
31500 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
31501 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
31502 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
31503 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
31505 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
31508 * video/i386/pc/vbeblit.c: Updated to reflect changes on
31509 include/grub/i386/pc/vbeblit.h.
31511 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
31512 Updated to use grub_video_i386_vbeblit_info.
31513 (grub_video_i386_vbefill_R8G8B8): Likewise.
31514 (grub_video_i386_vbefill_index): Likewise.
31515 (grub_video_i386_vbefill): Added generic filler.
31517 * video/i386/pc/vbefill.c: Updated to reflect changes on
31518 include/grub/i386/pc/vbefill.h.
31520 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
31521 grub_video_i386_vbeblit_info.
31522 (grub_video_vbe_unmap_color): Likewise.
31523 (grub_video_vbe_blit_glyph): Likewise.
31524 (grub_video_vbe_scroll): Likewise.
31525 (grub_video_vbe_draw_pixel): Removed function.
31526 (grub_video_vbe_get_pixel): Likewise.
31527 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
31528 updated code to use it.
31529 (common_blitter): Added common blitter for render target and bitmap.
31530 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
31531 (grub_video_vbe_blit_render_target): Likewise.
31533 2006-07-30 Johan Rydberg <jrydberg@gnu.org>
31535 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
31536 is in text mode if there is no console control protocol instance
31539 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
31541 * include/grub/video.h: Code cleanup.
31543 * include/grub/i386/pc/vbe.h: Likewise.
31545 * video/i386/pc/vbe.c: Likewise.
31547 * video/i386/pc/vbeblit.c: Likewise.
31549 * video/i386/pc/vbefill.c: Likewise.
31551 * video/video.c: Likewise. Also added more comments.
31553 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
31555 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
31556 (struct grub_biosdisk_dap): Likewise.
31558 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
31559 linkage settings for all functions.
31561 2006-07-12 Marco Gerards <marco@gnu.org>
31563 * configure.ac (--enable-mm-debug): Fix typo.
31565 * genkernsyms.sh.in: Use proper quoting for `CC'.
31567 2006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
31569 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
31570 (normal_mod_ASFLAGS): Remove "-m32".
31572 2006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
31574 * util/misc.c: Include config.h.
31575 [!HAVE_MEMALIGN]: Do not include malloc.h.
31576 (grub_memalign): Use posix_memalign, if present. Then, use
31577 memalign, if present. Otherwise, emit an error.
31579 * util/grub-emu.c: Do not include malloc.h.
31581 * include/grub/util/misc.h: Include unistd.h. This is required for
31582 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
31583 D. Eades III <hde@foobar-qux.org>.
31585 * configure.ac (AC_GNU_SOURCE): Added.
31586 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
31589 2006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
31591 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
31592 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
31594 2006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
31596 * include/grub/types.h (grub_host_addr_t): Rename to
31597 grub_target_addr_t.
31598 (grub_host_off_t): Rename to grub_target_off_t.
31599 (grub_host_size_t): Rename to grub_target_size_t.
31600 (grub_host_ssize_t): Rename to grub_target_ssize_t.
31601 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
31603 * include/grub/kernel.h (struct grub_module_header): Change type
31604 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
31605 (grub_module_info): Likewise.
31607 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
31609 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
31610 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
31611 Velazquez <jesus.velazquez@gmail.com>.
31613 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
31615 Count partitions from 1 instead of 0 in the string representation
31616 of partitions. Still use 0-based internally.
31618 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
31619 (sun_partition_map_iterate): Use grub_partition_t instead of
31620 struct grub_partition *. Cast DESC->START_CYLINDER to
31621 grub_uint64_t after converting the endian.
31622 (sun_partition_map_probe): Subtract 1 for PARTNUM.
31623 (sun_partition_map_get_name): Add 1 to P->INDEX.
31625 * partmap/pc.c (grub_partition_parse): Subtract 1 for
31627 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
31629 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
31630 zero instead of one.
31631 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
31632 (gpt_partition_map_get_name): Add 1 into P->INDEX.
31634 * partmap/apple.c (apple_partition_map_iterate): Change the type
31635 of POS to unsigned.
31636 (apple_partition_map_probe): Subtract 1 for PARTNUM.
31637 (apple_partition_map_get_name): Add 1 into P->INDEX.
31639 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
31640 of POS to unsigned.
31641 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
31642 calculate the offset of a partition.
31643 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
31644 (amiga_partition_map_get_name): Add 1 into P->INDEX.
31646 * partmap/acorn.c (acorn_partition_map_find): Change the type of
31647 SECTOR to grub_disk_addr_t.
31648 (acorn_partition_map_iterate): Likewise.
31649 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
31650 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
31652 (acorn_partition_map_get_name): Add 1 into P->INDEX.
31654 * kern/i386/pc/init.c (make_install_device): Add 1 into
31655 GRUB_INSTALL_DOS_PART.
31657 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
31660 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
31662 Clean up the code to support 64-bit addressing in disks and
31663 files. This change is not enough for filesystems yet.
31665 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
31666 type of "start" to grub_uint64_t.
31667 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
31668 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
31669 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
31672 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
31673 to grub_disk_addr_t.
31675 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
31678 * partmap/pc.c (pc_partition_map_iterate): Likewise.
31680 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
31683 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
31685 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
31687 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
31689 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
31690 to grub_off_t, to detect an error from grub_file_seek.
31691 (grub_multiboot_load_elf32): Likewise.
31693 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
31694 maximum unsigned long value when an overflow is detected.
31695 (grub_strtoull): New function.
31696 (grub_divmod64): Likewise.
31697 (grub_lltoa): use grub_divmod64.
31699 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
31701 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
31702 the pointer to next character. Use grub_strtoull instead of
31704 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
31705 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
31708 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
31709 return value is signed.
31710 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
31711 test if OFFSET is less than zero, as OFFSET is unsigned now.
31713 * kern/disk.c (struct grub_disk_cache): Change the type of
31714 "sector" to grub_disk_addr_t.
31715 (grub_disk_cache_get_index): Change the type of SECTOR to
31716 grub_disk_addr_t. Calculate the hash with SECTOR casted to
31717 unsigned after shifting.
31718 (grub_disk_cache_invalidate): Change the type of SECTOR to
31720 (grub_disk_cache_unlock): Likewise.
31721 (grub_disk_cache_store): Likewise.
31722 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
31723 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
31724 grub_disk_addr_t and grub_uint64_t, respectively.
31725 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
31726 body, as the value of OFFSET is tweaked by
31727 grub_disk_check_range. Change the types of START_SECTOR, LEN and
31728 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
31730 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
31731 body, as the value of OFFSET is tweaked by
31732 grub_disk_check_range. Change the types of LEN and N to
31735 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
31736 and "saved_offset" to grub_off_t.
31737 (test_header): Cast BUF to char *.
31738 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
31740 (grub_gzio_read): Change the types of OFFSET and SIZE to
31741 grub_off_t and grub_size_t, respectively.
31743 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
31745 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
31746 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
31747 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
31748 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
31749 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
31751 * include/grub/types.h (grub_off_t): Unconditionally set to
31753 (grub_disk_addr_t): Changed to grub_uint64_t.
31755 * include/grub/partition.h (struct grub_partition): Change the
31756 types of "start", "len" and "offset" to grub_disk_addr_t,
31757 grub_uint64_t and grub_disk_addr_t, respectively.
31758 (grub_partition_get_start): Return grub_disk_addr_t.
31759 (grub_partition_get_len): Return grub_uint64_t.
31761 * include/grub/misc.h (grub_strtoull): New prototype.
31762 (grub_divmod64): Likewise.
31764 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
31765 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
31766 grub_off_t, respectively.
31767 All callers and references changed.
31769 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
31770 grub_size_t in "read".
31771 All callers and references changed.
31773 * include/grub/file.h (struct grub_file): Change the types of
31774 "offset" and "size" to grub_off_t and grub_off_t,
31775 respectively. Change the type of SECTOR to grub_disk_addr_t in
31777 (grub_file_read): Change the type of LEN to grub_size_t.
31778 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
31780 (grub_file_size): Return grub_off_t.
31781 (grub_file_tell): Likewise.
31782 All callers and references changed.
31784 * include/grub/disk.h (struct grub_disk_dev): Change the types of
31785 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
31787 (struct grub_disk): Change the type of "total_sectors" to
31788 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
31790 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
31791 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
31792 (grub_disk_write): Likewise.
31793 All callers and references changed.
31795 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
31796 char * for grub_strncmp to silence gcc.
31797 (grub_iso9660_mount): Likewise.
31798 (grub_iso9660_mount): Likewise.
31799 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
31801 (grub_iso9660_iterate_dir): Likewise.
31802 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
31804 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
31805 LEN to grub_disk_addr_t and grub_size_t, respectively.
31807 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
31809 * fs/jfs.c (grub_jfs_read_file): Likewise.
31811 * fs/minix.c (grub_jfs_read_file): Likewise.
31813 * fs/sfs.c (grub_jfs_read_file): Likewise.
31815 * fs/ufs.c (grub_jfs_read_file): Likewise.
31817 * fs/xfs.c (grub_jfs_read_file): Likewise.
31819 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
31820 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
31823 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
31824 BLKNR to -1 instead of returning GRUB_ERRNO.
31825 (grub_ext2_read_file): Change the types of SECTOR and
31826 LEN to grub_disk_addr_t and grub_size_t, respectively.
31828 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
31829 LEN to grub_disk_addr_t and grub_size_t, respectively.
31831 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
31834 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
31835 string. Do not cast SECTOR explicitly.
31837 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
31838 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
31839 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
31840 grub_disk_addr_t and grub_size_t, respectively. If the sector is
31841 over 2TB and LBA mode is not supported, raise an error.
31842 (get_safe_sectors): New function.
31843 (grub_biosdisk_read): Use get_safe_sectors.
31844 (grub_biosdisk_write): Likewise.
31846 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
31847 (grub_efidisk_write): Likewise.
31849 * disk/loopback.c (delete_loopback): Cosmetic changes.
31850 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
31852 (grub_loopback_open): Likewise.
31853 (grub_loopback_read): Likewise. Also, change the type of POS to
31854 grub_off_t, and fix the usage of grub_memset.
31856 * commands/i386/pc/play.c: Include grub/machine/time.h.
31858 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
31861 * commands/configfile.c: Include grub/env.h.
31863 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
31864 GRUB_ERRNO directly instead. Change the type of POS to
31865 grub_off_t. Follow the coding standard.
31867 * commands/blocklist.c: Include grub/partition.h.
31868 (grub_cmd_blocklist): Return an error if the underlying device is
31869 not a disk. Take the starting sector of a partition into account,
31870 if a partition is used.
31872 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
31874 (lba_mode): Support 64-bit addresses.
31875 (chs_mode): Likewise.
31876 (copy_buffer): Adapted to the new offsets of a length field and a
31878 (blocklist_default_start): Allocate 64-bit space.
31880 * boot/i386/pc/boot.S (force_lba): Removed.
31881 (boot_drive): Moved to under KERNEL_SECTOR.
31882 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
31884 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
31886 (lba_mode): Refactored to support a 64-bit address. More size
31888 (setup_sectors): Likewise.
31890 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
31892 * DISTLIST: Added include/grub/i386/linux.h. Removed
31893 include/grub/i386/pc/linux.h
31895 * configure.ac (AC_INIT): Bumped to 1.94.
31897 * config.guess: Updated from gnulib.
31898 * config.sub: Likewise.
31899 * install-sh: Likewise.
31900 * mkinstalldirs: Likewise.
31902 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
31904 * conf/common.rmk (grub_modules_init.lst): Depended on
31905 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
31908 * genmk.rb (PModule::rule): Reverted the previous change.
31910 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
31912 * conf/common.rmk (grub_modules_init.lst): Depends on
31913 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
31914 that the target does not exist before producing.
31915 (grub_modules_init.h): Remove the target before generating.
31916 (grub_emu_init.c): Likewise.
31918 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
31920 2006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
31922 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
31923 for the target-specific tests. Make sure that we also have the
31924 up-to-date target variables for those tests.
31926 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
31928 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
31929 (PModule::rule): Likewise.
31931 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
31933 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
31934 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
31935 target-specific flags should be prefixed.
31936 (PModule::rule): Likewise.
31938 2006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
31940 * configure.ac (CMP): Check if cmp is available explicitly.
31942 2006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
31944 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
31945 (target_cpu): New variable.
31946 (pkglibdir): Use target_cpu instead of host_cpu.
31948 * util/i386/pc/grub-install.in (host_cpu): Removed.
31949 (target_cpu): New variable.
31950 (pkglibdir): Use target_cpu instead of host_cpu.
31952 * util/genmoddep.c: Removed.
31954 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
31955 instead of GRUB_HOST_SIZEOF_VOID_P.
31956 * kern/dl.c: Likewise.
31958 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
31960 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
31961 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
31962 (GRUB_TARGET_SIZEOF_LONG): ... this.
31963 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
31964 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
31965 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
31967 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
31968 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
31969 (GRUB_TARGET_SIZEOF_LONG): ... this.
31970 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
31971 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
31972 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
31974 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
31975 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
31976 (GRUB_TARGET_SIZEOF_LONG): ... this.
31977 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
31978 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
31980 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
31981 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
31982 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
31983 instead of GRUB_HOST_SIZEOF_LONG.
31984 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
31985 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
31986 GRUB_CPU_WORDS_BIGENDIAN.
31987 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
31988 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
31991 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
31992 (genmoddep_SOURCES): Likewise.
31993 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
31994 (genmoddep_SOURCES): Likewise.
31995 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
31996 (genmoddep_SOURCES): Likewise.
31997 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
31999 (genmoddep_SOURCES): Likewise.
32001 * genmoddep.awk: New file.
32003 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
32004 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
32005 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
32006 (PModule::rule): Likewise.
32007 (Program::rule): Likewise.
32008 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
32009 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
32012 * configure.ac: Rewritten intensively to use host and target
32013 instead of build and host, respectively.
32015 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
32016 (host_cpu): Removed.
32017 (target_cpu): New variable.
32018 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
32019 (BUILD_CC): Removed.
32020 (BUILD_CFLAGS): Likewise.
32021 (BUILD_CPPFLAGS): Likewise.
32022 (TARGET_CC): New variable.
32023 (TARGET_CFLAGS): Likewise.
32024 (TARGET_CPPFLAGS): Likewise.
32025 (TARGET_LDFLAGS): Likewise.
32027 (include): Use target_cpu instead of host_cpu.
32028 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
32030 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
32032 2006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
32034 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
32035 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
32036 field 'false' to 'exec_on_false'.
32037 (grub_script_create_cmdif): Renamed argument names to reflect above
32040 * normal/execute.c (grub_script_execute_cmdif): Likewise.
32042 * normal/script.c (grub_script_create_cmdif): Likewise.
32044 2006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
32046 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
32048 (grub_hfsplus_btree_recptr): Likewise.
32049 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
32050 FILEBLOCK both to pass a block number and store next block
32052 (grub_hfsplus_read_block): Rewritten heavily to support an extent
32053 overflow file correctly. Specify errors appropriately, because
32054 fshelp expects that GRUB_ERRNO is set when fails. Reuse
32055 grub_hfsplus_btree_recptr to get the pointer to a found key.
32056 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
32059 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
32061 (_linux_mod_SOURCES): New variable.
32062 (_linux_mod_CFLAGS): Likewise.
32063 (_linux_mod_LDFLAGS): Likewise.
32064 (linux_mod_SOURCES): Likewise.
32065 (linux_mod_CFLAGS): Likewise.
32066 (linux_mod_LDFLAGS): Likewise.
32068 * DISTLIST: Added loader/i386/efi/linux.c,
32069 loader/i386/efi/linux_normal.c and
32070 include/grub/i386/efi/loader.h.
32072 * loader/i386/efi/linux.c: New file.
32073 * loader/i386/efi/linux_normal.c: Likewise.
32074 * include/grub/i386/efi/loader.h: Likewise.
32076 2006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
32078 * commands/blocklist.c: New file.
32080 * DISTLIST: Added commands/blocklist.c.
32082 * term/efi/console.c (grub_console_highlight_color): Use a lighter
32083 color for the background, and a darker color for the foreground.
32084 (grub_console_checkkey): Return READ_KEY.
32085 (grub_console_cls): Set the background to
32086 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
32088 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
32090 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
32091 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
32093 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
32096 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
32097 BG. The spec is wrong again.
32099 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
32101 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
32103 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
32104 commands/blocklist.c.
32105 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32107 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
32108 (blocklist_mod_SOURCES): New variable.
32109 (blocklist_mod_CFLAGS): Likewise.
32110 (blocklist_mod_LDFLAGS): Likewise.
32112 2006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
32114 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
32116 (lba_mode): Use %eax more intensively to reduce the code size.
32118 2006-05-20 Marco Gerards <marco@gnu.org>
32120 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
32122 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
32124 (script): Accept leading newlines.
32125 (newlines): New rule to describe 0 or more newlines.
32126 (commands): Accept `command' with trailing newline. Fixed the
32127 order in which arguments were passed to `grub_script_add_cmd'.
32128 Accept commands separated by newlines.
32129 (function): Changed to accept newlines.
32130 (menuentry) Rewritten.
32132 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
32133 front of the list, instead of to the end.
32135 2006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
32137 * util/i386/pc/grub-install.in (bindir): New variable.
32138 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
32139 Shaver <lbgwjl@gmail.com>.
32141 2006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
32143 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
32144 grub/machine/linux.h
32145 * loader/i386/pc/linux.c: Likewise.
32147 * include/grub/i386/pc/linux.h: Moved to ...
32148 * include/grub/i386/linux.h: ... here.
32150 * include/grub/i386/linux.h (struct linux_kernel_params): New
32153 2006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
32155 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
32157 (grub_video_vbe_blit_glyph): Likewise.
32158 (grub_video_vbe_blit_bitmap): Likewise.
32159 (grub_video_vbe_blit_render_target): Likewise.
32161 2006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
32163 * configure.ac (--with-platform): Properly quote the square
32166 2006-05-08 Marco Gerards <marco@gnu.org>
32168 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
32170 (kernel_elf_HEADERS): ...to this. Updated all users.
32171 (grubof_symlist.c): Renamed from this...
32172 (kernel_elf_symlist.c): ...to this. Updated all users.
32173 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
32174 (grubof_SOURCES): Renamed from this...
32175 (kernel_elf_SOURCES): ...to this.
32176 (grubof_HEADERS): Renamed from this...
32177 (kernel_elf_HEADERS): ...to this.
32178 (grubof_CFLAGS): Renamed from this...
32179 (kernel_elf_CFLAGS): ...to this.
32180 (grubof_ASFLAGS): Renamed from this...
32181 (kernel_elf_ASFLAGS): ...to this.
32182 (grubof_LDFLAGS): Renamed from this...
32183 (kernel_elf_LDFLAGS): ...to this.
32185 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
32187 (kernel_elf_HEADERS): ...to this. Updated all users.
32188 (grubof_symlist.c): Renamed from this...
32189 (kernel_elf_symlist.c): ...to this. Updated all users.
32190 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
32191 (grubof_SOURCES): Renamed from this...
32192 (kernel_elf_SOURCES): ...to this.
32193 (grubof_HEADERS): Renamed from this...
32194 (kernel_elf_HEADERS): ...to this.
32195 (grubof_CFLAGS): Renamed from this...
32196 (kernel_elf_CFLAGS): ...to this.
32197 (grubof_ASFLAGS): Renamed from this...
32198 (kernel_elf_ASFLAGS): ...to this.
32199 (grubof_LDFLAGS): Renamed from this...
32200 (kernel_elf_LDFLAGS): ...to this.
32202 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
32203 `kernel.elf' instead of `grubof'.
32205 2006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
32207 Add --with-platform to configure. Use pkglibdir instead of
32208 pkgdatadir. This is reported by Roger Leigh.
32210 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
32211 (host_vendor): Likewise.
32212 (host_os): Likewise.
32213 (pkgdatadir): Likewise.
32214 (platform): New variable.
32215 (pkglibdir): Likewise.
32216 Use PKGLIBDIR instead of PKGDATADIR.
32218 * util/i386/pc/grub-install.in (datadir): Removed.
32219 (host_vendor): Likewise.
32220 (host_os): Likewise.
32221 (pkgdatadir): Likewise.
32222 (platform): New variable.
32223 (pkglibdir): Likewise.
32224 Use PKGLIBDIR instead of PKGDATADIR.
32226 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
32227 instead of GRUB_DATADIR.
32229 * util/i386/pc/grub-mkimage.c (usage): Likewise.
32231 * util/i386/efi/grub-mkimage.c (usage): Likewise.
32234 * configure.ac (--with-platform): New option.
32235 Use PLATFORM instead of HOST_VENDOR to specify a platform.
32237 * Makefile.in: Include a makefile based on PLATFORM instead of
32239 (pkgdatadir): Not appended by the machine type.
32240 (pkglibdir): Appended by the machine type.
32241 (host_vendor): Removed.
32242 (platform): New variable.
32243 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
32244 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
32245 (uninstall): Likewise.
32247 2006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
32249 Use the environment context in the menu. Remove the commands
32250 "default" and "timeout", and use variables instead.
32252 * normal/menu.c: Include grub/env.h.
32253 (print_entry): Cast TITLE to silence gcc.
32254 (get_timeout): New function.
32255 (set_timeout): Likewise.
32256 (get_entry_number): Likewise.
32257 (run_menu): Use a default entry, a fallback entry and a timeout
32258 in the environment variables "default", "fallback" and
32259 "timeout". Also, tweak the default entry if it is not within the
32260 current menu entries.
32261 (grub_menu_run): Use a fallback entry in the environment variable
32264 * normal/main.c (read_config_file): Do not initialize
32265 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
32267 (grub_normal_execute): Use a data slot to store the menu.
32269 * include/grub/normal.h (struct grub_menu): Removed default_entry,
32270 fallback_entry and timeout.
32271 (struct grub_menu_list): Removed.
32272 (grub_menu_list_t): Likewise.
32273 (struct grub_context): Likewise.
32274 (grub_context_t): Likewise.
32275 (grub_context_get): Likewise.
32276 (grub_context_get_current_menu): Likewise.
32277 (grub_context_push_menu): Likewise.
32278 (grub_context_pop_menu): Likewise.
32279 (grub_default_init): Likewise.
32280 (grub_default_fini): Likewise.
32281 (grub_timeout_init): Likewise.
32282 (grub_timeout_fini): Likewise.
32284 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
32286 (normal_mod_SOURCES): Removed normal/context.c.
32288 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
32289 commands/default.c, commands/timeout.c and normal/context.c.
32290 (normal_mod_SOURCES): Removed normal/context.c.
32292 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
32293 commands/timeout.c and normal/context.c.
32294 (normal_mod_SOURCES): Removed normal/context.c.
32296 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
32297 commands/default.c, commands/timeout.c and normal/context.c.
32298 (normal_mod_SOURCES): Removed normal/context.c.
32300 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
32302 (default_mod_SOURCES): Removed.
32303 (default_mod_CFLAGS): Likewise.
32304 (default_mod_LDFLAGS): Likewise.
32305 (timeout_mod_SOURCES): Removed.
32306 (timeout_mod_CFLAGS): Likewise.
32307 (timeout_mod_LDFLAGS): Likewise.
32309 * DISTLIST: Removed commands/default.c, commands/timeout.c and
32312 * commands/default.c: Removed.
32313 * commands/timeout.c: Likewise.
32314 * normal/context.c: Likewise.
32316 2006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
32318 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
32320 2006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
32322 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
32323 "next" to "prev" for readability.
32324 (struct grub_env_sorted_var): New struct.
32325 (grub_env_context): Renamed to ...
32326 (initial_context): ... this.
32327 (grub_env_var_context): Renamed to ...
32328 (current_context): ... this.
32329 (grub_env_find): Look only at CURRENT_CONTEXT.
32330 (grub_env_context_open): Rewritten to copy exported variables from
32332 (grub_env_context_close): Rewritten according to the new
32333 scheme. Also, add an assertion to prevent the initial context from
32335 (grub_env_insert): Removed the code for the sorted list.
32336 (grub_env_remove): Likewise.
32337 (grub_env_export): Simply mark the variable with
32338 GRUB_ENV_VAR_GLOBAL.
32339 (grub_env_set): A cosmetic change for naming consistency.
32340 (grub_env_get): Likewise.
32341 (grub_env_unset): Likewise.
32342 (grub_env_iterate): Rewritten to sort variables within this
32344 (grub_register_variable_hook): Fixed for naming consistency. Call
32345 grub_env_find again, only if NAME is not found at the first time.
32346 (mangle_data_slot_name): New function.
32347 (grub_env_set_data_slot): Likewise.
32348 (grub_env_get_data_slot): Likewise.
32349 (grub_env_unset_data_slot): Likewise.
32351 * include/grub/env.h (grub_env_var_type): New enum.
32352 (GRUB_ENV_VAR_LOCAL): New constant.
32353 (GRUB_ENV_VAR_GLOBAL): Likewise.
32354 (GRUB_ENV_VAR_DATA): Likewise.
32355 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
32357 (grub_env_set): Replace VAR with NAME for consistency.
32358 (grub_register_variable_hook): Likewise.
32359 (grub_env_export): Specify the name of the argument.
32360 (grub_env_set_data_slot): New prototype.
32361 (grub_env_get_data_slot): Likewise.
32362 (grub_env_unset_data_slot): Likewise.
32364 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
32366 Extend the loader so that GRUB can accept a loader which comes
32367 back to GRUB when a loaded image exits. Also, this change adds
32368 support for a chainloader on EFI.
32370 * term/efi/console.c: Include grub/misc.h.
32371 (grub_console_checkkey): Display a scan code on the top for
32372 debugging. This will be removed once the EFI port gets stable.
32373 Correct the scan code mapping.
32375 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
32376 allocate memory from larger regions, in order to reduce the number
32377 of allocated regions. Otherwise, the MacOSX loader panics.
32378 (filter_memory_map): Avoid less than 1MB for compatibility with
32380 (add_memory_regions): Allocate from the tail of a region, if
32381 possible, to avoid allocating a region near to 1MB, for the MacOSX
32384 * kern/efi/init.c (grub_efi_set_prefix): Specify
32385 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
32387 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
32388 argument IMAGE_HANDLE and specify it to get a loaded image.
32389 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
32390 grub_efi_get_loaded_image.
32391 (grub_efi_get_filename): Divide the length by the size of
32393 (grub_efi_get_device_path): New function.
32394 (grub_efi_print_device_path): Print End Device Path nodes. Divide
32395 the length by the size of grub_efi_char16_t for a file path device
32398 * kern/loader.c (grub_loader_noreturn): New variable.
32399 (grub_loader_set): Accept a new argument NORETURN. Set
32400 GRUB_LOADER_NORETURN to NORETURN.
32401 All callers changed.
32402 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
32405 * include/grub/efi/efi.h (grub_efi_get_device_path): New
32407 (grub_efi_get_loaded_image): Take an argument to specify an image
32410 * include/grub/loader.h (grub_loader_set): Added one more argument
32413 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
32414 instead of grub_efi_open_protocol.
32415 (grub_efidisk_get_device_name): Likewise.
32416 (grub_efidisk_close): Print a newline.
32417 (grub_efidisk_get_device_handle): Fixed to use
32418 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
32419 GRUB_EFI_DEVICE_PATH_TYPE.
32421 * disk/efi/efidisk.c (device_path_guid): Moved to ...
32422 * kern/efi/efi.c (device_path_guid): ... here.
32424 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
32426 (kernel_mod_HEADERS): Added efi/disk.h.
32427 (_chain_mod_SOURCES): New variable.
32428 (_chain_mod_CFLAGS): Likewise.
32429 (_chain_mod_LDFLAGS): Likewise.
32430 (chain_mod_SOURCES): Likewise.
32431 (chain_mod_CFLAGS): Likewise.
32432 (chain_mod_LDFLAGS): Likewise.
32434 * DISTLIST: Added include/grub/efi/chainloader.h,
32435 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
32437 * include/grub/efi/chainloader.h: New file.
32438 * loader/efi/chainloader.c: Likewise.
32439 * loader/efi/chainloader_normal.c: Likewise.
32441 2006-04-30 Marco Gerards <marco@gnu.org>
32443 * commands/configfile.c (grub_cmd_source): New function.
32444 (GRUB_MOD_INIT): Register the commands `source' and `.'.
32445 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
32447 2006-04-30 Marco Gerards <marco@gnu.org>
32449 * normal/execute.c (grub_script_execute_cmd): Change the return
32450 type to `grub_err_t'. Correctly return the error.
32451 (grub_script_execute_cmdline): In case a command line is not a
32452 command or a function, try to interpret it as an assignment.
32454 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
32456 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
32457 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
32458 skip a node whose name is obviously invalid as UTF-16,
32459 i.e. contains a NUL character. Stop the iteration when the last
32460 directory entry is found. Instead of using the return value of
32461 grub_hfsplus_btree_iterate_node, store the value in RET and use
32462 it, because the iterator can be stopped by the last directory
32465 2006-04-30 Marco Gerards <marco@gnu.org>
32467 * include/grub/env.h (grub_env_export): New prototype. Reported
32468 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
32470 2006-04-30 Marco Gerards <marco@gnu.org>
32472 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
32473 size of the extents in a catalog file record.
32475 2006-04-29 Marco Gerards <marco@gnu.org>
32477 * commands/configfile.c (grub_cmd_configfile): Execute the
32478 configfile within its own context.
32480 * include/grub/env.h (grub_env_context_open): New prototype.
32481 (grub_env_context_close): Likewise.
32483 * kern/env.c (grub_env): Removed.
32484 (grub_env_sorted): Likewise.
32485 (grub_env_context): New variable.
32486 (grub_env_var_context): Likewise.
32487 (grub_env_find): Search both the active context and the global
32489 (grub_env_context_open): New function.
32490 (grub_env_context_close): Likewise.
32491 (grub_env_insert): Likewise.
32492 (grub_env_remove): Likewise.
32493 (grub_env_export): Likewise.
32494 (grub_env_set): Changed to use helper functions to avoid code
32496 (grub_env_iterate): Rewritten so both the current context and the
32497 global context are being used.
32499 * normal/command.c (export_command): New function.
32500 (grub_command_init): Register the `export' function.
32502 2006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
32504 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
32505 explicitly to suppress gcc's warnings.
32506 * fs/fat.c (grub_fat_find_dir): Likewise.
32507 (grub_fat_label): Likewise.
32508 * fs/xfs.c (grub_xfs_read_inode): Likewise.
32509 (grub_xfs_mount): Likewise.
32510 (grub_xfs_label): Likewise.
32511 * fs/affs.c (grub_affs_mount): Likewise.
32512 (grub_affs_label): Likewise.
32513 (grub_affs_iterate_dir): Likewise.
32514 * fs/sfs.c (grub_sfs_mount): Likewise.
32515 (grub_sfs_iterate_dir): Likewise.
32516 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
32517 * fs/hfs.c (grub_hfs_mount): Likewise.
32518 (grub_hfs_cmp_catkeys): Likewise.
32519 (grub_hfs_find_dir): Likewise.
32520 (grub_hfs_dir): Likewise.
32521 (grub_hfs_label): Likewise.
32522 * fs/jfs.c (grub_jfs_mount): Likewise.
32523 (grub_jfs_opendir): Likewise.
32524 (grub_jfs_getent): Likewise.
32525 (grub_jfs_lookup_symlink): Likewise.
32526 (grub_jfs_label): Likewise.
32527 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
32528 (grub_hfsplus_iterate_dir): Likewise.
32529 (grub_hfsplus_btree_iterate_node): Made static.
32531 * util/grub-emu.c (prefix): New variable.
32532 (grub_machine_set_prefix): New function.
32533 (main): Do not set the environment variable "prefix" here. Only
32534 set PREFIX, which is used later by grub_machine_set_prefix.
32536 * include/grub/video.h: Do not include grub/symbol.h.
32537 (grub_video_register): Not exported. This symbol is not defined in
32539 (grub_video_unregister): Likewise.
32540 (grub_video_iterate): Likewise.
32541 (grub_video_setup): Likewise.
32542 (grub_video_restore): Likewise.
32543 (grub_video_get_info): Likewise.
32544 (grub_video_get_blit_format): Likewise.
32545 (grub_video_set_palette): Likewise.
32546 (grub_video_get_palette): Likewise.
32547 (grub_video_set_viewport): Likewise.
32548 (grub_video_get_viewport): Likewise.
32549 (grub_video_map_color): Likewise.
32550 (grub_video_map_rgb): Likewise.
32551 (grub_video_map_rgba): Likewise.
32552 (grub_video_fill_rect): Likewise.
32553 (grub_video_blit_glyph): Likewise.
32554 (grub_video_blit_bitmap): Likewise.
32555 (grub_video_blit_render_target): Likewise.
32556 (grub_video_scroll): Likewise.
32557 (grub_video_swap_buffers): Likewise.
32558 (grub_video_create_render_target): Likewise.
32559 (grub_video_delete_render_target): Likewise.
32560 (grub_video_set_active_render_target): Likewise.
32562 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
32564 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
32566 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
32567 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
32568 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
32569 instead of $(srcdir)/genkernsyms.sh.
32571 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
32572 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
32573 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
32574 instead of $(srcdir)/genkernsyms.sh.
32576 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
32577 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
32578 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
32579 instead of $(srcdir)/genkernsyms.sh.
32581 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
32582 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
32583 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
32584 instead of $(srcdir)/genkernsyms.sh.
32586 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
32589 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
32591 (gensymlist.sh): New target.
32592 (genkernsyms.sh): Likewise.
32594 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
32595 genkernsyms.sh.in and gensymlist.sh.in.
32597 * genkernsyms.sh: Removed.
32598 * gensymlist.sh: Likewise.
32600 * genkernsyms.sh.in: New file.
32601 * gensymlist.sh.in: Likewise.
32603 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
32605 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
32606 clobber "prefix", since we may have already set it manually.
32608 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
32610 * kern/misc.c (abort): New alias for grub_abort.
32612 2006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
32614 A new machine-specific function "grub_machine_set_prefix" is
32615 defined. This is called after loading modules, so that a prefix
32616 initialization can use modules. Also, this change adds an
32617 intensive debugging feature for the memory manager via the
32618 configure option "--enable-mm-debug".
32620 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
32623 * kern/sparc64/ieee1275/init.c (abort): Removed.
32624 (grub_stop): Likewise.
32625 (grub_exit): New function.
32626 (grub_set_prefix): Renamed to ...
32627 (grub_machine_set_prefix): ... this.
32628 (grub_machine_init): Do not call grub_set_prefix.
32630 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
32631 (grub_machine_set_prefix): ... this.
32632 (grub_machine_init): Do not call grub_set_prefix.
32634 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
32635 (grub_machine_init): Do not set the prefix here.
32637 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
32639 * kern/efi/init.c: Include grub/mm.h.
32640 (grub_efi_set_prefix): New function.
32642 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
32643 (grub_efi_get_filename): New function.
32644 (grub_print_device_path): Renamed to ...
32645 (grub_efi_print_device_path): ... this.
32647 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
32648 [MM_DEBUG] (grub_realloc): Likewise.
32649 [MM_DEBUG] (grub_free): Likewise.
32650 [MM_DEBUG] (grub_memalign): Likewise.
32651 [MM_DEBUG] (grub_mm_debug): New variable.
32652 [MM_DEBUG] (grub_debug_malloc): New function.
32653 [MM_DEBUG] (grub_debug_free): New function.
32654 [MM_DEBUG] (grub_debug_realloc): New function.
32655 [MM_DEBUG] (grub_debug_memalign): New function.
32657 * kern/misc.c (grub_abort): Print a newline to distinguish
32660 * kern/main.c (grub_main): Call grub_machine_set_prefix and
32661 grub_set_root_dev after loading modules. This is necessary when
32662 setting a prefix depends on modules.
32664 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
32665 (grub_efi_print_device_path): ... this.
32666 (grub_efi_get_filename): New prototype.
32667 (grub_efi_set_prefix): Likewise.
32669 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
32671 (grub_efidisk_get_device_handle): New prototype.
32672 (grub_efidisk_get_device_name): Likewise.
32674 * include/grub/mm.h: Include config.h.
32675 (MM_DEBUG): Removed.
32676 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
32677 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
32678 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
32679 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
32680 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
32681 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
32682 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
32683 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
32684 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
32686 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
32688 * disk/efi/efidisk.c: Include grub/partition.h.
32689 (iterate_child_devices): New function.
32690 (add_device): First, compare only last device path nodes, so that
32691 devices are sorted by the types.
32692 (grub_efidisk_get_device_handle): New function.
32693 (grub_efidisk_get_device_name): Likewise.
32695 * configure.ac (--enable-mm-debug): New option to enable the
32696 memory manager debugging feature. This makes the binary much
32697 bigger, so is disabled by default.
32699 2006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
32701 Use grub_abort instead of grub_stop, and grub_exit must be
32702 define in each architecture now. Also, this change adds support
32705 * util/i386/pc/grub-probefs.c: Include grub/term.h.
32706 (grub_getkey): New function.
32707 (grub_term_get_current): Likewise.
32709 * util/i386/pc/grub-setup.c: Include grub/term.h.
32710 (grub_getkey): New function.
32711 (grub_term_get_current): Likewise.
32713 * util/misc.c (grub_stop): Renamed to ...
32714 (grub_exit): ... this.
32716 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
32717 (grub_exit): ... this.
32718 (grub_machine_init): Use grub_abort instead of abort.
32719 (grub_stop): Removed.
32721 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
32724 * kern/i386/pc/startup.S (grub_exit): New function.
32725 (cold_reboot): New label.
32727 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
32728 (grub_efi_init): Call grub_efidisk_init.
32729 (grub_efi_fini): Call grub_efidisk_fini.
32731 * kern/efi/efi.c: Include grub/mm.h.
32732 (grub_efi_console_control_guid): Renamed to ...
32733 (console_control_guid): ... this.
32734 (grub_efi_loaded_image_guid): Renamed to ...
32735 (loaded_image_guid): ... this.
32736 (grub_efi_locate_handle): New function.
32737 (grub_efi_open_protocol): Likewise.
32738 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
32739 GRUB_EFI_CONSOLE_CONTROL_GUID.
32740 (grub_efi_exit): Removed.
32741 (grub_stop): Likewise.
32742 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
32743 (grub_exit): New function.
32744 (grub_print_device_path): Likewise.
32746 * kern/rescue.c (grub_rescue_cmd_exit): New function.
32747 (grub_enter_rescue_mode): Register "exit".
32749 * kern/misc.c (grub_real_dprintf): A cosmetic change.
32750 (grub_abort): New function.
32752 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
32754 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
32756 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
32758 * include/grub/efi/efi.h (grub_efi_exit): Removed.
32759 (grub_print_device_path): New prototype.
32760 (grub_efi_locate_handle): Likewise.
32761 (grub_efi_open_protocol): Likewise.
32763 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
32764 * disk/efi/efidisk.c: Likewise.
32766 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
32768 * include/grub/efi/console_control.h
32769 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
32771 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
32772 last 8 bytes as an array.
32773 (GRUB_EFI_DISK_IO_GUID): New macro.
32774 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
32775 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
32776 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
32778 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
32779 (struct grub_efi_device_path): Rename the member "sub_type" to
32781 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
32782 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
32783 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
32784 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
32785 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
32786 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
32787 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
32788 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
32789 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
32790 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
32791 (struct grub_efi_pci_device_path): New structure.
32792 (grub_efi_pci_device_path_t): New type.
32793 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
32794 (struct grub_efi_pccard_device_path): New structure.
32795 (grub_efi_pccard_device_path_t): New type.
32796 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
32797 (struct grub_efi_memory_mapped_device_path): New structure.
32798 (grub_efi_memory_mapped_device_path_t): New type.
32799 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
32800 (struct grub_efi_vendor_device_path): New structure.
32801 (grub_efi_vendor_device_path_t): New type.
32802 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
32803 (struct grub_efi_controller_device_path): New structure.
32804 (grub_efi_controller_device_path_t): New type.
32805 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
32806 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
32807 (struct grub_efi_acpi_device_path): New structure.
32808 (grub_efi_acpi_device_path_t): New type.
32809 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
32810 (struct grub_efi_expanded_acpi_device_path): New structure.
32811 (grub_efi_expanded_acpi_device_path_t): New type.
32812 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
32813 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
32814 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
32815 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
32816 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
32817 (struct grub_efi_atapi_device_path): New structure.
32818 (grub_efi_atapi_device_path_t): New type.
32819 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
32820 (struct grub_efi_fibre_channel_device_path): New structure.
32821 (grub_efi_fibre_channel_device_path_t): New type.
32822 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
32823 (struct grub_efi_1394_device_path): New structure.
32824 (grub_efi_1394_device_path_t): New type.
32825 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
32826 (struct grub_efi_usb_device_path): New structure.
32827 (grub_efi_usb_device_path_t): New type.
32828 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
32829 (struct grub_efi_usb_class_device_path): New structure.
32830 (grub_efi_usb_class_device_path_t): New type.
32831 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
32832 (struct grub_efi_i2o_device_path): New structure.
32833 (grub_efi_i2o_device_path_t): New type.
32834 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
32835 (struct grub_efi_mac_address_device_path): New structure.
32836 (grub_efi_mac_address_device_path_t): New type.
32837 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
32838 (struct grub_efi_ipv4_device_path): New structure.
32839 (grub_efi_ipv4_device_path_t): New type.
32840 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
32841 (struct grub_efi_ipv6_device_path): New structure.
32842 (grub_efi_ipv6_device_path_t): New type.
32843 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
32844 (struct grub_efi_infiniband_device_path): New structure.
32845 (grub_efi_infiniband_device_path_t): New type.
32846 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
32847 (struct grub_efi_uart_device_path): New structure.
32848 (grub_efi_uart_device_path_t): New type.
32849 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
32850 (struct grub_efi_vendor_messaging_device_path): New structure.
32851 (grub_efi_vendor_messaging_device_path_t): New type.
32852 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
32853 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
32854 (struct grub_efi_hard_drive_device_path): New structure.
32855 (grub_efi_hard_drive_device_path_t): New type.
32856 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
32857 (struct grub_efi_cdrom_device_path): New structure.
32858 (grub_efi_cdrom_device_path_t): New type.
32859 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
32860 (struct grub_efi_vendor_media_device_path): New structure.
32861 (grub_efi_vendor_media_device_path_t): New type.
32862 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
32863 (struct grub_efi_file_path_device_path): New structure.
32864 (grub_efi_file_path_device_path_t): New type.
32865 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
32866 (struct grub_efi_protocol_device_path): New structure.
32867 (grub_efi_protocol_device_path_t): New type.
32868 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
32869 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
32870 (struct grub_efi_bios_device_path): New structure.
32871 (grub_efi_bios_device_path_t): New type.
32872 (struct grub_efi_disk_io): New structure.
32873 (grub_efi_disk_io_t): New type.
32874 (struct grub_efi_block_io_media): New structure.
32875 (grub_efi_block_io_media_t): New type.
32876 (struct grub_efi_block_io): New structure.
32877 (grub_efi_block_io_t): New type.
32879 * include/grub/misc.h (grub_stop): Removed.
32880 (grub_exit): New prototype.
32881 (grub_abort): Likewise.
32883 * include/grub/disk.h (enum grub_disk_dev_id): Added
32884 GRUB_DISK_DEVICE_EFIDISK_ID.
32886 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
32887 disk/efi/efidisk.c.
32888 (kernel_syms.lst): Remove the target if an error occurs.
32890 2006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
32892 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
32893 as it was simply too buggy.
32895 2006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
32897 * kern/misc.c (grub_lltoa): New function.
32898 (grub_vsprintf): Added support for the long long suffix,
32901 2006-04-20 Hollis Blanchard <hollis@penguinppc.org>
32903 * Makefile.in (LDFLAGS): Add variable.
32904 (LD): Remove variable.
32905 * configure.ac: Add -m32 to LDFLAGS.
32906 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
32907 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
32908 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
32909 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
32910 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
32912 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
32913 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
32914 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
32916 2006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
32918 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
32919 length for unknown glyph.
32921 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
32923 Add support for pre-loaded modules into the EFI port.
32925 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
32926 completely. Accept one more argument DIR. The caller has changed.
32928 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
32930 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
32931 (grub_efi_loaded_image_guid): New variable.
32932 (grub_efi_get_loaded_image): New function.
32933 (grub_arch_modules_addr): Likewise.
32935 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
32938 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
32939 (struct grub_efi_loaded_image): New structure.
32940 (grub_efi_loaded_image_t): New type.
32942 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
32944 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
32945 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
32946 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
32948 2006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
32950 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
32952 2006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
32954 * DISTLIST: Added include/grub/efi/console.h,
32955 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
32956 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
32958 * include/grub/efi/console.h: New file.
32959 * include/grub/efi/time.h: Likewise.
32960 * include/grub/i386/efi/kernel.h: Likewise.
32961 * kern/efi/init.c: Likewise.
32962 * kern/efi/mm.c: Likewise.
32963 * term/efi/console.c: Likewise.
32965 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
32966 (grub_stop): Removed.
32967 (grub_get_rtc): Likewise.
32968 (grub_machine_init): Simply call grub_efi_init.
32969 (grub_machine_fini): Call grub_efi_fini.
32971 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
32972 (grub_efi_output_string): Removed.
32973 (grub_efi_stall): New function.
32974 (grub_stop): Likewise.
32975 (grub_get_rtc): Likewise.
32977 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
32978 (grub_efi_stall): New prototype.
32979 (grub_efi_allocate_pages): Likewise.
32980 (grub_efi_free_pages): Likewise.
32981 (grub_efi_get_memory_map): Likewise.
32982 (grub_efi_mm_init): Likewise.
32983 (grub_efi_mm_fini): Likewise.
32984 (grub_efi_init): Likewise.
32985 (grub_efi_fini): Likewise.
32987 * include/grub/i386/efi/time.h: Do not include
32988 grub/symbol.h. Include grub/efi/time.h.
32989 (GRUB_TICKS_PER_SECOND): Removed.
32990 (grub_get_rtc): Likewise.
32992 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
32993 Added padding. The EFI spec is buggy.
32994 (GRUB_EFI_BLACK): New macro.
32995 (GRUB_EFI_BLUE): Likewise.
32996 (GRUB_EFI_GREEN): Likewise.
32997 (GRUB_EFI_CYAN): Likewise.
32998 (GRUB_EFI_RED): Likewise.
32999 (GRUB_EFI_MAGENTA): Likewise.
33000 (GRUB_EFI_BROWN): Likewise.
33001 (GRUB_EFI_LIGHTGRAY): Likewise.
33002 (GRUB_EFI_BRIGHT): Likewise.
33003 (GRUB_EFI_DARKGRAY): Likewise.
33004 (GRUB_EFI_LIGHTBLUE): Likewise.
33005 (GRUB_EFI_LIGHTGREEN): Likewise.
33006 (GRUB_EFI_LIGHTCYAN): Likewise.
33007 (GRUB_EFI_LIGHTRED): Likewise.
33008 (GRUB_EFI_LIGHTMAGENTA): Likewise.
33009 (GRUB_EFI_YELLOW): Likewise.
33010 (GRUB_EFI_WHITE): Likewise.
33011 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
33012 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
33013 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
33014 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
33015 (GRUB_EFI_BACKGROUND_RED): Likewise.
33016 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
33017 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
33018 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
33019 (GRUB_EFI_TEXT_ATTR): Likewise.
33021 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
33022 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
33023 (kernel_mod_HEADERS): Added efi/time.h.
33025 2006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
33027 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
33028 include/grub/efi/api.h, include/grub/efi/console_control.h,
33029 include/grub/efi/efi.h, include/grub/efi/pe32.h,
33030 include/grub/i386/efi/time.h, kern/efi/efi.c,
33031 kern/i386/efi/init.c, kern/i386/efi/startup.S,
33032 and util/i386/efi/grub-mkimage.c.
33034 * Makefile.in (RMKFILES): Added i386-efi.rmk.
33036 * genmk.rb (PModule#rule): Do not export symbols if
33037 #{prefix}_EXPORTS is set to "no".
33039 * conf/i386-efi.mk: New file.
33040 * conf/i386-efi.rmk: Likewise.
33041 * include/grub/efi/api.h: Likewise.
33042 * include/grub/efi/console_control.h: Likewise.
33043 * include/grub/efi/efi.h: Likewise.
33044 * include/grub/efi/pe32.h: Likewise.
33045 * include/grub/i386/efi/time.h: Likewise.
33046 * kern/efi/efi.c: Likewise.
33047 * kern/i386/efi/init.c: Likewise.
33048 * kern/i386/efi/startup.S: Likewise.
33049 * util/i386/efi/grub-mkimage.c: Likewise.
33051 2006-04-17 Marco Gerards <marco@gnu.org>
33053 * include/grub/script.h: Include <grub/parser.h> and
33054 "grub_script.tab.h".
33055 (struct grub_lexer_param): New struct.
33056 (struct grub_parser_param): Likewise.
33057 (grub_script_create_arglist): Pass the state in an argument.
33058 (grub_script_add_arglist): Likewise.
33059 (grub_script_create_cmdline): Likewise.
33060 (grub_script_create_cmdblock): Likewise.
33061 (grub_script_create_cmdif): Likewise.
33062 (grub_script_create_cmdmenu): Likewise.
33063 (grub_script_add_cmd): Likewise.
33064 (grub_script_arg_add): Likewise.
33065 (grub_script_lexer_ref): Likewise.
33066 (grub_script_lexer_deref): Likewise.
33067 (grub_script_lexer_record_start): Likewise.
33068 (grub_script_lexer_record_stop): Likewise.
33069 (grub_script_mem_record): Likewise.
33070 (grub_script_mem_record_stop): Likewise.
33071 (grub_script_malloc): Likewise.
33072 (grub_script_yylex): Likewise.
33073 (grub_script_yyparse): Likewise.
33074 (grub_script_yyerror): Likewise.
33075 (grub_script_yylex): Likewise.
33076 (grub_script_lexer_init): Return the state.
33078 * normal/lexer.c (grub_script_lexer_state): Removed variable.
33079 (grub_script_lexer_done): Likewise.
33080 (grub_script_lexer_getline): Likewise.
33081 (grub_script_lexer_refs): Likewise.
33082 (script): Likewise.
33083 (newscript): Likewise.
33084 (record): Likewise.
33085 (recording): Likewise.
33086 (recordpos): Likewise.
33087 (recordlen): Likewise.
33088 (grub_script_lexer_init): Return the state instead of setting
33090 (grub_script_lexer_ref): Use the newly added argument for state
33091 instead of globals.
33092 (grub_script_lexer_deref): Likewise.
33093 (grub_script_lexer_record_start): Likewise.
33094 (grub_script_lexer_record_stop): Likewise.
33095 (recordchar): Likewise.
33096 (nextchar): Likewise.
33097 (grub_script_yylex2): Likewise.
33098 (grub_script_yylex): Likewise.
33099 (grub_script_yyerror): Likewise.
33101 * normal/parser.y (func_mem): Removed variable.
33102 (menu_entry): Likewise.
33104 (%lex-param): New parser option.
33105 (%parse-param): Likewise.
33106 (script): Always return the AST.
33107 (argument): Pass the state around.
33108 (arguments): Likewise.
33109 (grubcmd): Likewise.
33110 (commands): Likewise.
33111 (function): Likewise.
33112 (menuentry): Likewise.
33113 (if_statement): Likewise.
33116 * normal/script.c (grub_script_memused): Removed variable.
33117 (grub_script_parsed): Likewise.
33118 (grub_script_malloc): Added a state argument. Use that instead of
33120 (grub_script_mem_record): Likewise.
33121 (grub_script_mem_record_stop): Likewise.
33122 (grub_script_arg_add): Likewise.
33123 (grub_script_add_arglist): Likewise.
33124 (grub_script_create_cmdline): Likewise.
33125 (grub_script_create_cmdif): Likewise.
33126 (grub_script_create_cmdmenu): Likewise.
33127 (grub_script_add_cmd): Likewise.
33128 (grub_script_parse): Setup the state before calling the parser.
33130 2006-04-16 Marco Gerards <marco@gnu.org>
33132 * normal/command.c (grub_command_init): Remove the title command.
33134 * normal/lexer.c (grub_script_yylex): Renamed from this...
33135 (grub_script_yylex2): ... to this.
33136 (grub_script_yylex): New function. Temporary
33137 introduced to filter some tokens.
33138 (grub_script_yyerror): Print a newline.
33140 * normal/main.c (read_config_file): Output information about the
33141 lines that contain errors. Wait for a key after all lines have
33142 been processed. Don't return an empty menu.
33144 * normal/parser.y (func_mem): Don't initialize.
33145 (menu_entry): Likewise.
33146 (err): New variable.
33147 (script): Don't return anything when an error was encountered.
33148 (ws, returns): Removed rules.
33149 (argument): Disabled concatenated variable support.
33150 (arguments): Remove explicit separators.
33151 (grubcmd): Likewise.
33152 (function): Likewise.
33153 (menuentry): Likewise.
33155 (commands): Likewise. Add error handling.
33157 * normal/script.c (grub_script_create_cmdline): If
33158 `grub_script_parsed' is 0, assume the parser encountered an error.
33160 2006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
33162 * configure.ac: Add support for EFI. Fix the typo
33163 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
33165 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
33167 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
33168 foreign multibyte characters should be shown correctly.
33170 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
33172 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
33174 (read_config_file): Made it to close file before returning.
33176 2006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
33178 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
33179 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
33180 video/i386/pc/vbefill.c.
33182 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
33183 video/i386/pc/vbefill.c.
33185 * include/grub/video.h (grub_video_blit_format): New enum.
33186 (grub_video_mode_info): Added new member blit_format.
33187 (grub_video_get_blit_format): New function prototype.
33189 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
33190 function prototype.
33191 (grub_video_vbe_map_rgb): Likewise.
33192 (grub_video_vbe_unmap_color): Likewise.
33194 * include/grub/i386/pc/vbeblit.h: New file.
33196 * include/grub/i386/pc/vbefill.h: New file.
33198 * video/video.c (grub_video_get_blit_format): New function.
33199 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
33200 (grub_video_vbe_map_rgb): Likewise.
33201 (grub_video_vbe_unmap_color): Likewise.
33203 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
33205 (grub_video_vbe_blit_render_target): Changed to use more optimized
33207 (grub_video_vbe_setup): Added detection for optimized settings.
33208 (grub_video_vbe_create_render_target): Likewise.
33210 * video/i386/pc/vbeblit.c: New file.
33212 * video/i386/pc/vbefill.c: New file.
33214 2006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
33216 * font/manager.c (grub_font_get_glyph): Removed font fixup from
33219 * util/unifont2pff.rb: ... and moved it to here. Improved argument
33220 parsing to support both hex and dec ranges. If filename was missing
33221 show usage information.
33223 2006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
33225 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
33226 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
33228 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
33229 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
33230 (video_mod_SOURCES): Added.
33231 (video_mod_CFLAGS): Likewise.
33232 (video_mod_LDFLAGS): Likewise.
33233 (gfxterm_mod_SOURCES): Likewise.
33234 (gfxterm_mod_CFLAGS): Likewise.
33235 (gfxterm_mod_LDFLAGS): Likewise.
33236 (videotest_mod_SOURCES): Likewise.
33237 (videotest_mod_CFLAGS): Likewise.
33238 (videotest_mod_LDFLAGS): Likewise.
33239 (vesafb_mod_SOURCES): Removed.
33240 (vesafb_mod_CFLAGS): Likewise.
33241 (vesafb_mod_LDFLAGS): Likewise.
33242 (vga_mod_SOURCES): Likewise.
33243 (vga_mod_CFLAGS): Likewise.
33244 (vga_mod_LDFLAGS): Likewise.
33246 * commands/videotest.c: New file.
33248 * font/manager.c (fill_with_default_glyph): Modified to use
33250 (grub_font_get_glyph): Likewise.
33251 (fontmanager): Renamed from this...
33252 (font_manager): ... to this.
33254 * include/grub/font.h (grub_font_glyph): Added new structure.
33255 (grub_font_get_glyph): Modified to use grub_font_glyph.
33257 * include/grub/misc.h (grub_abs): Added as inline function.
33259 * include/grub/video.h: New file.
33261 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
33262 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
33263 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
33264 (grub_vbe_get_controller_info): Renamed from this...
33265 (grub_vbe_bios_get_controller_info): ... to this.
33266 (grub_vbe_get_mode_info): Renamed from this...
33267 (grub_vbe_bios_get_mode_info): ... to this.
33268 (grub_vbe_set_mode): Renamed from this...
33269 (grub_vbe_bios_set_mode): ... to this.
33270 (grub_vbe_get_mode): Renamed from this...
33271 (grub_vbe_bios_get_mode): ... to this.
33272 (grub_vbe_set_memory_window): Renamed from this...
33273 (grub_vbe_bios_set_memory_window): ... to this.
33274 (grub_vbe_get_memory_window): Renamed from this...
33275 (grub_vbe_bios_get_memory_window): ... to this.
33276 (grub_vbe_set_scanline_length): Renamed from this...
33277 (grub_vbe_set_scanline_length): ... to this.
33278 (grub_vbe_get_scanline_length): Renamed from this...
33279 (grub_vbe_bios_get_scanline_length): ... to this.
33280 (grub_vbe_set_display_start): Renamed from this...
33281 (grub_vbe_bios_set_display_start): ... to this.
33282 (grub_vbe_get_display_start): Renamed from this...
33283 (grub_vbe_bios_get_display_start): ... to this.
33284 (grub_vbe_set_palette_data): Renamed from this...
33285 (grub_vbe_bios_set_palette_data): ... to this.
33286 (grub_vbe_set_pixel_rgb): Removed.
33287 (grub_vbe_set_pixel_index): Likewise.
33289 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
33291 (grub_vbe_bios_get_controller_info): ... to this.
33292 (grub_vbe_get_mode_info): Renamed from this...
33293 (grub_vbe_bios_get_mode_info): ... to this.
33294 (grub_vbe_set_mode): Renamed from this...
33295 (grub_vbe_bios_set_mode): ... to this.
33296 (grub_vbe_get_mode): Renamed from this...
33297 (grub_vbe_bios_get_mode): ... to this.
33298 (grub_vbe_set_memory_window): Renamed from this...
33299 (grub_vbe_bios_set_memory_window): ... to this.
33300 (grub_vbe_get_memory_window): Renamed from this...
33301 (grub_vbe_bios_get_memory_window): ... to this.
33302 (grub_vbe_set_scanline_length): Renamed from this...
33303 (grub_vbe_set_scanline_length): ... to this.
33304 (grub_vbe_get_scanline_length): Renamed from this...
33305 (grub_vbe_bios_get_scanline_length): ... to this.
33306 (grub_vbe_set_display_start): Renamed from this...
33307 (grub_vbe_bios_set_display_start): ... to this.
33308 (grub_vbe_get_display_start): Renamed from this...
33309 (grub_vbe_bios_get_display_start): ... to this.
33310 (grub_vbe_set_palette_data): Renamed from this...
33311 (grub_vbe_bios_set_palette_data): ... to this.
33312 (grub_vbe_bios_get_controller_info): Fixed problem with registers
33313 getting corrupted after calling it. Added more pushes and pops.
33314 (grub_vbe_bios_set_mode): Likewise.
33315 (grub_vbe_bios_get_mode): Likewise.
33316 (grub_vbe_bios_get_memory_window): Likewise.
33317 (grub_vbe_bios_set_scanline_length): Likewise.
33318 (grub_vbe_bios_get_scanline_length): Likewise.
33319 (grub_vbe_bios_get_display_start): Likewise.
33320 (grub_vbe_bios_set_palette_data): Likewise.
33322 * normal/cmdline.c (cl_set_pos): Refresh the screen.
33323 (cl_insert): Likewise.
33324 (cl_delete): Likewise.
33326 * term/gfxterm.c: New file.
33328 * term/i386/pc/vesafb.c: Removed file.
33330 * video/video.c: New file.
33332 * video/i386/pc/vbe.c (real2pm): Added new function.
33333 (grub_video_vbe_draw_pixel): Likewise.
33334 (grub_video_vbe_get_video_ptr): Likewise.
33335 (grub_video_vbe_get_pixel): Likewise
33336 (grub_video_vbe_init): Likewise.
33337 (grub_video_vbe_fini): Likewise.
33338 (grub_video_vbe_setup): Likewise.
33339 (grub_video_vbe_get_info): Likewise.
33340 (grub_video_vbe_set_palette): Likewise.
33341 (grub_video_vbe_get_palette): Likewise.
33342 (grub_video_vbe_set_viewport): Likewise.
33343 (grub_video_vbe_get_viewport): Likewise.
33344 (grub_video_vbe_map_color): Likewise.
33345 (grub_video_vbe_map_rgb): Likewise.
33346 (grub_video_vbe_map_rgba): Likewise.
33347 (grub_video_vbe_unmap_color): Likewise.
33348 (grub_video_vbe_fill_rect): Likewise.
33349 (grub_video_vbe_blit_glyph): Likewise.
33350 (grub_video_vbe_blit_bitmap): Likewise.
33351 (grub_video_vbe_blit_render_target): Likewise.
33352 (grub_video_vbe_scroll): Likewise.
33353 (grub_video_vbe_swap_buffers): Likewise.
33354 (grub_video_vbe_create_render_target): Likewise.
33355 (grub_video_vbe_delete_render_target): Likewise.
33356 (grub_video_vbe_set_active_render_target): Likewise.
33357 (grub_vbe_set_pixel_rgb): Remove function.
33358 (grub_vbe_set_pixel_index): Likewise.
33359 (index_color_mode): Remove static variable.
33360 (active_mode): Likewise.
33361 (framebuffer): Likewise.
33362 (bytes_per_scan_line): Likewise.
33363 (grub_video_vbe_adapter): Added new static variable.
33364 (framebuffer): Likewise.
33365 (render_target): Likewise.
33366 (initial_mode): Likewise.
33367 (mode_in_use): Likewise.
33368 (mode_list): Likewise.
33370 2006-03-10 Marco Gerards <marco@gnu.org>
33372 * configure.ac (AC_INIT): Bumped to 1.93.
33374 * DISTLIST: Added `include/grub/hfs.h'.
33376 2006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
33378 * boot/i386/pc/boot.S (general_error): Before looping, try INT
33379 18H, which might help the BIOS falling back to next boot media.
33381 2006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
33383 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
33384 Poe Chen <poe.poechen@gmail.com>.
33386 2006-01-17 Marco Gerards <marco@gnu.org>
33388 * include/grub/normal.h: Include <grub/script.h>.
33389 (grub_command_list): Removed struct.
33390 (grub_command_list_t): Removed type.
33391 (grub_menu_entry): Remove members `num' and `command_list'. Add
33392 members `commands' and `sourcecode'.
33393 * include/grub/script.h: Add inclusion guards.
33394 (grub_script_cmd_menuentry): New struct.
33395 (grub_script_execute_menuentry): New prototype.
33396 (grub_script_lexer_record_start): Likewise.
33397 (grub_script_lexer_record_stop): Likewise.
33398 * normal/execute.c (grub_script_execute_menuentry): New function.
33399 * normal/lexer.c (record, recording, recordpos, recordlen): New
33401 (grub_script_lexer_record_start): New function.
33402 (grub_script_lexer_record_stop): Likewise.
33403 (recordchar): Likewise.
33404 (nextchar): Likewise.
33405 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
33406 2048 as the buffer size. Add the tokens `menuentry' and `@'.
33407 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
33408 (current_menu): New variable.
33409 (free_menu): Mainly rewritten.
33410 (grub_normal_menu_addentry): New function.
33411 (read_config_file): Rewritten.
33412 * normal/menu.c (run_menu_entry): Mainly rewritten.
33413 * normal/menu_entry.c (make_screen): Rewritten the code to insert
33415 (run): Mainly rewritten.
33416 * normal/parser.y (menu_entry): New variable.
33417 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
33418 (menuentry): New rule.
33419 (command): Add `menuentry'.
33420 (if_statement): Allow additional returns before `fi'.
33421 * normal/script.c (grub_script_create_cmdmenu): New function.
33423 2006-01-03 Marco Gerards <marco@gnu.org>
33425 * INSTALL: GNU Bison is required.
33426 * configure.ac: Rewritten the test to detect Bison.
33427 * Makefile.in (YACC): New variable. Reported by Xun Sun
33428 <xun.sun.cn@gmail.com>.
33430 2006-01-03 Marco Gerards <marco@gnu.org>
33432 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
33433 the HFS+ filesystem to filesystem blocks.
33434 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
33435 GCC warning is silenced.
33437 2006-01-03 Marco Gerards <marco@gnu.org>
33439 * partmap/apple.c (apple_partition_map_iterate): Convert the data
33440 read from disk from big endian to host byte order.
33442 2006-01-03 Hollis Blanchard <hollis@penguinppc.org>
33444 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
33446 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
33447 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
33448 embedded HFS+ filesystem.
33449 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
33450 (grub_hfs_sblock): Move from here...
33451 * include/grub/hfs.h: To here... New file.
33452 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
33454 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
33456 (grub_hfsplus_volheader): Change type of member `magic' to
33458 (grub_hfsplus_data): Add new member `embedded_offset'.
33459 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
33461 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
33462 Calculate the offset.
33464 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
33466 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
33468 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
33470 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
33472 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
33473 ENV->NAME is NULL after allocating ENV->VALUE.
33475 2005-12-25 Marco Gerards <marco@gnu.org>
33477 * kern/env.c (grub_env_set): Rewritten the error handling code.
33479 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
33481 * geninit.sh: Made more robust, and more portable.
33483 2005-12-25 Marco Gerards <marco@gnu.org>
33485 Add support for Apple HFS+ filesystems.
33487 * fs/hfsplus.c: New file.
33489 * DISTLIST: Added `fs/hfsplus.c'.
33491 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
33492 (hfsplus_mod_SOURCES): New variable.
33493 (hfsplus_mod_CFLAGS): Likewise.
33494 (hfsplus_mod_LDFLAGS): Likewise.
33495 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
33496 (grub_setup_SOURCES): Likewise.
33497 (grub_mkdevicemap_SOURCES): Likewise.
33498 (grub_emu_SOURCES): Likewise.
33499 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33501 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
33503 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
33505 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
33507 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
33508 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
33509 include/grub/parser.h, include/grub/script.h, kern/parser.c,
33510 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
33511 normal/lexer.c, normal/parser.y, normal/script.c, and
33513 Removed kern/sparc64/cache.c.
33515 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
33516 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
33519 * configure.ac (AC_INIT): Bumped to 1.92.
33521 2005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
33523 * kern/err.c (grub_error_push): Added new function to support error
33525 (grub_error_pop): Likewise.
33526 (grub_error_stack_items): New local variable to support error stacks.
33527 (grub_error_stack_pos): Likewise.
33528 (grub_error_stack_assert): Likewise.
33529 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
33531 (grub_print_error): Added support to print errors from error stack.
33533 * include/grub/err.h (grub_error_push): Added function prototype.
33534 (grub_error_pop): Likewise.
33536 2005-12-09 Hollis Blanchard <hollis@penguinppc.org>
33538 * configure.ac: Accept `powerpc64' as host_cpu.
33539 (amd64): Rename to `biarch32'.
33541 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
33542 non-cacheline-aligned addresses.
33544 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
33545 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
33546 if `size' is non-zero.
33548 2005-12-03 Marco Gerards <mgerards@xs4all.nl>
33550 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
33551 and `cd' to make sure the filename is not prefixed with a
33553 (pkgdata_MODULES): Add `gpt.mod'.
33554 (gpt_mod_SOURCES): New variable.
33555 (gpt_mod_CFLAGS): Likewise.
33556 (gpt_mod_LDFLAGS): Likewise.
33558 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
33560 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
33563 * partmap/gpt.c: New file.
33565 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
33566 GPT partition map is detected.
33568 2005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
33570 * commands/i386/pc/play.c: New file.
33571 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
33572 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
33575 2005-11-27 Marco Gerards <mgerards@xs4all.nl>
33577 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
33578 ((unused))' to silence gcc warning.
33580 2005-11-26 Hollis Blanchard <hollis@penguinppc.org>
33582 * configure.ac: Correct `AC_PROG_YACC' test.
33584 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
33586 * util/powerpc/ieee1275/grub-install.in: Run the mount point
33587 check before installing files.
33589 2005-11-22 Mike Small <smallm@panix.com>
33591 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
33592 number regex so multidigit numbers are recognized correctly.
33594 2005-11-22 Mike Small <smallm@panix.com>
33596 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
33597 debugging message before attempting to claim memory.
33598 (grub_rescue_cmd_initrd): Add a claim debugging message and try
33599 multiple addresses in case of failure.
33601 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
33603 * term/tparm.c (get_space): Remove empty `if' statement.
33605 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
33607 * kern/parser.c (check_varstate): Rename `state' to 's'.
33609 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
33611 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
33612 variable definitions to the beginning of each function. Sort stack
33614 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
33615 `buf' argument to `char *'.
33617 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
33619 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
33620 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
33621 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
33622 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
33623 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
33624 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
33625 configfile.mod, search.mod, gzio.mod and test.mod.
33626 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
33627 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
33628 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
33629 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
33630 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
33631 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
33632 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
33633 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
33634 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
33635 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
33636 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
33637 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
33638 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
33639 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
33640 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
33641 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
33642 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
33643 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
33644 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
33645 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
33646 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
33647 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
33648 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
33650 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
33652 (pkgdata_MODULES): Add test.mod.
33654 2005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
33656 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
33657 appending to variables with "+=".
33658 (PModule): Use full pathname to generate *.lst filenames.
33660 * Makefile.in: Fixed list rules moved from genmk.rb.
33661 (.DELETE_ON_ERROR): New special target.
33662 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
33664 * conf/i386-pc.rmk: Include conf/common.mk.
33665 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
33666 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
33667 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
33668 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
33669 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
33670 configfile.mod, search.mod, gzio.mod and test.mod.
33671 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
33672 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
33673 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
33674 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
33675 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
33676 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
33677 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
33678 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
33679 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
33680 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
33681 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
33682 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
33683 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
33684 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
33685 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
33686 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
33687 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
33688 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
33689 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
33690 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
33691 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
33692 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
33693 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
33695 * conf/common.rmk: ... to here. New file.
33697 * conf/common.mk: New file.
33699 2005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
33701 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
33702 (grub_script.tab.c): ... here.
33704 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
33705 (grub_script.tab.c): ... here.
33707 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
33708 (grub_script.tab.c): ... here.
33710 * normal/command.c (grub_command_find): Fixed a memory leak of
33711 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
33713 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
33715 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
33716 "@" which marks the start of a comment on ARM.
33717 (VARIABLE): Likewise.
33719 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
33721 Add support for Linux/ADFS partition tables.
33723 * partmap/acorn.c: New file.
33725 * include/grub/acorn_filecore.h: Likewise.
33727 * DISTLIST: Added `partmap/acorn.c' and
33728 `include/grub/acorn_filecore.h'.
33730 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
33732 (pkgdata_MODULES): Add `acorn.mod'.
33733 (acorn_mod_SOURCES): New variable.
33734 (acorn_mod_CFLAGS): Likewise.
33736 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
33738 (pkgdata_MODULES): Add `acorn.mod'.
33739 (acorn_mod_SOURCES): New variable.
33740 (acorn_mod_CFLAGS): Likewise.
33742 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
33743 (pkgdata_MODULES): Add `acorn.mod'.
33744 (acorn_mod_SOURCES): New variable.
33745 (acorn_mod_CFLAGS): Likewise.
33746 (acorn_mod_LDFLAGS): Likewise.
33748 * include/types.h (grub_disk_addr_t): New typedef.
33750 2005-11-13 Marco Gerards <mgerards@xs4all.nl>
33752 * geninit.sh: New file.
33754 * geninitheader.sh: Likewise.
33756 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
33757 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
33758 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
33759 * commands/configfile.c (grub_configfile_init)
33760 (grub_configfile_fini): Likewise.
33761 * commands/default.c (grub_default_init, grub_default_fini):
33763 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
33764 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
33765 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
33766 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
33768 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
33769 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
33771 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
33772 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
33774 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
33776 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
33778 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
33779 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
33780 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
33781 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
33782 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
33783 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
33784 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
33785 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
33786 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
33787 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
33788 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
33789 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
33790 * partmap/amiga.c (grub_amiga_partition_map_init)
33791 (grub_amiga_partition_map_fini): Likewise.
33792 * partmap/apple.c (grub_apple_partition_map_init)
33793 (grub_apple_partition_map_fini): Likewise.
33794 * partmap/pc.c (grub_pc_partition_map_init)
33795 (grub_pc_partition_map_fini): Likewise.
33796 * partmap/sun.c (grub_sun_partition_map_init,
33797 grub_sun_partition_map_fini): Likewise.
33798 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
33801 * util/grub-emu.c: Include <grub_modules_init.h>.
33802 (main): Don't initialize and de-initialize any modules directly,
33803 use `grub_init_all' and `grub_fini_all' instead.
33805 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
33806 `grub_vesafb_mod_init'.
33807 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
33809 * term/i386/pc/vga.c (grub_vga_init): Renamed to
33810 `grub_vga_mod_init'. Updated all users.
33811 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
33813 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
33814 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
33817 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
33818 Generate a function to initialize the module in utilities.
33819 Updated all callers.
33820 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
33821 initialize the module in utilities. Updated all callers.
33823 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
33825 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
33826 escape sequence and a literal ^L to clear the screen.
33828 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
33829 when returning from Open Firmware.
33831 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
33833 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
33834 (grub_ofconsole_height): Likewise.
33835 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
33836 manually insert a '\n'.
33837 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
33838 `grub_ofconsole_height'. Return early if these are already set.
33840 2005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
33842 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
33843 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
33844 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
33845 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
33846 and `normal/script.c'.
33847 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
33848 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
33849 (test_mod_SOURCES): New variable.
33850 (test_mod_CFLAGS): Likewise.
33851 (test_mod_LDFLAGS): Likewise.
33852 (pkgdata_MODULES): Add `test.mod'.
33853 (grub_script.tab.c): New rule.
33854 (grub_script.tab.h): Likewise.
33856 2005-11-07 Marco Gerards <mgerards@xs4all.nl>
33858 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
33859 `commands/test.c', `normal/execute.c', `normal/lexer.c',
33860 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
33861 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
33862 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
33863 (test_mod_SOURCES): New variable.
33864 (test_mod_CFLAGS): Likewise.
33865 (pkgdata_MODULES): Add `test.mod'.
33866 (grub_script.tab.c): New rule.
33867 (grub_script.tab.h): Likewise.
33869 2005-11-06 Marco Gerards <mgerards@xs4all.nl>
33871 Add initial scripting support.
33873 * commands/test.c: New file.
33874 * include/grub/script.h: Likewise.
33875 * normal/execute.c: Likewise.
33876 * normal/function.c: Likewise.
33877 * normal/lexer.c: Likewise.
33878 * normal/parser.y: Likewise.
33879 * normal/script.c: Likewise.
33881 * configure.ac: Add `AC_PROG_YACC' test.
33883 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
33884 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
33885 `normal/function.c' and `normal/script.c'.
33886 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
33887 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
33888 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
33890 (pkgdata_MODULES): Add `test.mod'.
33891 (grub_script.tab.c): New rule.
33892 (grub_script.tab.h): Likewise.
33894 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
33896 * include/grub/normal.h (grub_test_init): New prototype.
33897 (grub_test_fini): Likewise.
33899 * normal/command.c: Include <grub/script.h>.
33900 (grub_command_execute): Rewritten.
33902 * util/grub-emu.c (main): Call `grub_test_init' and
33905 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
33907 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
33909 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
33910 there are no pending characters.
33912 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
33914 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
33915 `grub_strndup' to drop device arguments. Replace unnecessary
33916 `grub_strndup' with `grub_strdup'.
33918 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
33920 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
33921 `debug' environment variable has been set.
33923 2005-11-02 Hollis Blanchard <hollis@penguinppc.org>
33925 * Makefile.in (install-local): Use $(DATA).
33926 (uninstall): Likewise.
33927 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
33928 (sbin_UTILITIES): ... to here.
33929 (sbin_SCRIPTS): New variable.
33930 (grub_install_SOURCES): New variable.
33931 * util/powerpc/ieee1275/grub-install.in: New file.
33932 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
33934 (add_segments): Call `grub_util_get_path'.
33936 2005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
33938 From Timothy Baldwin:
33939 * commands/ls.c (grub_ls_list_files): Close FILE with
33941 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
33943 2005-10-24 Marco Gerards <mgerards@xs4all.nl>
33945 * include/grub/parser.h: New file.
33947 * kern/parser.c: Likewise.
33949 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
33950 (grub_setup_SOURCES): Likewise.
33951 (grub_probefs_SOURCES): Likewise.
33952 (grub_emu_SOURCES): Likewise.
33953 (kernel_img_HEADERS): Add `parser.h'.
33955 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
33956 (grub_emu_SOURCES): Add `kern/parser.c'.
33957 (grubof_SOURCES): Likewise.
33959 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
33960 (grubof_SOURCES): Add `kern/parser.c'.
33962 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
33964 * kern/misc.c (grub_split_cmdline): Removed function.
33966 * kern/rescue.c: Include <grub/parser.h>.
33967 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
33968 of `grub_split_cmdline'.
33970 * normal/command.c: Include <grub/parser.h>.
33971 (grub_command_execute): Use `grub_parser_split_cmdline' instead
33972 of `grub_split_cmdline'.
33974 * normal/completion.c: Include <grub/parser.h>.
33975 (cmdline_state): New variable.
33976 (iterate_dir): End the filename with a quote depending on the
33977 command line state.
33978 (get_state): new function.
33979 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
33980 split the arguments and determine the current argument. When the
33981 argument string is not quoted, escape all spaces.
33983 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
33985 * normal/sparc64/setjmp.S: New file.
33987 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
33989 * include/grub/sparc64/libgcc.h: New file.
33990 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
33991 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
33992 normal/sparc64/setjmp.c.
33994 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
33996 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
33997 * kern/sparc64/cache.S: New file.
33998 * kern/sparc64/cache.c: Removed.
33999 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
34000 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
34002 (COMMON_LDFLAGS): Add -melf64_sparc.
34003 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
34004 (grubof_SOURCES): Use cache.S instead of cache.c.
34005 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
34006 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
34007 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
34009 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
34010 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
34011 (linux_mod_CFLAGS): Commented out.
34012 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
34013 out because module isn't built.
34014 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
34015 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
34016 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
34017 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
34018 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
34019 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
34020 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
34021 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
34022 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
34023 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
34024 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
34025 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
34026 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
34027 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
34029 2005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
34031 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
34032 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
34033 longer, because HFS should not be used on PC.
34035 2005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
34037 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
34038 consistently within the loop.
34040 2005-10-15 Marco Gerards <mgerards@xs4all.nl>
34042 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
34043 directory can not be read.
34045 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
34047 * configure.ac (AC_INIT): Increase the version number to 1.91.
34049 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
34050 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
34051 term/i386/pc/serial.c.
34053 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
34055 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
34056 file size must be permitted.
34058 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
34059 between %ah and %al.
34061 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
34063 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
34065 Call the hook with a NUL-terminated filename.
34066 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
34069 * kern/term.c (cursor_state): New variable.
34070 (grub_term_set_current): Reset the cursor state on a new
34072 (grub_setcursor): Rewritten to use CURSOR_STATE.
34073 (grub_getcursor): New function.
34075 * include/grub/term.h (grub_getcursor): New prototype.
34077 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
34078 integers on ARM. Reported by Timothy Baldwin
34079 <T.E.Baldwin99@members.leeds.ac.uk>.
34081 2005-10-11 Marco Gerards <mgerards@xs4all.nl>
34083 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
34085 (grub_sfs_dir): Likewise.
34087 2005-10-09 Marco Gerards <mgerards@xs4all.nl>
34089 Add support for the SFS filesystem.
34091 * fs/sfs.c: New file.
34093 * DISTLIST: Added `fs/sfs.c'.
34095 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
34096 (grub_probefs_SOURCES): Likewise.
34097 (grub_emu_SOURCES): Likewise.
34098 (pkgdata_MODULES): Add `sfs.mod'.
34099 (sfs_mod_SOURCES): New variable.
34100 (sfs_mod_CFLAGS): Likewise.
34101 (sfs_mod_LDFLAGS): Likewise.
34103 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
34104 (pkgdata_MODULES): Add `sfs.mod'.
34105 (sfs_mod_SOURCES): New variable.
34106 (sfs_mod_CFLAGS): Likewise.
34108 * util/grub-emu.c (main): Call `grub_sfs_init' and
34111 * include/grub/fs.h (grub_sfs_init): New prototype.
34112 (grub_sfs_fini): Likewise.
34114 2005-10-07 Marco Gerards <mgerards@xs4all.nl>
34116 Add support for the AFFS filesystem.
34118 * fs/affs.c: New file.
34120 * DISTLIST: Added `fs/affs.c'.
34122 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
34123 (grub_probefs_SOURCES): Likewise.
34124 (grub_emu_SOURCES): Likewise.
34125 (pkgdata_MODULES): Add `affs.mod'.
34126 (affs_mod_SOURCES): New variable.
34127 (affs_mod_CFLAGS): Likewise.
34128 (affs_mod_LDFLAGS): Likewise.
34130 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
34131 (pkgdata_MODULES): Add `affs.mod'.
34132 (affs_mod_SOURCES): New variable.
34133 (affs_mod_CFLAGS): Likewise.
34135 * util/grub-emu.c (main): Call `grub_affs_init' and
34138 * include/grub/fs.h (grub_affs_init): New prototype.
34139 (grub_affs_fini): Likewise.
34141 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
34143 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
34145 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
34147 * configure.ac: Accept `x86_64' as host_cpu. In that case add
34150 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
34153 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
34154 (COMMON_LDFLAGS): New variable.
34155 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
34156 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
34157 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
34158 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
34159 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
34160 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
34161 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
34162 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
34163 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
34164 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
34165 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
34166 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
34167 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
34168 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
34169 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
34171 (normal_mod_ASFLAGS): Add `-m32'.
34173 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
34174 (grub_host_size_t, grub_host_ssize_t): New types.
34175 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
34176 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
34177 `GRUB_HOST_SIZEOF_VOID_P'.
34179 * include/grub/kernel.h (struct grub_module_header): Type of
34180 member offset changed to `grub_host_off_t'. Type of member size
34181 changed to `grub_host_size_t'.
34182 (struct grub_module_info): Type of member offset changed to
34183 `grub_host_off_t'. Type of member size changed to
34184 `grub_host_size_t'.
34186 2005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
34188 Make GRUB's kernel compliant to Multiboot Specification.
34190 * kern/i386/pc/startup.S (multiboot_header): New label.
34191 (multiboot_entry): Likewise.
34192 (multiboot_trampoline): Likewise.
34194 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
34195 Increased to 0x4A0.
34197 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
34198 put parentheses after a question mark.
34199 [!GRUB_UTIL] (my_mod): New variable.
34201 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
34203 2005-09-28 Marco Gerards <mgerards@xs4all.nl>
34205 Adds support for the XFS filesystem. Btrees are not supported
34208 * fs/xfs.c: New file.
34210 * DISTLIST: Added `fs/xfs.c'.
34212 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
34213 (grub_probefs_SOURCES): Likewise.
34214 (grub_emu_SOURCES): Likewise.
34215 (pkgdata_MODULES): Add `xfs.mod'.
34216 (xfs_mod_SOURCES): New variable.
34217 (xfs_mod_CFLAGS): Likewise.
34219 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
34220 (pkgdata_MODULES): Add `xfs.mod'.
34221 (xfs_mod_SOURCES): New variable.
34222 (xfs_mod_CFLAGS): Likewise.
34224 * util/grub-emu.c (main): Call `grub_xfs_init' and
34227 * include/grub/fs.h (grub_xfs_init): New prototype.
34228 (grub_xfs_fini): Likewise.
34231 2005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
34233 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
34234 color modes, allow greater than 16 colors to be configured as
34237 2005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
34239 * normal/completion.c (complete_arguments): Add the qualifier
34240 const into OPTIONS.
34242 From Omniflux <omniflux+lists@omniflux.com>:
34243 * include/grub/terminfo.h: New file.
34244 * include/grub/tparm.h: Likewise.
34245 * include/grub/i386/pc/serial.h: Likewise.
34246 * term/terminfo.c: Likewise.
34247 * term/tparm.c: Likewise.
34248 * term/i386/pc/serial.c: Likewise.
34249 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
34251 (terminfo_mod_SOURCES): New variable.
34252 (terminfo_mod_CFLAGS): Likewise.
34253 (serial_mod_SOURCES): Likewise.
34254 (serial_mod_CFLAGS): Likewise.
34256 2005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
34258 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
34259 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
34260 and kern/powerpc/ieee1275/cmain.c, respectively.
34262 * boot/powerpc/ieee1275/crt0.S: Moved to ...
34263 * kern/powerpc/ieee1275/crt0.S: ... here.
34265 * boot/powerpc/ieee1275/cmain.c: Moved to ...
34266 * kern/powerpc/ieee1275/cmain.c: ... here.
34268 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
34269 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
34270 instead of boot/powerpc/ieee1275/crt0.S and
34271 boot/powerpc/ieee1275/cmain.c, respectively.
34273 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
34274 sectors. It was not used anyway.
34276 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
34278 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
34279 `unused parameter' warning.
34281 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
34283 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
34285 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
34288 2005-08-28 Marco Gerards <metgerards@student.han.nl>
34290 * include/grub/normal.h (enum grub_completion_type): Added
34291 `GRUB_COMPLETION_TYPE_ARGUMENT'.
34293 * normal/cmdline.c (print_completion): Handle
34294 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
34295 * normal/menu_entry.c (store_completion): Likewise.
34297 * normal/completion.c (complete_arguments): New function.
34298 (grub_normal_do_completion): Call `complete_arguments' when the
34299 current words start with a dash.
34301 2005-08-27 Marco Gerards <metgerards@student.han.nl>
34303 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
34304 `gzio.mod' instead of `io.mod').
34306 2005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
34308 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
34309 (DISTDIRS): Added io and video.
34310 Rewrite the search routine to make an output consistently.
34312 * DISTLIST: Added conf/sparc64-ieee1275.mk,
34313 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
34314 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
34315 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
34316 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
34317 util/powerpc/ieee1275/misc.c.
34319 * include/grub/gzio.h: New file.
34320 * io/gzio.c: Likewise.
34322 * kern/file.c (grub_file_close): Call grub_device_close only if
34323 FILE->DEVICE is not NULL.
34325 * include/grub/mm.h [!NULL] (NULL): New macro.
34327 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
34329 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
34330 (pkgdata_MODULES): Added gzio.mod.
34331 (gzio_mod_SOURCES): New variable.
34332 (gzio_mod_CFLAGS): Likewise.
34334 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
34335 (pkgdata_MODULES): Added gzio.mod.
34336 (gzio_mod_SOURCES): New variable.
34337 (gzio_mod_CFLAGS): Likewise.
34339 * commands/cat.c: Include grub/gzio.h.
34340 (grub_cmd_cat): Use grub_gzfile_open instead of
34343 * commands/cmp.c: Include grub/gzio.h.
34344 (grub_cmd_cmp): Use grub_gzfile_open instead of
34347 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
34348 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
34350 (grub_rescue_cmd_module): Likewise.
34352 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
34354 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
34355 kern/sparc64/ieee1275/init.c because it contains _start.
34356 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
34358 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
34360 * configure.ac: Add support for sparc64 host with ieee1275
34362 * configure: Generated from configure.ac.
34363 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
34365 (grub_ofdisk_read): Likewise.
34366 (grub_ofdisk_open): Use %p to print pointer values, and cast the
34367 pointers as (void *) to remove a warning.
34368 (grub_ofdisk_close): Likewise.
34369 (grub_ofdisk_read): Likewise.
34370 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
34371 returns, so make it return void to remove a warning.
34372 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
34373 Corresponding prototype change.
34374 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
34375 values, and cast the pointers as (void *) to remove a warning.
34376 (grub_mm_dump): Likewise.
34377 * conf/sparc64-ieee1275.mk: New file.
34378 * conf/sparc64-ieee1275.rmk: Likewise.
34379 * include/grub/sparc64/setjmp.h: Likewise.
34380 * include/grub/sparc64/types.h: Likewise.
34381 * include/grub/sparc64/ieee1275/console.h: Likewise.
34382 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
34383 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
34384 * include/grub/sparc64/ieee1275/time.h: Likewise.
34385 * kern/sparc64/cache.c: Likewise.
34386 * kern/sparc64/dl.c: Likewise.
34387 * kern/sparc64/ieee1275/init.c: Likewise.
34388 * kern/sparc64/ieee1275/openfw.c: Likewise.
34390 2005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
34392 * util/console.c (grub_ncurses_putchar): If C is greater than
34393 0x7f, set C to a question mark.
34394 (grub_ncurses_getcharwidth): New function.
34395 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
34398 * normal/menu.c (print_entry): Made aware of Unicode. First,
34399 convert TITLE to UCS-4, and predict the cursor position by
34402 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
34404 * kern/misc.c (grub_utf16_to_utf8): Likewise.
34406 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
34408 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
34409 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
34412 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
34413 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
34414 grub_strcpy and grub_strlen. Take it into account that a space
34415 character is inserted as a delimiter.
34417 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
34419 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
34420 invalid magic in the error.
34422 * commands/search.c: New file.
34424 * util/grub-emu.c (main): Call grub_search_init and
34427 * kern/rescue.c (grub_rescue_print_disks): Removed.
34428 (grub_rescue_print_devices): New function.
34429 (grub_rescue_cmd_ls): Use grub_device_iterate with
34430 grub_rescue_print_devices instead of grub_disk_dev_iterate with
34431 grub_rescue_print_disks.
34433 * kern/partition.c (grub_partition_iterate): Return the result of
34434 PARTMAP->ITERATE instead of GRUB_ERRNO.
34436 * kern/device.c: Include grub/partition.h.
34437 (grub_device_iterate): New function.
34439 * include/grub/partition.h (grub_partition_iterate): Return int
34440 instead of grub_err_t.
34442 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
34444 [GRUB_UTIL] (grub_search_fini): Likewise.
34446 * include/grub/device.h (grub_device_iterate): New prototype.
34448 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
34450 (pkgdata_MODULES): Added search.mod.
34451 (search_mod_SOURCES): New variable.
34452 (search_mod_CFLAGS): Likewise.
34454 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
34455 (pkgdata_MODULES): Added search.mod.
34456 (search_mod_SOURCES): New variable.
34457 (search_mod_CFLAGS): Likewise.
34459 * commands/ls.c (grub_ls_list_disks): Renamed to ...
34460 (grub_ls_list_devices): ... this, and use grub_device_iterate.
34461 All callers changed.
34463 * DISTLIST: Added commands/search.c.
34465 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
34467 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
34469 (grub_getcharwidth): New function.
34471 * kern/misc.c (grub_utf8_to_ucs4): New function.
34473 * include/grub/term.h (struct grub_term): Added a new member
34475 (grub_getcharwidth): New prototype.
34477 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
34479 * term/i386/pc/console.c (map_char): New function. Segregated from
34480 grub_console_putchar.
34481 (grub_console_putchar): Use map_char.
34482 (grub_console_getcharwidth): New function.
34483 (grub_console_term): Specified grub_console_getcharwidth as
34486 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
34487 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
34489 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
34491 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
34492 on grub_strtoul completely.
34493 (write_char): Declare local variables in the beginning of the
34495 (grub_vesafb_getcharwidth): New function.
34496 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
34499 2005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
34501 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
34502 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
34503 commands/i386/pc/vbetest.c.
34505 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
34506 call grub_vbe_get_controller_info again, because the returned
34507 information is volatile.
34508 (grub_vbe_set_video_mode): Mostly rewritten.
34509 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
34510 grub_vbe_status_t correctly.
34511 (grub_vbe_get_video_mode_info): Likewise.
34512 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
34513 several if statements.
34515 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
34516 * commands/i386/pc/vbeinfo.c: ... this.
34518 * commands/i386/pc/vbe_test.c: Renamed to ...
34519 * commands/i386/pc/vbetest.c: ... this.
34521 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
34523 (grub_cmd_vbeinfo): ... this. Save video modes before
34524 iterating. Skip a video mode, if it is not available, not enough
34525 information is given or it is monochrome. Show the memory
34526 model. Leave the interpretation of MODEVAR to grub_strtoul
34528 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
34529 (GRUB_MOD_FINI): Likewise.
34531 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
34532 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
34533 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
34534 duplicated grub_env_get. Leave the interpretation of MODEVAR to
34535 grub_strtoul completely.
34536 (real2pm): Removed.
34537 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
34538 (GRUB_MOD_FINI): Likewise.
34540 * normal/misc.c: Include grub/mm.h.
34542 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
34543 vbe_list_modes with vbetest.mod and vbeinfo.mod.
34544 (vbe_list_modes_mod_SOURCES): Removed.
34545 (vbe_list_modes_mod_CFLAGS): Likewise.
34546 (vbe_test_mod_SOURCES): Likewise.
34547 (vbe_test_mod_CFLAGS): Likewise.
34548 (vbeinfo_mod_SOURCES): New variable.
34549 (vbeinfo_mod_CFLAGS): Likewise.
34550 (vbetest_mod_SOURCES): Likewise.
34551 (vbetest_mod_CFLAGS): Likewise.
34553 2005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
34555 * normal/misc.c: New file.
34557 * DISTLIST: Added normal/misc.c.
34559 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
34560 DISK to HOOK. Call HOOK with DISK.
34561 * partmap/apple.c (apple_partition_map_iterate): Likewise.
34562 * partmap/pc.c (pc_partition_map_iterate): Likewise.
34563 * partmap/sun.c (sun_partition_map_iterate): Likewise.
34565 * normal/menu_entry.c (struct screen): Added a new member
34566 "completion_shown".
34567 (completion_buffer): New global variable.
34568 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
34569 (store_completion): New function.
34570 (complete): Likewise.
34571 (clear_completions): Likewise.
34572 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
34573 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
34574 a tab, call complete.
34576 * normal/completion.c (disk_dev): Removed.
34577 (print_simple_completion): Likewise.
34578 (print_partition_completion): Likewise.
34579 (print_func): New global variable.
34580 (add_completion): Do not take the arguments WHAT or PRINT any
34581 longer. Added a new argument TYPE. Instead of printing directly,
34582 call PRINT_FUNC if not NULL.
34583 All callers changed.
34584 (complete_device): Use a local variable DEV instead of
34585 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
34586 (grub_normal_do_completion): Take a new argument HOOK. Do not
34587 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
34588 empty string, return NULL instead.
34589 All callers changed.
34591 * normal/cmdline.c (print_completion): New function.
34593 * kern/partition.c (grub_partition_iterate): Add an argument DISK
34595 All callers changed.
34597 * kern/disk.c (grub_print_partinfo): Removed.
34599 * include/grub/partition.h (struct grub_partition_map): Add a new
34600 argument DISK into HOOK of ITERATE.
34601 (grub_partition_iterate): Add a new argument DISK to HOOK.
34603 * include/grub/normal.h (enum grub_completion_type): New enum.
34604 (grub_completion_type_t): New type.
34605 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
34606 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
34607 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
34608 (GRUB_COMPLETION_TYPE_FILE): Likewise.
34609 (grub_normal_do_completion): Added a new argument HOOK.
34610 (grub_normal_print_device_info): New prototype.
34612 * include/grub/disk.h (grub_print_partinfo): Removed.
34614 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
34615 (normal_mod_SOURCES): Likewise.
34616 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34617 (normal_mod_SOURCES): Likewise.
34619 * commands/ls.c (grub_ls_list_disks): Use
34620 grub_normal_print_device_info instead of grub_print_partinfo. Free
34622 (grub_ls_list_files): Use grub_normal_print_device_info instead of
34623 duplicating the code.
34625 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
34627 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
34628 follow GCS more precisely.
34629 * commands/i386/pc/vbe_test.c: Likewise.
34630 * include/grub/i386/pc/vbe.h: Likewise.
34631 * term/i386/pc/vesafb.c: Likewise.
34632 * video/i386/pc/vbe.c: Likewise.
34634 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
34636 * DISTLIST: Added term/i386/pc/vesafb.c
34637 DISTLIST: Added video/i386/pc/vbe.c
34638 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
34639 DISTLIST: Added commands/i386/pc/vbe_test.c.
34640 * commands/i386/pc/vbe_list_modes.c: New file.
34641 * commands/i386/pc/vbe_test.c: Likewise.
34642 * term/i386/pc/vesafb.c: Likewise.
34643 * video/i386/pc/vbe.c: Likewise.
34644 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
34645 (grub_vbe_probe) Added prototype.
34646 (grub_vbe_set_video_mode) Likewise.
34647 (grub_vbe_get_video_mode) Likewise.
34648 (grub_vbe_get_video_mode_info) Likewise.
34649 (grub_vbe_set_pixel_rgb) Likewise.
34650 (grub_vbe_set_pixel_index) Likewise.
34651 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
34652 (pkgdata_MODULES): Added vesafb.mod.
34653 (pkgdata_MODULES): Added vbe_list_modes.mod.
34654 (pkgdata_MODULES): Added vbe_test.mod.
34655 (vbe_mod_SOURCES): Added.
34656 (vbe_mod_CFLAGS): Likewise.
34657 (vesafb_mod_SOURCES): Likewise.
34658 (vesafb_mod_CFLAGS): Likewise.
34659 (vbe_list_modes_mod_SOURCES): Likewise.
34660 (vbe_list_modes_mod_CFLAGS): Likewise.
34661 (vbe_test_mod_SOURCES): Likewise.
34662 (vbe_test_mod_CFLAGS): Likewise.
34664 2005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
34666 * normal/command.c (grub_command_execute): If INTERACTIVE is
34667 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
34668 CMDLINE. Disable the pager if INTERACTIVE is true.
34669 All callers are changed.
34671 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
34672 before reading a config file.
34673 * normal/main.c (read_config_file): Even if a command is not
34674 found, register it if it is within an entry.
34676 * util/grub-emu.c: Include sys/types.h and unistd.h.
34677 (options): Added --hold.
34678 (struct arguments): Added a new member "hold".
34679 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
34681 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
34682 cleared by a debugger, if it is not zero.
34684 * include/grub/normal.h (grub_command_execute): Add an argument
34687 2005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
34689 * DISTLIST: Added include/grub/i386/pc/vbe.h.
34691 2005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
34693 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
34694 program with another one, because the old one didn't detect a bug
34695 in gcc-3.4. Always use regparm 2, because the new test is still
34696 not enough for gcc-4.0. Someone must investigate a simple test
34697 case which detects a bug in gcc-4.0.
34699 2005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
34701 * DISTLIST: Added normal/completion.c.
34703 * normal/completion.c: New file.
34705 * term/i386/pc/console.c (grub_console_getwh): New function.
34706 (grub_console_term): Assign grub_console_getwh to getwh.
34708 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
34709 function is defined in normal/completion.c as
34710 grub_normal_do_completion.
34711 (grub_cmdline_get): Use grub_normal_do_completion instead of
34714 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
34715 returns non-zero, otherwise return 0.
34716 (grub_partition_iterate): First, probe the partition map. Then,
34717 call ITERATE only for this partition map.
34719 * kern/misc.c (grub_strncmp): Rewritten.
34721 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
34722 returns non-zero. Otherwise return 0.
34724 * include/grub/partition.h (grub_partition_map_iterate): Return
34725 int instead of void.
34727 * include/grub/normal.h (grub_normal_do_completion): New prototype.
34729 * include/grub/misc.h (grub_strncmp): Change the type of N to
34732 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
34735 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
34736 unsigned explicitly before comparing it with I.
34738 * kern/main.c (grub_env_write_root): Add the attribute unused into
34741 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
34742 normal/completion.c.
34743 (normal_mod_SOURCES): Likewise.
34744 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
34745 (normal_mod_SOURCES): Likewise.
34747 * normal/command.c (grub_iterate_commands): If ITERATE returns
34748 non-zero, return one immediately.
34750 2005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
34752 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
34753 * kern/i386/pc/startup.S: Updated Global Descriptor table's
34755 (grub_vbe_get_controller_info): New function.
34756 (grub_vbe_get_mode_info): Likewise.
34757 (grub_vbe_set_mode): Likewise.
34758 (grub_vbe_get_mode): Likewise.
34759 (grub_vbe_set_memory_window): Likewise.
34760 (grub_vbe_get_memory_window): Likewise.
34761 (grub_vbe_set_scanline_length): Likewise.
34762 (grub_vbe_get_scanline_length): Likewise.
34763 (grub_vbe_set_display_start): Likewise.
34764 (grub_vbe_get_display_start): Likewise.
34765 (grub_vbe_set_palette_data): Likewise.
34766 * include/grub/i386/pc/vbe.h: New file.
34768 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
34770 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
34771 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
34772 * DISTLIST: Likewise.
34773 * kern/ieee1275/of.c: Moved to ...
34774 * kern/ieee1275/ieee1275.c: ... here.
34776 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
34778 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
34779 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
34780 Pass 0 as `end' parameter to grub_strtoul().
34782 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
34784 * include/grub/powerpc/ieee1275/console.h: Do not include
34785 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
34787 (grub_console_cur_color): Remove i386-specific prototype.
34788 (grub_console_real_putchar): Likewise.
34789 (grub_console_checkkey): Likewise.
34790 (grub_console_getkey): Likewise.
34791 (grub_console_getxy): Likewise.
34792 (grub_console_gotoxy): Likewise.
34793 (grub_console_cls): Likewise.
34794 (grub_console_setcursor): Likewise.
34795 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
34796 Include <grub/machine/console.h>.
34797 * term/ieee1275/ofconsole.c: Likewise.
34799 2005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
34801 * Makefile.in (LIBLZO): New variable.
34803 * configure.ac: Check for LZO version 2.
34805 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
34806 lzo/lzo1x.h instead of lzo1x.h.
34808 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
34811 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
34812 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
34814 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
34815 copying the data from PARTITION to P.
34817 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
34819 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
34820 negative, unload the module.
34822 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
34823 map is "pc_partition_map" but not "pc".
34824 (usage): Fix the description. The options are --boot-image and
34825 --core-image but not --boot-file or --core-file.
34826 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
34827 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
34830 * util/i386/pc/grub-install.in: Do not specify --boot-file or
34831 --core-file. Specify INSTALL_DEVICE as an argument.
34833 * util/console.c: Include config.h.
34834 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
34835 [HAVE_NCURSES_H]: Include ncurses.h.
34836 [HAVE_CURSES_H]: Include curses.h.
34837 [!A_NORMAL] (A_NORMAL): Defined as zero.
34838 [!A_STANDOUT] (A_STANDOUT): Likewise.
34840 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
34842 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
34844 * configure.ac: Check for curses libraries and headers.
34846 * Makefile.in (LIBCURSES): New variable.
34848 * genmk.rb (Script::rule): Set the executable bits.
34850 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
34851 name of the PC partition map is "pc_partition_map" but not "pc".
34853 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
34855 * util/i386/pc/grub-install.in (grub_probefs): New variable.
34856 (modules): Likewise.
34857 (usage): Added descriptions for --modules and --grub-probefs.
34858 Handle --modules and --grub-probefs. Save the arguments in MODULES
34859 and GRUB_PROBEFS, respectively.
34860 Auto-detect a filesystem module against GRUBDIR. If the result is
34861 empty and modules are not specified explicitly, abort the
34862 installation. Add the result to MODULES.
34864 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
34865 disk/powerpc/ieee1275/ofdisk.c,
34866 include/grub/powerpc/ieee1275/init.h and
34867 term/powerpc/ieee1275/ofconsole.c.
34868 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
34869 term/ieee1275/ofconsole.c.
34871 * include/grub/powerpc/ieee1275/console.h: Resurrected.
34873 * COPYING: Upgraded to the latest version. Only the address of the
34874 FSF office has changed.
34876 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
34878 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
34879 kern/ieee1275.c with kern/ieee1275/of.c.
34881 * kern/ieee1275.c: Moved to ...
34882 * kern/ieee1275/of.c: ... here.
34884 2005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
34886 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
34889 * config.guess: Updated to the latest version from gnulib.
34890 * config.sub: Likewise.
34891 * install.sh: Likewise.
34892 * mkinstalldirs: Likewise.
34894 * include/grub/console.h: Removed. This file is arch-specific. Do
34895 not put this in include/grub.
34897 * include/grub/i386/pc/console.h: Resurrected.
34899 * util/console.c: Include grub/machine/console.h instead of
34901 * util/grub-emu.c: Likewise.
34903 2005-08-04 Marco Gerards <metgerards@student.han.nl>
34905 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
34908 From Vincent Pelletier <subdino2004@yahoo.fr>
34909 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
34910 Redefined to use grub_getwh.
34911 (grub_term): New member named getwh.
34912 (grub_getwh): New prototype.
34913 * kern/term.c (grub_getwh): New function.
34914 * term/i386/pc/console.c (grub_console_getwh): New function.
34915 (grub_console_term): New member `getwh'.
34916 * term/i386/pc/vga.c (grub_vga_getwh): New function.
34917 (grub_vga_term): New member `getwh'.
34918 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
34920 (grub_ofconsole_getw): New function.
34921 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
34922 (grub_ofconsole_term): New field named getwh and new initial
34925 2005-08-03 Hollis Blanchard <hollis@penguinppc.org>
34927 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
34928 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
34929 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
34930 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
34931 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
34932 of <grub/machine/ieee1275.h>.
34933 * commands/ieee1275/reboot.c: Likewise.
34934 * boot/powerpc/ieee1275/ieee1275.c: Move ...
34935 * kern/ieee1275.c: ... to here. All users updated. Change all
34936 parameter structs to use new type `grub_ieee1275_cell_t'.
34937 * term/powerpc/ieee1275/ofconsole.c: Move ...
34938 * term/ieee1275/ofconsole.c: ... to here. All users updated.
34939 * disk/powerpc/ieee1275/ofdisk.c: Move ...
34940 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
34941 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
34943 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
34944 Remove unused prototypes. All users updated.
34945 * include/grub/powerpc/ieee1275/console.h: Removed.
34946 * include/grub/powerpc/ieee1275/ieee1275.h: Define
34947 `grub_ieee1275_cell_t'.
34948 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
34949 Cast comparisons with -1 to the correct type.
34950 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
34951 type to match `grub_ieee1275_entry_fn'.
34953 2005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
34955 * DISTLIST: Added util/i386/pc/grub-probefs.c.
34957 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
34958 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
34960 (grub_probefs_SOURCES): New variable.
34962 * util/i386/pc/grub-probefs.c: New file.
34964 * util/i386/pc/grub-setup.c (main): Call
34965 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
34966 grub_hfs_init and grub_jfs_init to initialize the system. Call
34967 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
34968 grub_pc_partition_map_fini to finish the system.
34970 2005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
34972 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
34974 (grub_multiboot_load_elf32): Likewise.
34975 (grub_multiboot_is_elf64): Likewise.
34976 (grub_multiboot_load_elf64): Likewise.
34977 (grub_multiboot_load_elf): Likewise.
34978 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
34979 an ELF32 or ELF64 file.
34980 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
34982 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
34983 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
34984 NULL before calling FS->LABEL.
34985 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
34986 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
34987 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
34988 before calling FS->LABEL.
34990 2005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
34992 * util/i386/pc/grub-install.in (datadir): New variable.
34994 (pkgdatadir): New variable.
34995 (pkglibdir): Removed.
34997 2005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
34999 * DISTLIST: Added util/i386/pc/grub-install.in.
35001 * util/i386/pc/grub-install.in: New file.
35003 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
35004 (grub_install_SOURCES): Likewise.
35006 * genmk.rb: Added support for scripts.
35007 (Script): New class.
35008 (scripts): New variable.
35010 * Makefile.in (install-local): Install sbin_SCRIPTS by
35012 (uninstall): Remove sbin_SCRIPTS.
35014 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
35015 device, try to get a GRUB device by
35016 grub_util_biosdisk_get_grub_dev.
35019 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
35020 description for --device-map.
35022 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
35024 Change the semantics of variable hooks. They now return strings
35025 instead of error values.
35027 * util/i386/pc/grub-setup.c: Include grub/env.h.
35028 (setup): Use grub_device_set_root instead of grub_env_set.
35030 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
35031 grub_env_get instead of grub_device_set_root and
35032 grub_device_get_root, respectively.
35034 * kern/main.c (grub_env_write_root): New function.
35035 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
35036 grub_env_set instead of grub_device_set_root.
35038 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
35040 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
35041 rather than calling ENV->WRITE_HOOK afterwards.
35042 (grub_env_get): Return the result of ENV->READ_HOOK rather than
35043 passing a pointer of a pointer.
35044 (grub_register_variable_hook): Change the types of "read_hook" and
35045 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
35047 Allocate the default empty string on the heap, because this string
35048 may be freed later.
35050 * kern/device.c: Include grub/env.h.
35051 (grub_device_set_root): Removed.
35052 (grub_device_get_root): Likewise.
35053 (grub_device_open): Use grub_env_get instead of
35054 grub_device_get_root.
35056 * include/grub/env.h (grub_env_read_hook_t): New type.
35057 (grub_env_write_hook_t): Likewise.
35058 (grub_env_var): Change the types of "read_hook" and "write_hook"
35059 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
35060 (grub_register_variable_hook): Likewise.
35062 * include/grub/device.h (grub_device_set_root): Removed.
35063 (grub_device_set_root): Likewise.
35065 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
35066 make sure that DIRNAME terminates with '/', so that
35067 grub_fat_find_dir will fail if PATH is not a directory.
35069 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
35071 Use the qualifier auto for print_files and print_files_long.
35072 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
35074 Put a newline only if there is no error.
35075 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
35078 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
35080 * kern/partition.c (grub_partition_probe): Initialize PART to
35081 NULL. Otherwise, when no partition map is registered, this returns
35084 2005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
35086 * partmap/apple.c (apple_partition_map_iterate): Check if POS
35087 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
35090 2005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
35092 * commands/ls.c (grub_ls_list_disks): Print the filesystem
35093 information on each device, if it does not have partitions. Print
35094 "Device" instead of "Disk", because this function is not specific
35097 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
35098 static to ensure that it is put on the memory rather than a
35101 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
35103 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
35104 (grub_cat_init): Likewise.
35105 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
35106 (options): Likewise.
35107 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
35108 (grub_configfile_init): Likewise.
35109 * font/manager.c (GRUB_MOD_INIT): Likewise.
35110 * commands/help.c (GRUB_MOD_INIT): Likewise.
35111 (grub_help_init): Likewise.
35112 * normal/command.c (grub_command_init): Likewise.
35113 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
35114 * disk/loopback.c (grub_loop_init): Likewise.
35115 (GRUB_MOD_INIT): Likewise.
35116 * commands/ls.c (grub_ls_init): Likewise.
35117 (GRUB_MOD_INIT): Likewise.
35118 (options): Likewise.
35119 * commands/boot.c (grub_boot_init): Likewise.
35120 (GRUB_MOD_INIT): Likewise.
35121 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
35122 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
35123 (GRUB_MOD_INIT): Likewise.
35124 * commands/cmp.c (grub_cmp_init): Likewise.
35125 (GRUB_MOD_INIT): Likewise.
35127 * normal/arg.c: Use <> instead of "" to include header files.
35128 (SHORT_ARG_HELP): New macro.
35129 (SHORT_ARG_USAGE): Likewise.
35130 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
35131 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
35133 (find_short): Check if C is 'h' or 'u' explicitly.
35134 (grub_arg_show_help): Use space characters instead of tabs. Treat
35135 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
35136 are shown with --help and --usage only if they are not used for
35137 the command itself.
35138 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
35141 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
35142 const into "longarg". Change the type of "shortarg" to int.
35144 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
35146 * boot/i386/pc/boot.S (boot_drive_check): New label.
35148 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
35151 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
35152 which do not pass a boot drive correctly. Copied from GRUB Legacy.
35154 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
35156 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
35157 When turning off Gate A20, skip the check and return immediately,
35158 because this is not fatal usually.
35160 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
35162 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
35163 be 0x7C00 instead of 0x8000.
35165 * boot/i386/pc/pxeboot.S: Rewritten.
35167 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
35169 (gate_a20_check_state): Read a byte from 0x108000. Invert the
35172 2005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
35174 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
35175 robustness. This routine now supports a BIOS call and System
35176 Control Port A to modify the gate A20.
35178 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
35179 Increased to 0x440.
35181 2005-07-12 Hollis Blanchard <hollis@penguinppc.org>
35183 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
35184 device path and resulting ihandle.
35185 (grub_ofdisk_close): dprintf the ihandle being closed.
35186 (grub_ofdisk_read): dprintf function parameters.
35187 * kern/mm.c (grub_mm_init_region): Likewise.
35188 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
35189 (grub_linux_boot): dprintf the Linux entry point, initrd address and
35190 size, and boot arguments.
35191 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
35192 before loading into memory.
35193 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
35194 before loading into memory.
35196 2005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
35198 * kern/mm.c: Added much documentation.
35199 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
35200 8, set to 5 instead of 8.
35202 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
35204 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
35206 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
35207 (grub_mkdevicemap_SOURCES): New variable.
35209 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
35210 lib/device.c of GRUB Legacy.
35212 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
35214 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
35215 instead of PATH is NULL.
35217 2005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
35219 * commands/cmp.c (BUFFER_SIZE): New macro.
35220 (grub_cmd_cmp): Close the right file at the right time. Compare
35221 only data just read. Don't report files of different size as
35222 identical. Dynamically allocate buffers. Move variable
35223 declarations at the beginning of function.
35225 2005-07-09 Yoshinori Okuji <okuji@enbug.org>
35227 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
35230 2004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
35232 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
35233 when backspace is pressed at beginning of line.
35235 2005-07-03 Yoshinori Okuji <okuji@enbug.org>
35237 * DISTLIST: Added genfslist.sh.
35239 * normal/main.c (fs_module_list): New variable.
35240 (autoload_fs_module): New function.
35241 (read_fs_list): Likewise.
35242 (grub_normal_execute): Call read_fs_list.
35244 * kern/fs.c (grub_fs_autoload_hook): New variable.
35245 (grub_fs_probe): Added support for auto-loading.
35247 * include/grub/normal.h (struct grub_fs_module_list): New struct.
35248 (grub_fs_module_list_t): New type.
35250 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
35251 (grub_fs_autoload_hook): New prototype.
35253 * genfslist.sh: New file.
35255 * genmk.rb: Added a rule to generate a filesystem list.
35257 2005-06-30 Marco Gerards <metgerards@student.han.nl>
35259 * configure.ac: Fix the test for cross-compiling.
35261 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
35262 define GRUB_UTIL anymore.
35264 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
35265 so this function works on other systems than just big endian.
35266 (load_modules): Likewise.
35267 (add_segments): Likewise.
35269 2005-06-23 Hollis Blanchard <hollis@penguinppc.org>
35271 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
35272 contains `l' modifier, get a long from va_arg().
35274 2005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
35276 * kern/mm.c (grub_free): If the next free block which is being
35277 merged is the first free block, set the first block to the block
35279 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
35281 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
35283 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
35284 `grub_ieee1275_chosen'.
35286 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
35288 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
35289 (grub_ieee1275_chosen): New variable.
35290 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
35292 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
35293 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
35294 Rename first argument to `phandle' for consistency.
35295 (grub_ieee1275_get_property_length): Likewise.
35296 (grub_ieee1275_next_property): Likewise. Change type of first argument
35297 to grub_ieee1275_phandle_t.
35298 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
35299 Move export next to declaration.
35300 (grub_ieee1275_chosen): New variable.
35301 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
35302 Correct cosmetic typo.
35303 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
35304 `grub_ieee1275_chosen'.
35305 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
35306 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
35307 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
35308 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
35309 `grub_ieee1275_chosen'.
35311 2005-05-10 Hollis Blanchard <hollis@penguinppc.org>
35313 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
35315 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
35316 /chosen/bootargs as "variable=value" pairs.
35318 2005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
35320 * include/grub/misc.h (grub_dprintf): New macro.
35321 (grub_real_dprintf): New prototype.
35322 (grub_strword): Likewise.
35323 (grub_iswordseparator): Likewise.
35324 * kern/misc.c (grub_real_dprintf): New function.
35325 (grub_strword): Likewise.
35326 (grub_iswordseparator): Likewise.
35328 2005-04-30 Hollis Blanchard <hollis@penguinppc.org>
35330 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
35331 (roundup): Remove macro.
35332 (grub_ieee1275_flags): Make static.
35333 (grub_ieee1275_realmode): Remove.
35334 (grub_ieee1275_test_flag): New function.
35335 (grub_ieee1275_set_flag): Likewise.
35336 (find_options): Rename to `grub_ieee1275_find_options'; update
35337 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
35338 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
35339 (cmain): New prototype.
35340 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
35341 `grub_ieee1275_flags' directly.
35342 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
35343 machine/biosdisk.h.
35344 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
35345 Don't include grub/machine/init.h.
35346 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
35347 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
35349 (grub_ieee1275_realmode): Likewise.
35350 (grub_ieee1275_flag): New enum.
35351 (grub_ieee1275_test_flag): New prototype.
35352 (grub_ieee1275_set_flag): New prototype.
35353 * include/grub/powerpc/ieee1275/init.h: Remove file.
35354 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
35355 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
35356 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
35357 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
35359 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
35360 `grub_ieee1275_test_flag'.
35361 (grub_ieee1275_encode_devname): Likewise.
35363 2005-04-21 Hollis Blanchard <hollis@penguinppc.org>
35365 * include/grub/powerpc/ieee1275/ieee1275.h
35366 (grub_ieee1275_encode_devname): New prototype.
35367 (grub_ieee1275_get_filename): Likewise.
35368 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
35370 (grub_set_prefix): Likewise.
35371 (grub_machine_init): Call grub_set_prefix.
35372 * kern/powerpc/ieee1275/openfw.c: Fix typos.
35373 (grub_parse_type): New enum.
35374 (grub_ieee1275_get_devargs): New function.
35375 (grub_ieee1275_get_devname): Likewise.
35376 (grub_ieee1275_parse_args): Likewise.
35377 (grub_ieee1275_get_filename): Likewise.
35378 (grub_ieee1275_encode_devname): Likewise.
35380 2005-03-30 Marco Gerards <metgerards@student.han.nl>
35382 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
35383 `grub_loader_unset'.
35385 2005-03-26 Hollis Blanchard <hollis@penguinppc.org>
35387 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
35388 instead of grub_ieee1275_interpret.
35389 (grub_halt_init): New function.
35390 (grub_halt_fini): Likewise.
35391 (GRUB_MOD_INIT): Correct message grammar.
35392 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
35393 instead of grub_ieee1275_interpret.
35394 (grub_reboot_init): New function.
35395 (grub_reboot_fini): Likewise.
35396 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
35397 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
35398 util/i386/pc/misc.c with commands/ieee1275/halt.c,
35399 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
35400 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
35402 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
35404 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
35406 (grub_halt): Likewise.
35407 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
35408 (cmain): Remove __attribute__((unused)).
35409 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
35410 (grub_heap_len): Likewise.
35411 (grub_machine_fini): New function.
35412 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
35413 (grub_halt): Likewise.
35414 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
35416 * util/powerpc/ieee1275/misc.c: New file.
35418 2005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
35420 * DISTLIST: New file.
35421 * gendistlist.sh: Likewise.
35423 * Makefile.in (COMMON_DISTFILES): Removed.
35424 (BOOT_DISTFILES): Likewise.
35425 (CONF_DISTFILES): Likewise.
35426 (DISK_DISTFILES): Likewise.
35427 (FS_DISTFILES): Likewise.
35428 (INCLUDE_DISTFILES): Likewise.
35429 (KERN_DISTFILES): Likewise.
35430 (LOADER_DISTFILES): Likewise.
35431 (TERM_DISTFILES): Likewise.
35432 (UTIL_DISTFILES): Likewise.
35433 (DISTFILES): Likewise.
35434 (uninstall): Uninstall files in $(pkgdata_DATA).
35435 (DISTLIST): New target.
35436 (distdir): Use the contents of the file DISTLIST to get a list of
35439 2005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
35441 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
35442 descriptor. This is ported from GRUB Legacy.
35444 * gencmdlist.sh: Added an extra semicolon to make it work with
35445 old sed versions. Reported by Robert Bihlmeyer
35446 <robbe@orcus.priv.at>.
35448 2005-03-08 Yoshinori Okuji <okuji@enbug.org>
35450 Automatic loading of commands is supported.
35452 * normal/main.c (read_command_list): New function.
35453 (grub_normal_execute): Call read_command_list.
35455 * normal/command.c (grub_register_command): Return zero or CMD.
35456 Allocate CMD->NAME from the heap.
35457 Initialize CMD->MODULE_NAME to zero.
35458 Find the same name as well. If the same command is found and it is
35459 a dummy command, overwrite members. If it is not a dummy command,
35461 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
35462 (grub_command_find): If a dummy command is found, load a module
35463 and retry to find a command only once.
35465 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
35466 make sure that each command is loaded.
35468 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
35470 (struct grub_command): Remove const from the member `name'.
35471 Add a new member `module_name'.
35472 (grub_register_command): Return grub_command_t.
35474 * commands/help.c (grub_cmd_help): Call grub_command_find to make
35475 sure that each command is loaded.
35477 * genmk.rb (PModule::rule): Specify a module name without the
35478 suffix ".mod" to gencmdlist.sh.
35480 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
35482 * gencmdlist.sh: New file.
35484 * genmk.rb (PModule::rule): Generate a rule for a command list.
35486 Generate command.lst from $(COMMANDFILES).
35488 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
35489 (DATA): Added $(pkgdata_DATA).
35490 (install-local): Install files in $(pkgdata_DATA).
35492 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
35494 * term/i386/pc/vga.c (debug_command): Removed.
35495 (GRUB_MOD_INIT): Do not register the command "debug".
35497 From Hollis Blanchard:
35498 * commands/configfile.c: New file.
35499 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
35500 commands/configfile.c.
35501 (pkgdata_MODULES): Added configfile.mod.
35502 (configfile_mod_SOURCES): New variable.
35503 (configfile_mod_CFLAGS): Likewise.
35504 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
35505 commands/configfile.c.
35506 (pkgdata_MODULES): Added configfile.mod.
35507 (configfile_mod_SOURCES): New variable.
35508 (configfile_mod_CFLAGS): Likewise.
35509 * util/grub-emu.c (main): Call grub_configfile_init and
35510 grub_configfile_fini.
35511 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
35513 [GRUB_UTIL] (grub_configfile_fini): Likewise.
35515 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
35517 * normal/arg.c (grub_arg_show_help): Do not show the bug report
35520 * commands/help.c (grub_cmd_help): Do not print newlines after
35521 the last command in print_command_help.
35523 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
35525 * commands/default.h: New file.
35526 * commands/timeout.h: Likewise.
35527 * normal/context.c: Likewise.
35529 * util/misc.c: Do not include sys/times.h.
35530 Include sys/time.h and grub/machine/time.h.
35531 (grub_get_rtc): Rewritten with gettimeofday.
35533 * util/grub-emu.c (main): Call grub_default_init and
35534 grub_timeout_init before grub_normal_init, and call
35535 grub_timeout_fini and grub_default_fini after grub_main.
35537 * util/console.c (grub_ncurses_checkkey): Return the read
35540 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
35543 * normal/main.c (read_config_file): Push MENU. If this fails,
35544 print an error and wait for a user input.
35545 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
35546 If a menu is empty or an error occurs, pop MENU.
35547 (grub_normal_execute): Pop and free MENU after grub_menu_run
35550 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
35552 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
35554 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
35556 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
35558 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
35561 * include/grub/normal.h (struct grub_menu_list): New struct.
35562 (grub_menu_list_t): New type.
35563 (struct grub_context): New struct.
35564 (grub_context_t): New type.
35565 (grub_register_command): Got rid of EXPORT_FUNC.
35566 (grub_unregister_command): Likewise.
35567 (grub_context_get): New prototype.
35568 (grub_context_get_current_menu): Likewise.
35569 (grub_context_push_menu): Likewise.
35570 (grub_context_pop_menu): Likewise.
35571 [GRUB_UTIL] (grub_default_init): Likewise.
35572 [GRUB_UTIL] (grub_default_fini): Likewise.
35573 [GRUB_UTIL] (grub_timeout_init): Likewise.
35574 [GRUB_UTIL] (grub_timeout_fini): Likewise.
35576 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
35577 commands/timeout.c and normal/context.c.
35578 (pkgdata_MODULES): Added default.mod and timeout.mod.
35579 (normal_mod_SOURCES): Added normal/context.c.
35580 (default_mod_SOURCES): New variable.
35581 (default_mod_CFLAGS): Likewise.
35582 (timeout_mod_SOURCES): Likewise.
35583 (timeout_mod_CFLAGS): Likewise.
35584 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
35586 (pkgdata_MODULES): Added default.mod and timeout.mod.
35587 (normal_mod_SOURCES): Added normal/context.c.
35588 (default_mod_SOURCES): New variable.
35589 (default_mod_CFLAGS): Likewise.
35590 (timeout_mod_SOURCES): Likewise.
35591 (timeout_mod_CFLAGS): Likewise.
35593 * Makefile.in (all-local): Added $(MKFILES).
35595 2005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
35597 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
35598 (grub_emu_SOURCES): Likewise.
35599 (pkgdata_MODULES): Add `sun.mod'.
35600 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
35601 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
35603 (pkgdata_MODULES): Add `sun.mod'.
35604 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
35605 * include/grub/partition.h (grub_sun_partition_map_init): New
35607 (grub_sun_partition_map_fini): Likewise.
35608 * partmap/sun.c: New file.
35609 * util/grub-emu.c (main): Initialize and de-initialize the sun
35610 partitionmap support.
35612 2005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
35614 This implements an Emacs-like menu entry editor.
35616 * normal/menu_entry.c: New file.
35618 * util/console.c (grub_ncurses_putchar): Translate some Unicode
35619 characters to ASCII.
35620 (saved_char): New variable.
35621 (grub_ncurses_checkkey): Rewritten completely.
35622 (grub_ncurses_getkey): Likewise.
35623 (grub_ncurses_init): Call raw instead of cbreak.
35625 * normal/menu.c (print_entry): Do not put a space.
35626 (init_page): Renamed to ...
35627 (grub_menu_init_page): ... this. All callers changed.
35628 (edit_menu_entry): Removed.
35629 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
35631 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
35633 * kern/misc.c (grub_vprintf): Call grub_refresh.
35635 * normal/menu.c (DISP_LEFT): Renamed to ...
35636 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
35637 * normal/menu.c (DISP_UP): Renamed to ...
35638 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
35639 * normal/menu.c (DISP_RIGHT): Renamed to ...
35640 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
35641 * normal/menu.c (DISP_DOWN): Renamed to ...
35642 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
35643 * normal/menu.c (DISP_HLINE): Renamed to ...
35644 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
35645 * normal/menu.c (DISP_VLINE): Renamed to ...
35646 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
35647 * normal/menu.c (DISP_UL): Renamed to ...
35648 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
35649 * normal/menu.c (DISP_UR): Renamed to ...
35650 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
35651 * normal/menu.c (DISP_LL): Renamed to ...
35652 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
35653 * normal/menu.c (DISP_LR): Renamed to ...
35654 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
35655 * normal/menu.c (TERM_WIDTH): Renamed to ...
35656 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
35657 * normal/menu.c (TERM_HEIGHT): Renamed to ...
35658 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
35659 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
35660 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
35661 * normal/menu.c (TERM_MARGIN): Renamed to ...
35662 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
35663 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
35664 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
35665 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
35666 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
35667 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
35668 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
35669 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
35670 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
35671 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
35672 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
35673 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
35674 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
35675 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
35676 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
35677 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
35678 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
35679 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
35680 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
35681 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
35682 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
35683 All callers changed.
35685 * include/grub/normal.h: New prototype.
35687 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
35688 normal/menu_entry.c.
35689 (normal_mod_SOURCES): Likewise.
35690 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35691 (normal_mod_SOURCES): Likewise.
35693 2005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
35695 * include/grub/normal.h (grub_halt_init): New prototype.
35696 (grub_halt_fini): Likewise.
35697 (grub_reboot_init): Likewise.
35698 (grub_reboot_fini): Likewise.
35700 * util/grub-emu.c: Include signal.h.
35701 (main_env): New global variable.
35702 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
35704 (grub_machine_fini): New function.
35705 (main): Call grub_halt_init and grub_reboot_init before
35706 grub_main, and grub_reboot_fini and grub_halt_fini after it.
35707 Call setjmp with MAIN_ENV to go back afterwards.
35708 Call grub_machine_fini right before return.
35710 * include/grub/util/misc.h: Include setjmp.h.
35711 (main_env): New prototype.
35713 * include/grub/kernel.h (grub_machine_fini): New prototype.
35714 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
35715 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
35717 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
35718 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
35719 * term/i386/pc/console.c (grub_console_fini): Likewise.
35721 * util/i386/pc/misc.c: New file.
35723 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
35724 util/i386/pc/misc.c, commands/i386/pc/halt.c and
35725 commands/i386/pc/reboot.c.
35727 2005-02-14 Guillem Jover <guillem@hadrons.org>
35729 * include/grub/dl.h (grub_dl_check_header): New prototype.
35730 (grub_arch_dl_check_header): Change return type to grub_err_t,
35731 remove size parameter and export function. Update all callers.
35732 * kern/dl.c (grub_dl_check_header): New function.
35733 (grub_dl_load_core): Use `grub_dl_check_header' instead of
35734 `grub_arch_dl_check_header'. Check ELF type. Check if sections
35735 are inside the core.
35736 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
35737 independent ELF header checks.
35738 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
35739 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
35740 `grub_dl_check_header' instead of explicit checks. Check for the
35742 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
35743 `grub_dl_check_header' instead of explicit checks. Remove arch
35744 specific ELF header checks.
35746 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
35749 2005-02-13 Hollis Blanchard <hollis@penguinppc.org>
35751 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
35752 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
35754 2005-02-12 Hollis Blanchard <hollis@penguinppc.org>
35756 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
35757 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
35758 (part_map_iterate): Clear `grub_errno' and return 0 if
35759 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
35760 * partmap/amiga.c (amiga_partition_map_iterate): Return
35761 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
35762 * partmap/apple.c (apple_partition_map_iterate): Likewise.
35764 2005-02-01 Guillem Jover <guillem@hadrons.org>
35766 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
35769 2005-01-31 Marco Gerards <metgerards@student.han.nl>
35771 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
35773 (grub_rescue_cmd_linux): New prototype.
35774 (grub_rescue_cmd_initrd): Likewise.
35775 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
35777 (grub_linux_release_mem): Release the memory for the initrd.
35778 (grub_load_linux): Renamed from this...
35779 (grub_rescue_cmd_linux): ...To this. Changed all callers.
35780 Changed `entry' not to be static. Loop over memory regions to
35781 find another one when the default fails.
35782 (grub_rescue_cmd_initrd): New function.
35783 (grub_linux_init): Remove function.
35784 (grub_linux_fini): Likewise.
35785 (GRUB_MOD_INIT): Register `initrd'.
35786 (GRUB_MOD_FINI): Unregister `initrd'.
35787 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
35789 (grub_linux_normal_fini): Likewise.
35790 (GRUB_MOD_INIT): Register `initrd'.
35791 (GRUB_MOD_FINI): Unregister `initrd'.
35793 2005-01-31 Marco Gerards <metgerards@student.han.nl>
35795 * commands/help.c: New file.
35796 * normal/arg.c (show_help): Renamed to...
35797 (grub_arg_show_help): ... this.
35798 * commands/i386/pc/halt.c: New file.
35799 * commands/i386/pc/reboot.c: Likewise.
35800 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
35801 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
35802 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
35803 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
35805 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
35807 (pkgdata_MODULES): Add `help.mod'.
35808 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
35809 * grub/i386/pc/init.h (grub_reboot): New prototype.
35810 (grub_halt): Likewise.
35811 * include/grub/normal.h (grub_arg_show_help): New prototype.
35812 (grub_help_init): Likewise.
35813 (grub_help_fini): Likewise.
35814 * util/grub-emu.c (main): Initialize and deinitialize the help
35817 * normal/cmdline.c (grub_cmdline_get): Doc fix.
35819 * normal/command.c (grub_command_init): Fixed the description of
35820 the `set' and `unset' commands.
35822 2005-01-31 Marco Gerards <metgerards@student.han.nl>
35824 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
35826 * commands/ieee1275/halt.c: New file.
35827 * commands/ieee1275/reboot.c: Likewise.
35828 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
35829 `__attribute__ ((unused))'. Some GCS related fixed.
35830 (grub_suspend_init) [GRUB_UTIL]: Function removed.
35831 (grub_suspend_fini): Likewise.
35832 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
35834 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
35835 (halt_mod_CFLAGS): New variables.
35836 * include/grub/powerpc/ieee1275/ieee1275.h
35837 (grub_ieee1275_interpret): New prototype.
35839 2005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
35841 * include/grub/misc.h (memmove): New prototype.
35842 (memcpy): Likewise.
35844 2005-01-22 Hollis Blanchard <hollis@penguinppc.org>
35846 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
35847 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
35849 2005-01-22 Marco Gerards <metgerards@student.han.nl>
35851 * kern/misc.c (grub_strndup): Function rewritten.
35853 2005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
35855 * normal/menu.c (TERM_WIDTH): Macro redefined.
35856 (TERM_TOP_BORDER_Y): Likewise.
35857 (draw_border): Replaced while-loop by a for-loop. Make the number
35858 of lines consistent with the number of lines displayed in
35859 print_entries. Added a margin below the rectangle.
35860 (print_entry): Make the entry fit in the rectangle.
35861 (print_entries): Display the scroll arrows next to the right
35864 2005-01-21 Marco Gerards <metgerards@student.han.nl>
35866 * fs/minix.c (grub_minix_find_file): Reserve more space for
35867 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
35868 `grub_strncpy' to copy `path' into it.
35870 2005-01-21 Marco Gerards <metgerards@student.han.nl>
35872 Add the loopback device, a device via which files can be accessed
35875 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
35876 (pkgdata_MODULES): Add loopback.mod.
35877 (loopback_mod_SOURCES): New variable.
35878 (loopback_mod_CFLAGS): Likewise.
35879 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
35881 (pkgdata_MODULES): Add loopback.mod.
35882 (loopback_mod_SOURCES): New variable.
35883 (loopback_mod_CFLAGS): Likewise.
35884 * disk/loopback.c: new file.
35885 * include/grub/normal.h (grub_loop_init): New prototype.
35886 (grub_loop_fini): New prototype.
35887 * util/grub-emu.c (main): Initialize and de-initialize loopback
35889 * include/grub/disk.h (grub_disk_dev_id): Add
35890 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
35892 2005-01-20 Hollis Blanchard <hollis@penguinppc.org>
35894 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
35896 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
35897 (suspend_mod_SOURCES): New variable.
35898 (suspend_mod_CFLAGS): Likewise.
35899 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
35901 * commands/ieee1275/suspend.c: New file.
35903 2005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
35905 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
35906 ((unused))' to `__attribute__ ((used))'.
35907 (GRUB_MOD_FINI): Likewise.
35908 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
35909 * genmk.rb (PModule): Assign space to common symbols when linking
35912 2005-01-20 Marco Gerards <metgerards@student.han.nl>
35914 * include/grub/mm.h (grub_mm_init_region): Change the type of the
35915 `unsigned' arguments to `grub_size_t'.
35916 (grub_malloc): Likewise.
35917 (grub_realloc): Likewise.
35918 (grub_memalign): Likewise.
35919 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
35920 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
35921 * util/misc.c (grub_malloc): Likewise.
35922 (grub_realloc): Likewise.
35923 * kern/mm.c (get_header_from_pointer): Change the casts to
35924 `unsigned' into a cast to `grub_size_t'.
35926 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
35927 point to `currnode' when `currnode' is changed.
35929 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
35930 Schottelius <nico-linux@schottelius.org>.
35932 2005-01-09 Hollis Blanchard <hollis@penguinppc.org>
35934 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
35935 (note_path): Remove variable.
35936 (GRUB_IEEE1275_NOTE_NAME): New macro.
35937 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
35938 (grub_ieee1275_note_hdr): New structure.
35939 (grub_ieee1275_note_desc): Likewise.
35940 (grub_ieee1275_note): Likewise.
35941 (load_note): Remove `dir' argument. All callers updated. Remove
35942 `note_img' and `path'. Do not load a file from `note_path'.
35943 Initialize a struct grub_ieee1275_note and write that to `out'.
35944 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
35946 2005-01-05 Marco Gerards <metgerards@student.han.nl>
35948 * util/misc.c (grub_util_read_image): Revert last change. It
35949 called `grub_util_read_at', which seeks from the beginning of the
35952 2005-01-04 Hollis Blanchard <hollis@penguinppc.org>
35954 * TODO: Add note about endianness in grub-mkimage.
35955 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
35957 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
35958 (grub_mkimage_SOURCES): New target.
35959 * include/grub/kernel.h (grub_start_addr): Remove variable.
35960 (grub_end_addr): Likewise.
35961 (grub_total_module_size): Likewise.
35962 (grub_kernel_image_size): Likewise.
35963 (GRUB_MODULE_MAGIC): New constant.
35964 (grub_module_info): New structure.
35965 (grub_arch_modules_addr): New prototype.
35966 (grub_get_end_addr): Remove prototype.
35967 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
35968 * include/grub/powerpc/ieee1275/kernel.h: New file.
35969 * include/grub/util/misc.h (grub_util_get_fp_size): New
35971 (grub_util_read_at): Likewise.
35972 (grub_util_write_image_at): Likewise.
35973 * kern/main.c (grub_get_end_addr): Remove function.
35974 (grub_load_modules): Call grub_arch_modules_addr instead of using
35975 grub_end_addr. Look for a grub_module_info struct in memory. Use
35976 the grub_module_info fields instead of calling grub_get_end_addr
35977 as loop conditions. Move grub_add_unused_region code here.
35978 (grub_add_unused_region): Remove function.
35979 * kern/i386/pc/init.c: Include grub/cache.h.
35980 (grub_machine_init): Remove call to grub_get_end_addr. Remove
35981 one call to add_mem_region.
35982 (grub_arch_modules_addr): New function.
35983 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
35984 (grub_total_module_size): Likewise.
35985 Include grub/machine/kernel.h.
35986 (grub_arch_modules_addr): New function.
35987 * util/grub-emu.c (grub_end_addr): Remove variable.
35988 (grub_total_module_size): Likewise.
35989 (grub_arch_modules_addr): New function.
35990 * util/misc.c: Include unistd.h.
35991 (grub_util_get_fp_size): New function.
35992 (grub_util_read_at): Likewise.
35993 (grub_util_write_image_at): Likewise.
35994 (grub_util_read_image): Call grub_util_read_at.
35995 (grub_util_write_image): Call grub_util_write_image_at.
35996 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
35997 additional memory in kernel_img for a struct grub_module_info.
35998 Fill in that grub_module_info.
35999 * util/powerpc/ieee1275/grub-mkimage.c: New file.
36001 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
36003 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
36005 * include/grub/powerpc/ieee1275/ieee1275.h
36006 (grub_ieee1275_milliseconds): New prototype.
36007 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
36009 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
36010 grub_ieee1275_milliseconds.
36012 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
36014 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
36016 (find_options): New function.
36017 (cmain): Call find_options.
36018 * include/grub/powerpc/ieee1275/ieee1275.h
36019 (grub_ieee1275_realmode): New extern variable.
36020 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
36021 grub_map if grub_ieee1275_realmode is false.
36023 2004-12-29 Marco Gerards <metgerards@student.han.nl>
36025 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
36026 lines are inserted and make it work like readline. Reported by
36027 Vincent Pelletier <subdino2004@yahoo.fr>.
36029 2004-12-28 Marco Gerards <metgerards@student.han.nl>
36031 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
36033 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
36034 `kern/powerpc/cache.S'.
36036 2004-12-27 Marco Gerards <metgerards@student.han.nl>
36038 * genmk.rb: Handle the `Program' class in the main loop. Written
36039 by Johan Rydberg <jrydberg@gnu.org>.
36040 (Program): New class.
36041 (programs): New variable.
36042 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
36043 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
36044 instead of "grub/kernel.h". Include <grub/machine/init.h>.
36045 (help_arch): Function removed.
36046 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
36047 `powerpc/libgcc.h' and `loader.h'.
36048 (pkgdata_PROGRAMS): New variable.
36049 (sbin_UTILITIES): Variable removed.
36050 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
36051 (grubof_SOURCES): Variable re-defined so it only includes the
36052 core functionality.
36053 (grubof_CFLAGS): Remove `-DGRUBOF'.
36054 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
36055 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
36056 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
36057 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
36058 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
36059 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
36060 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
36061 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
36062 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
36063 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
36064 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
36065 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
36066 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
36067 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
36068 (pc_mod_CFLAGS): New variables.
36069 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
36070 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
36071 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
36072 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
36074 * include/grub/i386/pc/init.h (grub_os_area_addr)
36075 (rub_os_area_size): ... to here.
36076 * include/grub/powerpc/ieee1275/ieee1275.h
36077 (grub_ieee1275_entry_fn): Export symbol.
36078 * include/grub/powerpc/ieee1275/init.h: New file.
36079 * include/grub/powerpc/libgcc.h: Likewise.
36080 * include/grub/cache.h: Likewise.
36081 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
36082 <hollis@penguinppc.org>.
36083 * kern/dl.c: Include <grub/cache.h>.
36084 (grub_dl_flush_cache): New function.
36085 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
36087 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
36088 (grub_console_init): Removed prototypes.
36089 (grub_machine_init): Don't initialize the modules anymore.
36090 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
36092 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
36093 Macro undef removed.
36094 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
36095 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
36096 relocation `R_PPC_REL32'. Return an error when the relocation is
36098 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
36099 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
36100 * util/misc.c (grub_arch_sync_caches): Likewise.
36102 2004-12-19 Marco Gerards <metgerards@student.han.nl>
36104 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
36105 `symlist.c', add `grubof_symlist.c'.
36106 (symlist.c): Variable removed.
36107 (grubof_HEADERS): Variable added.
36108 (grubof_symlist.c): New target.
36109 (kernel_syms.lst): Use `grubof_HEADERS' instead of
36110 `kernel_img_HEADERS'.
36111 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
36112 * kern/powerpc/dl.c: New file.
36113 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
36115 (grub_arch_dl_relocate_symbols): Likewise.
36116 (grub_register_exported_symbols): Likewise.
36118 2004-12-13 Marco Gerards <metgerards@student.han.nl>
36120 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
36121 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
36122 to fail instead. Reported by Vincent Pelletier
36123 <subdino2004@yahoo.fr>.
36125 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
36126 it is not allocated. Reported by Vincent Pelletier
36127 <subdino2004@yahoo.fr>.
36129 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
36130 output so the output looks better.
36132 2004-12-04 Marco Gerards <metgerards@student.han.nl>
36134 Modulize the partition map support and add support for the amiga
36137 * commands/ls.c: Include <grub/partition.h> instead of
36138 <grub/machine/partition.h>.
36139 * kern/disk.c: Likewise.
36140 * kern/rescue.c: Likewise.
36141 * loader/i386/pc/chainloader.c: Likewise.
36142 * normal/cmdline.c: Likewise.
36143 * kern/powerpc/ieee1275/init.c: Likewise.
36144 (grub_machine_init): Call `grub_pc_partition_map_init',
36145 `grub_amiga_partition_map_init' and
36146 `grub_apple_partition_map_init'.
36147 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
36148 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
36149 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
36150 `partition.h' and `pc_partition.h'.
36151 (grub_setup_SOURCES): Remove
36152 `disk/i386/pc/partition.c'. Add `kern/partition.c',
36153 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
36154 (grub_emu_SOURCES): Likewise.
36155 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
36156 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
36157 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
36158 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
36159 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
36160 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
36161 (grubof_SOURCES): Likewise.
36162 * disk/i386/pc/partition.c: File removed.
36163 * disk/powerpc/ieee1275/partition.c: Likewise.
36164 * include/grub/powerpc/ieee1275/partition.h: Likewise.
36165 * include/grub/i386/pc/partition.h: Likewise.
36166 * kern/partition.c: New file.
36167 * partmap/amiga.c: Likewise.
36168 * partmap/apple.c: Likewise.
36169 * partmap/pc.c: Likewise.
36170 * include/grub/partition.h: Likewise..
36171 * include/grub/pc_partition.h: Likewise.
36172 * util/grub-emu.c: Include <grub/partition.h> instead of
36173 <grub/machine/partition.h>.
36174 (main): Call `grub_pc_partition_map_init',
36175 `grub_amiga_partition_map_init' and
36176 `grub_apple_partition_map_init' and deinitialize afterwards.
36177 * util/i386/pc/biosdisk.c: Include `#include
36178 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
36179 `<grub/machine/partition.h>'.
36180 * util/i386/pc/grub-setup.c: Likewise.
36181 * util/i386/pc/biosdisk.c: Likewise.
36182 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
36183 partition information in case of a PC partition.
36184 * util/i386/pc/grub-setup.c: Include `#include
36185 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
36186 `<grub/machine/partition.h>'.
36187 (setup): Only access the PC specific partition information in case
36190 2004-11-17 Hollis Blanchard <hollis@penguinppc.org>
36192 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
36193 (grub_longjmp): Likewise.
36194 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
36196 * normal/powerpc/setjmp.S: New file.
36197 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
36198 `normal/powerpc/setjmp.S'.
36199 (grubof_CFLAGS): Add `-DGRUBOF'.
36200 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
36201 [GRUB_UTIL && !GRUBOF].
36203 2004-11-16 Marco Gerards <metgerards@student.han.nl>
36205 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
36206 property named `name'. Correctly handle the error returned by
36207 `grub_ieee1275_finddevice' if a device can not be opened.
36209 2004-11-02 Hollis Blanchard <hollis@penguinppc.org>
36211 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
36212 `actual' for negativity.
36213 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
36216 2004-11-01 Marco Gerards <metgerards@student.han.nl>
36218 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
36219 (PAGE_OFFSET): New macro.
36220 (CRTC_ADDR_PORT): Likewise.
36221 (CRTC_DATA_PORT): Likewise.
36222 (START_ADDR_HIGH_REGISTER): Likewise.
36223 (START_ADDR_LOW_REGISTER): Likewise.
36224 (GRAPHICS_ADDR_PORT): Likewise.
36225 (GRAPHICS_DATA_PORT): Likewise.
36226 (READ_MAP_REGISTER): Likewise.
36227 (INPUT_STATUS1_REGISTER): Likewise.
36228 (INPUT_STATUS1_VERTR_BIT): Likewise.
36229 (page): New variable.
36230 (wait_vretrace): New function.
36231 (set_read_map): Likewise.
36232 (set_start_address): Likewise.
36233 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
36235 (check_vga_mem): Take the page into account.
36236 (write_char): Likewise.
36237 (write_cursor): Likewise.
36238 (scroll_up): Likewise. Copy the page to the page that is not
36239 shown and switch between both pages.
36240 (grub_vga_putchar): Fix off by one error.
36241 (grub_vga_cls): Wait for the vertical retrace. Take the page into
36244 2004-11-01 Marco Gerards <metgerards@student.han.nl>
36246 Add support for iso9660 (including rockridge).
36248 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
36249 (iso9660_mod_SOURCES): New variable.
36250 (iso9660_mod_CFLAGS): Likewise.
36251 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
36252 * include/grub/fs.h (grub_iso9660_init): New prototype.
36253 * util/grub-emu.c (main): Call `grub_iso9660_init'.
36254 * fs/iso9660.c: New file.
36256 * include/grub/misc.h (grub_strncat): New prototype.
36257 * kern/misc.c (grub_strncat): New function.
36259 * fs/hfs.c (grub_hfs_mount): Translate the error
36260 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
36261 * fs/jfs.c (grub_jfs_mount): Likewise.
36262 * fs/ufs.c (grub_ufs_mount): Likewise.
36264 2004-10-28 Hollis Blanchard <hollis@penguinppc.org>
36266 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
36267 which initialized BAT registers.
36268 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
36269 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
36271 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
36272 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
36274 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
36275 (grub_mapclaim): Likewise.
36276 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
36277 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
36280 2004-10-19 Hollis Blanchard <hollis@penguinppc.org>
36282 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
36283 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
36284 -ffreestanding and -msoft-float.
36286 2004-10-15 Hollis Blanchard <hollis@penguinppc.org>
36288 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
36289 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
36290 set in grub_ieee1275_flags.
36292 2004-10-14 Hollis Blanchard <hollis@penguinppc.org>
36294 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
36296 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
36297 grub_console_init first.
36298 Change the memory range used for grub_ieee1275_claim and
36299 grub_mm_init_region.
36300 Print an error message if the claim fails.
36301 Include <grub/misc.h>.
36303 2004-10-13 Hollis Blanchard <hollis@penguinppc.org>
36305 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
36306 Call grub_children_iterate for device nodes of type `scsi',
36308 (grub_ofdisk_open): Remove manual device alias resolution.
36309 Fix memory leak when device cannot be opened.
36310 * include/grub/powerpc/ieee1275/ieee1275.h
36311 (grub_children_iterate): New prototype.
36312 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
36314 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
36315 Return -1 if args.size was -1.
36317 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
36319 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
36320 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
36321 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
36322 Open Firmware's memory for it; claim memory from _start to _end.
36323 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
36324 (_end): New extern.
36325 (_start): Zero BSS from __bss_start to _end.
36326 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
36328 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
36330 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
36332 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
36333 -1 if args.base was -1.
36335 2004-10-08 Hollis Blanchard <hollis@penguinppc.org>
36337 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
36338 escape sequence instead of a literal ^L. Also call
36339 grub_ofconsole_gotoxy.
36341 2004-10-03 Hollis Blanchard <hollis@penguinppc.org>
36343 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
36344 void * arguments to grub_addr_t. All callers updated. Also make
36345 the `result' argument optional.
36346 (grub_ieee1275_release): change void * arguments to grub_addr_t.
36347 All callers updated.
36349 2004-09-22 Hollis Blanchard <hollis@penguinppc.org>
36351 * commands/ls.c (grub_ls_list_files): Use the string following the
36352 initial ')', if present, as the filesystem path.
36353 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
36355 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
36357 2004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
36359 Make the source code of the menu interface more readable.
36361 * normal/menu.c: Include grub/mm.h.
36362 (TERM_WIDTH): New macro.
36363 (TERM_HEIGHT): Likewise.
36364 (TERM_INFO_HEIGHT): Likewise.
36365 (TERM_MARGIN): Likewise.
36366 (TERM_SCROLL_WIDTH): Likewise.
36367 (TERM_TOP_BORDER_Y): Likewise.
36368 (TERM_LEFT_BORDER_X): Likewise.
36369 (TERM_BORDER_WIDTH): Likewise.
36370 (TERM_MESSAGE_HEIGHT): Likewise.
36371 (TERM_BORDER_HEIGHT): Likewise.
36372 (TERM_NUM_ENTRIES): Likewise.
36373 (TERM_FIRST_ENTRY_Y): Likewise.
36374 (TERM_ENTRY_WIDTH): Likewise.
36375 (TERM_CURSOR_X): Likewise.
36376 (draw_border): Use macros instead of magic numbers.
36377 (print_entry): Likewise.
36378 (print_entries): Likewise.
36379 (run_menu): Likewise. Also, handle the key 'e'.
36380 (run_menu_entry): Ignore empty command lines.
36381 (print_message): Added a new argument EDIT. If EDIT is true,
36382 print a different message.
36383 (init_page): Likewise.
36384 (edit_menu_entry): New function. Not implemented yet.
36386 2004-09-17 Marco Gerards <metgerards@student.han.nl>
36388 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
36389 can be loaded from normal mode.
36391 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
36393 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
36394 (multiboot_mod_CFLAGS): New variables.
36395 * loader/i386/pc/linux_normal.c: New file.
36396 * loader/i386/pc/multiboot_normal.c: Likewise.
36398 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
36399 attribute `unused'.
36401 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
36402 `fdiro' to read the mode information from instead of `diro'.
36404 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
36405 looking up a symlink.
36407 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
36409 * normal/command.c (grub_command_execute): Don't parse the
36410 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
36411 flags of the command.
36413 * normal/menu.c (grub_menu_run): Fix typo.
36415 2004-09-14 Hollis Blanchard <hollis@penguinppc.org>
36417 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
36419 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
36420 `y + 1' instead of `y - 1'.
36422 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
36424 2004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
36426 From Hollis Blanchard <hollis@penguinppc.org>:
36427 * kern/misc.c (memmove): New alias for grub_memmove.
36428 (memcmp): New alias for grub_memcmp.
36429 (memset): New alias for grub_memset.
36430 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
36431 Change "int handle" to "grub_ieee1275_phandle_t handle".
36432 * include/grub/powerpc/ieee1275/ieee1275.h
36433 (grub_ieee1275_get_property): Likewise.
36435 2004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
36437 Added normal mode command `chainloader' as module chain.mod, which
36438 depends on normal.mod and _chain.mod.
36440 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
36441 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
36442 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
36444 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
36445 but arguments parsing moved to ...
36446 (grub_chainloader_cmd): ... here. New function.
36447 * include/grub/i386/pc/chainloader.h: New file.
36448 * loader/i386/pc/chainloader_normal.c: Likewise.
36450 2004-09-11 Marco Gerards <metgerards@student.han.nl>
36452 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
36453 (grub_mkimage_LDFLAGS): Likewise.
36454 (grub_emu_SOURCES): Likewise.
36455 (kernel_img_HEADERS): Added fshelp.h.
36456 * fs/ext2.c: Include <grub/fshelp.h>.
36457 (FILETYPE_REG): New macro.
36458 (FILETYPE_INO_REG): Likewise.
36459 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
36461 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
36463 (grub_fshelp_node): New struct.
36464 (grub_ext2_data): Added member `diropen'. Changed member `inode'
36466 (grub_ext2_get_file_block): Removed function.
36467 (grub_ext2_read_block): New function.
36468 (grub_ext2_read_file): Replaced parameter `data' by `node'.
36469 This function was written.
36470 (grub_ext2_mount): Read the root inode. Create a diropen struct.
36471 (grub_ext2_find_file): Removed function.
36472 (grub_ext2_read_symlink): New function.
36473 (grub_ext2_iterate_dir): Likewise.
36474 (grub_ext2_open): Rewritten.
36475 (grub_ext2_dir): Rewritten.
36476 * include/grub/fshelp.h: New file.
36477 * fs/fshelp.c: Likewise.
36479 2004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
36481 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
36482 (print_message): Add a missing newline.
36483 (run_menu): Added timeout support.
36484 (run_menu_entry): New local function.
36485 (grub_menu_run): Added support for booting.
36487 * kern/loader.c (grub_loader_is_loaded): New function.
36489 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
36490 (grub_get_rtc): Exported.
36492 * include/grub/i386/pc/time.h: Include grub/symbol.h.
36493 (grub_get_rtc): Exported.
36495 * include/grub/normal.h (struct grub_command_list): Remove
36496 constant from the member `command'.
36498 * include/grub/loader.h (grub_loader_is_loaded): Declared.
36500 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
36502 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
36504 2004-08-28 Marco Gerards <metgerards@student.han.nl>
36506 Add support for the JFS filesystem.
36508 * fs/jfs.c: New file.
36509 * include/grub/fs.h (grub_jfs_init): New prototype.
36510 (grub_jfs_fini): New prototype.
36511 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
36512 (grub_emu_SOURCES): Likewise.
36513 (pkgdata_MODULES): Add jfs.mod.
36514 (jfs_mod_SOURCES): New variable.
36515 (jfs_mod_CFLAGS): Likewise.
36516 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
36517 (grubof_SOURCES): Likewise.
36518 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
36520 * fs/fat.c (grub_fat_find_dir): Convert the filename little
36521 endian to the host endian.
36522 (grub_fat_utf16_to_utf8): Move function from there...
36523 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
36524 the endianness of the source string anymore.
36525 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
36527 2004-08-24 Marco Gerards <metgerards@student.han.nl>
36529 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
36530 (grub_boot_fini) [GRUB_UTIL]: Likewise.
36531 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
36532 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
36534 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
36535 (grub_hfs_iterate_dir): Make the function static. Add prototypes
36536 for `node_found' and `it_dir'.
36537 (grub_hfs_dir): Add prototype for `dir_hook'.
36539 * fs/minix.c (grub_minix_get_file_block): Add prototype for
36540 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
36541 and `indir32' to silence a gcc warning.
36543 * include/grub/fs.h (grub_hfs_init): New prototype.
36544 (grub_hfs_fini): Likewise.
36547 2004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
36549 Each disk device has its own id now. This is useful to make use
36550 of multiple disk devices.
36552 * include/grub/disk.h (grub_disk_dev_id): New enum.
36553 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
36554 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
36556 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
36557 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
36559 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
36560 GRUB_DISK_DEVICE_OFDISK_ID as an id.
36562 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
36563 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
36565 * include/grub/disk.h (struct grub_disk_dev): Added a new member
36566 "id" which is used by the cache manager.
36568 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
36571 2004-08-18 Marco Gerards <metgerards@student.han.nl>
36573 * fs/hfs.c: New file.
36574 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
36575 (grub_emu_SOURCES): Likewise.
36576 (pkgdata_MODULES): Add hfs.mod.
36577 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
36578 (grubof_SOURCES): Likewise.
36579 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
36581 * include/grub/misc.h (grub_strncasecmp): Add prototype.
36582 * kern/misc.c (grub_strncasecmp): Add function.
36584 2004-08-14 Marco Gerards <metgerards@student.han.nl>
36586 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
36589 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
36590 (grub_ext2_dir): In case the directory entry type is unknown, read
36593 2004-08-02 Peter Bruin <pjbruin@dds.nl>
36595 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
36596 grub_load_linux instead of grub_rescue_cmd_linux as second
36597 argument of grub_rescue_register_command.
36599 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
36601 2004-07-27 Marco Gerards <metgerards@student.han.nl>
36603 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
36605 * commands/boot.c: Remove the check for `GRUB_UTIL'.
36606 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
36607 `loader/powerpc/ieee1275/linux.c',
36608 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
36609 * include/grub/powerpc/ieee1275/ieee1275.h
36610 (grub_ieee1275_release): New prototype.
36611 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
36612 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
36613 normal, boot, linux and linux_normal.
36614 * loader/powerpc/ieee1275/linux.c: New file.
36615 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
36617 2004-07-12 Marco Gerards <metgerards@student.han.nl>
36619 * normal/arg.c (grub_arg_parse): Correct error handling after
36620 reallocating the argumentlist (check if `argl' is not null instead
36621 of checking if `args' is not null).
36622 * kern/mm.c (grub_realloc): Return the same pointer when using the
36623 same region, instead of returning the header address.
36625 2004-07-11 Marco Gerards <metgerards@student.han.nl>
36627 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
36628 one block instead of two when looking for the initial partition.
36629 (grub_partition_probe): Initialize the local variable `p' with 0.
36630 Use base 10 for the grub_strtoul call.
36631 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
36632 need for one local variable.
36633 (grub_strtoul): Don't add the new value to `num', instead of that
36636 2004-07-11 Marco Gerards <metgerards@student.han.nl>
36638 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
36639 (pxeboot_img_SOURCES): New variable.
36640 (pxeboot_img_ASFLAGS): Likewise.
36641 (pxeboot_img_LDFLAGS): Likewise.
36642 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
36643 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
36644 <lode_leroy@hotmail.com>.
36646 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
36648 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
36649 there was no input.
36651 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
36653 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
36654 the history buffer logic.
36656 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
36658 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
36659 (FILETYPE_INO_SYMLINK): New macros.
36660 (grub_ext2_find_file): Check if the node is a directory using the
36661 inode stat information instead of using the filetype in the
36662 dirent. Exclude the first character of an absolute symlink.
36663 (grub_ext2_dir): Mask out the filetype part of the mode member of
36666 2004-05-24 Marco Gerards <metgerards@student.han.nl>
36668 Add support for UFS version 1 and 2. Add support for the minix
36669 filesystem version 1 and 2, both the variants with 14 and 30 long
36672 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
36674 (grub_emu_SOURCES): Likewise.
36675 (pkgdata_MODULES): Add ufs.mod and minix.mod.
36676 (ufs_mod_SOURCES): New variable.
36677 (ufs_mod_CFLAGS): Likewise.
36678 (minix_mod_SOURCES): Likewise.
36679 (minix_mod_CFLAGS): Likewise.
36680 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
36682 (grubof_SOURCES): Likewise.
36683 * fs/ufs.c: New file.
36684 * fs/minix.c: New file.
36685 * include/grub/fs.h (grub_ufs_init): New prototype.
36686 (grub_ufs_fini): Likewise.
36687 (grub_minix_init): Likewise.
36688 (grub_minix_fini): Likewise.
36689 * util/grub-emu.c (main): Initialize and deinitialize UFS and
36692 2004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
36694 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
36695 commands/ls.c, commands/terminal.c, commands/boot.c,
36696 commands/cmp.c and commands/cat.c.
36697 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
36699 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
36702 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
36704 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
36705 and grub_, respectively. Because the conversion is trivial and
36706 mechanical, I omit the details here. Please refer to the CVS
36707 if you need more information.
36709 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
36711 * include/pupa: Renamed to ...
36712 * include/grub: ... this.
36713 * util/i386/pc/pupa-mkimage.c: Renamed to ...
36714 * util/i386/pc/grub-mkimage.c: ... this.
36715 * util/i386/pc/pupa-setup.c: Renamed to ...
36716 * util/i386/pc/grub-setup.c: ... this.
36717 * util/pupa-emu.c: Renamed to ...
36718 * util/grub-emu.c: ... this.
36720 2004-03-29 Marco Gerards <metgerards@student.han.nl>
36722 Add support for the newworld apple macintosh (PPC). This has been
36723 tested on the powerbook 2000 only. It only adds support for
36724 generic ieee1275 functions, console and disk support. This should
36725 be easy to port to other architectures with support for Open
36728 * configure.ac: Accept the powerpc as host_cpu. In the case of
36729 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
36730 specific tests are only executed while building for the i386.
36731 Inverse test for crosscompile.
36732 * genmk.rb (Utility): Allow assembler files.
36733 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
36734 * conf/powerpc-ieee1275.rmk: New file.
36735 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
36736 * disk/powerpc/ieee1275/partition.c: Likewise.
36737 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
36738 * include/pupa/powerpc/ieee1275/console.h: Likewise.
36739 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
36740 * include/pupa/powerpc/ieee1275/time.h: Likewise.
36741 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
36742 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
36743 * include/pupa/powerpc/ieee1275/loader.h
36744 * include/pupa/powerpc/setjmp.h: Likewise.
36745 * include/pupa/powerpc/types.h: Likewise.
36746 * kern/powerpc/ieee1275/init.c: Likewise.
36747 * kern/powerpc/ieee1275/openfw.c: Likewise.
36748 * term/powerpc/ieee1275/ofconsole.c: Likewise.
36750 These files were written by Johan Rydberg
36751 (jrydberg@night.trouble.net) and I only modified them slightly.
36753 * boot/powerpc/ieee1275/cmain.c: New file.
36754 * boot/powerpc/ieee1275/crt0.S: Likewise.
36755 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
36756 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
36758 2004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
36760 * Makefile.in: Update copyright.
36761 * genmodsrc.sh: Likewise.
36762 * gensymlist.sh: Likewise.
36763 * term/i386/pc/vga.c: Indent correctly.
36765 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
36766 bugreporting address.
36767 * util/i386/pc/pupa-setup.c (usage): Likewise,
36768 (main): Call pupa_ext2_init and pupa_ext2_fini.
36770 * fs/fat.c (log2): Renamed to ...
36771 (fat_log2): ... this.
36772 All callers changed.
36773 * kern/misc.c (memcpy): Alias to pupa_memmove.
36774 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
36776 * util/console.c (pupa_ncurses_fini): Return 0.
36778 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
36779 Move fail label here.
36780 [__GNU__]: Don't warn when using stat.
36781 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
36782 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
36783 long int. Use strtol instead of strtoul.
36785 2004-03-14 Marco Gerards <metgerards@student.han.nl>
36787 * commands/boot.c: New file.
36788 * commands/cat.c: Likewise.
36789 * commands/cmp.c: Likewise.
36790 * commands/ls.c: Likewise.
36791 * commands/terminal.c: Likewise.
36792 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
36793 (pupa_register_command): Changed interface to match the new
36795 (pupa_command_execute): Changed (almost rewritten) so it uses
36796 pupa_split_command. Added support for setting variables using the
36798 (rescue_command): Changed to work with the new argument parser.
36799 (terminal_command): Moved from here to commands/terminal.c.
36800 (set_command): New function.
36801 (unset_command): New function.
36802 (insmod_command): New function.
36803 (rmmod_command): New function.
36804 (lsmod_command): New function.
36805 (pupa_command_init): Don't initialize the command terminal
36806 anymore. Initialize the commands set, unset, insmod, rmmod and
36808 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
36809 (kernel_img_HEADERS): Add arg.h and env.h.
36810 (pupa_mkimage_LDFLAGS): Add kern/env.c.
36811 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
36812 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
36814 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
36816 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
36817 (boot_mod_SOURCES): New variable.
36818 (terminal_mod_SOURCES): Likewise.
36819 (ls_mod_SOURCES): Likewise.
36820 (cmp_mod_SOURCES): Likewise.
36821 (cat_mod_SOURCES): Likewise.
36823 * normal/arg.c: New file.
36824 * kern/env.c: Likewise.
36825 * include/pupa/arg.h: Likewise.
36826 * include/pupa/env.h: Likewise.
36827 * font/manager.c (font_command): Changed to match argument parsing
36829 (PUPA_MOD_INIT): Likewise.
36830 * hello/hello.c (pupa_cmd_hello): Likewise.
36831 (PUPA_MOD_INIT): Likewise.
36832 * include/pupa/disk.h: Include <pupa/device.h>.
36833 (pupa_print_partinfo): New prototype.
36834 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
36835 (pupa_dl_get_prefix): Likewise.
36836 * include/pupa/misc.h: Include <pupa/err.h>.
36837 (pupa_isgraph): New prototype.
36838 (pupa_isdigit): Likewise.
36839 (pupa_split_cmdline): Likewise.
36840 * include/pupa/normal.h: Include <pupa/arg.h>.
36841 (pupa_command): Changed the prototype of the member `func' to
36842 match the argument parsing interface. Added member `options'.
36843 (pupa_register_command): Updated to match function.
36844 (pupa_arg_parse): New prototype.
36845 (pupa_hello_init) [PUPA_UTIL]: New prototype.
36846 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
36847 (pupa_ls_init) [PUPA_UTIL]: Likewise.
36848 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
36849 (pupa_cat_init) [PUPA_UTIL]: Likewise.
36850 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
36851 (pupa_boot_init) [PUPA_UTIL]: Likewise.
36852 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
36853 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
36854 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
36855 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
36856 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
36857 * kern/disk.c: Include <pupa/file.h>.
36858 (pupa_print_partinfo): New function.
36859 * kern/dl.c: Include <pupa/env.h>.
36860 (pupa_dl_dir): Variable removed.
36861 (pupa_dl_load): Use the environment variable `prefix' instead of
36862 the variable pupa_dl_dir.
36863 (pupa_dl_set_prefix): Function removed.
36864 (pupa_dl_get_prefix): Likewise.
36865 * kern/i386/pc/init.c: Include <pupa/env.h>.
36866 (pupa_machine_init): Use the environment variable `prefix' instead of
36867 using pupa_dl_set_prefix to set the prefix.
36868 * kern/main.c: Include <pupa/env.h>.
36869 (pupa_set_root_dev): Use the environment variable `prefix' instead of
36870 using pupa_dl_get_prefix to get the prefix.
36871 * kern/misc.c: Include <pupa/env.h>.
36872 (pupa_isdigit): New function.
36873 (pupa_isgraph): Likewise.
36874 (pupa_ftoa): Likewise.
36875 (pupa_vsprintf): Added support for printing values of the type
36876 `double'. Make it possible to format variable output when using
36877 formatting like `%1.2%f'.
36878 (pupa_split_cmdline): New function.
36879 * kern/rescue.c: Include <pupa/env.h>.
36880 (next_word): Removed function.
36881 (pupa_rescue_cmd_prefix): Likewise.
36882 (pupa_rescue_cmd_set): New function.
36883 (pupa_rescue_cmd_unset): New function.
36884 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
36885 split the command line instead of splitting it here. Added
36886 support for setting variables using the syntax `foo=bar'. Don't
36887 initialize the prefix command anymore. Initialized the set and
36889 * normal/cmdline.c: Include <pupa/env.h>.
36890 (pupa_tab_complete): Added prototypes for print_simple_completion,
36891 print_partition_completion, add_completion, iterate_commands,
36892 iterate_dev, iterate_part and iterate_dir. Moved code to print
36893 partition information from here to kern/disk.c.
36894 (pupa_cmdline_run): Don't check if the function exists anymore.
36895 * normal/main.c: Include <pupa/env.h>.
36896 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
36897 instead of using pupa_dl_get_prefix to get the prefix.
36898 * term/i386/pc/vga.c: Include <pupa/arg.h>.
36899 (check_vga_mem): Cast pointers to `void *' to silence a gcc
36901 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
36902 (pupa_vga_setcolor): Declare unused variables with `__attribute__
36903 ((unused))' to silence a gcc warning.
36904 (pupa_vga_setcolor): Likewise.
36905 (debug_command): Changed to match argument parsing
36907 * util/pupa-emu.c: Include <pupa/env.h>.
36908 (options): Added 0's for unused fields to silence a gcc warning.
36910 (main): Use the environment variable `prefix' instead of using
36911 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
36912 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
36915 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
36916 * util/misc.c: Include <malloc.h>.
36917 (pupa_malloc): Rewritten so errors are correctly reported.
36918 (pupa_realloc): Likewise.
36919 (pupa_memalign): Likewise.
36920 (pupa_mm_init_region): Declare unused variables with
36921 `__attribute__ ((unused))' to silence a gcc warning.
36922 * normal/i386/setjmp.S: Remove tab at the end of the file to
36923 silence a gcc warning.
36924 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
36925 variables with `__attribute__ ((unused))' to silence a gcc
36927 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
36928 local variable i unsigned to silence a gcc warning.
36930 * kern/term.c: Include <pupa/misc.h>.
36931 (pupa_more_lines): New variable.
36932 (pupa_more): Likewise.
36933 (pupa_putcode): When the pager is active pause at the end of every
36935 (pupa_set_more): New function.
36936 * include/pupa/term.h (pupa_set_more): New prototype.
36939 2004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
36941 Now this project is GRUB 2 rather than PUPA. The location of
36942 the CVS repository was moved to GRUB's.
36944 * configure.ac: Use bug-grub as the reporting address.
36945 Use GRUB instead of PUPA.
36946 Change the version number to 1.90.
36948 2004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
36950 * genkernsyms.sh: Updated copyright information.
36951 * genmk.rb: Likewise.
36952 * genmodsrc.sh: Likewise.
36953 * gensymlist.sh: Likewise.
36954 * boot/i386/pc/boot.S: Likewise.
36955 * boot/i386/pc/diskboot.S: Likewise.
36956 * disk/i386/pc/biosdisk.c: Likewise.
36957 * disk/i386/pc/partition.c: Likewise.
36958 * font/manager.c: Likewise.
36959 * fs/ext2.c: Likewise.
36960 * fs/fat.c: Likewise.
36961 * include/pupa/boot.h: Likewise.
36962 * include/pupa/device.h: Likewise.
36963 * include/pupa/disk.h: Likewise.
36964 * include/pupa/dl.h: Likewise.
36965 * include/pupa/elf.h: Likewise.
36966 * include/pupa/err.h: Likewise.
36967 * include/pupa/file.h: Likewise.
36968 * include/pupa/font.h: Likewise.
36969 * include/pupa/fs.h: Likewise.
36970 * include/pupa/kernel.h: Likewise.
36971 * include/pupa/loader.h: Likewise.
36972 * include/pupa/misc.h: Likewise.
36973 * include/pupa/mm.h: Likewise.
36974 * include/pupa/net.h: Likewise.
36975 * include/pupa/normal.h: Likewise.
36976 * include/pupa/rescue.h: Likewise.
36977 * include/pupa/setjmp.h: Likewise.
36978 * include/pupa/symbol.h: Likewise.
36979 * include/pupa/term.h: Likewise.
36980 * include/pupa/types.h: Likewise.
36981 * include/pupa/i386/setjmp.h: Likewise.
36982 * include/pupa/i386/types.h: Likewise.
36983 * include/pupa/i386/pc/biosdisk.h: Likewise.
36984 * include/pupa/i386/pc/boot.h: Likewise.
36985 * include/pupa/i386/pc/console.h: Likewise.
36986 * include/pupa/i386/pc/init.h: Likewise.
36987 * include/pupa/i386/pc/kernel.h: Likewise.
36988 * include/pupa/i386/pc/linux.h: Likewise.
36989 * include/pupa/i386/pc/loader.h: Likewise.
36990 * include/pupa/i386/pc/memory.h: Likewise.
36991 * include/pupa/i386/pc/multiboot.h: Likewise.
36992 * include/pupa/i386/pc/partition.h: Likewise.
36993 * include/pupa/i386/pc/time.h: Likewise.
36994 * include/pupa/i386/pc/vga.h: Likewise.
36995 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
36996 * include/pupa/util/getroot.h: Likewise.
36997 * include/pupa/util/misc.h: Likewise.
36998 * include/pupa/util/resolve.h: Likewise.
36999 * kern/device.c: Likewise.
37000 * kern/disk.c: Likewise.
37001 * kern/dl.c: Likewise.
37002 * kern/err.c: Likewise.
37003 * kern/file.c: Likewise.
37004 * kern/fs.c: Likewise.
37005 * kern/loader.c: Likewise.
37006 * kern/main.c: Likewise.
37007 * kern/misc.c: Likewise.
37008 * kern/mm.c: Likewise.
37009 * kern/rescue.c: Likewise.
37010 * kern/term.c: Likewise.
37011 * kern/i386/dl.c: Likewise.
37012 * kern/i386/pc/init.c: Likewise.
37013 * kern/i386/pc/lzo1x.S: Likewise.
37014 * kern/i386/pc/startup.S: Likewise.
37015 * loader/i386/pc/chainloader.c: Likewise.
37016 * loader/i386/pc/linux.c: Likewise.
37017 * loader/i386/pc/multiboot.c: Likewise.
37018 * normal/cmdline.c: Likewise.
37019 * normal/command.c: Likewise.
37020 * normal/main.c: Likewise.
37021 * normal/menu.c: Likewise.
37022 * normal/i386/setjmp.S: Likewise.
37023 * term/i386/pc/console.c: Likewise.
37024 * term/i386/pc/vga.c: Likewise.
37025 * util/console.c: Likewise.
37026 * util/genmoddep.c: Likewise.
37027 * util/misc.c: Likewise.
37028 * util/pupa-emu.c: Likewise.
37029 * util/resolve.c: Likewise.
37030 * util/unifont2pff.rb: Likewise.
37031 * util/i386/pc/biosdisk.c: Likewise.
37032 * util/i386/pc/getroot.c: Likewise.
37033 * util/i386/pc/pupa-mkimage.c: Likewise.
37034 * util/i386/pc/pupa-setup.c: Likewise.
37036 2004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
37038 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
37039 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
37040 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
37041 reading and reset it after reading.
37042 (pupa_ext2_close): Return PUPA_ERR_NONE.
37044 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
37046 (struct linux_kernel_header): Add kernel_version and
37048 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
37049 pupa_file_read succeeds.
37050 (pupa_rescue_cmd_initrd): Implement.
37052 2003-12-03 Marco Gerards <metgerards@student.han.nl>
37054 * fs/ext2.c (pupa_ext2_label): New function.
37055 (pupa_ext2_fs): Added label.
37056 * fs/fat.c (pupa_fat_label): New function.
37057 (pupa_fat_fs): Added label.
37058 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
37060 * kern/misc.c (pupa_strndup): New function.
37061 * include/pupa/misc.h (pupa_strndup): New prototype.
37063 * include/pupa/normal.h: Include <pupa/err.h>.
37064 (pupa_set_history): New prototype.
37065 (pupa_iterate_commands): New prototype.
37066 * normal/cmdline.c: Include <pupa/machine/partition.h>,
37067 <pupa/disk.h>, <pupa/file.h>.
37068 (hist_size): New variable.
37069 (hist_lines): Likewise.
37070 (hist_end): Likewise.
37071 (hist_used): Likewise.
37072 (pupa_set_history): New function.
37073 (pupa_history_get): Likewise.
37074 (pupa_history_add): Likewise.
37075 (pupa_history_replace): Likewise.
37076 (pupa_tab_complete): Likewise.
37077 (pupa_cmdline_run): Added tab completion and history buffer. Tab
37078 completion shows partitionnames while completing partitions, this
37079 feature was suggested by Jeff Bailey.
37080 * normal/command.c (pupa_iterate_commands): New function.
37081 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
37082 (pupa_normal_init): Initialize history buffer.
37083 (PUPA_MOD_INIT): Likewise.
37084 (pupa_normal_fini): Free the history buffer.
37085 (PUPA_MOD_FINI): Likewise.
37087 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
37090 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
37091 * configure.ac [i386]: Check for regparam bug.
37092 (NESTED_FUNC_ATTR) [! i386]: Defined.
37094 2003-11-17 Marco Gerards <metgerards@student.han.nl>
37096 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
37097 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
37098 (pupa_emu_SOURCES): New variable.
37099 (pupa_emu_LDFLAGS): Likewise.
37100 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
37101 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
37102 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
37103 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
37104 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
37105 (pupa_jmp_buf): New typedef.
37106 (pupa_setjmp) [PUPA_UTIL]: New macro.
37107 (pupa_longjmp) [PUPA_UTIL]: Likewise.
37108 * include/pupa/term.h (struct pupa_term): New member `refresh'.
37109 (pupa_refresh): New prototype.
37110 * include/pupa/util/getroot.h: New file.
37111 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
37113 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
37114 (pupa_rescue_cmd_cat): Likewise.
37115 (pupa_rescue_cmd_ls): Likewise.
37116 (pupa_rescue_cmd_testload): Likewise.
37117 (pupa_rescue_cmd_lsmod): Likewise.
37118 * normal/cmdline.c (pupa_cmdline_get): Likewise.
37119 * normal/menu.c (run_menu): Likewise.
37120 * kern/term.c (pupa_cls): Likewise.
37121 (pupa_refresh): New function.
37122 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
37123 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
37124 * util/console.c: New file.
37126 * util/i386/pc/getroot.c: New file.
37127 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
37128 (pupa_putchar): New function.
37129 (pupa_refresh): Likewise.
37130 (xgetcwd): Function moved to ...
37131 (strip_extra_slashes): Likewise.
37132 (get_prefix): Likewise.
37133 * util/i386/pc/getroot.c: ... here.
37134 (find_root_device): Function moved and renamed to...
37135 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
37136 Changed all callers.
37137 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
37139 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
37140 Changed all callers.
37141 * util/misc.c (pupa_memalign): New function.
37142 (pupa_mm_init_region): Likewise.
37143 (pupa_register_exported_symbols): Likewise.
37144 (pupa_putchar): Function removed.
37145 * util/pupa-emu.c: New file.
37147 2003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
37149 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
37150 (_multiboot_mod_SOURCES): New variable.
37151 (_multiboot_mod_CFLAGS): Likewise.
37152 * loader/i386/pc/multiboot.c: New file.
37153 * include/pupa/i386/pc/multiboot.h: Likewise.
37154 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
37155 (pupa_multiboot_real_boot): New function.
37156 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
37157 (pupa_multiboot_real_boot): New prototype.
37158 (pupa_rescue_cmd_multiboot): Likewise
37159 (pupa_rescue_cmd_module): Likewise.
37161 * kern/loader.c (pupa_loader_set): Continue when
37162 pupa_loader_unload_func() fails.
37163 (pupa_loader_unset): New function.
37164 * include/pupa/loader.h (pupa_loader_unset): New prototype.
37166 * kern/misc.c (pupa_stpcpy): New function.
37167 * include/pupa/misc.h (pupa_stpcpy): New prototype.
37169 2003-11-12 Marco Gerards <metgerards@student.han.nl>
37171 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
37172 for available extensions.
37174 * include/pupa/i386/pc/time.h: New file.
37175 * kern/disk.c: Include <pupa/machine/time.h>.
37176 (PUPA_CACHE_TIMEOUT): New macro.
37177 (pupa_last_time): New variable.
37178 (pupa_disk_open): Flush the cache when there was a timeout.
37179 (pupa_disk_close): Reset the timer.
37180 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
37182 * util/misc.c: Include <sys/times.h>
37183 (pupa_get_rtc): New function.
37185 2003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
37187 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
37189 (pupa_ext2_get_file_block): Use blocks member.
37191 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
37192 first block. Return -1 instead of pupa_errno on error.
37194 2003-10-27 Marco Gerards <metgerards@student.han.nl>
37196 * README: In the pupa-mkimage example use _chain instead of chain
37197 and ext2 instead of fat.
37198 * TODO: Replace ext2fs with jfs as an example. Add an item for
37199 adding journal playback for ext2fs.
37200 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
37201 (pkgdata_MODULES): Added ext2.mod.
37202 (ext2_mod_SOURCES): New variable.
37203 (ext2_mod_CFLAGS): Likewise.
37204 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
37205 * include/pupa/misc.h (pupa_strncpy): New prototype.
37206 (pupa_strcat): Likewise.
37207 (pupa_strncmp): Likewise.
37208 * kern/misc.c (pupa_strcat): Enable function.
37209 (pupa_strncpy): New function.
37210 (pupa_strncmp): Likewise.
37211 * fs/ext2.c: New file.
37213 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
37214 when the read failed before retrying.
37215 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
37216 (_FILE_OFFSET_BITS): Likewise.
37217 * configure.ac: Added AC_SYS_LARGEFILE.
37219 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
37221 * genmk.rb (PModule#rule): Make sure to get only symbol names
37222 from the output of nm.
37223 Reported by Robert Millan <rmh.grub@aybabtu.com>.
37225 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
37227 I forgot to check in these changes for a long time. This adds
37228 incomplete support for VGA console, and this is still very
37229 buggy. Also, a lot of consideration is required for I18N,
37230 UNICODE, and VGA font issues. Therefore, assume that this is
37231 such that "better than nothing".
37233 * font/manager.c: New file.
37234 * include/pupa/font.h: Likewise.
37235 * include/pupa/i386/pc/vga.h: Likewise.
37236 * term/i386/pc/vga.c: Likewise.
37237 * util/unifont2pff.rb: Likewise.
37239 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
37240 (pkgdata_MODULES): Added vga.mod and font.mod.
37241 (vga_mod_SOURCES): New variables.
37242 (vga_mod_CFLAGS): Likewise.
37243 (font_mod_SOURCES): Likewise.
37244 (font_mod_CFLAGS): Likewise.
37246 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
37248 * include/pupa/term.h: Include pupa/err.h.
37249 (struct pupa_term): Added init and fini.
37250 Changed the argument of putchar to pupa_uint32_t.
37252 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
37253 (pupa_console_real_putchar): New prototype.
37254 (pupa_console_putchar): Removed.
37255 (pupa_console_checkkey): Exported.
37256 (pupa_console_getkey): Likewise.
37258 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
37261 * kern/term.c (pupa_term_set_current): Rewritten.
37262 (pupa_putchar): Likewise.
37263 (pupa_putcode): New function.
37265 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
37266 (pupa_console_real_putchar): ... this.
37267 (pupa_vga_set_mode): New function.
37268 (pupa_vga_get_font): Likewise.
37270 * normal/command.c: Include pupa/term.h.
37271 (terminal_command): New function.
37272 (pupa_command_init): Register the command "terminal".
37274 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
37275 (DISP_UP): Likewise.
37276 (DISP_RIGHT): Likewise.
37277 (DISP_DOWN): Likewise.
37278 (DISP_HLINE): Likewise.
37279 (DISP_VLINE): Likewise.
37280 (DISP_UL): Likewise.
37281 (DISP_UR): Likewise.
37282 (DISP_LL): Likewise.
37283 (DISP_LR): Likewise.
37285 * term/i386/pc/console.c (pupa_console_putchar): New function.
37287 2003-02-08 NIIBE Yutaka <gniibe@m17n.org>
37289 * util/resolve.c (pupa_util_resolve_dependencies): BUG
37290 FIX. Reverse the path_list.
37292 * include/pupa/normal.h: Export pupa_register_command and
37293 pupa_unregister_command.
37295 * hello/hello.c (pupa_cmd_hello): New module.
37296 * conf/i386-pc.rmk: Added hello.mod.
37298 2003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
37300 * kern/i386/pc/lzo1x.S: New file.
37302 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
37303 (compress_kernel): New variable.
37304 (generate_image): Heavily modified to support compressing a
37305 large part of the core image.
37307 * util/misc.c (pupa_util_read_image): Fix a file descriptor
37309 (pupa_util_load_image): New function.
37311 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
37312 (pupa_compressed_size): New variable.
37313 (codestart): Enable Gate A20 here.
37314 Decompress the compressed part of the core image.
37315 Rearrange the code to put functions and variables which are
37316 required for initialization in the non-compressed part.
37319 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
37322 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
37324 * include/pupa/i386/pc/kernel.h
37325 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
37326 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
37327 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
37328 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
37329 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
37331 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
37333 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
37334 (Utility#rule): Likewise.
37336 * configure.ac: Check if LZO is available.
37338 2003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
37340 * include/pupa/normal.h: New file.
37341 * include/pupa/setjmp.h: Likewise.
37342 * include/pupa/i386/setjmp.h: Likewise.
37343 * normal/cmdline.c: Likewise.
37344 * normal/command.c: Likewise.
37345 * normal/main.c: Likewise.
37346 * normal/menu.c: Likewise.
37347 * normal/i386/setjmp.S: Likewise.
37349 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
37350 (pupa_rescue_cmd_initrd): Likewise.
37352 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
37355 * kern/i386/pc/startup.S (translation_table): New variable.
37356 (translate_keycode): New function.
37357 (pupa_console_getkey): Call translate_keycode.
37359 * kern/rescue.c (attempt_normal_mode): New function.
37360 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
37361 it failed, print a message.
37363 * kern/mm.c (pupa_real_malloc): Print more information when a
37364 free magic is broken.
37365 (pupa_free): If the first free header is not free actually, set
37368 * kern/main.c (pupa_load_normal_mode): Just load the module
37370 (pupa_main): Don't print the message
37371 "Entering into rescue mode..." here.
37373 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
37375 (pupa_rescue_cmd_initrd): Likewise.
37376 (pupa_rescue_cmd_initrd): Likewise.
37378 * include/pupa/symbol.h (FUNCTION): Specify the type.
37379 (VARIABLE): Likewise.
37381 * include/pupa/err.h (pupa_err_t): Added
37382 PUPA_ERR_UNKNOWN_COMMAND.
37384 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
37385 (pupa_dl_get_prefix): Likewise.
37387 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
37388 Added _chain.mod and _linux.mod instead of chain.mod and
37390 (chain_mod_SOURCES): Renamed to ...
37391 (_chain_mod_SOURCES): ... this.
37392 (chain_mod_CFLAGS): Renamed to ...
37393 (_chain_mod_CFLAGS): ... this.
37394 (linux_mod_SOURCES): Renamed to ...
37395 (_linux_mod_SOURCES): ... this.
37396 (linux_mod_CFLAGS): Renamed to ...
37397 (_linux_mod_CFLAGS): ... this.
37398 (normal_mod_SOURCES): New variable.
37399 (normal_mod_CFLAGS): Likewise.
37400 (normal_mod_ASFLAGS): Likewise.
37402 2003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
37404 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
37407 * kern/dl.c (pupa_dl_ref): Refer depending modules
37409 (pupa_dl_unref): Unrefer depending modules recursively.
37410 Don't call pupa_dl_unload implicitly, because PUPA can crash if
37411 a module is unloaded before one depending on that module is
37413 (pupa_dl_unload): Unload depending modules explicitly,
37416 2003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
37418 * include/pupa/i386/pc/linux.h: New file.
37419 * loader/i386/pc/linux.c: Likewise.
37421 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
37423 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
37424 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
37425 of PUPA_CHAINLOADER_BOOT_SECTOR.
37427 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
37428 (pupa_linux_prot_size): New variable.
37429 (pupa_linux_tmp_addr): Likewise.
37430 (pupa_linux_real_addr): Likewise.
37431 (pupa_linux_boot_zimage): New function.
37432 (pupa_linux_boot_bzimage): Likewise.
37434 * kern/i386/pc/init.c (struct mem_region): New structure.
37435 (MAX_REGIONS): New macro.
37436 (mem_regions): New variable.
37437 (num_regions): Likewise.
37438 (pupa_os_area_addr): Likewise.
37439 (pupa_os_area_size): Likewise.
37440 (pupa_lower_mem): Likewise.
37441 (pupa_upper_mem): Likewise.
37442 (add_mem_region): New function.
37443 (compact_mem_regions): Likewise.
37444 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
37445 the size of the conventional memory and that of so-called upper
37446 memory (before the first memory hole).
37447 Instead of adding each found region to free memory, use
37448 add_mem_region and add them after removing overlaps.
37449 Also, add only 1/4 of the upper memory to free memory. The rest
37450 is used for loading OS images. Maybe this is ad hoc, but this
37451 makes it much easier to relocate OS images when booting.
37453 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
37454 (pupa_enter_rescue_mode): Don't register initrd and module.
37456 * kern/mm.c: Include pupa/dl.h.
37458 * kern/main.c: Include pupa/file.h and pupa/device.h.
37460 * kern/loader.c (pupa_loader_load_module_func): Removed.
37461 (pupa_loader_load_module): Likewise.
37463 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
37466 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
37467 (pupa_linux_tmp_addr): Likewise.
37468 (pupa_linux_real_addr): Likewise.
37469 (pupa_linux_boot_zimage): Likewise.
37470 (pupa_linux_boot_bzimage): Likewise.
37472 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
37473 (pupa_upper_mem): Likewise.
37474 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
37475 module is too dangerous.
37477 * include/pupa/loader.h (pupa_os_area_addr): Declared.
37478 (pupa_os_area_size): Likewise.
37479 (pupa_loader_set): Remove the first argument. Loader doesn't
37480 manage modules or initrd any longer.
37481 (pupa_loader_load_module): Removed.
37483 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
37484 (linux_mod_SOURCES): New variable.
37485 (linux_mod_CFLAGS): Likewise.
37487 2003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
37489 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
37490 the length of a blocklist correctly.
37492 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
37493 Use ioctl only if the OS file is a block device.
37494 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
37495 not very useful for normal files.
37497 * kern/main.c (pupa_set_root_dev): New function.
37498 (pupa_load_normal_mode): Likewise.
37499 (pupa_main): Call those above.
37501 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
37504 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
37506 2003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
37508 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
37509 (setup): Configure the installed partition information and the
37512 * loader/i386/pc/chainloader.c (my_mod): New variable.
37513 (pupa_chainloader_unload): New function.
37514 (pupa_rescue_cmd_chainloader): Refer itself.
37515 (PUPA_MOD_INIT): Save its own module in MY_MOD.
37517 * kern/i386/pc/startup.S (install_partition): Removed.
37518 (version_string): Likewise.
37519 (config_file): Likewise.
37520 (pupa_install_dos_part): New variable.
37521 (pupa_install_bsd_part): Likewise.
37522 (pupa_prefix): Likewise.
37523 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
37525 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
37527 (make_install_device): New function.
37528 (pupa_machine_init): Set the dl prefix.
37530 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
37531 (buf): Renamed to ...
37532 (linebuf): ... this.
37533 (pupa_rescue_cmd_prefix): New function.
37534 (pupa_rescue_cmd_insmod): Likewise.
37535 (pupa_rescue_cmd_rmmod): Likewise.
37536 (pupa_rescue_cmd_lsmod): Likewise.
37537 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
37540 * kern/mm.c (pupa_memalign): If failed even after invalidating
37541 disk caches, unload unneeded modules and retry.
37543 * kern/misc.c (pupa_memmove): New function.
37544 (pupa_memcpy): Removed.
37545 (pupa_strcpy): New function.
37546 (pupa_itoa): Made static.
37548 * kern/dl.c (pupa_dl_iterate): New function.
37549 (pupa_dl_ref): Likewise.
37550 (pupa_dl_unref): Likewise.
37551 (pupa_dl_unload): Return if succeeded or not.
37552 (pupa_dl_unload_unneeded): New function.
37553 (pupa_dl_unload_all): Likewise.
37554 (pupa_dl_init): Renamed to ...
37555 (pupa_dl_set_prefix): ... this.
37556 (pupa_dl_get_prefix): New function.
37558 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
37559 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
37560 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
37561 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
37562 (pupa_install_dos_part): Declared.
37563 (pupa_install_bsd_part): Likewise.
37564 (pupa_prefix): Likewise.
37565 (pupa_boot_drive): Likewise.
37567 * include/pupa/types.h: Fix a typo.
37569 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
37571 (pupa_memmove): Declared.
37572 (pupa_strcpy): Likewise.
37574 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
37575 pupa_mod_init takes one argument, its own module.
37576 (pupa_dl_unload_unneeded): Declared.
37577 (pupa_dl_unload_all): Likewise.
37578 (pupa_dl_ref): Likewise.
37579 (pupa_dl_unref): Likewise.
37580 (pupa_dl_iterate): Likewise.
37581 (pupa_dl_init): Renamed to ...
37582 (pupa_dl_set_prefix): ... this.
37583 (pupa_dl_get_prefix): Declared.
37585 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
37586 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
37588 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
37589 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
37591 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
37592 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
37594 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
37596 * util/i386/pc/pupa-setup.c (setup): Define the internal
37597 function find_first_partition_start at the top level, because GCC
37598 3.0.x cannot compile internal functions in deeper scopes
37600 (find_root_device): Use lstat instead of stat.
37601 Don't follow symbolic links.
37602 Fix the path-constructing code.
37604 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
37605 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
37606 by a BLKGETSIZE ioctl first, because block devices don't fill
37607 the member st_mode of the structure stat on Linux.
37608 [__linux__] (linux_find_partition): Use a temporary buffer
37609 REAL_DEV for the working space. Copy it to DEV before returning.
37610 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
37611 buffer cache consistent.
37612 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
37613 strncmp. The previous value was merely wrong.
37614 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
37616 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
37617 FAT size is 12. The previous value was merely wrong.
37619 * kern/main.c (pupa_main): Don't split the starting message from
37622 * kern/term.c (pupa_putchar): Put CR after LF instead of before
37623 LF, because BIOS goes crazy about character attributes in this
37626 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
37628 * include/i386/pc/util/biosdisk.h: New file.
37629 * util/i386/pc/biosdisk.c: Likewise.
37630 * util/i386/pc/pupa-setup.c: Likewise.
37632 * Makefile.in (INCLUDE_DISTFILES): Added
37633 include/pupa/i386/pc/util/biosdisk.h.
37634 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
37635 directory util/i386/pc.
37636 (install-local): Added a rule for sbin_UTILITIES.
37637 (uninstall): Likewise.
37639 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
37641 * util/misc.c (xrealloc): New function.
37642 (pupa_malloc): Likewise.
37643 (pupa_free): Likewise.
37644 (pupa_realloc): Likewise.
37645 (pupa_stop): Likewise.
37646 (pupa_putchar): Likewise.
37648 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
37650 * include/pupa/util/misc.h (xrealloc): Declared.
37652 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
37654 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
37655 (PUPA_BOOT_MACHINE_BPB_END): ... this.
37657 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
37658 [PUPA_UTIL] (pupa_fat_fini): Likewise.
37660 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
37661 way should be implemented.
37662 [PUPA_UTIL] (pupa_fat_fini): Likewise.
37664 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
37665 the size of NAME for safety.
37666 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
37669 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
37670 (pupa_setup_SOURCES): Likewise.
37672 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
37674 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
37676 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
37677 bunch of pushl's from pusha, because this destroys the return
37680 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
37682 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
37683 This means that any missing prototypes could be fatal. Also, you
37684 must take care when writing assembly code. See the comments at
37685 the beginning of startup.S, for more details.
37687 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
37688 compilation mechanism.
37689 (pupa_chainloader_real_boot): Likewise.
37690 (pupa_biosdisk_rw_int13_extensions): Likewise.
37691 (pupa_biosdisk_rw_standard): Likewise.
37692 (pupa_biosdisk_check_int13_extensions): Likewise.
37693 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
37694 (pupa_biosdisk_get_diskinfo_standard): Likewise.
37695 (pupa_get_memsize): Likewise.
37696 (pupa_get_mmap_entry): Likewise.
37697 (pupa_console_putchar): Likewise.
37698 (pupa_console_setcursor): Likewise.
37699 (pupa_getrtsecs): Use pushl instead of push.
37701 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
37702 memory instead of the stack for a mmap entry, because some
37703 BIOSes may ignore the maximum size and overflow.
37705 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
37707 * genmk.rb (PModule#rule): Compile automatically generated
37708 sources with module-specific CFLAGS as well as other sources.
37710 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
37712 * configure.ac: Check ld.
37713 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
37714 respectively, before checking endianness and sizes.
37716 * Makefile.in (LD): New variable.
37718 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
37720 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
37722 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
37724 * Changelog: New file.