]> git.proxmox.com Git - grub2.git/blame - ChangeLog
Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
[grub2.git] / ChangeLog
CommitLineData
de9c615e
VS
12011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2
3 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
4 done with a dedicated section.
5
6 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
7 Ensure the correct position of boot_path.
8 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
9 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
10 other fields.
11 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
12 * include/grub/boot.h: Removed. All references removed.
13 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
14 Removed.
15 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
16
e55599dc
VS
172011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
18
19 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
20 name.
21
36dd20ad
VS
222011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
23
24 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
25
f8f72eb8
VS
262011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
27
28 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
29 Don't add the bogus brackets.
30
a374751b
VS
312011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
32
33 ExFAT support.
34
35 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
36 * grub-core/Makefile.core.def (exfat): New module.
37 * grub-core/fs/exfat.c: New file.
38 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
39 (GRUB_FAT_ATTR_*): Make into an enum.
40 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
41 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
42 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
43 (GRUB_FAT_MAXFILE): Removed.
44 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
45 (grub_current_fat_bpb_t): New type.
46 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
47 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
48 (grub_fat_dir_node_t): New type.
49 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
50 (fat_log2) [MODE_EXFAT]: Removed.
51 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
52 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
53 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
54 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
55 (grub_fat_label) [MODE_EXFAT]: New function.
56 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
57 reserved_first_sector to 0.
58
544c2487
VS
592011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
60
61 Move grub_reboot out of the kernel.
62
63 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
64 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
65 * grub-core/lib/efi/reboot.c: ... here.
66 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
67 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
68 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
69 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
70 * grub-core/lib/i386/reboot_trampoline.S: ... here.
71 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
72 * grub-core/lib/ieee1275/reboot.c: ... here.
73 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
74 * grub-core/lib/mips/arc/reboot.c: ... here.
75 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
76 * grub-core/lib/mips/loongson/reboot.c: ...here.
77 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
78 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
79 * include/grub/emu/misc.h (grub_reboot): New function declaration.
80 * include/grub/i386/reboot.h: New file.
81 * include/grub/mips/loongson/ec.h: Fix includes.
82 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
83 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
84 * grub-core/lib/i386/reboot.c: New file.
85
a97501d2
VS
862011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
87
88 Make grub_prefix into module to fix the arbitrary limit and save
89 some space.
90
91 * grub-core/kern/emu/main.c (grub_prefix): Removed.
92 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
93 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
94 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
95 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
96 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
97 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
98 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
99 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
100 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
101 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
102 * include/grub/ia64/efi/kernel.h: Removed.
103 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
104 (grub_prefix): Removed.
105 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
106 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
107 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
108 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
109 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
110 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
111 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
112 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
113 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
114 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
115 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
116 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
117 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
118 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
119 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
120 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
121 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
122 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
123 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
124 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
125 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
126 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
127 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
128 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
129 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
130 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
131 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
132 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
133 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
134 from module.
135 * util/grub-mkimage.c (image_target_desc): Removed prefix and
136 prefix_end.
137 (image_targets): Likewise.
138 (generate_image): Put prefix as a module.
139
39705fad
VS
1402011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
141
142 Replace grub_module_iterate with FOR_MODULES.
143
144 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
145 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
146 (grub_efi_modules_addr): ...this.
147 * grub-core/kern/efi/init.c (grub_modbase): New variable.
148 (grub_efi_init): Set grub_modbase.
149 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
150 (grub_modbase): New variable.
151 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
152 (grub_modbase): New variable.
153 (grub_machine_init): Set grub_modbase.
154 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
155 (grub_modbase): New variable.
156 (grub_machine_init): Set grub_modbase.
157 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
158 (grub_modbase): New variable.
159 (grub_machine_init): Set grub_modbase.
160 * grub-core/kern/main.c (grub_module_iterate): Remove.
161 (grub_modules_get_end): Use grub_modbase.
162 (grub_load_modules): Use FOR_MODULES.
163 (grub_load_config): Likewise.
164 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
165 (grub_modbase): New variable.
166 (grub_machine_init): Set grub_modbase.
167 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
168 (grub_modbase): New variable.
169 (grub_machine_init): Set grub_modbase.
170 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
171 Removed.
172 (grub_modbase): New variable.
173 (grub_machine_init): Set grub_modbase.
174 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
175 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
176 (grub_module_iterate): Likewise.
177 (grub_modbase): New variable declaration.
178 (FOR_MODULES): New macro.
179
2afb7f6c
VS
1802011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
181
182 * configure.ac: Check for __ctzdi2 and __ctzsi2.
183 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
184
366e34fa
VS
1852011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
186
187 Fix few obvious type discrepancies.
188
189 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
190 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
191 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
192 variable.
193 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
194 and connected types.
195 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
196 offset.
197 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
198 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
199 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
200 and connected types.
201
177b960e
VS
2022011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
203
204 Fix python 3.x incompatibilities.
205
206 * gentpl.py: Put brackets around print strings.
207 * util/import_gcry.py: Open explicitly as utf-8.
208 Use in instead of has_key.
209
3b619ae1
VS
2102011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
211
212 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
213 (GRUB_XFS_INO_AGBITS): Make into inline function.
214 (GRUB_XFS_INO_INOINAG): Likewise.
215 (GRUB_XFS_INO_AG): Likewise.
216 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
217 (GRUB_XFS_EXTENT_OFFSET): Likewise.
218 (GRUB_XFS_EXTENT_BLOCK): Likewise.
219 (GRUB_XFS_EXTENT_SIZE): Likewise.
220 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
221 (GRUB_XFS_NEXT_DIRENT): Likewise.
222 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
223 (grub_xfs_read_file): Fix offset type.
224
8bcebcb8
RM
2252011-10-15 Robert Millan <rmh@gnu.org>
226
227 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
228
0017e5ef
RM
2292011-10-15 Robert Millan <rmh@gnu.org>
230
231 Fix build problem on FreeBSD and GNU/kFreeBSD.
232
233 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
234
d8919552
VS
2352011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
236
237 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
238
239 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
240 types.
241 (grub_hfsplus_btree_recoffset): Likewise.
242 (grub_hfsplus_btree_recptr): Likewise.
243 (grub_hfsplus_find_block): Likewise.
244 (grub_hfsplus_btree_search): Likewise.
245 (grub_hfsplus_read_block): Likewise.
246 (grub_hfsplus_read_file): Likewise.
247 (grub_hfsplus_mount): Likewise.
248 (grub_hfsplus_btree_iterate_node): Likewise.
249 (grub_hfsplus_btree_search): Likewise.
250 (grub_hfsplus_iterate_dir): Likewise.
251 (grub_hfsplus_read): A small code simplification.
252
c81296b6
VS
2532011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
254
255 * grub-core/kern/emu/hostdisk.c
256 (convert_system_partition_to_system_disk): Don't assume that children
257 of mapper nodes are mapper nodes.
258
0eb8ffb1
VS
2592011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
260
261 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
262 * include/grub/misc.h (grub_isxdigit): New function.
263 * grub-core/video/colors.c (my_isxdigit): Removed. All users
264 switched to grub_isxdigit.
265 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
266 number starting with a letter.
267
a98f4a08
RM
2682011-10-09 Robert Millan <rmh@gnu.org>
269
270 LVM support for FreeBSD and GNU/kFreeBSD.
271
272 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
273 GNU/kFreeBSD.
274 (LVM_DEV_MAPPER_STRING): Move from here ...
275 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
276 * util/getroot.c: Include `<grub/util/lvm.h>'.
277 (grub_util_get_dev_abstraction): Enable
278 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
279 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
280 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
281 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
282 support it.
283 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
284 GNU/kFreeBSD.
285 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
286 when LVM abstraction is required for ${GRUB_DEVICE}.
287
050e8e90
SJ
2882011-10-06 Szymon Janc <szymon@janc.net.pl>
289
290 Add support for LZO compression in GRUB:
291 - import of minilzo library,
292 - LZO decompression for btrfs,
293 - lzop files decompression.
294
295 * grub-core/io/lzopio.c: New file.
296 * grub-core/lib/adler32.c: Likewise.
297 * grub-core/lib/minilzo/lzoconf.h: Likewise.
298 * grub-core/lib/minilzo/lzodefs.h: Likewise.
299 * grub-core/lib/minilzo/minilzo.c: Likewise.
300 * grub-core/lib/minilzo/minilzo.h: Likewise.
301 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
302 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
303 grub-core/lib/minilzo/minilzo.c to common.
304 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
305 cflags in cppflags.
306 * grub-core/Makefile.core.def (btrfs): Likewise.
307 * grub-core/Makefile.core.def (lzopio): New module.
308 (adler32): Likewise.
309 * grub-core/fs/btrfs.c: Include minilzo.h.
310 (GRUB_BTRFS_COMPRESSION_LZO): New define.
311 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
312 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
313 (grub_btrfs_lzo_decompress): New function.
314 (grub_btrfs_extent_read): Add support for LZO compression type.
315 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
316 (GRUB_USHRT_MAX): Likewise.
317 (GRUB_UINT_MAX): Likewise.
318 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
319 (UINT_MAX): Likewise.
320 (CHAR_BIT): Likewise.
321 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
322 grub-core/lib/posix_wrap/limits.h
323 (UCHAR_MAX): Likewise.
324 * include/grub/file.h (grub_file_filter_id): New compression filter
325 GRUB_FILE_FILTER_LZOPIO.
326 * include/grub/file.h (grub_file_filter_id): Set
327 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
328 * include/grub/types.h (grub_get_unaligned16): New function.
329 (grub_get_unaligned32): Likewise.
330 (grub_get_unaligned64): Likewise.
331 * util/import_gcry.py (cryptolist): Add adler32.
332
0eb8ffb1
VS
3332011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
334
335 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
336 in perspective decreases the complexity of build system and fixes
337 compilation right now.
338
ce79cc99 3392011-10-01 Ales Nesrsta <starous@volny.cz>
340
341 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
342 (fixed problem related to using UHCI with coreboot).
343
8667a314
BC
3442011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
345
346 * gentpl.py: Use Autogen macros so that the output template file
347 (Makefile.tpl) size is reduced.
348
fc5efcc0
MK
3492011-09-29 Mads Kiilerich <mads@kiilerich.com>
350
351 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
352 extra_dist.
353
d1ab689d
ML
3542011-09-29 Mario Limonciello <mario_limonciello@dell.com>
355
356 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
357 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
358
c05de032
ML
3592011-09-29 Mario Limonciello <mario_limonciello@dell.com>
360
361 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
362 _fullpath.
363
cca7ccd8
ML
3642011-09-29 Mario Limonciello <mario_limonciello@dell.com>
365
366 Remove extra declaration of sleep for mingw32.
367
368 * util/misc.c (sleep) [__MINGW32__]: Removed.
369 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
370
e0b0dc83
GS
3712011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
372
373 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
374 type and packname.
375 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
376 Resurrected.
377 (NETBSD_BTINFO_BOOTWEDGE): New definition.
378 (grub_netbsd_btinfo_bootwedge): New struct.
379 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
380 New function.
381 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
382
91a1a164
TH
3832011-09-28 Thomas Haller <thomas.haller@fen-net.de>
384
385 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
386 loader.
387
2ded951e
AB
3882011-09-28 Andreas Born <futur.andy@googlemail.com>
389
390 Fix incorrect identifiers in bash-completion.
391
392 * util/bash-completion.d/grub-completion.bash.in
393 (_grub_mkpasswd-pbkdf2): Rename to ...
394 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
395 (_grub_script-check): Rename to ...
396 (_grub_script_check): ... this. All users updated.
397
69915030
VS
3982011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
399
400 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
401 Return 0 if disk isn't biosdisk.
402
20fd15f9
GS
4032011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
404
405 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
406 on NetBSD.
407 * Makefile.util.def (grub-fstest): Likewise.
408
1a7d7db9
GS
4092011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
410
411 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
412 Get sector size from disk label.
413
2221ab6c
CW
4142011-09-05 Colin Watson <cjwatson@ubuntu.com>
415
416 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
417 */README* as well as README*.
418 Reported by: Axel Beckert.
419
ca51c4a0
VS
4202011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
421
422 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
423 case of less than 256 MiB of RAM.
424
ab80f326
VS
4252011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
426
427 * grub-core/commands/wildcard.c (make_regex): Handle @.
428
4155e697
VS
4292011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
430
431 * util/grub-install.in: Move cryptodisk logic to appropriate place.
432
ab178c08
SJ
4332011-08-21 Szymon Janc <szymon@janc.net.pl>
434
435 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
436 AC_LANG_CONFTEST macros.
437
7dc3c686
SJ
4382011-08-20 Szymon Janc <szymon@janc.net.pl>
439
440 Add grub-fstest option to uncompress data for commands.
441
442 * util/grub-fstest.c (uncompress): New var.
443 (options): New option -u.
444
fe8d4a7b
SJ
4452011-08-20 Szymon Janc <szymon@janc.net.pl>
446
447 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
448 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
449
a5219af1
SJ
4502011-08-20 Szymon Janc <szymon@janc.net.pl>
451
452 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
453 file type was not recognized correctly (not gzip or corrupted).
454
f87abff5
VS
4552011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
456
457 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
458 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
459
d94497ea
VS
4602011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
461
462 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
463 loongson.
464 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
465 video_radeon_fuloong2e.
466 * grub-core/video/radeon_fuloong2e.c: New file.
467 * include/grub/video.h (grub_video_id_t): Add new ID
468 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
469
0d1fd011
VS
4702011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
471
472 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
473 define.
474 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
475 that PRID matches the detected subplatform and reset the subplatform
476 if it doesn't.
477
84beb0ee
VS
4782011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
479
480 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
481
1227c133
VS
4822011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
483
484 Fix PCI iterating on functions >= 4.
485
486 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
487 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
488 Removed.
489 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
490 (grub_pci_read): Fix bitmask.
491 (grub_pci_read_word): Likewise.
492 (grub_pci_read_byte): Likewise.
493 (grub_pci_write): Likewise.
494 (grub_pci_write_word): Likewise.
495 (grub_pci_write_byte): Likewise.
496
9594c689
VS
4972011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
498
499 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
500 can still be specified in TARGET_CFLAGS)
501
14a2562c
VS
5022011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
503
504 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
505
506 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
507 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
508 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
509 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
510 (FULOONG): Rename to ...
511 (FULOONG2F): ... this. All users updated.
512 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
513 (machtype_fuloong2f_str): ... this.
514 (machtype_fuloong2e_str): New string.
515 Check for machtype_fuloong2e_str.
516 * grub-core/loader/mips/linux.c (loongson_machtypes)
517 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
518 * grub-core/term/serial.c (loongson_defserial)
519 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
520 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
521 loongson_defserial.
522 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
523 Rename to ...
524 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
525 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
526 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
527 to IMAGE_FULOONG2F_FLASH. All users updated.
528 (image_targets): Rename images.
529 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
530
b526cbb6
SJ
5312011-08-19 Szymon Janc <szymon@janc.net.pl>
532
533 Make enable of disk cache statistics code configurable.
534
535 * configure.ac: --enable-cache-stats added.
536 * config.h.in (DISK_CACHE_STATS): New define.
537 * grub-core/Makefile.core.def (cacheinfo): New command.
538 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
539 * grub-core/commands/cacheinfo.c: New file.
540 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
541 moved to cacheinfo.c.
542 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
543 debug code.
544 * include/grub/disk.h: Likewise.
545
fb739ccd
SJ
5462011-08-19 Szymon Janc <szymon@janc.net.pl>
547
548 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
549 * grub-core/Makefile.am: Likewise.
550
2bba8cfd
VS
5512011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
552
553 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
554 non-zero pull.
555
43526629
VS
5562011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
557
558 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
559 All users updated.
560 (grub_jfs_lookup_symlink): Use correct starting inode.
561
5c144cc8
VS
5622011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
563
564 * util/grub-setup.c (main): Add missing gcry initialisation.
565
b1257f65
VS
5662011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
567
568 Don't accept text modes on EFI when booting Linux.
569
570 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
571 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
572
828bc390
ML
5732011-08-15 Mario Limonciello <mario_limonciello@dell.com>
5742011-08-15 Colin Watson <cjwatson@ubuntu.com>
575
576 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
577 use of "/path/.." as in grub-install for EFI as well as handling
578 symlinks correctly.
579 Fixes Debian bug #637768.
580
5f60ccac
CW
5812011-08-15 Colin Watson <cjwatson@ubuntu.com>
582
583 * util/grub-probe.c: Remove duplicate #include.
584
6dc212f9
RM
5852011-08-10 Robert Millan <rmh@gnu.org>
586
587 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
588
589 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
590 function.
591 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
592 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
593
66816d85
RM
5942011-08-03 Robert Millan <rmh@gnu.org>
595
596 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
597 la_array as packed.
598 Reported by: Zachary Bedell
599
20168fca
CW
6002011-07-26 Colin Watson <cjwatson@ubuntu.com>
601
602 * configure.ac: The Loongson port requires grub-mkfont due to its
603 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
604 be built.
605
303b6246
CW
6062011-07-26 Colin Watson <cjwatson@ubuntu.com>
607
608 * util/grub-install.in: Don't source grub-mkconfig_lib until after
609 processing arguments (otherwise help2man fails when GRUB has not yet
610 been installed).
611
6795300e
VS
6122011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
613
41aa28ea
VS
614 New script grub-mkstandalone.
615
616 * Makefile.util.def (grub-mkstandalone): New script.
617 * docs/man/grub-mkstandalone.h2m: New file.
618 * util/grub-mkstandalone.in: Likewise.
619
6202011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
621
622 Support ATA disks with 4K sectors.
6795300e
VS
623
624 * include/grub/ata.h (grub_ata): New member log_sector_size.
625 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
626 (grub_ata_identify): Read sector size.
627 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
628
92227597
VS
6292011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
630
631 * util/grub-install.in: Don't use uhci outside of x86.
632
c77069f5
VS
6332011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
634
635 * util/grub-mkrescue.in: Add missing quotes.
636
6372011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
b70e4cb0
VS
638
639 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
640 dereference.
641
583168a2
VS
6422011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
643
644 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
645
6be1c01f
VS
6462011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
647
648 * include/grub/video.h: add missing EXPORT_FUND on
649 grub_video_edid_checksum and grub_video_edid_preferred_mode.
650
a1167439
VS
6512011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
652
653 * include/grub/mips/kernel.h: Fix define conflict.
654
bf66054f
VS
6552011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
656
657 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
658 all four ways.
659
8fc4fa45
CW
6602011-07-21 Colin Watson <cjwatson@ubuntu.com>
661
662 Preferred resolution detection for VBE.
663
664 * grub-core/video/video.c (grub_video_edid_checksum): New function.
665 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
666 the Flat Panel extension, in line with the X.org VESA driver.
667 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
668 New function.
669 (grub_vbe_bios_get_ddc_capabilities): Likewise.
670 (grub_vbe_bios_read_edid): Likewise.
671 (grub_vbe_get_preferred_mode): Likewise.
672 (grub_video_vbe_setup): When the mode is "auto", try to get the
673 preferred mode from VBE, and use the largest mode that is no larger
674 than the preferred mode (some BIOSes expose a preferred mode that is
675 not in their mode list!). If this fails, fall back to 640x480 as a
676 safe conservative choice.
677 (grub_video_vbe_get_edid): New function.
678 (grub_video_vbe_adapter): Add get_edid.
679 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
680 (struct grub_video_adapter): Add get_edid.
681 (grub_video_edid_checksum): Add prototype.
682 (grub_video_edid_preferred_mode): Likewise.
683 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
684 structure.
685
686 * grub-core/commands/videoinfo.c (print_edid): New function.
687 (grub_cmd_videoinfo): Print EDID if available.
688
689 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
690 is more appropriate on a wider range of platforms than 640x480.
691 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
692 documentation.
693
ca5572a9
VS
6942011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
695
696 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
697
e4bcf625
VS
6982011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
699
700 * po/POTFILES.in: Regenerate.
701
c4edd548
VS
7022011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
703
704 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
705 incorrect memory usage.
706
16a2bab0
VS
7072011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
708
709 * util/grub-install.in: Source grub-mkconfig_lib.
710
2e418de6
VS
7112011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
712
713 Remove getroot.c from core on emu platform.
714
715 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
716 kern/emu/raid.c.
717 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
718 useless.
719 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
720 * util/getroot.c (get_win32_path): ... here.
721 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
722 * util/getroot.c (fini_libzfs): ... here.
723 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
724 * util/getroot.c (grub_get_libzfs_handle): ... here.
725 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
726 Moved from here...
727 * util/getroot.c (grub_find_zpool_from_dir): ... here.
728 * grub-core/kern/emu/misc.c
729 (grub_make_system_path_relative_to_its_root): Moved from here...
730 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
731 * grub-core/kern/emu/getroot.c: Moved from here ...
732 * util/getroot.c: ... here. All users updated.
733 * grub-core/kern/emu/raid.c: Moved from here ...
734 * util/raid.c: ... here. All users updated.
735
def9832a
VS
7362011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
737
738 * po/POTFILES.in: Regenerate.
739
cd8fe79a
VS
7402011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
741
742 Fix compilation on GNU/Linux.
743
744 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
745 Disable geli.
746 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
747 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
748 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
749
a251b719
VS
7502011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
7512011-07-07 Michael Gorven <michael@gorven.za.net>
7522011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
753
754 LUKS and GELI support.
755
756 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
757 grub-core/disk/luks.c, grub-core/disk/geli.c,
758 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
759 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
760 grub-core/lib/arg.c.
761 (libgrubmods.a): Remove gcrypts cflags and cppflags.
762 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
763 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
764 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
765 (grub-bin2h): Add libgcry.a.
766 (grub-mkimage): Likewise.
767 (grub-mkrelpath): Likewise.
768 (grub-script-check): Likewise.
769 (grub-editenv): Likewise.
770 (grub-mkpasswd-pbkdf2): Likewise.
771 (grub-pe2elf): Likewise.
772 (grub-fstest): Likewise.
773 (grub-mkfont): Likewise.
774 (grub-mkdevicemap): Likewise.
775 (grub-probe): Likewise.
776 (grub-ofpath): Likewise.
777 (grub-mklayout): Likewise.
778 (example_unit_test): Likewise.
779 (grub-menulst2cfg): Likewise.
780 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
781 * grub-core/Makefile.core.def (cryptodisk): New module.
782 (luks): Likewise.
783 (geli): Likewise.
784 * grub-core/disk/AFSplitter.c: New file.
785 * grub-core/disk/cryptodisk.c: Likewise.
786 * grub-core/disk/geli.c: Likewise.
787 * grub-core/disk/luks.c: Likewise.
788 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
789 grub_util_is_lvm.
790 (grub_util_get_dm_abstraction): New function.
791 (grub_util_follow_gpart_up): Likewise.
792 (grub_util_get_geom_abstraction): Likewise.
793 (grub_util_get_dev_abstraction): Use new functions.
794 (grub_util_pull_device): Pull GELI and LUKS.
795 (grub_util_get_grub_dev): Handle LUKS and GELI.
796 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
797 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
798 (follow_geom_up): Removed.
799 (grub_util_fd_seek): New function.
800 (open_device): Use grub_util_fd_seek.
801 (nread): Rename to ..
802 (grub_util_fd_read): ... this. All users updated.
803 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
804 (grub_crypto_cbc_decrypt): Likewise.
805 (grub_crypto_hmac_write): Likewise.
806 (grub_crypto_hmac_buffer): Likewise.
807 (grub_password_get): Extend to util.
808 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
809 New member modname.
810 (gcry_md_spec) [GRUB_UTIL]: Likewise.
811 * include/grub/cryptodisk.h: New file.
812 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
813 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
814 LUKS and GELI.
815 (grub_util_follow_gpart_up): New proto.
816 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
817 (grub_util_fd_read): Likewise.
818 (grub_cryptodisk_cheat_mount): Likewise.
819 (grub_util_cryptodisk_print_uuid): Likewise.
820 (grub_util_get_fd_sectors): Likewise.
821 * util/grub-fstest.c (mount_crypt): New var.
822 (fstest): Mount crypto if requested.
823 (options): New option -C.
824 (argp_parser): Parse -C.
825 (main): Init and fini gcry.
826 * util/grub-install.in: Support cryptodisk install.
827 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
828 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
829 cryptodisk.
830 (prepare_grub_to_access_device): Likewise.
831 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
832 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
833 (probe_cryptodisk_uuid): New function.
834 (probe_abstraction): Likewise.
835 (probe): Use new functions.
836 * util/import_gcry.py: Create Makefile.utilgcry.def.
837 Add modname member.
838
9bfdcbbc
VS
8392011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
840
841 Lazy device scanning.
842
843 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
844 (grub-setup): Remove util/raid.c.
845 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
846 * grub-core/disk/lvm.c (scan_depth): New variable.
847 (grub_lvm_iterate): Rescan if necessary.
848 (find_lv): New function based on grub_lvm_open.
849 (grub_lvm_open): Use find_lv. Rescan on error.
850 (is_node_readable): New function.
851 (is_lv_readable): Likewise.
852 (grub_lvm_scan_device): Skip already found disks.
853 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
854 Stop if searched device is found and readable.
855 * grub-core/disk/raid.c (inscnt): New variable.
856 (scan_depth): Likewise.
857 (scan_devices): New function based on grub_raid_register. Abort if
858 looked for device is found.
859 (grub_raid_iterate): Rescan if needed.
860 (find_array): NEw function based on -grub_raid_open.
861 (grub_raid_open): Use find_array and rescan.
862 (insert_array): Set became_readable_at.
863 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
864 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
865 New function.
866 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
867 (grub_util_pull_device): New function.
868 (grub_util_get_grub_dev): Call grub_util_pull_device.
869 * util/raid.c: Moved to ..
870 * grub-core/kern/emu/raid.c: ... here.
871 (grub_util_raid_getmembers): New parameter "bootable".
872 All users updated. Support 1.x.
873 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
874 All users updated.
875 * include/grub/disk.h (grub_disk_pull_t): New enum.
876 (grub_disk_dev): Change iterate prototype.
877 All users updated.
878 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
879 New proto.
880 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
881 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
882 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
883 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
884 All users updated.
885 * include/grub/util/raid.h: Removed.
886
1c358e59
VS
8872011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
888
889 * po/POTFILES.in: Regenerate.
890
abee94ed
VS
8912011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
892
893 Unify sparc init with other ieee1275.
894
895 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
896 instead of kern/sparc64/ieee1275/init.c.
897 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
898 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
899 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
900 grub/machine/kernel.h.
901 (grub_ieee1275_original_stack) [__sparc__]: New variable.
902 (grub_claim_heap) [__sparc__]: Use sparc version.
903 (grub_machine_init): Moved args parsing to
904 (grub_parse_cmdline): ...this.
905 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
906 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
907 New definition.
908 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
909
910 Move BOOTP to separate file.
911
912 * grub-core/Makefile.core.def (net): Add net/bootp.c.
913 * grub-core/net/net.c: Move all BOOTP functions to
914 * grub-core/net/bootp.c: ... here.
915
916 Use frame interface on PXE.
917
918 * grub-core/Makefile.core.def (pxecmd): Removed.
919 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
920 * grub-core/commands/i386/pc/pxecmd.c: Removed.
921 * grub-core/i386/pc/pxe.c: Moved from here ...
922 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
923 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
924 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
925
926 EFI network support.
927
928 * grub-core/Makefile.core.def (efinet): New module.
929 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
930 here...
931 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
932 All users updated.
933 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
934 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
935 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
936 * grub-core/net/drivers/efi/efinet.c: New file.
937 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
938 (grub_efi_net_config): New extern var.
939
940 Various cleanups and bugfixes.
941
942 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
943 error.
944 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
945 disk declared as partition.
946 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
947 leak on failure.
948 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
949 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
950 (grub_debug_zalloc): Likewise.
951 (grub_debug_realloc): Likewise.
952 (grub_debug_memalign): Likewise.
953 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
954 Check that target is IPv4.
955 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
956 local-mac-address as fallback.
957 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
958 memory leak.
959 * grub-core/net/ip.c (ipchksum): Rename to ...
960 (grub_net_ip_chksum): ... this. All users updated.
961 (grub_net_recv_ip_packets): Special handling for DHCP.
962 * util/grub-mkimage.c (generate_image): Zero-out aout header.
963
964 Unify prefix handling
965
966 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
967 (grub_machine_get_bootlocation): ... this.
968 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
969 (grub_machine_get_bootlocation): ... this.
970 (grub_prefix): New variable.
971 (prefix): Removed.
972 (root_dev): New variable.
973 (dir): Likewise.
974 (main): Use new variables.
975 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
976 Revamped into ...
977 (grub_machine_get_bootlocation): ... this.
978 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
979 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
980 (grub_machine_get_bootlocation): ... this.
981 (grub_machine_set_prefix): Removed.
982 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
983 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
984 Revamped into ...
985 (grub_machine_get_bootlocation): ... this.
986 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
987 (grub_set_prefix_and_root): ... this. All users updated.
988 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
989 Revamped into ...
990 (grub_machine_get_bootlocation): ... this.
991 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
992 (grub_machine_get_bootlocation): New proto.
993 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
994
995 Less intrusive and more reliable seek on network implementation.
996
997 * grub-core/kern/file.c (grub_file_net_seek): Removed.
998 (grub_file_seek): Don't call grub_file_net_seek.
999 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
1000 (grub_net_fs_read_real): .. this.
1001 (grub_net_seek_real): Use net->offset.
1002 (grub_net_fs_read): Seek if necessary.
1003
1004 Unify IEEE1275 netwotk config with the other platforms.
1005
1006 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
1007 New variable.
1008 (grub_machine_get_bootlocation): Support network.
1009 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
1010 Support type and device parsing.
1011 (grub_ieee1275_get_device_type): New function.
1012 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
1013 into ...
1014 (grub_ieee1275_net_config_real): ... this.
1015 (grub_ofnet_probecards): Removed.
1016 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
1017 * include/grub/ieee1275/ofnet.h: Removed.
1018 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
1019 extern var.
1020 (grub_ieee1275_get_device_type): New function.
1021
1022 Unify network device closing across platforms and make more robust.
1023
1024 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
1025 grub_grubnet_fini.
1026 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
1027 already.
1028 * grub-core/net/net.c (grub_net_network_level_interface_register):
1029 Update num_ifaces.
1030 (grub_net_card_unregister): Close all interfaces.
1031 (receive_packets): Don't poll if no iterfaces are registered.
1032 Open if necessary.
1033 (grub_net_fini_hw): New function.
1034 (grub_net_restore_hw): Likewise.
1035 (fini_hnd): New variable.
1036 (GRUB_MOD_INIT): Register preboot hook.
1037 (GRUB_MOD_FINI): Run and unregister preboot hook.
1038
1039 Poll network cards when idle.
1040
1041 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
1042 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
1043 * grub-core/net/net.c (receive_packets): Save last poll time.
1044 (grub_net_poll_cards_idle_real): New function.
1045 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
1046 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
1047 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
1048
1049 Rename ofnet interfaces.
1050
1051 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
1052 (grub_ofnet_findcards): Use ofnet_%s names.
1053
1054 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
1055
1056 Cleanup socket opening.
1057
1058 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
1059 (grub_net_fs_close): Likewise.
1060 (grub_net_fs_read_real): Use eof member.
1061 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
1062 (+grub_net_udp_close): New inline function.
1063
1064 * include/grub/net/tftp.h: Moved to the top of ...
1065 * grub-core/net/tftp.c: ... here.
1066 * include/grub/net/ip.h: Moved mostly to the top of ...
1067 * grub-core/net/ip.c: ... here.
1068 * include/grub/net/ethernet.h: Moved mostly to the top of ...
1069 * grub-core/net/ethernet.c: ... here.
1070
1071 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
1072
1073 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
1074 FS name.
1075
1076 * include/grub/net/ip.h (ipv4_ini): Removed.
1077 (ipv4_fini): Likewise.
1078
1079 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
1080 (grub_net_send_ip_packets): Likewise.
1081
cf1337aa
VS
10822011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
1083
1084 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
1085 grub_read_cmos prototype.
1086
93c06ff9
VS
10872011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
1088
1089 VGA text support in qemu-mips
1090
1091 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
1092 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
1093 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
1094 text.
1095 * grub-core/kern/i386/qemu/init.c: Renamed to ...
1096 * grub-core/kern/vga_init.c: ... this.
1097 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
1098 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
1099 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
1100 Adjust.
1101 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
1102 GRUB_MACHINE_PCI_IO_BASE.
1103
748ccabe
VS
11042011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
1105
1106 MIPS qemu flash support.
1107
1108 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
1109 magic.
1110 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
1111 (grub_machine_init): Probe memory if its size isn't known.
1112 * util/grub-mkimage.c (image_targets): Add flash targets.
1113 (generate_image): Handle flash targets.
1114
d7345994
VS
11152011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
1116
1117 MIPS qemu at_keyboard support.
1118
1119 * gentpl.py (videoinkernel): Add qemu-mips.
1120 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
1121 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
1122 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
1123 modules.
1124 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
1125 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
1126 * grub-core/term/serial.c (grub_serial_register)
1127 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
1128
a07a81b3
VS
11292011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
1130
1131 CMOS support on sparc.
1132
1133 * gentpl.py (cmos): Add powerpc and sparc.
1134 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
1135 powerpc and sparc.
1136 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
1137 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
1138 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
1139 grub_set_datetime_cmos.
1140 * grub-core/lib/ieee1275/cmos.c: New file.
1141 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
1142 (find_rtc): Set no_ieee1275_rtc on error.
1143 (grub_get_datetime): Call grub_get_datetime_cmos on error.
1144 (grub_set_datetime): Call grub_set_datetime_cmos on error.
1145 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
1146 fail. Move value to argument. All users updated
1147 (grub_cmos_write): Likewise.
1148 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
1149 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
1150 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
1151 grub_get_datetime_cmos and grub_set_datetime_cmos.
1152
77546584
GS
11532011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
1154
1155 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
1156 sourcing grub-mkconfig_lib.
1157 * util/update-grub_lib.in: Likewise.
1158 * util/grub.d/00_header.in: Likewise.
1159 * util/grub.d/10_hurd.in: Likewise.
1160 * util/grub.d/10_kfreebsd.in: Likewise.
1161 * util/grub.d/10_linux.in: Likewise.
1162 * util/grub.d/10_netbsd.in: Likewise.
1163 * util/grub.d/10_windows.in: Likewise.
1164 * util/grub.d/20_linux_xen.in: Likewise.
1165 * util/grub.d/30_os-prober.in: Likewise.
1166
54894791
CW
11672011-06-28 Colin Watson <cjwatson@ubuntu.com>
1168
1169 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
1170 default_bg_color rather than black.
1171 (grub_gfxterm_fullscreen): Likewise.
1172 (grub_gfxterm_background_color_cmd): Save new background color in
1173 default_bg_color.
1174
8d5d8444
VS
11752011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
1176
1177 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
1178
5afeb5bd
VS
11792011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
1180
1181 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
1182 mismerge.
1183
ba7df45e
VS
11842011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
1185
1186 Chainloading on coreboot support.
1187
1188 * grub-core/Makefile.core.def (chain): Add coreboot.
1189 * grub-core/loader/i386/coreboot/chainloader.c: New file.
1190
d0b526b2
VS
11912011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
1192
1193 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
1194 if it happens.
1195
5ff1d945
VS
11962011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
1197
1198 Implement time command.
1199
1200 * grub-core/Makefile.core.def (time): New module.
1201 * grub-core/commands/time.c: New file.
1202 * grub-core/script/parser.y: Remove "time" keyword.
1203 * grub-core/script/yylex.l: Likewise.
1204
5ebaad7e
VS
12052011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
1206
1207 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
1208
bdea3798
VS
12092011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
1210
1211 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
1212 when handling leftovers.
1213
b28c5655
VS
12142011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
1215
1216 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
1217 so that help2man doesn't fail.
1218
b6f945dc
VS
12192011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
1220
1221 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
1222 type in pointers on sparc64.
1223 (get_card_packet): Likewise.
1224
f9b75e8a
CW
12252011-06-27 Colin Watson <cjwatson@ubuntu.com>
1226
1227 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
1228 with `*'.
1229 (grub_cmd_videoinfo): Fetch current video mode.
1230
1e3d9b86
VS
12312011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
1232
1233 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
1234 because of underlying system restrictions.
1235
efff4b1c
VS
12362011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
1237
1238 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
1239 necessary.
1240
9fc9ce37
VS
12412011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
1242
1243 Coreboot video support.
1244
1245 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
1246 (vbe): Likewise.
1247 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
1248 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
1249 here ...
1250 * grub-core/kern/i386/int.S: ... here.
1251 * grub-core/video/i386/pc/vbe.c: Updated includes.
1252 * grub-core/video/i386/pc/vga.c: Likewise.
1253 * include/grub/i386/coreboot/memory.h
1254 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
1255 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
1256 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
1257 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
1258 Disable interrupts.
1259 * include/grub/i386/pc/vga.h: Removed. All users updated.
1260
41bec7fe
VS
12612011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
1262
1263 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
1264 definitions for dprintf.
1265 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
1266
ca80309d
VS
12672011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
1268
1269 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
1270 prototype.
1271 (get_card_packet): Likewise.
1272
9e322ce8
YB
12732011-06-26 Yves Blusseau <blusseau@zetam.org>
1274
1275 Display the path of the file when file is not found
1276
1277 * grub-core/fs/fat.c: Display the filename when file is not found.
1278 * grub-core/fs/fshelp.c: Likewise.
1279 * grub-core/fs/hfs.c: Likewise.
1280 * grub-core/fs/jfs.c: Likewise.
1281 * grub-core/fs/minix.c: Likewise.
1282 * grub-core/fs/ufs.c: Likewise.
1283 * grub-core/fs/btrfs.c: Likewise.
1284 * grub-core/commands/i386/pc/play.c: Likewise.
1285
cbf597af
SJ
12862011-06-26 Szymon Janc <szymon@janc.net.pl>
1287
1288 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
1289 pointer checks before calling grub_free().
1290 * grub-core/commands/wildcard.c (match_devices): Likewise.
1291 * grub-core/commands/wildcard.c (match_files): Likewise.
1292 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
1293 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
1294 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
1295 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
1296 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
1297 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
1298 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
1299 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
1300 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
1301
6295b32f
P
13022011-06-25 Patrick <p55@mailinator.com>
1303
1304 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
1305
77c0840b
VS
13062011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
1307
1308 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
1309 (grub_pxe_send): Likewise.
1310 (GRUB_MOD_INIT): Fix types.
1311
40ea05de
SJ
13122011-06-24 Szymon Janc <szymon@janc.net.pl>
1313
1314 * grub-core/io/xzio.c: Fix code style issues
1315
90162423
MRA
13162011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
13172011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
423a1849
MRA
1318
1319 Network infrastructure.
1320 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
1321
1322 * include/grub/net/arp.h: New file.
90162423
MRA
1323 * include/grub/net/device.h: Likewise.
1324 * include/grub/net/ethernet.h: Likewise.
1325 * include/grub/net/ip.h: Likewise.
1326 * include/grub/net/netbuff.h: Likewise.
1327 * include/grub/net/tftp.h: Likewise.
1328 * include/grub/net/udp.h: Likewise.
1329 * include/grub/ieee1275/ofnet.h: Likewise.
1330 * include/grub/emu/export.h: Likewise.
1331 * include/grub/net.h: Likewise.
1332 * grub-core/net/arp.c: Likewise.
1333 * grub-core/net/ethernet.c: Likewise.
1334 * grub-core/net/ip.c: Likewise.
1335 * grub-core/net/udp.c: Likewise.
1336 * grub-core/net/tftp.c: Likewise.
1337 * grub-core/net/netbuff.c: Likewise.
1338 * grub-core/net/net.c: Likewise.
1339 * grub-core/net/drivers/emu/emunet.c: Likewise.
1340 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
1341 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
1342 export.h.
1343 * grub-core/Makefile.core.def (net): New module.
1344 (tftp): Likewise.
1345 (ofnet): Likewise.
1346 (emunet): Likewise.
1347 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
1348 network protocols.
1349 * grub-core/kern/device.c (grub_net_open) : New variable.
1350 (grub_device_open): Handle network device.
1351 (grub_device_close): Likewise.
1352 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
1353 (grub_grubnet_fini): Likewise.
1354 (grub_file_seek): Seek in network device.
1355 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
1356 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
1357 network root.
1358 (grub_machine_fini): Call grub_grubnet_fini.
1359 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
1360 network.
1361 (grub_ieee1275_get_aliasdevname): New function.
1362 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
1363 Add unofficial Solaris network info.
1364 (grub_multiboot_make_mbi): Likewise.
1365 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
1366 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
1367 * include/grub/device.h (grub_fs): Removed.
1368 * include/grub/err.h (grub_err_t): Add network-related values.
1369 * include/grub/i386/pc/pxe.h: Removed bootp parts.
1370 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
1371 (grub_ieee1275_get_aliasdevname): New proto.
1372 * include/grub/net.h: Rewritten.
423a1849 1373
031f22a0
VS
13742011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
1375
1376 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
1377 names.
1378
4388ca72
VS
13792011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
1380
1381 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
1382 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
1383 it truncates the output.
1384 Reported by: Ximin Luo.
1385
98e2f506
VS
13862011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
1387
1388 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
1389
2a5e94d8
VS
13902011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
1391
1392 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
1393 partmap before abstraction.
1394
535c1910
AK
13952011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
1396
1397 * util/grub-mkconfig_lib.in: Add missing quotes.
1398
bc09e1a2
VS
13992011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
1400
1401 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
1402 old method if mountinfo would return /dev/root and /dev/root doesn't
1403 exist.
1404
290766fb
VS
14052011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
1406
1407 ZFS zlib support
1408
1409 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
1410 (decomp_table): Add zlib entries.
1411 (zio_read): USe 8 bits for compression function rather than 3.
1412 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
1413
14142011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
1415
1416 * grub-core/disk/ahci.c: Add missing license statements.
1417 * grub-core/fs/romfs.c: Likewise.
1418 * grub-core/lib/ia64/setjmp.S: Likewise.
1419 * grub-core/loader/i386/pc/freedos.c: Likewise.
1420 * grub-core/loader/ia64/efi/linux.c: Likewise.
1421 * grub-core/video/colors.c: Likewise.
1422 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
1423
5ab3f48a
VS
14242011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
1425
1426 AHCI support.
1427
1428 * grub-core/Makefile.core.def (ata_pthru): Removed.
1429 (ahci): New module.
1430 (pata): Likewise.
1431 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
1432 on unload.
1433 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
1434 readwrite.
1435 (grub_hdparm_do_check_powermode_cmd): Likewise.
1436 (grub_hdparm_do_smart_cmd): Likewise.
1437 (grub_hdparm_set_val_cmd): Likewise.
1438 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
1439 * grub-core/disk/ahci.c: New file.
1440 * grub-core/disk/ata.c: Factor out the low-level part into ...
1441 * grub-core/disk/pata.c: ... here.
1442 * grub-core/disk/ata_pthru.c: Contents moved to ...
1443 * grub-core/disk/pata.c: ... here.
1444 * grub-core/disk/scsi.c (grub_scsi_names): New array.
1445 (grub_scsi_iterate): Use grub_scsi_names.
1446 (grub_scsi_open): Likewise.
1447 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
1448 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
1449 (grub_ata_regs_t): New struct.
1450 (grub_disk_ata_pass_through_parms): Likewise.
1451 (grub_ata_device): Renamed to ...
1452 (grub_ata): ... this.
1453 (grub_ata_dev): New struct.
1454 Removed all low-level inline functions.
1455 * include/grub/scsi.h: Add PATA and AHCI subsystems.
1456 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
1457 iterate hooks and open. All users updated.
1458 * util/grub-install.in: Handle AHCI disk module.
1459
c31dc5f5
SJ
14602011-06-23 Szymon Janc <szymon@janc.net.pl>
1461
1462 Add support for DRI and RSTn markers in JPEG files.
1463
1464 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
1465 (JPEG_MARKER_RST0): Likewise.
1466 (JPEG_MARKER_RST1): Likewise.
1467 (JPEG_MARKER_RST2): Likewise.
1468 (JPEG_MARKER_RST3): Likewise.
1469 (JPEG_MARKER_RST4): Likewise.
1470 (JPEG_MARKER_RST5): Likewise.
1471 (JPEG_MARKER_RST6): Likewise.
1472 (JPEG_MARKER_RST7): Likewise.
1473 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
1474 (grub_jpeg_decode_dri): New function.
1475 (grub_jpeg_decode_sos): Move image data related part into
1476 grub_jpeg_decode_data function.
1477 (grub_jpeg_decode_data): New function.
1478 (grub_jpeg_reset): New function.
1479 (grub_jpeg_decode_jpeg): Handle new markers.
1480
fe12fd5b
VS
14812011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
1482
1483 * util/ieee1275/ofpath.c (check_sas): Close fd.
1484 (main): Free of_path.
1485 Reported by: David Volgyes <dvolgyes>.
1486
03147f46
VS
14872011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
1488
1489 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
1490 Reported by: David Volgyes <dvolgyes>.
1491
cad3237f
VS
14922011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
1493
1494 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
1495 file after stat.
1496 Reported by: David Volgyes <dvolgyes>.
1497
13548d26
VS
14982011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
1499
1500 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
1501
1502 Reported by: David Volgyes <dvolgyes>.
1503
e061a1b5
VS
15042011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
1505
1506 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
1507 Prevent memory leak.
1508
1abe47dc
VS
15092011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
1510
1511 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
1512 (main): Close file.
e061a1b5 1513 Reported by: David Volgyes <dvolgyes>.
1abe47dc 1514
fbc62666
VS
15152011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
1516
1517 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
1518 to continue if allocation is failed.
1519
1520 Reported by: David Volgyes <dvolgyes>.
1521
e98c83e9
DV
15222011-06-23 David Volgyes <dvolgyes>
1523
1524 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
1525 dereference.
1526
a199a8cd
VS
15272011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
1528
1529 Fix spurious warning.
1530
1531 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
1532 (acorn_partition_map_find): Use .bin member.
1533
e2d1dba0
VS
15342011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
1535
1536 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
1537 /dev/root as a valid device.
1538
8a5d6919
JM
15392011-06-23 Jim Meyering <meyering@redhat.com>
1540
e2d1dba0
VS
1541 Avoid NULL deref in grub_device_open.
1542
8a5d6919
JM
1543 * grub-core/kern/device.c (grub_device_open): Don't dereference
1544 a NULL pointer upon failed grub_env_get.
1545
f7db6f4a
VS
15462011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
1547
1548 Support non-512B sectors and agglomerate reads.
1549
1550 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
1551 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
1552 (disk_io_guid): Removed.
1553 (make_devices): Locate solely by BlockIO.
1554 (grub_efidisk_open): Fill log_sector_size and total_sectors.
1555 (grub_efidisk_read): Use read_blocks.
1556 (grub_efidisk_write): Use write_blocks.
1557 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
1558 log_sector_size.
1559 (get_safe_sectors): Handle non-512B sectors.
1560 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
1561 sectors.
1562 (grub_biosdisk_write): Handle non-512B sectors.
1563 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
1564 (grub_scsi_read): Remove special non-512B block handling (now handled
1565 one level up).
1566 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
1567 and do sanity checks.
1568 (grub_disk_adjust_range): Handle non-512B sectors.
1569 (transform_sector): New function.
1570 (grub_disk_read_small): Likewise.
1571 (grub_disk_read): Rewritten.
1572 (grub_disk_write): Handle non-512B sectors.
1573 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
1574 log_sector_size.
1575 (open_device): Use log_sector_size.
1576 (grub_util_biosdisk_read): Likewise.
1577 (grub_util_biosdisk_write): Likewise.
1578 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
1579 non-512B sectors.
1580 (pc_partition_map_embed): Likewise.
1581 * include/grub/disk.h (grub_disk): New field log_sector_size.
1582 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
1583 (GRUB_DISK_CACHE_BITS): Increased to 6.
1584 * util/grub-fstest.c (fstest): New command testload.
1585 (argp_parser): Likewise.
1586
881ac815
RM
15872011-06-16 Robert Millan <rmh@gnu.org>
1588
1589 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
1590 `ata' driver on kernel of FreeBSD 9.
1591
1592 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
1593 (get_ataraid_disk_name): New functions.
1594 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
1595 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
1596 get_ataraid_disk_name() and get_ada_disk_name().
1597
1e9aef7d
CW
15982011-06-13 Colin Watson <cjwatson@ubuntu.com>
1599
1600 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
1601 input format.
1602
351c7c8a
CW
16032011-05-29 Colin Watson <cjwatson@ubuntu.com>
1604
1605 * docs/grub.texi (Obtaining and Building GRUB): Substitute
1606 `ftp.gnu.org' for `alpha.gnu.org'.
1607
6b4e6430
CW
16082011-05-27 Colin Watson <cjwatson@ubuntu.com>
1609
1610 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
1611 partitions under /dev/disk/by-id/.
1612
c64db050
CW
16132011-05-27 Colin Watson <cjwatson@ubuntu.com>
1614
1615 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
1616 after ten consecutive open failures. Scanning all the way up to
1617 10000 is excessive and can cause serious performance problems in
1618 some configurations.
1619 Fixes Ubuntu bug #787461.
1620
245f4aba
VS
16212011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
1622
1623 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
1624 opening new one.
1625
f767c929
VS
16262011-05-21 Colin Watson <cjwatson@ubuntu.com>
16272011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
1628
1629 Don't stat devices unless we have to.
1630
1631 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
1632 dir == /dev/mapper.
1633 (grub_guess_root_device): Use already known os_dev if possible.
1634 * grub-core/kern/emu/hostdisk.c
1635 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
1636 if device is known to be a dm one.
1637
f35fa3a6
CW
16382011-05-20 Colin Watson <cjwatson@ubuntu.com>
1639
1640 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
1641 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
1642 Reported by: Pawel Tecza.
1643
9a79fcf2
VS
16442011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
1645
1646 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
1647 (lsefisystab): Likewise.
1648 (lssal): Likewise.
1649 (lsefimmap): Likewise.
1650 (hdparm): Enable on qemu-mips.
1651 (setjmp): Add ia64 nodist.
1652 (serial): Simplify tags.
1653
63e3eea9
CW
16542011-05-18 Colin Watson <cjwatson@ubuntu.com>
1655
1656 * Makefile.util.def (grub-ofpathname): Install manual page.
1657
09728256
CW
16582011-05-18 Colin Watson <cjwatson@ubuntu.com>
1659
1660 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
1661
8b63a142
CW
16622011-05-18 Colin Watson <cjwatson@ubuntu.com>
1663
1664 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
1665
e775d8ed
VS
16662011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
1667
1668 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
1669 into dprintf.
1670
bf947d36
VS
16712011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
1672
1673 Use full 64-bit division.
1674
1675 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
1676 (grub_divmod64): ... this.
1677 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
1678 version.
1679
b84f26c5
CW
16802011-05-18 Colin Watson <cjwatson@ubuntu.com>
1681
1682 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
1683 `source'.
1684
5626056f
CW
16852011-05-18 Colin Watson <cjwatson@ubuntu.com>
1686
1687 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
1688 to avoid accidents when debugging with 'sh -x'.
1689 * grub-core/gensyminfo.sh.in: Likewise.
1690 * tests/example_scripted_test.in: Likewise.
1691 * tests/grub_cmd_regexp.in: Likewise.
1692 * tests/grub_script_blanklines.in: Likewise.
1693 * tests/grub_script_dollar.in: Likewise.
1694 * tests/grub_script_expansion.in: Likewise.
1695 * tests/grub_script_final_semicolon.in: Likewise.
1696 * tests/partmap_test.in: Likewise.
1697 * tests/util/grub-shell-tester.in: Likewise.
1698 * tests/util/grub-shell.in: Likewise.
1699
e2965f4a
CW
17002011-05-18 Colin Watson <cjwatson@ubuntu.com>
1701
1702 Move gfxmenu color handling to video, so that gfxterm can use it
1703 too.
1704
1705 * grub-core/gfxmenu/named_colors.c: Move to ...
1706 * grub-core/video/colors.c: ... here. Rename
1707 grub_gui_get_named_color to grub_video_get_named_color.
1708 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
1709 * grub-core/video/colors.c (my_isxdigit): ... here.
1710 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
1711 Move to ...
1712 * grub-core/video/colors.c (parse_hex_color_component): ... here.
1713 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
1714 to ...
1715 * grub-core/video/colors.c (grub_video_parse_color): ... here.
1716
1717 * include/grub/gui.h (grub_gui_color_t): Move to ...
1718 * include/grub/video.h (grub_video_rgba_color_t): ... here.
1719 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
1720 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
1721 * include/grub/gui.h (grub_gui_map_color): Move to ...
1722 * include/grub/video.h (grub_video_map_rgba_color): ... here.
1723 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
1724 to ...
1725 * include/grub/video.h (grub_video_get_named_color): ... here.
1726 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
1727 * include/grub/video.h (grub_video_parse_color): ... here.
1728
1729 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
1730 video/colors.c.
1731 (gfxmenu): Remove gfxmenu/named_colors.c.
1732 (video) [videomodules]: Add video/colors.c.
1733
1734 Add a background_color command.
1735
1736 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
1737 function.
1738 (GRUB_MOD_INIT): Register background_color command.
1739 (GRUB_MOD_FINI): Unregister background_color command.
1740 (redraw_screen_rect): Allow blend/replace of text layer to be
1741 controlled independently from whether there is a background bitmap.
1742 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
1743 changing bitmap.
1744
1e4b4390
VS
17452011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
1746
26618ff0
VS
1747 Patch BPB in ntldr and chainloader --bpb.
1748
1e4b4390
VS
1749 * grub-core/fs/fat.c: Include grub/fat.h.
1750 (grub_fat_bpb): Moved to ...
1751 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
1752 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
1753 grub/ntfs.h.
1754 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
1755 Moved from here...
1756 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
1757 here.
1758 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
1759 New function.
1760 (grub_chainloader_cmd): Patch BPB if --bpb is given.
1761 (GRUB_MOD_INIT): Show --bpb.
1762 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
1763 * grub-core/normal/main.c (features): New variable.
1764 (GRUB_MOD_INIT): Set feature_* variables.
1765 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
1766 proto.
1767 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
1768
cf02731e
VS
17692011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
1770
1771 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
1772 for cleanness.
1773
e3a1073f
VS
17742011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
1775
1776 FreeDOS direct loading support.
1777
1778 * docs/grub.texi (Supported OS): Add FreeDOS.
1779 * grub-core/Makefile.core.def (freedos): New module.
1780 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
1781 variable.
1782 (grub_relocator16_boot): Handle %ebx.
1783 * grub-core/lib/i386/relocator16.S: Likewise.
1784 * grub-core/loader/i386/pc/freedos.c: New file.
1785
05caa461
VS
17862011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
1787
1788 Long Linux command line support.
1789
1790 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
1791 (maximal_cmdline_size): New variable.
1792 (allocate_pages): Use maximal_cmdline_size.
1793 (grub_cmd_linux): Set and use maximal_cmdline_size.
1794 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
1795 (allocate_pages): Use maximal_cmdline_size.
1796 (grub_cmd_linux): Set and use maximal_cmdline_size.
1797 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
1798 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
1799 and cmdline_size.
1800
a2491e23
VS
18012011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
18022011-05-18 Colin Watson <cjwatson@ubuntu.com>
1803
1804 Improve devmapper support
1805
1806 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
1807 (grub_util_is_lvm): New function.
1808 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
1809 than lvm if not dmraid.
1810 Handle mapped md nodes.
1811 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
1812 (grub_util_device_is_mapped): ... this. Make always available. All users
1813 updated.
1814 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
1815 (convert_system_partition_to_system_disk): Handle lvm, mpath and
1816 dmraid nodes.
1817 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
1818
6ad6223e
VS
18192011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
1820
1821 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
1822
1823 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
1824 * grub-core/modinfo.sh.in: New file.
1825 * grub-core/Makefile.core.def (modinfo.sh): New script.
1826 * util/grub-mknetdir.in: Use modinfo.sh.
1827 * util/grub-mkrescue.in: Likewise.
1828
543a8f6e
VS
18292011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
1830
1831 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
1832 Fix potential usage of Elf32 instead of Elf64 when compiling on
1833 32-bit architecture. Add endianness macros while on it.
1834
4959e111
VS
18352011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
1836
1837 Use mipsel- rather than mips- in directories involving mipsel ports to
1838 allow both endiannesses coexist.
1839
1840 * configure.ac: proparate target_cpu=mipsel rather than resetting to
1841 mips. All conditions adjusted.
1842 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
1843 variable.
1844 * util/grub-install.in: Adjust conditions to take renaming into account.
1845 * util/grub-mkimage.c (image_targets): Likewise. New target
1846 mips-qemu_mips-elf for bigendian mips.
1847
35341bbc
VS
18482011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
1849
1850 Avoid unnecessary copying on MIPS.
1851
1852 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
1853 early if src == dest.
1854 * util/grub-mkimage.c (generate_image): Arange for src == dest if
1855 compression is none.
1856
b772baed
VS
18572011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
1858
1859 Reduce memory footprint on SGI by putting modules before the kernel
1860 as opposed to after.
1861
1862 * grub-core/Makefile.core.def (kernel): Increase linking address.
1863 (none_decompress): Likewise.
1864 (xz_decompress): Likewise.
1865 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
1866 address.
1867 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
1868 layout change.
1869 (grub_arch_modules_addr): New function.
1870 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
1871 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
1872 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
1873 here.
1874 * grub-core/kern/mips/startup.S (total_size): Rename to ...
1875 (grub_total_modules_size): ... this. Make global.
1876 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
1877 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
1878 New definition.
1879 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
1880 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
1881 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
1882 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
1883 * util/grub-mkimage.c (image_target_desc): New flag
1884 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
1885 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
1886 (generate_image): Handle images with modules before kernel.
1887
566a1917
VS
18882011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
1889
1890 Prevent potential loss of memory map by overwrite on qemu-mips.
1891
1892 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
1893 Save ram size in $s4.
1894 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
1895 All users changed to grub_arch_memsize.
1896 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
1897 Loongson.
1898 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
1899 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
1900 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
1901 external variable.
1902
5d420cd9
CW
19032011-05-17 Colin Watson <cjwatson@ubuntu.com>
1904
1905 * .bzrignore: Remove grub-dumpbios.
1906
d064b830
CW
19072011-05-17 Colin Watson <cjwatson@ubuntu.com>
1908
1909 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
1910 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
1911 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
1912 existing options which append).
1913 * docs/grub.texi (Simple configuration): Document new options.
1914 Reported by: Ian Jackson. Fixes Debian bug #617538.
1915
3ca2b466
CW
19162011-05-17 Colin Watson <cjwatson@ubuntu.com>
1917
1918 * util/grub-fstest.c (cmd_cat): New function.
1919 (fstest): Handle CMD_CAT.
1920 (options): Add cat.
1921 (argp_parser): Handle cat.
1922
24c9143a
CW
19232011-05-17 Colin Watson <cjwatson@ubuntu.com>
1924
1925 * Makefile.util.def (grub-bin2h): Don't install.
1926 * docs/man/grub-bin2h.h2m: Remove.
1927
90f7ac19
VS
19282011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
1929
1930 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
1931 place.
1932
8d4a5178
VS
19332011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
1934
1935 Reenable qemu-mips port.
1936
1937 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
1938 Fix small arc bug while on it.
1939 * gentpl.py: Handle qemu_mips.
1940 * grub-core/Makefile.am: Likewise.
1941 * grub-core/Makefile.core.def: Likewise.
1942 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
1943 inappropriate includes.
1944 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
1945 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
1946 * grub-core/kern/main.c (grub_modules_get_end)
1947 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
1948 * grub-core/kern/mips/qemu-mips: Moved to ..
1949 * grub-core/kern/mips/qemu_mips: ... this.
1950 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
1951 (grub_machine_init): Call terminfo_init and serial_init.
1952 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
1953 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
1954 New variable.
1955 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
1956 parameter passing.
1957 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
1958 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
1959 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
1960 * include/grub/mips/qemu_mips/cmos.h: New file.
1961 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
1962 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
1963 Removed.
1964 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
1965 Use correct mips-style address.
1966 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
1967 (GRUB_TICKS_PER_SECOND): Removed.
1968 (grub_get_rtc): Likewise.
1969 (grub_cpu_idle): Likewise.
1970 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
1971 New definition.
1972 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
1973 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
1974 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
1975 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
1976 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
1977 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
1978 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
1979 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
1980
400b9371
VS
19812011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
1982
1983 SGI ARCS port.
1984
1985 * Makefile.util.def (libgrubmods.a): Add dvh.c.
1986 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
1987 platforms.
1988 * configure.ac: New target mips-arc.
1989 * gentpl.py: Likewise.
1990 * grub-core/Makefile.am: Likewise.
1991 * grub-core/Makefile.core.def: Likewise.
1992 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
1993 (none_decompress): Likewise.
1994 (lsdev): New module.
1995 (datetime): Use lib/arc/datetime.c on ARC.
1996 (part_dvh): New module.
1997 * grub-core/commands/arc/lsdev.c: New file.
1998 * grub-core/disk/arc/arcdisk.c: Likewise.
1999 * grub-core/kern/mips/arc/init.c: Likewise.
2000 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
2001 aligned addresses.
2002 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
2003 support.
2004 (grub_arch_dl_relocate_symbols): Likewise.
2005 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
2006 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
2007 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
2008 platforms.
2009 * grub-core/lib/arc/datetime.c: New file.
2010 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
2011 pci.h on non-loongson.
2012 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
2013 (grub_linux_boot): Set unused registers to 0.
2014 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
2015 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
2016 * grub-core/mmap/mips/uppermem.c: ...here.
2017 * grub-core/partmap/dvh.c: New file.
2018 * grub-core/term/arc/console.c: Likewise.
2019 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
2020 (grub_terminfo_set_current): Add terminal "arc".
2021 (grub_terminfo_readkey): Support ARC sequences.
2022 * include/grub/arc/arc.h: New file.
2023 * include/grub/arc/console.h: Likewise.
2024 * include/grub/disk.h (grub_disk_dev_id): Add
2025 GRUB_DISK_DEVICE_ARCDISK_ID.
2026 * include/grub/mips/arc/kernel.h: New file.
2027 * include/grub/mips/arc/memory.h: Likewise.
2028 * include/grub/mips/arc/time.h: Likewise.
2029 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
2030 * include/grub/mips/kernel.h (grub_halt): ... here.
2031 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
2032 here...
2033 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
2034 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
2035 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
2036 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
2037 proto.
2038 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
2039 from here ...
2040 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
2041 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
2042 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
2043 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
2044 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
2045 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
2046 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
2047 (grub_phys_addr_t): Moved from here ...
2048 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
2049 (grub_vtop): Moved from here ...
2050 * include/grub/mips/memory.h (grub_vtop): ... here.
2051 (grub_map_memory): Moved from here ...
2052 * include/grub/mips/memory.h (grub_map_memory): ... here.
2053 (grub_unmap_memory): Moved from here ...
2054 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
2055 (grub_machine_mmap_iterate): Moved from here ...
2056 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
2057 (grub_mmap_get_lower): Moved from here ...
2058 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
2059 (grub_mmap_get_upper): Moved from here ...
2060 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
2061 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
2062 here ...
2063 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
2064 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
2065 here ...
2066 * include/grub/mips/time.h (grub_get_rtc): ... here.
2067 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
2068 here ...
2069 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
2070 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
2071 here ...
2072 * include/grub/mips/time.h (grub_cpu_idle): ... here.
2073 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
2074 definition.
2075 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
2076 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
2077 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
2078 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
2079 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
2080 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
2081 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
2082 (GRUB_MACHINE_LINK_ADDR): Likewise.
2083 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
2084 to 6.
2085 * util/grub-install.in: Run dvhtool on ARC.
2086 * util/grub-mkimage.c (image_targets): Add mips-arc.
b6296b3f 2087 (generate_image): Handle ECOFF output for mips-arc.
400b9371 2088
c8ecc840
VS
20892011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
2090
2091 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
2092 blocks.
2093
153a4b55
VS
20942011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
2095
2096 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
2097 after enabling port.
2098
ff44d107
VS
20992011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
2100
2101 Skip incorrect USB devices.
2102
2103 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
2104 configcnt == 0.
2105 * include/grub/usb.h (grub_usb_err_t): New enum value
2106 GRUB_USB_ERR_BADDEVICE.
2107
638dbe4f
VS
21082011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
2109
2110 Fuloong video init support.
2111
2112 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
2113 well.
2114 (grub_vga_read_arx): New function.
2115 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
2116 definition.
2117 (framebuffer): New members io, mmioptr and mmiobase.
2118 (read_sis_cmd): New function.
2119 (write_sis_cmd): Likewise.
2120 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
2121 rather than 640x400.
2122 * grub-core/video/sis315_init.c: New file.
2123
c3fc520c
VS
21242011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
2125
2126 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
2127 non-loongson.
2128 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
2129 to grub_dl_register_symbol.
2130
67b1e5c9
VS
21312011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
2132
2133 Fix compilation errors.
2134
2135 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
2136 potentially unused.
2137 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
2138 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
2139 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
2140 to loongson machines.
2141
b756f75f
VS
21422011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
2143
2144 Several FS mtime support.
2145
2146 * grub-core/fs/affs.c (grub_affs_time): New struct.
2147 (grub_affs_file): New field mtime.
2148 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
2149 type. Removed 'size'. New field 'di'. All users updated.
2150 (grub_affs_mount): Simplify checsum checking.
2151 (grub_affs_iterate_dir): New helper grub_affs_create_node.
2152 (grub_affs_dir): Handle mtime.
2153 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
2154 (grub_cpio_dir): Likewise.
2155 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
2156 (grub_hfs_filerec): New field mtime.
2157 (grub_hfs_dir): Handle mtime.
2158 (grub_hfs_mtime): New function.
2159 (grub_hfs_fs): Register grub_hfs_mtime.
2160 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
2161 (grub_iso9660_dir): New field mtime.
2162 (grub_fshelp_node): New field dirent.
2163 (iso9660_to_unixtime): New function.
2164 (iso9660_to_unixtime2): Likewise.
2165 (grub_iso9660_read_symlink): Use node->dirent.
2166 (grub_iso9660_iterate_dir): Likewise.
2167 (grub_iso9660_dir): Set mtime.
2168 (grub_iso9660_mtime): New function.
2169 (grub_iso9660_fs): Register grub_iso9660_mtime.
2170 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
2171 (grub_jfs_inode): New fields atime, ctime and mtime.
2172 (grub_jfs_dir): Set mtime.
2173 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
2174 * grub-core/fs/ntfs.c (list_file): Set mtime.
2175 (grub_ntfs_dir): Likewise.
2176 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
2177 (grub_reiserfs_iterate_dir): Set mtime.
2178 (grub_reiserfs_dir): Likewise.
2179 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
2180 (grub_fshelp_node): Likewise.
2181 (grub_sfs_iterate_dir): Set mtime.
2182 (grub_sfs_dir): Likewise.
2183 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
2184 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
2185 (grub_xfs_inode): New fields atime, mtime, ctime.
2186 (grub_xfs_dir): Set mtime.
2187 * include/grub/datetime.h (grub_datetime2unixtime): New function.
2188 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
2189 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
2190
2191 Support UDF symlinks.
2192
2193 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
2194 (grub_ufs_read_symlink): New function. All users updated.
2195
2196 Check amiga partmap checksum.
2197
2198 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
2199 (grub_amiga_partition): Likewise.
2200 (amiga_partition_map_checksum): New function.
2201 (amiga_partition_map_iterate): Check checksum.
2202
5470225d
VS
22032011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
2204
2205 ROMFS support.
2206
2207 * Makefile.util.def (libgrubmods.a): Add romfs.
2208 * grub-core/Makefile.core.def (romfs): New module.
2209 * grub-core/fs/romfs.c: New file.
2210
d4680a35
VS
22112011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
2212
2213 Squashfs v4 support.
2214
2215 * Makefile.util.def (libgrubmods.a): Add squash4.
2216 * grub-core/Makefile.core.def (squash4): New module.
2217 * grub-core/fs/squash4.c: New file.
2218 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
2219 disk_input_start, disk_input.
2220 (get_byte): Handle disk_input.
2221 (grub_zlib_disk_read): New function.
2222 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
2223
bcb18e74
FZ
22242011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
22252011-05-15 Feiran Zheng <famcool@gmail.com>
2226
2227 * Makefile.util.def (libgrubmods.a): Add minix3.
2228 * grub-core/Makefile.core.def (minix3): New module.
2229 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
2230 (GRUB_MINIX_BSIZE): Removed.
2231 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
2232 (grub_minix_ino_t): New type.
2233 (grub_minix_le_to_cpu_ino): New macro.
2234 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
2235 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
2236 (grub_minix_data): New field block_size.
2237 (grub_minix_read_file): Handle 64-bit correctly.
2238 * grub-core/fs/minix3.c: New file.
2239
32297d5f
TG
22402011-05-15 Tristan Gingold <gingold@free.fr>
22412011-05-15 Robert Millan <rmh.grub@aybabtu.com>
22422011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
2243
2244 IA64 support.
2245
2246 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
2247 * configure.ac: Add ia64-efi target.
2248 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
2249 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
2250 * gentpl.py: Add ia64_efi platform.
2251 Rename x86_efi to efi and Add ia64-efi. All users updated.
2252 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
2253 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
2254 Remove kern/generic/rtc_get_time_ms.c on EFI.
2255 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
2256 kern/ia64/dl_helper.c on ia64-efi.
2257 Add kern/emu/cache.c on emu.
2258 (linux): Use on loader/ia64/efi/linux.c on ia64.
2259 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
2260 whether symbol is a function.
2261 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
2262 (grub_symbol): New field 'isfunc'.
2263 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
2264 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
2265 (grub_dl_load_segments): Place all sections into the same region.
2266 [__ia64__]: Create trampolines and got.
2267 [GRUB_MACHINE_EMU]: Call mprotect.
2268 (grub_dl_resolve_symbols): Resolve symbol type as well.
2269 [__ia64__]: Create function descriptors.
2270 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
2271 (grub_rtc_get_time_ms): ... this. Expressions simplified.
2272 (grub_get_rtc): New function.
2273 * grub-core/kern/emu/cache.c [__ia64__]: New file.
2274 * grub-core/kern/emu/cache.S: Renamed to ...
2275 * grub-core/kern/emu/cache_s.S: ... this.
2276 [__ia64__]: Add a nop.
2277 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
2278 [__ia64__]: New function.
2279 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
2280 * grub-core/kern/ia64/dl.c: New file.
2281 * grub-core/kern/ia64/dl_helper.c: Likewise.
2282 * grub-core/kern/ia64/efi/init.c: New file.
2283 * grub-core/kern/ia64/efi/startup.S: Likewise.
2284 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
2285 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
2286 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
2287 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
2288 * grub-core/loader/ia64/efi/linux.c: New file.
2289 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
2290 (GRUB_MOD_DEP): Likewise.
2291 (grub_dl) [__ia64__]: New fields got and tramp.
2292 (grub_dl): New field 'base'.
2293 (grub_dl_register_symbol): New argument isfunc. All users updated.
2294 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
2295 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
2296 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
2297 (grub_ia64_dl_get_tramp_got_size): New proto.
2298 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
2299 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
2300 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
2301 * include/grub/efi/api.h: Skip call wrappers on ia64.
2302 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
2303 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
2304 * include/grub/elf.h (ELF_ST_INFO): New definition.
2305 * include/grub/ia64/efi/kernel.h: New file.
2306 * include/grub/ia64/efi/memory.h: Likewise.
2307 * include/grub/ia64/efi/time.h: Likewise.
2308 * include/grub/ia64/kernel.h: Likewise.
2309 * include/grub/ia64/setjmp.h: Likewise (from glibc).
2310 * include/grub/ia64/time.h: New file.
2311 * include/grub/ia64/types.h: Likewise.
2312 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
2313 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
2314 New protos.
2315 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
2316 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
2317 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
2318 * util/grub-mkimage.c (image_target_desc): New field pe_target.
2319 All users updated.
2320 (EFI64_HEADER_SIZE): New definition. All users updated.
2321 (image_targets): Add ia64-efi.
2322 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
2323 jumpers_addr. All users updated.
2324 Create function descriptors.
2325 (count_funcs): New function.
2326 (unaligned_uint32): New struct.
2327 (MASK20): New definition.
2328 (MASK19): Likewise.
2329 (MASKF21): Likewise.
2330 (add_value_to_slot_20b): New function.
2331 (add_value_to_slot_21_real): Likewise.
2332 (add_value_to_slot_21): Likewise.
2333 (ia64_kernel_trampoline): New struct.
2334 (nopm): New variable.
2335 (jump): Likewise.
2336 (make_trampoline): New function.
2337 (relocate_addresses): Handle ia64.
2338 (make_reloc_section): Likewise.
2339 (load_image): Likewise.
2340
983b414d
VS
23412011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
2342
2343 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
2344 warning. Move variables before code while on it.
2345
5d063cdc
VS
23462011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
2347
2348 Fuloong support.
2349
2350 * configure.ac: Rename yeeloong platform to loongson. All users updated.
2351 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
2352 * grub-core/boot/mips/loongson/fuloong.S: New file.
2353 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
2354 Explicitly init CS5536.
2355 [FULOONG]: Don't use serial until CS5536 is available.
2356 Set GPIO based on dumps.
2357 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
2358 [FULOONG]: Handle GPIO and memory controller differences.
2359 Parse machine type in $a2.
2360 * grub-core/boot/mips/startup_raw.S: Determine and save the
2361 architecture.
2362 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
2363 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
2364 init on architecture type.
2365 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
2366 SIS315E. Don't init at_keyboard on fuloong.
2367 (grub_halt): Support Fuloong.
2368 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
2369 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
2370 (loongson_machtypes): New array.
2371 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
2372 type.
2373 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
2374 config. All users updated. Handle CS5536 serial.
2375 * grub-core/term/serial.c (grub_serial_register): Conditionalise
2376 default port on machine type. Register serial as inactive.
2377 * grub-core/video/sis315pro.c: New file.
2378 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
2379 definition.
2380 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
2381 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
2382 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
2383 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
2384 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
2385 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
2386 to ...
2387 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
2388 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
2389 definition.
2390 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
2391 (grub_arch_machine): New extern var.
2392 * include/grub/mips/loongson/serial.h
2393 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
2394 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
2395 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
2396 (GRUB_MACHINE_SERIAL_PORT0): ... this.
2397 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
2398 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
2399 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
2400 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
2401 * include/grub/term.h (grub_term_register_input_inactive): New inline
2402 function.
2403 (grub_term_register_output_inactive): Likewise.
2404 * include/grub/video.h (grub_video_driver_id): New value
2405 GRUB_VIDEO_DRIVER_SIS315PRO.
2406 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
2407 New field "names". All users updated.
2408 New field value IMAGE_FULOONG_FLASH.
2409 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
2410
6ada82d1
JU
24112011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
2412
2413 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
2414 and add some clarification.
2415
90c571a4
VS
24162011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2417
2418 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
2419 platforms if kernel is compressed.
2420
de04eecf
VS
24212011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2422
2423 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
2424 unused modules since currently referrence counter isn't reliable and
2425 there isn't much memory to recover there anyway.
2426
57688121
VS
24272011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2428
2429 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
2430 rather than resetting it to allow modules to reference themselves
2431 in init.
2432
3d2c7e35
VS
24332011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2434
2435 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
2436 counter on dependencies since grub_dl_unref already handles this.
2437
b25db218
VS
24382011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2439
2440 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
2441 on error if not already done.
2442
25a45338
VS
24432011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2444
2445 Fix few potential memory misusage.
2446
2447 * grub-core/font/font.c (load_font_index): Don't free char_index to
2448 avoid double free.
b25db218
VS
2449 (grub_font_load): Zero-fill font at alloc for safety.
2450 Close file on error.
2451 (free_font): Free bmp_idx.
25a45338 2452
0cac83df
VS
24532011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2454
2455 * docs/grub.texi (Installation): Fix several outdated claims.
2456
2217a143
VS
24572011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2458
2459 Handle module_license on windows.
2460
2461 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
2462 sections shifted.
2463 (insert_string): Make argument const char * instead of char *.
2464 (write_section_data): Handle long section names.
2465 Handle module_license.
2466
d4de6b01
VS
24672011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2468
2469 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
2470 handle class-free menuentries.
2471 (grub_normal_add_menu_entry): Add a check to be sure.
2472
4c2a3b43
VS
24732011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
2474
2475 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
2476 PgUp and PgDown.
2477
85c6210f
VS
24782011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
2479
2480 * configure.ac: Bump version to 1.99.
2481
36084912
VS
24822011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
2483
2484 Give ATA device a bit more time on first try in order to allow disks
2485 to spin up.
2486
2487 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
2488 if dev->present is 1. Reset dev->present on failure.
2489 (grub_ata_device_initialize): Set dev->present to 1.
2490 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
2491 (grub_ata_device): New member 'present'.
2492
bda0e219
VS
24932011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
2494
2495 * util/grub-mkimage.c (generate_image): Update hash.
2496
19e1c41b
VS
24972011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
2498
2499 Flush caches on DMA memory.
2500
2501 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
2502 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
2503 (grub_dma_free): Likewise.
2504 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
2505
91bbcc0c
VS
25062011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
2507
2508 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
2509 to avoid asm treating ld and sd as macros.
2510
60ddfad3
VS
25112011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
2512
2513 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
2514 decompressor.
2515
a298aa04
VS
25162011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
2517
2518 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
2519 grub_decompress_core since later would fail if grub_decompress_core
2520 is too far.
2521
9b44feca
VS
25222011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
2523
2524 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
2525 R_MIPS_JALR since it's used by newer compiler.
2526
56dbe7b4
VS
25272011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2528
2529 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
2530
52856af2
VS
25312011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2532
2533 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
2534 file_path to 0 for surety.
2535 (grub_chainloader_boot): Set exit_data to NULL.
2536 Unset the loader once done.
2537 (grub_cmd_chainloader): Fix confusing error message if file is empty.
2538
9c9bfc6d
VS
25392011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2540
2541 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
2542 unknown key into a dprintf.
2543
dd94a3df
VS
25442011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2545
2546 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
2547 on first non-existant partition.
2548
fa68d99c
VS
25492011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2550
2551 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
2552 openning fails.
2553 Reported by: Mark Korenberg.
2554
157effb7
VS
25552011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2556
2557 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
2558 overflow.
2559
ea75312f
VS
25602011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2561
2562 * util/grub-mkimage.c (main): Explicitely flush and sync the output
2563 before closing to ensure that it will be readable by grub-setup.
2564
072b5d31
VS
25652011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
2566
2567 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
2568 (devpath_1): Use MAKE_PIWG_PATH.
2569 (devpath_2): Likewise.
2570 (devpath_3): Likewise.
2571 (devpath_4): Likewise.
2572 (devpath_5): Likewise.
2573 (devpath_6): Likewise.
2574
2575 The appleldr.mod was checked that to be binary identical to previous
2576 version.
2577
7fae0051
Z
25782011-05-05 Zach <mikezackles>
2579
2580 Support 2010 Macbooks.
2581
2582 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
2583 (devs): Add devpath_6.
2584
7c515bee
VS
25852011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
2586
2587 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
2588 /dev/random. /dev/urandom is good enough for our purposes (salting).
2589
ed660bd8
VS
25902011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
2591
2592 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
2593
ee5614b7
VS
25942011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
2595
2596 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
2597 hexadecimal.
2598
664889a6
VS
25992011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
2600
2601 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
2602 and not 0 on failure.
2603
bd405bbc
CW
26042011-05-03 Colin Watson <cjwatson@ubuntu.com>
2605
2606 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
2607 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
2608 disk; otherwise grub_fs_probe will not fall back to the next
2609 filesystem.
2610 (grub_pxefs_open): Likewise, for consistency.
2611 Reported and tested by: Ezekiel Grave.
2612
4ebff753
CW
26132011-05-03 Colin Watson <cjwatson@ubuntu.com>
2614
2615 * tests/partmap_test.in: Don't hardcode path to parted.
2616 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
2617
8f942553
CW
26182011-05-01 Colin Watson <cjwatson@ubuntu.com>
2619
2620 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
2621 of `ls' to find out which devices are available.
2622
3c62402d
VS
26232011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2624
2625 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
2626 than source address for efi mmap buffer.
2627
723f63f2
VS
26282011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2629
2630 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
2631 wrong action on non-detecting the magic.
2632
68797f92
VS
26332011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2634
2635 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
2636 already supplied by another part of the module (fixes compilation on
2637 FreeBSD).
2638
6be8715d
VS
26392011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2640
2641 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
2642 match the one used by mdadm.
2643
e91dba5b
CW
26442011-04-21 Colin Watson <cjwatson@ubuntu.com>
2645
2646 * po/README: Add instructions for creating po/LINGUAS.
2647
c85140b3
CW
26482011-04-21 Colin Watson <cjwatson@ubuntu.com>
2649
2650 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
2651 #551428.
2652
2653 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
2654 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
2655 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
2656 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
2657 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
2658 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
2659 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
2660 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
2661 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
2662 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
2663 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
2664 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
2665 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
2666 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
2667 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
2668 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
2669 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
2670 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
2671 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
2672 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
2673 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
2674 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
2675
92051871
CW
26762011-04-21 Colin Watson <cjwatson@ubuntu.com>
2677
2678 * grub-core/kern/emu/getroot.c
2679 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
2680 test that was incorrectly reintroduced in r3214.
2681 Reported by: Ian Dall. Fixes Savannah bug #33133.
2682
b13f79a4
CW
26832011-04-21 Colin Watson <cjwatson@ubuntu.com>
2684
2685 Fix stack pointer handling in 16-bit relocator.
2686
2687 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
2688 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
2689 Fixes Ubuntu bug #683904.
2690
9b710a88
VS
26912011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
2692
2693 * configure.ac: Bump version to 1.99~rc2.
2694
d97e7b59
VS
26952011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
2696
2697 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
2698 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
2699 * grub-core/lib/x86_64/setjmp.S: Likewise.
2700 * grub-core/lib/mips/setjmp.S: Likewise.
2701 * grub-core/lib/powerpc/setjmp.S: Likewise.
2702 * grub-core/lib/sparc64/setjmp.S: Likewise.
2703
0624551c
VS
27042011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
2705
2706 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
2707 * grub-core/lib/efi/datetime.c: Likewise.
2708
e8f28d4c
VS
27092011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
2710
2711 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
2712 New function.
2713 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
2714 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
2715 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
2716
bba79a15
VS
27172011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
2718
2719 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
2720 bitmap.
2721 (grub_gfxterm_term_init): Likewise.
2722
abc474ef
VS
27232011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
2724
2725 Take into account the decorations the computing menu entry width.
2726
2727 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
2728 (grub_gfxmenu_create_box): Register get_border_width.
2729 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
2730 if available.
2731 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
2732 get_border_width.
2733
e74b3947
EP
27342011-04-18 Endres Puschner <code@e7p.de>
2735
2736 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
2737 Don't skip first class.
2738
34faa595
VS
27392011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2740
2741 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
2742 chunks.
2743 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
2744
93a777e3
VS
27452011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2746
2747 Complete 64-bit division support.
2748
2749 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
2750 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
2751 * include/grub/misc.h (grub_divmod64): Rename to ...
2752 (grub_divmod64_full): ... this.
2753 (grub_divmod64): New inline function.
2754
a5102d94
VS
27552011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2756
2757 * util/grub-mkimage.c (generate_image): Add forgotten comma.
2758
f3fb7b36
VS
27592011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2760
2761 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
2762 performing the necessary test.
2763
9ac718b0
VS
27642011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
2765
2766 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
2767 (kfreebsd.elf): Likewise.
2768 (pc-chainloader.elf): Likewise.
2769 (ntldr.elf): Likewise.
2770
50d2cc5a
VS
27712011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
2772
2773 Identify RAID by its UUID rather than (guessed) name.
2774
2775 * grub-core/disk/raid.c (ascii2hex): New function.
2776 (grub_raid_open): Accept mduuid/%s specification.
2777 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
2778 (get_mdadm_uuid): ... this.
2779 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
2780
e03f7bea
VS
27812011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
2782
2783 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
2784 to negative size.
2785
e74c3112
CW
27862011-04-13 Colin Watson <cjwatson@ubuntu.com>
2787
2788 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
2789 btrfs subvolume.
2790 * util/grub.d/20_linux_xen.in: Likewise.
2791
78fa584f
CW
27922011-04-13 Colin Watson <cjwatson@ubuntu.com>
2793
2794 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
2795 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
2796
2797 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
2798 Build a list of relevant visible mounts using the mnt_id and
2799 parent_mnt_id fields, and then scan that list at the end.
2800
9d5f8162
CW
28012011-04-12 Colin Watson <cjwatson@ubuntu.com>
2802
2803 * docs/grub.texi (normal): New section.
2804 (normal_exit): New section.
2805 (Embedded configuration): Add reference to normal.
2806 (GRUB only offers a rescue shell): Likewise.
2807 * docs/grub-dev.texi (Error Handling): Fix typo.
2808
09a9d66f
CW
28092011-04-12 Colin Watson <cjwatson@ubuntu.com>
2810
2811 * NEWS: Drop obsolete entry about probe-only btrfs support.
2812
0c676933
CW
28132011-04-12 Colin Watson <cjwatson@ubuntu.com>
2814
2815 * util/import_gcry.py: Fix typo.
2816
ec9f5e0d
VS
28172011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2818
2819 * NEWS: Add btrfs support.
2820
fe6b2cba
VS
28212011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
28222011-04-11 Colin Watson <cjwatson@ubuntu.com>
2823
2824 BtrFS support. Written by me (Vladimir) with important bugfixes and
2825 even more important testing by Colin.
2826
2827 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
2828 * grub-core/Makefile.core.def (btrfs): Add crc.c.
2829 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
2830 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
2831 mem_input_off and mem_input. All users updated to accept in-RAM input.
2832 (gzio_seek): New function.
2833 (test_zlib_header): Likewise.
2834 (grub_gzio_read): Likewise.
2835 (grub_zlib_decompress): Likewise.
2836 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
2837 Accept partial and non-virtual mounts.
2838 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
2839 avoid receiving /dev/dm-X as device.
2840 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
2841 Handle bind and partial mounts.
2842 * grub-core/lib/crc.c: New file.
2843 * include/grub/deflate.h: Likewise.
2844 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
2845 proto.
2846 * include/grub/lib/crc.h: New file.
2847
e745cf0c
VS
28482011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2849
2850 Implement automatic module license checking according to new GNU
2851 guidelines.
2852
2853 * grub-core/kern/dl.c (grub_dl_check_license): New function.
2854 (grub_dl_load_core): Use grub_dl_check_license.
2855 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
2856 (GRUB_MOD_LICENSE): Likewise.
2857 (GRUB_MOD_DUAL_LICENSE): Likewise.
2858 All modules updated.
2859
2a9bc016
CW
28602011-04-11 Colin Watson <cjwatson@ubuntu.com>
2861
2862 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
2863 reserved_first_sector to 1. btrfs reserves plenty of space for boot
2864 loaders.
2865 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
2866
8a3bc88e
VS
28672011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2868
2869 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
2870
af869a4a
VS
28712011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2872
2873 * util/grub-fstest.c (read_file): Report GRUB error if file opening
2874 failed.
2875
9ee8d94f
VS
28762011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2877
2878 * grub-core/kern/file.c (grub_file_open): Don't take into account the
2879 parenthesis in the middle of the filename.
2880
b01abe3e
VS
28812011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
2882
2883 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
2884 rather than trying to put initrd way too high.
2885 Reported by: Ryan Lortie <desrt@desrt.ca>
2886
335bda1e
VS
28872011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
2888
2889 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
2890 improperly removed string.
2891
5ca1a64d
VS
28922011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
2893
2894 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
2895 is_disk.
2896 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
2897 (open_device) Likewise.
2898 (grub_util_biosdisk_close): Likewise.
d8ce9995 2899 Reported by: Mark Korenberg.
5ca1a64d 2900
cbac5b1e
AK
29012011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
2902
2903 * util/grub-mkconfig_lib.in: Add missing quotes.
2904
088cdb65
CW
29052011-04-10 Colin Watson <cjwatson@ubuntu.com>
2906
2907 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
2908 is NULL.
2909
8b8a81fa
VS
29102011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
2911
2912 Dynamically count the number of lines for the lower banner.
2913
2914 * grub-core/normal/menu_entry.c (per_term_screen): New member
2915 num_entries.
2916 (print_down): Use num_entries.
2917 (update_screen): Likewise.
2918 (grub_menu_entry_run): Set num_entries.
2919 * grub-core/normal/menu_text.c (menu_viewer_data): New member
2920 num_entries.
2921 (grub_print_message_indented): Move real part to ...
2922 (grub_print_message_indented_real): ... here. Additional argument
2923 dry_run.
2924 (draw_border): Additional argument num_entries.
2925 (print_message): Additional argument dry_run.
2926 (print_entries): Receive menu viewer data.
2927 (grub_menu_init_page): New argment num_entries.
2928 (menu_text_set_chosen_entry): Use num_entries.
2929 (grub_menu_try_text): Likewise.
2930 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
2931 All users updated.
2932 (grub_ucs4_count_lines): New function.
2933 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
2934 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
2935 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
2936 (grub_term_border_height): Likewise.
2937 (grub_term_num_entries): Likewise.
2938
277f955b
VS
29392011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
2940
2941 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
2942 Remove now unused string.
2943
536ce85a
CW
29442011-04-09 Colin Watson <cjwatson@ubuntu.com>
2945
2946 * docs/grub-dev.texi (Finding your way around): Update for 1.99
2947 build system.
2948 (Getting started): GRUB is developed in Bazaar now, not Subversion.
2949
2950 (Comment): Fix typo.
2951 (Getting started): General copy-editing.
2952 (Typical Development Experience): Likewise.
2953 (Error Handling): Likewise.
2954 (Video API): Likewise.
2955
2cf09e32
CW
29562011-04-09 Colin Watson <cjwatson@ubuntu.com>
2957
2958 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
2959 throughout.
2960
1ec652f4
VS
29612011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
2962
2963 * util/grub-mkimage.c (main): Handle special naming of yeeloong
2964 directory.
2965
2c583728
CW
29662011-04-08 Colin Watson <cjwatson@ubuntu.com>
2967
2968 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
2969 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
2970 "development".
2971
d7a565e9
VS
29722011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
2973
2974 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
2975 grub_strcpy since the lines aren't necessarily 0-terminated.
2976
7c2e4909
VS
29772011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
2978
2979 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
2980 root on legacy.
2981
34c09785
VS
29822011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
2983
2984 * grub-core/commands/probe.c (options): Argument to set isn't optional.
2985 (GRUB_MOD_INIT): DEVICE isn't optional.
2986
6a6f8058
VS
29872011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
2988
2989 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
2990 word on new line if it's too long anyway. Fixes a hang.
2991
2e335e90
VS
29922011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
2993
2994 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
2995 const.
2996 * util/grub-setup.c (main): Reuse md device name if available.
2997 * util/raid.c (grub_util_raid_getmembers): Receive device name and
2998 not GRUB name as argument.
2999 Based on patch by: Florian Wagner <fwagner>.
3000
10a7a867
VS
30012011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
3002
3003 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
3004 Place mbi on low memory for better compatibility.
3005
7a3d6cd9
VS
30062011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
3007
3008 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
3009
18dd6b47
VS
30102011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
30112011-04-08 Colin Watson <cjwatson@ubuntu.com>
3012
3013 * autogen.sh: Ensure that collate and ctype locale is C.
4ed4ce58 3014 * conf/Makefile.common: Likewise.
18dd6b47 3015
3c0e3f14
VS
30162011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
3017
f7148863
VS
3018 * grub-core/normal/menu.c: Add missing include.
3019
30202011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
3021
3022 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
3c0e3f14 3023
6d1fa41f
MZ
30242011-04-08 Martin Zuther <mzuther@mzuther.de>
3025
3026 * util/grub-mkconfig.in: Ignore emacsen backup.
3027
478182a8
VS
30282011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
3029
3030 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
3031 on open.
3032 (grub_util_biosdisk_close): Likewise.
3033
72a89a54
VS
30342011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
3035
3036 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
3037 const attribute and use grub_isdigit.
3038
b5ebecfa
A
30392011-04-06 Andrey <dev_null@ukr.net>
3040
3041 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
3042 gcc warning.
3043
7755f66e
VS
30442011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
3045
3046 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
3047 useful grub_dprintf's.
3048
461121ff
VS
30492011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
3050
3051 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
3052
2a961775
VS
30532011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
3054
3055 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
3056
adf594cc
VS
30572011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
3058
3059 Output errors if theme loading failed.
3060
3061 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
3062 grub_gfxterm_fullscreen on error paths to ...
3063 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
3064 theme loading error.
3065
665900a3
VS
30662011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
3067
3068 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
3069 space for older compilers.
3070 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
3071
a562b479
VS
30722011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
3073
3074 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
3075 and report them as not RAID members since they are useless for GRUB.
3076 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
3077
850e9373
VS
30782011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
3079
3080 Increase LVM implementation robustness in order not to crash on
3081 configurations like pvmove. Previously code assumed that in some places
3082 only lvs or only pvs are used whereas it seems that they are used
3083 interchangeably.
3084
3085 * grub-core/disk/lvm.c (read_node): New function.
3086 (read_lv): Use read_node.
3087 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
3088 Match volumes only at the end when all lvs are found. Take both
3089 pvs (first) and lvs (second) into account.
3090 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
3091 mirror_* into node_*. All users updated.
3092 (grub_lvm_stripe): Merge this ...
3093 (grub_lvm_mirror): ... and this ...
3094 (grub_lvm_node): ... into this. All users updated.
3095
6f332153
VS
30962011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
3097
3098 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
3099 of function to allow further scanning for LVMs.
3100
829ea451
VS
31012011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
3102
3103 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
3104 on failed seek as it breaks open fd reusage.
3105
09ceb9a5
VS
31062011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
3107
3108 * util/grub-install.in: Add a recommendation to use --recheck before
3109 reporting bugs.
3110
67e11623
VS
31112011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
3112
3113 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
3114 are obtained.
3115
caee5efd
VS
31162011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
3117
3118 GRUB developper manual based on existing Internals section and
3119 contributions by the various authors with active copyright assignment.
3120
3121 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
3122 * docs/font_char_metrics.png: New file.
3123 * docs/font_char_metrics.txt: Likewise.
3124 * docs/grub-dev.texi: Likewise.
3125 * docs/grub.texi (Internals): Move from here ...
3126 * docs/grub-dev.texi: ... here.
3127
2cccc747
CW
31282011-04-01 Colin Watson <cjwatson@ubuntu.com>
3129
3130 Store the loopback device as data on loopback grub_disk structures,
3131 rather than the file it points to. This fixes use of freed memory
3132 if an existing loopback device is replaced.
3133
3134 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
3135 disk->data, not dev->file.
3136 (grub_loopback_read): Adjust file assignment to match.
3137 Fixes Ubuntu bug #742967.
3138
186ae367
CW
31392011-04-01 Colin Watson <cjwatson@ubuntu.com>
3140
3141 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
3142 when replacing an existing device.
3143
cfed2ad0
VS
31442011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
3145
3146 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
3147 memory corruptions.
3148
3149 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
3150 unsigned.
3151 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
3152 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
3153 (grub_jfs_read_inode): Likewise.
3154 (grub_jfs_opendir): Likewise. Remove now useless casts.
3155 (grub_jfs_getent): Likewise.
3156 Make ino a grub_uint32_t rather than int.
3157 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
3158 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
3159 division and module with bit operations.
3160 (grub_jfs_find_file): Make ino a grub_uint32_t.
3161 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
3162
05d2ed32
CW
31632011-04-01 Colin Watson <cjwatson@ubuntu.com>
3164
3165 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
3166 warning. (This was in fact always initialised before use, but GCC
3167 wasn't smart enough to prove that.)
3168 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
3169
91dc6073
VS
31702011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
3171
3172 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
3173 stack alignment.
3174 (efi_wrap_1): Likewise.
3175 (efi_wrap_2): Likewise.
3176 (efi_wrap_3): Likewise.
3177 (efi_wrap_4): Likewise.
3178 (efi_wrap_5): Likewise.
3179 (efi_wrap_6): Likewise.
3180 (efi_wrap_10): Likewise.
3181 Based on information by: Red Hat/Peter Jones.
3182
a8afc1d1
CW
31832011-03-31 Colin Watson <cjwatson@ubuntu.com>
3184
3185 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
3186 set-but-not-used variable.
3187
a826cc7d
CW
31882011-03-31 Colin Watson <cjwatson@ubuntu.com>
3189
3190 * docs/grub.texi (Simple configuration): Be more explicit about
3191 GRUB_DEFAULT, and add an example.
3192 Reported by: Leslie Rhorer.
3193
875b67ba
CW
31942011-03-30 Colin Watson <cjwatson@ubuntu.com>
3195
3196 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
3197 shell".
3198
fd7cd914
AS
31992011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
3200
3201 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
3202 * util/grub.d/20_linux_xen.in: Likewise.
3203
090b1b6a
VS
32042011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
3205
3206 * util/grub.d/10_linux.in: Try alternative config filenames where
3207 we parse config file.
3208 * util/grub.d/20_linux_xen.in: Likewise.
3209
baad885c
AS
32102011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
3211
3212 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
3213 * util/grub.d/20_linux_xen.in: Likewise.
3214
241e41f5
VS
32152011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
3216
3217 * grub-core/disk/raid.c (insert_array): Add few potentially
3218 useful grub_util_info.
3219 (grub_raid_register): Likewise.
3220
56445fb2
VS
32212011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
3222
3223 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
3224 Preserve partition number in mdadm code path.
3225
c871b1c6
VS
32262011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
3227
3228 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
3229 few potentially useful grub_util_info.
3230
5e631b4f
CW
32312011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
3232
3233 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
3234
2d5d0333
CW
32352011-03-30 Colin Watson <cjwatson@ubuntu.com>
3236
3237 * docs/grub.texi (default): Use @example rather than nested
3238 itemized lists to avoid breaking gendocs.
3239
3d7ed04e
CW
32402011-03-30 Colin Watson <cjwatson@ubuntu.com>
3241
3242 * docs/grub.texi (Future): Update.
3243
abf04200 32442011-03-30 Colin Watson <cjwatson@ubuntu.com>
3245
3246 * docs/grub.texi (Environment): New chapter.
3247 (Changes from GRUB Legacy): Link to "Environment block" section for
3248 details of limitations.
3249 (Simple configuration): Likewise. Link to documentation of gfxmode
3250 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
3251 respectively.
3252 (Shell-like scripting): Note that normal variables are stored in the
3253 environment.
3254 (gettext): Link to documentation of lang and locale_dir.
3255 (list_env): New section.
3256 (load_env): New section.
3257 (save_env): New section.
3258
3259 (Reporting bugs): Fix typo.
3260
e1ad0edd
VS
32612011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
3262
3263 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
3264 the example.
3265
5d803174
VS
32662011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
3267
3268 * grub-core/term/at_keyboard.c (set_scancodes)
3269 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
3270
2a2da1d0
CW
32712011-03-30 Colin Watson <cjwatson@ubuntu.com>
3272
3273 * docs/grub.texi (Menu-specific commands): Remove some semantics
3274 that were true in GRUB Legacy but not in GRUB 2.
3275 (submenu): New section.
3276 (false): New section.
3277 (read): New section.
3278 (true): New section.
3279
a7527639
CW
32802011-03-30 Colin Watson <cjwatson@ubuntu.com>
3281
3282 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
3283
32842011-03-30 Colin Watson <cjwatson@ubuntu.com>
e30af029
CW
3285
3286 * docs/grub.texi (Simple configuration): Explain some of the
3287 current limitations of grub-mkconfig.
8a748df2 3288 Reported by: Leslie Rhorer.
e30af029 3289
fc858482
VS
32902011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
3291
3292 Old macs search for boot.efi rather than for bootia32.efi.
3293
3294 * util/grub-install.in: Copy bootia32.efi to boot.efi.
3295 * util/grub-mkrescue.in: Likewise.
3296 Suggested by: Peter Jones.
3297
e1eb511d
VS
32982011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
3299
3300 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
3301
70e75364
VS
33022011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
3303
3304 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
3305 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
3306 (grub_lvm_mirror): New struct.
3307 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
3308 (grub_lvm_iterate): Iterate only visible volumes.
3309 (grub_lvm_read): Factor out to ..
3310 (read_lv): ... this. Support mirrors.
3311 (grub_lvm_read): New wrapper function.
3312 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
3313 stripped or mirrored.
3314
fc18f6a3
VS
33152011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
3316
3317 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
3318
5c650f4c
CW
33192011-03-29 Colin Watson <cjwatson@ubuntu.com>
3320
3321 * docs/grub.texi (loopback): New section.
3322
61d7156b
CW
33232011-03-29 Colin Watson <cjwatson@ubuntu.com>
3324
3325 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
3326 removed -p option.
3327
994b8264
CW
33282011-03-29 Colin Watson <cjwatson@ubuntu.com>
3329
3330 * docs/grub.texi (BIOS installation): New section, partly based on
3331 previous text in other sections.
3332 (Installing GRUB using grub-install): Replace BIOS discussion with a
3333 cross-reference.
3334 (Images): Likewise.
3335
9e4d19e0
VS
33362011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
3337
3338 * grub-core/kern/emu/hostdisk.c (find_partition_start)
3339 [HAVE_DIOCGDINFO]: Add safety checks.
3340
a307c0b2
VS
33412011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
3342
3343 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
3344 per default compiled in kernel and prior to 8.0 isn't shipped at all.
3345
b4db4f39
CW
33462011-03-29 Colin Watson <cjwatson@ubuntu.com>
3347
3348 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
3349 real_sb->size is zero (e.g. RAID-0), get the disk size from
3350 real_sb->data_size instead.
3351 Fixes Ubuntu bug #743136.
3352
35e5f84c
VS
33532011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
3354
3355 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
3356 printf clauses for printing size and start.
3357
d2e29d81
VS
33582011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
3359
3360 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
3361 Reported and tested by: Timothy Nikkel.
3362
ed5587af
VS
33632011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
3364
3365 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
3366 (dirty_region_add_real): ... this.
3367 (dirty_region_add): Don't discard margin refresh when performing
3368 scheduled repaint.
3369
a1dc717c
VS
33702011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
3371
3372 * grub-core/lib/relocator.c (allocate_regstart)
3373 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
3374 terminals are capabple of malloc-free operation.
3375 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
3376 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
3377
9f3677d3
VS
33782011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
3379
3380 * util/grub-setup.c: Copy the partition table zone if floppy support
3381 is disabled, even if no partition table is found.
3382
3383 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
3384 during POST if an invalid partition table is contained in the PBR
3385 of the active partition when GRUB is installed to a partition.
3386
24148725
CW
33872011-03-28 Colin Watson <cjwatson@debian.org>
3388
3389 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
3390 comment.
3391
f329eda7
CW
33922011-03-28 Colin Watson <cjwatson@debian.org>
3393
3394 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
3395 to be specific about what kind of RAID device we're scanning for.
3396
c482ad98
SG
33972011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
3398
3399 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
3400 return freed string.
3401
5ee04984
VS
34022011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
3403
3404 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
3405
f4727da9
VS
34062011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
3407
3408 Use libgeom on FreeBSD to detect partitions.
3409
3410 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
3411 (grub-mkrelpath): Likewise.
3412 (grub-script-check): Likewise.
3413 (grub-editenv): Likewise.
3414 (grub-mkpasswd-pbkdf2): Likewise.
3415 (grub-fstest): Likewise.
3416 (grub-mkfont): Likewise.
3417 (grub-mkdevicemap): Likewise.
3418 (grub-probe): Likewise.
3419 (grub-setup): Likewise.
3420 (grub-ofpathname): Likewise.
3421 (grub-mklayout): Likewise.
3422 (example_unit_test): Likewise.
3423 (grub-menulst2cfg): Likewise.
3424 * grub-core/Makefile.core.def (grub-emu): Likewise.
3425 (grub-emu-lite): Likewise.
3426 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
3427 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
3428 define HAVE_DIOCGDINFO.
3429 (follow_geom_up) [FreeBSD]: New function.
3430 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
3431 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
3432 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
3433 unconditionally of HAVE_DIOCGDINFO.
3434
82fe6c75
VS
34352011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
3436
3437 Fix FreeBSD compilation problem.
3438
3439 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
3440 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
3441
4c6c9431
CW
34422011-03-24 Colin Watson <cjwatson@ubuntu.com>
3443
3444 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
3445 Switch back to page zero before loading a kernel, since some kernel
3446 drivers expect that.
3447 Thanks to: Felix Kuehling.
3448
c7064d94
VS
34492011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
3450
3451 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
3452 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
3453 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
3454
3f71cded
VS
34552011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
3456
3457 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
3458 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
3459
ef6de21a
VS
34602011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
3461
3462 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
3463 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
3464 malloc is disabled.
3465
8bc66a2c
VS
34662011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
3467
3468 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
3469 for modules headers when counting the needed allocation size.
3470
5657722c
VS
34712011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
3472
3473 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
3474 if no ASCII character is found to prevent crash.
3475
41a85f55
AK
34762011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
3477
3478 * grub-core/video/bitmap.c (match_extension): Ignore case.
3479
59e1e5f1
VS
34802011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
3481
3482 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
3483
bd4d051a
VS
34842011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
3485
3486 * grub-core/script/parser.y: Declare "time" as valid argument.
3487
bae7fcc1
PJ
34882011-03-23 Peter Jones <pjones@redhat.com>
3489
3490 Fix incorrect assert failure reporting.
3491
3492 * grub-core/tests/example_functional_test.c (example_test): Add
3493 a failure comment.
3494 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
3495 (failure_start): ...this. Check that malloc succeeded.
3496 Don't call xvasprintf. Return failure struct.
3497 (failure_append_vtext): New function.
3498 (failure_append_text): Likewise.
3499 (add_failure): Likewise.
3500 (grub_test_assert_helper): Likewise.
3501 * include/grub/test.h (grub_test_assert_helper): New declaration.
3502 (grub_test_assert): Macro rewritten.
3503
537dc9be
VS
35042011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
3505
3506 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
3507
fa3e01bf
VS
35082011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
3509
3510 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
3511
b1d28404
VS
35122011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
3513
3514 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
3515 into GRUB-style one.
3516
2e3e2e09
VS
35172011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
3518
3519 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
3520 error and not grub_errno.
3521 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
3522
ed57e557
VS
35232011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
3524
3525 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
3526 GRUB_USB_SPEED_NONE in case of failure and not the error code.
3527
d1611f01
VS
35282011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
3529
3530 * grub-core/efiemu/i386/pc/cfgtables.c
3531 (grub_machine_efiemu_init_tables): Make declaration a prototype.
3532 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
3533 (grub_xnu_unlock): Likewise.
3534 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
3535
7d4e39d6
VS
35362011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
3537
3538 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
3539 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
3540 * grub-core/commands/hashsum.c (aliases): Likewise.
3541 * grub-core/commands/setpci.c (pci_registers): Likewise.
3542 * grub-core/disk/usbms.c (attach_hook): Likewise.
3543 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
3544 (zio_checksum_table): Likewise.
3545 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
3546 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
3547 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
3548 * grub-core/lib/relocator.c (leftovers): Likewise.
3549 (extra_blocks): Likewise.
3550 * grub-core/loader/i386/bsd.c (relocator): Likewise.
3551 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
3552 (modules_last): Likewise.
3553 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
3554 (devices): Likewise.
3555 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
3556 (modules_last): Likewise.
3557 * grub-core/normal/auth.c (users): Likewise.
3558 * grub-core/normal/context.c (initial_menu): Likewise.
3559 (current_menu): Likewise.
3560 * grub-core/normal/crypto.c (crypto_specs): Likewise.
3561 * grub-core/term/serial.c (grub_serial_ports): Likewise.
3562 (grub_serial_terminfo_input_template): Likewise.
3563 (grub_serial_terminfo_output_template): Likewise.
3564 (grub_serial_terminfo_input): Likewise.
3565 (grub_serial_terminfo_output): Likewise.
3566 (registered): Likewise.
3567 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
3568
40fc4659
VS
35692011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
3570
3571 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
3572 grub_video_mode_type_t.
3573 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
3574 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
3575 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
3576
2da48d28
VS
35772011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
3578
3579 * util/grub-install.in: Correct the x86-64 name as x86_64.
3580
9b43bf39
CW
35812011-03-11 Colin Watson <cjwatson@ubuntu.com>
3582
3583 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
3584 initial chunk read from the kernel always includes GRUB's multiboot
3585 header, which is now outside the first sector.
3586
be1a7ce0
CW
35872011-03-09 Colin Watson <cjwatson@ubuntu.com>
3588
3589 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
3590 cached mmap_size, so that this works correctly when called multiple
3591 times.
3592 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
3593
83a3c48d
CW
35942011-03-09 Colin Watson <cjwatson@ubuntu.com>
3595
3596 * docs/grub.texi (Simple configuration): Tidy up formatting.
3597
57d75699
SJ
35982011-03-07 Szymon Janc <szymon@janc.net.pl>
3599
3600 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
3601 Set-but-not-used variable removed.
3602
028501a0
VS
36032011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
3604
3605 Workaround yet another IEEE1275 bug.
3606
3607 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
3608 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
3609 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
3610 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
3611 is set.
3612 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
3613 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
3614
d998657d
VS
36152011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
3616
3617 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
3618 error.
3619
fee7cdd4
CW
36202011-02-11 Colin Watson <cjwatson@ubuntu.com>
3621
3622 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
3623 empty, since in that case we can only generate either nothing or a
3624 syntactically invalid configuration file.
3625 Reported by: Michal Suchanek. Fixes Debian bug #612898.
3626
97286eb5
CW
36272011-02-09 Colin Watson <cjwatson@ubuntu.com>
3628
3629 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
3630 (Making a GRUB bootable CD-ROM): Likewise.
3631 (Invoking grub-mkrescue): New section.
3632 Reported by: Yann Dirson. Fixes Debian bug #612585.
3633
22b28eb3
CW
36342011-02-09 Colin Watson <cjwatson@ubuntu.com>
3635
3636 * util/grub-install.in: Remove unnecessary brackets from tr
3637 arguments.
3638 * util/grub.d/10_hurd.in: Likewise.
3639 * util/grub.d/10_kfreebsd.in: Likewise.
3640 * util/grub.d/10_linux.in: Likewise.
3641 * util/grub.d/20_linux_xen.in: Likewise.
3642 Reported by: Jamie Heilman. Fixes Debian bug #612564.
3643
7e735e43
CW
36442011-02-08 Colin Watson <cjwatson@ubuntu.com>
3645
3646 * include/grub/file.h (not_easly_seekable): Rename to ...
3647 (not_easily_seekable): ... this. Update all users.
3648
800f1881
CW
36492011-01-28 Colin Watson <cjwatson@ubuntu.com>
3650
3651 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
3652 grub-mkrescue.
3653
3281d3d6
VS
36542011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
3655
3656 * util/grub-mkimage.c (generate_image): Refuse to create the images
3657 bigger than the actual flash (512K) in Loongson machines. 512K is also
3658 the biggest chip supported by them.
3659
3533413c
VS
36602011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
3661
3662 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
3663
73ae4f4f
VS
36642011-01-22 Anthony DeRobertis <anthony@derobert.net>
3665
3666 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
3667 super_offset field.
3668
37f4f608
VS
36692011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
3670
3671 * util/grub-install.in: Ignore install device on platforms
3672 where it doesn't make sense. Always use UUIDs except on pc, efi and
3673 sparc64.
3674 Reported by: Daniel Kahn Gillmor.
3675
03a4ccb5
VS
36762011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
3677
3678 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
3679
ffc8f4d8
VS
36802011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
3681
3682 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
3683 (iterate_real): Don't rely on partition being non-NULL.
3684
80f23be7
VS
36852011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
3686
3687 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
3688 supported platforms. Put a compile time assert for this rather than
3689 generate a warning with 32-bit shift.
3690
5d4f4dd5
VS
36912011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
3692
3693 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
3694 logical expression more readable.
3695
e489601a
VS
36962011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
3697
3698 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
3699 even if some elements have a name.
3700 Reported by: Alexander GQ Gerasiov.
3701
96e0a6ea
CW
37022011-01-22 Colin Watson <cjwatson@ubuntu.com>
3703
3704 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
3705 path unreadable if `grub-probe -t abstraction' fails, for example if
3706 memberlist fails on an LVM volume group.
3707 Reported by: Darius Jahandarie.
3708
81431e2b
CW
37092011-01-22 Colin Watson <cjwatson@ubuntu.com>
3710
3711 * docs/grub.texi (Simple configuration): Document
3712 GRUB_PRELOAD_MODULES.
3713
5e79d66a
CW
37142011-01-17 Colin Watson <cjwatson@ubuntu.com>
3715
3716 * .bzrignore: Remove nonexistent grub-pbkdf2.
3717
646ada34
VS
37182011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
3719
3720 * configure.ac: Bump version to 1.99~rc1.
3721
04360337
VS
37222011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
3723
3724 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
3725 for safety.
3726
46c9db88
VS
37272011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
3728
3729 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
3730 module.
3731
37322011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1d955d00
VS
3733
3734 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
3735
4fbf1852
VS
37362011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
3737
3738 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
3739 diskdevid.
3740
f1632d4d
VS
37412011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
3742
3743 Fix compilation on cygwin.
3744
3745 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
3746 -R .drectve on cygwin.
3747 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
3748 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
3749 (COND_CYGWIN): New condition.
3750 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
3751 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
3752 not @TARGET_OBJ2ELF@.
3753 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
3754 type to determine whether aux is to be used.
3755
0b5e127b
VS
37562011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
3757
3758 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
3759 realpath'ed device string.
3760 Handle floppy (somewhat).
3761 Issue error in unknown case rather than garbage.
3762 Reported by: Axel Beckert.
3763
173b71e9
VS
37642011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
3765
3766 * util/grub.d/00_header.in (load_video): Handle the case when no video
3767 drivers available.
3768 Thanks to: Axel Beckert.
3769
f8f479db
VS
37702011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
3771
3772 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
3773 variable. Fixes problem on big endian platforms.
3774
8fc0a245
VS
37752011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
3776
3777 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
3778 It doesn't work well there.
3779
b8494fbe
VS
37802011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
3781
3782 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
3783 warning.
3784 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
3785 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
3786 counter.
3787
b44a558c
VS
37882011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
3789
3790 Use alias->path rather than buggy "canon".
3791
3792 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
3793 (ofdisk_hash_add): New argument curcan. All users updated.
3794
51fa856c
CW
37952011-01-11 Colin Watson <cjwatson@ubuntu.com>
3796
3797 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
3798
9da068a5
VS
37992011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
3800
3801 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
3802 loadmask before doing any calculations. Use correct type for offset.
3803 (grub_linux_load64): Likewise.
3804
86205c94
CW
38052011-01-11 Colin Watson <cjwatson@ubuntu.com>
3806
3807 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
3808 with NULL.
3809 (console_grub_equivalences_unshift): Likewise.
3810 Reported by: Daniel Dehennin.
3811
4531a206
VS
38122011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
3813
3814 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
3815 (set_env_limn_ro): Likewise.
3816 (GRUB_MOD_INIT): Likewise.
3817 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
3818 ARRAY_SIZE while on it.
3819 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
3820 * grub-core/normal/context.c (grub_env_export): Move from here ...
3821 * grub-core/kern/env.c (grub_env_export): ... here.
3822 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
3823 prefix.
3824 * grub-core/kern/main.c (grub_main): Export root and prefix.
3825 * include/grub/env.h (grub_env_export): Export.
3826 Reported by: Seth Goldberg.
3827
45146057
VS
38282011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
3829
3830 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
3831 Take into account space used by ELF sections and multiboot palette.
3832 Reported by: Grégoire Sutre.
3833
f093110b
VS
38342011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
3835
3836 * BUGS: New file.
3837
3395fe52
VS
38382011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3839
3840 Pass more appropriate video id to Linux.
3841
3842 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
3843 grub_video_get_driver_id and variable gfxpayloadforcelfb to
3844 fill have_vga.
3845 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
3846 shift params->lfb_size.
3847 * include/grub/i386/linux.h: Make an enume out of have_vga values.
3848
c2fa6cbb
VS
38492011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3850
3851 * util/grub-menulst2cfg.c: Add missing include of misc.h.
3852
b3ff6ff0
VS
38532011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3854
3855 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
3856 separator and pass bootpath/devid even if only one of them is available.
3857 Reported by: Seth Goldberg.
3858
ae67942e
VS
38592011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3860
3861 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
3862 implementations bug on them.
3863
3864 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
3865 memory.
3866 (filter_memory_map): Likewise.
3867
d570097a
VS
38682011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3869
3870 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
3871 Reported by: nebuchadnezzar.
3872
a508e776
VS
38732011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3874
3875 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
3876 Reported by: nebuchadnezzar.
3877
dcb883b1
VS
38782011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3879
3880 Submenu default support.
3881
3882 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
3883 auto_boot. All users updated.
3884 Declared static.
3885 Handle chosen and default with submenus.
3886 (grub_menu_execute_with_fallback): Declared static.
3887 Don't notify failure if autobooted. Upper level does it.
3888 (menuentry_eq): New function.
3889 (get_entry_number): Use menuentry_eq.
3890 (show_menu): New parameter "autobooted". All users updated.
3891 (grub_show_menu): Likewise.
3892 * include/grub/normal.h (grub_show_menu): Likewise.
3893 * include/grub/menu.h (grub_menu_execute_entry): Removed.
3894 (grub_menu_execute_with_fallback): Likewise.
3895
6fef99b4
VS
38962011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3897
3898 * util/grub-mklayout.c (usage): Update help text.
3899
47a77af5
VS
39002011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3901
3902 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
3903
ce6bb3ee
VS
39042011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3905
3906 * util/grub-menulst2cfg.c (main): Trim the line.
3907
db87be2a
VS
39082011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3909
3910 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
3911 (grub_machine_init): Don't check amount of low memory as reportedly
3912 INT 12h can be broken and if low memory is too low we wouldn't have
3913 gotten into grub_machine_init anyway.
3914
c49849cc
VS
39152011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3916
3917 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
3918 (grub_machine_mmap_iterate): Take low memory into account
3919
b1969b30
VS
39202011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3921
3922 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
3923 badfs.
3924 Reported by: TiCPU.
3925
cf0eaf13
VS
39262011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
3927
3928 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
3929 members errors.
3930
1f060f39
GS
39312011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
3932
3933 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
3934 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
3935
a21e5672
GS
39362011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
3937
3938 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
3939 openbsd and netbsd types being in part_bsd module.
3940
c88172fa
VS
39412011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
3942
3943 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
3944 (_FILE_OFFSET_BITS): Likewise.
3945 Reported by: Seth Goldberg.
3946
53798c4b
GS
39472011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
3948
3949 * configure.ac: Check for libdevmapper header.
3950
e7121b69
VS
39512011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
3952
3953 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
3954 avoid aliasing.
3955 (fzap_lookup): Likewise.
3956 (dnode_get): Likewise.
3957 (make_mdn): Likewise.
3958 (zfs_mount): Likewise.
3959 (fzap_iterate): Use temporary pointer to avoid aliasing.
3960 (grub_zfs_read): Likewise.
3961 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
3962 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
3963 pointers to avoid aliasing.
3964 (grub_cmd_xnu_kernel64): Likewise.
3965 (grub_xnu_load_driver): Likewise.
3966
fc836af9
VS
39672011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
3968
3969 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
3970 aliasing warning.
3971 (grub_cmd_terminal_output): Likewise.
3972 Reported and tested by: Grégoire Sutre.
3973
f9f37648
VS
39742011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
3975
3976 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
3977 warning.
3978 Reported and tested by: Grégoire Sutre.
3979
ec1dfd63
VS
39802011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
3981
3982 * configure.ac: Do CPU substitution even if it's specified explicitly.
3983 Reported and tested by: Alain Greppin.
3984
9462775a
VS
39852011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
3986
3987 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
3988 Reported and tested by: Alain Greppin.
3989
0fd48e35
VS
39902011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
3991
3992 Satisfy some bison versions need for inttypes.h.
3993
3994 * grub-core/lib/posix_wrap/inttypes.h: New file.
3995 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
3996 (int16_t): Likewise.
3997 (int32_t): Likewise.
3998 (int64_t): Likewise.
3999 Reported and tested by: Alain Greppin.
4000
43f1bc83
VS
40012011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
4002
4003 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
4004 Silence spurious warning.
4005 Reported and tested by: Alain Greppin.
4006
64d1f041
SJ
40072011-01-07 Szymon Janc <szymon@janc.net.pl>
4008
4009 * docs/grub.texi (Support automatic decompression): Update with xz
4010 decompression support.
4011
25953e10
SJ
40122011-01-07 Szymon Janc <szymon@janc.net.pl>
4013
4014 Improve loaders' kernel command line handling.
4015
4016 * grub-core/lib/cmdline.c: New file.
4017 * include/grub/lib/cmdline.h: Likewise.
4018 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
4019 grub_create_loader_cmdline to create kernel command line.
4020 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
4021 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
4022 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
4023 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
4024 (linux): Add lib/cmdline.c on common.
4025
e72d259f
VS
40262011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
4027
4028 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
4029 inopos might be unaligned.
4030
c0cf26da
VS
40312011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
4032
4033 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
4034 endian transformations.
4035 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
4036 Based on report by: Doug Nazar.
4037
0ca09e6c
DN
40382011-01-07 Doug Nazar <nazard.michi@gmail.com>
4039
4040 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
4041 array->members[i].start_sector.
4042 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
4043
014b6806
VS
40442011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
4045
4046 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
4047 Reported and tested by: Grégoire Sutre.
4048
415502c2
CW
40492011-01-06 Colin Watson <cjwatson@ubuntu.com>
4050
4051 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
4052 avoid causing test failures by clearing the screen.
4053
71b6a2b7
CW
40542011-01-06 Colin Watson <cjwatson@ubuntu.com>
4055
4056 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
4057 Fix prefix check to handle the case where dir ends with a slash
4058 (most significantly, "/" itself).
4059 Reported by: Michael Vogt.
4060
b3f8d28a
VS
40612011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
4062
4063 Run terminfo_cls on initing terminfo output to clear the screen and
4064 move the cursor to (0,0).
4065
4066 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
4067 Call grub_terminfo_output_init.
4068 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
4069 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
4070 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
4071
4c3e4f37
VS
40722011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
4073
4074 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
4075 only when needed.
4076
488f71f1
VS
40772011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
4078
4079 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
4080 CTRL.
4081
18a38098
VS
40822011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
4083
4084 The E820 type 5 is BADRAM, not EXEC_CODE.
4085
4086 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
4087 (GRUB_E820_BADRAM): New define.
4088 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
4089 into reserved. Propagate BADRAM.
4090 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
4091 (GRUB_E820_BADRAM): New define.
4092
9eae2084
VS
40932011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
4094
4095 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
4096 Ignore the memory post-4G.
4097 (grub_relocator_firmware_alloc_region): Additional debug statement.
4098
ebc71d28
VS
40992011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
4100
4101 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
4102 names.
4103 Reported by: David Pravec.
4104
446fa400
VS
41052011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
4106
4107 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
4108 BIOSes.
4109
a0159f37
VS
41102011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
4111
4112 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
4113 Prevent overflow.
4114 (grub_reed_solomon_recover): Likewise.
4115
e5146ca1
VS
41162011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
4117
4118 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
4119
41202011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
4121
4122 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
4123 variable.
4124
5b1bdf12
CW
41252011-01-04 Colin Watson <cjwatson@ubuntu.com>
4126
4127 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
4128 descriptions of extract_legacy_entries_source and
4129 extract_legacy_entries_configfile.
4130 Reported by: Seung Soo, Ha.
4131
99d925aa
CW
41322011-01-03 Colin Watson <cjwatson@ubuntu.com>
4133
4134 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
4135 on devices that do not implement function 0.
4136
4af0504b
DV
41372011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
4138
4139 * grub-core/fs/hfsplus.c: Make parent unsigned.
4140 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
4141 overflows.
4142 (grub_hfsplus_cmp_extkey): Likewise
4143
469ee10a
VS
41442011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
4145
4146 * util/grub-install.in: Correctly use bootloader_id and not
4147 GRUB_DISTRIBUTOR on efibootmgr line.
4148
323a8e9c
VS
41492011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
4150
4151 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
4152
1b394975
IC
41532010-12-31 Ian Campbell <ijc@hellion.org.uk>
4154
4155 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
4156 Xen and reorder menu item wording to make it clearer that this entry
4157 will launch Xen. Print separate messages when loading Xen and
4158 Linux.
4159
275bff5f
VS
41602010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
4161
4162 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
4163 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
4164 loop in case of incorrect amiga partmap.
4165
307806cb
VS
41662010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
4167
4168 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
4169 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
4170 Reported by:EHeM.
4171
b12b923e
VS
41722010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
4173
4174 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
4175 spurious warning.
4176 Reported by: crocket
4177
14b48a19
VS
41782010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
4179
4180 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
4181 Preload EFIemu.
4182 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
4183
693db2df
VS
41842010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
4185
4186 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
4187 is loaded
4188 (grub_cmd_xnu_kextdir): Likewise.
4189 (grub_cmd_xnu_splash): Likewise.
4190
c7638645
VS
41912010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
4192
4193 Avoid using Reed-Solomon with 0 redundancy.
4194
4195 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
4196 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
4197 or 0 redundancy.
4198 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
4199 (grub_reed_solomon_recover): Likewise.
4200
25dd4780
VS
42012010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
4202
4203 Don't use disk subsystem in freebsd_boot.
4204
4205 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
4206 (freebsd_biosdev): Likewise.
4207 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
4208 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
4209
0b2db943
VS
42102010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
4211
4212 Handling of files of unknown size is currently limited. They can't be
4213 used e.g. for initrd or modules. Moreover gzip handling of not
4214 easily seekable files is buggy. Disable unknown file size for now. May
4215 be inefficient but works.
4216
4217 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
4218 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
4219
5c408d0f
MP
42202010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
4221
4222 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
4223 floppy probe.
4224
190a011a
JD
42252010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
4226
4227 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
4228
022d01b8
SL
42292010-12-25 Shea Levy <shlevy>
4230
4231 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
4232
c4855fdc
VS
42332010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4234
4235 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
4236 Windows Server 2008.
4237 Reported by: Devin Giddings.
4238
0354b867
VS
42392010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
4240
4241 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
4242 writing an error message because of async power management.
4243 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
4244 (grub_reboot): Likewise.
4245
ab66c69f
JU
42462010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
4247
4248 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
4249 keep unit tests from failing when they shouldn't.
4250
1426ef35
CW
42512010-12-21 Colin Watson <cjwatson@ubuntu.com>
4252
4253 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
4254 previous patch increased the size of the RS code by 20 bytes (at
4255 least with gcc-4.4), so increase this by 20 bytes to match.
4256 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
4257
20641b6b
CW
42582010-12-21 Colin Watson <cjwatson@ubuntu.com>
4259
4260 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
4261 scratch area. Make sure to initialise chosen in standalone mode as
4262 well as non-standalone.
4263 Reported by: Robert Hooker and Andy Whitcroft.
4264 Tested by: Andy Whitcroft.
4265
d060ad60
CW
42662010-12-21 Colin Watson <cjwatson@ubuntu.com>
4267
4268 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
4269 constructing a new unescaped string and passing it to grub_xputs in
4270 one go, rather than passing characters to grub_printf one at a time.
4271
b889cfad
CW
42722010-12-21 Colin Watson <cjwatson@ubuntu.com>
4273
4274 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
4275 initialising utf16.
4276
4e01b6c8
CW
42772010-12-21 Colin Watson <cjwatson@ubuntu.com>
4278
4279 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
4280 comment. Add an extra layer of quotation, requiring the output of
4281 this function to be used in a printf format string.
4282 (gettext_printf): New function.
4283 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
4284 Extract translatable strings from here-documents and use a temporary
4285 variable instead, so that xgettext can find them.
4286 * util/grub.d/10_kfreebsd.in: Likewise.
4287 * util/grub.d/10_linux.in: Likewise.
4288 * util/grub.d/20_linux_xen.in: Likewise.
4289
4290 * po/grub.d.sed: New file.
4291 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
4292 arguments. Set c-format flags on all strings extracted from
4293 util/grub.d/ (xgettext refuses to include these itself for strings
4294 it extracted from a shell file, but these really are c-format).
4295
5318fe98
VS
42962010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
4297
4298 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
4299 Avoid next pointing to nowhere.
4300
6c85b743
VS
43012010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
4302
4303 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
4304 rather than assuming than rootblock is exactly in the middle.
4305 (grub_affs_label): Likewise.
4306
a2a08a35
VS
43072010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
4308
4309 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
4310 reserved_first_sector to 0.
4311 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
4312 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
4313 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
4314
7059d1ec
VS
43152010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
4316
4317 Fix handling of UTF-16 UDF labels.
4318
4319 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
4320 (read_string): .. here.
4321 (grub_udf_label): Use read_string.
4322
30aff4cb
BC
43232010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
4324
4325 * grub-core/normal/menu_entry.c (run): Execute commands from menu
4326 editor under argument scope.
4327 Reported by: Jordan Uggla
4328
5cf86f4b
VS
43292010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
4330
4331 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
4332
32570200
CW
43332010-12-18 Colin Watson <cjwatson@ubuntu.com>
4334
4335 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
4336 line, and other keys scroll an entire page (previous handling was
4337 for \r and \n to scroll a page and other keys to scroll two lines).
4338
e1dffcf2
VS
43392010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
4340
4341 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
4342 Set ptrdest to correct get_physical_target_address rather than
4343 incorrect get_virtual_current_address.
4344
b04298cf 43452010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
4346
4347 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
4348 correct cat to grub_uint8_t * rather than grub_uint32_t *.
4349
5367ecd3
CW
43502010-12-10 Colin Watson <cjwatson@ubuntu.com>
4351
4352 * .bzrignore: Ignore grub-core/rs_decoder.S.
4353
1fb430f8
CW
43542010-12-10 Colin Watson <cjwatson@ubuntu.com>
4355
4356 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
4357 .mo/.mo.gz opening sequence to ...
4358 (grub_mofile_open_lang): ... here.
4359 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
4360 * util/grub.d/00_header.in (grub_lang): Include country part of
4361 locale.
4362 Reported by: Mario Limonciello.
4363
a94a6671
RM
43642010-12-09 Robert Millan <rmh@gnu.org>
4365
4366 * NEWS: Document addition of ZFS support.
4367
24b7938b
CW
43682010-12-04 Colin Watson <cjwatson@ubuntu.com>
4369
4370 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
4371 rather than `/ 2', as the latter requires -Wa,--divide which would
4372 require bumping our minimum binutils version.
4373
bddc3ef6
BC
43742010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
4375
4376 * util/grub-script-check.c (main): Print script line number on
4377 error.
4378
bf78d5b2
RM
43792010-12-01 Robert Millan <rmh@gnu.org>
4380
4381 * grub-core/fs/zfs/zfs.c: New file.
4382 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
4383 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
4384 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
4385 * grub-core/fs/zfs/zfsinfo.c: Likewise.
4386
4387 * include/grub/zfs/dmu.h: Likewise.
4388 * include/grub/zfs/dmu_objset.h: Likewise.
4389 * include/grub/zfs/dnode.h: Likewise.
4390 * include/grub/zfs/dsl_dataset.h: Likewise.
4391 * include/grub/zfs/dsl_dir.h: Likewise.
4392 * include/grub/zfs/sa_impl.h: Likewise.
4393 * include/grub/zfs/spa.h: Likewise.
4394 * include/grub/zfs/uberblock_impl.h: Likewise.
4395 * include/grub/zfs/vdev_impl.h: Likewise.
4396 * include/grub/zfs/zap_impl.h: Likewise.
4397 * include/grub/zfs/zap_leaf.h: Likewise.
4398 * include/grub/zfs/zfs.h: Likewise.
4399 * include/grub/zfs/zfs_acl.h: Likewise.
4400 * include/grub/zfs/zfs_znode.h: Likewise.
4401 * include/grub/zfs/zil.h: Likewise.
4402 * include/grub/zfs/zio.h: Likewise.
4403 * include/grub/zfs/zio_checksum.h: Likewise.
4404
4405 * Makefile.util.def: Build ZFS into libgrubmods.
4406 * grub-core/Makefile.core.def: Build zfs.mod.
4407
3f0f3831
SJ
44082010-11-30 Szymon Janc <szymon@janc.net.pl>
4409
4410 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
4411 variable.
4412 * grub-core/commands/wildcard.c (match_files): Likewise.
4413
3a4253b2
RM
44142010-11-30 Robert Millan <rmh@gnu.org>
4415
4416 * grub-core/loader/i386/bsd.c
4417 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
4418 whether kernel is loaded using grub_loader_is_loaded(), rather
4419 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
4420 certain error conditions.
4421
8c317b27
RM
44222010-11-30 Robert Millan <rmh@gnu.org>
4423
c5c9cd3e
RM
4424 * grub-core/commands/echo.c: Include `<grub/term.h>'.
4425 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 4426
49d3ab46
VS
44272010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
4428
4429 Avoid using tricks for initialising endian variables.
4430
4431 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
4432 Make const.
4433 (GRUB_MOD_INIT): Don't byte-swap.
4434 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
4435 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
4436 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
4437 (grub_swap_bytes32_compile_time): Likewise.
4438 (grub_cpu_to_le32_compile_time): Likewise.
4439 (grub_cpu_to_le16_compile_time): Likewise.
4440
f420a804
VS
44412010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
4442
4443 * util/grub-setup.c (setup): Stop recommending --force. People who
4444 understand the dangers of blocklists are able to find this option
4445 anyway and the ones who don't shouldn't use it anyway.
4446
4e7db17b
RM
44472010-11-26 Robert Millan <rmh@gnu.org>
4448
4449 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
4450 Update all users.
4451
9be57a0d
CW
44522010-11-26 Colin Watson <cjwatson@ubuntu.com>
4453
4454 Fix LVM-on-RAID probing.
4455
4456 * util/grub-probe.c (probe): Remember which disk was detected as
4457 RAID (perhaps an LVM physical volume). Use that disk's raidname
4458 rather than that of the top-level disk.
4459
2c7859b3 44602010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 4461
d7647bb6
BC
4462 Fix cmdline argument quotes for setparams command of menuentry
4463 definitions.
7e623b0d
BC
4464
4465 * grub-core/commands/menuentry.c (setparams_prefix): Use single
4466 quotes for arguments.
f866fe80 4467 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 4468 grub_strchrsub function instead.
f866fe80 4469
7955bea0 4470 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 4471
74f72a64
CW
44722010-11-24 Colin Watson <cjwatson@ubuntu.com>
4473
4474 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
4475 effort by skipping "." and ".." entries up-front.
4476 Suggested by: Michael Lazarev.
4477
5a407278
CW
44782010-11-24 Colin Watson <cjwatson@ubuntu.com>
4479
4480 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
4481 ldflags to ldadd, to fix link line ordering.
4482 (none_decompress): Likewise.
4483
3030d8ec
CW
44842010-11-24 Colin Watson <cjwatson@ubuntu.com>
4485
4486 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
4487 platforms.
4488 (grub-emu-lite): Remove kern/emu/cache.S.
4489
b7fbac12
CW
44902010-11-23 Colin Watson <cjwatson@ubuntu.com>
4491
4492 * util/deviceiter.c (compare_devices): If the by-id link for a
4493 device couldn't be resolved, fall back to sorting by the by-id link
4494 rather than segfaulting.
4495 Reported and tested by: Daniel Mierswa.
4496
5225f328
CW
44972010-11-23 Colin Watson <cjwatson@ubuntu.com>
4498
4499 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
4500 ldflags, to fix link line ordering.
4501
038b3ce8
CW
45022010-11-23 Colin Watson <cjwatson@ubuntu.com>
4503
4504 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
4505 linkers are picky about this.
4506
bf16e98e
CW
45072010-11-23 Colin Watson <cjwatson@ubuntu.com>
4508
4509 * grub-core/Makefile.am (command.lst): Adjust sed expression
4510 ordering so that extended and priority commands aren't treated as
4511 ordinary commands.
4512
7242bab6
CW
45132010-11-23 Colin Watson <cjwatson@ubuntu.com>
4514
4515 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
4516 Remove byte-swapping function calls, which are not valid in
4517 structure initialisers.
4518 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
4519 non-const.
4520 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
4521 grub_gpt_partition_type_bios_boot.
4522
14e8b279
CW
45232010-11-22 Colin Watson <cjwatson@ubuntu.com>
4524
4525 Fix test program build on GNU/kFreeBSD.
4526
4527 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
4528 $(LIBNVPAIR)' library dependencies.
4529
e6f63338 45302010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
4531
4532 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
4533
cf8ffc38
CW
45342010-11-22 Colin Watson <cjwatson@ubuntu.com>
4535
4536 * util/grub-install.in: Remove excessive quoting that broke
4537 installations to RAID devices.
4538
7f8b0fd7
VS
45392010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
4540
4541 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
4542 bootloader version instead of 0.
4543
dfd240b1
VS
45442010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
4545
4546 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
4547 warning.
4548
7b61e609
VS
45492010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
4550
4551 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
4552 retrieve the metadat sector if size isn't known.
4553 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
4554
9dfe92d0
RM
45552010-11-18 Robert Millan <rmh@gnu.org>
4556
4557 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
4558 with grub_memcmp().
4559
41cc919e
VS
45602010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
4561
4562 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
4563 arrow.
4564 Reported by: Jordan Uggla.
4565
1afcc914
VS
45662010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
4567
4568 Make better UTF compliant.
4569
4570 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
4571 sequences as incorrect.
4572 (grub_is_valid_utf8): Likewise.
4573 (grub_utf8_to_ucs4): Likewise.
4574 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
4575 (grub_ucs4_to_utf8_alloc): Likewise.
4576 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
4577
f1808884
VS
45782010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
4579
4580 Make legacy_source behave like source.
4581
4582 * grub-core/commands/legacycfg.c (legacy_file): Don't call
4583 grub_show_menu.
4584 (grub_cmd_legacy_source): Call grub_show_menu if needed.
4585
24ec575b
CW
45862010-11-16 Colin Watson <cjwatson@debian.org>
4587
4588 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
4589 (-Wunused implies -Wunused-parameter, but not vice versa).
4590
72b7c7aa
CW
45912010-11-16 Colin Watson <cjwatson@ubuntu.com>
4592
4593 * configure.ac: Make error messages less confusing by testing for
4594 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
4595 accepted, but produces a diagnostic if something else is wrong).
4596
e98937aa
VS
45972010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
4598
4599 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
4600 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
4601 (now unused).
4602 (grub_keyboard_controller_init)
4603 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
4604 read the initial state since controller isn't inited yet.
4605
f6bbabc3
VS
46062010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
4607
4608 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
4609 allocate_regbeg may need to create new chunk header.
4610
22e7dbb2
VS
46112010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
4612
4613 Fix quoting in legacy parser.
4614
4615 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
4616 single quotes.
4617 (grub_legacy_parse): Likewise.
4618 Reported by: Jordan Uggla.
4619 Tested by: Jordan Uggla.
4620
03f80960
VS
46212010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
4622
4623 Don't add -lgcc on i386 and x86_64.
4624
4625 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
4626 * conf/Makefile.common (LDADD_KERNEL): Likewise.
4627 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
4628
779dc15b
VS
46292010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
4630
4631 * configure.ac: Add -Wno-trampolines when supported.
4632
d20a3b37
MV
46332010-11-14 Modestas Vainius <modax@debian.org>
4634
4635 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
4636 fakeraid.
4637
e5360933
GC
46382010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
4639
4640 Add generic logical block size support for UDF.
4641
4642 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
4643 (GRUB_UDF_BLKSZ): Removed.
4644 (struct grub_udf_data): New field "lbshift" to hold the logical block
4645 size of the file system in log2 format. All users updated.
4646 (sblocklist): Change type to unsigned.
4647 (grub_udf_mount): Change type of "sblklist" to unsigned.
4648 Move AVDP search before VRS recognition, because the latter requires
4649 knowledge of the logical block size, which is detected during the
4650 former.
4651 Detect and validate logical block size during AVDP search, adding
4652 support for block sizes 512, 1024 and 4096.
4653 Make VRS recognition independent of block size.
4654
cb0229c5
GC
46552010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
4656
4657 Properly handle deleted files on UDF.
4658
4659 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
4660 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
4661 set.
4662
406858a8
GC
46632010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
4664
4665 Support reading files larger than 2 GiB.
4666
4667 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
4668 "offset" to grub_off_t.
4669 (grub_udf_read_file): Likewise for parameter "pos".
4670
130da6a7
VS
46712010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
4672
4673 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
4674 unavailable.
4675 (Simple configuration): Refer to Changes from GRUB Legacy about
4676 save_env availability.
4677
65e93f6b
VS
46782010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
4679
4680 * util/grub-install.in: Ignore empty partition table detection
4681 instead of trying to include part_ module.
4682
1fd08bf1
VS
46832010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
4684
4685 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
4686 LVM on RAID support.
4687
de1a024f
VS
46882010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
4689
4690 Properly define WORDS_BIGENDIAN in wrapped environments.
4691
4692 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
4693 definition.
4694 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
4695
4696 Reported by: Manoel Rebelo Abranches.
4697 Tested by: Manoel Rebelo Abranches.
4698
bc5dd0b9
VS
46992010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
4700
4701 * util/grub-mkconfig.in: Fix quoting.
4702
58c184be
VS
47032010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
4704
4705 Support big ext2 files.
4706
4707 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
4708 (grub_ext2_read_block): Support triple indirect blocks.
4709 (grub_ext2_read_file): Use 64-bit types and read size_high.
4710 (grub_ext2_open): Read size_high.
4711 Reported by: Ximin Luo.
4712 Tested by: Manoel Rebelo Abranches.
4713
5f0c02b3
VS
47142010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
4715
4716 * util/grub-install.in: Handle filenames containing spaces.
4717 Reported by: Jordan Uggla.
4718 Tested by: Jordan Uggla.
4719
4417aae6
VS
47202010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
4721
4722 * util/grub-mkconfig.in (grub_script_check): New variable.
4723 Use grub_script_check instead of grub-script-check.
4724 Reported by: Barry Jackson.
4725
7625a68e
VS
47262010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
4727
4728 * docs/grub.texi (menu): Correct the order.
4729 Reported by: D. Hugh Redelmeier.
4730
10001ac5
VS
47312010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
4732
4733 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
4734 jump.
4735
9c4cf53b
MRA
47362010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
4737
10001ac5
VS
4738 * include/grub/elfload.h (grub_elf32_size): New parameter.
4739 All users updated.
9c4cf53b
MRA
4740 Return maximum segments alignment.
4741 (grub_elf64_size): Likewise.
4742 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
4743 Return maximum segments alignment.
4744 (grub_elf64_size): Likewise.
4745 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
4746 (grub_linux_claimmap_iterate): New function. Uses the
4747 "available" property in the "memory" node for memory allocation
4748 for kernel in the PowerPC loader.
9c4cf53b
MRA
4749 (grub_linux_load32): Correctly find linux entry point offset.
4750 (grub_linux_load64): Likewise.
4751
d2bf06bf
RM
47522010-11-07 Robert Millan <rmh@gnu.org>
4753
4754 On mips-yeeloong, build with -march=loongson2f when this flag is
4755 available (GCC >= 4.4).
4756 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
4757 `-march=mips3'.
4758 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
4759 or otherwise add -march=mips3.
4760
898c99a2
BC
47612010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
4762
87220a68
BC
4763 Suppress shell expansion on echo '*' and echo "*" like cases.
4764 Reported by: Jordan Uggla.
898c99a2
BC
4765
4766 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
4767 string arguments before shell expansion.
4768 * tests/grub_cmd_echo.in: New testcases.
4769
4f9b406a
RM
47702010-11-07 Robert Millan <rmh@gnu.org>
4771
4772 * conf/mips-qemu-mips.rmk: Remove stale file from previous
4773 transition.
4774
80c6d25e
VS
47752010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
4776
4777 * grub-core/kern/emu/hostdisk.c
4778 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
4779
4a1a0153
VS
47802010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
4781
4782 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
4783 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
4784 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
4785
34706ddc
VS
47862010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
4787
4788 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
4789
6972dea9
VS
47902010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
4791
4792 * util/grub-install.in: Replace useless recomendation to pass
4793 --modules with a recomendation to report a bug.
4794
9c693bd6
VS
47952010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
4796
4797 Properly register serial terminfo.
4798 Reported by: Jordan Uggla
4799
4800 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
4801 const.
4802 (grub_serial_terminfo_output_template): Likewise.
4803 (grub_cmd_serial): Register "serial" with terminfo.
4804 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
4805 grub_serial_terminfo_output.
4806
6c9e4c0c
RM
48072010-11-05 Robert Millan <rmh@gnu.org>
4808
4809 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
4810 needed).
4811
b9b3839f
RM
48122010-11-05 Robert Millan <rmh@gnu.org>
4813
4814 On Yeeloong, pass machine type information to Linux.
4815
4816 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
4817 (LOONGSON_MACHTYPE): New macro, set to
4818 "machtype=lemote-yeeloong-2f-8.9inches".
4819 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
4820 additional argument to Linux.
4821
1a3aaff4
RM
48222010-11-04 Robert Millan <rmh@gnu.org>
4823
4824 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
4825 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
4826 (its SATA disks are detected as slaveless IDE master drives on
4827 kFreeBSD).
4828 Reported by Carsten Aulbert.
4829
a75f4f62
CW
48302010-11-02 Colin Watson <cjwatson@ubuntu.com>
4831
4832 * util/bin2h.c (main): Fix spelling error in generated output.
4833
33b4b0c6
GS
48342010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
4835
4836 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
4837
2b36fbf4
VS
48382010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
4839
4840 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
4841 vga= option is supplied.
4842
74aaf558
VS
48432010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
4844
4845 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
4846 * util/grub.d/10_kfreebsd.in: Likewise.
4847 * util/grub.d/10_linux.in: Likewise.
4848 * util/grub.d/20_linux_xen.in: Likewise.
4849
6428dec3
VS
48502010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
4851
4852 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
4853 argument as an argument to no-argument option.
4854
f8729d98
VS
48552010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
4856
4857 * util/grub.d/10_linux.in: Add missing load_video with explicit
4858 GRUB_GFXPAYLOAD_LINUX.
4859
89d68fa6
VS
48602010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
4861
4862 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
4863
3a1197cd
VS
48642010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
4865
4866 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
4867 elements with invlid index.
4868 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
4869 * grub-core/disk/raid.c (insert_array): Automatically reallocate
4870 members.
4871 * include/grub/raid.h (grub_raid_member): New struct.
4872 (grub_raid_array): Transform devices and start_sector into usage of
4873 grub_raid_member. All users updated
4874 (allocated_devs): New member.
4875
71574288
VS
48762010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
4877
4878 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
4879 is modified
4880
8d40ec65
BC
48812010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
4882
4883 NetBSD build fix for getline function conflict from gnulib.
4884
4885 * Makefile.util.def (libgrubkern.a): New library for grub kernel
4886 components that depend on gnulib headers.
4887 (libgrubmods.a): Renamed from earlier libgrub.a.
4888 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
4889
95b9257e
VS
48902010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
4891
4892 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
4893 install rather than creating a broken install.
4894
26c53dc6
VS
48952010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
4896
4897 * util/grub-setup.c (argp): Remove misleading example of installing to
4898 a partition.
4899
4171b3c5
VS
49002010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
4901
4902 * util/grub-setup.c (setup): Clarify the error message.
4903
18568d18
VS
49042010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
4905
4906 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
4907
4f6a2e21
VS
49082010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
4909
4910 * grub-core/kern/emu/misc.c
4911 (grub_make_system_path_relative_to_its_root)
4912 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
4913
49142010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
4915
4916 * grub-core/kern/emu/misc.c
4917 (grub_make_system_path_relative_to_its_root): Revert r2882.
4918
e138c458
VS
49192010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
4920
4921 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
4922 useless field head. All users updated.
4923 (free_subchunk): Correct handling of IN_REGION subchunk.
4924
0cbcdf0e
CW
49252010-10-22 Colin Watson <cjwatson@ubuntu.com>
4926
4927 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
4928 (Supported kernels): Likewise.
4929
b65ea155
GS
49302010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
4931
4932 Make mktemp invocations portable.
4933
4934 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
4935 exit if mktemp fails.
4936 * tests/grub_script_blockarg.in: Likewise.
4937 * tests/partmap_test.in: Likewise.
4938 * tests/util/grub-shell-tester.in: Likewise.
4939 * tests/util/grub-shell.in: Likewise.
4940 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
4941 * Makefile.am: Likewise, and chain shell commands with `&&'
4942 instead of ';'.
4943 * util/grub-mkrescue.in: Use the same explicit template as above, and
4944 exit if mktemp fails.
4945
05f43cdd
BC
49462010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
4947
4948 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
4949 Linux kernel, reported by Dennis Schridde.
4950
800e6a9b
SJ
49512010-10-17 Szymon Janc <szymon@janc.net.pl>
4952
4953 * grub-core/normal/auth.c (grub_auth_check_authentication):
4954 Set-but-not-used variable removed.
4955
d82df574
VS
49562010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
4957
4958 * docs/grub.texi (GNU/Linux): Document APM unavailability with
4959 32-bit linux protocol.
4960
7bced458
VS
49612010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
4962
4963 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
4964 cursor shape for sanity.
4965
5b027690
VS
49662010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
4967
4968 * docs/grub.texi (Installation): Document buggy BIOS install.
4969
ba5f65cf
VS
49702010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
4971
4972 * docs/grub.texi (Installation): Indent.
4973
fdf2ec9c
VS
49742010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
4975
4976 * util/grub-setup.c (setup): New parameter allow_floppy.
4977 (arguments): New member allow_floppy.
4978 (argp_parser): Handle --allow-floppy.
4979 (main): Pass allow_floppy.
4980 * util/grub-install.in: New option --allow-floppy passed though to
4981 grub-setup.
4982
861dfd4c
VS
49832010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
4984
4985 * util/grub-install.in: Handle partitionless disks.
4986
f77a8c24
VS
49872010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
4988
4989 * util/grub-setup.c (setup): Don't clean blocklists before readability
4990 verfification.
4991
27d9ee32
VS
49922010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
4993
4994 * docs/grub.texi (Installation): Document embedding zone. Remove
4995 obsolete grub-install example.
4996
6bdda8f8
SJ
49972010-10-16 Szymon Janc <szymon@janc.net.pl>
4998
4999 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
5000 Set-but-not-used variable ifdef'ed.
5001 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
5002 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
5003 variable removed.
5004 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
5005 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
5006 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
5007 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
5008 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
5009 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
5010 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
5011 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
5012 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
5013 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
5014 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
5015 Likewise.
5016
e19b016b
VS
50172010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
5018
5019 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
5020 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
5021 enum value.
5022
6c8d3002
VS
50232010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
5024
5025 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
5026 synonym to _S5_. Needed for some DSDTs.
5027
c32b51c9
VS
50282010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
5029
5030 Userspace ACPI parser debugging.
5031
5032 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
5033 headers and add relevant defines. Don't include standard headers.
5034 (main) [GRUB_DSDT_TEST]: New function.
5035 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
5036 Don't declare functions.
5037
fbfbeb39
VS
50382010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
5039
5040 Remove dead grub_efi_mm_fini.
5041
5042 * grub-core/kern/efi/mm.c (allocated_page): Removed.
5043 (ALLOCATED_PAGES_SIZE): Likewise.
5044 (MAX_ALLOCATED_PAGES): Likewise.
5045 (allocated_pages): Likewise.
5046 (grub_efi_allocate_pages): Don't record allocated pages.
5047 (grub_efi_free_pages): Likewise.
5048 (grub_efi_mm_init): Likewise.
5049 (grub_efi_mm_fini): Removed.
5050
65f7ed7c
VS
50512010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
5052
5053 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
5054 (grub_efi_mm_init): Take into account the memory map size increase.
5055
24977b44
VS
50562010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
5057
5058 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
5059 (serial_hw_put): Wait based on real time rather than port reads. Don't
5060 roken ports.
5061 * include/grub/serial.h (grub_serial_port): New field broken.
5062
1eb01cd2
RM
50632010-10-16 Robert Millan <rmh@gnu.org>
5064
5065 * grub-core/kern/emu/misc.c
5066 (grub_make_system_path_relative_to_its_root): Fix premature return
5067 when processing non-root ZFS filesystems.
5f8b440b 5068 Reported by Sergio Talens-Oliag.
1eb01cd2 5069
2d5fed60
RM
50702010-10-15 Robert Millan <rmh@gnu.org>
5071
5072 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
5073 guarantee compressed ones are processed first.
5074
d0f4c1ea
VS
50752010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
5076
5077 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
5078 grub_efiemu_autocore.
5079
d87c681f
VS
50802010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
5081
5082 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
5083 rather than 0x1b.
5084 (grub_console_getkey): Use correct jae opcode rather than ja.
5085
219b3564
RM
50862010-10-12 Robert Millan <rmh@gnu.org>
5087
5088 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
5089 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
5090 variable. All references updated.
5091
5092 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
5093
20c6bb7e
VS
50942010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
5095
5096 Correctly distinguish mdraid flavours.
5097
5098 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
5099 (insert_array): New argument raid.
5100 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
5101 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
5102 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
5103
74baff84
VS
51042010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
5105
5106 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
5107 handling of special keys.
5108
3ef068df 51092010-10-02 Aleš Nesrsta <starous@volny.cz>
5110
c7980ad9
VS
5111 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
5112 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 5113
a9455194 51142010-10-02 Aleš Nesrsta <starous@volny.cz>
5115
c7980ad9
VS
5116 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
5117 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
5118 users updated.
a9455194 5119 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 5120 Use right endpoint when querying descriptor.
a9455194 5121
441cfe65
VS
51222010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
5123
5124 Clear out 0x80 color bit on EFI.
5125 Tested by: decoder
5126 Reported by: decoder and meta tech.
5127
5128 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
5129 (grub_console_setcolorstate): Clear out 0x80 bit.
5130 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
5131 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
5132 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
5133
bf26bcc4
VS
51342010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
5135
5136 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
5137 Set to "auto".
5138
6e3c515d
VS
51392010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
5140
5141 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
5142 mo_file after freeing.
5143
e6d983ba
VS
51442010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
5145
5146 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
5147
74ccb5b5
VS
51482010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
5149
5150 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
5151 flags.
5152
17821956
VS
51532010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
5154
5155 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
5156 usage.
5157
ee74fa48
VS
51582010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
5159
5160 Put terminfo into core on ieee1275 and yeeloong (needed for console).
5161
5162 * gentpl.py: New groups terminfoinkernel and terminfomodule.
5163 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
5164 and terminfo.h when needed.
5165 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
5166 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
5167 (terminfo): Enable only on terminfokernel.
5168 (extcmd): Likewise.
5169 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
5170 * include/grub/lib/arg.h: Likewise.
5171 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
5172 incorrect usage of ->.
5173
aa438e68
VS
51742010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
5175
5176 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
5177 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
5178
57994012
VS
51792010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
5180
5181 Fix coreboot compilation.
5182
5183 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
5184 Take VBE info into account even if only text is supported.
5185 (fill_vbe_info): Take into account the case when only VGA text
5186 is supported.
5187 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
5188 on coreboot, multiboot and qemu.
5189
2a406611
VS
51902010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
5191
5192 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
5193 debug messages.
5194 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
5195
d33613fc
VS
51962010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
5197
5198 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
5199 parameters.
5200
44a1b432
VS
52012010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
5202
5203 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
5204 if they were BSD-style.
5205
edde54e6
VS
52062010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
5207
5208 * grub-core/boot/i386/pc/lnxboot.S: Replace
5209 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
5210 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
5211
b65830fa
VS
52122010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
5213
5214 Write embedding zone using Reed-Solomon.
5215
5216 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
5217 * grub-core/Makefile.am (rs_decoder.S): New target.
5218 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
5219 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
5220 (multiboot): Move to RS part.
5221 (post_reed_solomon): New label.
5222 (grub_boot_drive): Move to non-RS part since it's modified in memory
5223 on boot.
5224 Include rs_decoder.S.
5225 * grub-core/lib/reed_solomon.c: New file.
5226 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
5227 New definition.
5228 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
5229 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
5230 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
5231 * include/grub/partition.h (grub_partition_map): Change prototype of
5232 embed to allow returning additional sectors.
5233 * include/grub/reed_solomon.h: New file.
5234 * util/grub-setup.c (setup): Handle Reed-Solomon.
5235
0b4b227f
CW
52362010-09-28 Colin Watson <cjwatson@ubuntu.com>
5237
5238 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
5239 i386 and x86-64 definedness tests.
5240
f772623b
YB
52412010-09-27 Yves Blusseau <blusseau@zetam.org>
5242
5243 Fix generation of kernel_syms.lst
5244
5245 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
5246 ASM_PREFIX
5247
8e57a6ca
RM
52482010-09-26 Robert Millan <rmh@gnu.org>
5249
5250 Support degraded ZFS arrays in "grub-probe -t device" resolution.
5251
5252 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
5253 the pool is an array of devices, iterate through it and return the
5254 first device that passes a stat() test (instead of blindly returning
5255 the first one).
5256
f9130836
RM
52572010-09-26 Robert Millan <rmh@gnu.org>
5258
5259 Build fixes for GNU/kFreeBSD.
5260
5261 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
5262 to programs that require ZFS conversion.
5263 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
5264 kernels that don't have FLOPPY_MAJOR.
5265
96510faf
BC
52662010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
5267
5268 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
5269
449333eb
BC
52702010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
5271
5272 Fix grub-emu build.
5273
5274 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
5275 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
5276 mdraid09 and mdraid1x.
5277
e1fd1939
CW
52782010-09-24 Colin Watson <cjwatson@ubuntu.com>
5279
5280 Re-enable grub-extras.
5281
5282 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
5283 avoid confusing Automake. Run autogen only twice, once for the top
5284 level and once for grub-core. Add Makefile.util.def and
5285 Makefile.core.def from extra modules to the appropriate autogen
5286 invocations. If Makefile.common exists in an extra module, include
5287 it in both Makefile.util.am and grub-core/Makefile.core.am;
5288 similarly, include any Makefile.util.common file in Makefile.util.am
5289 and any Makefile.core.common file in grub-core/Makefile.core.am.
5290 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
5291 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
5292 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
5293 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
5294
5295 * gentpl.py (gvar_add): Turn GVARS into a set.
5296 (global_variable_initializers): Sort global variables on output.
5297 (vars_init): New function.
5298 (first_time): Likewise.
5299 (library): Ensure that non-global variable initialisations are
5300 emitted before the first time we emit code for a library block.
5301 Append to variables rather than setting them. Only emit
5302 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
5303 each conditional path.
5304 (program): installdir() emits an Autogen macro, so must be passed to
5305 var_add rather than gvar_add.
5306 (data): Likewise.
5307 (script): Likewise.
5308 (rules): New function, centralising handling for different target
5309 types. Set up Guile association lists for first_time and vars_init,
5310 and send most output to a diversion so that variable initialisations
5311 can be emitted first.
5312 (module_rules): Use new rules function.
5313 (kernel_rules): Likewise.
5314 (image_rules): Likewise.
5315 (library_rules): Likewise.
5316 (program_rules): Likewise.
5317 (script_rules): Likewise.
5318 (data_rules): Likewise.
5319
5320 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
5321
5322 * .bzrignore: Add contrib and grub-core/contrib. Remove
5323 grub-core/Makefile.gcry.am.
5324
1d12cf29
YB
53252010-09-24 Yves Blusseau <blusseau@zetam.org>
5326
5327 * grub-core/lib/LzFind.c: Add missing include.
5328 * grub-core/lib/LzmaEnc.c: Likewise.
5329 * grub-core/script/lexer.c: Likewise.
5330 * grub-core/script/yylex.l: Likewise.
5331 * util/grub-macho2img.c: Likewise.
5332 * util/grub-menulst2cfg.c: Likewise.
5333 * util/grub-mklayout.c: Likewise.
5334 * util/grub-mkpasswd-pbkdf2.c
5335 * util/grub-mkrelpath.c: Likewise.
5336 * util/resolve.c: Likewise.
5337
dd363028
BC
53382010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
5339
5340 * Makefile.util.def (example_unit_test): Add
5341 grub-core/gnulib/libgnu.a.
5342
f5a109e2
GS
53432010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
5344
5345 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
5346
6d0fa83c
VS
53472010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
5348
5349 Support xz compression on yeeloong.
5350
5351 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
5352 * configure.ac: Check for LZMA.
5353 * grub-core/Makefile.core.def (xz_decompress): New target.
5354 (none_decompress): Likewise.
5355 * grub-core/boot/decompressor/minilib.c: New file.
5356 * grub-core/boot/decompressor/none.c: Likewise.
5357 * grub-core/boot/decompressor/xz.c: Likewise.
5358 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
5359 * grub-core/kern/mips/cache_flush.S: Likewise.
5360 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
5361 * grub-core/kern/mips/startup.S: Move first stage to ...
5362 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
5363 nomacro.
5364 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
5365 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
5366 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
5367 Allocate statically.
5368 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
5369 Allocate statically or use scratch. Don't check CRC32.
5370 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
5371 Allocate statically. Don't check CRC32.
5372 * include/grub/decompressor.h: New file.
5373 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
5374 Removed.
5375 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
5376 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
5377 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
5378 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
5379 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
5380 * util/grub-mkimage.c (grub_compression_t): New type.
5381 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
5382 (image_target_desc): New field default_compression.
5383 (image_targets): Adjust yeeloong targets.
5384 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
5385 (compress_kernel): New parameter comp.
5386 (generate_image): Likewise. Handle new compression case.
5387 (options): New option --compression
5388 (help): Likewise.
5389 (main): Handle new option.
5390
1b655af6
GS
53912010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
5392
5393 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
5394
8f03f0b5
CW
53952010-09-22 Colin Watson <cjwatson@ubuntu.com>
5396
5397 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
5398 typo in __i386__ conditional.
5399
7835dfd3
VS
54002010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
5401
5402 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
5403 include.
5404
e255597e
VS
54052010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
5406
6d0fa83c 5407 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
5408
5409 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
5410 new tags as supported.
5411 (acpiv2_size): New function.
5412 (grub_multiboot_get_mbi_size): Take new tags into account.
5413 (grub_multiboot_make_mbi): Add new tags.
5414 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 5415
6cc14051 54162010-09-21 Aleš Nesrsta <starous@volny.cz>
5417
5418 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
5419 Added missing configuration of USB device.
5420
df7769d8
CW
54212010-09-21 Colin Watson <cjwatson@ubuntu.com>
5422
5423 * grub-core/normal/menu_entry.c (run): Make sure we always return
5424 a value.
5425
b031012d
CW
54262010-09-21 Colin Watson <cjwatson@ubuntu.com>
5427
5428 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
5429 NumberOfPages is UINT64 according to the UEFI specification, not
5430 UINTN. Fix printf format.
5431
174de8f3
CW
54322010-09-21 Colin Watson <cjwatson@ubuntu.com>
5433
5434 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
5435 `err' to grub_usb_err_t.
5436 Reported and tested by: KESHAV P.R.
5437
d7dbe923
CW
54382010-09-21 Colin Watson <cjwatson@ubuntu.com>
5439
5440 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
5441 tpart non-const, so that we can assign to it. (Since this is a
5442 typedef, the constness refers to the pointer rather than what it
5443 points to.)
5444
8d5e2af3
CW
54452010-09-21 Colin Watson <cjwatson@ubuntu.com>
5446
5447 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
5448 $(top_srcdir)/grub-core/gnulib as well as
5449 $(top_builddir)/grub-core/gnulib.
5450 Reported by: KESHAV P.R.
5451
5c527783
CW
54522010-09-21 Colin Watson <cjwatson@ubuntu.com>
5453
5454 * util/grub-install.in: Fix the bootloader ID option to be
5455 consistently --bootloader-id, not --bootloader_id.
5456 Reported by: KESHAV P.R.
5457
d309a16e
CW
54582010-09-21 Colin Watson <cjwatson@ubuntu.com>
5459
5460 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
5461 check hash checksum." consistently translatable.
5462
b830cd16
YB
54632010-09-21 Yves Blusseau <blusseau@zetam.org>
5464
5465 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
5466 $(top_builddir).
5467
c4fe27a8
CW
54682010-09-21 Colin Watson <cjwatson@ubuntu.com>
5469
5470 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
5471 (GRUB_MOD_INIT): Register sha1sum command.
5472 (GRUB_MOD_FINI): Unregister sha1sum command.
5473
a4c1d277
YB
54742010-09-21 Yves Blusseau <blusseau@zetam.org>
5475
5476 Keep boot and grub directory names in sync with utils scripts
5477
5478 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
5479 * config.h.in: Add previous macros.
5480 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
5481 * util/grub-install.in: Use $bootdir and $grubdir variables.
5482
4eff79d2
CW
54832010-09-21 Colin Watson <cjwatson@ubuntu.com>
5484
5485 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
5486 convert partition names to disk names if the new `convert' parameter
5487 is set.
5488 (grub_util_biosdisk_get_grub_dev): If opening the disk device
5489 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
5490 disk in its own right. This can happen with Xen disk images.
5491
934d7e44
YB
54922010-09-21 Yves Blusseau <blusseau@zetam.org>
5493
5494 * util/grub-editenv.c: Update strings to avoid warnings when generating
5495 grub.pot file.
5496 * util/grub-setup.c: Likewise.
934d7e44 5497
df3367cc
VS
54982010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
5499
5500 * configure.ac: Change version to 1.99~beta0.
5501
77a94e98
VS
55022010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
5503
5504 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
5505 Add BADRAM.
5506 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
5507 Likewise.
5508 * include/multiboot.h: Resynced with specification.
5509 * include/multiboot2.h: Likewise.
5510
269004c1
CW
55112010-09-21 Colin Watson <cjwatson@ubuntu.com>
5512
5513 Fix po directory handling.
5514
5515 * configure.ac: Create po/Makefile.in rather than po/Makefile.
5516 * grub-core/gnulib/Makefile.am: Import gettext module.
5517 * m4/gnulib-cache.m4: Likewise.
5518 * m4/gnulib-comp.m4: Likewise.
5519 * m4/gettext.m4: New file, from gnulib.
5520 * m4/glibc2.m4: Likewise.
5521 * m4/iconv.m4: Likewise.
5522 * m4/intdiv0.m4: Likewise.
5523 * m4/intl.m4: Likewise.
5524 * m4/intldir.m4: Likewise.
5525 * m4/intlmacosx.m4: Likewise.
5526 * m4/intmax.m4: Likewise.
5527 * m4/inttypes-pri.m4: Likewise.
5528 * m4/lcmessage.m4: Likewise.
5529 * m4/lib-ld.m4: Likewise.
5530 * m4/lib-link.m4: Likewise.
5531 * m4/lib-prefix.m4: Likewise.
5532 * m4/lock.m4: Likewise.
5533 * m4/nls.m4: Likewise.
5534 * m4/po.m4: Likewise.
5535 * m4/printf-posix.m4: Likewise.
5536 * m4/progtest.m4: Likewise.
5537 * m4/threadlib.m4: Likewise.
5538 * m4/uintmax_t.m4: Likewise.
5539 * m4/visibility.m4: Likewise.
5540 * po/Makefile.am: Remove.
5541 * po/Makefile.in.in: New file, from gettext.
5542 ($(DOMAIN).pot-update): Support POTFILES-shell.
5543 * po/Makevars: New file.
5544 * po/POTFILES-shell: Rename to ...
5545 * po/POTFILES-shell.in: ... this. Update.
5546 * po/POTFILES: Rename to ...
5547 * po/POTFILES.in: ... this. Update.
5548 * po/Rules-quot: New file, from gettext.
5549 * po/boldquot.sed: Likewise.
5550 * po/en@boldquot.header: Likewise.
5551 * po/en@quot.header: Likewise.
5552 * po/insert-header.sin: Likewise.
5553 * po/quot.sed: Likewise.
5554 * po/remove-potcdate.sin: Likewise.
5555
3e0fa5d0
VS
55562010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5557
5558 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
5559
ade9bd66
VS
55602010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5561
5562 * util/grub.d/20_linux_xen.in: Use submenus.
5563
fc55cc4c
VS
55642010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5565
5566 Support submenus.
5567
5568 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
5569 parameter submenu. All users updated.
5570 * grub-core/normal/main.c (free_menu): Rename to ...
5571 (grub_normal_free_menu): ... this. Made global.
5572 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
5573 if requested.
5574 * grub-core/normal/menu_entry.c (screen): New field submenu.
5575 (make_screen): Set submenu.
5576 (run): Open new context if requested.
5577 * include/grub/menu.h (grub_menu_entry): New field submenu.
5578 * include/grub/normal.h (grub_normal_free_menu): New proto.
5579
600cedf7
VS
55802010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5581
5582 Menu entries extractor.
5583
5584 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
5585 variants.
5586 (GRUB_MOD_INIT): Register new variants.
5587 (GRUB_MOD_FINI): Unregister new variants.
5588 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
5589 into grub_cmd_legacy_source.
5590 (grub_cmd_legacy_source): Implement extractor variants.
5591 (GRUB_MOD_INIT): Register new variants.
5592 (GRUB_MOD_FINI): Unregister new variants.
5593 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
5594 as an extractor.
5595 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
5596 search as an extractor.
5597 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
5598 test as an extractor.
5599 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
5600 as an extractor.
5601 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
5602 (grub_env_new_context): New function.
5603 (grub_env_context_open): Likewise.
5604 (grub_env_extractor_open): Likewise.
5605 (grub_env_extractor_close): Likewise.
5606 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
5607 grub_extractor_level.
5608 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
5609 * include/grub/env.h (grub_env_extractor_open): New proto.
5610 (grub_env_extractor_close): Likewise.
5611 * include/grub/normal.h (grub_extractor_level): New external variable.
5612
7bda3a87
VS
56132010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5614
5615 Make cutmem accept a region specification.
5616 Suggested by: Samuel Thibault
5617
5618 * grub-core/mmap/mmap.c (parsemem): New function.
5619 (grub_cmd_cutmem): Handle new arguments.
5620
2ea57f88
VS
56212010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5622
5623 New command cutmem.
5624
5625 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
5626 (GRUB_MOD_INIT): Register new command.
5627 (GRUB_MOD_FINI): Unregister new command.
5628
74342e31
VS
56292010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5630
5631 Support some annoying BSD and Minix subpartitions.
5632
5633 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
5634 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
5635 Properly handle concatenation.
5636 * grub-core/kern/device.c (grub_device_iterate): Likewise.
5637 * grub-core/normal/completion.c (iterate_partition): Likewise.
5638 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
5639 contain partition. All users updated.
5640 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
5641 struct.
5642 (grub_openbsdlabel_partition_map): Likewise.
5643 (bsdlabel_partition_map_iterate): Rename to ..
5644 (iterate_real): ... this. New arguments sector, freebsd and pmap.
5645 (bsdlabel_partition_map_iterate): New function.
5646 (netopenbsdlabel_partition_map_iterate): Likewise.
5647 (netbsdlabel_partition_map_iterate): Likewise.
5648 (openbsdlabel_partition_map_iterate): Likewise.
5649 (GRUB_MOD_INIT): Register new partmaps.
5650 (GRUB_MOD_FINI): Unregister new partmaps.
5651 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
5652 (grub_partition_msdos_iterate): ... this. All users updated.
5653 Don't support embedding other than in a minix partition.
5654 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
5655 proto.
5656 * include/grub/partition.h (grub_partition): New field msdostype.
5657 * util/grub-install.in: Handle openbsd and netbsd types being in
5658 part_bsd module.
5659
1e8d555b
VS
56602010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5661
5662 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
5663
5664 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
5665 * grub-core/Makefile.core.def (mdraid): Renamed to ...
5666 (mdraid09): ... this.
5667 (mdraid1x): New module.
5668 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
5669 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
5670
899d8af4
VS
56712010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5672
5673 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
5674 vsprintf.
5675
40901acd
CW
56762010-09-20 Colin Watson <cjwatson@ubuntu.com>
5677
5678 * grub-core/commands/efi/lsefimmap.c: Correct header.
5679 * NEWS: Update.
5680
dfe3b247
CW
56812010-09-20 Colin Watson <cjwatson@ubuntu.com>
5682
5683 * util/grub-editenv.c (argp_parser): Don't pass translated strings
5684 as printf format strings; the translations might contain '%' which
5685 could cause a crash.
5686 (main): Likewise.
5687 * util/grub-fstest.c (argp_parser): Likewise.
5688 * util/grub-setup.c (argp_parser): Likewise.
5689 (main): Likewise.
5690
3286a4b4
VS
56912010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5692
5693 Use argp in grub-fstest.
5694
5695 * util/grub-fstest.c: Don't include getopt.h.
5696 Include argp.h.
5697 (root): New variable.
5698 (args_count): Likewise.
5699 (nparm): Likewise.
5700 (num_disks): Likewise.
5701 (images): Likewise.
5702 (cmd): Likewise.
5703 (debug_str): Likewise.
5704 (args): Likewise.
5705 (options): Transformed to argp.
5706 (usage): Removed.
5707 (main): Split argument parsing into ...
5708 (argp_parser): ... this. Changed to argp format.
5709 (argp): New variable.
5710 (main): Use argp_parse.
5711
3dccbe4b
TG
57122010-09-20 Tristan Gingold <gingold@free.fr>
57132010-09-20 Robert Millan <rmh.grub@aybabtu.com>
57142010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5715
5716 * grub-core/commands/efi/lsefimmap.c: New file.
5717 * grub-core/Makefile.core.def (lsefimmap): New module.
5718 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
5719
38c259a7
VS
57202010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5721
5722 Pause the execution (10s max) if any errors are displayed so the user
5723 has a chance to see them.
5724
5725 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
5726 (grub_print_error): Increment grub_err_printed_errors.
5727 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
5728 execution if any errors were displayed.
5729 (show_menu): Remove old code for pause.
5730 * grub-core/normal/menu_entry.c (run): Likewise.
5731 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
5732 users updated.
5733 (grub_normal_get_char_counter): Likewise.
5734 * include/grub/err.h (grub_err_printed_errors): New external variable.
5735 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
5736
f218b09c
VS
57372010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5738
5739 Support multiboot VBE info.
5740
5741 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
5742 Take VBE info into account.
5743 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
5744 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
5745 Call fill_vbe_info when appropriate.
5746 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
5747 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
5748 as supported.
5749 (grub_multiboot_get_mbi_size): Take new tags into account.
5750 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
5751 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
5752 Call fill_vbe_tag when appropriate.
5753 (grub_multiboot_make_mbi): Properly align tags.
5754 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
5755 function.
5756 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
5757 proto.
5758 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
5759
a9cc5438
VS
57602010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5761
5762 Suport manual terminal geometry specification.
5763
5764 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
5765 Save state in grub_ofconsole_terminfo_output.
5766 (grub_ofconsole_term): Use grub_terminfo_getwh.
5767 (grub_ofconsole_getwh): Removed.
5768 * grub-core/term/serial.c (grub_serial_getwh): Removed.
5769 (grub_serial_term): Use grub_terminfo_getwh.
5770 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
5771 (options): New struct.
5772 (OPTION_*): New enum.
5773 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
5774 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
5775 width and height.
5776 (grub_terminfo_getwh): New proto.
5777 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
5778
1a8fed20
VS
57792010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5780
5781 Handle legacy "terminal" command.
5782
5783 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
5784 and FLAG_TERMINAL.
5785 (legacy_commands): Add terminal and title.
5786 (grub_legacy_parse): Handle terminal. Simplify title handling.
5787
41e9c57d
VS
57882010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5789
5790 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
5791 parameters overflow.
5792
61c874c5
CW
57932010-09-20 Colin Watson <cjwatson@ubuntu.com>
5794
5795 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
5796 widthspec.h.
5797
5798 * docs/grub.texi (Shell-like scripting): Document `!'.
5799 (Network): Simplify using new i386-pc-pxe format. Mention
5800 grub-mknetdir.
5801
5802 * NEWS: Update.
5803
943682b4
CW
58042010-09-20 Colin Watson <cjwatson@ubuntu.com>
5805
5806 * Makefile.am (SUBDIRS): Restore "."; it's important to force
5807 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
5808 when needed.
5809
6d3d698d
CW
58102010-09-20 Colin Watson <cjwatson@ubuntu.com>
5811
5812 * grub-core/commands/efi/lsefisystab.c: Correct header.
5813 * grub-core/commands/efi/lssal.c: Likewise.
5814 * grub-core/commands/testload.c: Likewise.
5815
c982589f
CW
58162010-09-20 Colin Watson <cjwatson@ubuntu.com>
5817
5818 * util/grub-mkrescue.in: Add explicit root argument to --set to
5819 prevent the UUID being interpreted as an argument to --set (matches
5820 previous change to prepare_grub_to_access_device).
5821
a63c31b6
CW
58222010-09-20 Colin Watson <cjwatson@ubuntu.com>
5823
5824 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
5825 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
5826 the verbosity of later #ifs.
5827 (find_partition_start): Define this function on FreeBSD too.
5828 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
5829 function.
5830 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
5831 on FreeBSD.
5832
6439b8ee
YB
58332010-09-20 Yves Blusseau <blusseau@zetam.org>
5834
5835 * util/grub-editenv.c: Use argp instead of getopt.
5836
c5930ec8
YB
58372010-09-20 Yves Blusseau <blusseau@zetam.org>
5838
5839 * util/grub-setup.c: Use argp instead of getopt.
5840
15c69261
YB
58412010-09-20 Yves Blusseau <blusseau@zetam.org>
5842
5843 Use gnulib-tool to create gnulib source files.
5844
5845 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
5846 grub-core/gnulib directories
5847 * .bzignore: Add **/.deps and autogenerated gnulib files
5848 * configure.ac: Assign auxiliary directory to build-aux, add invocation
5849 of gnulib macros, add grub-core/gnulib/Makefile
5850 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
5851 include m4 directory to aclocal.
5852 * Makefile.util.def: Remove direct compilation of gnulib source files
5853 and use the new grub-core/gnulib/libgnu.a.
5854 * build-aux/config.rpath: move config.rpath from top directory to
5855 build-aux
5856 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
5857 in gnulib headers
5858 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
5859 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
5860 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
5861 header.
5862 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
5863 string.
5864
e511c9f5
YB
58652010-09-20 Yves Blusseau <blusseau@zetam.org>
5866
5867 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
5868 grub-core/genmod.sh and grub-core/gensyminfo.sh
5869
c2dede05
BC
58702010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
5871
5872 Add a test for echo command options.
5873
5874 * tests/grub_cmd_echo.in: New test.
5875 * Makefile.util.def: Rules for new test.
5876
c55f5018
SJ
58772010-09-20 Szymon Janc <szymon@janc.net.pl>
5878
5879 Remove crc.mod and move crc command to hashsum.mod.
5880 Remove lib/crc.c - users updated to use gcrypt implementation.
5881
5882 * grub-core/commands/crc.c: Removed.
5883 * grub-core/Makefile.core.def (crc): Module removed.
5884 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
5885 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
5886 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
5887 * grub-core/lib/crc.c: Removed.
5888 * include/grub/lib/crc.h: Removed.
5889 * Makefile.util.def (crc): Remove lib/crc.c
5890 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
5891 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
5892 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
5893 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
5894 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
5895 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
5896
e0337366
VS
58972010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
5898
5899 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
5900
742f9232
VS
59012010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
5902
5903 Split config.h for util and core.
5904
5905 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
5906 (ADDR32): Likewise.
5907 (DATA32): Likewise.
5908 (BSS_START_SYMBOL): Likewise.
5909 (END_SYMBOL): Likewise.
5910 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
5911 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
5912 * config.h.in: New file.
5913 * configure.ac: Use config-util.h as config define file.
5914 Rename MACHINE into GRUB_MACHINE. All users updated.
5915 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
5916 updated.
5917 (NESTED_FUNC_ATTR): Likewise.
5918 Substitue new variables.
5919 (COND_HAVE_ASM_USCORE): New conditional.
5920 * grub-core/Makefile.am (ASM_PREFIX): New variable.
5921 (kernel_syms.lst): Use ASM_PREFIX.
5922 * grub-core/kern/emu/console.c: Include config-util.h.
5923 * grub-core/kern/emu/misc.c: Likewise.
5924 * grub-core/kern/emu/mm.c: Likewise.
5925 * include/grub/emu/misc.h: Likewise.
5926 * include/grub/libgcc.h: Likewise.
5927
39feb0e8
VS
59282010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
5929
5930 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
5931 constants usage.
5932 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
5933 Fix GRUB_TERM_KEY_* constants usage.
5934 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
5935
9af6dac3
VS
59362010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
5937
5938 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
5939 print pointer.
5940 * grub-core/bus/usb/uhci.c: Remove empty define.
5941 (grub_uhci_check_transfer): Add missing cast.
5942 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
5943 print pointer.
5944 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
5945 PRIuGRUB_SIZE.
5946 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
5947
d6d94820
VS
59482010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
5949
5950 * grub-core/Makefile.core.def (legacycfg): Add
5951 lib/i386/pc/vesa_modes_table.c on emu.
5952
3572f2b6
BC
59532010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
5954
5955 Reduce number of temporary files generated by build system.
5956
5957 * grub-core/gencmdlist.sh: Removed.
5958 * grub-core/genfslist.sh: Removed.
5959 * grub-core/genhandlerlist.sh: Removed.
5960 * grub-core/genmodsrc.sh: Removed.
5961 * grub-core/genpartmaplist.sh: Removed.
5962 * grub-core/genparttoollist.sh: Removed.
5963 * grub-core/gentermiinallist.sh: Removed.
5964 * grub-core/genvideolist.sh: Removed.
5965
5966 * grub-core/genmod.sh.in: New file.
5967 * grub-core/gensyminfo.sh.in: New file.
5968
5969 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
5970 * conf/Makefile.extra-dist: Update with new files.
5971 * gentpl.py: Remove rules related to unnecessary temporary files.
5972 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
5973 and und-* files.
5974 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
5975 genmod.sh scripts.
5976 * grub-core/bus/usb/uhci.c: Remove empty #define.
5977 * grub-core/genmoddep.awk: Updated with new syminfo format.
5978 * util/bash-completion.d/Makefile.am: Add config.log to
5979 CLEANFILES.
5980
c836b030
YB
59812010-09-19 Yves Blusseau <blusseau@zetam.org>
5982
5983 * Makefile.util.def: Add forgotten $(LIBINTL) library.
5984
2f4e8053
BC
59852010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
5986
5987 * util/grub-mkconfig.in: Check the config script for syntax errors
5988 before saving.
5989
75831c34
CW
59902010-09-19 Colin Watson <cjwatson@ubuntu.com>
59912010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
5992
5993 * Makefile.util.def (grub-install): Use util/grub-install.in on all
5994 platforms.
5995 * util/grub-install.in: Add EFI and IEEE1275 support.
5996 * util/i386/efi/grub-install.in: Removed.
5997 * util/ieee1275/grub-install.in: Likewise.
5998
eaf41b25
VS
59992010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
6000
6001 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
6002 (grub_cmd_cmosclean): Likewise.
6003 (GRUB_MOD_INIT): Register command cmosclean.
6004 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
6005 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
6006
1a9130dd
CPE
60072010-09-18 Carles Pina i Estany <carles@pina.cat>
60082010-09-18 Aleš Nesrsta <starous@volny.cz>
60092010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
6010
6011 Add keyboard layouts support.
6012
6013 * Makefile.util.def (grub-mklayout): New file.
6014 (grub-kbdcomp): New script.
6015 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
6016 Add keyboard_layouts.h.
6017 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
6018 commands/boot.c on yeeloong.
6019 (keylayouts): New module.
6020 * grub-core/bus/usb/ohci.c
6021 * grub-core/bus/usb/uhci.c
6022 * grub-core/bus/usb/usbhub.c (rescan): New variable.
6023 (grub_usb_add_hub): Poll interrupt pipe for device handling.
6024 (attach_root_port): Likewise.
6025 (poll_nonroot_hub): Likewise.
6026 (grub_usb_poll_devices): Likewise.
6027 (detach_device): Close transfer.
6028 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
6029 function.
6030 (grub_usb_bulk_setup_readwrite): Likewise.
6031 (grub_usb_bulk_finish_readwrite): Likewise.
6032 * grub-core/commands/keylayouts.c: New file.
6033 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
6034 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
6035 aliases.
6036 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
6037 support scancode 2.
6038 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
6039 * include/grub/keyboard_layouts.h: New file.
6040 * util/grub-mklayout.c: New file.
6041 * util/grub-kbdcomp.in: Likewise.
6042
a1d84a5e
VS
60432010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
6044
6045 Unify memory types.
6046
6047 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
6048 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
6049 types.
6050 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
6051 (grub_upper_mem): Likewise.
6052 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
6053 * include/grub/memory.h (grub_memory_type_t): New enum.
6054 All users updated.
6055
9696382e
VS
60562010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
6057
6058 * grub-core/Makefile.core.def (lsapm): New module.
6059 * grub-core/commands/i386/pc/lsapm.c: New file.
6060 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
6061 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
6062 Likewise.
6063 * include/grub/i386/pc/apm.h: New file.
6064 * include/multiboot.h (multiboot_apm_info): New struct.
6065
60662010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
6067
6068 GRUB-legacy configuration file support.
6069
6070 * Makefile.util.def (grub-menulst2cfg): New util.
6071 * docs/man/grub-menulst2cfg.h2m: New file.
6072 * grub-core/Makefile.core.def (legacycfg): New module.
6073 * grub-core/commands/legacycfg.c: New file.
6074 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
6075 (grub_normal_add_menu_entry): ... this.
6076 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
6077 (grub_normal_set_password): ...this.
6078 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
6079 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
6080 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
6081 * grub-core/lib/legacy_parse.c: New file.
6082 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
6083 * include/grub/i386/pc/vesa_modes_table.h: New file.
6084 * include/grub/legacy_parse.h: Likewise.
6085 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
6086 * util/grub-menulst2cfg.c: New file.
6087
bf8d1338
CW
60882010-09-17 Colin Watson <cjwatson@ubuntu.com>
6089
6090 * grub-core/kern/emu/hostdisk.c
6091 (convert_system_partition_to_system_disk): Initialise node.
6092
9c0bad2e
CW
60932010-09-17 Colin Watson <cjwatson@ubuntu.com>
6094
6095 * grub-core/kern/emu/hostdisk.c
6096 (convert_system_partition_to_system_disk): Fix devmapper memory pool
6097 leak.
6098 Reported and based on patch by: Modestas Vainius.
6099
a939d135
CW
61002010-09-17 Colin Watson <cjwatson@ubuntu.com>
6101
6102 Fix DM-RAID probing with recent versions of device-mapper udev
6103 rules.
6104
6105 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
6106 canonicalise device paths under /dev/mapper/.
6107 (convert_system_partition_to_system_disk): Compare the
6108 uncanonicalised path to /dev/mapper/ rather than the canonicalised
6109 path, since device nodes under /dev/mapper/ are often symlinks.
6110
0f7ee3c9
YB
61112010-09-17 Yves Blusseau <blusseau@zetam.org>
6112
6113 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
6114
10854d0d
YB
61152010-09-16 Yves Blusseau <blusseau@zetam.org>
6116
6117 * configure.ac: Avoid some annoying error messages if freetype-config
6118 program is not found.
6119
108538d8
CW
61202010-09-16 Colin Watson <cjwatson@ubuntu.com>
6121
6122 Support RAID on virtio devices, and others.
6123
6124 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
6125 Rename to ...
6126 [__MINGW32__] (grub_find_device): ... this.
6127 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
6128 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
6129 reasonable default if dir is NULL.
6130 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
6131 ...
6132 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
6133 (grub_guess_root_device): Update callers.
6134 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
6135
6136 * util/raid.c (grub_util_getdiskname): Remove.
6137 (grub_util_raid_getmembers): Use grub_find_device rather than
6138 grub_util_getdiskname.
6139
e5bfc130
CW
61402010-09-16 Colin Watson <cjwatson@ubuntu.com>
6141
6142 * docs/grub.texi (serial): Remove obsolete comment about GRUB
6143 needing to be compiled with serial support.
6144 (ls): Indicate that multiple files are accepted.
6145 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
6146 indicate that multiple files are accepted.
6147
be458ae2
CW
61482010-09-16 Colin Watson <cjwatson@ubuntu.com>
6149
6150 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
6151 libgrub_a_init.c, and util/bash-completion.d/grub.
6152
cb731b5e
VS
61532010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
6154
6155 * util/grub-setup.c (setup): Fix incorrect container semantics.
6156
35139e8a
VS
61572010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
6158
6159 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
6160 misusage.
6161 Reported by: J. Nick Terry
6162
e50fca4a
VS
61632010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
6164
6165 Move embedding routines to partmap sources files.
6166
6167 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
6168 [GRUB_UTIL]: New variable.
6169 (gpt_partition_map_iterate): Set part.parent.
6170 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
6171 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
6172 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
6173 New function.
6174 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
6175 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
6176 (grub_partition_map) [GRUB_UTIL]: New field embed.
6177 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
6178 (setup): Use ->embed.
6179
f00478b7
VS
61802010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
6181
6182 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
6183 function.
6184 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
6185 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
6186
2b94e3ff
YB
61872010-09-15 Yves Blusseau <blusseau@zetam.org>
6188
6189 Add function to get completions from usage.
6190
6191 * util/bash-completion.d/grub-completion.bash.in: Add function to get
6192 completions from usage. Use LC_ALL=C to get options properly.
6193
2e04a006
VS
61942010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
6195
6196 * grub-core/gnulib/basename-lgpl.c: Imported.
6197 * grub-core/gnulib/basename.c: Likewise.
6198 * grub-core/gnulib/dirname-lgpl.c: Likewise.
6199 * grub-core/gnulib/dirname.c: Likewise.
6200 * grub-core/gnulib/dirname.h: Likewise.
6201 * grub-core/gnulib/stripslash.c: Likewise.
6202
5dcdf93a
VS
62032010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
6204
6205 * grub-core/gnulib/error.c: Resynced.
6206 * grub-core/gnulib/getopt.c: Likewise.
6207 * grub-core/gnulib/getopt_int.h: Likewise.
6208 * grub-core/gnulib/regex.h: Likewise.
6209 * grub-core/gnulib/regex_internal.c: Likewise.
6210 * grub-core/gnulib/regex_internal.h: Likewise.
6211
014f47b7
SJ
62122010-09-15 Szymon Janc <szymon@janc.net.pl>
6213
6214 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
6215 CRC calculations and validity checks.
6216 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
6217 calculations.
6218
dd521a4a
SJ
62192010-09-15 Szymon Janc <szymon@janc.net.pl>
6220
6221 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
6222
79c4eeb9
VS
62232010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
6224
6225 Fix incorrect echo options handling.
6226 Reported by: Yves Blusseau.
6227
6228 * include/grub/command.h (grub_command_flags_t): New flags
6229 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
6230 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
6231 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
6232
ed80f7d5
VS
62332010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
6234
6235 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
6236 users updated.
6237 (GRUB_COMMAND_FLAG_MENU): Likewise.
6238 (GRUB_COMMAND_FLAG_BOTH): Likewise.
6239 (GRUB_COMMAND_FLAG_TITLE): Removed.
6240 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
6241 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
6242 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
6243 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
6244 (grub_command_flags_t): New enum. All users updated.
6245
5fe7620a
SG
62462010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
6247
6248 Fix solaris compilation.
6249
6250 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
6251 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
6252 (grub-emu-list): Likewise.
6253
545b752f
VS
62542010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
6255
6256 Remove deprecated root command.
6257
6258 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
6259 updated.
6260
6c1a338c
VS
62612010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
6262
6263 * util/i386/pc/grub-setup.c: Merge this ...
6264 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
6265 * util/grub-setup.c: ... into this.
6266 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
6267 New struct.
6268
62692010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
6270
6271 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
6272 possible.
6273
d2ea4551
VS
62742010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
6275
6276 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
6277 allocate p.
6278
3c3b5040
VS
62792010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
6280
6281 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
6282 explicit root argument to set to prevent UUID to be interpreted as
6283 argument to set.
6284
b71c3fae
VS
62852010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
6286
6287 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
6288
275433e6
VS
62892010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
6290
6291 Don't export grub_gate_a20.
6292
6293 * grub-core/kern/i386/pc/init.c: Remove leftovers.
6294 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
6295 to ...
6296 (grub_gate_a20): ... this. All users updated.
6297 * include/grub/i386/pc/init.h: Removed. All users updated.
6298
a5dbb1f1
VS
62992010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
6300
6301 Create euro.pf2 which supports most European languages.
6302
6303 * Makefile.am (grubdata_DATA): Add euro.pf2.
6304 (euro.pf2): New target.
6305 (CLEANFILES): Add euro.pf2.
6306
62a747cb
VS
63072010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
6308
6309 * configure.ac: Disable emu-usb by default to prevent inadvertent
6310 device takeover.
6311
608e43b1
VS
63122010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
6313
6314 Disable usbserial on grub-emu since our libusb code isn't good enough
6315 yet.
6316
6317 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
6318 (usbserial_pl2303): Likewise.
6319 (usbserial_ftdi): Likewise.
6320
94564f81
VS
63212010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
6322
6323 * include/grub/disk.h (grub_disk): Remove has_partitions.
6324 All users updated.
6325 * disk/loopback.c (grub_loopback): Remove has_partitions.
6326 All users updated.
6327 (options): Remove partitions. All users updated.
6328 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
6329 * util/i386/pc/grub-setup.c (setup): copy partition table only when
6330 actual partition table is found.
6331
3352800b
VS
63322010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
6333
6334 Remove readability checks (too many false negatives).
6335
6336 * util/grub-install.in: Remove readability checks.
6337 * util/grub-mkconfig.in: Likewise.
6338 * util/grub.d/10_hurd.in: Likewise.
6339 * util/grub.d/10_kfreebsd.in: Likewise.
6340 * util/grub.d/10_linux.in: Likewise.
6341 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
6342 way.
6343
2419f17a
VS
63442010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
6345
6346 Enable acpi shutdown on all ACPI platforms.
6347
6348 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
6349 on coreboo, multiboot and EFI.
6350 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
6351 (grub_acpi_halt): Likewise.
6352 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
6353 (grub_cmd_halt): Don't call grub_acpi_halt directly.
6354 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
6355 * grub-core/lib/i386/halt.c (grub_halt)
6356 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
6357
0575c7c3
VS
63582010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
6359
6360 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
6361 context.
6362
54ac3cd1
VS
63632010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
6364
6365 * grub-core/video/efi_gop.c: Fix over-80-chars line.
6366 * grub-core/video/efi_uga.c: Likewise.
6367
b2a30ac5
VS
63682010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
6369
6370 Filter devaliases and never open same device twice.
6371
6372 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
6373 (last_ihandle): Likewise.
6374 (ofdisk_hash_ent): New member shortest.
6375 (ofdisk_hash_add): Add canonical path too.
6376 (scan): New function.
6377 (grub_ofdisk_iterate): Iterate over hashed entries.
6378 (compute_dev_path): Don't add :0.
6379 (grub_ofdisk_open): Don't really open the disk.
6380 (grub_ofdisk_close): Avoid closing unrelated disk.
6381 (grub_ofdisk_read): Implement reopen logic.
6382 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
6383 New function.
6384 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
6385 New proto.
6386
fb53b340
VS
63872010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
6388
6389 Fix sparc64.
6390
6391 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
6392 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
6393 right address. Add sparc64_ieee1275_ldflags.
6394 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
6395 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
6396 to grub_host_to_target_addr
6397 (load_image): Likewise.
6398
f452b040
VS
63992010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
6400
6401 * grub-core/normal/completion.c (complete_file): Handle device
6402 containing slash.
6403 Fix based on patch by Doug Nazar.
6404
9b5b2541
VS
64052010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
6406
6407 grub-mknetdir script.
6408
6409 * Makefile.util.def (grub-mknetdir): New module.
6410 * tests/util/grub-shell.in: Support boot=net
6411 * util/grub-mknetdir.in: New file.
6412
9d2be652
VS
64132010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
6414
6415 videoinfo on non-vbe.
6416
6417 * grub-core/Makefile.core.def (vbeinfo): Removed.
6418 (vbetest): Removed.
6419 (videoinfo): New module.
6420 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
6421 * grub-core/commands/i386/pc/vbetest.c: Removed.
6422 * grub-core/commands/videoinfo.c: New file.
6423 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
6424 specification.
6425 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
6426 as vbetest.
6427 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
6428 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
6429 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
6430 mode_number. New parameter mode. All users updated.
6431 (grub_video_gop_iterate): New function.
6432 (grub_video_efi_gop): New member iterate.
6433 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
6434 (grub_vbe_set_video_mode): Remove setting useless fields.
6435 (vbe2videoinfo): New function.
6436 (grub_video_vbe_iterate): Likewise.
6437 (grub_video_vbe_setup): Use vbe2videoinfo.
6438 (grub_video_vbe_print_adapter_specific_info): New function.
6439 (grub_video_vbe_adapter): New fields iterate and
6440 print_adapter_specific_info.
6441 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
6442 All users updated.
6443 (grub_video_mode_info): New field mode_number.
6444 (grub_video_adapter): New fields iterate and
6445 print_adapter_specific_info.
6446
179503f5
TG
64472010-09-13 Tristan Gingold <gingold@free.fr>
64482010-09-13 Robert Millan <rmh.grub@aybabtu.com>
64492010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
6450
6451 * grub-core/commands/efi/lsefisystab.c: New file.
6452 * grub-core/commands/efi/lssal.c: Likewise.
6453 * grub-core/Makefile.core.def (lsacpi): New module.
6454 (lsefisystab): Likewise.
6455 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
6456 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
6457 (grub_efi_sal_system_table): New struct.
6458 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
6459 (grub_efi_sal_system_table_memory_descriptor): Likewise.
6460 (grub_efi_sal_system_table_platform_features): Likewise.
6461 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
6462 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
6463 (grub_efi_sal_system_table_ap_wakeup): Likewise.
6464 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
6465
cf9827de
VS
64662010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
6467
6468 Support explicit user claim that a device is BIOS-visible.
6469
6470 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
6471 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
6472 * grub-core/kern/emu/hostdisk.c
6473 (convert_system_partition_to_system_disk): Support mdX.
6474 (find_system_device): New parameter add. All users updated.
6475 (grub_util_biosdisk_is_present): New function.
6476 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
6477 proto.
6478
53f0eb1f
VS
64792010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
6480
6481 Search hints support.
6482
6483 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
6484 All users updated.
6485
b23ffd70
YB
64862010-09-13 Yves Blusseau <blusseau@zetam.org>
6487
6488 Bash completion script for util commands
6489
6490 * Makefile.am: Add util/bash-completion.d directory
6491 * configure.ac: Likewise.
6492 * util/bash-completion.d/Makefile.am: New file.
6493 * util/bash-completion.d/grub-completion.bash.in: Likewise.
6494
d547dc28
VS
64952010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
6496
6497 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
6498 (print_backlog): set backlog_ucs4 and backlog_glyphs.
6499 Reported by: Yves Blusseau.
6500
2fc8ccb9
VS
65012010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
6502
6503 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
6504 partition size and offset.
6505
d8a84076
VS
65062010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
6507
6508 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
6509
84fb3b3d
VS
65102010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
6511
6512 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
6513
768ec2e2
VS
65142010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
6515
6516 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
6517 (grub_xvasprintf): Likewise.
6518
4870900f
VS
65192010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
6520
6521 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
6522
faca6bec
VS
65232010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
6524
6525 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
6526 args ending with NULL.
6527
65282010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
6529
6530 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
6531 pointer.
6532
3c70f225
SJ
65332010-09-11 Szymon Janc <szymon@janc.net.pl>
6534
6535 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
6536
4df7996d
VS
65372010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
6538
6539 Shutdown using ACPI.
6540
6541 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
6542 * grub-core/commands/acpihalt.c: New file.
6543 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
6544 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
6545 (grub_acpi_halt): New proto.
6546 (GRUB_ACPI_SLP_EN): New const.
6547 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
6548 (GRUB_ACPI_OPCODE_*): New enum.
6549 (GRUB_ACPI_EXTOPCODE_*): Likewise.
6550
126b4c32
TG
65512010-09-11 Tristan Gingold <gingold@free.fr>
65522010-09-11 Robert Millan <rmh.grub@aybabtu.com>
65532010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
6554
6555 * commands/lsacpi.c: New file.
6556 * grub-core/Makefile.core.def (lsacpi): New module.
6557 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
6558 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
6559 (grub_acpi_madt_entry_header): New struct.
6560 (grub_acpi_madt): Likewise.
6561 (grub_acpi_madt_entry_interrupt_override): Likewise.
6562 (grub_acpi_madt_entry_sapic): Likewise.
6563 (grub_acpi_madt_entry_lsapic): Likewise.
6564 (grub_acpi_madt_entry_platform_int_source): Likewise.
6565 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
6566 (PRIuGRUB_UINT32_T): Likewise.
6567 (PRIxGRUB_UINT64_T): Likewise.
6568
1aa4fe88
VS
65692010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
6570
6571 Implement loading palette on ieee1275_fb.
6572
6573 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
6574 (have_setcolors): Likewise.
6575 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
6576 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
6577 (grub_video_ieee1275_set_palette): Implement.
6578
25761e13
VS
65792010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
65802010-09-11 Colin Watson <cjwatson@ubuntu.com>
6581
6582 * util/grub-install.in (grub_partition): New variable.
6583 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
6584 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
6585 Fixes a bug reported by Yves Blusseau.
6586
050abaea
VS
65872010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
6588
6589 Fix emu on mipsel.
6590
6591 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
6592 =grub_cpu_flush_cache on all mips and not only yeeloong.
6593 * configure.ac (COND_mips): New conditional.
6594 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
6595 platforms.
6596 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
6597 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
6598 [GRUB_LINKER_HAVE_INIT]: New function.
6599 (grub_emu_post_init): Likewise.
6600 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
6601 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
6602 * include/grub/cache.h (_mips): Include mips/cache.h.
6603 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
6604 LVM and RAID prototypes.
6605 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
6606 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
6607 function.
6608
5ed7d816
CW
66092010-09-10 Colin Watson <cjwatson@ubuntu.com>
6610
6611 * util/grub-install.in: Don't try to verify core.img until after
6612 running grub-mkimage to create it.
6613
90367e04
RM
66142010-09-10 Robert Millan <rmh@gnu.org>
6615
6616 * util/grub.d/10_hurd.in: Add misc readability checks.
6617 * util/grub.d/10_kfreebsd.in: Likewise.
6618 * util/grub.d/10_linux.in: Likewise.
6619
c452fa66
CW
66202010-09-10 Colin Watson <cjwatson@ubuntu.com>
6621
6622 * util/grub-install.in: ${imgext} won't be defined here until the
6623 install branch is merged. For the meantime, only verify core.img on
6624 i386-pc and sparc64-ieee1275 platforms.
6625
c38fe9f4
RM
66262010-09-10 Robert Millan <rmh@gnu.org>
6627
6628 Solaris support in grub_find_zpool_from_dir(). Thanks
6629 Seth Goldberg for referring to getextmntent() facility.
6630
6631 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
6632 `sys/mkdev.h'.
6633 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
6634 `<sys/mnttab.h>'.
6635 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
6636 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
6637 method for finding zpool name.
6638
905f7773
CW
66392010-09-10 Colin Watson <cjwatson@ubuntu.com>
6640
6641 grub-fstest needs the host and hostfs modules while other utilities
6642 actively require those modules to be absent, so grub-fstest needs
6643 its own initialisation and finalisation code.
6644
6645 * Makefile.am (grub_fstest.pp): New target.
6646 (grub_fstest_init.lst): Likewise.
6647 (grub_fstest_init.c): Likewise.
6648 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
6649
fb90b546
RM
66502010-09-10 Robert Millan <rmh@gnu.org>
6651
6652 * configure.ac: Check for `struct statfs.f_fstypename' and
6653 `struct statfs.f_mntfromname'.
6654
6655 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
6656 kFreeBSD-specific code.
6657
66d4bea5
RM
66582010-09-10 Robert Millan <rmh@gnu.org>
6659
6660 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
6661 on ZFS. Now non-main filesystems are supported as / too.
6662
b6a690ee
CW
66632010-09-09 Colin Watson <cjwatson@ubuntu.com>
6664
6665 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
6666 and grub-core/disk/host.c to ...
6667 (grub-fstest): ... here. Having the host disk implementation
6668 present confuses grub-probe and other utility programs.
6669
6670 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
6671 when writing to a file, not when writing to stdout.
6672
8901b00c 66732010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
6674
6675 * tests/partmap_test.in: New test for partitions.
6676 * Makefile.util.def: Rules for new test.
6677
7bf45fdd
RM
66782010-09-09 Robert Millan <rmh@gnu.org>
6679
6680 * util/grub-probe.c (probe): Fix a pair of unhandled error
6681 conditions.
6682
4dfbc574
RM
66832010-09-09 Robert Millan <rmh@gnu.org>
6684
6685 Basic Btrfs support (detection and UUID).
6686
6687 * grub-core/fs/btrfs.c: New file.
6688 * Makefile.util.def (library): Register btrfs.c.
6689 * grub-core/Makefile.core.def: Likewise.
6690
6b8e78ae
RM
66912010-09-08 Robert Millan <rmh@gnu.org>
6692
6693 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
6694 with (optional) parameters to specify device and relative path.
6695 * util/grub-install.in: Use is_path_readable_by_grub() to
6696 verify readability of a few critical files.
6697 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
6698 verify readability of grub.cfg.new.
6699
27f21a8b
VS
67002010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
6701
6702 Split minix.mod into minix.mod and minix2.mod.
6703
6704 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
6705 * grub-core/Makefile.core.def (minix2): New module.
6706 * grub-core/fs/minix.c: Use definitions instead of runtime version
6707 checking.
6708 * grub-core/fs/minix2.c: New file.
6709
c0e53ea5
YB
67102010-09-08 Yves Blusseau <blusseau@zetam.org>
6711
6712 Add new --boot-directory option to replace --root-directory
6713
6714 * util/grub-install.in: Add new --boot-directory option
6715 * util/grub-reboot.in: Likewise.
6716 * util/grub-set-default.in: Likewise.
6717
b9fe6ea2
YB
67182010-09-08 Yves Blusseau <blusseau@zetam.org>
6719
6720 * util/grub-mkconfig.in: Use new variable.
6721
d87aedff
YB
67222010-09-08 Yves Blusseau <blusseau@zetam.org>
6723
6724 * configure.ac: Define some useful variables.
6725
e55e8495
VS
67262010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
6727
6728 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
6729 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
6730 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
6731 Use terminfo and don't use cursor-on/cursor-off unless it's known
6732 to work.
6733 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
6734 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
6735
6fa6d675
CW
67362010-09-08 Colin Watson <cjwatson@ubuntu.com>
6737
6738 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
6739 starts with "(,", fill the drive containing the loaded image in
6740 between those two characters, but expect that a full partition
6741 specification including partition map names will follow.
6742
92f2aef0
RM
67432010-09-08 Robert Millan <rmh@gnu.org>
6744
6745 * configure.ac: Remove `--enable-grub-fstest' option.
6746 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
6747
6748 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
6749 `grub-fstest' instead of `grub-probe' for readability verification.
6750 * util/grub-probe.c (probe): Remove readability verification kludge.
6751
99fd620d
RM
67522010-09-08 Robert Millan <rmh@gnu.org>
6753
6754 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
6755 initializing `GRUB_FS'.
6756
058e30ac 67572010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
6758
6759 Not command (!) support to GRUB script.
6760
6761 * tests/grub_script_not.in: New test.
6762 * Makefile.util.def: Rules for new test.
6763
6764 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
6765 ! command as a special case.
6766 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
6767
b61d05ed 67682010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
6769
058e30ac 6770 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
6771 grub_free.
b61d05ed 6772
4d69c786 67732010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
6774
6775 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
6776
aa3119c4 67772010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
6778
6779 * docs/grub.texi (Shell-like scripting): Documentation for break,
6780 continue, shift and return commands.
6781
db0f7e3d
VS
67822010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
6783
6784 Rename CD-ROM to cd on BIOS.
6785
6786 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
6787 "cd".
6788 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
6789
88b87c93
VS
67902010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6791
6792 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
6793 * util/grub-probe.c (main): Likewise.
6794 * util/i386/pc/grub-setup.c (main): Likewise.
6795 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
6796 Reported and debugged by: alexxy
6797
294f324d
VS
67982010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6799
6800 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
6801 diagnostic info.
6802
d7ee3441
JS
68032010-09-05 Jo Shields <directhex@apebox.org>
6804
6805 * util/grub.d/30_os-prober.in: Add missing classes.
6806
d7e06c1f
VS
68072010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6808
6809 * docs/grub.texi (Theme file format): Document new position format.
6810
fc157e53
VS
68112010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6812
6813 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
6814 a table. Use @code instead of @verbatim.
6815
506e9a1c
CB
68162010-09-05 Colin D Bennett <colin@gibibit.com>
6817
6818 Gfxmenu documentation.
6819
6820 * docs/grub.texi (Theme file format): New chapter.
6821
f0aff67c
SJ
68222010-09-05 Szymon Janc <szymon@janc.net.pl>
6823
6824 * grub-core/Makefile.core.def (xzio): New module.
6825 * grub-core/io/xzio.c: New file.
6826 * grub-core/lib/xzembed/xz.h: New file (from xembed).
6827 * grub-core/lib/xzembed/xz_config.h: Likewise.
6828 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
6829 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
6830 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
6831 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
6832 * grub-core/lib/xzembed/xz_private.h: Likewise.
6833 * grub-core/lib/xzembed/xz_stream.h: Likewise.
6834 * include/grub/file.h (grub_file_filter_id): New compression filter
6835 GRUB_FILE_FILTER_XZIO.
6836
82a85062
VS
68372010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6838
6839 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
6840 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
6841 size.
6842
3579415d
VS
68432010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6844
6845 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
6846 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
6847
5124ae6d
VS
68482010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6849
6850 Uncompressed checksum support.
6851
6852 * grub-core/commands/hashsum.c (options): Add option --uncompress.
6853 (check_list): New parameter uncompress.
6854 (grub_cmd_hashsum): Handle --uncompress.
6855
9aadb3d1
VS
68562010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6857
6858 Reintroduce testload.
6859
6860 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
6861 from here ...
6862 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
6863 (GRUB_MOD_INIT): New function.
6864 (GRUB_MOD_FINI): Likewise.
6865 * grub-core/Makefile.core.def (testload): New module.
6866
a17792c3
SJ
68672010-09-05 Szymon Janc <szymon@janc.net.pl>
6868
6869 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
6870 (uint8_t): New type.
6871 (uint16_t): Likewise.
6872 (uint32_t): Likewise.
6873 (uint64_t): Likewise.
6874
b81e40a3
SJ
68752010-09-05 Szymon Janc <szymon@janc.net.pl>
6876
6877 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
6878
fc2ef117
VS
68792010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6880
6881 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
6882 Made static.
6883 (grub_gzfile_open): Removed. All users updated.
6884 (GRUB_MOD_INIT): New function.
6885 (GRUB_MOD_FINI): Likewise.
6886 * grub-core/kern/file.c (grub_file_filters_all): New variable.
6887 (grub_file_filters_enabled): Likewise.
6888 (grub_file_open): Handle filters.
6889 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
6890 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
6891 * include/grub/file.h (grub_file_filter_id_t): New type.
6892 (grub_file_filter_t): Likewise.
6893 (grub_file_filters_all): New extern variable.
6894 (grub_file_filters_enabled): Likewise.
6895 (grub_file_filter_register): New inline function.
6896 (grub_file_filter_unregister): Likewise.
6897 (grub_file_filter_disable): Likewise.
6898 (grub_file_filter_disable_compression): Likewise.
6899 * include/grub/gzio.h: Removed.
6900
35ee15e0
BC
69012010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
6902
6903 Filename expansion support for wildcards in GRUB script.
6904
6905 * tests/grub_script_expansion.in: New test.
6906 * Makefile.util.def: Rule for new test.
6907
6908 * grub-core/commands/wildcard.c: New file, implements filename
6909 expansion support for GRUB script.
6910 * grub-core/Makefile.core.def: Rule update for regexp.mod.
6911 * grub-core/script/argv.c: Cosmetic changes.
6912 * grub-core/script/execute.c (grub_script_arglist_to_argv):
6913 Refactored to perform wildcard expansion on arguments.
6914 * include/grub/script_sh.h (grub_script_wildcard_translator): New
6915 struct.
6916
6917 * tests/util/grub-shell.in: Fix quoting for read input.
6918
5f0c4aca
BC
69192010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
6920
6921 Support for updating environment variables with matched substrings
6922 of regexp.
6923
6924 * tests/grub_cmd_regexp.in: New test.
6925 * Makefile.util.def: Rule for new test.
6926
6927 * grub-core/commands/regexp.c: New option -s to update environment
6928 variables with regexp matches.
6929
3759a35f
SJ
69302010-09-04 Szymon Janc <szymon@janc.net.pl>
6931
6932 * include/grub/file.h (grub_file): New member not_easly_seekable.
6933 (grub_file_seekable): New inline function.
6934 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
6935 easily seekable.
6936 (grub_gzio_open): Set not_easly_seekable.
6937 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
6938 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
6939
ed8c6dec
BC
69402010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
6941
6942 Support for options to appear multiple times on cmdline.
6943
6944 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
6945 * grub-core/commands/extcmd.c: Support for repeatable option.
6946 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
6947 repeatable option support.
6948
6949 Refactor menuentry into a regular command.
6950
6951 * grub-core/commands/menuentry.c: New file, menuentry command
6952 implementation.
6953 * grub-core/Makefile.core.def: Rule update for normal.mod.
6954 * grub-core/normal/main.c: Moved menuentry creation to
6955 grub-core/commands/menuentry.c.
6956 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
6957 (grub_menu_execute_entry_real): Removed.
6958 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
6959 function.
6960 (grub_script_execute_menuentry): Removed.
6961 * grub-core/script/parser.y (menuentry): Removed.
6962 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
6963 * grub-core/script/yylex.l (menuentry): Removed.
6964 * include/grub/menu.h (grub_menu_init): New prototype.
6965 (grub_menu_fini): New prototype.
6966 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
6967 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
6968 (grub_script_execute_sourcecode): New prototype.
6969
dacd0cf0
BC
69702010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
6971
6972 "return" command for GRUB script functions.
6973
6974 * tests/grub_script_return.in: New test.
6975 * Makefile.util.def: Rules for new test.
6976
6977 * grub-core/script/execute.c (grub_script_return): New function.
6978 * grub-core/script/main.c: Register/unregister return commaond.
6979 * include/grub/script_sh.h (grub_script_return): New prototype.
6980
52e72f9d
BC
69812010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
6982
6983 "setparams" command to update positional parameters.
6984
6985 * tests/grub_script_setparams.in: New test.
6986 * Makefile.util.def: Rules for new test.
6987
6988 * grub-core/script/argv.c (grub_script_argv_make): New function.
6989 * grub-core/script/execute.c (replace_scope): New function.
6990 (grub_script_setparams): New function.
6991 * grub-core/script/lexer.c: Remove unused variables.
6992 * grub-core/script/main.c: Register/unregister setparams command.
6993 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
6994 (grub_script_setparams): New prototype.
6995
25b60c91
BC
69962010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
6997
6998 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
6999 grub_free order.
7000
37e7bf68
BC
70012010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
7002
7003 Support for passing block of commands as an argument to extcmds.
7004
7005 * Makefile.util.def: Rules for new test.
7006 * tests/grub_script_blockarg.in: New test.
7007 * grub-core/tests/test_blockarg.c: New file, block argument
7008 command used in the test.
7009
7010 * include/grub/extcmd.h (grub_extcmd_context): New struct.
7011 (grub_register_extcmd_prio): New function prototype.
7012 (grub_extcmd_dispatcher): New function prototype.
7013 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
7014 type.
7015 * include/grub/script_sh.h (struct grub_script): New members
7016 `children', `next_siblings' and `refcnt' for block arguments and
7017 reference counting.
7018 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
7019 (grub_script_arg): New member `script' for block argument.
7020 (grub_script_argv): New member `script' for block argument.
7021 (grub_parser_param): New member `scripts' for block argument.
7022 (grub_script_mem_free): New extern function prototype.
7023 (grub_script_ref): New function prototype.
7024 (grub_script_unref): New function prototype.
7025
7026 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
7027 extcmd form to support block arguments.
7028 * grub-core/script/argv.c: Block arguments support.
7029 * grub-core/script/execute.c: Likewise.
7030 * grub-core/script/lexer.c: Likewise.
7031 * grub-core/script/main.c: Likewise.
7032 * grub-core/script/script.c: Likewise.
7033 * grub-core/script/parser.y: Likewise. New `block' and `block0'
7034 non-terminals.
7035
7036 * grub-core/commands/acpi.c: Update extcmd implementations with
7037 grub_extcmd_context_t.
7038 * grub-core/commands/cat.c: Likewise.
7039 * grub-core/commands/echo.c: Likewise.
7040 * grub-core/commands/extcmd.c: Likewise.
7041 * grub-core/commands/hashsum.c: Likewise.
7042 * grub-core/commands/hdparm.c: Likewise.
7043 * grub-core/commands/help.c: Likewise.
7044 * grub-core/commands/hexdump.c: Likewise.
7045 * grub-core/commands/i386/cpuid.c: Likewise.
7046 * grub-core/commands/i386/pc/drivemap.c: Likewise.
7047 * grub-core/commands/i386/pc/halt.c: Likewise.
7048 * grub-core/commands/i386/pc/sendkey.c: Likewise.
7049 * grub-core/commands/iorw.c: Likewise.
7050 * grub-core/commands/keystatus.c: Likewise.
7051 * grub-core/commands/loadenv.c: Likewise.
7052 * grub-core/commands/ls.c: Likewise.
7053 * grub-core/commands/lspci.c: Likewise.
7054 * grub-core/commands/memrw.c: Likewise.
7055 * grub-core/commands/probe.c: Likewise.
7056 * grub-core/commands/search_wrap.c: Likewise.
7057 * grub-core/commands/setpci.c: Likewise.
7058 * grub-core/commands/sleep.c: Likewise.
7059 * grub-core/disk/loopback.c: Likewise.
7060 * grub-core/hello/hello.c: Likewise.
7061 * grub-core/loader/i386/bsd.c: Likewise.
7062 * grub-core/loader/xnu.c: Likewise.
7063 * grub-core/term/gfxterm.c: Likewise.
7064 * grub-core/term/serial.c: Likewise.
7065 * grub-core/tests/lib/functional_test.c: Likewise.
7066
888d1500
BC
70672010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
7068
7069 Multi-line quoted strings support.
7070
7071 * grub-core/script/lexer.c (append_newline): Removed.
7072 (grub_script_lexer_yywrap): Refactored.
7073 (grub_script_lexer_init): Refactored.
7074 * grub-core/script/yylex.l (yywrap): New function.
7075 (grub_lexer_resplit): New function.
7076 (grub_lexer_unput): New function.
7077 * include/grub/script_sh.h (grub_lexer_param): New members, unput
7078 and resplit.
7079 * tests/grub_script_echo1.in: Added few more testcases.
7080
dda060dd
VS
70812010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
7082
7083 * grub-core/kern/misc.c: Don't add abort alias in utils.
7084 Reported by: echoline.
7085
6556eba9
BC
70862010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
7087
7088 Add missing files into "make dist" tarball for other platforms.
7089
7090 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
7091 * conf/Makefile.common (dist_noinst_DATA): New variable.
7092 * conf/Makefile.extra-dist: Added missing make dist files.
7093 * grub-core/Makefile.core.def: Likewise.
7094
c8e7bf5f
VS
70952010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
7096
7097 Compress grub_prefix.
7098
7099 * grub-core/boot/i386/pc/lnxboot.S: Use
7100 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
7101 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
7102 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
7103 GRUB_MACHINE_PREFIX_END. All users updated.
7104 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
7105 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
7106 + 0x40.
7107 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
7108 * util/grub-mkimage.c (image_target_desc): Change data_end to
7109 prefix_end. All users updated.
7110
a7c00cdb
VS
71112010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
7112
7113 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
7114 value.
7115 (grub_openbsd_boot): Likewise.
7116 (grub_netbsd_boot): Likewise.
7117 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
7118 (grub_xnu_boot): Likewise.
7119
9f915872
VS
71202010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
7121
7122 * configure.ac: Clean LIBS variable after tests.
7123
efa1bee7
CW
71242010-09-02 Colin Watson <cjwatson@ubuntu.com>
7125
7126 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
7127
61d720e5
VS
71282010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
7129
7130 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
7131 echo if libdevmapper will be used.
7132
ef8e0ec8
IT
71332010-09-02 Ian Turner <Ian.Turner@deshaw.com>
7134
7135 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
7136 constant for the same file.
7137
03e261d8
VS
71382010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
7139
7140 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
7141
c2a4eba6
CW
71422010-09-02 Colin Watson <cjwatson@ubuntu.com>
7143
7144 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
7145 grub-core/*.pp.
7146
9056cbf3
CW
71472010-09-02 Colin Watson <cjwatson@ubuntu.com>
7148
7149 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
7150 required by the boot protocol.
7151
7152 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
7153 ebp and edi members.
7154 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
7155 state.ebp and state.edi.
7156 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
7157 %ebp and %edi according to grub_relocator32_ebp and
7158 grub_relocator32_edi respectively.
7159 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
7160 and state.edi.
7161
529cc99a
VS
71622010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
7163
7164 Add i386-pc-pxe image target.
7165
7166 * util/grub-mkimage.c (image_target_desc): New enum value
7167 IMAGE_I386_PC_PXE.
7168 (image_targets): New target i386-pc-pxe.
7169 (generate_image): Handle i386-pc-pxe image.
7170
9a093920
VS
71712010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
7172
7173 Fix grub_pxe_scan.
7174
7175 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
7176 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
7177 All users updated.
7178 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
7179 (grub_pxe_pxenv): Correct type.
7180
f9cefc4e
CW
71812010-09-01 Colin Watson <cjwatson@ubuntu.com>
7182
7183 * NEWS: Document most of the important changes since 1.98.
7184
4066f57f
CW
71852010-09-01 Colin Watson <cjwatson@ubuntu.com>
7186
7187 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
7188 generated manual page) a little.
7189
da2891f9
CW
71902010-09-01 Colin Watson <cjwatson@ubuntu.com>
7191
7192 * docs/grub.texi: Add myself as an author.
7193
ad717fae
VS
71942010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
7195
7196 * Makefile.util.def (libgrub.a): Add missing sunpc.
7197 Reported by: Seth Goldberg.
7198
eefe8abd
VS
71992010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
7200
7201 Interrupt wrapping and code simplifications.
7202
9494ef9a
VS
7203 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
7204 x86_noieee1275 which are functionaly equivalent in this case.
7205 (grub-install): Make source on each platform explicit. Enable on
7206 all noemu.
7207 * gentpl.py (x86_efi_pc): Removed group.
7208 (x86_noefi): Likewise.
7209 (i386_noefi): Likewise.
7210 (x86_noieee1275): Likewise.
7211 (i386_noieee1275): Likewise.
7212 (i386_noefi_noieee1275): Likewise.
7213 (i386_pc_qemu_coreboot): Likewise.
7214 (i386_coreboot_multiboot): Likewise.
7215 (i386_pc_coreboot_multiboot_qemu): Likewise.
7216 (x86_noefi_mips): Likewise.
7217 (noieee1275): Likewise.
7218 (ieee1275_mips): Likewise.
7219 (noemu_noieee1275): Likewise.
7220 (cmos): New group.
7221 (usb): Likewise.
7222 (videoinkernel): Likewise.
7223 (videomodules): Likewise.
eefe8abd 7224 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
7225 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
7226 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
7227 include/grub/loader.h, include/grub/msdos_partition.h,
7228 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
7229 include/grub/machine/console.h, include/grub/machine/vga.h,
7230 include/grub/machine/vbe.h, include/grub/machine/init.h,
7231 include/grub/machine/kernel.h, include/grub/cpu/time.h,
7232 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 7233 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
7234 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
7235 * grub-core/Makefile.core.def (kernel): Explicit the source for
7236 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
7237 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
7238 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
7239 Use videoinkernel tag.
7240 (usb): Enable on all usb.
7241 (usbserial_common): Likewise.
7242 (usbserial_pl2303): Likewise.
7243 (usbserial_ftdi): Likewise.
7244 (uhci): Enable on all x86.
7245 (ohci): Enable on all pci.
7246 (cmostest): Enable on all CMOS.
7247 (acpi): Include commands/acpi.c on all platforms.
7248 (halt): Add relevant lib/*/halt.c.
7249 (hdparm): Enable on all pci.
7250 (lspci): Likewise.
7251 (usbtest): Enable on all usb.
7252 (ata): Enable on all pci.
7253 (ata_pthru): Likewise.
7254 (usbms): Enable on all usb.
7255 (usb_keyboard): Likewise.
7256 (font): Use tag videomodules.
7257 (bufio): Likewise.
7258 (datetime): Use tag cmos. Enable on all noemu.
7259 (mmap): Use tags common and x86.
7260 (gfxterm): Use tag videomodules.
7261 (bitmap): Likewise.
7262 (bitmap_scale): Likewise.
7263 (video_fb): Likewise.
7264 (video): Likewise.
7265 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
7266 adjust padding accordingly. All users updated.
7267 (grub_ohci_transaction): Fix bad format specification.
7268 (GRUB_MOD_INIT): Add asserts for struct size.
7269 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
7270 (grub_alloc_td): Likewise.
7271 (grub_free_queue): Likewise.
7272 (grub_uhci_transfer): Likewise.
7273 (grub_uhci_transaction): Fix bad format specification.
7274 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
7275 (grub_usb_bulk_readwrite): Likewise.
7276 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
7277 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
7278 Made static.
7279 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
7280 Made static.
7281 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
7282 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
7283 Transformed into C.
7284 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
7285 Moved from here ...
7286 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
7287 ... here. Transformed into C. Made static.
7288 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
7289 Moved from here ...
7290 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
7291 ... here. Transformed into C. Made static.
7292 * grub-core/kern/i386/pc/startup.S
7293 (grub_biosdisk_check_int13_extensions): Moved from here ...
7294 * grub-core/disk/i386/pc/biosdisk.c
7295 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
7296 Made static.
7297 * grub-core/kern/i386/pc/startup.S
7298 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
7299 * grub-core/disk/i386/pc/biosdisk.c
7300 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
7301 Transformed into C. Made static.
7302 * grub-core/kern/i386/pc/startup.S
7303 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
7304 * grub-core/disk/i386/pc/biosdisk.c
7305 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
7306 Transformed into C. Made static.
7307 * grub-core/kern/i386/pc/startup.S
7308 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
7309 * grub-core/disk/i386/pc/biosdisk.c
7310 (grub_biosdisk_get_diskinfo_standard): ... here.
7311 Transformed into C. Made static.
7312 * grub-core/kern/i386/pc/startup.S
7313 (grub_biosdisk_get_num_floppies): Moved from here ...
7314 * grub-core/disk/i386/pc/biosdisk.c
7315 (grub_biosdisk_get_num_floppies): ... here.
7316 Transformed into C. Made static.
7317 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
7318 New function.
7319 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
7320 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
7321 Transformed into C. Made static.
7322 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
7323 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
7324 Transformed into C. Made static.
7325 * grub-core/kern/i386/ieee1275/init.c: Removed.
7326 * grub-core/kern/i386/misc.S: Likewise.
7327 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
7328 Splitted from here ...
7329 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
7330 Transformed into C. Made static. All users updated.
7331 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
7332 Transformed into C. Made static. All users updated.
7333 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
7334 Moved from here...
7335 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
7336 Transformed into C. Made static. All users updated.
7337 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
7338 Moved from here...
7339 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
7340 Transformed into C. Made static. All users updated.
7341 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
7342 Removed (replaced by C version).
7343 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
7344 Moved from here...
7345 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
7346 Transformed into C. Made static.
7347 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
7348 Moved from here...
7349 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
7350 ... here. Transformed into C.
7351 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
7352 Moved from here...
7353 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
7354 ... here. Transformed into C.
7355 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
7356 Moved from here...
7357 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
7358 ... here. Transformed into C. Made static.
7359 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
7360 Moved from here...
7361 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
7362 ... here. Transformed into C.
21ed554b
VS
7363 * grub-core/kern/i386/pc/startup.S
7364 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
7365 * grub-core/video/i386/pc/vbe.c
7366 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
7367 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
7368 Moved from here...
7369 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
7370 ... here. Transformed into C.
7371 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
7372 Moved from here...
7373 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
7374 ... here. Transformed into C.
7375 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
7376 Moved from here...
7377 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
7378 ... here. Transformed into C.
7379 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
7380 Moved from here...
7381 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
7382 ... here. Transformed into C.
7383 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
7384 Moved from here...
7385 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
7386 ... here. Transformed into C. Made static.
7387 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
7388 Moved from here...
7389 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
7390 ... here. Transformed into C. Made static.
7391 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
7392 Moved from here...
7393 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
7394 ... here. Transformed into C. Made static.
7395 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
7396 pxe_rm_entry as third argument.
7397 (grub_bios_interrupt): New function.
7398 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
7399 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
7400 of calling grub_stop.
7401 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
7402 * grub-core/lib/efi/halt.c (grub_halt): ...here.
7403 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
7404 * grub-core/lib/emu/halt.c (grub_halt): ... here.
7405 * grub-core/lib/i386/halt.c: Moved from here ...
7406 * grub-core/lib/i386/halt.c: ... here.
7407 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
7408 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
7409 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
7410 grub_stop_floppy.
7411 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
7412 * include/grub/i386/coreboot/init.h: Removed.
7413 * include/grub/i386/multiboot/init.h: Likewise.
7414 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
7415 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
7416 * include/grub/i386/pc/int.h: New file.
7417 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
7418 (grub_pxe_scan): Removed.
7419 (grub_pxe_call): Update prototype.
7420 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
7421 prototypes.
7422 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
7423 * include/grub/i386/qemu/init.h: Removed.
7424 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
7425 noreturn.
7426 (grub_halt): Likewise.
7427 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
7428 (grub_reboot): Likewise.
7429 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
7430 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
7431 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
7432
215dd471
RM
74332010-08-30 Robert Millan <rmh@gnu.org>
7434
7435 * NEWS: Document addition of ZFS support in `grub-install' and
7436 `grub-mkconfig'.
7437
ebd65b82
BC
74382010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
7439
7440 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
7441 dprintf output.
7442
11721d19
VS
74432010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
7444
7445 Remove leftover embedding of font objects.
7446
7447 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
7448 * util/grub-install.in (font): Removed.
7449 * util/grub-mkimage.c (generate_image): Remove font support. All users
7450 updated.
7451
37837d4e
VS
74522010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
7453
7454 Remove leftover embedding of font objects.
7455
7456 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
7457 * util/grub-install.in (font): Removed.
7458 * util/grub-mkimage.c (generate_image): Remove font support. All users
7459 updated.
7460
b4c1aae0
VS
74612010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
7462
7463 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 7464 Reported by: Ian Turner
b4c1aae0 7465
8920a08d
VS
74662010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
7467
7468 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
7469 timeout to avoid indefinite boot stalling.
7470
f21db033
VS
74712010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
7472
7473 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
7474 (grub_env_write_color_highlight): Likewise.
7475
9a9de209
VS
74762010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
7477
7478 * grub-core/normal/term.c (print_more): Return to normal and not
7479 to standard state after printing "---MORE---".
7480
3dca01d7
VS
74812010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
7482
7483 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
7484 Mask out the bit 0x80 since it has other meaning that specifiing color.
7485
0b986c40
VS
74862010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
7487
7488 New relocator. Allows for more kernel support and more straightforward
7489 loader writing.
7490
7491 * Makefile.am (BOOTTARGET): New variable.
7492 (QEMU32): Likewise.
7493 (linux.init.x86_64): New target.
7494 (linux.init.i386): Likewise.
7495 (multiboot.elf): Likewise.
7496 (kfreebsd.elf): Likewise.
7497 (kfreebsd.aout): Likewise.
7498 (pc-chainloader.elf): Likewise.
7499 (pc-chainloader.bin): Likewise.
7500 (ntldr.elf): Likewise.
7501 (ntldr.bin): Likewise.
7502 (multiboot2.elf): Likewise.
7503 (kfreebsd.init.x86_64): Likewise.
7504 (kfreebsd.init.i386): Likewise.
7505 (knetbsd.init.i386): Likewise.
7506 (kopenbsd.init.i386): Likewise.
7507 (knetbsd.init.x86_64): Likewise.
7508 (kopenbsd.init.x86_64): Likewise.
7509 (linux-initramfs.i386): Likewise.
7510 (linux-initramfs.x86_64): Likewise.
7511 (kfreebsd-mfsroot.i386.img): Likewise.
7512 (knetbsd.image.i386): Likewise.
7513 (kopenbsd.image.i386): Likewise.
7514 (kopenbsd.image.x86_64): Likewise.
7515 (knetbsd.miniroot-image.i386.img): Likewise.
7516 (kfreebsd-mfsroot.x86_64.img): Likewise.
7517 (knetbsd.image.x86_64): Likewise.
7518 (knetbsd.miniroot-image.x86_64.img): Likewise.
7519 (kfreebsd-mfsroot.i386.gz): Likewise.
7520 (bootcheck-kfreebsd-i386): Likewise.
7521 (kfreebsd-mfsroot.x86_64.gz): Likewise.
7522 (bootcheck-kfreebsd-x86_64): Likewise.
7523 (knetbsd.miniroot-image.i386.gz): Likewise.
7524 (bootcheck-knetbsd-i386): Likewise.
7525 (bootcheck-kopenbsd-i386): Likewise.
7526 (bootcheck-kopenbsd-x86_64): Likewise.
7527 (knetbsd.miniroot-image.x86_64.gz): Likewise.
7528 (bootcheck-knetbsd-x86_64): Likewise.
7529 (bootcheck-linux-i386): Likewise.
7530 (bootcheck-linux-x86_64): Likewise.
7531 (bootcheck-linux16-i386): Likewise.
7532 (bootcheck-linux16-x86_64): Likewise.
7533 (bootcheck-multiboot): Likewise.
7534 (bootcheck-multiboot2): Likewise.
7535 (bootcheck-kfreebsd-aout): Likewise.
7536 (bootcheck-pc-chainloader): Likewise.
7537 (bootcheck-ntldr): Likewise.
7538 (CLEANFILES): Add new targets.
7539 (BOOTCHECKS): New variable.
7540 (.PHONY): Add bootchecks.
7541 (SUCCESSFUL_BOOT_STRING): New variable.
7542 (BOOTCHECK_TIMEOUT): Likewise.
7543 (bootcheck): New target
7544 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
7545 * configure.ac: Correct efiemu excuse.
7546 * docs/grub.texi (Supported kernels): New chapter.
7547 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
7548 include/grub/mm_private.h. Simplify inclusion of
7549 include/grub/boot.h, include/grub/loader.h
7550 and include/grub/msdos_partition.h
7551 (KERNEL_HEADER_FILES) [i386_coreboot]:
7552 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
7553 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
7554 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
7555 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
7556 include/grub/machine/loader.h.
7557 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
7558 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
7559 extra_dist.
7560 (pci.mod): Enable on i386-multiboot.
7561 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
7562 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
7563 i386-qemu.
7564 (relocator.mod): Rewritten.
7565 (aout.mod): Enable on all x86.
7566 (bsd.mod): Likewise.
7567 (ntldr.mod): New module.
7568 (linux.mod): Use loader/i386/linux.c on all x86.
7569 (xnu.mod): Enable on all x86.
7570 (vga_text.mod): disable on EFI and QEMU.
7571 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
7572 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
7573 * grub-core/efiemu/loadcore.c: Likewise.
7574 * grub-core/efiemu/main.c: Likewise.
7575 (grub_efiemu_exit_boot_services): Removed.
7576 (grub_efiemu_finish_boot_services): Likewise.
7577 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
7578 function.
7579 * grub-core/efiemu/i386/nocfgtables.c: New file.
7580 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
7581 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
7582 (grub_efi_finish_boot_services): Moved from here ...
7583 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
7584 Fille finish memory map and related data.
7585 (finish_mmap_buf): New variable.
7586 (grub_efi_uintn_t finish_mmap_size): Likewise.
7587 (grub_efi_uintn_t finish_key): Likewise.
7588 (grub_efi_uintn_t finish_desc_size): Likewise.
7589 (grub_efi_uint32_t finish_desc_version): Likewise.
7590 (grub_efi_is_finished): Likewise.
7591 (grub_efi_get_memory_map): Use saved memory map if EFI is already
7592 finished.
7593 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
7594 (grub_elf64_phdr_iterate): Likewise.
7595 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
7596 (grub_os_area_size): Likewise.
7597 (grub_machine_init): Don't reserve os area.
7598 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
7599 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
7600 * grub-core/kern/i386/loader.S: Removed.
7601 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
7602 (grub_os_area_size): Likewise.
7603 (grub_machine_init): Don't reserve os area.
7604 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
7605 Don't call grub_dl_unload_all.
7606 Don't include loader.S.
7607 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
7608 Declare the memory after _end as available.
7609 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 7610 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 7611 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
7612 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
7613 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
7614 * include/grub/mm_private.h (grub_mm_header): ... here.
7615 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
7616 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
7617 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
7618 (grub_mm_region): ..here. Removed addr. Added pre_size.
7619 All users updated.
7620 * grub-core/kern/mm.c (base): Renamed to ...
7621 (grub_mm_base): ... this. Made global.
7622 (grub_real_malloc): Alloc from end of region.
7623 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
7624 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
7625 * grub-core/kern/powerpc/cache_flush.S: ... here.
7626 * grub-core/lib/efi/relocator.c: New file.
7627 * grub-core/lib/i386/relocator.c: Rewritten.
7628 * grub-core/lib/i386/relocator16.S: New file.
7629 * grub-core/lib/i386/relocator32.S: Likewise.
7630 * grub-core/lib/i386/relocator64.S: Likewise.
7631 * grub-core/lib/i386/relocator_asm.S: Rewritten.
7632 * grub-core/lib/i386/relocator_common.S: New file.
7633 * grub-core/lib/ieee1275/relocator.c: Likewise.
7634 * grub-core/lib/mips/relocator.c: Rewritten.
7635 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
7636 stylistic adjustments.
7637 * grub-core/lib/powerpc/relocator.c: New file.
7638 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
7639 * grub-core/lib/relocator.c: Rewritten.
7640 * grub-core/lib/x86_64/relocator_asm.S: New file.
7641 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
7642 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
7643 (bsd_tag): New struct.
7644 (tags): New variable.
7645 (tags_last): Likewise.
7646 (netbsd_module): New struct.
7647 (netbsd_mods): New variable.
7648 (netbsd_mods_last): Likewise.
7649 (openbsd_opts): New parameter "serial".
7650 (OPENBSD_SERIAL_ARG): New definition.
7651 (netbsd_opts): New parameter "serial".
7652 (NETBSD_SERIAL_ARG): New definition.
7653 (grub_freebsd_add_meta): Reorganised into ...
7654 (grub_bsd_add_meta): ...this. All users updated.
7655 (grub_freebsd_add_mmap): Reorganised into ...
7656 (generate_e820_mmap): ...this...
7657 (grub_bsd_add_mmap): ...and this. All users updated.
7658 (grub_freebsd_list_modules): Use tags.
7659 (grub_netbsd_add_meta_module): New function.
7660 (grub_netbsd_list_modules): Likewise.
7661 (grub_freebsd_boot): Use relocator and finish EFI.
7662 (grub_openbsd_boot): Likewise.
7663 (grub_netbsd_setup_video): New function.
7664 (grub_netbsd_add_modules): Likewise.
7665 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
7666 and finish EFI.
7667 (grub_bsd_unload): Unload tags.
7668 (grub_bsd_load_aout): Use relocator.
7669 (grub_bsd_elf32_size_hook): New function.
7670 (grub_bsd_elf32_hook): Use relocator.
7671 (grub_bsd_elf64_size_hook): New function.
7672 (grub_bsd_elf64_hook): Use relocator.
7673 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
7674 (grub_bsd_load): Zero-out openbsd_ramdisk.
7675 (grub_bsd_load): Use relocator.
7676 (grub_cmd_openbsd): Support serial.
7677 (grub_cmd_netbsd): Support modules.
7678 (grub_cmd_freebsd_module): Use relocator.
7679 (grub_netbsd_module_load): New function.
7680 (grub_cmd_netbsd_module): Likewise.
7681 (grub_cmd_openbsd_ramdisk): Likewise.
7682 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
7683 kopenbsd_ramdisk.
7684 (GRUB_MOD_FINI): Unregister new commands.
7685 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
7686 (grub_freebsd_load_elfmodule_obj): Use relocator.
7687 (grub_freebsd_load_elfmodule): Likewise.
7688 (grub_freebsd_load_elf_meta): Likewise.
7689 (grub_netbsd_load_elf_meta): New function.
7690 (grub_openbsd_find_ramdisk): Likewise.
7691 * grub-core/loader/i386/bsd_helper.S: Removed.
7692 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
7693 * grub-core/loader/i386/bsd_trampoline.S: Removed.
7694 * grub-core/loader/i386/efi/linux.c: Likewise.
7695 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
7696 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
7697 (DEFAULT_VIDEO_MODE): Likewise.
7698 (real_mode_target): New variable.
7699 (prot_mode_target): Likewise.
7700 (initrd_mem_target): Likewise.
7701 (relocator): Likewise.
7702 (efi_mmap_buf): Likewise.
7703 (efi_mmap_size): Likewise.
7704 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
7705 (free_pages): Use relocator.
7706 (allocate_pages): Account for efi_mmap and use relocator. Return error.
7707 (grub_linux_setup_video): Return error.
7708 (grub_linux_trampoline_start): Removed.
7709 (grub_linux_trampoline_end): Likewise.
7710 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
7711 andd video parameters depending on firmware.
7712 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
7713 [GRUB_MACHINE_EFI]: Pass EFI parameters.
7714 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
7715 (grub_cmd_initrd): Use relocator.
7716 * grub-core/loader/i386/linux_trampoline.S: Removed.
7717 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
7718 (elf_sec_entsize): Likewise.
7719 (elf_sec_shstrndx): Likewise.
7720 (elf_sections): Likewise.
7721 (grub_multiboot_load): Use relocator.
7722 (grub_multiboot_get_mbi_size): Account for sections.
7723 (grub_multiboot_make_mbi): Use relocator and support sections.
7724 (grub_multiboot_add_elfsyms): New function.
7725 (grub_multiboot_free_mbi): Free sections.
7726 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
7727 (grub_linux_real_target): Likewise.
7728 (grub_linux_real_chunk): Likewise.
7729 (grub_linux16_prot_size): Likewise.
7730 (grub_linux16_boot): Use relocator.
7731 (grub_linux_unload): Unload relocator.
7732 (grub_cmd_linux): Use relocator.
7733 (grub_cmd_initrd): Likewise.
7734 * grub-core/loader/i386/pc/ntldr.c: New file.
7735 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
7736 Don't try to guess CPU frequency.
7737 (grub_xnu_set_video): Stretch bitmap.
7738 (grub_xnu_boot): Use relocator.
7739 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
7740 (grub_linux_unload): Free relocator.
7741 (grub_linux_load32): Use relocator.
7742 (grub_linux_load64): Likewise.
7743 (grub_cmd_initrd): Likewise.
7744 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
7745 (grub_multiboot_unload): Unload relocator.
7746 (grub_cmd_multiboot): Use relocator.
7747 (grub_cmd_module): Likewise.
7748 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
7749 Use relocator and support sections.
7750 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
7751 (elf_sec_entsize): Likewise.
7752 (elf_sec_shstrndx): Likewise.
7753 (elf_sections): Likewise.
7754 (grub_multiboot_load): Use relocator.
7755 (grub_multiboot_get_mbi_size): Account for sections.
7756 (grub_multiboot_make_mbi): Use relocator and support sections.
7757 (grub_multiboot_add_elfsyms): New function.
7758 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
7759 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
7760 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
7761 Prototype changed. All users updated.
7762 (grub_xnu_align_heap): Simplified.
7763 (grub_xnu_writetree_toheap): Likewise.
7764 (grub_xnu_unload): Unload relocator.
7765 (grub_cmd_xnu_kernel): Use relocator.
7766 (grub_cmd_xnu_kernel64): Likewise.
7767 (grub_xnu_register_memory): Simplified.
7768 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
7769 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
7770 EFI is finished.
7771 (grub_console_checkkey): Likewise.
7772 (grub_console_getkey): Likewise.
7773 (grub_console_getwh): Likewise.
7774 (grub_console_getxy): Likewise.
7775 (grub_console_gotoxy): Likewise.
7776 (grub_console_cls): Likewise.
7777 (grub_console_setcolorstate): Likewise.
7778 (grub_console_setcursor): Likewise.
7779 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
7780 * grub-core/tests/boot/kbsd.init-i386.S: New file.
7781 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
7782 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
7783 * grub-core/tests/boot/kernel-8086.S: Likewise.
7784 * grub-core/tests/boot/kernel-i386.S: Likewise.
7785 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
7786 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
7787 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
7788 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
7789 * grub-core/tests/boot/knetbsd.cfg: Likewise.
7790 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
7791 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
7792 * grub-core/tests/boot/linux.cfg: Likewise.
7793 * grub-core/tests/boot/linux.init-i386.S: Likewise.
7794 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
7795 * grub-core/tests/boot/linux16.cfg: Likewise.
7796 * grub-core/tests/boot/multiboot.cfg: Likewise.
7797 * grub-core/tests/boot/multiboot2.cfg: Likewise.
7798 * grub-core/tests/boot/ntldr.cfg: Likewise.
7799 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
7800 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
7801 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
7802 New definition.
7803 * include/grub/dl.h (grub_dl_unload_all): Removed.
7804 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
7805 (grub_efi_finish_boot_services): Change prototype.
7806 (grub_efi_is_finished): New variable.
7807 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
7808 Changed prototype.
7809 (grub_efiemu_finish_boot_services): Removed.
7810 (grub_machine_efiemu_init_tables): New prototype.
7811 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
7812 (grub_elf64_phdr_iterate): Likewise.
7813 * include/grub/i386/bsd.h: Include relocator.h.
7814 (freebsd_tag_header): New struct.
7815 (grub_openbsd_bios_mmap): Removed.
7816 (grub_unix_real_boot): Removed.
7817 (grub_freebsd_load_elfmodule32): Changed prototype.
7818 (grub_freebsd_load_elfmodule_obj64): Likewise.
7819 (grub_freebsd_load_elf_meta32): Likewise.
7820 (grub_freebsd_load_elf_meta64): Likewise.
7821 (grub_freebsd_add_meta): Removed.
7822 (grub_netbsd_load_elf_meta32): New prototype.
7823 (grub_netbsd_load_elf_meta64): Likewise.
7824 (grub_bsd_add_meta): Likewise.
7825 (grub_openbsd_ramdisk_descriptor): New struct.
7826 (grub_openbsd_find_ramdisk32): New prototype.
7827 (grub_openbsd_find_ramdisk64): Likewise.
7828 * include/grub/i386/coreboot/loader.h: Removed.
7829 * include/grub/i386/efi/loader.h: Likewise.
7830 * include/grub/i386/ieee1275/loader.h: Likewise.
7831 * include/grub/i386/linux.h (linux_kernel_header): Change void *
7832 to grub_uint32_t.
7833 * include/grub/i386/loader.h: Removed.
7834 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
7835 value.
7836 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
7837 (grub_phys_addr_t): New type.
7838 (grub_vtop): New inline function.
7839 (grub_map_memory): Likewise.
7840 (grub_unmap_memory): Likewise.
7841 * include/grub/i386/multiboot/loader.h: Removed.
7842 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
7843 (NETBSD_BTINFO_CONSOLE): New definition.
7844 (NETBSD_BTINFO_SYMTAB): Likewise.
7845 (NETBSD_BTINFO_MODULES): Likewise.
7846 (NETBSD_BTINFO_FRAMEBUF): Likewise.
7847 (grub_netbsd_bootinfo): New struct.
7848 (grub_netbsd_btinfo_common): Use explicit bitsize.
7849 (grub_netbsd_btinfo_mmap_entry): Removed.
7850 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
7851 (grub_netbsd_btinfo_bootdisk): New struct.
7852 (grub_netbsd_btinfo_symtab): Likewise.
7853 (grub_netbsd_btinfo_serial): Likewise.
7854 (grub_netbsd_btinfo_modules): Likewise.
7855 (grub_netbsd_btinfo_framebuf): Likewise.
7856 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
7857 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
7858 Likewise.
7859 (grub_openbsd_bootargs): Use explicit bitsize.
7860 (grub_openbsd_bootarg_console): New struct.
7861 (GRUB_OPENBSD_COM_MAJOR): New definition.
7862 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
7863 * include/grub/i386/pc/efiemu.h: Removed.
7864 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
7865 * include/grub/i386/qemu/loader.h: Removed.
7866 * include/grub/i386/relocator.h: Rewritten.
7867 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
7868 * include/grub/mips/memory.h: New file.
7869 * include/grub/mips/multiboot.h: Rewritten.
7870 * include/grub/mips/relocator.h: Rewritten.
7871 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
7872 (grub_vtop): New function.
7873 (grub_map_memory): Likewise.
7874 (grub_unmap_memory): Likewise.
7875 * include/grub/misc.h (ALIGN_DOWN): New definition.
7876 * include/grub/mm.h (grub_mm_check_real): New proto.
7877 (GRUB_MM_CHECK): New definition.
7878 * include/grub/mm_private.h: New file.
7879 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
7880 (grub_multiboot_get_mbi_size): Removed.
7881 (grub_multiboot_make_mbi): Change prottype.
7882 (grub_multiboot_set_accepts_video): New proto.
7883 (grub_multiboot_add_elfsyms): Likewise.
7884 (grub_multiboot_payload_eip): New variable.
7885 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
7886 New prototype.
7887 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
7888 New definition.
7889 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
7890 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
7891 * include/grub/powerpc/ieee1275/loader.h: Removed.
7892 * include/grub/powerpc/memory.h: New file.
7893 * include/grub/powerpc/relocator.h: Likewise.
7894 * include/grub/relocator.h: Likewise.
7895 * include/grub/relocator_private.h: Likewise.
7896 * include/grub/sparc64/ieee1275/loader.h: Removed.
7897 * include/grub/x86_64/memory.h: New file.
7898 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
7899 (grub_xnu_heap_malloc): Likewise.
7900 (grub_xnu_heap_real_start): Removed.
7901 (grub_xnu_heap_start): Likewise.
7902 (grub_xnu_relocator): New variable.
7903 (grub_xnu_heap_target_start): Likewise.
7904 * tests/util/grub-shell.in: Support non-pc.
7905 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 7906
5303b85d
VS
79072010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
7908
7909 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
7910 on malloc error.
7911 (grub_bidi_logical_to_visual): Check that malloc succeded.
7912 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
7913 puts.
7914 (grub_xputs_normal): Likewise.
7915
d768d159
VS
79162010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
7917
7918 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
7919 extra_dist.
7920
79212010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
7922
7923 * grub-core/efiemu/runtime/efiemu.sh: Removed.
7924
5bf84df4
VS
79252010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
7926
7927 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
7928
3626810e
VS
79292010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
7930
7931 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
7932 dprintf.
7933
a7363f53
BC
79342010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
7935
7936 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
7937
902f75f6
VS
79382010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
7939
7940 * grub-core/normal/term.c (print_more): Fix a memory leak.
7941 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
7942 (grub_xputs_normal): Likewise.
7943
3c707967
VS
79442010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
7945
7946 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
7947 the begining of the string
7948
2053cc07
VS
79492010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
7950
7951 * grub-core/script/script.c (grub_script_parse): Free parsed on
7952 failure.
7953
46422ebf
VS
79542010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
7955
7956 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
7957 on failure.
7958
9e0fa3f6
VS
79592010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
7960
7961 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
7962 return.
7963
3393cf16
VS
79642010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
7965
7966 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
7967 (scroll_up): Fix a memory leak.
7968
b17540cb
VS
79692010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
7970
7971 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
7972 errors.
7973
67140446
VS
79742010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
7975
7976 Handle USB pendrives exposed as floppies.
7977
7978 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
7979 floppy.
7980 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
7981 Check for partitions on all devices.
7982
e35e46fc
VS
79832010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
7984
7985 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
7986 (readkey): Likewise.
7987
d24c6190
BC
79882010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
7989
7990 Multiple variable names support to "export" command.
7991
7992 * normal/context.c (grub_cmd_export): "export" command supports
7993 multiple variable names.
7994
04ddcc6a
ST
79952010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
7996
7997 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
7998 --target=drive output to Mach device name.
7999
0c8b61d8
BC
80002010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
8001
8002 New Automake based build system for GRUB.
8003
8004 * ABOUT-NLS: New file.
8005 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
8006 in Makefile.util.def file.
8007 * Makefile.util.def: New file. Autogen build definitions file for
8008 GRUB host utils.
8009 * conf/Makefile.common: New file. Common variables for GRUB host
8010 utils and target modules.
8011 * conf/Makefile.extra-dist: New file. Extra files for make dist.
8012 * docs/Makefile.am: New file. Automake file for docs.
8013 * gentpl.py: New file. Python script to generate Autogen
8014 template.
8015 * grub-core/Makefile.am: New file. GRUB target modules' rules
8016 that doesn't fit in Makefile.core.def file.
8017 * grub-core/Makefile.core.def: New file. Autogen build
8018 definitions file for GRUB target modules.
8019 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
8020 specific setjmp.S file.
8021 * po/Makefile.am: New file.
8022
8023 * .bzrignore: New ignores.
8024 * INSTALL: New requirements, without Ruby.
8025 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
8026 * autogen.sh: Updated to invoke autogen as necessary.
8027 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
8028 and defines for Automake conditionals.
8029 * geninit.sh: Refactoring.
8030
8031 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
8032 necessary.
8033 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
8034 New prototype.
8035
8036 * include/grub/test.h: Fix functional test modules' naming.
8037 * grub-core/tests/example_functional_test.c: Fix test module name.
8038
8039 * util/misc.c: Hosted versions' of grub functions for libgrub.a
8040 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
8041 * util/grub-editenv.c: Likewise.
8042 * util/grub-fstest.c: Likewise.
8043 * util/grub-mkdevicemap.c: Likewise.
8044 * util/grub-mkfont.c: Likewise.
8045 * util/grub-mkimage.c: Likewise.
8046 * util/grub-mkpasswd-pbkdf2.c: Likewise.
8047 * util/grub-probe.c: Likewise.
8048 * util/grub-script-check.c: Likewise.
8049 * util/i386/pc/grub-setup.c: Likewise.
8050 * util/sparc64/ieee1275/grub-setup.c: Likewise.
8051
8052 * tests/util/grub-shell.in: Fix override directory path.
8053 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
8054 * util/import_gcry.py: Create Makefile.gcry.def file instead.
8055
8056 * util/lvm.c: Update #includes.
8057 * util/raid.c: Likewise.
8058 * util/resolve.c: Likewise.
8059 * grub-core/bus/emu/pci.c: Likewise.
8060 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
8061 * grub-core/lib/posix_wrap/string.h: Likewise.
8062 * grub-core/kern/emu/main.c: Likewise.
8063
8064 * grub-core/gensymlist.sh: New file. Script for generating kernel
8065 symbols file.
8066 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
8067
8068 * grub-core/gentrigtables.c: Fix unused variable warnings.
8069
8070 * Makefile.in: Removed.
8071 * conf/any-emu.rmk: Removed.
8072 * conf/common.rmk: Removed.
8073 * conf/i386-coreboot.rmk: Removed.
8074 * conf/i386-efi.rmk: Removed.
8075 * conf/i386-ieee1275.rmk: Removed.
8076 * conf/i386-multiboot.rmk: Removed.
8077 * conf/i386-pc.rmk: Removed.
8078 * conf/i386-qemu.rmk: Removed.
8079 * conf/i386.rmk: Removed.
8080 * conf/mips-yeeloong.rmk: Removed.
8081 * conf/mips.rmk: Removed.
8082 * conf/powerpc-ieee1275.rmk: Removed.
8083 * conf/sparc64-ieee1275.rmk: Removed.
8084 * conf/tests.rmk: Removed.
8085 * conf/x86-efi.rmk: Removed.
8086 * conf/x86_64-efi.rmk: Removed.
8087 * gendistlist.sh: Removed.
8088 * geninitheader.sh: Removed.
8089 * genkernsyms.sh.in: Removed.
8090 * genmk.rb: Removed.
8091 * gensymlist.sh.in: Removed.
8092 * mkinstalldirs: Removed.
8093 * boot: Moved ...
8094 * grub-core/boot: ... to here.
8095 * bus: Moved ...
8096 * grub-core/bus: ... to here.
8097 * commands: Moved ...
8098 * grub-core/commands: ... to here.
8099 * disk: Moved ...
8100 * grub-core/disk: ... to here.
8101 * efiemu: Moved ...
8102 * grub-core/efiemu: ... to here.
8103 * font: Moved ...
8104 * grub-core/font: ... to here.
8105 * fs: Moved ...
8106 * grub-core/fs: ... to here.
8107 * gencmdlist.sh: Moved ...
8108 * grub-core/gencmdlist.sh: ... to here.
8109 * genemuinit.sh: Moved ...
8110 * grub-core/genemuinit.sh: ... to here.
8111 * genemuinitheader.sh: Moved ...
8112 * grub-core/genemuinitheader.sh: ... to here.
8113 * genfslist.sh: Moved ...
8114 * grub-core/genfslist.sh: ... to here.
8115 * genhandlerlist.sh: Moved ...
8116 * grub-core/genhandlerlist.sh: ... to here.
8117 * genmoddep.awk: Moved ...
8118 * grub-core/genmoddep.awk: ... to here.
8119 * genmodsrc.sh: Moved ...
8120 * grub-core/genmodsrc.sh: ... to here.
8121 * genpartmaplist.sh: Moved ...
8122 * grub-core/genpartmaplist.sh: ... to here.
8123 * genparttoollist.sh: Moved ...
8124 * grub-core/genparttoollist.sh: ... to here.
8125 * genterminallist.sh: Moved ...
8126 * grub-core/genterminallist.sh: ... to here.
8127 * gentrigtables.c: Moved ...
8128 * grub-core/gentrigtables.c: ... to here.
8129 * genvideolist.sh: Moved ...
8130 * grub-core/genvideolist.sh: ... to here.
8131 * gettext: Moved ...
8132 * grub-core/gettext: ... to here.
8133 * gfxmenu: Moved ...
8134 * grub-core/gfxmenu: ... to here.
8135 * gnulib: Moved ...
8136 * grub-core/gnulib: ... to here.
8137 * hello: Moved ...
8138 * grub-core/hello: ... to here.
8139 * hook: Moved ...
8140 * grub-core/hook: ... to here.
8141 * io: Moved ...
8142 * grub-core/io: ... to here.
8143 * kern: Moved ...
8144 * grub-core/kern: ... to here.
8145 * lib: Moved ...
8146 * grub-core/lib: ... to here.
8147 * loader: Moved ...
8148 * grub-core/loader: ... to here.
8149 * mmap: Moved ...
8150 * grub-core/mmap: ... to here.
8151 * normal: Moved ...
8152 * grub-core/normal: ... to here.
8153 * partmap: Moved ...
8154 * grub-core/partmap: ... to here.
8155 * parttool: Moved ...
8156 * grub-core/parttool: ... to here.
8157 * script: Moved ...
8158 * grub-core/script: ... to here.
8159 * term: Moved ...
8160 * grub-core/term: ... to here
8161 * tests/example_functional_test.c: Moved ...
8162 * grub-core/tests/example_functional_test.c: ... to here.
8163 * tests/lib/functional_test.c: Moved ...
8164 * grub-core/tests/lib/functional_test.c: ... to here.
8165 * tests/lib/test.c: Moved ...
8166 * grub-core/tests/lib/test.c: ... to here.
8167 * video: Moved ...
8168 * grub-core/video: ... to here.
8169
645586e6
BC
81702010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
8171
8172 Replace --enable-grub-emu-modules with grub-emu-lite.
8173
8174 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
8175 cache.S.
8176
8177 * include/grub/emu/misc.h (grub_emu_init): New prototype.
8178 * kern/emu/full.c: New file. For grub-emu specific initialization.
8179 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
8180 * kern/emu/main.c: Call initialization function grub_emu_init.
8181
8182 * Makefile.in: Include grub-emu-lite in install.
8183 * commands/parttool.c: Use grub_no_autoload to differentiate
8184 between grub-emu and grub-emu-lite.
8185 * include/grub/misc.h: New variable grub_no_autoload.
8186
8187 * conf/any-emu.rmk: New rules for grub-emu-lite.
8188 * configure.ac: Remove --enable-grub-emu-modules.
8189 * genmk.rb: Cleanup unnecessary rules.
8190 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
8191
8192 * normal/main.c: Don't load list files on grub-emu-lite.
8193 * util/misc.c (grub_arch_sync_caches): Removed.
8194
f86a4030
CW
81952010-08-23 Colin Watson <cjwatson@ubuntu.com>
8196
8197 * kern/mips/startup.S (grub_prefix): Update comment to refer to
8198 grub-mkimage rather than grub-mkelfimage.
8199 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
8200
06776944
VS
82012010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
8202
8203 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
8204 a key after CapsLock or NumLock. It's just a qemu bug.
8205
df262419
VS
82062010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
8207
8208 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
8209 needed by libusb wrapper.
8210
b40ea81b
ST
82112010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
8212
8213 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
8214
dee50575
VS
82152010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
8216
8217 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
8218 --nounzip is passed.
8219
fb1d7b79
VS
82202010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
8221
8222 USB hotunplugging and USB serial support.
8223
8224 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
8225 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
8226 (grub_uhci_transfer): Respect timeout and set *actual.
8227 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
8228 non-standard length.
8229 (grub_usb_device_attach): Autoload modules.
8230 (GRUB_MOD_INIT): Set grub_term_poll_usb.
8231 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
8232 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
8233 users updated.
8234 (grub_usb_add_hub): Fill nports and children.
8235 (attach_root_port): Receive hub instead of controller.
8236 All users updated. Fill hub->devices.
8237 (grub_usb_root_hub): Allocate hub->devices.
8238 (detach_device): New function.
8239 (poll_nonroot_hub): Fill children and detach devices.
8240 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
8241 actual arguments. All users updated.
8242 (grub_usb_bulk_read_extended): New function.
8243 * bus/usb/serial/common.c: New file.
8244 * bus/usb/serial/ftdi.c: Likewise.
8245 * bus/usb/serial/pl2303.c: Likewise.
8246 * commands/terminal.c (handle_command): Support wildcard.
8247 * commands/usbtest.c: Output "Unknown" instead of empty string.
8248 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
8249 (usbserial_common_mod_SOURCES): New variable.
8250 (usbserial_common_mod_CFLAGS): Likewise.
8251 (usbserial_common_mod_LDFLAGS): Likewise.
8252 (pkglib_MODULES): Add usbserial_pl2303.mod.
8253 (usbserial_pl2303_mod_SOURCES): New variable.
8254 (usbserial_pl2303_mod_CFLAGS): Likewise.
8255 (usbserial_pl2303_mod_LDFLAGS): Likewise.
8256 (pkglib_MODULES): Add usbserial_ftdi.mod.
8257 (usbserial_ftdi_mod_SOURCES): New variable.
8258 (usbserial_ftdi_mod_CFLAGS): Likewise.
8259 (usbserial_ftdi_mod_LDFLAGS): Likewise.
8260 (pkglib_MODULES): Add serial.mod.
8261 (serial_mod_SOURCES): New variable.
8262 (serial_mod_CFLAGS): Likewise.
8263 (serial_mod_LDFLAGS): Likewise.
8264 * conf/i386-pc.rmk: Likewise.
8265 * conf/mips-yeeloong.rmk: Likewise.
8266 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
8267 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
8268 * disk/usbms.c (first_available_slot): New variable.
8269 (grub_usbms_attach): Don't reuse free slots due to potential cache
8270 problems.
8271 * include/grub/serial.h: Moved to ..
8272 * include/grub/ns8250.h: ...this.
8273 * include/grub/serial.h: New file.
8274 * include/grub/term.h (grub_term_poll_usb): New variable.
8275 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
8276 readkey. All users updated.
8277 (grub_terminfo_output_state): Pass term to put.
8278 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
8279 (grub_usb_controller_dev): Add timeout and actual arguments to
8280 transfer. All users updated.
8281 (grub_usb_interface): New field detach_data.
8282 (grub_usb_device): New fields children and nports.
8283 (grub_usb_ep_type_t): New type.
8284 (grub_usb_get_ep_type): New function.
8285 (grub_usb_bulk_read_extended): Likewise.
8286 * include/grub/usbdesc.h (grub_usb_desc): New type.
8287 * include/grub/usbserial.h: New file.
8288 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
8289 * kern/term.c (grub_term_poll_usb): New variable.
8290 (grub_getkey): Call grub_term_poll_usb if set.
8291 (grub_checkkey): Likewise.
8292 (grub_getkeystatus): Likewise.
8293 * term/serial.c: Moved controller-specific parts to ...
8294 * term/ns8250.c: ... here.
8295 * term/serial.c: Mostly rewritten.
8296 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
8297 according to spec.
8298
21a313de
RM
82992010-08-20 Robert Millan <rmh@gnu.org>
8300
8301 Make kFreeBSD code more generic to support ext2fs as root, ufs as
8302 a separate module and maybe other interesting combinations.
8303
8304 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
8305 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
8306 (kfreebsd_entry): Add generic filesystem module load routine.
8307 Map GRUB `ext2' to kFreeBSD `ext2fs'.
8308
63c734a6
CW
83092010-08-20 Colin Watson <cjwatson@ubuntu.com>
8310
8311 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
8312 "numcenter" (I misunderstood the purpose of this entry).
8313 * docs/grub.texi (sendkey): Likewise.
8314
c4d16542
CW
83152010-08-20 Colin Watson <cjwatson@ubuntu.com>
8316
8317 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
8318 status flag options; simply omitting the option is equivalent and
8319 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
8320 (keysym_table): Rename "num5numlock" to "numlock".
8321 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
8322 can uniformly say that only the last of multiple `sendkey'
8323 invocations has any effect.
8324 * docs/grub.texi (sendkey): New section.
8325
93541d66
CW
83262010-08-19 Colin Watson <cjwatson@ubuntu.com>
8327
8328 * commands/i386/pc/sendkey.c (options): Fix three typos.
8329
b4ece5e1
VS
83302010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
8331
8332 Implement sendkey support.
8333
8334 * commands/i386/pc/sendkey.c: New file.
8335 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
8336 (sendkey_mod_SOURCES): New variable.
8337 (sendkey_mod_CFLAGS): Likewise.
8338 (sendkey_mod_LDFLAGS): Likewise.
8339
51f1f5af
CW
83402010-08-18 Colin Watson <cjwatson@ubuntu.com>
8341
8342 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
8343 fix warnings from Autoconf.
8344
9da94e05
CW
83452010-08-18 Colin Watson <cjwatson@ubuntu.com>
8346
8347 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
8348 to avoid false positives with some assemblers that output things
8349 like "someprefix_func" as part of their output.
8350
729a0f2e
RM
83512010-08-15 Robert Millan <rmh@gnu.org>
8352
8353 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
8354 errors.
8355 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
8356 grub_get_libzfs_handle() errors.
8357
f3710e08
RM
83582010-08-14 Robert Millan <rmh@gnu.org>
8359
8360 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
8361 filesystem is not ZFS.
8362
7a3c13de
BC
83632010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
8364
8365 Fix for misspelled color names defaulting to black/black (bug
8366 reported by Doug Nazar)
8367
8368 * include/grub/normal.h (grub_parse_color_name_pair): Add return
8369 status to prototype.
8370 * normal/color.c (grub_parse_color_name_pair): Return failure
8371 status.
8372 (grub_env_write_color_normal): Ignore bad color names.
8373 (grub_env_write_color_highlight): Likewise.
8374 * normal/main.c (GRUB_MOD_INIT): Set default color names.
8375
ab8ba50d
BC
83762010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
8377
8378 "shift" command support to GRUB script.
8379
8380 * include/grub/script_sh.h (grub_script_shift): New prototype.
8381 * script/execute.c (grub_script_shift): New function.
8382 * script/main.c (grub_script_init): Register shift command.
8383 (grub_script_fini): Unregister shift command.
8384 * util/grub-script-check.c (grub_script_cmd_shift): New function.
8385
8386 * tests/grub_script_shift.in: New testcase.
8387 * conf/tests.rmk: Rules for new testcase.
8388
4d61999e
BC
83892010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
8390
8391 "continue" command support to GRUB script.
8392
8393 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
8394 (grub_script_break): Continue support.
8395 * script/main.c (grub_script_init): Register continue command.
8396 (grub_script_fini): Unregister continue command.
8397
8398 * tests/grub_script_continue.in: New testcase.
8399 * conf/tests.rmk: Rules for new testcase.
8400
4df51e00
BC
84012010-08-12 BVK Chaitanya <bvk@dbook>
8402
8403 "break" command support to GRUB script.
8404
8405 * conf/common.rmk: Rule updates to grub-script-check.
8406 * include/grub/misc.h (grub_min): New function.
8407 * include/grub/script_sh.h (grub_script_init): New prototype.
8408 (grub_script_fini): New prototype.
8409 (grub_script_break): New prototype.
8410 * script/main.c (grub_script_init): New function.
8411 (grub_script_fini): New function.
8412 * script/execute.c (grub_script_break): New function.
8413 * normal/main.c: Calls to grub_script_{init,fini}.
8414 * util/grub-script-check.c (grub_script_break): New function.
8415
8416 * tests/grub_script_break.in: New testcase.
8417 * conf/tests.rmk: Rules for new test case.
8418
f12c8420
BC
84192010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
8420
8421 Function parameters support to GRUB script.
8422
8423 * script/yylex.l (VARIABLE): Regular expression update.
8424 * script/function.c (grub_script_function_call): Moved ...
8425 * script/execute.c (grub_script_function_call): ... to here.
8426 (grub_script_execute_arglist_to_argv): Removed.
8427 (grub_script_arglist_to_argv): New function.
8428 * script/argv.c: New file.
8429 (grub_script_argv_free): New function.
8430 (grub_script_argv_next): Likewise.
8431 (grub_script_argv_append): Likewise.
8432 (grub_script_argv_split_append): Likewise.
8433 * include/grub/script_sh.h (grub_script_argv): New struct.
8434 (grub_script_argv_free): New function.
8435 (grub_script_argv_next): Likewise.
8436 (grub_script_argv_append): Likewise.
8437 (grub_script_argv_split_append): Likewise.
8438
8439 * conf/common.rmk (normal.mod): New source script/argv.c.
8440
8441 * tests/grub_script_echo1.in: More tests.
8442 * tests/grub_script_vars1.in: Likewise.
8443 * tests/grub_script_functions.in: New test case.
8444 * conf/tests.rmk: Rules for new testcase.
8445
8022b748
BC
84462010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
8447
8448 Remove grub_script_cmdblock struct.
8449
8450 * include/grub/script_sh.h: Remove grub_script_cmdblock.
8451 * script/parser.y: Likewise.
8452 * script/execute.c: Rename cmdblock suffix to cmdlist.
8453 * script/script.c: Likewise.
8454 * util/grub-script-check.c: Likewise.
8455
79a6ba61
YB
84562010-08-11 Yves Blusseau <blusseau@zetam.org>
8457
8458 * .bzrignore: add grub-macho2img
8459
d04b9414
VS
84602010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
8461
8462 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
8463
f947ab49
VS
84642010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
8465
8466 Remove the dump of sm712 initialisation sequence.
8467
8468 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
8469 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
8470 (GRUB_VGA_IO_MISC_WRITE): Likewise.
8471 (GRUB_VGA_CR_*): Added many registers.
8472 (GRUB_VGA_SR_*): Likewise.
8473 (GRUB_VGA_GR_*): Likewise.
8474 (grub_vga_write_arx): New function.
8475 (grub_video_hw_config): New struct.
8476 (grub_vga_set_geometry): New function.
8477 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
8478 GRUB_PCI_CLASS_SUBCLASS_VGA.
8479 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
8480 * video/sm712.c (grub_sm712_write_reg): New function
8481 (grub_sm712_read_reg): Likewise.
8482 (grub_sm712_sr_write): Likewise.
8483 (grub_sm712_gr_write): Likewise.
8484 (grub_sm712_cr_write): Likewise.
8485 (grub_sm712_write_arx): Likewise.
8486 (grub_sm712_cr_shadow_write): Likewise.
8487 (grub_sm712_write_dda_lookup): Likewise.
8488 (grub_video_sm712_setup): Initialise the video rather then
8489 blindly replay the dump.
8490 (main) [TEST]: Add a routine to be able to compile as standalone for
8491 tests.
8492 * video/sm712_init.c (sm712_init): Removed.
8493 (sm712_sr_seq1): New array.
8494 (sm712_sr_seq2): Likewise.
8495
f0206638
VS
84962010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
8497
8498 * include/grub/vga.h: Add missing grub/pci.h include.
8499
2764da3b
YB
85002010-08-10 Yves Blusseau <blusseau@zetam.org>
8501
8502 * util/grub-macho2img.c (main): fix typo
8503
cf0c775e
VS
85042010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
8505
8506 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
8507 (grub_vga_gr_read): Likewise.
8508 (grub_vga_cr_write): Likewise.
8509 (grub_vga_cr_read): Likewise.
8510 (grub_vga_sr_write): Likewise.
8511 (grub_vga_sr_read): Likewise.
8512 (grub_vga_palette_read): Likewise.
8513 (grub_vga_palette_write): Likewise.
8514 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
8515 (grub_sm712_sr_read): New function.
8516 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
8517 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
8518
07f360e9
RM
85192010-08-09 Robert Millan <rmh@gnu.org>
8520
8521 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
8522 out unused variables on non-ZFS build.
8523
346c2072
RM
85242010-08-08 Robert Millan <rmh@gnu.org>
8525
8526 Fix path generation for sub-filesystems in ZFS.
8527
8528 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
8529 missing slash.
8530
71175420
RM
85312010-08-08 Robert Millan <rmh@gnu.org>
8532
8533 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
8534
0d8286f3
RM
85352010-08-08 Robert Millan <rmh@gnu.org>
8536
8537 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
8538 exist, issue a proper error message (rely on `ls' for translated
8539 strings).
8540
55dd2924
RM
85412010-08-08 Robert Millan <rmh@gnu.org>
8542
8543 Fix grub-probe invocation.
8544
8545 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
8546
d3dd9e80
RM
85472010-08-04 Robert Millan <rmh@gnu.org>
8548
8549 * configure.ac: Remove checks for getfsstat() and getmntany().
8550 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
8551 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
8552 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
8553 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
8554 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
8555 function.
8556 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
8557 via find_mount_point_from_dir() and getfsstat() / getmntany().
8558
0de22aa9
RM
85592010-08-04 Robert Millan <rmh@gnu.org>
8560
8561 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
8562 (grub_find_zpool_from_mount_point): Merge into ...
8563 (grub_find_zpool_from_dir): ... this.
8564 * kern/emu/misc.c: Likewise.
8565
8566 * kern/emu/misc.c
8567 (grub_make_system_path_relative_to_its_root): Replace
8568 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
8569 with grub_find_zpool_from_dir().
8570 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
8571
62858144
RM
85722010-08-04 Robert Millan <rmh@gnu.org>
8573
8574 Support OpenSolaris in ZFS device resolution.
8575
8576 * configure.ac: Check for getmntany().
8577 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
8578 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
8579 support.
8580
9dd6fd50
RM
85812010-08-03 Robert Millan <rmh@gnu.org>
8582
8583 Fix grub-emu build.
8584
8585 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
8586 * include/grub/emu/misc.h: ... here.
8587
8588 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
8589 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
8590
8591 * util/misc.c: Remove `<grub/util/libzfs.h>'.
8592 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
8593 (grub_get_libzfs_handle): Move to ...
8594 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
8595 (grub_get_libzfs_handle): ... here.
8596
c9f7ff97
BC
85972010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
8598
8599 * script/execute.c (grub_script_execute_cmdline): Check for NULL
8600 as command name case.
8601
a870a783
CW
86022010-08-02 Colin Watson <cjwatson@ubuntu.com>
8603
8604 * disk/raid.c (insert_array): Select unique numbers for named arrays
8605 as well, for use as keys in the disk cache.
8606
c7db243b
RM
86072010-08-01 Robert Millan <rmh@gnu.org>
8608
8609 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
8610 kFreeBSD device name, except on ZFS where the filesystem label is
8611 used.
8612 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
8613 `/boot/zfs/zpool.cache'.
8614 Set mountfrom kernel variable using ${kfreebsd_device}.
8615
f7abdefb
RM
86162010-08-01 Robert Millan <rmh@gnu.org>
8617
8618 Make it even harder to use uninitialized `libzfs_handle' (and
8619 make the interface a bit simpler).
8620
8621 * include/grub/util/misc.h (grub_util_init_libzfs)
8622 (libzfs_handle): Remove.
8623 (grub_get_libzfs_handle): New prototype.
8624
8625 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
8626 attribute.
8627 (grub_util_init_libzfs): Remove.
8628 (grub_get_libzfs_handle): New function.
8629
8630 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
8631 grub_get_libzfs_handle() to obtain a libzfs handle instead of
8632 accessing `libzfs_handle' directly.
8633
c882acc0
RM
86342010-08-01 Robert Millan <rmh@gnu.org>
8635
8636 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
8637 (grub_find_zpool_from_mount_point): New function prototypes.
8638
8639 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
8640 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
8641
8642 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
8643 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
8644 `static' attribute.
8645
8646 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
8647 finding zpool from mount point into ...
8648 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
8649
8650 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
8651 requested path is part of a ZFS pool, use
8652 grub_find_zpool_from_mount_point() to detect its filesystem name,
8653 and generate a path with `/fsname@path' syntax.
8654
8bfe31d8
CW
86552010-08-01 Colin Watson <cjwatson@ubuntu.com>
8656
8657 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
8658 (void) rather than () so that this is a proper prototype.
8659
553df63d
VS
86602010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
8661
8662 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
8663
8687cf07
VS
86642010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
8665
8666 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
8667 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
8668
ea9be8ea
CW
86692010-08-01 Colin Watson <cjwatson@ubuntu.com>
8670
8671 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
8672
6eea041a
CW
86732010-08-01 Colin Watson <cjwatson@ubuntu.com>
8674
8675 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
8676
2cfb45df
CW
86772010-08-01 Colin Watson <cjwatson@ubuntu.com>
8678
8679 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
8680 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
8681 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
8682 disable gfxpayload.
8683 (Shell-like scripting): Add real content.
8684 (Serial terminal): Suggest `terminal_input serial; terminal_output
8685 serial' rather than putting the two commands on separate lines,
8686 since console input will be inoperative after the first command.
8687 (menuentry): Document --class, --users, and --hotkey options.
8688 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
8689 Vladimir Serbinenko).
8690
7decd202
VS
86912010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
86922010-08-01 Colin Watson <cjwatson@ubuntu.com>
8693
8694 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
8695
c882acc0
RM
86962010-08-01 Robert Millan <rmh@gnu.org>
8697
8698 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
8699 (grub_find_zpool_from_mount_point): New function prototypes.
8700
8701 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
8702 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
8703
8704 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
8705 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
8706 `static' attribute.
8707
8708 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
8709 finding zpool from mount point into ...
8710 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
8711
8712 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
8713 requested path is part of a ZFS pool, use
8714 grub_find_zpool_from_mount_point() to detect its filesystem name,
8715 and generate a path with `/fsname@path' syntax.
8716
deb0caa3
RM
87172010-08-01 Robert Millan <rmh@gnu.org>
8718
8719 Prevent accidental use of uninitialized libzfs_handle.
8720
8721 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
8722 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
8723 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
8724
ce04ef47
CW
87252010-08-01 Colin Watson <cjwatson@ubuntu.com>
8726
8727 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
8728 util/grub.d/10_linux.in). Fixes Debian bug #591093.
8729
ebf53056
RM
87302010-08-01 Robert Millan <rmh@gnu.org>
8731
8732 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 8733
3710bb6b
RM
87342010-07-31 Robert Millan <rmh@gnu.org>
8735
8736 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
8737
8072efeb
RM
87382010-07-31 Robert Millan <rmh@gnu.org>
8739
8740 * kern/emu/misc.c: Add missing license header.
8741
3169f4c7
RM
87422010-07-31 Robert Millan <rmh@gnu.org>
8743
8744 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
8745
8746 * include/grub/util/libnvpair.h: Include `<config.h>'.
8747 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
8748 declaring libnvpair prototypes ourselves.
8749 * include/grub/util/libzfs.h: Include `<config.h>'.
8750 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
8751 declaring libzfs prototypes ourselves.
8752
8753 (libzfs_handle): Moved to ...
8754 * include/grub/util/misc.h (libzfs_handle): ... here.
8755 Include `<grub/util/libzfs.h>'.
8756
c9a00aee
RM
87572010-07-30 Robert Millan <rmh@gnu.org>
8758
8759 * include/grub/emu/misc.h: Add missing license header.
8760
a184f9c8
RM
87612010-07-30 Robert Millan <rmh@gnu.org>
8762
8763 Enable `grub-probe -t device' resolution on ZFS.
8764
8765 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
8766 * include/grub/util/libnvpair.h: New file.
8767 * include/grub/util/libzfs.h: New file.
8768
8769 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
8770 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
8771 `<grub/util/libnvpair.h>'.
8772 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
8773
8774 (find_mount_point_from_dir): New static function.
8775 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
8776 function.
8777 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
8778 find_root_device_from_libzfs() before ressorting to find_root_device().
8779
8780 * include/grub/util/misc.h (grub_util_init_libzfs): New function
8781 prototype.
8782 * util/misc.c: Include `<grub/util/libzfs.h>'.
8783 (grub_util_init_libzfs): New function.
8784 [HAVE_LIBZFS] (libzfs_handle): New global variable.
8785 [HAVE_LIBZFS] (fini_libzfs): New static function.
8786 (grub_util_init_libzfs): New function.
8787 * util/grub-probe.c (main): Call grub_util_init_libzfs().
8788
f7790cdd
RM
87892010-07-30 Robert Millan <rmh@gnu.org>
8790
8791 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
8792 (xmalloc, xrealloc, xstrdup, xasprintf): Add
8793 `warn_unused_result' attribute.
8794 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
8795 (grub_xasprintf, grub_xvasprintf): Likewise.
8796 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
8797
0806b63c
RM
87982010-07-29 Robert Millan <rmh@gnu.org>
8799
8800 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
8801 (probe): Handle `PRINT_FS_LABEL'.
8802 (main): Handle `-t fs_label'.
8803
9f841f5c
RM
88042010-07-29 Robert Millan <rmh@gnu.org>
8805
8806 * configure.ac: Remove grub-mkisofs checks.
8807
46371121
VS
88082010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
8809
8810 * util/ieee1275/grub-install.in: Don't use empty grub_device.
8811 Reported by: Lennart Sorensen.
8812
88132010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
8814
8815 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
8816 prior to terminal_input/terminal_output separation. It's been over 1.5
8817 years and those versions weren't widely deployed.
8818
a9600892
CW
88192010-07-22 Colin Watson <cjwatson@ubuntu.com>
8820
8821 * disk/raid.c (insert_array): Don't count named arrays when looking
8822 for unused array numbers.
697e053c 8823 Reported and tested by: Michael Guntsche.
a9600892 8824
c03507df
CW
88252010-07-20 Colin Watson <cjwatson@ubuntu.com>
8826
8827 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
8828 implementation of this so that grub-emu links again, with a note
8829 that this should support hotplugging in the future.
8830
b26f1c11
CW
88312010-07-20 Colin Watson <cjwatson@ubuntu.com>
8832
8833 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
8834
efc9d7f1
CW
88352010-07-20 Colin Watson <cjwatson@ubuntu.com>
8836
8837 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
8838 handle on failure.
8839 (grub_loopback_close): Remove empty function.
8840 (grub_loopback_dev): Remove close method.
8841
dd8ff5c9
CW
88422010-07-20 Colin Watson <cjwatson@ubuntu.com>
8843
8844 Disable EFI cursor when the EFI console becomes inactive.
8845
8846 * term/efi/console.c (grub_efi_console_init): New function.
8847 (grub_efi_console_fini): New function.
8848 (grub_console_term_output): Register init and fini methods.
8849
5e3bec67
VS
88502010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
8851
8852 * tests/util/grub-shell-tester.in: Remove bashism and declare as
8853 sh script.
8854
afaec079
VS
88552010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
8856
8857 * disk/loopback.c (grub_loopback): Replace filename with file.
8858 (delete_loopback): Handle new semantics.
8859 (grub_cmd_loopback): Likewise.
8860 (grub_loopback_iterate): Likewise.
8861 (grub_loopback_close): Likewise.
8862
a6a11f3c
VS
88632010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
8864
8865 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
8866 with -p "".
8867 Reported by: Tito Keitel.
8868
64a638b0
VS
88692010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
8870
8871 * docs/grub.texi (Naming convention): Document new naming convention.
8872
ab8ba957
VS
88732010-07-20 Vadim Solomin <vadic052@gmail.com>
88742010-07-20 Colin Watson <cjwatson@ubuntu.com>
8875
8876 Generate device.map in something closer to the old ordering.
8877
8878 * util/deviceiter.c (struct device): New declaration.
8879 (compare_file_names): Rename to ...
8880 (compare_devices): ... this. Sort by kernel name in preference to
8881 the stable by-id name, but keep the latter as a fallback comparison.
8882 Update header comment.
8883 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
8884 of `struct device' rather than of plain file names.
8885
a29d6a4b
TF
88862010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
8887
8888 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
8889 on i386.
8890
39d824e8
VS
88912010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
8892
8893 * commands/acpi.c (setup_common_tables): Use sizeof instead of
8894 hardcoding size.
8895 (setv1table): Likewise.
8896
f058276b
FZ
88972010-07-20 Colin Watson <cjwatson@ubuntu.com>
8898
8899 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
8900 removing the homehost if present.
8901 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
8902 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
8903 removing the homehost if present.
8904 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
8905 if possible.
8906 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
8907
8908 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
8909 parameter. Set its pointer target to 0.
8910 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
8911 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
8912 `data_offset' value from the superblock for 1.x metadata.
8913 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
8914 data on the device.
8915 (insert_array): Record the start sector of data on the device.
8916 (grub_raid_register): Pass start_sector parameters to
8917 grub_raid_list->detect and insert_array.
8918 * include/grub/raid.h (struct grub_raid_array): Add start_sector
8919 member.
8920 (struct grub_raid): Add start_sector parameter to `detect'.
8921
8922 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
8923 __attribute__ ((packed)), leaving a comment.
8924 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
8925 (grub_mdraid_detect_09): ... here and ...
8926 (grub_mdraid_detect_1x): ... here.
8927
89282010-07-20 Peter Henn <peter.henn@web.de>
8929
8930 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
8931 chunk size and disk size, which are already given as sector counts
8932 as distinct from the 0.90 units. Fetch the correct device number
8933 from the role table instead of using the table index.
8934
89352010-07-20 Felix Zielcke <fzielcke@z-51.de>
8936
8937 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
8938 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
8939 (WriteMostly1): New macro.
8940 Set array->name to NULL for metadata format 0.90. Add support for
8941 metadata 1.x. Fix some comments.
8942 * disk/raid.c (): Add support for name based RAID arrays. Fix a
8943 few comments.
8944 * util/getroot.c (grub_util_get_grub_dev): Add support for
8945 /dev/md/name style devices.
8946
4b761da9
CW
89472010-07-20 Colin Watson <cjwatson@ubuntu.com>
8948
8949 * .bzrignore: Ignore 20_linux_xen.
8950
5771289a
CW
89512010-07-17 Colin Watson <cjwatson@ubuntu.com>
8952
8953 * util/import_unicode.py: Remove unnecessary imports.
8954
5dab68df
AN
89552010-07-17 Aleš Nesrsta <starous@volny.cz>
8956
8957 Hotplugging and USB hub support.
8958
8959 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
8960 (grub_ohci): Likewise.
8961 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
8962 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
8963 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
8964 (GRUB_OHCI_CTRL_EDS): Likewise.
8965 (GRUB_OHCI_BULK_EDS): Likewise.
8966 (GRUB_OHCI_TDS): Likewise.
8967 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
8968 (grub_ohci_ed_phys2virt): New function.
8969 (grub_ohci_virt_to_phys): Likewise.
8970 (grub_ohci_td_phys2virt): Likewise.
8971 (grub_ohci_td_virt2phys): Likewise.
8972 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
8973 attachment.
8974 (grub_ohci_find_ed): New function.
8975 (grub_ohci_alloc_td): Likewise.
8976 (grub_ohci_free_td): Likewise.
8977 (grub_ohci_free_tds): Likewise.
8978 (grub_ohci_transfer): Use previously allocated memory.
8979 (grub_ohci_portstatus): Reset status changed bit.
8980 (grub_ohci_detect_dev): Supply status changed.
8981 (grub_ohci_fini_hw): Free memory.
8982 (grub_ohci_restore_hw): Reallocate memory.
8983 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
8984 Reset status change.
8985 (grub_uhci_detect_dev): Supply status_change.
8986 * bus/usb/usb.c (attach_hooks): New var.
8987 (grub_usb_device_attach): New function.
8988 (grub_usb_register_attach_hook_class): Likewise.
8989 (grub_usb_unregister_attach_hook_class): Likewise.
8990 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
8991 (grub_usb_add_hub): Reset connection changed bit.
8992 (attach_root_port): New function.
8993 (grub_usb_root_hub): Likewise.
8994 (poll_nonroot_hub): Likewise.
8995 (grub_usb_poll_devices): Likewise.
8996 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
8997 * disk/usbms.c (grub_usbms_open): Use device hooks.
8998 (grub_usbms_iterate) :Poll devices.
8999 (grub_usbms_finddevs): Split into ...
9000 (grub_usbms_attach): ... this ...
9001 (grub_usbms_attach): ... and this.
9002 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
9003 in detect_dev.
9004 (grub_usb_interface): New fields attached and detach_hook.
9005 (grub_usb_attach_hook_class): New type.
9006 (grub_usb_attach_desc): New struct.
9007 (grub_usb_register_attach_hook_class): New function.
9008 (grub_usb_unregister_attach_hook_class): Likewise.
9009 (grub_usb_poll_devices): Likewise.
9010 (grub_usb_device_attach): Likewise.
9011 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
9012 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
9013
3222efaf
VS
90142010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
9015
9016 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
9017 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
9018 delta determination style. Works with most NetBSD partitions too.
9019
139b714a
VS
90202010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
9021
9022 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
9023 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
9024
986aad56
VS
90252010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
9026
9027 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
9028
99be513c
AB
90292010-07-14 Anton Blanchard <anton@samba.org>
9030
9031 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
9032 ET_DYN files.
9033
18075f62
GS
90342010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
9035
9036 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
9037
8d9a5b15
GS
90382010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
9039
9040 * kern/partition.c (grub_partition_check_containment): New function to
9041 check that a partition is physically contained in a parent. Since
9042 offsets are relative (and non-negative), this reduces to checking that
9043 the partition ends before its parent.
9044 (grub_partition_map_probe): Discard out-of-range sub-partitions.
9045 (grub_partition_iterate): Likewise.
9046 * include/grub/partition.h (grub_partition_map): Slightly more detailed
9047 comments.
9048 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
9049 partitions that start before their parent, and add debug printfs.
9050
19563c25
CW
90512010-07-13 Colin Watson <cjwatson@ubuntu.com>
9052
9053 * Makefile.in (.SUFFIX): Spell correctly, as ...
9054 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
9055 bare module name without `.mod', e.g. `test') tried to invoke a
9056 Modula-2 compiler.
9057
1a1f1e67
CW
90582010-07-13 Colin Watson <cjwatson@ubuntu.com>
9059
9060 * README: Point to the Info manual.
9061
811b0dca
JS
90622010-07-13 Jiro SEKIBA <jir@unicus.jp>
9063
9064 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
9065 2nd superblock position from partition size.
9066
e4f4eafc
CW
90672010-07-10 Colin Watson <cjwatson@ubuntu.com>
9068
9069 * Makefile.in (MAINTAINER_CLEANFILES): Remove
9070 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
9071 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
9072 outputs.
9073
4274c30f
VS
90742010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
9075
9076 Restructure SCSI .id handling.
9077 Reported and tested by: Aleš Nesrsta.
9078
9079 * disk/ata.c (grub_atapi_close): Removed. All users updated.
9080 (grub_atapi_dev): Changed .name to "ata". New field .id.
9081 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
9082 (grub_usbms_dev): New field .id.
9083 * disk/scsi.c (grub_scsi_iterate): Generate name.
9084 (grub_scsi_open): Parse name.
9085 * include/grub/scsi.h (grub_make_scsi_id): New function.
9086 (grub_scsi_dev): Change iterate and open to number instead of naming
9087 busses. All users updated.
9088 (grub_scsi): Remove name. Add .bus.
9089
5bc24388
VS
90902010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
9091
9092 * commands/help.c (grub_cmd_help): Fix a typo.
9093
249975ba
VS
90942010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
9095
9096 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
9097 Reported and tested by: Colin Watson.
9098
3eaac1a1
VS
90992010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
9100
9101 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
9102 in this context.
9103
becce1b1
VS
91042010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
9105
9106 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
9107
f7bf0918
CW
91082010-07-07 Colin Watson <cjwatson@ubuntu.com>
9109
9110 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
9111 indentation.
9112
0b0f9620
CW
91132010-07-06 Colin Watson <cjwatson@ubuntu.com>
9114
9115 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
9116 and disk/raid6_recover.c.
9117 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
9118 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
9119
1e545469
CW
91202010-07-06 Colin Watson <cjwatson@ubuntu.com>
9121
9122 * term/gfxterm.c (repaint_schedulded): Rename to ...
9123 (repaint_scheduled): ... this. Update all callers.
9124 (repaint_was_schedulded): Rename to ...
9125 (repaint_was_scheduled): ... this. Update all callers.
9126
5357687a
CW
91272010-07-06 Colin Watson <cjwatson@ubuntu.com>
9128
9129 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
9130 which we expect to be handled by upper layers.
9131
29d7e783
BC
91322010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
9133
9134 * bus/usb/usbhub.c: #include time.h header.
9135
37582066
CW
91362010-07-06 Colin Watson <cjwatson@ubuntu.com>
9137
9138 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
9139 entry_name also for entries without stat blocks (e.g. ".."); fixes
9140 corruption of the first entry in a directory.
9141
c8c06953
CW
91422010-07-06 Colin Watson <cjwatson@ubuntu.com>
9143
9144 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
9145 after setting gfxterm as the active terminal. GRUB_BACKGROUND
9146 doesn't work otherwise.
9147
e75056f1
CW
91482010-07-05 Colin Watson <cjwatson@ubuntu.com>
9149
9150 * docs/grub.texi (Features): Update list of supported file systems.
9151 (GNU/Linux): Update for GRUB 2.
9152 (Serial terminal): Remove mention of --disable-serial, which was a
9153 GRUB Legacy configure option. Update instructions to use
9154 `terminal_input' and `terminal_output' rather than `terminal'.
9155 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
9156 configuration' and `Installing GRUB using grub-install'.
9157 (Menu entry editor): Update for GRUB 2.
9158 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
9159 Document new -a, -u, and -v options.
9160 (initrd): New section.
9161 (initrd16): New section.
9162 (linux): New section.
9163 (linux16): New section.
9164 (search): The `var' argument to `--set' is optional.
9165 (GRUB only offers a rescue shell): Go into a little more detail on
9166 drive ordering.
9167
5cf69151
CW
91682010-07-05 Colin Watson <cjwatson@ubuntu.com>
9169
9170 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
9171
e3f90044
CW
91722010-07-05 Colin Watson <cjwatson@ubuntu.com>
9173
9174 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
9175 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
9176
38d8f4f3
CW
91772010-07-05 Colin Watson <cjwatson@ubuntu.com>
9178
9179 * util/i386/pc/grub-setup.c (setup): Rename prefix to
9180 install_prefix, in line with install_dos_part and install_bsd_part.
9181 Add new prefix variable, which is copied to install_prefix after
9182 comparing core.img in memory with the one read from disk in the
9183 no-embedding case, and use that rather than overwriting
9184 install_prefix immediately when installing to a partition.
9185 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
9186 Bicakci.
9187
57ebd41e
GS
91882010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
9189
9190 * configure.ac: Avoid == in test command, it's not portable.
9191 * util/grub.d/30_os-prober.in: Likewise.
9192
cb7f64b2
CW
91932010-07-04 Colin Watson <cjwatson@ubuntu.com>
9194
9195 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
9196
6b654bb0
GS
91972010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
9198
9199 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
9200 multiple (top-level) partmaps.
9201
72a2026d
VS
92022010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
9203
9204 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 9205 Reported by: Tino Keitel.
72a2026d 9206
df3eb88f
VS
92072010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
9208
9209 Bidi and diacritics support.
9210
9211 * Makefile.in (widthspec.bin): New target.
9212 (widthspec.h): Likewise.
9213 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
9214 * autogen.sh: Generate unidata.c.
9215 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
9216 * commands/ls.c (grub_ls_list_devices): Likewise.
9217 (grub_ls_list_files): Likewise.
9218 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
9219 (grub_mini_cmd_lsmod): Likewise.
9220 * commands/read.c: Likewise.
9221 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
9222 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
9223 * lib/arg.c (grub_arg_show_help): Likewise.
9224 * lib/crypto.c (grub_password_get): Likewise.
9225 * normal/auth.c (grub_username_get): Likewise.
9226 * normal/misc.c (grub_normal_print_device_info): Likewise.
9227 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
9228 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
9229 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
9230 (normal/charset.c_DEPENDENCIES): New variable.
9231 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
9232 (pkglib_MODULES): Remove charset.mod.
9233 (charset_mod_SOURCES): Removed.
9234 (charset_mod_CFLAGS): Likewise.
9235 (charset_mod_LDFLAGS): Likewise.
9236 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
9237 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
9238 and term/tparm.c.
9239 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
9240 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
9241 (kernel_img_HEADERS): Add terminfo.h.
9242 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
9243 Fill ->font. Reverse ascii bitmaps.
9244 (grub_font_get_xheight): New function.
9245 * font/font.c (grub_font_get_string_width): Moved from here ...
9246 * gfxmenu/font.c (grub_font_get_string_width): ... here.
9247 * font/font.c (grub_font_draw_string): Moved from here ...
9248 * gfxmenu/font.c (grub_font_draw_string): ... here.
9249 * font/font.c (grub_font_dup_glyph): New function.
9250 (grub_font_blit_glyph): Likewise.
9251 (grub_font_blit_glyph_mirror): Likewise.
9252 (blit_comb): Likewise.
9253 (grub_font_construct_dry_run): Likewise.
9254 (grub_font_get_constructed_device_width): Likewise.
9255 (grub_font_construct_glyph): Likewise.
9256 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
9257 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
9258 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
9259 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
9260 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
9261 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
9262 (grub_font_get_xheight): New proto.
9263 (grub_font_get_constructed_device_width): Likewise.
9264 (grub_font_construct_glyph): Likewise.
9265 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
9266 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
9267 * include/grub/font.h (grub_font_draw_string): Moved from here ...
9268 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
9269 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
9270 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
9271 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
9272 (grub_console_getcharwidth): Likewise.
9273 * include/grub/misc.h (grub_xputs): New proto.
9274 (grub_puts): Inlined.
9275 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
9276 (grub_normal_get_line_counter): Removed.
9277 (grub_install_newline_hook): Likewise.
9278 (grub_normal_get_char_counter): New proto.
9279 (grub_normal_reset_more): Likewise.
9280 (grub_xputs_normal): Likewise.
9281 * include/grub/powerpc/ieee1275/console.h: Removed.
9282 * include/grub/sparc64/ieee1275/console.h: Likewise.
9283 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
9284 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
9285 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
9286 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
9287 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
9288 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
9289 (grub_term_input): Pass reference to self. All users updated.
9290 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
9291 Pass reference to self. New fields normal_color, highlight_color and
9292 data. All users updated.
9293 (grub_putchar): Removed.
9294 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
9295 (grub_unicode_estimate_width): New function.
9296 (grub_term_getcharwidth): Add defaults.
9297 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
9298 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
9299 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
9300 (grub_cls): Remove EXPORT_FUNC.
9301 (grub_setcolorstate): Inline.
9302 (grub_newline_hook): Removed.
9303 * include/grub/terminfo.h: Rewritten. All users updated.
9304 * include/grub/unicode.h: New file.
9305 * include/grub/video.h (grub_video_signed_rect): New type.
9306 * kern/emu/console.c (grub_console_highlight_color): Removed.
9307 (grub_console_normal_color): Likewise.
9308 (grub_console_standard_color): Made static.
9309 (grub_ncurses_putchar): Remove mapping.
9310 (grub_ncurses_getcharwidth): Removed.
9311 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
9312 (grub_ncurses_setcolor): Removed.
9313 (grub_ncurses_getcolor): Likewise.
9314 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
9315 (grub_console_putchar): ... this.
9316 (grub_console_putchar): Handle argument difference.
9317 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
9318 console_init_early and console_init_lately.
9319 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
9320 * kern/misc.c (grub_puts): Removed.
9321 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
9322 (grub_vsnprintf_real): Remove str = NULL support.
9323 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
9324 * normal/charset.c (grub_utf8_to_ucs4): ... here.
9325 * kern/term.c (grub_putcode): Renamed to ...
9326 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
9327 (grub_putchar): Removed.
9328 (grub_xputs_dumb): New function.
9329 (grub_xputs): New variable.
9330 * lib/charset.c: Move from here ...
9331 * normal/charset.c: ... to here.
9332 (grub_ucs4_to_utf8): New function.
9333 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
9334 (join_types): New variable.
9335 (unpack_join): New function.
9336 (bidi_types): New variable.
9337 (unpack_bidi): New function.
9338 (get_bidi_type): Likewise.
9339 (get_join_type): Likewise.
9340 (is_mirrored): Likewise.
9341 (grub_unicode_get_comb_type): Likewise.
9342 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
9343 (is_type_after): Likewise.
9344 (grub_unicode_aglomerate_comb): Likewise.
9345 (bidi_line_wrap): Likewise.
9346 (grub_bidi_line_logical_to_visual): Likewise.
9347 (grub_bidi_logical_to_visual): Likewise.
9348 (grub_unicode_mirror_code): Likewise.
9349 (grub_unicode_shape_code): Likewise.
9350 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
9351 Don't use grub_putchar.
9352 * normal/main.c (grub_normal_init_page): Use grub_putcode.
9353 (grub_normal_reader_init): Likewise.
9354 (grub_xputs_saved): New variable.
9355 (GRUB_MOD_INIT): Set grub_xputs.
9356 (GRUB_MOD_FINI): Restore grub_xputs.
9357 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
9358 (menu_init): Avoid printing gfxmenu error.
9359 (show_menu): Use grub_normal_get_char_counter.
9360 * normal/menu_entry.c (update_screen): Fix out-of-array.
9361 (complete): Avoid NULL dereferencing.
9362 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
9363 * normal/menu_text.c (print_spaces): Removed.
9364 (grub_print_ucs4): Likewise.
9365 (grub_print_message_indented): Use grub_print_ucs4.
9366 (print_message): Use grub_putcode.
9367 (print_entry): Hanlde diacritics.
9368 * normal/term.c (term_state): New type.
9369 (grub_more_lines): Removed.
9370 (term_states): New variable.
9371 (grub_normal_line_counter): Renamed to ..
9372 (grub_normal_char_counter): ...this. All users updated.
9373 (grub_normal_get_line_counter): Renamed to ...
9374 (grub_normal_get_char_counter): ... this.
9375 (grub_normal_reset_more): New function.
9376 (process_newline): Removed.
9377 (print_more): New function.
9378 (grub_install_newline_hook): Removed.
9379 (map_code): New function.
9380 (grub_puts_terminal): Use grub_print_ucs4.
9381 (putglyph): New function.
9382 (putcode_real): Likewise.
9383 (grub_putcode): Use putcode_real.
9384 (get_maxwidth): New function.
9385 (get_startwidth): Likewise.
9386 (print_ucs4_terminal): Likewise.
9387 (find_term_state): Likewise.
9388 (put_glyphs_terminal): Likewise.
9389 (print_backlog): Likewise.
9390 (print_ucs4_real): Likewise.
9391 (grub_print_ucs4): Likewise.
9392 (grub_xputs_normal): Likewise.
9393 * term/efi/console.c (grub_console_putchar): Output diacritics.
9394 (grub_console_getcharwidth): Removed.
9395 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
9396 * term/gfxterm.c (clear_char): Free chars.
9397 (scroll_up): Avoid leaking memory.
9398 (grub_gfxterm_putchar): Support diacritics.
9399 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
9400 * term/i386/pc/console.c (grub_console_term_output): Declare as
9401 GRUB_TERM_CODE_TYPE_VGA.
9402 * term/i386/pc/vga.c (grub_vga_term): Declare as
9403 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
9404 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
9405 GRUB_TERM_CODE_TYPE_VGA.
9406 * term/i386/vga_common.c (map_char): Removed.
9407 (grub_console_putchar): Likewise.
9408 (grub_console_getcharwidth): Likewise.
9409 * term/ieee1275/ofconsole.c: Simplify using terminfo.
9410 (colors): Reordered to match terminfo.
9411 (grub_ofconsole_normal_color): Removed.
9412 (grub_ofconsole_writeesc): Likewise.
9413 (grub_ofconsole_highlight_color): Likewise.
9414 (grub_ofconsole_getcharwidth): Likewise.
9415 (grub_ofconsole_setcolorstate): Likewise.
9416 (grub_ofconsole_setcolor): Likewise.
9417 (grub_ofconsole_getcolor): Likewise.
9418 (grub_ofconsole_readkey): Renamed to ...
9419 (readkey): ... this. Remove escape sequence handling. Return -1 on no
9420 key.
9421 (grub_ofconsole_checkkey): Removed.
9422 (grub_ofconsole_getkey): Likewise.
9423 (grub_ofconsole_getxy): Likewise.
9424 (grub_ofconsole_gotoxy): Likewise.
9425 (grub_ofconsole_cls): Likewise.
9426 (grub_ofconsole_refresh): Likewise.
9427 (grub_ofconsole_terminfo_input): New struct.
9428 (grub_ofconsole_terminfo_output): Likewise.
9429 (grub_ofconsole_term_input): Use terminfo.
9430 (grub_ofconsole_term_output): Likewise.
9431 (grub_console_init): Split into ...
9432 (grub_console_init_early): ...this and ...
9433 (grub_console_init_lately): ...this. Use terminfo.
9434 (grub_ofconsole_putchar): Renamed to ...
9435 (put): ... this. Remove mapping.
9436 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
9437 * term/serial.c: Simplify using terminfo.
9438 (xpos): Removed.
9439 (ypos): Likewise.
9440 (keep_track): Likewise.
9441 (registered): Likewise.
9442 (input_buf): Likewise.
9443 (npending): Likewise.
9444 (serial_translate_key_sequence): Likewise.
9445 (fill_input_buf): Likewise.
9446 (grub_serial_checkkey): Likewise.
9447 (grub_serial_getkey): Likewise.
9448 (grub_serial_getxy): Likewise.
9449 (grub_serial_gotoxy): Likewise.
9450 (grub_serial_putchar): Likewise.
9451 (grub_serial_cls): Likewise.
9452 (grub_serial_setcolorstate): Likewise.
9453 (grub_serial_setcursor): Likewise.
9454 (serial_hw_init): Use serial_hw_fetch.
9455 (grub_serial_terminfo_input): New variable.
9456 (grub_serial_terminfo_output): Likewise.
9457 (grub_serial_term_input): Use terminfo.
9458 (grub_serial_term_output): Likewise.
9459 * term/terminfo.c (putstr): Use put.
9460 (grub_terminfo_all_free): New function
9461 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
9462 (grub_terminfo_output_register): New function.
9463 (grub_terminfo_output_unregister): Likewise.
9464 (grub_terminfo_getxy): Likewise.
9465 (grub_terminfo_readkey): Likewise.
9466 (grub_terminfo_checkkey): Likewise.
9467 (grub_terminfo_getkey): Likewise.
9468 (grub_terminfo_input_init): Likewise.
9469 (print_terminfo): Likewise.
9470 (grub_cmd_terminfo): Handle encoding.
9471 (grub_terminfo_gotoxy): Track position.
9472 (grub_terminfo_cls): Likewise.
9473 (grub_terminfo_putchar): Likewise.
9474 (grub_terminfo_setcolorstate): Handle colors
9475 (grub_terminfo_cursor_on): This ...
9476 (grub_terminfo_cursor_off): ... and this merged into ...
9477 (grub_terminfo_setcursor): ... this.
9478 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
9479 * unicode/ArabicShaping.txt: New file (imported from Unicode).
9480 * unicode/BidiMirroring.txt: Likewise.
9481 * unicode/UnicodeData.txt: Likewise.
9482 * unicode/COPYING: Likewise.
9483 * util/grub-editenv.c (grub_putchar): Removed.
9484 (grub_xputs_real): New function.
9485 (grub_xputs): New variable.
9486 * util/grub-fstest.c (grub_putchar): Removed.
9487 (grub_xputs_real): New function.
9488 (grub_xputs): New variable.
9489 * util/grub-mkdevicemap.c (grub_putchar): Removed.
9490 (grub_xputs_real): New function.
9491 (grub_xputs): New variable.
9492 * util/grub-probe.c (grub_putchar): Removed.
9493 (grub_xputs_real): New function.
9494 (grub_xputs): New variable.
9495 * util/grub-script-check.c (grub_putchar): Removed.
9496 (grub_xputs_real): New function.
9497 (grub_xputs): New variable.
9498 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
9499 (grub_xputs_real): New function.
9500 (grub_xputs): New variable.
9501 * util/import_unicode.py: New file.
9502 * util/grub-mkfont.c (ft_errmsgs): New array.
9503 (grub_glyph_info): Make bitmap a pointer.
9504 (file_formats): New type WIDTH_SPEC.
9505 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
9506 (options): Add width-spec.
9507 (help): Likewise.
9508 (add_char): Renamed to ...
9509 (add_glyph): ... this.
9510 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
9511 (glyph_replace): New type.
9512 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
9513 (add_char): New function.
9514 (add_subst): Likewise.
9515 (process_cursive): Likewise.
9516 (add_font): Handle GSUB.
9517 (write_font_width_spec): New function.
9518 (main): Sort glyphs.
9519 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
9520 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
9521 * kern/term.c (grub_cls): Moved from here...
9522 * normal/term.c (grub_cls): ... here.
9523
50f0bcda
CW
95242010-07-02 Colin Watson <cjwatson@ubuntu.com>
9525
9526 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
9527 suitable for using within the format argument of printf when
9528 converting grub_size_t.
9529 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
9530 "x" to convert grub_size_t arguments.
9531
40372103
VS
95322010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
9533
9534 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
9535 too long captions.
9536 (list_get_minimal_size): Take selection box into account.
9537
942a10c7
VS
95382010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
9539
9540 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
9541 NULL font.
9542
2bdb2892
CW
95432010-07-02 Colin Watson <cjwatson@ubuntu.com>
9544
9545 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
9546 devices when iterating over /dev/disk/by-id; they will be handled
9547 later if appropriate, which they aren't always (e.g. LVM).
9548
e03ed6c1
CW
95492010-07-02 Colin Watson <cjwatson@ubuntu.com>
9550
9551 * include/grub/misc.h (grub_reboot): Declare as noreturn.
9552 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
9553 fails.
9554 (grub_halt): Likewise.
9555 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
9556 reset-all fails.
9557 (grub_halt): Don't return, even if all of shut-down, power-off, and
9558 poweroff fail.
9559
47695765
CW
95602010-07-02 Colin Watson <cjwatson@ubuntu.com>
9561
9562 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
9563 arguments, not three.
9564
507736c8
CW
95652010-07-02 Colin Watson <cjwatson@ubuntu.com>
9566
9567 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
9568 * util/grub.d/10_linux.in: Use it to check for LVM, so that
9569 LVM-on-RAID is handled correctly.
9570
e3c8cd37
CW
95712010-07-02 Colin Watson <cjwatson@ubuntu.com>
9572
9573 * docs/grub.texi (Changes from GRUB Legacy): New section.
9574 (Future): Fix typo.
9575
8d4a2fec
CW
95762010-07-02 Colin Watson <cjwatson@ubuntu.com>
9577
9578 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
9579 grub.d/README accidentally ends up executable for one reason or
9580 another. Ignore it.
9581
1c4827be
VS
95822010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
9583
9584 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
9585 (gpt_partition_map_iterate): Support non-512B sectors.
9586
d9a0c941
VS
95872010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
9588
9589 * kern/efi/init.c (grub_efi_init): Disable watchdog.
9590 Tested by: Seth Goldberg.
9591
48f27e87
VS
95922010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
9593
9594 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
9595 Properly align mbi.
9596 Reported by: Seth Goldberg.
9597
b0c4f956
VS
95982010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
9599
9600 * util/grub-mkrescue.in: Avoid module duplication.
9601
105a2e8c
SF
96022010-07-01 Sean Finney <seanius@seanius.net>
9603
9604 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
9605
5944958c
SF
96062010-07-01 Sean Finney <seanius@seanius.net>
9607
9608 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
9609
96102010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
9611
9612 * disk/lvm.c (grub_lvm_checkvalue): New function.
9613 (grub_lvm_check_flag): Likewise.
9614
b79889ba
RM
96152010-07-01 Robert Millan <rmh@gnu.org>
9616
9617 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
9618 Support 'p' as partition separator on kernel of FreeBSD (used
9619 with GPT labels).
9620 (grub_util_biosdisk_get_grub_dev): Likewise.
9621
ec1d04f1
VS
96222010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
9623
9624 Yeeloong firmware port.
9625
9626 * boot/mips/yeeloong/fwstart.S: New file.
9627 * bus/cs5536.c (gpiodump): New const.
9628 (set_io_space): New function.
9629 (set_iod): Likewise.
9630 (set_p2d): Likewise.
9631 (grub_cs5536_init_geode): Likewise.
9632 * commands/mips/yeeloong/lsspd.c: New file.
9633 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
9634 (serial_mod_SOURCES): New variable.
9635 (serial_mod_CFLAGS): Likewise.
9636 (serial_mod_LDFLAGS): Likewise.
9637 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
9638 term/terminfo.c and term/tparm.c.
9639 (pkglib_IMAGES): Add fwstart.img.
9640 (fwstart_img_SOURCES): New variable.
9641 (fwstart_img_CFLAGS): Likewise.
9642 (fwstart_img_ASFLAGS): Likewise.
9643 (fwstart_img_LDFLAGS): Likewise.
9644 (fwstart_img_FORMAT): Likewise.
9645 (pkglib_MODULES): Add lsspd.mod.
9646 (lsspd_mod_SOURCES): New variable.
9647 (lsspd_mod_CFLAGS): Likewise.
9648 (lsspd_mod_LDFLAGS): Likewise.
9649 (pkglib_MODULES): Add halt.mod.
9650 (halt_mod_SOURCES): New variable.
9651 (halt_mod_CFLAGS): Likewise.
9652 (halt_mod_LDFLAGS): Likewise.
9653 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
9654 (serial_mod_SOURCES): Removed.
9655 (serial_mod_CFLAGS): Likewise.
9656 (serial_mod_LDFLAGS): Likewise.
9657 * disk/ata.c (check_device): New function.
9658 (grub_ata_device_initialize): Use check_device.
9659 (grub_ata_iterate): Recheck devices.
9660 (grub_ata_open): Likewise.
9661 (grub_atapi_iterate): Likewise.
9662 (grub_atapi_open): Likewise.
9663 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
9664 (GRUB_ATA_CH1_PORT1): Likewise.
9665 (GRUB_ATA_CH0_PORT2): Likewise.
9666 (GRUB_ATA_CH1_PORT2): Likewise.
9667 * include/grub/mips/loongson.h: New file.
9668 * include/grub/mips/yeeloong/ec.h: Likewise.
9669 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
9670 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
9671 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
9672 * include/grub/misc.h (grub_halt): Declare as noreturn.
9673 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
9674 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
9675 (UART_ENABLE_FIFO_TRIGGER1): New definition.
9676 (UART_ENABLE_DTRRTS): Likewise.
9677 (UART_ENABLE_MODEM): Removed.
9678 (UART_ENABLE_OUT2): New const.
9679 * include/grub/term.h (grub_term_register_input_active): New function.
9680 (grub_term_register_output_active): Likewise.
9681 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
9682 argument.
9683 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
9684 (init_pci): New function.
9685 (grub_machine_init): Execute platform init when firmware. Init serial.
9686 (grub_halt): Implement.
9687 (grub_exit): Likewise.
9688 (grub_reboot): Likewise.
9689 * term/serial.c (serial_hw_init): Update macros.
9690 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
9691 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
9692 (image_targets): New target mipsel-yeeloong-flash.
9693 (generate_image): Support IMAGE_YEELOONG_FLASH.
9694 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
9695 (grub_video_sm712_setup): Init card.
9696 (grub_video_sm712_set_palette): Removed.
9697 * video/sm712_init.c: New file.
9698
ff4a70d2
CW
96992010-06-30 Colin Watson <cjwatson@ubuntu.com>
9700
9701 * Makefile.in (install-local): Temporarily prepend $(builddir) to
9702 PATH when running help2man and then run it on the unadorned
9703 executable names, rather than passing $(builddir)/* paths to
9704 help2man. This avoids the build directory ending up in generated
9705 manual pages.
9706
1246efeb
CW
97072010-06-29 Colin Watson <cjwatson@ubuntu.com>
9708
9709 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
9710 to avoid accidents when debugging with 'sh -x'.
9711 * util/grub-mkrescue.in: Likewise.
9712 * util/grub.d/00_header.in: Likewise.
9713 * util/grub.d/10_hurd.in: Likewise.
9714 * util/grub.d/10_kfreebsd.in: Likewise.
9715 * util/grub.d/10_linux.in: Likewise.
9716 * util/grub.d/10_netbsd.in: Likewise.
9717 * util/grub.d/10_windows.in: Likewise.
9718 * util/grub.d/20_linux_xen.in: Likewise.
9719 * util/grub.d/30_os-prober.in: Likewise.
9720 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
9721
1ba9b889
CW
97222010-06-29 Colin Watson <cjwatson@ubuntu.com>
9723
9724 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
9725 last character in the buffer.
9726 Reported by: Vladimir Serbinenko.
9727
dccaf99d
RM
97282010-06-29 Robert Millan <rmh@gnu.org>
9729
9730 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
9731 (Command-line and menu entry commands): Document `badram' command.
9732
d500ed12
RM
97332010-06-28 Robert Millan <rmh@gnu.org>
9734
9735 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
9736 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
9737 command using ${GRUB_BADRAM} as parameter.
9738
20bc84a6
CW
97392010-06-28 Colin Watson <cjwatson@ubuntu.com>
9740
9741 * docs/grub.texi (Device map): New section.
9742 (Themes): New section (stub).
9743 * Makefile.in (docs/grub.info): The info documentation now builds
9744 without errors. Make sure it stays that way.
9745
4045dee1
VS
97462010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
9747
9748 Use normal parser for menu entries.
9749 Reported by: Thomas Frauendorfer
9750
9751 * include/grub/parser.h (grub_parser_execute): Don't export.
9752 * normal/menu.c (grub_menu_execute_entry_real): New function.
9753 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
9754
bca58c7b
CW
97552010-06-28 Colin Watson <cjwatson@ubuntu.com>
9756
9757 * docs/grub.texi (Embedded configuration): New section (replacing
9758 old "Preset Menu" stub).
9759 (Images): New section.
9760 (configfile): Note that any menu entries defined in `file' are shown
9761 immediately.
9762
dec53e63
JT
97632010-06-28 Josh Triplett <josh@joshtriplett.org>
9764
9765 * mmap/i386/pc/mmap_helper.S: Set CF on return.
9766
c06e40f7
CW
97672010-06-28 Colin Watson <cjwatson@ubuntu.com>
9768
9769 * util/grub-install.in: Add --debug-image= option.
9770
cb88052b
CW
97712010-06-28 Colin Watson <cjwatson@ubuntu.com>
9772
9773 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
9774 possible on Linux.
9775
9776 * util/deviceiter.c (check_device): Rename to ...
9777 (check_device_readable_unique): ... this. Update all callers.
9778 Maintain and check a list of which devices (by canonicalized name)
9779 have already been seen.
9780 (clear_seen_devices): New function.
9781 (compare_file_names) [__linux__]: New function.
9782 (grub_util_iterate_devices): Clear the list of seen devices on exit
9783 and (just in case) on entry.
9784 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
9785 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
9786 seen-devices list, superseded by general code in check_device.
9787
bbe34652
CW
97882010-06-28 Colin Watson <cjwatson@ubuntu.com>
9789
9790 * commands/cat.c (options): New variable.
9791 (grub_cmd_cat): Parse options. If the --dos option is given, print
9792 DOS-style "\r\n" line endings as simple newlines (Debian bug
9793 #586358).
9794 (GRUB_MOD_INIT): Use extcmd.
9795 (GRUB_MOD_FINI): Likewise.
9796 * docs/grub.texi (cat): Document --dos.
9797
412e09f3
VS
97982010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
9799
9800 XEN with Linux grub-mkconfig support.
9801
9802 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
9803 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
9804 GRUB_CMDLINE_XEN_DEFAULT.
9805 * util/grub.d/20_linux_xen.in: New file.
9806
53f3ef38 98072010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
9808
9809 Initialise VGA video on qemu ourselves.
9810
9811 * boot/i386/qemu/boot.S: Don't call 0xc000.
9812 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
9813 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
9814 (kernel_img_HEADERS): Add pci.h.
9815 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
9816 * configure.ac: Force unifont on qemu and yeeloong.
9817 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
9818 (grub_vga_palette_write): Use correct register.
9819 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
9820 Call grub_qemu_init_cirrus.
9821 * kern/i386/qemu/init.c: New file.
9822 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
9823
9824 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
9825
c75be4fb
PR
98262010-06-26 Pavel Roskin <proski@gnu.org>
9827
9828 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
9829 13.
9830
d8034603
CW
98312010-06-26 Colin Watson <cjwatson@ubuntu.com>
9832
9833 * docs/grub.texi (Simple configuration): Explain that
9834 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
9835 set to `true' to disable their respective recovery entries, not
9836 merely set.
9837
3fa06487
CW
98382010-06-26 Colin Watson <cjwatson@ubuntu.com>
9839
9840 Make the `source' command slightly faster.
9841
9842 * normal/main.c (grub_normal_execute): Don't re-read list files when
9843 nested.
9844
e9b29642
CW
98452010-06-23 Colin Watson <cjwatson@ubuntu.com>
9846
9847 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
9848 field position and mask size to red fields from mode_info, not
9849 green.
9850 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
9851 Remove redundant tag->common.framebuffer_type assignment.
9852 Reported by: Seth Goldberg.
9853
e726542f
CW
98542010-06-23 Colin Watson <cjwatson@ubuntu.com>
9855
9856 Sync up other versions of the Linux loader with Robert Millan's
9857 change of 2010-01-09, "Make loader output a bit more user-friendly".
9858
9859 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
9860 grub_dprintf().
9861 (grub_cmd_linux): Likewise.
9862 (grub_cmd_initrd): Likewise.
9863 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
9864 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
9865
d6e98a17
CW
98662010-06-21 Colin Watson <cjwatson@ubuntu.com>
9867
9868 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
9869 larger than MEMORY_MAP_SIZE.
9870
14d3f08e
BC
98712010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
9872
9873 Fix parallel build.
9874
9875 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
9876 dependency.
9877 * script/parser.y: #include grub_script.tab.h header.
9878
4f9613a3
VS
98792010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
9880
9881 Support >3GiB and <16MiB RAM in i386-qemu.
9882
9883 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
9884 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
9885 (grub_lower_mem): Removed.
9886 (grub_upper_mem): Likewise.
9887 (mem_size): Made static.
9888 (above_4g): New variable.
9889 (grub_machine_mmap_init): Detect small mem_size and above_4g.
9890 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
9891 support.
9892
05e51879
VS
98932010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
9894
9895 Cirrus 5446 and Bochs video cards support.
9896
9897 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
9898 video_bochs.mod
9899 (video_cirrus_mod_SOURCES): New variable.
9900 (video_cirrus_mod_CFLAGS): Likewise.
9901 (video_cirrus_mod_LDFLAGS): Likewise.
9902 (video_bochs_mod_SOURCES): Likewise.
9903 (video_bochs_mod_CFLAGS): Likewise.
9904 (video_bochs_mod_LDFLAGS): Likewise.
9905 * include/grub/vga.h: New file.
9906 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
9907 (grub_video_fb_set_page_t): New type.
9908 (grub_video_fb_setup): New prototype.
9909 (grub_video_fb_swap_buffers): Likewise.
9910 (grub_video_fb_get_info_and_fini): Likewise.
9911 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
9912 (CRTC_DATA_PORT): Likewise.
9913 (CRTC_CURSOR): Likewise.
9914 (CRTC_CURSOR_ADDR_HIGH): Likewise.
9915 (CRTC_CURSOR_ADDR_LOW): Likewise.
9916 (CRTC_CURSOR_DISABLE): Likewise.
9917 (update_cursor): Use grub_vga_cr_write.
9918 (grub_vga_text_setcursor): Likewise.
9919 * video/bochs.c: New file.
9920 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
9921 (palette): Likewise.
9922 (palette_size): Likewise.
9923 (framebuffer): New variable.
9924 (grub_video_fb_init): Use 'framebuffer'.
9925 (grub_video_fb_fini): Likewise.
9926 (grub_video_fb_get_info): Likewise.
9927 (grub_video_fb_get_palette): Likewise.
9928 (grub_video_fb_set_palette): Likewise.
9929 (grub_video_fb_set_viewport): Likewise.
9930 (grub_video_fb_get_viewport): Likewise.
9931 (grub_video_fb_map_color): Likewise.
9932 (grub_video_fb_map_rgb): Likewise.
9933 (grub_video_fb_map_rgba): Likewise.
9934 (grub_video_fb_unmap_color): Likewise.
9935 (grub_video_fb_unmap_color_int): Likewise.
9936 (grub_video_fb_fill_rect): Likewise.
9937 (grub_video_fb_blit_bitmap): Likewise.
9938 (grub_video_fb_blit_render_target): Likewise.
9939 (grub_video_fb_scroll): Likewise.
9940 (grub_video_fb_create_render_target): Likewise.
9941 (grub_video_fb_doublebuf_blit_init): Likewise.
9942 (grub_video_fb_set_active_render_target): Handle doublebuffering.
9943 (doublebuf_pageflipping_update_screen): New function.
9944 (doublebuf_pageflipping_init): Likewise.
9945 (grub_video_fb_setup): Likewise.
9946 (grub_video_fb_swap_buffers): Likewise.
9947 (grub_video_fb_get_info_and_fini): Likewise.
9948 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
9949 All users updated.
9950 (doublebuf_pageflipping_commit): Restructured into ...
9951 (doublebuf_pageflipping_set_page): ... this.
9952 (doublebuf_pageflipping_update_screen): Removed.
9953 (doublebuf_pageflipping_init): Likewise.
9954 (double_buffering_init): Likewise.
9955 (grub_video_vbe_setup): Use grub_video_fb_setup.
9956 (grub_video_vbe_swap_buffers): Removed.
9957 (grub_video_vbe_set_active_render_target): Likewise.
9958 (grub_video_vbe_get_active_render_target): Likewise.
9959 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
9960 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
9961 grub_video_fb_set_active_render_target and
9962 grub_video_fb_get_active_render_target.
9963 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
9964 (SEQUENCER_DATA_PORT): Likewise.
9965 (MAP_MASK_REGISTER): Likewise.
9966 (CRTC_ADDR_PORT): Likewise.
9967 (CRTC_DATA_PORT): Likewise.
9968 (START_ADDR_HIGH_REGISTER): Likewise.
9969 (START_ADDR_LOW_REGISTER): Likewise.
9970 (GRAPHICS_ADDR_PORT): Likewise.
9971 (GRAPHICS_DATA_PORT): Likewise.
9972 (READ_MAP_REGISTER): Likewise.
9973 (INPUT_STATUS1_REGISTER): Likewise.
9974 (INPUT_STATUS1_VERTR_BIT): Likewise.
9975 (get_map_mask): Use grub_vga_sr_read.
9976 (set_map_mask): Use grub_vga_sr_write.
9977 (set_read_map): Use grub_vga_gr_write.
9978 (set_start_address): Use grub_vga_cr_write.
9979 * video/sm712.c (framebuffer): Remove leftover fields.
9980
4321c64a
CW
99812010-06-20 Colin Watson <cjwatson@ubuntu.com>
9982
9983 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
9984 setting GRUB_VIDEO_BACKEND. Make it available as a user override
9985 instead. Replace the gfxterm backend check with a check that
9986 ${GRUB_PREFIX}/video.lst is non-empty.
9987 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
9988 again.
9989 (load_video): New generated function. Call it before loading
9990 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
9991 * util/grub.d/10_linux.in (linux_entry): Call load_video.
9992 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
9993 * docs/grub.texi (Simple configuration): Document
9994 GRUB_VIDEO_BACKEND.
9995
99962010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
9997
9998 Use video functions in linux and xnu loaders.
9999
10000 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
10001 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
10002 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
10003 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
10004 loader/i386/pc/linux.c.
10005 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
10006 (find_line_len): Removed.
10007 (find_framebuf): Likewise.
10008 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
10009 * loader/i386/efi/xnu.c: Removed.
10010 * loader/i386/pc/xnu.c: Moved from here...
10011 * loader/i386/xnu.c: ...here.
10012
10013 Enable priorities in video drivers.
10014
10015 * include/grub/video.h (grub_video_adapter_prio_t): New type.
10016 (grub_video_adapter): New field prio.
10017 (grub_video_register): Respect prio when inserting.
10018 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
10019 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
10020 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
10021 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
10022 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
10023 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
10024 * video/sm712.c (grub_video_sm712_adapter): Likewise.
10025
10026 Fix SDL driver ID.
10027
10028 * include/grub/video.h (grub_video_driver_id_t): New value
10029 GRUB_VIDEO_DRIVER_SDL.
10030 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
10031
7d24e434
CW
100322010-06-17 Colin Watson <cjwatson@ubuntu.com>
10033
10034 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
10035 argument to printf.
10036 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
10037
c88a83f6
CW
100382010-06-17 Colin Watson <cjwatson@ubuntu.com>
10039
10040 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
10041 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
10042
094dfb69
CW
100432010-06-17 Colin Watson <cjwatson@ubuntu.com>
10044
10045 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
10046 directly, and recommend grub-install instead.
10047 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
10048
2164da6b
CW
100492010-06-17 Colin Watson <cjwatson@ubuntu.com>
10050
10051 Fix i386-pc prefix handling with nested partitions (Debian bug
10052 #585068). Note that the case where the core image is booted using
10053 multiboot and relocated from its original location still requires
10054 more work.
10055
10056 * kern/i386/pc/init.c (make_install_device): If the prefix starts
10057 with "(,", fill the boot drive in between those two characters, but
10058 expect that a full partition specification including partition map
10059 names will follow.
10060 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
10061 specified, write a prefix without the drive name but including a
10062 full partition specification.
10063
044e2e60
CW
100642010-06-16 Colin Watson <cjwatson@ubuntu.com>
10065
10066 * util/grub-mkconfig.in: Ignore non-option arguments, for
10067 compatibility with older versions (before 2010-06-12) which did the
10068 same. In particular, this makes it easier to ship an update-grub
10069 wrapper which is compatible with that used with GRUB Legacy (Debian
10070 bug #586056).
10071
5591324f
GS
100722010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
10073
10074 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
10075 for manual page generation.
10076
662e24d5
GS
100772010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
10078
10079 * po/POTFILES: Remove leftover commands/handler.c.
10080
8d70754e
CW
100812010-06-14 Colin Watson <cjwatson@ubuntu.com>
10082
10083 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
10084 left this script non-functional.
10085
41160e2e
CW
100862010-06-14 Colin Watson <cjwatson@ubuntu.com>
10087
10088 * docs/man/grub-emu.h2m: New file.
10089
b5309cc1
CW
100902010-06-13 Colin Watson <cjwatson@ubuntu.com>
10091
10092 * docs/grub.texi (Commands): Document reduced command set in rescue
10093 mode.
10094 (cpuid): New section.
10095
fcb2d090
GS
100962010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
10097
10098 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
10099 new partition naming style.
10100 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
10101
96e5c556
BC
101022010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
10103
10104 Add "-o grub.iso" like cmdline options support.
10105
10106 * util/grub-install.in: Improve cmdline option parsing.
10107 * util/grub-mkconfig.in: Likewise.
10108 * util/grub-mkrescue.in: Likewise.
10109 * util/grub-reboot.in: Likewise.
10110 * util/grub-set-default.in: Likewise.
10111 * util/i386/efi/grub-install.in: Likewise.
10112 * util/ieee1275/grub-install.in: Likewise.
10113 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
10114
c16be99b
CW
101152010-06-12 Colin Watson <cjwatson@ubuntu.com>
10116
10117 * .bzrignore: Ignore 41_custom.
10118
ce08a9fb
TS
101192010-06-12 Thomas Schmitt <scdbackup@gmx.net>
10120
10121 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
10122
7beac90c
CW
101232010-06-12 Colin Watson <cjwatson@ubuntu.com>
10124
10125 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
10126 prototype declarations.
10127
10128 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
10129 generating fs, partmap, and video lists.
10130 * include/grub/fs.h (grub_fs_register): Omit prototype if
10131 GRUB_LST_GENERATOR is defined.
10132 * include/grub/partition.h (grub_partition_map_register): Likewise.
10133 * include/grub/video.h (grub_video_register): Likewise.
10134
1c8f0f8d
JM
101352010-06-12 Javier Martín <lordhabbit@gmail.com>
10136
10137 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
10138
a6085973
TS
101392010-06-12 Thomas Schmitt <scdbackup@gmx.net>
10140
10141 * util/grub-mkrescue.in: Support --xorriso argument.
10142
25c56d29
VS
101432010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
10144
10145 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
10146 Suggested by: Thomas Schmitt.
10147
e03e4b24
VS
101482010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
10149
10150 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
10151 Suggested by: Thomas Schmitt.
10152
57711df6
VS
101532010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
10154
10155 custom.cfg support.
10156
10157 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
10158 * util/grub.d/41_custom.in: New file.
10159
ee62c427
CW
101602010-06-12 Colin Watson <cjwatson@ubuntu.com>
10161
10162 * util/grub-mkrescue.in (make_image): Remove sh module, which has
10163 been merged back into normal.
10164
283af07a
CW
101652010-06-11 Colin Watson <cjwatson@ubuntu.com>
10166
10167 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
10168 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
10169
56a0d956
CW
101702010-06-11 Colin Watson <cjwatson@ubuntu.com>
10171
10172 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
10173 when generating manual pages.
10174 * docs/man/grub-bin2h.h2m: New file.
10175 * docs/man/grub-editenv.h2m: New file.
10176 * docs/man/grub-fstest.h2m: New file.
10177 * docs/man/grub-install.h2m: New file.
10178 * docs/man/grub-macho2img.h2m: New file.
10179 * docs/man/grub-mkconfig.h2m: New file.
10180 * docs/man/grub-mkdevicemap.h2m: New file.
10181 * docs/man/grub-mkfont.h2m: New file.
10182 * docs/man/grub-mkimage.h2m: New file.
10183 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
10184 * docs/man/grub-mkrelpath.h2m: New file.
10185 * docs/man/grub-mkrescue.h2m: New file.
10186 * docs/man/grub-ofpathname.h2m: New file.
10187 * docs/man/grub-pe2elf.h2m: New file.
10188 * docs/man/grub-probe.h2m: New file.
10189 * docs/man/grub-reboot.h2m: New file.
10190 * docs/man/grub-script-check.h2m: New file.
10191 * docs/man/grub-set-default.h2m: New file.
10192 * docs/man/grub-setup.h2m: New file.
10193
3a37e322
VS
101942010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
10195
10196 Use FOR_* macros instead of *_iterate whenever possible.
10197
10198 * commands/handler.c: Removed.
10199 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
10200 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
10201 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
10202 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
10203 (grub_probe_SOURCES): Remove kern/parser.c.
10204 (util/grub-script-check.c_DEPENDENCIES): Removed.
10205 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
10206 and grub_script_check_init.c.
10207 (grub_script_check_init.lst): Removed.
10208 (grub_script_check_init.h): Likewise.
10209 (grub_script_check_init.c): Likewise.
10210 (pkglib_MODULES): Remove handler.mod and sh.mod.
10211 (handler_mod_SOURCES): Removed.
10212 (handler_mod_CFLAGS): Likewise.
10213 (handler_mod_LDFLAGS): Likewise.
10214 (normal_mod_SOURCES): Remove normal/handler.c.
10215 Add script/main.c, script/script.c, script/execute.c,
10216 script/function.c, script/lexer.c, grub_script.tab.c
10217 and grub_script.yy.c.
10218 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
10219 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
10220 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
10221 (grub_setup_SOURCES): Remove kern/parser.c.
10222 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
10223 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
10224 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
10225 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
10226 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
10227 (grub_setup_SOURCES): Remove kern/parser.c.
10228 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
10229 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
10230 * include/grub/command.h (grub_command_iterate): Removed.
10231 (FOR_COMMANDS): New macro.
10232 * include/grub/dl.h (grub_dl): New member next.
10233 (grub_dl_iterate): Removed.
10234 (grub_dl_head): New variable declaration.
10235 (FOR_DL_MODULES): New macro.
10236 * include/grub/fs.h: Include list.h.
10237 (grub_fs): Make next first element.
10238 (grub_fs_list): New variable declaration.
10239 (grub_fs_register): Make inline.
10240 (grub_fs_unregister): Likewise.
10241 (grub_fs_iterate): Removed.
10242 (FOR_FILESYSTEMS): New macro.
10243 * include/grub/handler.h: Removed.
10244 * include/grub/list.h (grub_list_hook_t): Removed.
10245 (grub_list_test_t): Likewise.
10246 (grub_list_pop): Likewise.
10247 (grub_list_iterate): Likewise.
10248 (grub_list_insert): Likewise.
10249 (FOR_LIST_ELEMENTS): New macro.
10250 * include/grub/parser.h (grub_parser_class): Removed.
10251 (grub_parser_register): Likewise.
10252 (grub_parser_unregister): Likewise.
10253 (grub_parser_get_current): Likewise.
10254 (grub_parser_set_current): Likewise.
10255 (grub_register_rescue_parser): Likewise.
10256 (grub_rescue_parse_line): New function.
10257 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
10258 * include/grub/script_sh.h (grub_script_function_list): New variable
10259 declaration.
10260 (FOR_SCRIPT_FUNCTIONS): New macro.
10261 (grub_script_function_iterate): Removed.
10262 (grub_normal_parse_line): New prototype.
10263 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
10264 (FOR_DISABLED_TERM_INPUTS): Likewise.
10265 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
10266 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
10267 * include/grub/video.h (grub_video_adapter): Move 'next' to first
10268 element.
10269 (grub_video_register): Inline.
10270 (grub_video_unregister): Likewise.
10271 (grub_video_adapter_list): New variable declaration.
10272 (grub_video_iterate): Removed.
10273 (FOR_VIDEO_ADAPTERS): New macro.
10274 * kern/dl.c (grub_dl_list): Removed. All users updated.
10275 (grub_dl_iterate): Removed.
10276 * kern/fs.c (grub_fs_list): Make global.
10277 (grub_fs_register): Removed.
10278 (grub_fs_unregister): Likewise.
10279 (grub_fs_iterate): Likewise.
10280 * kern/handler.c: Removed.
10281 * kern/list.c (grub_list_pop): Removed.
10282 (grub_list_iterate): Likewise.
10283 (grub_list_insert): Likewise.
10284 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
10285 (grub_prio_list_insert): Don't use grub_list_insert.
10286 * kern/main.c (grub_register_rescue_parser): Don't call
10287 grub_register_rescue_parser.
10288 * kern/parser.c (grub_parser_class): Removed.
10289 (grub_parser_execute): Use grub_rescue_parse_line.
10290 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
10291 (grub_rescue_parser): Removed.
10292 (grub_register_rescue_parser): Likewise.
10293 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
10294 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
10295 (grub_auth_check_authentication): Likewise.
10296 * normal/completion.c (iterate_command): Removed.
10297 (grub_normal_do_completion): Use FOR_COMMANDS.
10298 * normal/handler.c: Removed.
10299 * normal/main.c (read_config_file): Remove parser changing.
10300 (grub_normal_execute): Don't call read_handler_list.
10301 (grub_normal_read_line_real): Statically allocate prompt.
10302 (grub_cmdline_run): Use grub_normal_parse_line.
10303 (GRUB_MOD_FINI): Don't call free_handler_list.
10304 * normal/menu_entry.c (run): Likewise.
10305 * script/function.c (grub_script_function_list): Make global.
10306 (grub_script_function_iterate): Removed.
10307 * script/main.c (grub_normal_parse_line): Make global.
10308 (grub_sh_parser): Removed.
10309 (GRUB_MOD_INIT): Likewise.
10310 (GRUB_MOD_FINI): Likewise.
10311 * tests/lib/functional_test.c (grub_functional_test): Use
10312 FOR_LIST_ELEMENTS.
10313 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
10314 (grub_test_run): Use FOR_LIST_ELEMENTS.
10315 * tests/lib/unit_test.c (main): Likewise.
10316 * util/deviceiter.c (grub_util_iterate_devices): Don't use
10317 grub_list_pop.
10318 * util/grub-fstest.c (grub_term_input_class): Removed.
10319 (grub_term_output_class): Likewise.
10320 * util/grub-probe.c: Likewise.
10321 * util/i386/pc/grub-setup.c: Likewise.
10322 * util/sparc64/ieee1275/grub-setup.c: Likewise.
10323 * util/grub-script-check.c (main): Don't call grub_init_all and
10324 grub_fini_all.
10325 * video/video.c (grub_video_adapter_list): Make global.
10326 (grub_video_register): Removed.
10327 (grub_video_unregister): Likewise.
10328 (grub_video_iterate): Likewise.
10329
6289c3a7
VS
103302010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
10331
10332 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
10333 reported by Henrique Ferreiro.
10334
91460247
RM
103352010-06-09 Robert Millan <rmh@gnu.org>
10336
10337 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
10338 ones, when both are available.
10339
0ea7c4f9
GS
103402010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
10341
10342 Make --version uniform and avoid hard-coded program name.
10343
10344 * util/grub-mkimage.c (main): Use `program_name' instead of
10345 hard-coded string.
10346 * util/i386/pc/grub-setup.c (main): Likewise.
10347 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
10348 * util/grub-install.in: Save the basename of $0 in $self, and use the
10349 latter in informational messages. Use the same format for --version
10350 as the binary programs.
10351 * util/grub-mkconfig.in: Likewise.
10352 * util/grub-mkrescue.in: Likewise.
10353 * util/grub-reboot.in: Likewise.
10354 * util/grub-set-default.in: Likewise.
10355 * util/i386/efi/grub-install.in: Likewise.
10356 * util/ieee1275/grub-install.in: Likewise.
10357 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
10358
e8a6f3b6
GS
103592010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
10360
10361 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
10362 embedding area. Use <= instead of == when checking for non-emptiness.
10363
f4d095d7
GS
103642010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
10365
10366 * configure.ac: Add `.' to the directories searched for unifont.
10367
50e532ca
CW
103682010-06-08 Colin Watson <cjwatson@ubuntu.com>
10369
10370 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
10371 grub_script.yy.h.
10372
d39f3dec
CW
103732010-06-08 Colin Watson <cjwatson@ubuntu.com>
10374
10375 * docs/grub.texi (History): Expand to cover GRUB 2.
10376 (Serial terminal): Refer to `terminal_input' and `terminal_output'
10377 commands, not `terminal'.
10378 (serial): Likewise.
10379 (terminal_input): New section.
10380 (terminal_output): New section.
10381 (uppermem): New section (stub).
10382 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
10383
6ef0ddb4
CW
103842010-06-08 Colin Watson <cjwatson@ubuntu.com>
10385
10386 * docs/grub.texi (Security): Menu entries are unrestricted by
10387 default, not restricted to superusers as I had previously thought.
10388 Reword to account for this.
10389
e0f4c438
CW
103902010-06-07 Colin Watson <cjwatson@ubuntu.com>
10391
10392 * kern/emu/misc.c (device_mapper_null_log): New function.
10393 (grub_device_mapper_supported): New function.
10394 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
10395 prototype.
10396 * kern/emu/hostdisk.c (find_partition_start): Check whether
10397 device-mapper is supported before trying to use it.
10398 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
10399
da908200
CW
104002010-06-07 Colin Watson <cjwatson@ubuntu.com>
10401
10402 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
10403 (File name syntax): Likewise.
10404 (help): --all is no longer supported in GRUB 2. Be more precise
10405 about pattern matching.
10406
fb55c3ac
CW
104072010-06-07 Colin Watson <cjwatson@ubuntu.com>
10408
10409 * normal/completion.c (grub_normal_do_completion): When completing
10410 arguments to "set" and the current word contains an equals sign,
10411 skip to after the equals sign before starting completion.
10412
258c2573
CW
104132010-06-07 Colin Watson <cjwatson@ubuntu.com>
10414
10415 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
10416
ee75515e
CW
104172010-06-07 Colin Watson <cjwatson@ubuntu.com>
10418
10419 * docs/grub.texi (Network): New section.
10420 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
10421 `(nd)' as in GRUB Legacy.
10422 (pxe_unload): New section.
10423
a6a700aa
CW
104242010-06-07 Colin Watson <cjwatson@ubuntu.com>
10425
10426 * docs/grub.texi (Troubleshooting): `echo' is not usually available
10427 in the rescue shell, so recommend using `set' instead. Thanks,
10428 Jordan Uggla.
10429
4003dd38
CW
104302010-06-07 Colin Watson <cjwatson@ubuntu.com>
10431
10432 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
10433 (password): New section.
10434 (password_pbkdf2): New section.
10435 (search): New section.
10436 (Security): New section.
10437 (Troubleshooting): New section, currently very incomplete.
10438 (Invoking grub-mkpasswd-pbkdf2): New section.
10439 (Internals): New section, currently very incomplete.
10440
e1cbcc40
CW
104412010-06-07 Colin Watson <cjwatson@ubuntu.com>
10442
10443 * util/grub.d/00_header.in: Add some more quoting (of
10444 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
10445 work again.
10446 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
10447
db8fa1ad
CW
104482010-06-07 Colin Watson <cjwatson@ubuntu.com>
10449
10450 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
10451 to `count', fixing variable shadowing that broke the -c option.
10452
104532010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
10454
10455 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
10456 in case they contain spaces.
10457
f28a9212
CW
104582010-06-04 Colin Watson <cjwatson@ubuntu.com>
10459
10460 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
10461 "part_" to partmap module names, in line with grub-install.
10462 Reported by: Jindřich Makovička (Debian bug #584426).
10463
9cdfe32f
CW
104642010-06-04 Colin Watson <cjwatson@ubuntu.com>
10465
10466 * util/grub-mkimage.c: Make target-related error messages slightly
10467 more helpful; -O talks about "format". Explicitly point to the use
10468 of -O if no target is specified.
10469 Reported by: Didier Raboud (Debian bug #584415).
10470
795b593a
CW
104712010-06-03 Colin Watson <cjwatson@ubuntu.com>
10472
10473 * INSTALL: Document several build requirements for optional features
10474 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
10475
9d9b5833
GS
104762010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
10477
10478 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
10479 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
10480 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
10481
0819fec8
CW
104822010-06-02 Colin Watson <cjwatson@ubuntu.com>
10483
10484 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
10485 Thanks to Jordan Uggla for spotting this.
10486
49396b4f
VS
104872010-06-02 Aleš Nesrsta <starous@volny.cz>
10488
10489 Finally make USB usable.
10490
10491 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
10492 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
10493 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
10494 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
10495 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
10496 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
10497 (GRUB_OHCI_FSMPS): Likewise.
10498 (GRUB_OHCI_PERIODIC_START): Likewise.
10499 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
10500 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
10501 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
10502 (GRUB_OHCI_SET_PORT_RESET): Likewise.
10503 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
10504 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
10505 (grub_ohci_transaction): Likewise.
10506 (grub_ohci_transfer): Improve condition detection algorithms.
10507 Handle toggle property. Program the transactions correctly.
10508 Improve error handling. Various important fixups.
10509 (grub_ohci_portstatus): Put register writes in right order.
10510 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
10511 (grub_uhci_transfer): Don't show "failed" message on success.
10512 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
10513 array.
10514 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
10515 determine its size.
10516 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
10517 before initialization is completed. Use IN direction for empty
10518 transfers. Use last_trans and compute toggle.
10519 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
10520 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
10521 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
10522 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
10523 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
10524 (grub_usb_device): Increase toggle to 256.
10525 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
10526 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
10527 GRUB_USBMS_SUBCLASS_SFF8070.
10528 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
10529 (grub_scsi_inquiry): New member page and alloc_length.
10530 (grub_scsi_request_sense): New structure.
10531 (grub_scsi_request_sense_data): Likewise.
10532 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
10533 control.
10534 * disk/scsi.c (grub_scsi_request_sense): New function.
10535 (grub_scsi_test_unit_ready): Likewise.
10536 (grub_scsi_inquiry): Fill new fields.
10537 (grub_scsi_read_capacity): Likewise.
10538 (grub_scsi_read10): Add request sense at the end.
10539 (grub_scsi_read12): Likewise.
10540 (grub_scsi_write10): Likewise.
10541 (grub_scsi_write12): Likewise.
10542 (grub_scsi_open): Add Test Unit Ready.
10543 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
10544 Support additional subclasses. Con't clear halt yet. Activate the
10545 proper config. Calculate LUNs correctly.
10546 (grub_usbms_transfer): Various important fixups.
10547
105482010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
10549
10550 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
10551 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
10552 (grub_ohci_fini_hw): New function.
10553 (grub_ohci_restore_hw): Likewise.
10554 (GRUB_MOD_INIT(ohci)): Register preboot hook.
10555 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
10556 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
10557
105582010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
10559
10560 Dedicated DMA allocations.
10561
10562 * bus/pci.c (grub_memalign_dma32): New function
10563 (grub_dma_free): Likewise.
10564 (grub_dma_get_virt): Likewise.
10565 (grub_dma_get_phys): Likewise.
10566 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
10567 (grub_ohci_pci_iter): Use dma32_alloc.
10568 (grub_ohci_transfer): Likewise.
10569 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
10570 (grub_usb_bulk_readwrite): Likewise.
10571 * include/grub/pci.h: Add declarations.
10572
105732010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
10574
10575 CS5536 support.
10576
10577 * bus/cs5536.c: New file.
10578 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
10579 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
10580 (cs5536_mod_SOURCES): New variable.
10581 (cs5536_mod_CFLAGS): Likewise.
10582 (cs5536_mod_LDFLAGS): Likewise.
10583 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
10584 machine/pci.h.
10585 (kernel_img_SOURCES): Add bus/cs5536.c.
10586 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
10587 usb_keyboard.mod.
10588 (usb_mod_SOURCES): New variable.
10589 (usb_mod_CFLAGS): New variable.
10590 (usb_mod_LDFLAGS): New variable.
10591 (usbtest_mod_SOURCES): New variable.
10592 (usbtest_mod_CFLAGS): New variable.
10593 (usbtest_mod_LDFLAGS): New variable.
10594 (ohci_mod_SOURCES): New variable.
10595 (ohci_mod_CFLAGS): New variable.
10596 (ohci_mod_LDFLAGS): New variable.
10597 (usbms_mod_SOURCES): New variable.
10598 (usbms_mod_CFLAGS): New variable.
10599 (usbms_mod_LDFLAGS): New variable.
10600 (usb_keyboard_mod_SOURCES): New variable.
10601 (usb_keyboard_mod_CFLAGS): New variable.
10602 (usb_keyboard_mod_LDFLAGS): New variable.
10603 * include/grub/smbus.h: New file.
10604 * include/grub/cs5536.h: New file.
10605
0b35b2a9
CW
106062010-06-02 Colin Watson <cjwatson@ubuntu.com>
10607
10608 * util/grub.d/00_header.in: Add safety check to make sure that
10609 ${locale_dir} exists before trying to probe it.
10610
ca0afd5b
CW
106112010-06-02 Colin Watson <cjwatson@ubuntu.com>
10612
10613 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
10614 per the GNU Coding Standards; this is now too obscure to be worth
10615 documenting.
10616 (QNX): Likewise.
10617 (chainloader): Remove cross-reference to `SCO UnixWare'.
10618
1c41aa78
CW
106192010-06-02 Colin Watson <cjwatson@ubuntu.com>
10620
10621 * docs/grub.texi (Chain-loading): New section.
10622 (DOS/Windows): New section, borrowed from GRUB Legacy with details
10623 adjusted for GRUB 2.
10624 (SCO UnixWare): Likewise.
10625 (QNX): Likewise.
10626 (chainloader): Add reference to `Block list syntax'.
10627 (drivemap): New section.
10628 (parttool): New section.
10629
bb8ea0f5
CW
106302010-06-02 Colin Watson <cjwatson@ubuntu.com>
10631
10632 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
10633 the grub shell'.
10634 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
10635 (Installing GRUB using grub-install): Remove reference to the grub
10636 shell; mention `grub-mkimage' and `grub-setup' instead.
10637 (Invoking grub-install): Likewise.
10638 (Interface): Add reference to `Menu entry editor'.
10639 (serial): Remove `--device' option.
10640
288dd6ed
CW
106412010-06-02 Colin Watson <cjwatson@ubuntu.com>
10642
10643 * docs/grub.texi (Configuration): New section, documenting
10644 configuration file generation using grub-mkconfig. I've left a slot
10645 for documenting the full shell scripting format but have not yet
10646 started on writing that up.
10647 (Invoking grub-mkconfig): New section.
10648
34c9f0e9
CW
106492010-06-02 Colin Watson <cjwatson@ubuntu.com>
10650
10651 * docs/grub.texi (direntry): Remove grub-terminfo reference.
10652 (GNU GRUB manual): Likewise.
10653 (General commands): Update description of `terminfo' for GRUB 2.
10654
9121567e
CW
106552010-06-02 Colin Watson <cjwatson@ubuntu.com>
10656
10657 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
10658 (GRUB_MOD_INIT): Fix capitalisation.
10659 * docs/grub.texi (Command-line and menu entry commands): Document
10660 gettext and gptsync commands.
10661
ab631611
CW
106622010-06-02 Colin Watson <cjwatson@ubuntu.com>
10663
10664 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
10665 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
10666
bde4a9ac
CW
106672010-06-01 Colin Watson <cjwatson@ubuntu.com>
10668
10669 Add btrfs probing support, currently only in the single-device case.
10670
10671 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
10672 function.
10673 (grub_guess_root_device): Call find_root_device_from_mountinfo
10674 before looking in /dev.
10675
b1d17e10
VS
106762010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
10677
10678 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
10679 GRUB_DISK_SIZE_UNKNOWN.
10680 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
10681
dfbfe004
JS
106822010-05-31 Jiro SEKIBA <jir@unicus.jp>
10683
10684 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
10685 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
10686 corrupted or not synced properly.
10687
c2ffc8e9
VS
106882010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
10689
10690 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
10691 Reported by: Seth Goldberg.
10692
56293166
VS
106932010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
10694
10695 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
10696 addition of dest.
10697 Reported by: Seth Goldberg.
10698
7620e7de
VS
106992010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
10700
10701 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
10702 Reported by: Seth Goldberg.
10703
c837af3f
VS
107042010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
10705
10706 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
10707 64-bit address as signed on MIPS.
10708
c7c75cf4
CW
107092010-05-28 Colin Watson <cjwatson@ubuntu.com>
10710
10711 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
10712 to the empty string.
10713
fa4b8490
BC
107142010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
10715
10716 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
10717
10718 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
10719 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
10720 * kern/misc.c (__enable_execute_stack): Disable on
10721 GRUB_MACHINE_EMU.
10722
a33075b9
CW
107232010-05-28 Colin Watson <cjwatson@ubuntu.com>
10724
10725 Make grub-probe work with symbolic links under /dev/mapper as well
10726 as with real block devices. The Linux world seems to be (at best)
10727 in transition here, and GRUB shouldn't get caught in the middle.
10728
10729 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
10730 /dev/mapper.
10731
d8708134
CW
107322010-05-27 Colin Watson <cjwatson@ubuntu.com>
10733
10734 * util/grub-script-check.c (main): Ensure defined behaviour on empty
10735 input files (in which case exit zero).
10736
db2102a0
CW
107372010-05-27 Colin Watson <cjwatson@ubuntu.com>
10738
10739 * kern/emu/misc.c (canonicalize_file_name): realpath can still
10740 return NULL for various reasons even if it has a maximum-length
10741 buffer: for example, there might be a symlink loop, or the path
10742 might exceed PATH_MAX. If this happens, return NULL.
10743
5fdba519
RM
107442010-05-27 Robert Millan <rmh@gnu.org>
10745
10746 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
10747 partmap module to handle cross-partmap setups.
10748 Reported by Orestes Mas. Gràcies!
10749
d1d368e4
CW
107502010-05-27 Colin Watson <cjwatson@ubuntu.com>
10751
10752 * util/grub-mkrescue.in: Initialise override_dir rather than
10753 assuming that it's unset or empty in the environment.
10754
95ac3c73
GS
107552010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
10756
10757 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
10758 variable index into p_index to suppress a warning with -Wshadow.
10759
7d8c0213
BC
107602010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
10761
10762 * INSTALL: Added flex >= 2.5.35 requirement.
10763
db4d5813
VS
107642010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
10765
10766 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
10767
f24f4300
VS
107682010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
10769
10770 cmostest support.
10771
10772 * commands/i386/cmostest.c: New file.
10773 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
10774 (cmostest_mod_SOURCES): New variable.
10775 (cmostest_mod_CFLAGS): Likewise.
10776 (cmostest_mod_LDFLAGS): Likewise.
10777 * conf/i386-pc.rmk: Likewise.
10778 * docs/grub.texi (Vendor power-on keys): New section.
10779 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
10780 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
10781 and GRUB_BUTTON_CMOS_ADDRESS.
10782 * util/grub.d/00_header.in: Handle powering-on by separate button.
10783
ad603f61
VS
107842010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
10785
10786 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
10787 Removed drawing_scrollbar argument. All users updated
10788 Fixes #29792.
10789 Reported by Jo Shields
10790
3ecb080a
VS
107912010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
10792
10793 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
10794 buffer since gfxterm handles double repaint.
10795
5f2316c1
VS
107962010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
10797
10798 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
10799 * term/gfxterm.c (real_scroll): Likewise.
10800
9a25f885
VS
108012010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
10802
10803 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
10804 before calling BIOS.
10805
39fbb79a
VS
108062010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
10807
10808 * include/grub/i18n.h: Always enable grub_gettext.
10809
228cfa97
VS
108102010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
10811
10812 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
10813 partition naming style.
10814
21717c8f
CW
108152010-05-21 Colin Watson <cjwatson@ubuntu.com>
10816
10817 * util/grub-mkconfig.in: Fix handling of -o so that it works when
10818 not the first option.
10819
c0f48e65
CW
108202010-05-20 Colin Watson <cjwatson@ubuntu.com>
10821
10822 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
10823
96779aec
CW
108242010-05-20 Colin Watson <cjwatson@ubuntu.com>
10825
10826 * util/misc.c: Move inclusion of <limits.h> to ...
10827 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
10828
fa9d256e
GS
108292010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
10830
10831 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
10832 Fix merge error in NetBSD code.
10833 (find_partition_start) [__NetBSD__]: Likewise.
10834
123b7a85
BC
108352010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
10836
10837 Fix grub-mkrescue usage unit testing.
10838
10839 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
10840
74276c0d
CF
108412010-05-18 Christian Franke <franke@computer.org>
10842
10843 * util/grub.d/10_windows.in: Use path names instead of
10844 drive letters to prevent warning from Cygwin 1.7.
10845 Add drivemap command to menuentry if needed.
10846
c4f7b523
ST
108472010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
10848
10849 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
10850 gnumach and gnumach.gz.
10851
95b97950
VS
108522010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10853
10854 * include/grub/i18n.h (gettext): Inline instead of using #define.
10855 (grub_gettext): Likewise.
10856 (_): Likewise.
10857
01b8d2d7
VS
108582010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10859
10860 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
10861 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
10862 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
10863 (main): Add a slash after pkglibdirroot.
10864
654e1d1e
VS
108652010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10866
10867 * util/grub-install.in: Add missing "in" keyword.
10868
26966aeb
VS
108692010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10870
10871 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
10872 Reported by: Seth Goldberg.
10873
75006747
VS
108742010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10875
10876 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
10877
74cbf5bd
CW
108782010-05-18 Colin Watson <cjwatson@ubuntu.com>
10879
10880 * configure.ac: Check for Linux device-mapper support.
10881
10882 * util/hostdisk.c (device_is_mapped): New function.
10883 (find_partition_start): New function, partly broken out from
10884 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
10885 device-mapper support added.
10886 (linux_find_partition): Use find_partition_start.
10887 (convert_system_partition_to_system_disk): Add `st' argument.
10888 Support Linux /dev/mapper/* devices if device-mapper support is
10889 available; only DM-RAID devices are understood at present.
10890 (find_system_device): Add `st' argument. Pass it to
10891 convert_system_partition_to_system_disk.
10892 (grub_util_biosdisk_get_grub_dev): Pass stat result to
10893 find_system_device and convert_system_partition_to_system_disk. Use
10894 find_partition_start.
10895
10896 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
10897 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
10898 * util/deviceiter.c [__linux__]: Define MINOR.
10899 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
10900 * util/mkdevicemap.c (grub_putchar): New function.
10901 (grub_getkey): New function.
10902 (grub_refresh): New function.
10903 (main): Set debug=all if -v -v is used.
10904
355b51e9
CW
109052010-05-18 Colin Watson <cjwatson@ubuntu.com>
10906
10907 Fix build with non-GNU libcs.
10908
10909 * util/misc.c (canonicalize_file_name): Move to ...
10910 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
10911 grub_make_system_path_relative_to_its_root.
10912
7fb5c25f
CW
109132010-05-18 Colin Watson <cjwatson@ubuntu.com>
10914
10915 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
10916 we handle finding grub-mkimage. Default to finding grub-mkimage in
10917 ${bindir} with program_transform_name applied, and provide a
10918 --grub-mkimage option to override this.
10919
1d3293d6
VS
109202010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10921
10922 Remove grub-mkisofs.
10923
10924 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
10925 (grub_mkisofs_SOURCES): Removed.
10926 (grub_mkisofs_CFLAGS): Removed.
10927 * util/mkisofs/defaults.h: Removed.
10928 * util/mkisofs/eltorito.c: Likewise.
10929 * util/mkisofs/exclude.h: Likewise.
10930 * util/mkisofs/hash.c: Likewise.
10931 * util/mkisofs/include/: Likewise.
10932 * util/mkisofs/include/fctldefs.h: Likewise.
10933 * util/mkisofs/include/mconfig.h: Likewise.
10934 * util/mkisofs/include/prototyp.h: Likewise.
10935 * util/mkisofs/include/statdefs.h: Likewise.
10936 * util/mkisofs/iso9660.h: Likewise.
10937 * util/mkisofs/joliet.c: Likewise.
10938 * util/mkisofs/match.c: Likewise.
10939 * util/mkisofs/match.h: Likewise.
10940 * util/mkisofs/mkisofs.c: Likewise.
10941 * util/mkisofs/mkisofs.h: Likewise.
10942 * util/mkisofs/msdos_partition.h: Likewise.
10943 * util/mkisofs/multi.c: Likewise.
10944 * util/mkisofs/name.c: Likewise.
10945 * util/mkisofs/rock.c: Likewise.
10946 * util/mkisofs/tree.c: Likewise.
10947 * util/mkisofs/write.c: Likewise.
10948
5dde9afe
VS
109492010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10950
10951 Unify grub-mkimage accross platforms.
10952
10953 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
10954 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
10955 (grub_mkelfimage_SOURCES): Removed.
10956 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
10957 (util/grub-mkimage.c_DEPENDENCIES): .. this.
10958 (bin_UTILITIES): Add grub-mkimage.
10959 (grub_mkimage_SOURCES): New variable.
10960 (kernel_img_HEADERS): Remove machine/kernel.h.
10961 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
10962 (pkglib_PROGRAMS): Add kernel.img.
10963 (kernel_img_HEADERS): Add machine/kernel.h.
10964 (kernel_img_FORMAT): Removed.
10965 (bin_UTILITIES): Remove grub-mkimage.
10966 (grub_mkimage_SOURCES): Removed.
10967 (grub_mkimage_CFLAGS): Likewise.
10968 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
10969 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
10970 (pkglib_PROGRAMS): Add kernel.img.
10971 (bin_UTILITIES): Remove grub-mkimage.
10972 (grub_mkimage_SOURCES): Removed.
10973 (grub_mkimage_CFLAGS): Likewise.
10974 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
10975 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
10976 (pkglib_PROGRAMS): Add kernel.img.
10977 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
10978 (pkglib_PROGRAMS): Add kernel.img.
10979 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
10980 (grub_mkimage_SOURCES): Removed.
10981 (grub_mkimage_CFLAGS): Likewise.
10982 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
10983 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
10984 (pkglib_PROGRAMS): Add kernel.img.
10985 (bin_UTILITIES): Remove grub-mkimage.
10986 (grub_mkimage_SOURCES): Removed.
10987 (grub_mkimage_CFLAGS): Likewise.
10988 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
10989 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
10990 (grub_mkimage_SOURCES): Removed.
10991 (grub_mkimage_CFLAGS): Likewise.
10992 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
10993 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
10994 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
10995 (grub_pe32_optional_header): ... this.
10996 (grub_pe64_optional_header): ... and this. All users updated.
10997 (GRUB_PE32_PE32_MAGIC): Split into ..
10998 (GRUB_PE32_PE32_MAGIC): .. this.
10999 (GRUB_PE32_PE64_MAGIC): .. and this.
11000 (GRUB_PE32_SIGNATURE_SIZE): New definition.
11001 * include/grub/elf.h (PT_GNU_STACK): New definition.
11002 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
11003 * include/grub/i386/efi/kernel.h: Likewise.
11004 * include/grub/i386/kernel.h: Likewise.
11005 * include/grub/i386/pc/kernel.h: Likewise.
11006 * include/grub/i386/qemu/boot.h: Likewise.
11007 * include/grub/mips/kernel.h: Likewise.
11008 * include/grub/mips/qemu-mips/kernel.h: Likewise.
11009 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
11010 * include/grub/powerpc/kernel.h: Likewise.
11011 * include/grub/sparc64/ieee1275/boot.h: Likewise.
11012 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
11013 * include/grub/sparc64/kernel.h: Likewise.
11014 * include/grub/x86_64/efi/kernel.h: Likewise.
11015 * include/grub/x86_64/kernel.h: Likewise.
11016 * include/grub/offsets.h: New file.
11017 * include/grub/kernel.h (grub_module_info): Split into ...
11018 (grub_module_info32): ... this.
11019 (grub_module_info64): ... and this.
11020 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
11021 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
11022 (grub_boot_blocklist): Moved from here ...
11023 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
11024 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
11025 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
11026 * include/grub/types.h (grub_target_to_host16): Removed.
11027 (grub_target_to_host32): Likewise.
11028 (grub_target_to_host64): Likewise.
11029 (grub_host_to_target16): Likewise.
11030 (grub_host_to_target32): Likewise.
11031 (grub_host_to_target64): Likewise.
11032 (grub_host_to_target_addr): Likewise.
11033
11034 Support grub-mkrescue for efi, coreboot and qemu.
11035
11036 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
11037 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
11038 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
11039 * util/grub-mkrawimage.c: Moved from here ...
11040 * util/grub-mkimage.c: ... here. All users updated.
11041 (ALIGN_ADDR): Use image_target.
11042 (TARGET_NO_FIELD): New const.
11043 (image_target_desc): New type.
11044 (image_targets): New array.
11045 (grub_target_to_host64): Use image_target.
11046 (grub_target_to_host32): Likewise.
11047 (grub_target_to_host16): Likewise.
11048 (grub_host_to_target64): Likewise.
11049 (grub_host_to_target32): Likewise.
11050 (grub_host_to_target16): Likewise.
11051 (grub_host_to_target_addr): Likewise.
11052 (generate_image): Handle multiimage.
11053 (main): Require -O parameter. All users updated.
11054 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
11055 util/efi/grub-mkimage.c
11056 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
11057 New option --rom-directory.
11058 Use xorriso.
11059 * util/i386/efi/grub-mkimage.c: Removed.
11060 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
11061 (grub_target_to_host32): Likewise.
11062 (grub_target_to_host64): Likewise.
11063 (grub_host_to_target16): Likewise.
11064 (grub_host_to_target32): Likewise.
11065 (grub_host_to_target64): Likewise.
11066 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
11067 (grub_target_to_host32): Likewise.
11068 (grub_target_to_host64): Likewise.
11069 (grub_host_to_target16): Likewise.
11070 (grub_host_to_target32): Likewise.
11071 (grub_host_to_target64): Likewise.
11072
f4fc97d0
BC
110732010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
11074
11075 Source tree is reorganized for emu build.
11076
11077 * include/grub/util/console.h: Move from here...
11078 * include/grub/emu/console.h: ...to here.
11079 * include/grub/util/getroot.h: Move from here...
11080 * include/grub/emu/getroot.h: ...to here.
11081 * include/grub/util/hostdisk.h: Move from here...
11082 * include/grub/emu/hostdisk.h: ...to here.
11083 * util/console.c: Move from here...
11084 * kern/emu/console.c: ...to here.
11085 * util/getroot.c: Move from here...
11086 * kern/emu/getroot.c: ...to here.
11087 * util/grub-emu.c: Move from here...
11088 * kern/emu/main.c: ...to here.
11089 * util/hostdisk.c: Move from here...
11090 * kern/emu/hostdisk.c: ...to here.
11091 * util/hostfs.c: Move from here...
11092 * kern/emu/hostfs.c: ...to here.
11093 * util/mm.c: Move from here...
11094 * kern/emu/mm.c: ...to here.
11095 * util/pci.c: Move from here...
11096 * bus/emu/pci.c: ...to here.
11097 * util/sdl.c: Move from here...
11098 * video/emu/sdl.c: ...to here.
11099 * util/time.c: Move from here...
11100 * kern/emu/time.c: ...to here.
11101 * util/usb.c: Move from here...
11102 * bus/usb/emu/usb.c: ...to here.
11103
11104 * include/grub/emu/misc.h: New header for grub-emu functions.
11105 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
11106
11107 * conf/any-emu.rmk: Rule updates for above renames.
11108 * conf/common.rmk: Likewise.
11109 * conf/i386-pc.rmk: Likewise.
11110 * conf/i386-qemu.rmk: Likewise.
11111 * conf/mips.rmk: Likewise.
11112 * conf/sparc64-ieee1275.rmk: Likewise.
11113 * conf/x86-efi.rmk: Likewise.
11114
11115 * disk/lvm.h: #include updates for above renames.
11116 * util/grub-mkrelpath.c: Likewise.
11117 * util/grub-probe.c: Likewise.
11118 * util/i386/pc/grub-setup.c: Likewise.
11119 * util/sparc64/ieee1275/grub-setup.c: Likewise.
11120 * kern/emu/console.c: Likewise.
11121 * kern/emu/getroot.c: Likewise.
11122 * kern/emu/hostdisk.c: Likewise.
11123 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
11124
11125 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
11126 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
11127 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
11128 * util/misc.c: Remove grub-emu functions.
11129
cced9145
VS
111302010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
11131
11132 Fix gfxmenu crash.
11133 Reported by: Thorsten Grützmacher.
11134
11135 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
11136 timeout hook.
11137 (circprog_set_property): Register and unregister timeout hook.
11138 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
11139 (label_destroy): Free template. and unregister hook.
11140 (label_set_state): New function.
11141 (label_set_property): Handle templates and hooks.
11142 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
11143 timeout hook.
11144 (progress_bar_set_property): Register and unregister timeout hook.
11145 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
11146 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
11147 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
11148 (update_timeout_visit): Removed.
11149 (update_timeouts): New function.
11150 (redraw_timeouts): Likewise.
11151 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
11152 (grub_gfxmenu_clear_timeout): Likewise.
11153 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
11154 (grub_gfxmenu_timeout_notify): Likewise.
11155 (grub_gfxmenu_timeout_notifications): New external variable.
11156 (grub_gfxmenu_timeout_register): New function.
11157 (grub_gfxmenu_timeout_unregister): Likewise.
11158
c6e5caab
VS
111592010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
11160
11161 Transform (broken) vga terminal into (working) vga video driver.
11162
11163 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
11164 video/i386/pc/vga.c.
11165 * include/grub/video.h (grub_video_driver_id):
11166 Add GRUB_VIDEO_DRIVER_VGA.
11167 * term/i386/pc/vga.c: Renamed to ...
11168 * video/i386/pc/vga.c: ...this
11169 (DEBUG_VGA): Removed.
11170 (CHAR_WIDTH): Likewise.
11171 (CHAR_HEIGHT): Likewise.
11172 (TEXT_WIDTH): Likewise.
11173 (TEXT_HEIGHT): Likewise.
11174 (DEFAULT_FG_COLOR): Likewise.
11175 (DEFAULT_BG_COLOR): Likewise.
11176 (colored_char): Likewise.
11177 (xpos): Likewise.
11178 (ypos): Likewise.
11179 (cursor_state): Likewise.
11180 (fg_color): Likewise.
11181 (bg_color): Likewise.
11182 (text_buf): Likewise.
11183 (page): Likewise.
11184 (font): Likewise.
11185 (framebuffer): New variable.
11186 (set_read_map): Disabled.
11187 (setup): New variable.
11188 (is_target): Likewise.
11189 (grub_vga_mod_init): Likewise.
11190 (grub_vga_mod_fini): Likewise.
11191 (check_vga_mem): Likewise.
11192 (write_char): Likewise.
11193 (write_cursor): Likewise.
11194 (scroll_up): Likewise.
11195 (grub_vga_putchar): Likewise.
11196 (grub_vga_getcharwidth): Likewise.
11197 (grub_vga_getwh): Likewise.
11198 (grub_vga_getxy): Likewise.
11199 (grub_vga_gotoxy): Likewise.
11200 (grub_vga_cls): Likewise.
11201 (grub_vga_setcolorstate): Likewise.
11202 (grub_vga_setcursor): Likewise.
11203 (grub_video_vga_init): New function.
11204 (grub_video_vga_setup): Likewise.
11205 (grub_video_vga_fini): Likewise.
11206 (update_target): Likewise.
11207 (grub_video_vga_blit_bitmap): Likewise.
11208 (grub_video_vga_blit_render_target): Likewise.
11209 (grub_video_vga_set_active_render_target): Likewise.
11210 (grub_video_vga_get_active_render_target): Likewise.
11211 (grub_video_vga_swap_buffers): Likewise.
11212 (grub_video_vga_set_palette): Likewise.
11213 (grub_video_vga_get_info_and_fini): Likewise.
11214 (grub_vga_term): Removed.
11215 (grub_video_vga_adapter): New variable.
11216 (GRUB_MOD_INIT): Register a video driver instead of terminal.
11217 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
11218
2bf61a98
VS
112192010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
11220
11221 * video/readers/jpeg.c: Indented.
11222
09ddcd11
VS
112232010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
11224
11225 Various jpeg cleanups.
11226
11227 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
11228 (grub_jpeg_decode_quan_table): Use sizeof.
11229 (grub_jpeg_decode_du): Use ARRAY_SIZE.
11230
e5507505
PH
112312010-05-05 Peter Hurley <No e-mail available> (tiny change)
11232
11233 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
11234 tables. Ignore non-last ac bit.
11235 (grub_jpeg_decode_quan_table): Likewise.
11236
7e720a9b
VS
112372010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
11238
11239 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
11240 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
11241 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
11242 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
11243 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
11244 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
11245
a7fc080b
VS
112462010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
11247
11248 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
11249 error.
11250
2bf6012d
VS
112512010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
11252
11253 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
11254
265d68cd
VS
112552010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
11256
11257 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
11258 condition.
11259
112602010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
11261
11262 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
11263 part.
11264
265d68cd 112652010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
11266
11267 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
11268 pointers.
11269
265d68cd 112702010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
11271
11272 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
11273
d1b61374
CF
112742010-05-01 Christian Franke <franke@computer.org>
11275
11276 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
11277 Remove broken Cygwin path conversion.
11278 * util/misc.c: [__CYGWIN__] Add include and define.
11279 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
11280 for Cygwin 1.7.
11281 (make_system_path_relative_to_its_root): Simplify loop, replace early
11282 return by break.
11283 [__CYGWIN__] Add conversion to win32 path.
11284 Include "/" case in trailing slash removal.
11285
3558c6e9
VS
112862010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
11287
11288 * kern/main.c (grub_load_config): Fix copy-pasted comment.
11289 Reported by: Seth Goldberg
11290
f5f3ff93
VS
112912010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
11292
11293 * commands/help.c (grub_cmd_help): Fix a typo.
11294 Reported by: Seth Goldberg
11295
d8b5cd40
VS
112962010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
11297
11298 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
11299 name and add N_.
11300 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
11301 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
11302 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
11303 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
11304 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
11305 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
11306 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
11307 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
11308 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
11309 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
11310 * normal/context.c (GRUB_MOD_INIT): Likewise.
11311 * normal/main.c (GRUB_MOD_INIT): Likewise.
11312 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
11313 * term/serial.c (GRUB_MOD_INIT): Likewise.
11314 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
11315
88c14915
VS
113162010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
11317
11318 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
11319 extra == 0.
11320
165134bc
VS
113212010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
11322
11323 * commands/iorw.c: New file.
11324 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
11325 (iorw_mod_SOURCES): New variable.
11326 (iorw_mod_CFLAGS): Likewise.
11327 (iorw_mod_LDFLAGS): Likewise.
11328
c5ac9b32
VS
113292010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
11330
11331 Hotkey support
11332
11333 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
11334 * normal/main.c (hotkey_aliases): New variable.
11335 (grub_normal_add_menu_entry): Parse "--hotkey".
11336 * normal/menu_text.c (run_menu): Handle hotkeys.
11337
ce60689c
VS
113382010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
11339
11340 * kern/i386/coreboot/init.c (grub_machine_init): Call
11341 grub_machine_mmap_init on qemu.
11342
0359d006
VS
113432010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
11344
11345 * boot/i386/qemu/boot.S: Add a missing .code16.
11346
7819a456
VS
113472010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
11348
11349 Use LBIO on coreboot.
11350
11351 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
11352 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
11353 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
11354 New declaration.
11355 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
11356 grub_machine_mmap_init on coreboot.
11357 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
11358 GRUB_LINUXBIOS_MEMBER_LINK.
11359 (grub_machine_mmap_iterate): Fix declaration.
11360 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
11361
7210dca9
VS
113622010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
11363
11364 Split coreboot and multiboot ports.
11365
11366 * conf/i386-multiboot.rmk: New file.
11367 * configure.ac: Add multiboot port.
11368 * include/grub/i386/multiboot/boot.h: New file.
11369 * include/grub/i386/multiboot/console.h: Likewise.
11370 * include/grub/i386/multiboot/init.h: Likewise.
11371 * include/grub/i386/multiboot/kernel.h: Likewise.
11372 * include/grub/i386/multiboot/loader.h: Likewise.
11373 * include/grub/i386/multiboot/memory.h: Likewise.
11374 * include/grub/i386/multiboot/serial.h: Likewise.
11375 * include/grub/i386/multiboot/time.h: Likewise.
11376 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
11377 * loader/multiboot.c: Likewise.
11378 * loader/multiboot_mbi2.c: Likewise.
11379 * util/grub-mkrescue.in: Generate multiboot rescue.
11380
6f8aaf68
VS
113812010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
11382
3080f7a7
VS
11383 * kern/parser.c (grub_parser_execute): Cope with read-only config.
11384
113852010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
11386
11387 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
11388
11389 * commands/terminal.c (abstract_terminal): New struct.
11390 (handle_command): New function. Based on grub_cmd_terminal_input.
11391 (grub_cmd_terminal_input): Use handle_command.
11392 (grub_cmd_terminal_output): Use handle_command.
11393
a8ebb841
BC
113942010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
11395
11396 Fix comment handling.
11397
11398 * tests/grub_script_comments.in: New testcase.
11399 * conf/tests.rmk: Rules for new testcase.
11400 * script/yylex.l: Updated flex rules.
11401
bb06ba08
ST
114022010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
11403
11404 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
11405 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
11406 if argc is 1.
bb06ba08 11407
cc9d2425
VS
114082010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
11409
11410 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
11411 autogen issues.
11412
460d8402
CF
114132010-04-26 Christian Franke <franke@computer.org>
11414
11415 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
11416 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
11417 (grub_get_prefix): Remove function.
11418 * util/grub-emu.c (main): Replace grub_get_prefix () call by
11419 make_system_path_relative_to_its_root ().
11420 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
11421
553c01f9
CF
114222010-04-24 Christian Franke <franke@computer.org>
11423
11424 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
11425 (kernel_img_LDFLAGS): Remove -static-libgcc.
11426
2aec1692
CF
114272010-04-24 Christian Franke <franke@computer.org>
11428
11429 * configure.ac: Do not CHECK_BSS_START_SYMBOL
11430 and CHECK_END_SYMBOL if grub-emu is built.
11431 Unset TARGET_OBJ2ELF if grub-emu is built
11432 without module support.
11433
f67dc308
JS
114342010-04-24 Jiro SEKIBA <jir@unicus.jp>
11435
11436 Nilfs2 support.
11437
11438 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
11439 (grub_fstest_SOURCES): Likewise.
11440 (pkglib_MODULES): Add nilfs2.mod.
11441 (nilfs2_mod_SOURCES): New variable.
11442 (nilfs2_mod_CFLAGS): Likewise.
11443 (nilfs2_mod_LDFLAGS): Likewise.
11444 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
11445 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
11446 * fs/nilfs2.c: New file.
11447
4ba8d354
VS
114482010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
11449
11450 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
11451 is not supported.
11452
0d2c20c6
GS
114532010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
11454
11455 Add grub-mkconfig support for NetBSD.
11456
11457 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
11458 * util/grub-mkconfig.in: export new NetBSD specific variables.
11459 * po/POTFILES-shell: added 10_netbsd.in.
11460 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
11461
bc4a2d83
BC
114622010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
11463
11464 Fix emu build with grub-emu-pci and grub-emu-modules.
11465
11466 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
11467 functions.
11468 * include/grub/libpciaccess.h: New file.
11469 * conf/any-emu.rmk: Update kernel headers for emu build.
11470
f48c87aa
VS
114712010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
11472
11473 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
11474
18959385
VS
114752010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
11476
11477 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
11478
0037de3f
VS
114792010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
11480
11481 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
11482 Retrieve chosen/bootpath if bootpath isn't hardcoded.
11483 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
11484 util/ieee1275/ofpath.c.
11485 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
11486 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
11487 * include/grub/sparc64/ieee1275/boot.h
11488 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
11489 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
11490 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
11491 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
11492 const char *.
11493 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
11494 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
11495 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
11496 install.
11497
38e55e90
GS
114982010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
11499
11500 * util/grub-mkconfig.in: Corrected two == equality tests.
11501 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
11502 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
11503 expect a number appended to it.
11504 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
11505 expects a number appended to it.
11506
a9e6ff28
VS
115072010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
11508
11509 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
11510
0b830b8f
VS
115112010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
11512
11513 * util/hostdisk.c (make_device_name): Change to new partition naming.
11514
0973daeb
VS
115152010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
11516
11517 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
11518
460d8402 115192010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
11520
11521 * Makefile.in: Add missing localedir setting.
11522
0b456309
CW
115232010-04-14 Colin Watson <cjwatson@ubuntu.com>
11524
11525 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
11526 mistake in r2156. Noticed by Anthony Fok.
11527
11528 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
11529 @localedir@.
11530 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
11531
08f46d62
BC
115322010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
11533
11534 Fix a spurious, uninitialized variable warning.
11535
11536 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
11537 Initialize variable, shdr.
11538 (grub_freebsd_load_elfmodule): Likewise.
11539 (grub_freebsd_load_elf_meta): Likewise.
11540
8c4a72d4
BC
115412010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
11542
11543 Fix for escaped dollar in double quoted strings.
11544
11545 * script/yylex.l: Updated flex rules.
11546 * conf/tests.rmk: Rule for new testcase.
11547 * tests/grub_script_dollar.in: New testcase.
11548
ce44826e
CPE
115492010-04-13 Carles Pina i Estany <carles@pina.cat>
115502010-04-13 Colin Watson <cjwatson@ubuntu.com>
11551
11552 Enclose all translated strings in grub.cfg in single quotes, and
11553 escape them appropriately (Ubuntu bug #552921).
11554
11555 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
11556 * util/grub.d/10_hurd.in: Use it.
11557 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
11558 * util/grub.d/10_linux.in (linux_entry): Likewise.
11559
4b0cd8f8
VS
115602010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
11561
11562 Fix cygwin compilation.
11563
11564 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
11565 * include/grub/misc.h (__register_frame_info)
11566 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
11567 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
11568 * kern/misc.c (__register_frame_info)
11569 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
11570 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
11571
01fcf061
VS
115722010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
11573
11574 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
11575
5d04b11e
VS
115762010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
11577
11578 Unify libgcc processing.
11579
11580 * Makefile.in (kernel_img_LDFLAGS): New variable.
11581 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
11582 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
11583 overwriting.
11584 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
11585 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
11586 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
11587 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
11588 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
11589 overwriting. Remove -lgcc and -static-libgcc
11590 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
11591 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
11592 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
11593 (kernel_img_LDFLAGS): Append instead of overwriting.
11594 Remove -lgcc and -static-libgcc
11595 * conf/sparc64-ieee1275.rmk: Likewise.
11596 * include/grub/powerpc/libgcc.h: Move to ...
11597 * include/grub/libgcc.h: .. this.
11598 * include/grub/libgcc.h: Don't export most of the function on x86.
11599 (__bswapsi2): New export.
11600 (__bswapdi2): Likewise.
11601 * include/grub/mips/libgcc.h: Removed.
11602 * include/grub/sparc64/libgcc.h: Likewise.
11603
b7f3ac29
VS
116042010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
11605
11606 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
11607 disk_info_msg (conflicts with gettexting into languages with cases).
11608
2c7031b1
GS
116092010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
11610
11611 Add grub-probe support for NetBSD.
11612
11613 * util/getroot.c (find_root_device): Convert block device to
11614 character device on NetBSD.
11615 * util/probe.c (probe): Require character device on NetBSD.
11616 * util/hostdisk.c: NetBSD specific headers.
11617 (configure_device_driver): new function to tune device driver
11618 parameters (currently only for NetBSD floppy driver).
11619 (grub_util_biosdisk_open): NetBSD specific code (get disk size
11620 via disklabel ioctl).
11621 (open_device): call configure_device_driver on NetBSD.
11622 (convert_system_partition_to_system_disk): NetBSD specific code.
11623 (device_is_wholedisk): Likewise.
11624 (grub_util_biosdisk_get_grub_dev): Likewise.
11625 (make_device_name): Fixed a typo in bsd_part_str.
11626 * configure.ac: check for opendisk() and getrawpartition() on
11627 NetBSD and set LIBUTIL.
11628 * Makefile.in: add LIBUTIL to LIBS.
11629
f516290c
BC
116302010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
11631
11632 Documentation fix.
11633
11634 * util/grub-script-check.c: Better help message.
11635
d8dcc0df
BC
116362010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
11637
11638 Fix FreeBSD build.
11639
11640 * configure.ac: Flex version check.
11641 * conf/common.rmk: Add -Wno-error to sh.mod.
11642 * script/yylex.l: Remove all #pragma.
11643
6734334a
VS
116442010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
11645
11646 * include/grub/util/misc.h (canonicalise_file_name): Add missing
11647 prototype.
11648 Reported by: Seth Goldberg.
11649
daea6abd
VS
116502010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
11651
11652 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
11653 Rename "module" to "module2".
11654 Reported by: Seth Goldberg.
11655
f2fd9d2b
VS
116562010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
11657
11658 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
11659 EXPORT_FUNC.
11660 Reported by: Seth Goldberg.
11661
be124579
VS
116622010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
11663
11664 * lib/posix_wrap/locale.h: Add missing file.
11665 Reported by: Seth Goldberg.
11666
ef5da797
VS
116672010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
11668
11669 grub-emu module load support.
11670
11671 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
11672 NO_DYNAMIC_MODULES switched to this.
11673 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
11674 (CFLAGS): Likewise.
11675 * conf/any-emu.rmk: Generate symlist.
11676 (kernel_img_HEADERS): Add util/datetime.h.
11677 (kernel_img_HEADERS) [sdl]: Add sdl.h.
11678 (kernel_img_HEADERS) [libusb]: Add libusb.h.
11679 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
11680 kern/$(target_cpu)/cache.S.
11681 * configure.ac (grub-emu-modules): New option.
11682 * genmk.rb: Handle multiple source lists.
11683 * include/grub/sdl.h: New file.
11684 * include/grub/libusb.h: Likewise.
11685 * util/grub-emu.c (main): Hanle (host) root.
11686 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
11687 GRUB_ERR_UNKNOWN_DEVICE.
11688 * util/misc.c: Move mm functions to ...
11689 * util/mm.c: ... here. All users updated.
11690
47822096
VS
116912010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
11692
11693 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
11694 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
11695 missing files.
11696 (maintainer-clean): Remove libgcrypt-grub.
11697
5d7e7445
VS
116982010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
11699
11700 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
11701
25f4e252
EC
117022010-04-09 EFI Coder <eficoder@hotmail.com>
11703
11704 * normal/menu_text.c (print_message): Clean up the message and show
11705 the Fn information when on EFI
11706 * term/efi/console.c (grub_console_checkkey): Add F4 support.
11707
027de555
VS
117082010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
11709
11710 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
11711 All users updated.
11712 * normal/crypto.c (read_crypto_list): Likewise.
11713 * normal/dyncmd.c (read_command_list): Likewise.
11714 * normal/term.c (read_terminal_list): Likewise.
11715 * normal/main.c (read_lists): Use explicit prefix.
11716 (read_lists_hook): Use read_lists.
11717 (grub_normal_execute): Likewise.
11718
47779711
VS
117192010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
11720
11721 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
11722 Reported by: Thomas Schmitt.
11723 Add -no-emul-boot to grub-mkisofs parameters.
11724
1118c32e
VS
117252010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
11726
11727 * font/font.c: Indented.
11728
7d652447
BC
117292010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
11730
11731 Elif support to GRUB script (by Deepak Vankadaru).
11732
11733 * tests/grub_script_if.in: New testcase.
11734 * conf/tests.rmk: Rule for new testcase.
11735 * script/parser.y: Grammar rules for elif.
11736
34bb22df
BC
117372010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
11738
11739 While and until loops support to GRUB script.
11740
11741 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
11742 (grub_script_create_cmdwhile): New function prototype.
11743 (grub_script_execute_cmdwhile): New function prototype.
11744 * script/execute.c (grub_script_execute_cmdwhile): New function.
11745 * script/parser.y (command): New commands.
11746 (whilecmd): New grammar rule.
11747 (untilcmd): New grammar rule.
11748 * script/script.c (grub_script_create_cmdwhile): New function.
11749 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
11750 function.
11751
11752 * tests/grub_script_while1.in: New testcase.
11753 * conf/tests.rmk: Rule for new testcase.
11754
e215d8e0
VS
117552010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
11756
11757 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
11758 as *.jpg.
11759
d7c43ba1
MV
117602010-04-09 Mario Vazquez <mariovazq@gmail.com>
11761
11762 GRUB_BACKGROUND support.
11763
11764 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
11765 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
11766
d64795c0
VS
117672010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
11768
11769 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 11770 Idea by: Mario Vazquez
d64795c0
VS
11771
11772 * util/grub.d/00_header.in: Load pf2 and image modules.
11773
f267f83a
VS
117742010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
11775
11776 grub-mkconfig multiple terminal support.
11777
11778 * util/grub-mkconfig.in: Handle multiple terminals correctly.
11779 * util/grub.d/00_header.in: Likewise.
11780
b7841ceb
VS
117812010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
11782
11783 * Makefile.in: Specify files explicitly instead of using $< and $@ since
11784 we use cd $(srcdir).
11785
df60998c
CW
117862010-04-08 Colin Watson <cjwatson@ubuntu.com>
11787
11788 * util/grub.d/10_linux.in: Only use the first word of
11789 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
11790 spaces in GRUB_DISTRIBUTOR.
11791 * util/grub.d/10_kfreebsd.in: Likewise.
11792 * util/grub.d/10_hurd.in: Likewise.
11793
fa09c82e
BC
117942010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
11795
14e18ae3 11796 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
11797
11798 * tests/util/grub-shell.in: Remove -serial stdio option.
11799
daf892b3
BC
118002010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
11801
11802 POSIX header file wrappers.
11803
11804 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
11805 equivalents.
11806 * lib/posix_wrap/ctype.h: Likewise.
11807 * lib/posix_wrap/errno.h: Likewise.
11808 * lib/posix_wrap/langinfo.h: Likewise.
11809 * lib/posix_wrap/limits.h: Likewise.
11810 * lib/posix_wrap/localcharset.h: Likewise.
11811 * lib/posix_wrap/stdint.h: Likewise.
11812 * lib/posix_wrap/stdio.h: Likewise.
11813 * lib/posix_wrap/stdlib.h: Likewise.
11814 * lib/posix_wrap/string.h: Likewise.
11815 * lib/posix_wrap/sys/types.h: Likewise.
11816 * lib/posix_wrap/unistd.h: Likewise.
11817 * lib/posix_wrap/wchar.h: Likewise.
11818 * lib/posix_wrap/wctype.h: Likewise.
11819 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
11820 (grub_script.yy.h): Likewise.
11821 * script/yylex.l: Remove POSIX emulation #defines.
11822 * Makefile.in (POSIX_CFLAGS): New variable.
11823 (GNULIB_UTIL_CFLAGS): Likewise.
11824
11825 Regexp support.
11826
11827 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
11828 (regexp_mod_SOURCES): New variable.
11829 (regexp_mod_CFLAGS): Likewise.
11830 (regexp_mod_LDFLAGS): Likewise.
11831 * commands/regexp.c: New file.
11832 * gnulib/regcomp.c: New file. Imported from gnulib.
11833 * gnulib/regex.c: Likewise.
11834 * gnulib/regex_internal.c: Likewise.
11835 * gnulib/regex_internal.h: Likewise.
11836 * gnulib/regexec.c: Likewise.
11837 * gnulib/regex.h: Likewise.
11838
974ac4f7
VS
118392010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
11840
11841 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
11842 unsupported video mode types.
11843
2622c3ff
VS
118442010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
11845
11846 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
11847
064cb524
VS
118482010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
11849
11850 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
11851 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
11852
a8c3b552
VS
118532010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
11854
11855 Remove unused grub_vga_get_font.
11856
11857 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
11858 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
11859
187bbe3d
GS
118602010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
11861
11862 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
11863 * include/grub/misc.h: Likewise.
11864
b9396631
GS
118652010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
11866
11867 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
11868 for which failure is fatal.
11869
50479feb
GS
118702010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
11871
11872 * util/grub-install.in: Use mkdir -p to create grub directory.
11873 * util/i386/efi/grub-install.in: Likewise.
11874 * util/ieee1275/grub-install.in: Likewise.
11875
b1654fdf
GS
118762010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
11877
11878 * Makefile.in (LEX): new variable.
11879
bd5a6415
GS
118802010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
11881
11882 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
11883 `=' and added double quotes on operands of this equality test.
11884
3db3a82b
VS
118852010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
11886
11887 * Makefile.in (uninstall): Remove a leftover debug echo.
11888 Reported by: Grégoire Sutre
11889
38023412
VS
118902010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
11891
11892 MIPS multiboot2 support.
11893
11894 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
11895 (multiboot2_mod_SOURCES): New variable.
11896 (multiboot2_mod_CFLAGS): Likewise.
11897 (multiboot2_mod_LDFLAGS): Likewise.
11898 (multiboot2_mod_ASFLAGS): Likewise.
11899 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
11900 definition.
11901 (MULTIBOOT_ENTRY_REGISTER): Likewise.
11902 (MULTIBOOT_MBI_REGISTER): Likewise.
11903 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
11904 (MULTIBOOT_ELF32_MACHINE): Likewise.
11905 (MULTIBOOT_ELF64_MACHINE): Likewise.
11906 * include/grub/mips/multiboot.h: New file.
11907 * include/grub/video.h (grub_video_driver_id): New type
11908 GRUB_VIDEO_DRIVER_SM712.
11909 (grub_video_get_info_and_fini): Export.
11910 (grub_video_get_palette): Likewise.
11911 (grub_video_get_driver_id): Likewise.
11912 * include/multiboot2.h: Resynced with spec.
11913 * loader/i386/multiboot.c: Moved from here ...
11914 * loader/multiboot.c: ... here. All users updated.
11915 (grub_multiboot_boot): Use platform-specific macros.
11916 * loader/i386/multiboot_elfxx.c: Moved from here ...
11917 * loader/multiboot_elfxx.c: ... here. All users updated.
11918 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
11919 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
11920 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
11921
47674667
VS
119222010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
11923
11924 Import gnulib argp module.
11925
11926 * gnulib/argp-ba.c: New file.
11927 * gnulib/argp-eexst.c: Likewise.
11928 * gnulib/argp-fmtstream.c: Likewise.
11929 * gnulib/argp-fmtstream.h: Likewise.
11930 * gnulib/argp-fs-xinl.c: Likewise.
11931 * gnulib/argp-help.c: Likewise.
11932 * gnulib/argp-namefrob.h: Likewise.
11933 * gnulib/argp-parse.c: Likewise.
11934 * gnulib/argp-pin.c: Likewise.
11935 * gnulib/argp-pv.c: Likewise.
11936 * gnulib/argp-pvh.c: Likewise.
11937 * gnulib/argp-version-etc.c: Likewise.
11938 * gnulib/argp-version-etc.h: Likewise.
11939 * gnulib/argp-xinl.c: Likewise.
11940 * gnulib/argp.h: Likewise.
11941
495442ed
VS
119422010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
11943
11944 * kern/device.c (grub_device_iterate): Clear errors after failed
11945 opening device.
11946
f9fd65df
VS
119472010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
11948
11949 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
11950 returned by firmware.
11951
af09641e
VS
119522010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
11953
11954 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
11955 compilation on coreboot and qemu
11956
016883a5
VS
119572010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
11958
11959 * include/multiboot2.h: Resync with spec.
11960
f97e1f7d
VS
119612010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
11962
11963 Multiboot2 tag support
11964
11965 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
11966 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
11967 Remove loader/multiboot_loader.c.
11968 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
11969 (grub_multiboot2_real_boot): Likewise.
11970 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
11971 (grub_get_multiboot_mmap_count): New proto.
11972 (grub_fill_multiboot_mmap): Likewise.
11973 (grub_multiboot_set_video_mode): Likewise.
11974 (grub_multiboot_set_console): Likewise.
11975 (grub_multiboot_load): Likewise.
11976 (grub_multiboot_load_elf): Likewise.
11977 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
11978 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
11979 * include/multiboot.h: Resynced with specification.
11980 * include/multiboot2.h: Resynced with specification.
11981 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
11982 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
11983 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
11984 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
11985 users updated.
11986 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
11987 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
11988 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
11989 Removed.
11990 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
11991 Moved from here...
11992 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
11993 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
11994 Moved from here...
11995 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
11996 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
11997 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
11998 All users updated.
11999 * loader/i386/multiboot_mbi2.c: New file.
12000
3506b90b
VS
120012010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
12002
12003 Resync with gnulib.
12004
12005 * Makefile.in (GNULIB_CFLAGS): New variable.
12006 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
12007 (grub_script_check_CFLAGS): New variable.
12008 * gnulib/alloca.h: Resync with gnulib.
12009 * gnulib/error.c: Likewise.
12010 * gnulib/error.h: Likewise.
12011 * gnulib/fnmatch.c: Likewise.
12012 * gnulib/fnmatch_loop.c: Likewise.
12013 * gnulib/getdelim.c: Likewise.
12014 * gnulib/getline.c: Likewise.
12015 * gnulib/getopt.c: Likewise.
12016 * gnulib/getopt1.c: Likewise.
12017 * gnulib/getopt_int.h: Likewise.
12018 * gnulib/gettext.h: Likewise.
12019 * gnulib/progname.c: Likewise.
12020 * gnulib/progname.h: Likewise.
12021
394a3120
GS
120222010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
12023
12024 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
12025 which is the case with --disabled-nls.
12026
12027 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
12028 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
12029 * util/misc.c: Likewise.
12030 * util/mkisofs/mkisofs.c: Likewise.
12031 * util/mkisofs/mkisofs.h: Likewise.
12032
969d1c78
VS
120332010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
12034
12035 Simplify Apple CC support.
12036
12037 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
12038 Add 0 byte at the end not to have a symbol with empty target.
12039 * mmap/i386/pc/mmap_helper.S: Likewise.
12040 * genmk.rb: Ignore errors 2030 and 2050.
12041 * kern/i386/pc/startup.S: Use LOCAL when possible.
12042
8d2977bb
BC
120432010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
12044
12045 Testcase and the fix for final semicolon on cmdline.
12046
12047 * tests/grub_script_final_semicolon.in: New testcase.
12048 * conf/tests.rmk: Rules for the new testcase.
12049 * script/parser.y: Grammar fix.
12050
a7bd6915
BC
120512010-03-26 BVK Chaitanya <bvk@localhost>
12052
12053 Blank lines testcase for GRUB script.
12054
12055 * tests/grub_script_blanklines.in: New testcase.
12056 * conf/tests.rmk: Rules for the new testcase.
12057
e4ff6628
VS
120582010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
12059
12060 Don't use __FILE__.
12061
12062 * genmk.rb: Add -DGRUB_FILE to all C targets.
12063 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
12064 * include/grub/list.h: Likewise.
12065 * include/grub/misc.h: Likewise.
12066 * include/grub/mm.h: Likewise.
12067 * include/grub/test.h: Likewise.
12068 * kern/mm.c: Likewise.
12069 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
12070
6a5cf6b6
VS
120712010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
12072
12073 Sunpc partitions support.
12074
12075 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
12076 (grub_fstest_SOURCES): Likewise.
12077 (pkglib_MODULES): Add part_sunpc.mod.
12078 (part_sunpc_mod_SOURCES): New variable.
12079 (part_sunpc_mod_CFLAGS): Likewise.
12080 (part_sunpc_mod_LDFLAGS): Likewise.
12081 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
12082 * partmap/sunpc.c: New file.
12083
746d9045
BC
120842010-03-26 BVK Chaitanya <bvk@localhost>
12085
12086 For loop support to GRUB script.
12087
12088 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
12089 (grub_script_create_cmdfor): New function prototype.
12090 (grub_script_execute_cmdfor): New function prototype.
12091 * script/execute.c (grub_script_execute_cmdfor): New function.
12092 * script/parser.y (command): New for command.
12093 (forcmd): New grammar rule.
12094 * script/script.c (grub_script_create_cmdfor): New function.
12095 * util/grub-script-check.c (grub_script_execute_cmdfor): New
12096 function.
12097 * tests/grub_script_for1.in: New testcase.
12098 * conf/tests.rmk: Rules for new testcase.
12099
18486b18
VS
121002010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
12101
12102 Nested partitions
12103
12104 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
12105 'partition' is NULL, grub_partition_get_start already does that.
12106 * commands/loadenv.c (check_blocklists): Likewise.
12107 (write_blocklists): Likewise.
12108 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
12109 (grub_fstest_SOURCES): Likewise.
12110 (pkglib_MODULES): Add part_bsd.mod.
12111 (part_bsd_mod_SOURCES): New variable.
12112 (part_bsd_mod_CFLAGS): Likewise.
12113 (part_bsd_mod_LDFLAGS): Likewise.
12114 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
12115 (grub_emu_SOURCES): Likewise.
12116 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12117 * include/grub/bsdlabel.h: New file.
12118 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
12119 'get_name'.
12120 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
12121 (grub_partition_map_list): New variable.
12122 (grub_partition_map_register): Inline.
12123 (grub_partition_map_unregister): Likewise.
12124 (FOR_PARTITION_MAPS): New macro.
12125 (grub_partition_map_iterate): Removed.
12126 (grub_partition_get_start): Handle nested partitions.
12127 * include/grub/msdos_partition.h: Remove bsd-related entries.
12128 (grub_pc_partition): Remove.
12129 * kern/disk.c (grub_disk_close): Free partition data.
12130 (grub_disk_adjust_range): Handle nested partitions.
12131 * kern/partition.c (grub_partition_map_probe): New function.
12132 (grub_partition_probe): Parse name to number, handle subpartitions.
12133 (get_partmap): New function.
12134 (grub_partition_iterate): Handle subpartitions.
12135 (grub_partition_get_name): Likewise.
12136 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
12137 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
12138 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
12139 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
12140 Set 'number'.
12141 (acorn_partition_map_probe): Remove.
12142 (acorn_partition_map_get_name): Likewise.
12143 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
12144 Set 'number'.
12145 Set 'index' to 0 since there can be only one partition entry per sector.
12146 (amiga_partition_map_probe): Remove.
12147 (amiga_partition_map_get_name): Likewise.
12148 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
12149 Set 'number'.
12150 Set 'offset' and 'index' to real positions of partitions.
12151 (apple_partition_map_probe): Remove.
12152 (apple_partition_map_get_name): Likewise.
12153 * partmap/bsdlabel.c: New file.
12154 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
12155 Set 'number'.
12156 Allocate 'data' so it can be correctly freed.
12157 Set 'index' to offset inside sector.
12158 (gpt_partition_map_probe): Remove.
12159 (gpt_partition_map_get_name): Likewise.
12160 * partmap/msdos.c (grub_partition_parse): Remove.
12161 (pc_partition_map_iterate): Don't force raw access.
12162 Set 'number'.
12163 Make 'ext_offset' a local variable.
12164 (pc_partition_map_probe): Remove.
12165 (pc_partition_map_get_name): Remove.
12166 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
12167 Set 'number'.
12168 (sun_partition_map_probe): Remove.
12169 (sun_partition_map_get_name): Likewise.
12170 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
12171 (grub_pcpart_type): Likewise.
12172 * util/hostdisk.c (open_device): Handle new numbering scheme.
12173 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
12174 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
12175 * util/grub-probe.c (probe_partmap): Handle nested paritions.
12176 * util/grub-install.in: Insert all subpartition modules.
12177 * util/ieee1275/grub-install.in: Likewise.
12178
a3940f88
AG
121792010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
12180
12181 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
12182 grammar.
12183
21b99926 121842010-03-24 Colin Watson <cjwatson@ubuntu.com>
12185
12186 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
12187
bed1d352
CW
121882010-03-21 Colin Watson <cjwatson@ubuntu.com>
12189
12190 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
12191 match where 'make install' puts them.
12192 * util/i386/efi/grub-install.in: Likewise.
12193
c9f58427
CW
121942010-03-19 Colin Watson <cjwatson@ubuntu.com>
12195
12196 * .bzrignore: Add gentrigtables, grub-script-check,
12197 grub_script_check_init.c, grub_script_check_init.h, and
12198 trigtables.c.
12199
f84afb27
VS
122002010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
12201
12202 * kern/parser.c: Indented.
12203
ed0e3d30
VS
122042010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
12205
12206 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
12207
0ea81d98
VS
122082010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
12209
12210 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
12211 alpha_mask_size == 0 case.
12212
0cdc2a09
BC
122132010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
12214
12215 GRUB shell lexer and parser improvements.
12216
12217 * conf/any-emu.rmk: Build rule updates.
12218 * conf/common.rmk: Likewise.
12219 * conf/i386-coreboot.rmk: Likewise.
12220 * conf/i386-efi.rmk: Likewise.
12221 * conf/i386-ieee1275.rmk: Likewise.
12222 * conf/i386-pc.rmk: Likewise.
12223 * conf/powerpc-ieee1275.rmk: Likewise.
12224 * conf/x86_64-efi.rmk: Likewise.
12225
12226 * configure.ac: Configure check for flex.
12227
12228 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
12229 types.
12230 (grub_lexer_param): Struct member updates.
12231 (grub_parser_param): Likewise.
12232 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
12233 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
12234 (grub_script_lexer_init): Prototype update.
12235 (grub_script_lexer_record_start): Likewise.
12236 (grub_script_lexer_record_stop): Likewise.
12237 (grub_script_lexer_yywrap): New function prototype.
12238 (grub_script_lexer_fini): Likewise.
12239 (grub_script_execute_argument_to_string): Removed by...
12240 (grub_script_execute_argument_to_argv): ...better version.
12241
12242 * script/execute.c (ROUND_UPTO): New macro.
12243 (grub_script_execute_cmdline): Out of memory fixes.
12244 (grub_script_execute_menuentry): Likewise.
12245 (grub_script_execute_argument_to_string): Removed. Update all
12246 users by...
12247 (grub_script_execute_argument_to_argv): ...better version.
12248 * script/function.c (grub_script_function_create): Use
12249 grub_script_execute_argument_to_argv instead of
12250 grub_script_execute_argument_to_string.
12251
12252 * script/lexer.c (check_varstate): Removed.
12253 (check_textstate): Removed.
12254 (grub_script_lexer_record_start): Likewise.
12255 (grub_script_lexer_record_stop): Likewise.
12256 (recordchar): Replaced with...
12257 (grub_script_lexer_record): ...new function.
12258 (nextchar): Removed.
12259 (grub_script_lexer_init): Rewritten.
12260 (grub_script_yylex): Rewritten.
12261 (append_newline): New function.
12262 (grub_script_lexer_yywrap): New function.
12263 (grub_script_lexer_fini): New function.
12264 (grub_script_yyerror): Sets error flag.
12265
12266 * script/yylex.l: New file.
12267 (grub_lexer_yyfree): Wrapper for flex yyffre.
12268 (grub_lexer_yyalloc): Likewise.
12269 (grub_lexer_yyrealloc): Likewise.
12270 * script/parser.y: Refactored.
12271
12272 * script/script.c (grub_script_arg_add): Out of memory fixes.
12273 (grub_script_add_arglist): Likewise.
12274 (grub_script_create_cmdline): Likewise.
12275 (grub_script_create_cmdmenu): Likewise.
12276 (grub_script_add_cmd): Likewise.
12277 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
12278 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
12279 unnecessary code.
12280
12281 * tests/grub_script_echo1.in: New testcase.
12282 * tests/grub_script_vars1.in: New testcase.
12283 * tests/grub_script_echo_keywords.in: New testcase.
12284
1d63a066
VS
122852010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
12286
12287 Remove some redundancy in build system.
12288
12289 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
12290 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
12291 (TARGET_LDFLAGS): Add -nostdlib.
12292 (TARGET_IMG_LDFLAGS): Likewise.
12293 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
12294 anything since mmap isn't available.
12295 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
12296 Add util/time.c.
12297 (pkglib_MODULES): Remove reboot.mod.
12298 (reboot_mod_SOURCES): Removed.
12299 (reboot_mod_CFLAGS): Likewise.
12300 (reboot_mod_LDFLAGS): Likewise.
12301 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
12302 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
12303 (DEFSYMFILES): Add kernel_syms.lst.
12304 (kernel_img_HEADERS): Add common headers.
12305 (symlist.c): New target.
12306 (kernel_syms.lst): Likewise.
12307 (pkglib_MODULES): Add memdisk.mod.
12308 (memdisk_mod_SOURCES): New variable.
12309 (memdisk_mod_CFLAGS): Likewise.
12310 (memdisk_mod_LDFLAGS): Likewise.
12311 (pkglib_MODULES): Add reboot.mod.
12312 (reboot_mod_SOURCES): New variable.
12313 (reboot_mod_CFLAGS): Likewise.
12314 (reboot_mod_LDFLAGS): Likewise.
12315 (pkglib_MODULES): Add date.mod.
12316 (date_mod_SOURCES): New variable.
12317 (date_mod_CFLAGS): Likewise.
12318 (date_mod_LDFLAGS): Likewise.
12319 (pkglib_MODULES): Add datehook.mod.
12320 (datehook_mod_SOURCES): New variable.
12321 (datehook_mod_CFLAGS): Likewise.
12322 (datehook_mod_LDFLAGS): Likewise.
12323 (pkglib_MODULES): Add lsmmap.mod.
12324 (lsmmap_mod_SOURCES): New variable.
12325 (lsmmap_mod_CFLAGS): Likewise.
12326 (lsmmap_mod_LDFLAGS): Likewise.
12327 (pkglib_MODULES): Add boot.mod.
12328 (boot_mod_SOURCES): New variable.
12329 (boot_mod_CFLAGS): Likewise.
12330 (boot_mod_LDFLAGS): Likewise.
12331 * conf/i386-coreboot.rmk: Removed redundant parts.
12332 * conf/i386-ieee1275.rmk: Likewise.
12333 * conf/i386-pc.rmk: Likewise.
12334 * conf/mips-yeeloong.rmk: Likewise.
12335 * conf/mips.rmk: Likewise.
12336 * conf/powerpc-ieee1275.rmk: Likewise.
12337 * conf/sparc64-ieee1275.rmk: Likewise.
12338 * conf/x86_64-efi.rmk: Likewise.
12339 * conf/i386-coreboot.rmk: Moved qemu parts ..
12340 * conf/i386-qemu.rmk: ... here
12341 * conf/i386-efi.rmk: Moved common parts to...
12342 * conf/x86-efi.rmk: ... here.
12343 * conf/i386.rmk: Added modules common to all x86 variants.
12344 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
12345 * disk/memdisk.c: Remove grub/machine/kernel.h.
12346 * gensymlist.sh.in: Include symbol.h.
12347 * hook/datehook.c: Correct module name.
12348 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
12349 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
12350 * include/grub/i386/efi/serial.h: New file.
12351 * include/grub/x86_64/efi/serial.h: Likewise.
12352 * util/time.c: Likewise.
12353 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
12354
463ac55f
CK
123552010-03-14 Colin King <colin.king@ubuntu.com>
123562010-03-14 Colin Watson <cjwatson@ubuntu.com>
12357
12358 Shrink the pre-partition-table part of boot.img by eight bytes.
12359
12360 * boot/i386/pc/boot.S (ERR): New macro.
12361 (chs_mode): Use ERR.
12362 (geometry_error): Likewise.
12363 (hd_probe_error): Remove. This is only used once, so we wrwite
12364 it inline instead.
12365 (read_error): Instead of printing read_error_string, just set up
12366 %si and fall through to ...
12367 (error_message): ... this new function, also used by ERR.
12368
08e46ede
CW
123692010-03-14 Colin Watson <cjwatson@ubuntu.com>
12370
12371 Speed up consecutive hostdisk operations on the same device.
12372
12373 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
12374 (grub_util_biosdisk_open): Initialise disk->data.
12375 (struct linux_partition_cache): New structure.
12376 (linux_find_partition): Cache partition start positions; these are
12377 expensive to compute on every read and write.
12378 (open_device): Cache open file descriptor in disk->data, so that we
12379 don't have to reopen it and flush the buffer cache for consecutive
12380 operations on the same device.
12381 (grub_util_biosdisk_close): New function.
12382 (grub_util_biosdisk_dev): Set `close' member.
12383
12384 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
12385 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
12386 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
12387 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
12388 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
12389
4a6d2d06
VS
123902010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
12391
12392 Compile parts of grub-emu as modules.
12393
12394 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
12395 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
12396 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
12397 (all-local): Add $(GRUB_EMU).
12398 (install-local): Install $(GRUB_EMU).
12399 (uninstall): Uninstall $(GRUB_EMU).
12400 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
12401 * kern/dl.c: Likewise.
12402 * commands/sleep.c: Not include machine/time.h.
12403 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
12404 (COMMON_CFLAGS): Likewise.
12405 (sbin_UTILITIES): Remove grub-emu.
12406 (grub_emu_SOURCES): Removed.
12407 (kernel_img_RELOCATABLE): New variable.
12408 (pkglib_PROGRAMS): Add kernel.img.
12409 (kernel_img_SOURCES): New variable
12410 (kernel_img_CFLAGS): Likewise.
12411 (kernel_img_LDFLAGS): Likewise.
12412 (TARGET_NO_STRIP): Likewise.
12413 (TARGET_NO_DYNAMIC_MODULES): Likewise.
12414 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
12415 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
12416 (grub-emu): New target.
12417 (GRUB_EMU): New variable.
12418 * configure.ac: Whitelist -emu as possible x86_64 architecture.
12419 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
12420 * loader/xnu.c: Likewise.
12421 * include/grub/pci.h: Likewise.
12422 * genemuinit.sh: New file.
12423 * genemuinitheader.sh: Likewise.
12424 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
12425 Support TARGET_NO_DYNAMIC_MODULES.
12426 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
12427 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
12428 * disk/loopback.c: Likewise.
12429 * font/font_cmd.c: Likewise.
12430 * partmap/acorn.c: Likewise.
12431 * partmap/amiga.c: Likewise.
12432 * partmap/apple.c: Likewise.
12433 * partmap/gpt.c: Likewise.
12434 * partmap/msdos.c: Likewise.
12435 * partmap/sun.c: Likewise.
12436 * parttool/msdospart.c: Likewise.
12437 * term/gfxterm.c: Likewise.
12438 * video/bitmap.c: Likewise.
12439 * video/readers/jpeg.c: Likewise.
12440 * video/readers/png.c: Likewise.
12441 * video/readers/tga.c: Likewise.
12442 * video/video.c: Likewise.
12443 * util/grub-emu.c (read_command_list): Removed.
12444 (main): Don't call util_init_nls.
12445 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
12446 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
12447
91fdd2ed
VS
124482010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
12449
12450 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
12451 date.mod, datehook.mod.
12452 (datetime_mod_SOURCES): New variable.
12453 (datetime_mod_CFLAGS): Likewise.
12454 (datetime_mod_LDFLAGS): Likewise.
12455 (date_mod_SOURCES): Likewise.
12456 (date_mod_CFLAGS): Likewise.
12457 (date_mod_LDFLAGS): Likewise.
12458 (datehook_mod_SOURCES): Likewise.
12459 (datehook_mod_CFLAGS): Likewise.
12460 (datehook_mod_LDFLAGS): Likewise.
12461 * conf/sparc64-ieee1275.rmk: Likewise.
12462 * lib/ieee1275/datetime.c: New file.
12463
873ccae6
VS
124642010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
12465
12466 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
12467 (ieee1275_fb_mod_SOURCES): New variable.
12468 (ieee1275_fb_mod_CFLAGS): Likewise.
12469 (ieee1275_fb_mod_LDFLAGS): Likewise.
12470 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
12471 New proto.
12472 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
12473 (HEAP_MAX_ADDR): Likewise.
12474 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
12475 type.
12476 Correct stop condition.
12477 (grub_ieee1275_devices_iterate): New function.
12478 * video/ieee1275.c: New file.
12479
601c97c0
VS
124802010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
12481
12482 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
12483
12484 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
12485 as scratch.
12486 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
12487 SCRATCH_PAD_DISKBOOT as scratch.
12488 (bootit): Pass Openfirmware pointer in %o4.
12489 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
12490 of 0x200000.
12491 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
12492 with util/grub-mkrawimage.c.
12493 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
12494 * include/grub/aout.h (AOUT_MID_SUN): New definition.
12495 (grub_aout_get_type) [GRUB_UTIL]: Removed.
12496 (grub_aout_load) [GRUB_UTIL]: Likewise.
12497 * include/grub/kernel.h (grub_modules_get_end): New proto.
12498 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
12499 (SCRATCH_PAD_BOOT): New definition.
12500 (SCRATCH_PAD_DISKBOOT): Likewise.
12501 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
12502 * include/grub/sparc64/ieee1275/ieee1275.h
12503 (grub_ieee1275_original_stack): New variable
12504 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
12505 New definition
12506 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
12507 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
12508 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
12509 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
12510 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
12511 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
12512 (grub_platform_image_format_t): New type.
12513 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
12514 * kern/main.c (grub_modules_get_end)
12515 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
12516 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
12517 (codestart): Switch stacks.
12518 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
12519 variable.
12520 (grub_heap_init): Use grub_modules_get_end.
12521 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
12522 stack.
12523 * util/grub-mkrawimage.c (generate_image): Support sparc64.
12524 (main): Likewise.
12525 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
12526
d68b491e
TG
125272010-03-14 Thorsten Glaser <tg@mirbsd.org>
12528
12529 * util/grub-mkrescue.in: Base ISO UUID on UTC.
12530
4e02ed50
MK
125312010-03-08 Matt Kraai <kraai@ftbfs.org>
12532
12533 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
12534 bug #559005).
12535
1f15fc1e
VS
125362010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
12537
12538 * genmoddep.awk: Output all missing symbols and not only first.
12539
fce5d8ff
VS
125402010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
12541
12542 * NEWS: Put the date of 1.98 release.
12543
d1e8a02f
VS
125442010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
12545
12546 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
12547 ft2build.h.
12548
696fd607
VS
125492010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
12550
12551 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
12552 completition in the middle of string.
12553
33e2e6f3
VS
125542010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
12555
12556 * util/grub-mkrescue.in: Use mktemp with explicit template.
12557
b1f6d291
VS
125582010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
12559
12560 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
12561
2ac227c7
VS
125622010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
12563
12564 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
12565 right pointer.
12566
8f9a632b
VS
125672010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
12568
12569 Fix FreeBSD compilation.
12570
12571 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
12572 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
12573
60b03859
VS
125742010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
12575
12576 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
12577
48a5a769
VS
125782010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
12579
12580 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
12581
3ab4bd77
VS
125822010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
12583
12584 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
12585
d116e0d8
RM
125862010-03-04 Robert Millan <rmh.grub@aybabtu.com>
12587
12588 Support relative image path in theme file.
12589
12590 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
12591 (image_set_property): Handle theme_dir and relative path.
12592
c7ef54aa
VS
125932010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
12594
12595 * configure.ac: Alias amd64 to x86_64.
12596
fcee14ed
VS
125972010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
12598
12599 * NEWS: mention multiboot on EFI.
12600
d0780363
VS
126012010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
12602
12603 * kern/main.c (grub_load_modules): Handle errors from init functions of
12604 embeded modules.
12605
41168ea4
VS
126062010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
12607
12608 * normal/autofs.c (autoload_fs_module): Handle errors.
12609
b54d93ac
VS
126102010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
12611
12612 Disable linux.mod on qemu-mips since it's not functional and leads
12613 to compilation failure.
12614
12615 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
12616 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
12617 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
12618 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
12619 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
12620 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
12621 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
12622 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
12623 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
12624 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
12625 Reported by: BVK Chaitanya
12626
fc8345da
JU
126272010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
12628
12629 * INSTALL: Add gettext as a dependency and add qemu to a new section
12630 "Prerequisites for make-check".
12631
4760f979
CF
126322010-03-04 Christian Franke <franke@computer.org>
12633
12634 * util/grub-pe2elf.c: Add missing include "progname.h".
12635
f209b5b2
VS
126362010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
12637
12638 * normal/crypto.c (read_crypto_list): Fix a typo.
12639 Reported by: Seth Goldberg.
12640
b4b7be98
VS
126412010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
12642
12643 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 12644 Reported by: Seth Goldberg.
b4b7be98 12645
c0ee0385
VS
126462010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
12647
12648 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
12649 ascii.bitmaps.
12650
a8efbf64
VS
126512010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
12652
12653 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 12654 Reported by: Seth Goldberg.
a8efbf64 12655
08dcd913
VS
126562010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
12657
12658 * util/i386/efi/grub-install.in: Copy gettext files.
12659
c4d0b332
VS
126602010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
12661
12662 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
12663
c6f2fe52
VS
126642010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
12665
12666 Wait for user entry basing on presence of output rather than on errors.
12667
12668 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
12669 (grub_install_newline_hook): Likewise.
12670 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
12671 * normal/menu.c (show_menu): Check line_counter to determine presence
12672 of output.
12673 * normal/term.c (grub_normal_line_counter): New variable.
12674 (grub_normal_get_line_counter): New function.
12675 (grub_install_newline_hook): Likewise.
12676
5382b1e4
VS
126772010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
12678
12679 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
12680
5519963b
VS
126812010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
12682
12683 * configure.ac: Update version to 1.98.
12684
72b28631
VS
126852010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
12686
12687 * util/grub.d/10_linux.in (linux_entry): Don't default to
12688 gfxpayload=keep if Linux doesn't support video handover.
12689
c140a180
VS
126902010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
12691
12692 Don't compile video modules on yeeloong since video subsystem is part
12693 of kernel.
12694
12695 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
12696 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
12697 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
12698 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
12699 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
12700 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
12701 * include/grub/bitmap_scale.h: Likewise.
12702 * include/grub/bufio.h: Likewise.
12703 * include/grub/font.h: Likewise.
12704 * include/grub/gfxterm.h: Likewise.
12705 * include/grub/video.h: Likewise.
12706 * include/grub/vbe.h: Don't include video_fb.h.
12707 * video/i386/pc/vbe.c: Include video_fb.h.
12708 * commands/i386/pc/vbetest.c: Include video.h.
12709
a0ca21c2
CW
127102010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
12711
12712 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
12713 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
12714 default entry if GRUB_SAVEDEFAULT=true. This allows using
12715 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
12716 saving a new default on every boot.
12717
4a8a763c
VS
127182010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
12719
12720 * normal/crypto.c (read_crypto_list): Fix a memory leak.
12721 * normal/term.c (read_terminal_list): Likewise.
12722 * normal/main.c (grub_normal_init_page): Likewise.
12723 (grub_normal_read_line_real): Likewise.
12724
607ffde2
VS
127252010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
12726
12727 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
12728 memory leak.
12729 Reported by: Seth Goldberg.
12730
2b8fa975
CW
127312010-02-24 Joey Korkames <joey+lists@kidfixit.com>
12732
12733 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
12734 duplicate declaration of `start'.
12735
618307dd
VS
127362010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
12737
12738 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
12739 filename.
12740 Reported by: Georgy Buranov
12741
7dd05b96 127422010-02-20 Carles Pina i Estany <carles@pina.cat>
12743
12744 * util/grub-mkrawimage.c (usage): Change string formatting to
12745 improve gettext.
12746
d1484a42
MRA
127472010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
12748
12749 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
12750 backspace keys.
12751
42b1d186
VS
127522010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
12753
12754 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
12755 Reported by: Michael Suchanek.
12756
127572010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
12758
12759 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
12760 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
12761
d9f31a41
VS
127622010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
12763
12764 Remove any reference to non-free fonts.
12765
12766 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
12767 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
12768 uses non-free components.
12769 * font/font.c (grub_font_get_name): Remove example name.
12770 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
12771 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
12772 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
12773 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
12774
2793c71e
GB
127752010-02-16 Georgy Buranov <gburanov@gmail.com>
12776
12777 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
12778
402e3779
VS
127792010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
12780
12781 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
12782 Double divisor.
12783 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
12784 features.
12785 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
12786
0dd1e0dd
VS
127872010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
12788
12789 * gensymlist.sh.in: Use TARGET_CC instead of CC.
12790
6fa7cfce
ST
127912010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
12792
12793 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
12794 * docs/grub.texi (Command-line and menu entry commands): Document play
12795 command.
12796
37c8483b
ST
127972010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
12798
12799 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
12800 parse arguments as inline tempo and notes. Move code for playing notes
12801 to...
12802 (play): ... new function.
12803
14da0fb7
ST
128042010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
12805
12806 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
12807 grub_uint16_t instead of short.
12808 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
12809 disk from little endian to cpu endianness.
12810
04459e70
ST
128112010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
12812
12813 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
12814 GRUB_TICKS_PER_SECOND instead of 120.
12815
a0876943
VS
128162010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
12817
12818 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
12819 escape sequence after \e.
12820
e29f95dc
VS
128212010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
12822
12823 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
12824 non-ASCII characters.
12825
d27859b2
VS
128262010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
12827
12828 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
12829 set root in single quotes to prevent \, from being unescaped.
12830
bc028f2f
VS
128312010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
12832
12833 Prevent unknown commands from stopping menuentry execution.
12834
12835 * script/execute.c (grub_script_execute_cmdline): Print error after
12836 unknown command.
12837
095f5f82
VS
128382010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
12839
12840 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
12841 Reported by: Pavel Pisa.
12842
8c717950
VS
128432010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
12844
12845 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
12846
904935c3
VS
128472010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
12848
12849 Merge grub_ieee1275_map_physical into grub_map and rename to
12850 grub_ieee1275_map
12851
12852 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
12853 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
12854 Remove.
12855 * kern/ieee1275/openfw.c (grub_map): Rename to ...
12856 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
12857 necessary.
12858 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
12859
5b59a4e3
VS
128602010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
12861
12862 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
12863 opening and not after.
12864
69e137e8
VS
128652010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
12866
12867 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
12868 constants.
12869
2c0fcc36
VS
128702010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
12871
12872 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
12873 (alloc_phys): Use ALIGN_UP instead of align_addr.
12874
8c6052ce
VS
128752010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
12876
12877 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
12878
17cec782
VS
128792010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
12880
12881 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
12882
e0128bbd
VS
128832010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
12884
12885 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
12886 verbose dprintf.
12887
ca62070b
VS
128882010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
12889
12890 Fix over-4GiB seek on sparc64.
12891
12892 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
12893 Replace pos_i and pos_lo with pos. All users updated.
12894 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
12895 New constant.
12896 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
12897 Likewise.
12898 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
12899 and pos_lo.
12900
bdca2607
VS
129012010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
12902
12903 * util/grub-mkrawimage.c (main): Call set_program_name.
12904
da278c4d
VS
129052010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
12906
12907 Properly align 64-bit targets.
12908
12909 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
12910 (generate_image): Use ALIGN_ADDR.
12911
b274d734
VS
129122010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
12913
12914 Properly create cross-endian images.
12915
12916 * include/grub/types.h (grub_host_to_target_addr): New macro
12917 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
12918
82da2062
VS
129192010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
12920
12921 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
12922
7cae4377
VS
129232010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12924
12925 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
12926
12927 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
12928 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
12929 (grub_linux_boot): Divide by 64K when on VESA.
12930
65a533e7
VS
129312010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12932
12933 Support GRUB_GFXPAYLOAD_LINUX.
12934
12935 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
12936 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
12937
dd01d397
VS
129382010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
12939
12940 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
12941 to show messages instead of discarding them.
12942 Process errors after executing command and not before. Keep old method
12943 too as precaution.
12944
660960d6
VS
129452010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
12946
12947 * configure.ac: Check for ft2build.h.
12948
62509f04
VS
129492010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
12950
12951 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
12952
473df63d
VS
129532010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
12954
12955 * genkernsyms.sh.in: Use TARGET_CC.
12956
c98d2a13
CW
129572010-02-07 Colin Watson <cjwatson@ubuntu.com>
12958
12959 * NEWS: Update.
12960
6e14234c
VS
129612010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
12962
12963 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
12964 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
12965 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 12966
b255e9cf
YB
129672010-02-07 Yves Blusseau <blusseau@zetam.org>
12968
6e14234c 12969 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 12970
98e6959d
VS
129712010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
12972
12973 Fix warnings in grub-emu when compiling with maximum warning options.
12974
12975 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
12976 (grub_arch_modules_addr): Return 0 and not NULL.
12977 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 12978 (xstrdup): Use newstr instead of dup.
f88d801b
VS
12979 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
12980 of disk to dsk to avoid shadowing.
74e4934e
VS
12981 (find_free_slot): Fix prototype.
12982 * util/getroot.c (grub_util_is_dmraid): Make static.
12983 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
12984 Add missing prototype.
12985 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 12986
74e31b5c
VS
129872010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
12988
12989 * loader/i386/linux.c (grub_linux_setup_video): Handle error
12990 appropriately.
12991
6b2ad14b
VS
129922010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
12993
12994 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
12995 code out.
12996
8f891adc
VS
129972010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
12998
12999 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
13000 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
13001 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
13002 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
13003 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
13004 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
13005
74b45184
VS
130062010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
13007
13008 * include/grub/err.h (grub_err_printf): Don't export.
13009
a4bced77
VS
130102010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
13011
13012 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
13013
007d0695
VS
130142010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
13015
13016 * include/grub/i18n.h (grub_gettext_dummy): Removed.
13017 * kern/misc.c (grub_gettext_dummy): Make static.
13018
b6c0d9c2
VS
130192010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
13020
13021 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
13022 by non-valid ones.
13023 * kern/term.c (grub_putchar): Likewise.
13024
f51a90d0
VS
130252010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
13026
13027 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
13028 buggy hook call and memory leak.
13029
6846cec5
VS
130302010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
13031
13032 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
13033
468d69fe
VS
130342010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
13035
13036 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
13037
51906b8c
VS
130382010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
13039
13040 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
13041 modevar.
13042 Return grub_errno on allocation error.
13043
09706ce5
VS
130442010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
13045
13046 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
13047
911df80c
YB
130482010-02-06 Yves Blusseau <blusseau@zetam.org>
13049
13050 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
13051 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
13052
3746a6bc
VS
130532010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
13054
13055 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
13056 non-pxe disk.
13057 (grub_pxefs_open): Likewise.
13058
09706ce5
VS
130592010-02-06 Robert Millan <rmh.grub@aybabtu.com>
13060
13061 * util/grub.d/10_hurd.in: Add --class information to menuentries.
13062 * util/grub.d/10_kfreebsd.in: Likewise.
13063 * util/grub.d/10_linux.in: Likewise.
13064
7cc192d9
VS
130652010-02-06 Colin D Bennett <colin@gibibit.com>
13066
13067 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
13068 (gfxmenu_mod_SOURCES): New variable.
13069 (gfxmenu_mod_CFLAGS): Likewise.
13070 (gfxmenu_mod_LDFLAGS): Likewise.
13071 * include/grub/term.h (grub_term_set_current_output): Declare
13072 argument as const.
13073 * docs/gfxmenu-theme-example.txt: New file.
13074 * gfxmenu/gfxmenu.c: Likewise.
13075 * gfxmenu/gui_box.c: Likewise.
13076 * gfxmenu/gui_canvas.c: Likewise.
13077 * gfxmenu/gui_circular_progress.c: Likewise.
13078 * gfxmenu/gui_image.c: Likewise.
13079 * gfxmenu/gui_label.c: Likewise.
13080 * gfxmenu/gui_list.c: Likewise.
13081 * gfxmenu/gui_progress_bar.c: Likewise.
13082 * gfxmenu/gui_string_util.c: Likewise.
13083 * gfxmenu/gui_util.c: Likewise.
13084 * gfxmenu/icon_manager.c: Likewise.
13085 * gfxmenu/model.c: Likewise.
13086 * gfxmenu/named_colors.c: Likewise.
13087 * gfxmenu/theme_loader.c: Likewise.
13088 * gfxmenu/view.c: Likewise.
13089 * gfxmenu/widget-box.c: Likewise.
13090 * include/grub/gfxmenu_model.h: Likewise.
13091 * include/grub/gfxmenu_view.h: Likewise.
13092 * include/grub/gfxwidgets.h: Likewise.
13093 * include/grub/gui.h: Likewise.
13094 * include/grub/gui_string_util.h: Likewise.
13095 * include/grub/icon_manager.h: Likewise.
13096
130972010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
13098
13099 Agglomerate scrolling in gfxterm.
13100
13101 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
13102 (grub_virtual_screen_setup): Initialise 'total_screen'.
13103 (write_char): Split to ...
13104 (paint_char): ... this ...
13105 (write_char): ... and this.
13106 (paint_char): Handle delayed scrolling.
13107 (draw_cursor): Likewise.
13108 (scroll_up): Split to ...
13109 (real_scroll): ... this ...
13110 (scroll_up): ... and this.
13111 (real_scroll): Handle multi-line scroll and draw below-the-bottom
13112 characters.
13113 (grub_gfxterm_refresh): Call real_scroll.
13114
131152010-02-06 Colin D Bennett <colin@gibibit.com>
13116
13117 * include/grub/misc.h (grub_iscntrl): New inline function.
13118 (grub_isalnum): Likewise.
13119 (grub_strtol): Likewise.
13120
131212010-02-06 Colin D Bennett <colin@gibibit.com>
13122
13123 * normal/menu_text.c (get_entry_number): Move from here ...
13124 * normal/menu.c (get_entry_number): ... moved here.
13125 * include/grub/menu.h (grub_menu_get_default_entry_index):
13126 New prototype.
13127 * normal/menu.c (grub_menu_get_default_entry_index): New function.
13128 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
13129 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
13130 (grub_menu_viewer_should_return): Likewise.
13131 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
13132 * normal/menu_text.c (run_menu): Enable menu switching.
13133 * normal/menu_viewer.c (should_return): New variable.
13134 (menu_viewer_changed): Likewise.
13135 (grub_menu_viewer_show_menu): Handle menu viewer changes.
13136 (grub_menu_viewer_should_return): New function.
13137 (menuviewer_write_hook): Likewise.
13138 (grub_menu_viewer_init): Likewise.
13139
131402010-02-06 Colin D Bennet <colin@gibibit.com>
131412010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
13142
13143 Support for gfxterm in a window.
13144
13145 * include/grub/gfxterm.h: New file.
13146 * include/grub/video.h (struct grub_video_rect): New declaration.
13147 (grub_video_rect_t): Likewise.
13148 * term/gfxterm.c (struct grub_gfxterm_window): New type.
13149 (refcount): New variable.
13150 (render_target): Likewise.
13151 (window): Likewise.
13152 (repaint_callback): Likewise.
13153 (grub_virtual_screen_setup): Use 'render_target'.
13154 (init_window): New function.
13155 (grub_gfxterm_init_window): Likewise.
13156 (grub_gfxterm_init): Check reference counter.
13157 Use init_window.
13158 (destroy_window): New function.
13159 (grub_gfxterm_destroy_window): Likewise.
13160 (grub_gfxterm_fini): Check reference counter.
13161 Use destroy_window.
13162 (redraw_screen_rect): Restore viewport.
13163 Use 'render_target' and 'window'.
13164 Call 'repaint_callback'.
13165 (write_char): Use 'render_target'.
13166 (draw_cursor): Likewise.
13167 (scroll_up): Restore viewport.
13168 Use 'render_target' and 'window'.
13169 Call 'repaint_callback'.
13170 (grub_gfxterm_cls): Likewise.
13171 (grub_gfxterm_refresh): Use 'window'.
13172 (grub_gfxterm_set_repaint_callback): New function.
13173 (grub_gfxterm_background_image_cmd): Use 'window'.
13174 (grub_gfxterm_get_term): New function.
13175 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
13176
131772010-02-06 Colin D Bennett <colin@gibibit.com>
13178
13179 Bitmap scaling support.
13180
13181 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
13182 (bitmap_scale_mod_SOURCES): New variable.
13183 (bitmap_scale_mod_CFLAGS): Likewise.
13184 (bitmap_scale_mod_LDFLAGS): Likewise.
13185 * include/grub/bitmap_scale.h: New file.
13186 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
13187 (background_image_cmd_options): New variable.
13188 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
13189 (cmd): Rename and change type to ...
13190 (background_image_cmd_handle): ... this. All users updated.
13191 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
13192 * video/bitmap_scale.c: New file.
13193
131942010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
13195
13196 SDL support.
13197
13198 * Makefile.in (LIBSDL): New variable.
13199 (enable_grub_emu_sdl): Likewise.
13200 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
13201 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
13202 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
13203 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
13204 * util/sdl.c: New file.
13205
132062010-02-06 Colin D Bennett <colin@gibibit.com>
132072010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
13208
13209 Double buffering support.
13210
13211 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
13212 * include/grub/video.h: Update comment.
13213 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
13214 New type.
13215 (grub_video_fb_doublebuf_blit_init): New prototype.
13216 * term/gfxterm.c (scroll_up): Support double buffering.
13217 (grub_gfxterm_refresh): Likewise.
13218 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
13219 (grub_video_fb_doublebuf_blit_init): Likewise.
13220 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
13221 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
13222 'displayed_page', 'render_page' and 'update_screen'.
13223 (grub_video_vbe_fini): Free offscreen buffer.
13224 (doublebuf_pageflipping_commit): New function.
13225 (doublebuf_pageflipping_update_screen): Likewise.
13226 (doublebuf_pageflipping_init): Likewise.
13227 (double_buffering_init): Likewise.
13228 (grub_video_vbe_setup): Enable doublebuffering.
13229 (grub_video_vbe_swap_buffers): Implement.
13230 (grub_video_vbe_set_active_render_target): Handle double buffering.
13231 (grub_video_vbe_get_active_render_target): Likewise.
13232 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
13233 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
13234 (grub_video_vbe_enable_double_buffering): Likewise.
13235 (grub_video_vbe_swap_buffers): Use update_screen.
13236 (grub_video_set_mode): Use double buffering.
13237
132382010-02-06 Robert Millan <rmh.grub@aybabtu.com>
13239
13240 * maintainance/gentrigtables.py: Remove.
13241 * lib/trig.c: Likewise.
13242
13243 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
13244
13245 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
13246 `trigtables.c'.
13247 (trigtables.c): New rule.
13248 (gentrigtables): Likewise.
13249 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
13250
132512010-02-06 Robert Millan <rmh.grub@aybabtu.com>
13252
13253 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
13254 integer constants.
13255
132562010-02-06 Colin D Bennet <colin@gibibit.com>
13257
13258 Trigonometry support.
13259
13260 * include/grub/trig.h: New file.
13261 * lib/trig.c: Likewise.
13262 * maintainance/gentrigtables.py: Likewise.
13263 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
13264 (trig_mod_SOURCES): New variable.
13265 (trig_mod_CFLAGS): Likewise.
13266 (trig_mod_LDFLAGS): Likewise.
13267
5562834e
VS
132682010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
13269
13270 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
13271 disk devices.
13272
4f8528fc
VS
132732010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
13274
13275 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
13276 error.
13277
2b4068e9
VS
132782010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13279
13280 * util/hostdisk.c (open_device): Don't use partition device when reading
13281 before the partition.
13282 (grub_util_biosdisk_read): Don't read from partition and before the
13283 partition in single operation.
13284 (grub_util_biosdisk_write): Don't write to partition and before the
13285 partition in single operation.
13286
399f6e4d
TL
132872010-02-03 Torsten Landschoff <torsten@debian.org>
13288
13289 * kern/disk.c (grub_disk_read): Fix offset computation when reading
13290 last sectors.
13291
996649b0
VS
132922010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
13293
13294 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
13295 CDROM reads.
13296 (grub_biosdisk_write): Refuse to write to CDROM.
13297
3b205d4d
VS
132982010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
13299
13300 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
13301
61e89d9d
VS
133022010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
13303
13304 * font/font.c (find_glyph): Check that bmp_idx is available before
13305 using it.
13306 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
13307 with (font == NULL).
13308
bf7fcba2
CS
133092010-01-28 Christian Schmitt <chris@ilovelinux.de>
13310
13311 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
13312
f45d2663
BC
133132010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
13314
13315 * include/grub/script_sh.h (sourcecode): Add const qualifier.
13316 * util/grub-script-check.c (getline): Fix empty lines case.
13317
ec1444e6
RM
133182010-01-28 Robert Millan <rmh.grub@aybabtu.com>
13319
13320 * Makefile.in (check): Exit with fail status when one of the tests
13321 fails.
13322 * tests/example_functional_test.c (example_test): Fix reversed assert.
13323 * tests/example_unit_test.c (example_test): Likewise.
13324
2e1cb9bb
CW
133252010-01-28 Colin Watson <cjwatson@ubuntu.com>
13326
13327 * util/grub.d/10_linux.in: This script does not use any of the
13328 contents of gettext.sh, only the external command `gettext', so stop
13329 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
13330 the same prefix as GRUB.)
13331 * util/grub.d/10_kfreebsd.in: Likewise.
13332
63533ab0
VS
133332010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
13334
13335 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
13336 of the line.
13337
989e1f93
VS
133382010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
13339
13340 * kern/disk.c (grub_disk_read): Fix offset computation when reading
13341 last sectors.
13342
e709ebe2
VS
133432010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
13344
13345 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
13346 having a 4KiB and not 32KiB buffer size.
13347
27dea7ed
RM
133482010-01-27 Robert Millan <rmh.grub@aybabtu.com>
13349
13350 * util/hostfs.c: Include `<errno.h>'.
13351 (grub_hostfs_read): Handle errors from fseeko() and fread().
13352
67667b9c
RM
133532010-01-27 Robert Millan <rmh.grub@aybabtu.com>
13354
13355 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
13356 loop when using read hooks on files whose size isn't sector-aligned.
13357
c294d9d8
RM
133582010-01-27 Robert Millan <rmh.grub@aybabtu.com>
13359
13360 Remove unused parameter.
13361
13362 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
13363 (grub_iso9660_open): Remove initialization of `data->length'.
13364
af75a9f1
RM
133652010-01-27 Robert Millan <rmh.grub@aybabtu.com>
13366
13367 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
13368 memleak conditions.
13369
254e2ce5 133702010-01-27 Carles Pina i Estany <carles@pina.cat>
13371
13372 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
13373 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
13374
b510928c 133752010-01-26 Carles Pina i Estany <carles@pina.cat>
13376
13377 * util/bin2h.c (usage): Fix warning (space after backslash).
13378
aa2f9dd2 133792010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 13380
13381 * font/font.c: Include `grub/fontformat.h.
13382 Remove font file format constants.
13383 (grub_font_load): Use the new macros.
13384 * include/grub/fontformat.h: New file.
13385 * util/grub-mkfont.c: Include `grub/fontformat.c'.
13386 (write_font_pf2): Use the new macros.
13387
94e7e712
RM
133882010-01-26 Robert Millan <rmh.grub@aybabtu.com>
13389
13390 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
13391 does.
13392
3973a59a
RM
133932010-01-26 Robert Millan <rmh.grub@aybabtu.com>
13394
13395 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
13396
13397 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
13398 (_start): Macroify `0x7F'.
13399
13400 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
13401 (make_install_device): Use "(pxe)" as fallback prefix when booting
13402 via PXE.
13403
42e0cba3
GS
134042010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
13405
13406 * configure.ac: Reset LIBS after check for libgcc symbols.
13407
847effd8
CW
134082010-01-25 Colin Watson <cjwatson@ubuntu.com>
13409
13410 * util/hostdisk.c (open_device): Add trailing newline to debug
13411 message.
13412
ea4a7e35
GS
134132010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
13414
13415 * configure.ac: Check for `limits.h'.
13416 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
13417
67951a53
RM
134182010-01-24 Robert Millan <rmh.grub@aybabtu.com>
13419
13420 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
13421 capitalize error strings.
13422
c273d4ce
ST
134232010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
13424
13425 * util/grub.d/10_hurd.in: Add a recovery mode.
13426
69be5b74
VS
134272010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
13428
13429 * configure.ac: Check for libgcc symbols with -nostdlib.
13430
fc9e5810
BC
134312010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
13432
13433 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
13434
4b358c0a
VS
134352010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
13436
13437 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
13438 stack since heap may be unavailable at that point.
13439 (grub_ofconsole_gotoxy): Likewise.
13440
454fcd1c
VS
134412010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
13442
13443 * configure.ac: Check for _restgpr_14_x.
13444 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
13445 and _savegpr_* prototypes.
13446
566863ca
RM
134472010-01-22 Robert Millan <rmh.grub@aybabtu.com>
13448
13449 Use generic grub_reboot() for i386-efi.
13450
13451 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
13452 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
13453 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
13454
bf86e59a
VS
134552010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
13456
13457 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
13458 presence of "prefix" variable as it breaks when normal.mod is
13459 embedded.
13460
d645e0f8
VS
134612010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
13462
13463 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
13464 stack since heap is unavailable at that point.
13465
f9ab2e25
VS
134662010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
13467
13468 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
13469 (grub_freebsd_bootinfo): Rewritten.
13470 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
13471
01fc7054
VS
134722010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
13473
13474 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
13475
caab4fd6
RM
134762010-01-21 Robert Millan <rmh.grub@aybabtu.com>
13477
13478 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
13479 domain now.
13480
67eb1427
FZ
134812010-01-20 Felix Zielcke <fzielcke@z-51.de>
13482
13483 * util/misc.c (make_system_path_relative_to_its_root): Change the work
13484 around for handling "/" to the correct fix. Fix a memory leak. Use
13485 xstrdup instead of strdup.
13486
a9ed4ff3
VS
134872010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
13488
13489 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
13490
134912010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
13492
13493 Optimise glyph lookup by Basic Multilingual Plane lookup array.
13494
13495 * font/font.c (struct grub_font): New member 'bmp_idx'.
13496 (font_init): Initialise 'bmp_idx'.
13497 (load_font_index): Fill 'bmp_idx'.
13498 (find_glyph): Make inline. Use bmp_idx for BMP characters.
13499
48209f4f
VS
135002010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
13501
13502 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
13503 unnecessary calls.
13504
9f0a4bb7
VS
135052010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
13506
13507 Move context handling out of the kernel.
13508
13509 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
13510 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
13511 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
13512 * conf/i386-efi.rmk: Likewise.
13513 * conf/i386-ieee1275.rmk: Likewise.
13514 * conf/i386-pc.rmk: Likewise.
13515 * conf/powerpc-ieee1275.rmk: Likewise.
13516 * conf/sparc64-ieee1275.rmk: Likewise.
13517 * conf/x86_64-efi.rmk: Likewise.
13518 * include/grub/env.h: Include grub/menu.h.
13519 (grub_env_var_type): Removed.
13520 (grub_env_var): Replaced field 'type' with 'global'.
13521 (grub_env_find): New prototype.
13522 (grub_env_context_open): Remove EXPORT_FUNC.
13523 (grub_env_context_close): Likewise.
13524 (grub_env_export): Likewise.
13525 (grub_env_set_data_slot): Removed.
13526 (grub_env_get_data_slot): Likewise.
13527 (grub_env_unset_data_slot): Likewise.
13528 (grub_env_unset_menu): New prototype.
13529 (grub_env_set_menu): Likewise.
13530 (grub_env_get_menu): Likewise.
13531 * include/grub/env_private.h: New file.
13532 * include/grub/normal.h (grub_context_init): New prototype.
13533 (grub_context_fini): Likewise.
13534 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
13535 * normal/context.c (grub_cmd_export): ... to here.
13536 * kern/env.c: Include env_private.h.
13537 (HASHSZ): Moved to include/grub/env_private.h.
13538 (grub_env_context): Likewise.
13539 (grub_env_sorted_var): Likewise.
13540 (current_context): Renamed from this ...
13541 (grub_current_context): ...to this. 'static' removed. All users updated.
13542 (grub_env_find): Removed 'static'.
13543 (grub_env_context_open): Moved to normal/context.c.
13544 (grub_env_context_close): Likewise.
13545 (grub_env_export): Likewise.
13546 (mangle_data_slot_name): Removed.
13547 (grub_env_set_data_slot): Likewise.
13548 (grub_env_get_data_slot): Likewise.
13549 (grub_env_unset_data_slot): Likewise.
13550 * kern/main.c (grub_set_root_dev): Don't export root.
13551 It will be done later.
13552 (grub_main): Don't export prefix.
13553 It will be done later.
13554 * normal/context.c: New file.
13555 * normal/main.c (free_menu): Use grub_env_unset_menu.
13556 (grub_normal_add_menu_entry): Use grub_env_get_menu.
13557 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
13558 (GRUB_MOD_INIT(normal)): Call grub_context_init.
13559 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
13560
8dd35b8c
VS
135612010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
13562
13563 setpci support.
13564
13565 * commands/setpci.c: New file.
13566 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
13567 (setpci_mod_SOURCES): New variable.
13568 (setpci_mod_CFLAGS): Likewise.
13569 (setpci_mod_LDFLAGS): Likewise.
13570
449193d5
VS
135712010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
13572
13573 Byte-addressable PCI configuration space.
13574
13575 * bus/pci.c (grub_pci_make_address): Use byte address instead of
13576 dword address.
13577 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
13578 GRUB_PCI_REG_CACHELINE.
13579 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
13580 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
13581 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
13582 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
13583 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
13584 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
13585 grub_pci_make_address.
13586 (lock_rom_area): Likewise.
13587 * commands/lspci.c (grub_lspci_iter): Use macroses
13588 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
13589 of grub_pci_make_address.
13590 * disk/ata.c (grub_ata_pciinit): Likewise.
13591 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
13592 (GRUB_PCI_REG_VENDOR): Likewise.
13593 (GRUB_PCI_REG_DEVICE): Likewise.
13594 (GRUB_PCI_REG_COMMAND): Likewise.
13595 (GRUB_PCI_REG_STATUS): Likewise.
13596 (GRUB_PCI_REG_REVISION): Likewise.
13597 (GRUB_PCI_REG_CLASS): Likewise.
13598 (GRUB_PCI_REG_CACHELINE): Likewise.
13599 (GRUB_PCI_REG_LAT_TIMER): Likewise.
13600 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
13601 (GRUB_PCI_REG_BIST): Likewise.
13602 (GRUB_PCI_REG_ADDRESSES): Likewise.
13603 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
13604 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
13605 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
13606 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
13607 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
13608 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
13609 (GRUB_PCI_REG_CIS_POINTER): Likewise.
13610 (GRUB_PCI_REG_SUBVENDOR): Likewise.
13611 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
13612 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
13613 (GRUB_PCI_REG_CAP_POINTER): Likewise.
13614 (GRUB_PCI_REG_IRQ_LINE): Likewise.
13615 (GRUB_PCI_REG_IRQ_PIN): Likewise.
13616 (GRUB_PCI_REG_MIN_GNT): Likewise.
13617 (GRUB_PCI_REG_MAX_LAT): Likewise.
13618 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
13619 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
13620 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 13621 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
13622 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
13623 space.
13624
96d73208
RM
136252010-01-20 Robert Millan <rmh.grub@aybabtu.com>
13626
13627 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
13628 can be reliably determined to be supported.
13629
d4484482
RM
136302010-01-20 Robert Millan <rmh.grub@aybabtu.com>
13631
13632 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
13633 that VESA is supported.
13634 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
13635 supported.
13636
00308ecf
VS
136372010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
13638
13639 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
13640
f66924a4
RM
136412010-01-20 Robert Millan <rmh.grub@aybabtu.com>
13642
13643 * util/misc.c (make_system_path_relative_to_its_root): Work around
13644 special-casing of "/", as previous incarnation of this routine did.
13645
cbca0ada
VS
136462010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
13647
13648 Fix any-emu compilation.
13649
13650 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
13651 * grub_bin2h_SOURCES: New variable.
13652
34a66d99
RM
136532010-01-20 Robert Millan <rmh.grub@aybabtu.com>
13654
13655 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
13656
94fabf58
RM
136572010-01-20 Robert Millan <rmh.grub@aybabtu.com>
13658
13659 * util/grub.d/00_header.in: Fix handling of locale_dir.
13660
02cf98ca
VS
136612010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
13662
13663 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
13664 as possible unifont location (Gentoo).
13665 Reported by: Alexander Brüning
13666
327dbcd7
VS
136672010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
13668
13669 Don't try to generate lists for kernel.img.
13670
13671 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
13672 (pkglib_MODULES): Remove kernel.img.
13673 (kernel_img_EXPORTS): Removed.
13674 (kernel_img_RELOCATABLE): New variable.
13675 * conf/x86_64-efi.rmk: Likewise.
13676 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
13677
ca467290
VS
136782010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
13679
13680 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
13681 grub_xasprintf or grub_snprintf.
13682 (grub_vsprintf): Likewise.
13683 (grub_snprintf): New proto.
13684 (grub_vsnprintf): Likewise.
13685 (grub_xasprintf): Likewise.
13686 (grub_xvasprintf): Likewise.
13687 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
13688 (grub_sprintf): Removed.
13689 (grub_vsnprintf): New function.
13690 (grub_snprintf): Likewise.
13691 (grub_xvasprintf): Likewise.
13692 (grub_xasprintf): Likewise.
13693 (grub_vsprintf): Renamed to ...
13694 (grub_vsnprintf_real): ...this. New argument max_len.
13695
aca655fd
BC
136962010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
13697
13698 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
13699 fix grub-script-check warning.
13700
7ee92c32
VS
137012010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
13702
13703 * include/grub/font.h (grub_font_load): Fix prototype.
13704
f80927ca
VS
137052010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
13706
13707 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
13708
119c50ea
VS
137092010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
13710
13711 * include/grub/x86_64/at_keyboard.h: New file.
13712
47d5f3c1
VS
137132010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
13714
13715 * loader/mips/linux.c: Include missing grub/i18n.h.
13716
55ff5266
RM
137172009-12-20 Robert Millan <rmh.grub@aybabtu.com>
13718
13719 * normal/menu.c (notify_execution_failure): Clarify error message.
13720
c893cc87
RM
137212009-12-20 Robert Millan <rmh.grub@aybabtu.com>
13722
13723 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
13724 return value (and revert all return statements). Update users.
13725
917dd370
CW
137262010-01-20 Dan Merillat <debian@dan.merillat.org>
13727
13728 * kern/device.c (grub_device_iterate): Allocate new part_ent
13729 structure based on sizeof (*p) rather than sizeof (p->next), to
13730 account for structure padding.
13731
13732 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
13733 disk is NULL, which might happen for LVM physical volumes with no
13734 LVM signature.
13735
d4a4ee57
RM
137362009-12-20 Robert Millan <rmh.grub@aybabtu.com>
13737
13738 * loader/mips/linux.c (grub_cmd_initrd)
13739 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
13740
137412009-12-20 Robert Millan <rmh.grub@aybabtu.com>
13742
13743 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
13744 (grub_video_video_init, grub_video_bitmap_init)
13745 (grub_font_manager_init, grub_term_gfxterm_init)
13746 (grub_at_keyboard_init): New extern declarations.
13747 (grub_machine_init): Initialize gfxterm and at_keyboard.
13748
13749 * kern/main.c (grub_main): Revert grub_printf delay kludge.
13750
13751 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
13752 `gfxterm.mod' into core image.
13753
13754 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
13755 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
13756 (kernel_img_FORMAT): Copy to ...
13757
13758 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
13759 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
13760 (kernel_img_FORMAT): ... here, and ...
13761
13762 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
13763 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
13764 (kernel_img_FORMAT): ... here.
13765
13766 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
13767 and input (at_keyboard) terminals in kernel.
13768 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
13769
13770 (pkglib_MODULES): Remove `pci.mod'.
13771 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
13772 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
13773 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
13774 (at_keyboard_mod_LDFLAGS): Remove variables.
13775
137762010-01-11 Felix Zielcke <fzielcke@z-51.de>
13777
13778 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
13779
137802009-12-10 Robert Millan <rmh.grub@aybabtu.com>
13781
13782 * include/grub/mips/libgcc.h: Only export symbols for functions
13783 that libgcc provides.
13784
137852009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
13786
13787 MIPS support.
13788
13789 * bus/bonito.c: New file.
13790 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
13791 GRUB_PCI_NUM_DEVICES.
13792 * term/i386/pc/serial.c: Move to ...
13793 * term/serial.c: ... here. All users updated.
13794 * util/i386/pc/grub-mkimage.c: Move to ...
13795 * util/grub-mkrawimage.c: ... here. All users updated.
13796 * term/i386/pc/at_keyboard.c: Move to ...
13797 * term/at_keyboard.c: ... here. All users updated.
13798 * conf/mips-qemu-mips.rmk: New file.
13799 * conf/mips-yeeloong.rmk: Likewise.
13800 * conf/mips.rmk: Likewise.
13801 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
13802 mipsel-qemu-mips.
13803 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
13804 to port addresses.
13805 (grub_ata_pciinit): Support CS5536.
13806 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
13807 * font/font_cmd.c (loadfont_command): Open file before passing it to
13808 grub_font_load.
13809 (pseudo_file_read): New function.
13810 (pseudo_file_close): Likewise.
13811 (pseudo_fs): New structure.
13812 (load_font_module): New function.
13813 (GRUB_MOD_INIT(font_manager)): Load embedded font.
13814 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
13815 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
13816 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
13817 * include/grub/i386/at_keyboard.h: Split into ...
13818 * include/grub/at_keyboard.h: ... this ...
13819 * include/grub/i386/at_keyboard.h: ... and this.
13820 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
13821 New prototype.
13822 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
13823 updated.
13824 (grub_elf64_size): Likewise.
13825 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
13826 filename.
13827 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
13828 * include/grub/i386/coreboot/serial.h: Rewritten.
13829 * include/grub/i386/ieee1275/serial.h: Include
13830 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
13831 * include/grub/i386/pc/serial.h: Moved from here ...
13832 * include/grub/serial.h: ... to here. All users updated.
13833 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
13834 (GRUB_PCI_NUM_BUS): Likewise.
13835 (GRUB_PCI_NUM_DEVICES): Likewise.
13836 (grub_pci_device_map_range): Add missing volatile keyword.
13837 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
13838 * include/grub/mips/at_keyboard.h: New file.
13839 * include/grub/mips/cache.h: Likewise.
13840 * include/grub/mips/io.h: Likewise.
13841 * include/grub/mips/kernel.h: Likewise.
13842 * include/grub/mips/libgcc.h: Likewise.
13843 * include/grub/mips/pci.h: Likewise.
13844 * include/grub/mips/qemu-mips/boot.h: Likewise.
13845 * include/grub/mips/qemu-mips/kernel.h: Likewise.
13846 * include/grub/mips/qemu-mips/loader.h: Likewise.
13847 * include/grub/mips/qemu-mips/memory.h: Likewise.
13848 * include/grub/mips/qemu-mips/serial.h: Likewise.
13849 * include/grub/mips/qemu-mips/time.h: Likewise.
13850 * include/grub/mips/relocator.h: Likewise.
13851 * include/grub/mips/time.h: Likewise.
13852 * include/grub/mips/types.h: Likewise.
13853 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
13854 * include/grub/mips/yeeloong/boot.h: Likewise.
13855 * include/grub/mips/yeeloong/kernel.h: Likewise.
13856 * include/grub/mips/yeeloong/loader.h: Likewise.
13857 * include/grub/mips/yeeloong/memory.h: Likewise.
13858 * include/grub/mips/yeeloong/pci.h: Likewise.
13859 * include/grub/mips/yeeloong/serial.h: Likewise.
13860 * include/grub/mips/yeeloong/time.h: Likewise.
13861 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
13862 * kern/elf.c (grub_elf32_size): New parameter. All users
13863 updated.
13864 (grub_elf64_size): Likewise.
13865 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
13866 Load modules before saying "Welcome to GRUB!".
13867 Call grub_refresh after saying "Welcome to GRUB!".
13868 * kern/mips/cache.S: New file.
13869 * kern/mips/cache_flush.S: Likewise.
13870 * kern/mips/dl.c: Likewise.
13871 * kern/mips/init.c: Likewise.
13872 * kern/mips/qemu-mips/init.c: Likewise.
13873 * kern/mips/startup.S: Likewise.
13874 * kern/mips/yeeloong/init.c: Likewise.
13875 * kern/term.c (grub_putcode): Handle NULL terminal.
13876 (grub_getcharwidth): Likewise.
13877 (grub_getkey): Likewise.
13878 (grub_checkkey): Likewise.
13879 (grub_getkeystatus): Likewise.
13880 (grub_getxy): Likewise.
13881 (grub_getwh): Likewise.
13882 (grub_gotoxy): Likewise.
13883 (grub_cls): Likewise.
13884 (grub_setcolorstate): Likewise.
13885 (grub_setcolor): Likewise.
13886 (grub_getcolor): Likewise.
13887 (grub_refresh): Likewise.
13888 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
13889 (write_jump): Add hatch nop.
13890 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
13891 * lib/mips/setjmp.S: New file.
13892 * loader/mips/linux.c: Likewise.
13893 * term/i386/pc/at_keyboard.c: Move from here ...
13894 * term/at_keyboard.c: ... to here.
13895 * term/i386/pc/serial.c: Moved from here ...
13896 * term/serial.c: ... to here. All users updated.
13897 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
13898 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
13899 (serial_translate_key_sequence): Avoid deadlock.
13900 (grub_serial_getkey): Handle backspace.
13901 (grub_serial_putchar): Fix newline handling.
13902 * util/i386/pc/grub-mkimage.c: Move from here ...
13903 * util/grub-mkrawimage.c: ... to here. All users updated.
13904 (generate_image): New parameters 'font_path' and 'format'.
13905 Support embedding font.
13906 Use grub_host_to_target* instead of grub_cpu_to_le*.
13907 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
13908 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
13909 (options): New option "--font".
13910 (usage): Likewise.
13911 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
13912 (main): Handle "--font".
13913 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
13914 (grub_virtual_screen_setup): Set bg_color_display.
13915 (redraw_screen_rect): Use bg_color_display instead of incorrect
13916 bg_color.
13917 (grub_gfxterm_cls): Likewise.
13918 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
13919 Support embedding config file.
13920 (add_segments): Likewise.
13921 (options): New option "--config".
13922 (main): Handle "--config".
13923 * video/sm712.c: New file.
13924
25c2b5b3
RM
139252010-01-18 Robert Millan <rmh.grub@aybabtu.com>
13926
13927 Fix parallel builds.
13928
13929 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
13930 font.c depend on ascii.h).
13931
139322010-01-12 Carles Pina i Estany <carles@pina.cat>
13933
13934 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
13935
139362010-01-11 Carles Pina i Estany <carles@pina.cat>
13937
13938 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
13939 By default: disabled.
13940 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
13941 parameter.
13942
139432010-01-10 Carles Pina i Estany <carles@pina.cat>
13944
13945 * font/font.c: Update copyright years.
13946 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
13947
139482010-01-10 Carles Pina i Estany <carles@pina.cat>
13949
13950 * font/font.c: Include `ascii.h'.
13951 (ASCII_BITMAP_SIZE): New macro.
13952 (ascii_font_glyph): Define.
13953 (ascii_glyph_lookup): New function.
13954 (grub_font_get_string_width): Change comment. If glyph not found, use
13955 ascii_glyph_lookup.
13956 (grub_font_get_glyph_with_fallback): If glyph not available returns
13957 ascii_glyph_lookup.
13958 * util/grub-mkfont.c (file_formats): New enum.
13959 (options): Add `ascii-bitmaps' new option.
13960 (usage): Add `asii-bitmaps' new option.
13961 (write_font_ascii_bitmap): New function.
13962 (write_font): Rename to ...
13963 (write_font_p2): ... this. Remove print_glyphs call.
13964 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
13965 used. Call print_glyphs.
13966 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
13967
139682010-01-14 Robert Millan <rmh.grub@aybabtu.com>
13969
13970 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
13971 (grub_bin2h_SOURCES): New variable.
13972 * util/bin2h.c: New file.
13973
915fc1b8
VS
139742010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
13975
13976 * include/multiboot.h: Resynced with spec.
13977 * include/multiboot2.h: Likewise.
13978 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
13979 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
13980
9444b678
RM
139812010-01-18 Robert Millan <rmh.grub@aybabtu.com>
13982
13983 * include/grub/term.h (grub_term_register_input,
13984 grub_term_register_output): Check return of terminal init()
13985 routines, and abort if errors are raised.
13986
13987 * commands/terminal.c: Update copyright year.
13988
cba98e8d
RM
139892010-01-18 Robert Millan <rmh.grub@aybabtu.com>
13990
13991 * commands/terminal.c (grub_cmd_terminal_input)
13992 (grub_cmd_terminal_output): Check return of terminal init()
13993 routines, and abort if errors are raised.
13994
6f7db5d6
VS
139952010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
13996
13997 * include/grub/i386/bsd.h: Fix include pathes.
13998
262bff8d
VS
139992010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
14000
14001 Add missing *BSD copyright headers.
14002
14003 * include/grub/aout.h: Add BSD licence.
14004 * include/grub/i386/bsd.h: Parts under different licences moved to ...
14005 * include/grub/i386/freebsd_linker.h: ... here,
14006 * include/grub/i386/freebsd_reboot.h: ... here,
14007 * include/grub/i386/netbsd_bootinfo.h: ... here,
14008 * include/grub/i386/netbsd_reboot.h: ... here,
14009 * include/grub/i386/openbsd_bootarg.h: ... here,
14010 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
14011 licence to each file.
14012
b2cab848
RM
140132010-01-18 Robert Millan <rmh.grub@aybabtu.com>
14014
14015 * acinclude.m4: Remove `nop' assembly instruction; it's not
14016 implemented by all architectures.
14017
2cb6be4b
RM
140182010-01-18 Robert Millan <rmh.grub@aybabtu.com>
14019
14020 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
14021 ELILO. This is no longer necessary.
14022
a2eaee15
BC
140232010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
14024
14025 Added new tool, grub-scrit-check to verify grub.cfg syntax.
14026
14027 * util/grub-script-check.c: grub-script-check tool.
14028 * conf/common.rmk: Make rules for grub-script-check.
14029
88d17012
RM
140302010-01-18 Robert Millan <rmh.grub@aybabtu.com>
14031
14032 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
14033 spotting it back in 2008. Shame on me for forgetting he did.
14034
14035 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
14036
8040619d
RM
140372010-01-18 Robert Millan <rmh.grub@aybabtu.com>
14038
14039 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
14040 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
14041 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
14042 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
14043 (GRUB_VIDEO_TYPE_EFI): Rename to ...
14044 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
14045
a0c2a0f6
RM
140462010-01-17 Robert Millan <rmh.grub@aybabtu.com>
14047
14048 * include/grub/test.h: Add license header.
14049 * tests/example_functional_test.c: Likewise.
14050 * tests/example_unit_test.c: Likewise.
14051 * tests/lib/functional_test.c: Likewise.
14052 * tests/lib/test.c: Likewise.
14053 * tests/lib/unit_test.c: Likewise.
14054
b0b13907
VS
140552010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
14056
14057 Use flag-based instead of hook-based video mode selection and "auto"
14058 keyword.
14059
14060 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
14061 (grub_video_set_mode): Changed prototype. All users updated.
14062 (grub_video_check_mode_flag): New inline function.
14063 * video/video.c (parse_modespec): New function.
14064 (grub_video_set_mode): Parse flags and keywords.
14065
ea379330 140662010-01-17 Carles Pina i Estany <carles@pina.cat>
14067
14068 * util/misc.c (grub_util_info): Fix the order of the parameters in a
14069 fprintf call.
14070
e15c215e
FZ
140712010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
14072
14073 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
14074
409ae1c9 140752010-01-16 Carles Pina i Estany <carles@pina.cat>
14076
14077 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
14078 string.
14079 * util/grub-emu.c (usage): Likewise.
14080 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
14081 * util/i386/efi/grub-mkimage.c (usage): Likewise.
14082 * util/i386/pc/grub-mkimage.c (usage): Likewise.
14083 * util/i386/pc/grub-setup.c (usage): Likewise.
14084
70a14d3d 140852010-01-16 Carles Pina i Estany <carles@pina.cat>
14086
14087 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
14088 the message.
14089 (grub_util_info): Likewise.
14090 (grub_util_error): Likewise.
14091 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
14092 and/or new lines in `grub_util_warna', `grub_util_info',
14093 `grub_util_error' calls.
14094 * util/getroot.c: Likewise.
14095 * util/grub-editenv.c: Likewise.
14096 * util/grub-emu.c: Likewise.
14097 * util/grub-fstest.c: Likewise.
14098 * util/grub-mkdevicemap.c: Likewise.
14099 * util/grub-mkfont.c: Likewise.
14100 * util/grub-mkpasswd-pbkdf2.c: Likewise.
14101 * util/grub-mkrelpath.c: Likewise.
14102 * util/grub-pe2elf.c: Likewise.
14103 * util/grub-probe.c: Likewise.
14104 * util/hostdisk.c: Likewise.
14105 * util/i386/efi/grub-mkimage.c: Likewise.
14106 * util/i386/pc/grub-mkimage.c: Likewise.
14107 * util/i386/pc/grub-setup.c: Likewise.
14108 * util/ieee1275/ofpath.c: Likewise.
14109 * util/mkisofs/eltorito.c: Likewise.
14110 * util/mkisofs/rock.c: Likewise.
14111 * util/mkisofs/write.c: Likewise.
14112 * util/raid.c: Likewise.
14113 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
14114 * util/sparc64/ieee1275/grub-setup.c: Likewise.
14115
a0b766fc
VS
141162010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
14117
14118 Enable multiboot on non-pc.
14119
14120 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
14121 multiboot.mod and multiboot2.mod to ...
14122 * conf/i386.rmk (pkglib_MODULES): ... here.
14123 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
14124 Moved to ...
14125 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
14126 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
14127 Moved to ...
14128 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
14129 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
14130 Moved to ...
14131 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
14132 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
14133 Moved to ...
14134 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
14135 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
14136 relocator.mod.
14137 (ata_mod_SOURCES): Removed.
14138 (ata_mod_CFLAGS): Likewise.
14139 (ata_mod_LDFLAGS): Likewise.
14140 (relocator_mod_SOURCES): Removed.
14141 (relocator_mod_CFLAGS): Likewise.
14142 (relocator_mod_ASFLAGS): Likewise.
14143 (relocator_mod_LDFLAGS): Likewise.
14144 Include i386.mk.
14145 * include/grub/x86_64/multiboot.h: New file.
14146 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
14147 Terminate EFI.
14148
884ade56
VS
141492010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
14150
14151 Video multiboot support.
14152
14153 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
14154 New prototype.
14155 * include/multiboot.h: Resynced with multiboot specification.
14156 * include/multiboot2.h: Likewise.
14157 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
14158 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
14159 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
14160 (HAS_VGA_TEXT): Likewise.
14161 (accepts_video): New variable.
14162 (grub_multiboot_set_accepts_video): New function.
14163 (grub_multiboot_get_mbi_size): Account for video structures.
14164 (set_video_mode): New function.
14165 (retrieve_video_parameters): Likewise.
14166 (grub_multiboot_make_mbi): Fill video fields.
14167
0d90e8a6
VS
141682010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
14169
14170 Video driver ids.
14171
14172 * include/grub/video.h (grub_video_driver_id): New type.
14173 (grub_video_adapter): New member 'id'. All users updated.
14174 (grub_video_get_driver_id): New proto.
14175 * video/video.c (grub_video_get_driver_id): New function.
14176
5c71db1b 141772010-01-14 Carles Pina i Estany <carles@pina.cat>
14178
14179 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
14180 `var=val'.
14181
cca15b52 141822010-01-14 Carles Pina i Estany <carles@pina.cat>
14183
14184 * normal/cmdline.c (print_completion): Gettextizze.
14185
c586fbb2 141862001-01-14 Carles Pina i Estany <carles@pina.cat>
14187
14188 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
14189
ba2f6848 141902010-01-14 Carles Pina i Estany <carles@pina.cat>
14191
14192 * gettext/gettext.c (grub_gettext_translate): Push and pop
14193 grub_errno.
14194 (grub_gettext_delete_list): Change comment style.
14195 * kern/err.c (grub_error): Gettextizze.
14196 (grub_fatal): Gettextizze.
14197
0a46429a
RM
141982010-01-14 Robert Millan <rmh.grub@aybabtu.com>
14199
14200 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
14201 (grub_linux16_real_boot): ... this.
14202 * kern/i386/loader.S: Likewise.
14203 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
14204 (grub_linux16_boot): New function. Switches to text mode and calls
14205 grub_linux16_real_boot().
14206
14207 * loader/i386/bsd.c: Include `<grub/video.h>'.
14208 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
14209 text mode before calling grub_unix_real_boot().
14210
14211 * loader/i386/multiboot.c: Include `<grub/video.h>'.
14212 (grub_multiboot_boot): Switch to text mode before calling
14213 grub_relocator32_boot().
14214
14215 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
14216 (grub_chainloader_boot): Switch to text mode before calling
14217 grub_chainloader_real_boot().
14218
d6f93a66
RM
142192010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
142202010-01-05 Colin Watson <cjwatson@ubuntu.com>
14221
14222 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
14223 non-empty value.
14224
142252010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
142262010-01-05 Colin Watson <cjwatson@ubuntu.com>
14227
14228 * util/grub.d/00_header.in: Define a "savedefault" function for use
14229 in menu entries.
14230 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
14231
142322010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
142332010-01-05 Colin Watson <cjwatson@ubuntu.com>
14234
14235 * util/grub-mkconfig_lib.in (save_default_entry): Only set
14236 saved_entry if boot_once is unset.
14237 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
14238 previous saved entry (i.e. grub-reboot).
14239
142402009-12-08 Colin Watson <cjwatson@ubuntu.com>
14241
14242 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
14243
142442009-12-08 Colin Watson <cjwatson@ubuntu.com>
14245
14246 * util/grub.d/00_header.in: Use `set var=val' rather than plain
14247 `var=val'.
14248 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
14249
142502009-12-08 Colin Watson <cjwatson@ubuntu.com>
14251
14252 * util/grub-reboot.in: Fix --version output.
14253 * util/grub-set-default.in: Likewise.
14254
142552009-12-08 Colin Watson <cjwatson@ubuntu.com>
14256
14257 * util/grub.d/00_header.in: Silently ignore zero-sized environment
14258 blocks.
14259
142602009-12-08 Colin Watson <cjwatson@ubuntu.com>
14261
14262 * util/grub.d/00_header.in: Quote the value assigned to `default',
14263 in case it contains spaces.
14264
142652009-12-08 Colin Watson <cjwatson@ubuntu.com>
14266
14267 * util/grub.d/30_os-prober.in: Fix merge error that moved a
14268 `save_default_entry' call from the macosx case to the linux case.
14269
142702009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
142712009-10-25 Colin Watson <cjwatson@ubuntu.com>
14272
14273 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
14274 in `chosen' environment variable.
14275 * normal/menu_text.c (get_entry_number): Check if the variable
14276 matches the title of a menu entry.
14277 (run_menu): Pass menu to get_entry_number.
14278
14279 * util/grub-reboot.in: New file.
14280 * util/grub-set-default.in: New file.
14281 * conf/common.rmk (grub-reboot): New utility.
14282 (grub-set-default): New utility.
14283
14284 * util/grub-mkconfig_lib.in (save_default_entry): New function.
14285 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
14286 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
14287 move it to `saved_entry' for the next boot. Load environment on
14288 initialisation.
14289 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
14290 * util/grub.d/10_hurd.in: Likewise.
14291 * util/grub.d/10_linux.in (linux_entry): Likewise.
14292 * util/grub.d/10_windows.in: Likewise.
14293 * util/grub.d/30_os-prober.in: Likewise.
14294
14295 * util/grub-install.in: Create environment block.
14296 * util/i386/efi/grub-install.in: Likewise.
14297 * util/ieee1275/grub-install.in: Likewise.
14298 * util/sparc64/ieee1275/grub-install.in: Likewise.
14299
0934d184
BC
143002010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
14301
14302 Unit testing framework for GRUB.
14303
14304 * Makefile.in: Test framework build rules for 'make check'.
14305 * conf/tests.rmk: Build rules for individual tests and framework.
14306
14307 * include/grub/test.h: Header file for whitebox tests.
14308 * tests/lib/functional_test.c: Framework support for whitebox
14309 functional tests.
14310 * tests/lib/test.c: Common whitebox testing code for unit and
14311 functional tests.
14312 * tests/lib/unit_test.c: Framework support for whitebox unit
14313 tests.
14314
14315 * tests/util/grub-shell-tester.in: Support utility for grub-script
14316 tests.
14317 * tests/util/grub-shell.in: Utility to execute grub-script
14318 commands in a Qemu instance.
14319
14320 * tests/example_functional_test.c: Example whitebox functional
14321 test.
14322 * tests/example_grub_script_test.in: Example grub-script test.
14323 * tests/example_scripted_test.in: Example scripted test.
14324 * tests/example_unit_test.c: Example whitebox unit test.
14325
9c4ffeeb
VS
143262010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
14327
14328 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
14329 Add loader/i386/multiboot_mbi.c.
14330 (multiboot2_mod_SOURCES): Likewise.
14331 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
14332 (multiboot2_mod_SOURCES): Likewise.
14333 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
14334 (grub_multiboot_make_mbi): Likewise.
14335 (grub_multiboot_free_mbi): Likewise.
14336 (grub_multiboot_init_mbi): Likewise.
14337 (grub_multiboot_add_module): Likewise.
14338 (grub_multiboot_set_bootdev): Likewise.
14339 * loader/i386/multiboot.c (mbi): Removed.
14340 (mbi_dest): Likewise.
14341 (alloc_mbi): New variable.
14342 (grub_multiboot_payload_size): Removed. All users updated.
14343 (grub_multiboot_pure_size): New variable.
14344 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
14345 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
14346 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
14347 (grub_fill_multiboot_mmap): Likewise.
14348 (grub_multiboot_get_bootdev): Likewise.
14349 (grub_multiboot): Use multiboot_mbi functions.
14350 * loader/i386/multiboot_mbi.c: New file.
14351
17383dfe
VS
143522010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
14353
14354 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
14355 it would result in module crash.
14356
c1f28820
VS
143572010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
14358
14359 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
14360 (grub_ofconsole_getwh): Split to ...
14361 (grub_ofconsole_getwh): ... this.
14362 (grub_ofconsole_dimensions): ...and this.
14363 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
14364
58655a16
RM
143652010-01-13 Robert Millan <rmh.grub@aybabtu.com>
14366
14367 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
14368
10891398
VS
143692010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
14370
14371 * loader/i386/pc/multiboot2.c: Removed stalled file.
14372
0b8a223c
VS
143732010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
14374
14375 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
14376 Reported by: Grégoire Sutre
14377
92ab12b0
RM
143782010-01-11 Robert Millan <rmh.grub@aybabtu.com>
14379
14380 * util/misc.c (canonicalize_file_name): New function.
14381 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
14382 instead of realpath().
14383
a788afb6
CW
143842010-01-11 Colin Watson <cjwatson@ubuntu.com>
14385
14386 * util/grub-install.in (usage): Clarify meaning of --root-directory,
14387 and make it clearer that it's optional. Based on confusion
14388 witnessed on IRC.
14389
ffa8e3d2
VS
143902010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
14391
14392 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
14393 in premature implicit newline.
14394
e9060a9d
VS
143952010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
14396
14397 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
14398 which resulted in garbled command line at the end of screen.
14399
f0d0c0b7
RM
144002010-01-10 Robert Millan <rmh.grub@aybabtu.com>
14401
14402 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
14403 initialization with similar approach as with other Linux loaders.
14404
0e60bae7
RM
144052010-01-10 Robert Millan <rmh.grub@aybabtu.com>
14406
14407 Fix i386-ieee1275 build.
14408
14409 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
14410 and grub_term_height() for video_{width,height} initialization.
14411
144122010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
14413
14414 Fix grub-emu build.
14415
14416 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
14417
cdb3f378
RM
144182010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
144192010-01-09 Robert Millan <rmh.grub@aybabtu.com>
14420
14421 Support for multiple terminals.
14422
14423 * Makefile.in (pkglib_DATA): terminal.lst.
14424 (terminal.lst): New target.
14425 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
14426 (GRUB_MOD_INIT(handler)): Likewise.
14427 (GRUB_MOD_FINI(handler)): Likewise.
14428 * commands/help.c (grub_cmd_help): Handle multiple terminals.
14429 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
14430 * commands/sleep.c (do_print): Use grub_term_restore_pos.
14431 (grub_cmd_sleep): Use grub_term_save_pos.
14432 * commands/terminal.c: New file.
14433 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
14434 commands/terminal.c and lib/charset.c.
14435 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
14436 (pkglib_MODULES): Add terminal.mod.
14437 (terminal_mod_SOURCES): New variable.
14438 (terminal_mod_CFLAGS): Likewise.
14439 (terminal_mod_LDFLAGS): Likewise.
14440 * genhandlerlist.sh: Don't handle terminals.
14441 * genmk.rb: Generate terminal-*.lst.
14442 * genterminallist.sh: New file.
14443 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
14444 (grub_is_valid_utf8): Likewise.
14445 (grub_utf8_to_ucs4_alloc): Likewise.
14446 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
14447 (grub_menu_register_viewer): Changed argument.
14448 (grub_menu_try_text): New proto.
14449 (grub_gfxmenu_try_hook): New declaration.
14450 * include/grub/normal.h (grub_normal_exit_level): New declaration.
14451 (grub_menu_init_page): Additional argument term.
14452 (grub_normal_init_page): Likewise.
14453 (grub_cmdline_get): Arguments simplified.
14454 (grub_utf8_to_ucs4_alloc): Removed.
14455 (grub_print_ucs4): Additional argument term.
14456 (grub_getstringwidth): Likewise.
14457 (grub_print_message_indented): Likewise.
14458 (grub_menu_text_register_instances): New proto.
14459 (grub_show_menu): Likewise.
14460 (read_terminal_list): Likewise.
14461 (grub_set_more): Likewise.
14462 * include/grub/parser.h: Include handler.h.
14463 * include/grub/reader.h: Rewritten.
14464 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
14465 (GRUB_TERM_WIDTH): Changed to function.
14466 (GRUB_TERM_HEIGHT): Likewise.
14467 (GRUB_TERM_BORDER_WIDTH): Likewise.
14468 (GRUB_TERM_BORDER_HEIGHT): Likewise.
14469 (GRUB_TERM_NUM_ENTRIES): Likewise.
14470 (GRUB_TERM_ENTRY_WIDTH): Likewise.
14471 (GRUB_TERM_CURSOR_X): Likewise.
14472 (grub_term_input_class): Likewise.
14473 (grub_term_output_class): Likewise.
14474 (grub_term_outputs_disabled): New declaration.
14475 (grub_term_inputs_disabled): Likewise.
14476 (grub_term_outputs): Likewise.
14477 (grub_term_inputs): Likewise.
14478 (grub_term_register_input): Rewritten.
14479 (grub_term_register_output): Likewise.
14480 (grub_term_unregister_input): Likewise.
14481 (grub_term_unregister_output): Likewise.
14482 (FOR_ACTIVE_TERM_INPUTS): New macro.
14483 (FOR_DISABLED_TERM_INPUTS): Likewise.
14484 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
14485 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
14486 * include/grub/terminfo.h: Add oterm argument to all protypes.
14487 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
14488 Use grub_rescue_run.
14489 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
14490 All users updated.
14491 * kern/reader.c: Removed. All users updated.
14492 * kern/rescue_reader.c (grub_rescue_init): Removed.
14493 (grub_rescue_reader): Likewise.
14494 (grub_register_rescue_reader): Likewise.
14495 (grub_rescue_run): New function based on kern/reader.c.
14496 * kern/term.c: Adapted for multiterm.
14497 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
14498 (grub_is_valid_utf8): Likewise.
14499 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
14500 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
14501 right terminal.
14502 * loader/i386/linux.c (grub_linux_boot): Likewise.
14503 * normal/auth.c (grub_username_get): New function.
14504 (grub_auth_check_authentication): Use grub_username_get.
14505 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
14506 * normal/color.c: Adapt for multiterm.
14507 * normal/main.c (read_config_file): Don't use grub_reader_loop.
14508 (grub_normal_init_page): Additional argument term.
14509 (read_lists): Call read_terminal_lists.
14510 (grub_enter_normal_mode): Call grub_cmdline_run.
14511 Handle grub_normal_exit_level.
14512 (grub_cmd_normal): Make reentrant.
14513 (grub_cmd_normal_exit): New function.
14514 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
14515 * normal/menu.c: Adapt for multiterm.
14516 * normal/menu_entry.c: Likewise.
14517 * normal/menu_text.c: Likewise.
14518 * normal/menu_viewer.c: Removed. All users updated.
14519 * normal/term.c: New file.
14520 * util/console.c: Change order of includes to workaround a bug in
14521 ncurses headers.
14522 * term/terminfo.c: New argument oterm on all exported functions.
14523 All users updated.
14524 * util/grub-editenv.c (grub_term_input_class): Removed.
14525 (grub_term_output_class): Likewise.
14526
1a064917
RM
145272010-01-09 Robert Millan <rmh.grub@aybabtu.com>
14528
14529 Make loader output a bit more user-friendly.
14530
14531 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
14532 is being loaded. Likewise for the Hurd.
14533
14534 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
14535 that kernel of FreeBSD ${version} is being loaded.
14536
14537 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
14538 grub_dprintf().
14539 (grub_cmd_initrd): Likewise.
14540 * util/grub.d/10_linux.in (linux_entry): Print message indicating
14541 that Linux ${version} is being loaded. Likewise for initrd.
14542
5ce0a83a 145432010-01-09 Carles Pina i Estany <carles@pina.cat>
14544
14545 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
14546
809bbfeb 145472010-01-08 Carles Pina i Estany <carles@pina.cat>
14548
14549 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
14550 (GRUB_MOD_INIT): Gettextizze.
14551 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
14552 (GRUB_MOD_INIT): Gettextizze.
14553 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
14554 (grub_cmd_linux): Capitalise Linux.
14555 (GRUB_MOD_INIT): Gettextizze.
14556 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
14557 (grub_cmd_linux): Capitalise Linux.
14558 (GRUB_MOD_INIT): Gettextizze.
14559 * loader/i386/linux.c: Include `<grub/i18n.h>'.
14560 (grub_cmd_linux): Capitalise Linux.
14561 (GRUB_MOD_INIT): Gettextizze.
14562 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
14563 (GRUB_MOD_INIT): Gettextizze.
14564 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
14565 (grub_cmd_linux): Capitalise Linux.
14566 (GRUB_MOD_INIT): Gettextizze.
14567 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
14568 (grub_cpu_xnu_init): Gettextizze.
14569 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
14570 (GRUB_MOD_INIT): Gettextizze.
14571 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
14572 (GRUB_MOD_INIT): Gettextizze.
14573 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
14574 (grub_linux_load64): Capitalise Linux.
14575 (GRUB_MOD_INIT): Gettextizze.
14576 * loader/xnu.c: Include `<grub/i18n.h>'.
14577 (GRUB_MOD_INIT): Gettextizze.
14578 * po/POTFILES: Add `loader/efi/appleloader.c',
14579 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
14580 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
14581 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
14582 `loader/i386/xnu.c', `loader/multiboot_loader.c',
14583 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
14584 and `loader/xnu.c'.
14585
b394b2ca
RM
145862010-01-08 Robert Millan <rmh.grub@aybabtu.com>
14587
14588 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
14589
145902010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
14591
14592 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
14593 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
14594 * util/mkisofs/mkisofs.c (main): Readjust --version output.
14595
bc8b32b3
RM
145962010-01-07 Robert Millan <rmh.grub@aybabtu.com>
14597
14598 Reset Multiboot 2 support. New loader implements the draft in
14599 /branches/multiboot2 and shares as much code as possible with the
14600 production Multiboot 1 implementation.
14601
14602 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
14603 * loader/multiboot2.c: Likewise.
14604 * loader/i386/multiboot_helper.S: Likewise.
14605 * include/multiboot2.h: Replace with latest version from the draft
14606 in /branches/multiboot2.
14607
14608 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
14609 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
14610 and `loader/multiboot2.c'.
14611 (pkglib_MODULES): Add `multiboot2.mod'.
14612 (multiboot2_mod_SOURCES): New variable.
14613 (multiboot2_mod_LDFLAGS): Likewise.
14614 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
14615
14616 * conf/i386-pc.rmk: Likewise.
14617
14618 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
14619 (multiboot_mod_SOURCES): Remove variable.
14620 (multiboot_mod_LDFLAGS): Likewise.
14621 (multiboot_mod_CFLAGS): Likewise.
14622
14623 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
14624 `<multiboot2.h>' instead of `<multiboot.h>'.
14625 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
14626 (MULTIBOOT_HEADER_MAGIC): New macros.
14627
14628 * loader/multiboot_loader.c (module_version_status): Remove variable.
14629 (find_multi_boot2_header): Remove function.
14630 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
14631 logic. Always check for the Multiboot version we're compiling for.
14632 (grub_cmd_module_loader): Likewise.
14633 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
14634 command instead of `multiboot'.
14635
5d2c52b8
RM
146362010-01-07 Robert Millan <rmh.grub@aybabtu.com>
14637
14638 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
14639 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
14640 all users.
14641
53108d92
RM
146422010-01-07 Robert Millan <rmh.grub@aybabtu.com>
146432010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
14644
14645 Fix breakage introduced with previous commit.
14646
14647 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
14648 commands.
14649 * normal/handler.c (read_handler_list): Revert part of previous commit
14650 affecting this file.
14651 * normal/main.c (read_lists): Move read_handler_list() call back to ...
14652 (grub_normal_execute): ... here.
14653
e2e936b2
RM
146542010-01-07 Robert Millan <rmh.grub@aybabtu.com>
14655
14656 Merge prefix-redefinition-fix branch.
14657
14658 * normal/autofs.c (read_fs_list): Make function capable of being
14659 run multiple times, gracefuly replacing the previous data
14660 structures.
14661 * normal/dyncmd.c (read_command_list): Likewise.
14662 * normal/handler.c (read_handler_list): Likewise.
14663 * normal/main.c (read_lists): New function. Calls all the
14664 list reading functions.
14665 (grub_normal_execute): Use read_lists() instead of calling all
14666 list reading functions explicitly. Register read_lists() as a
14667 variable hook attached to ${prefix}.
14668
607a3701
VS
146692010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
14670
14671 Merge crypto branch.
14672
14673 * Makefile.in (pkglib_DATA): Add crypto.lst.
14674 (crypto.lst): New target.
14675 * commands/hashsum.c: New file.
14676 * commands/password.c (check_password): Use grub_crypto_memcmp.
14677 * commands/password_pbkdf2.c: New file.
14678 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
14679 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
14680 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
14681 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
14682 -I$(srcdir)/lib/libgcrypt_wrap.
14683 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
14684 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
14685 password_pbkdf2.mod.
14686 (crypto_mod_SOURCES): New variable.
14687 (crypto_mod_CFLAGS): Likewise.
14688 (crypto_mod_LDFLAGS): Likewise.
14689 (hashsum_mod_SOURCES): New variable.
14690 (hashsum_mod_CFLAGS): Likewise.
14691 (hashsum_mod_LDFLAGS): Likewise.
14692 (pbkdf2_mod_SOURCES): New variable.
14693 (pbkdf2_mod_CFLAGS): Likewise.
14694 (pbkdf2_mod_LDFLAGS): Likewise.
14695 (password_pbkdf2_mod_SOURCES): New variable.
14696 (password_pbkdf2_mod_CFLAGS): Likewise.
14697 (password_pbkdf2_mod_LDFLAGS): Likewise.
14698 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
14699 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
14700 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
14701 Include conf/gcry.rmk.
14702 * include/grub/auth.h: Rewritten.
14703 * include/grub/crypto.h: New file.
14704 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
14705 * include/grub/normal.h (read_crypto_list): New prototype.
14706 * lib/crypto.c: New file.
14707 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
14708 * lib/pbkdf2.c: Likewise.
14709 * normal/auth.c (grub_auth_strcmp): Removed.
14710 (grub_iswordseparator): Likewise.
14711 (grub_auth_strword): Likewise.
14712 (is_authenticated): Use grub_strword.
14713 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
14714 and grub_strword. Pass entered password to authentication callback.
14715 * normal/crypto.c: New file.
14716 * normal/main.c: Call read_crypto_list.
14717 * util/grub-mkpasswd-pbkdf2.c: New file.
14718 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
14719
42841caa
VS
147202010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
14721
14722 Fix descent and ascent calculation.
14723
14724 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
14725 (options): New option "asce".
14726 (usage): Likewise.
14727 (add_char): Ignore invalid glyphs for descent calculation.
14728 Calculate ascent from actual content.
14729 (print_glyphs): Use 'asce'.
14730 (write_font): Likewise. Allow ascent override.
14731 (main): Handle "asce" option.
14732
e7730de7 147332010-01-06 Carles Pina i Estany <carles@pina.cat>
14734
14735 * kern/err.c: Include `<grub/i18n.h>'.
14736 (grub_print_error): Add full stop. Gettextizze.
14737 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
14738 (grub_bsd_load_elf): Capitalise ELF.
14739 (grub_cmd_freebsd_loadenv): Add `s' in error string.
14740 (grub_cmd_freebsd_module): Likewise.
14741 (grub_cmd_freebsd_module_elf): Likewise.
14742 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
14743
40e3a41f 147442010-01-06 Carles Pina i Estany <carles@pina.cat>
14745
14746 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
14747 * commands/search_file.c (HELP_MESSAGE): New macro.
14748 * commands/search_label.c (HELP_MESSAGE): Likewise.
14749 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
14750 * po/POTFILES: Add `commands/search_file.c',
14751 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
14752 `commands/search.c'.
14753
83507e68
RM
147542010-01-05 Robert Millan <rmh.grub@aybabtu.com>
14755
14756 * config.rpath: Update from Gnulib.
14757
465c787b
YB
147582010-01-05 Yves Blusseau <blusseau@zetam.org>
14759
14760 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
14761
6581dd3a
YB
147622010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
14763
14764 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
14765
3bff18c5
CW
147662010-01-05 Colin Watson <cjwatson@ubuntu.com>
14767
14768 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
14769 arguments to fread so that we get a return value in bytes, rather
14770 than something that will normally be rounded down to 0.
14771 Adjust error handling to avoid producing garbage when size_t is not
14772 the same size as long long.
14773
a1368118
CW
147742010-01-05 Colin Watson <cjwatson@ubuntu.com>
14775
14776 * util/mkisofs/write.c (padblock_write): Check return value of
14777 fread.
14778
7c302978
RM
147792010-01-05 Robert Millan <rmh.grub@aybabtu.com>
14780
14781 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
14782 floppy images now.
14783
14784 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
14785
e33ace06
RM
147862010-01-04 Robert Millan <rmh.grub@aybabtu.com>
14787
14788 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
14789 instead of manual alignment.
14790 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
14791 verbose). Avoid attempts to read past end of the device
14792 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
14793 but GRUB_DISK_CACHE_SIZE may exceed that).
14794
4b856776
RM
147952010-01-04 Robert Millan <rmh.grub@aybabtu.com>
14796
14797 * commands/crc.c (grub_cmd_crc): Abort on read errors.
14798 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
14799 it to upper layer.
14800
52c2d97f
VS
148012010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
14802
14803 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
14804 New constant.
14805 (grub_efi_piwg_device_path): New structure
14806 (grub_efi_piwg_device_path_t): New type.
14807 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
14808 (devpath_1): Transform to a structure. All users updated.
14809 (devpath_2): Likewise.
14810 (devpath_3): Likewise.
14811 (devpath_4): Likewise.
14812 (devpath_5): Likewise.
14813
98ff6a54
VS
148142010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
14815
14816 * loader/efi/appleloader.c: Restored. Update all users.
14817
3a73dcb6
RM
148182010-01-03 Robert Millan <rmh.grub@aybabtu.com>
14819
14820 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
14821
14822 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
14823 (struct boot_blocklist): Move from here ...
14824 * include/grub/i386/pc/boot.h [ASM_FILE]
14825 (struct grub_boot_blocklist): ... to here. Update all users.
14826 (setup): Only initialize `start' member of `first_block'
14827 structure. Add assert() calls to verify the other members.
14828
14829 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
14830 (generate_image): Fix broken blocklist length initialization.
14831 Add assert() call to verify blocklist `segment' field.
14832
ab0eeb0c
RM
148332010-01-03 Robert Millan <rmh.grub@aybabtu.com>
14834
14835 * loader/efi/appleloader.c: Remove. Update all users.
14836
58bc8bd5
RM
148372010-01-03 Robert Millan <rmh.grub@aybabtu.com>
14838
14839 * boot/i386/pc/boot.S: Update copyright year.
14840 * boot/i386/pc/cdboot.S: Likewise.
14841 * boot/i386/pc/diskboot.S: Likewise.
14842 * boot/i386/pc/lnxboot.S: Likewise.
14843 * boot/i386/pc/pxeboot.S: Likewise.
14844 * bus/pci.c: Likewise.
14845 * commands/cmp.c: Likewise.
14846 * commands/help.c: Likewise.
14847 * commands/hexdump.c: Likewise.
14848 * commands/i386/pc/halt.c: Likewise.
14849 * commands/i386/pc/play.c: Likewise.
14850 * commands/i386/pc/vbeinfo.c: Likewise.
14851 * commands/ls.c: Likewise.
14852 * commands/test.c: Likewise.
14853 * disk/dmraid_nvidia.c: Likewise.
14854 * disk/i386/pc/biosdisk.c: Likewise.
14855 * disk/ieee1275/nand.c: Likewise.
14856 * disk/ieee1275/ofdisk.c: Likewise.
14857 * disk/lvm.c: Likewise.
14858 * disk/raid.c: Likewise.
14859 * disk/raid6_recover.c: Likewise.
14860 * disk/scsi.c: Likewise.
14861 * fs/affs.c: Likewise.
14862 * fs/cpio.c: Likewise.
14863 * fs/ext2.c: Likewise.
14864 * fs/hfs.c: Likewise.
14865 * fs/iso9660.c: Likewise.
14866 * fs/ntfs.c: Likewise.
14867 * fs/sfs.c: Likewise.
14868 * fs/udf.c: Likewise.
14869 * fs/ufs.c: Likewise.
14870 * fs/xfs.c: Likewise.
14871 * gencmdlist.sh: Likewise.
14872 * genmk.rb: Likewise.
14873 * include/grub/disk.h: Likewise.
14874 * include/grub/efi/api.h: Likewise.
14875 * include/grub/efi/efi.h: Likewise.
14876 * include/grub/efi/pe32.h: Likewise.
14877 * include/grub/elf.h: Likewise.
14878 * include/grub/fs.h: Likewise.
14879 * include/grub/i386/at_keyboard.h: Likewise.
14880 * include/grub/i386/pc/memory.h: Likewise.
14881 * include/grub/i386/pc/vbe.h: Likewise.
14882 * include/grub/i386/pci.h: Likewise.
14883 * include/grub/i386/tsc.h: Likewise.
14884 * include/grub/ieee1275/ieee1275.h: Likewise.
14885 * include/grub/ntfs.h: Likewise.
14886 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
14887 * include/grub/sparc64/libgcc.h: Likewise.
14888 * include/grub/symbol.h: Likewise.
14889 * include/grub/types.h: Likewise.
14890 * include/multiboot2.h: Likewise.
14891 * io/gzio.c: Likewise.
14892 * kern/device.c: Likewise.
14893 * kern/disk.c: Likewise.
14894 * kern/efi/efi.c: Likewise.
14895 * kern/efi/mm.c: Likewise.
14896 * kern/elf.c: Likewise.
14897 * kern/file.c: Likewise.
14898 * kern/i386/dl.c: Likewise.
14899 * kern/i386/pc/init.c: Likewise.
14900 * kern/i386/pc/startup.S: Likewise.
14901 * kern/ieee1275/ieee1275.c: Likewise.
14902 * kern/ieee1275/init.c: Likewise.
14903 * kern/main.c: Likewise.
14904 * kern/mm.c: Likewise.
14905 * kern/powerpc/dl.c: Likewise.
14906 * kern/sparc64/dl.c: Likewise.
14907 * kern/x86_64/dl.c: Likewise.
14908 * lib/hexdump.c: Likewise.
14909 * loader/efi/appleloader.c: Likewise.
14910 * loader/i386/ieee1275/linux.c: Likewise.
14911 * loader/i386/pc/chainloader.c: Likewise.
14912 * loader/i386/pc/linux.c: Likewise.
14913 * loader/i386/pc/multiboot2.c: Likewise.
14914 * loader/ieee1275/multiboot2.c: Likewise.
14915 * loader/multiboot2.c: Likewise.
14916 * loader/multiboot_loader.c: Likewise.
14917 * loader/powerpc/ieee1275/linux.c: Likewise.
14918 * normal/completion.c: Likewise.
14919 * normal/menu_entry.c: Likewise.
14920 * partmap/apple.c: Likewise.
14921 * util/grub.d/10_hurd.in: Likewise.
14922 * util/hostfs.c: Likewise.
14923 * video/readers/png.c: Likewise.
14924
e2d70b5c
CW
149252010-01-03 Colin Watson <cjwatson@ubuntu.com>
14926
14927 * include/grub/misc.h (GNUC_PREREQ): New macro.
14928 (ATTRIBUTE_ERROR): New macro.
14929 * include/grub/list.h (grub_bad_type_cast_real): Use
14930 ATTRIBUTE_ERROR.
14931
a173283f 149322010-01-03 Carles Pina i Estany <carles@pina.cat>
14933
14934 * normal/menu_text.c (print_message): Change messages.
14935
7fa7ff74 149362010-01-03 Carles Pina i Estany <carles@pina.cat>
14937
14938 * normal/menu_entry.c (store_completion): Gettextizze.
14939
136d24f6 149402010-01-03 Carles Pina i Estany <carles@pina.cat>
14941
14942 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
14943
f936862e 149442010-01-03 Carles Pina i Estany <carles@pina.cat>
14945
14946 * po/POTFILES: Sort correctly.
14947
29c44ad1 149482010-01-03 Carles Pina i Estany <carles@pina.cat>
14949
14950 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
14951 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
14952 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
14953 full stop.
14954 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
14955 summary. Gettextizze the strings.
14956 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
14957 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
14958 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
14959 full stop.
14960 (GRUB_MOD_INIT): Remove command name from summary.
14961 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
14962 summary.
14963 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
14964 * term/i386/pc/serial.c (options): Add full stops.
14965 (GRUB_MOD_INIT): Remove command name from the summary.
14966
77a79592 149672010-01-03 Carles Pina i Estany <carles@pina.cat>
14968
14969 * commands/acpi.c: Gettextizze help strings and/or options. Include
14970 `grub/i18n.h' if needed.
14971 * commands/blocklist.c: Likewise.
14972 * commands/boot.c: Likewise.
14973 * commands/cat.c: Likewise.
14974 * commands/cmp.c: Likewise.
14975 * commands/configfile.c: Likewise.
14976 * commands/crc.c: Likewise.
14977 * commands/date.c: Likewise.
14978 * commands/echo.c: Likewise.
14979 * commands/efi/fixvideo.c: Likewise.
14980 * commands/efi/loadbios.c: Likewise.
14981 * commands/gptsync.c: Likewise.
14982 * commands/halt.c: Likewise.
14983 * commands/handler.c: Likewise.
14984 * commands/hdparm.c: Likewise.
14985 * commands/hexdump.c: Likewise.
14986 * commands/i386/cpuid.c: Likewise.
14987 * commands/i386/pc/drivemap.c: Likewise.
14988 * commands/i386/pc/halt.c: Likewise.
14989 * commands/i386/pc/pxecmd.c: Likewise.
14990 * commands/i386/pc/vbeinfo.c: Likewise.
14991 * commands/i386/pc/vbetest.c: Likewise.
14992 * commands/ieee1275/suspend.c: Likewise.
14993 * commands/keystatus.c: Likewise.
14994 * commands/loadenv.c: Likewise.
14995 * commands/ls.c: Likewise.
14996 * commands/lsmmap.c: Likewise.
14997 * commands/lspci.c: Likewise.
14998 * commands/memrw.c: Likewise.
14999 * commands/minicmd.c: Likewise.
15000 * commands/parttool.c: Likewise.
15001 * commands/password.c: Likewise.
15002 * commands/probe.c: Likewise.
15003 * commands/read.c: Likewise.
15004 * commands/reboot.c: Likewise.
15005 * commands/search.c: Likewise.
15006 * commands/sleep.c: Likewise.
15007 * commands/test.c: Likewise.
15008 * commands/true.c: Likewise.
15009 * commands/usbtest.c: Likewise.
15010 * commands/videotest.c: Likewise.
15011 * commands/xnu_uuid.c: Likewise.
15012 * disk/loopback.c: Likewise.
15013 * hello/hello.c: Likewise.
15014 * loader/i386/bsd.c: Likewise.
15015 * term/i386/pc/serial.c: Likewise.
15016 * po/POTFILES: Add new files.
15017
da8d5c53
CW
150182010-01-02 Colin Watson <cjwatson@ubuntu.com>
15019
15020 * term/i386/pc/at_keyboard.c
15021 (keyboard_controller_wait_untill_ready): Rename to ...
15022 (keyboard_controller_wait_until_ready): ... this. Update all users.
15023
33937904 150242010-01-01 Carles Pina i Estany <carles@pina.cat>
15025
15026 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
15027 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
15028 string using string width.
15029 * normal/menu_text.c (grub_print_message_indented): Use
15030 grub_print_spaces and not print_spaces.
15031 (print_timeout): Likewise.
15032 (print_spaces): Move to...
15033 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
15034
3fd3b8d8
RM
150352010-01-01 Robert Millan <rmh.grub@aybabtu.com>
15036
15037 Import from Gnulib.
15038
15039 * gnulib/getdelim.c: New file.
15040 * gnulib/getline.c: Likewise.
15041
33433555
VS
150422009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
15043
15044 * include/grub/list.h (grub_assert_fail): Removed.
15045 (grub_bad_type_cast_real): New function.
15046 (grub_bad_type_cast): New macro.
15047 (GRUB_AS_LIST): Use grub_bad_type_cast.
15048 (GRUB_AS_LIST_P): Likewise.
e44721e8 15049 (GRUB_AS_NAMED_LIST): Likewise.
33433555 15050 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 15051 (GRUB_AS_PRIO_LIST): Likewise.
33433555 15052 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 15053 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 15054
f5a51306
VS
150552009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
15056
15057 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
15058 Fix syntax error.
15059
90d1e879
RM
150602009-12-29 Robert Millan <rmh.grub@aybabtu.com>
15061
15062 * configure.ac: Check for TARGET_CFLAGS initialization before we
15063 initialize it ourselves (sigh).
15064 Move a few modifications to TARGET_CFLAGS to be unconditional
15065 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
15066 eh_frame)
15067
15068 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
15069 * term/i386/pc/at_keyboard.c
15070 (keyboard_controller_wait_untill_ready): Likewise.
15071 (keyboard_controller_led): Rename `led_status' paramter to avoid
15072 name conflict.
15073
465b5a81 150742009-12-28 Carles Pina i Estany <carles@pina.cat>
15075
15076 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
15077 quotes.
15078
c181849b
VS
150792009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
15080
15081 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
15082
9c8739a4
VS
150832009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
15084
15085 * normal/menu_text.c (grub_print_message_indented): Prevent
15086 past-the-end-of-array dereference.
15087
3e74249c
VS
150882009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
15089
15090 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
15091 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
15092
64fd18ed 150932009-12-27 Carles Pina i Estany <carles@pina.cat>
15094
15095 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
15096 * normal/main.c (grub_normal_read_line): Remove a space from the
15097 default prompt.
15098
714af9b9 150992009-12-27 Carles Pina i Estany <carles@pina.cat>
15100
15101 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
15102 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
15103 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
15104 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
15105 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
15106 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
15107 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
15108
82f3e412 151092009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 15110
15111 * video/readers/jpeg.c (cmd): Declare.
15112 (grub_cmd_jpegtest): Use `grub_command_t' type.
15113 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
15114 Assign to `cmd'.
15115 (GRUB_MOD_FINI): Use `cmd' to unregister.
15116 * video/readers/png.c (cmd): Declare.
15117 (grub_cmd_pngtest): Use `grub_command_t' type.
15118 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
15119 Assign to `cmd'.
15120 (GRUB_MOD_FINI): Use `cmd' to unregister.
15121 * video/readers/tga.c (cmd): Declare.
15122 (grub_cmd_tgatest): Use `grub_command_t' type.
15123 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
15124 Assign to `cmd'.
15125 (GRUB_MOD_FINI): Use `cmd' to unregister.
15126
82f3e412 151272009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 15128
15129 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
15130 stops.
15131 * kern/corecmd.c (grub_register_core_commands): Likewise.
15132 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
15133 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
15134 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
15135 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
15136 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
15137 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
15138 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
15139 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
15140 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
15141 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
15142 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
15143 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
15144 * normal/handler.c (insert_handler): Likewise.
15145 * normal/main.c (GRUB_MOD_INIT): Likewise.
15146 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
15147
fdcdbb66 151482009-12-26 Carles Pina i Estany <carles@pina.cat>
15149
15150 * commands/help.c (grub_cmd_help): Print the command name before the
15151 summary.
15152 (GRUB_MOD_INIT): Remove command name from the summary.
15153 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 15154 string as summary.
fdcdbb66 15155 * lib/arg.c (find_long): Print the command name before the summary.
15156 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
15157 summary.
15158 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
15159 * commands/cat.c (GRUB_MOD_INIT): Likewise.
15160 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
15161 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
15162 * commands/crc.c (GRUB_MOD_INIT): Likewise.
15163 * commands/date.c (GRUB_MOD_INIT): Likewise.
15164 * commands/echo.c (GRUB_MOD_INIT): Likewise.
15165 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
15166 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
15167 * commands/handler.c (GRUB_MOD_INIT): Likewise.
15168 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
15169 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
15170 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
15171 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
15172 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
15173 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
15174 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
15175 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
15176 * commands/ls.c (GRUB_MOD_INIT): Likewise.
15177 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
15178 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
15179 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
15180 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
15181 * commands/password.c (GRUB_MOD_INIT): Likewise.
15182 * commands/probe.c (GRUB_MOD_INIT): Likewise.
15183 * commands/read.c (GRUB_MOD_INIT): Likewise.
15184 * commands/search.c (GRUB_MOD_INIT): Likewise.
15185 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
15186 * commands/test.c (GRUB_MOD_INIT): Likewise.
15187 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
15188 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
15189 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
15190 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
15191 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
15192 * lib/arg.c (GRUB_MOD_INIT): Likewise.
15193 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
15194 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
15195 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
15196 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
15197 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
15198 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
15199 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
15200 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
15201
9c288be2
VS
152022009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
15203
15204 Use search command for preliminar UUID search.
15205
15206 * commands/search.c: Split into ...
15207 * commands/search_wrap.c: ...this
15208 * commands/search.c: ...and this.
15209 * commands/search_file.c: New file.
15210 * commands/search_label.c: New file.
15211 * commands/search_uuid.c: New file.
15212 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
15213 Add commands/search_wrap.c, commands/search_file.c,
15214 commands/search_label.c and commands/search_uuid.c.
15215 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
15216 (search_mod_SOURCES): Set to commands/search_wrap.c.
15217 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
15218 search_label.mod.
15219 (search_fs_file_mod_SOURCES): New variable.
15220 (search_fs_file_mod_CFLAGS): Likewise.
15221 (search_fs_file_mod_LDFLAGS): Likewise.
15222 (search_label_mod_SOURCES): Likewise.
15223 (search_label_mod_CFLAGS): Likewise.
15224 (search_label_mod_LDFLAGS): Likewise.
15225 (search_fs_uuid_mod_SOURCES): New variable.
15226 (search_fs_uuid_mod_CFLAGS): Likewise.
15227 (search_fs_uuid_mod_LDFLAGS): Likewise.
15228 (fs_file_mod_SOURCES): Removed.
15229 (fs_file_mod_CFLAGS): Likewise.
15230 (fs_file_mod_LDFLAGS): Likewise.
15231 (fs_uuid_mod_SOURCES): Removed.
15232 (fs_uuid_mod_CFLAGS): Likewise.
15233 (fs_uuid_mod_LDFLAGS): Likewise.
15234 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
15235 Set to util/grub-install.in.
15236 * disk/fs_file.c: Removed.
15237 * disk/fs_uuid.c: Likewise.
15238 * include/grub/search.h: New file.
15239 * util/grub-install.in: Handle sparc64.
15240 Create and use load.cfg.
15241 * util/sparc64/ieee1275/grub-install.in: Removed.
15242
db943399
VS
152432009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
15244
15245 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
15246 Ignore return status if CF is cleared.
15247 (grub_biosdisk_get_diskinfo_standard): Likewise.
15248
3fdae612
RM
152492009-12-25 Robert Millan <rmh.grub@aybabtu.com>
15250
15251 * term/i386/pc/at_keyboard.c
15252 (keyboard_controller_wait_untill_ready): New function.
15253 (grub_keyboard_controller_write, grub_keyboard_controller_read)
15254 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
15255 for keyboard polling, rather than duplicate the same loop. This
15256 saves a few bytes in code size.
15257
7ebaa2b4
VS
152582009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
15259
15260 Support for (pxe[:server[:gateway]]) syntax and
15261 use environment variable for PXE.
15262
15263 * commands/i386/pc/pxecmd.c (options): Removed.
15264 (print_ip): Removed.
15265 (grub_cmd_pxe): Removed
15266 (grub_cmd_pxe_unload): New function.
15267 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
15268 (grub_pxe_your_ip): Made static.
15269 (grub_pxe_default_server_ip): Likewise.
15270 (grub_pxe_default_gateway_ip): Likewise.
15271 (grub_pxe_blksize): Likewise.
15272 (parse_ip): New function.
15273 (grub_pxe_open): Support server and gateway specification.
15274 (grub_pxe_close): Free disk->data.
15275 (grub_pxefs_open): Use disk->data.
15276 (grub_pxefs_read): Likewise.
15277 (grub_env_write_readonly): New function.
15278 (set_mac_env): Likewise.
15279 (set_env_limn_ro): Likewise.
15280 (parse_dhcp_vendor): Likewise.
15281 (grub_pxe_detect): Set the environment variables.
15282 (set_ip_env): New function.
15283 (write_ip_env): Likewise.
15284 (grub_env_write_pxe_default_server): Likewise.
15285 (grub_env_write_pxe_default_gateway): Likewise.
15286 (grub_env_write_pxe_blocksize): Likewise.
15287 (GRUB_MOD_INIT(pxe)): Set environment variables.
15288 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
15289 (grub_pxe_mac_addr_t): ... this. All users updated.
15290 (grub_pxe_your_ip): Removed.
15291 (grub_pxe_server_ip): Likewise.
15292 (grub_pxe_gateway_ip): Likewise.
15293 (grub_pxe_blksize): Likewise.
15294
ec5f98ab 152952009-12-25 Carles Pina i Estany <carles@pina.cat>
15296
15297 * commands/help.c: Include `<grub/i18n.h>'.
15298 (grub_cmd_help): Gettextizze.
15299 (GRUB_MOD_INIT): Likewise.
15300 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
15301 (GRUB_MOD_INIT): Gettextizze.
15302 * commands/search.c: Include `<grub/i18n.h>'.
15303 (options): Gettextizze.
15304 (GRUB_MOD_INIT): Gettextizze.
15305 * lib/arg.c: Include `<grub/i18n.h>'.
15306 (help_options): Gettextizze.
15307 (find_long): Likewise.
15308 (grub_arg_show_help): Likewise.
15309 * normal/dyncmd.c: Include `<grub/i18n.h>'.
15310 (read_command_list): Gettextizze.
15311 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 15312 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 15313
22815526
RM
153142009-12-25 Robert Millan <rmh.grub@aybabtu.com>
15315
15316 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
15317 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
15318 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
15319 (led_status): New variable.
15320 (keyboard_controller_led): New function.
15321 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
15322 update led status for caps lock, num lock and scroll lock.
15323
0ad46fd7
FZ
153242009-12-25 Felix Zielcke <fzielcke@z-51.de>
15325
15326 * util/hostdisk.c (open_device): Fix a comment.
15327
d0e158c2
RM
153282009-12-24 Robert Millan <rmh.grub@aybabtu.com>
15329
15330 * util/grub-install.in (host_os): New variable.
15331 * util/i386/efi/grub-install.in (host_os): Likewise.
15332
401c0ad6
RM
153332009-12-24 Robert Millan <rmh.grub@aybabtu.com>
15334
15335 * util/mkisofs/write.c (padblock_write): Abort when given an
15336 excedingly large embed image, instead of silently truncating it.
15337
d14d3370
RM
153382009-12-24 Robert Millan <rmh.grub@aybabtu.com>
15339
15340 * include/multiboot.h: Indentation fixes.
15341
eeed10b4
RM
153422009-12-24 Robert Millan <rmh.grub@aybabtu.com>
15343
15344 * include/multiboot.h (struct multiboot_aout_symbol_table)
15345 (struct multiboot_elf_section_header_table): New structure
15346 declarations (stolen from GRUB Legacy).
15347 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
15348 table information.
15349
15350 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
15351 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
15352 type aliases.
15353
681c70ab
RM
153542009-12-24 Robert Millan <rmh.grub@aybabtu.com>
15355
15356 * include/multiboot.h: Make comments src2texi-friendly.
15357
e4d47d8d
RM
153582009-12-24 Robert Millan <rmh.grub@aybabtu.com>
15359
15360 For consistency with [multiboot]/docs/boot.S.
15361
15362 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
15363 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
15364 (MULTIBOOT_MAGIC2): Rename from this ...
15365 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
15366
a0b70bda
RM
153672009-12-24 Robert Millan <rmh.grub@aybabtu.com>
15368
15369 * include/multiboot.h: Remove `<grub/types.h>'.
15370 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
15371 types. Update all users.
15372
61ba42be 153732009-12-25 Carles Pina i Estany <carles@pina.cat>
15374
15375 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
15376 `couldn't' and `can not' by `cannot'.
15377 * commands/i386/pc/drivemap.c: Likewise.
15378 * disk/ata.c: Likewise.
15379 * disk/ieee1275/nand.c: Likewise.
15380 * fs/affs.c: Likewise.
15381 * fs/fat.c: Likewise.
15382 * fs/hfs.c: Likewise.
15383 * fs/hfsplus.c: Likewise.
15384 * fs/iso9660.c: Likewise.
15385 * fs/jfs.c: Likewise.
15386 * fs/minix.c: Likewise.
15387 * fs/reiserfs.c: Likewise.
15388 * fs/sfs.c: Likewise.
15389 * fs/udf.c: Likewise.
15390 * fs/ufs.c: Likewise.
15391 * fs/xfs.c: Likewise.
15392 * loader/powerpc/ieee1275/linux.c: Likewise.
15393 * loader/sparc64/ieee1275/linux.c: Likewise.
15394 * util/grub-probe.c: Likewise.
15395 * util/misc.c: Likewise.
15396
7fd0baee 153972009-12-24 Carles Pina i Estany <carles@pina.cat>
15398
15399 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
15400 grub_errno calls.
15401 * commands/acpi.c: Likewise.
15402 * commands/blocklist.c: Likewise.
15403 * commands/efi/loadbios.c: Likewise.
15404 * commands/i386/pc/drivemap.c: Likewise.
15405 * commands/loadenv.c: Likewise.
15406 * commands/memrw.c: Likewise.
15407 * commands/password.c: Likewise.
15408 * commands/videotest.c: Likewise.
15409 * disk/ata.c: Likewise.
15410 * disk/ata_pthru.c: Likewise.
15411 * disk/dmraid_nvidia.c: Likewise.
15412 * disk/ieee1275/nand.c: Likewise.
15413 * disk/ieee1275/ofdisk.c: Likewise.
15414 * disk/loopback.c: Likewise.
15415 * disk/lvm.c: Likewise.
15416 * disk/mdraid_linux.c: Likewise.
15417 * disk/raid.c: Likewise.
15418 * disk/raid6_recover.c: Likewise.
15419 * disk/scsi.c: Likewise.
15420 * efiemu/main.c: Likewise.
15421 * efiemu/mm.c: Likewise.
15422 * efiemu/pnvram.c: Likewise.
15423 * efiemu/symbols.c: Likewise.
15424 * font/font.c: Likewise.
15425 * fs/cpio.c: Likewise.
15426 * fs/hfsplus.c: Likewise.
15427 * fs/iso9660.c: Likewise.
15428 * fs/jfs.c: Likewise.
15429 * fs/minix.c: Likewise.
15430 * fs/ntfs.c: Likewise.
15431 * fs/ntfscomp.c: Likewise.
15432 * fs/reiserfs.c: Likewise.
15433 * fs/ufs.c: Likewise.
15434 * fs/xfs.c: Likewise.
15435 * gettext/gettext.c: Likewise.
15436 * include/grub/auth.h: Likewise.
15437 * kern/elf.c: Likewise.
15438 * kern/file.c: Likewise.
15439 * kern/ieee1275/init.c: Likewise.
15440 * kern/ieee1275/mmap.c: Likewise.
15441 * kern/ieee1275/openfw.c: Likewise.
15442 * kern/powerpc/dl.c: Likewise.
15443 * kern/sparc64/dl.c: Likewise.
15444 * lib/arg.c: Likewise.
15445 * loader/i386/bsd.c: Likewise.
15446 * loader/i386/bsdXX.c: Likewise.
15447 * loader/i386/efi/linux.c: Likewise.
15448 * loader/i386/efi/xnu.c: Likewise.
15449 * loader/i386/ieee1275/linux.c: Likewise.
15450 * loader/i386/linux.c: Likewise.
15451 * loader/i386/multiboot.c: Likewise.
15452 * loader/i386/pc/linux.c: Likewise.
15453 * loader/i386/pc/multiboot2.c: Likewise.
15454 * loader/i386/xnu.c: Likewise.
15455 * loader/ieee1275/multiboot2.c: Likewise.
15456 * loader/macho.c: Likewise.
15457 * loader/machoXX.c: Likewise.
15458 * loader/multiboot2.c: Likewise.
15459 * loader/multiboot_loader.c: Likewise.
15460 * loader/powerpc/ieee1275/linux.c: Likewise.
15461 * loader/sparc64/ieee1275/linux.c: Likewise.
15462 * loader/xnu.c: Likewise.
15463 * loader/xnu_resume.c: Likewise.
15464 * mmap/i386/pc/mmap.c: Likewise.
15465 * normal/menu_viewer.c: Likewise.
15466 * partmap/acorn.c: Likewise.
15467 * partmap/amiga.c: Likewise.
15468 * partmap/apple.c: Likewise.
15469 * script/lexer.c: Likewise.
15470 * term/gfxterm.c: Likewise.
15471 * term/i386/pc/serial.c: Likewise.
15472 * term/i386/pc/vga.c: Likewise.
15473 * term/ieee1275/ofconsole.c: Likewise.
15474 * term/terminfo.c: Likewise.
15475 * video/bitmap.c: Likewise.
15476 * video/efi_gop.c: Likewise.
15477 * video/efi_uga.c: Likewise.
15478 * video/fb/video_fb.c: Likewise.
15479 * video/i386/pc/vbe.c: Likewise.
15480 * video/readers/tga.c: Likewise.
15481 * video/video.c: Likewise.
15482
0ad46fd7 154832009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
15484
15485 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
15486 * commands/lspci.c: Likewise.
15487 * commands/probe.c: Likewise.
15488 * commands/xnu_uuid.c: Likewise.
15489 * conf/i386-coreboot.rmk: Likewise.
15490 * conf/i386-efi.rmk: Likewise.
15491 * conf/i386-ieee1275.rmk: Likewise.
15492 * conf/i386-pc.rmk: Likewise.
15493 * conf/powerpc-ieee1275.rmk: Likewise.
15494 * conf/sparc64-ieee1275.rmk: Likewise.
15495 * conf/x86_64-efi.rmk: Likewise.
15496 * fs/i386/pc/pxe.c: Likewise.
15497 * gettext/gettext.c: Likewise.
15498 * include/grub/efi/graphics_output.h: Likewise.
15499 * include/grub/i386/pc/memory.h: Likewise.
15500 * kern/env.c: Likewise.
15501 * kern/i386/qemu/startup.S: Likewise.
15502 * lib/i386/pc/biosnum.c: Likewise.
15503 * lib/i386/relocator.c: Likewise.
15504 * lib/i386/relocator_asm.S: Likewise.
15505 * lib/relocator.c: Likewise.
15506 * loader/i386/bsd.c: Likewise.
15507 * loader/i386/multiboot.c: Likewise.
15508 * loader/i386/pc/chainloader.c: Likewise.
15509 * loader/i386/xnu.c: Likewise.
15510 * loader/xnu.c: Likewise.
15511 * normal/main.c: Likewise.
15512 * normal/menu_text.c: Likewise.
15513 * util/getroot.c: Likewise.
15514 * util/grub-mkconfig_lib.in: Likewise.
15515 * util/grub.d/00_header.in: Likewise.
15516 * util/i386/pc/grub-mkimage.c: Likewise.
15517 * util/mkisofs/eltorito.c: Likewise.
15518 * util/mkisofs/exclude.h: Likewise.
15519 * util/mkisofs/hash.c: Likewise.
15520 * util/mkisofs/iso9660.h: Likewise.
15521 * util/mkisofs/joliet.c: Likewise.
15522 * util/mkisofs/mkisofs.c: Likewise.
15523 * util/mkisofs/mkisofs.h: Likewise.
15524 * util/mkisofs/multi.c: Likewise.
15525 * util/mkisofs/name.c: Likewise.
15526 * util/mkisofs/rock.c: Likewise.
15527 * util/mkisofs/tree.c: Likewise.
15528 * util/mkisofs/write.c: Likewise.
15529 * video/efi_gop.c: Likewise.
15530
009ec743
VS
155312009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
15532
15533 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
15534 size counting.
15535
0ad46fd7 155362009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
15537
15538 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
15539 * genmk.rb (class SCRIPT): Modify the target file instead of source.
15540
d3d30ea0
VS
155412009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
15542
15543 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
15544 (GRUB_MOD_INIT(memrw)): Update help line.
15545
a34f5c70
VS
155462009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
15547
15548 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
15549 Use grub_extcmd_t. All users updated.
15550 (options): New variable.
15551 (grub_cmd_read): Restructure for readability. Support "-v" option.
15552 (grub_cmd_write): Restructure for readability.
15553
0ad46fd7 155542009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
15555
15556 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
15557
0ad46fd7 155582009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
15559
15560 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
15561 with the actual contents of the correspondending make variable.
15562 * util/grub-mkrescue.in (pkglib_DATA): New variable.
15563 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
15564 specifying `*.lst' and `efiemu??.o'
15565
0ad46fd7 155662009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
15567
15568 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
15569 after function name.
15570 Noticed by Rene Engelhard <rene@debian.org>.
15571
dc77a799
VS
155722009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
15573
15574 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
15575 (options): New variable.
15576 (iospace): Likewise.
15577 (grub_lspci_iter): List IO spaces if "-i" was given.
15578 (grub_cmd_lspci): Parse options.
15579 (GRUB_MOD_INIT(lspci)): Use extcmd.
15580 (GRUB_MOD_FINI(lspci)): Likewise.
15581
0ad46fd7 155822009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
15583
15584 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
15585 `function' keyword.
15586 Patch by Tony Mancill <tmancill@debian.org>.
15587
b5d5993b
VS
155882009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
15589
15590 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
15591 (grub_uhci_portstatus): Likewise.
15592 (grub_uhci_portstatus): Add necessary delay.
11d18281 15593 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 15594
941903f2 155952009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 15596
941903f2 15597 * commands/acpi.c (options): Fix capitalizations and/or full stops.
15598 (GRUB_MOD_INIT): Likewise.
15599 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 15600 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
15601 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 15602 * commands/efi/loadbios.c (enable_rom_area): Likewise.
15603 (enable_rom_area): Likewise.
15604 (GRUB_MOD_INIT): Likewise.
15605 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
15606 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
15607 * commands/handler.c (GRUB_MOD_INIT): Likewise.
15608 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
15609 * commands/hexdump.c (options): Likewise.
15610 * commands/i386/cpuid.c (options): Likewise.
15611 (GRUB_MOD_INIT): Likewise.
15612 * commands/i386/pc/drivemap.c (options): Likewise.
15613 (GRUB_MOD_INIT): Likewise.
15614 * commands/i386/pc/halt (options): Likewise.
15615 (GRUB_MOD_INIT): Likewise.
15616 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
15617 * commands/i386/pc/pxecmd.c (options): Likewise.
15618 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
15619 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
15620 * commands/keystatus.c (options): Likewise.
15621 (GRUB_MOD_INIT): Likewise.
15622 * commands/loadenv.c (options): Likewise.
15623 * commands/ls.c (options): Likewise.
15624 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
15625 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
15626 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
15627 * commands/parttool.c (helpmsg): Likewise.
15628 * commands/probe.c (options): Likewise.
15629 * commands/read.c (GRUB_MOD_INIT): Likewise.
15630 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
15631 * commands/search.c (options): Likewise.
15632 * commands/sleep.c (options): Likewise.
15633 * commands/test.c (GRUB_MOD_INIT): Likewise.
15634 * commands/true.c (GRUB_MOD_INIT): Likewise.
15635 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
15636 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
15637 * lib/arg.c (help_options): Likewise.
e9bbb4e7 15638 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
15639 `$(XGETTEXT)'.
98a50553 15640 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 15641
0ad46fd7 156422009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 15643
ef3c2c3a 15644 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
15645 instead of specifying them explicit.
15646
7922f68b
RM
156472009-12-21 Robert Millan <rmh.grub@aybabtu.com>
15648
15649 * NEWS: Add grub-probe support for GNU/Hurd.
15650
537ce47f
RM
156512009-12-21 Robert Millan <rmh.grub@aybabtu.com>
15652
15653 * NEWS: gettext was added after 1.97.
15654
9b214e3a
RM
156552009-12-21 Robert Millan <rmh.grub@aybabtu.com>
15656
15657 * util/mkisofs/msdos_partition.h: New file (based on
15658 include/grub/msdos_partition.h).
15659 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
15660 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
15661 (ld_options, main): Recognize --protective-msdos-label.
15662 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
15663 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
15664 (padblock_write): If `use_protective_msdos_label' is set, patch a
15665 protective DOS-style label in the output image.
15666
15667 * util/grub-mkrescue.in: Use --protective-msdos-label.
15668
e9309813
RM
156692009-12-21 Robert Millan <rmh.grub@aybabtu.com>
15670
15671 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
15672 boot.
15673
0ae56929
RM
156742009-12-21 Robert Millan <rmh.grub@aybabtu.com>
15675
15676 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
15677 variables.
15678 (ld_options, main): Recognize `--embedded-boot'.
15679 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
15680 declarations.
15681 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
15682 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
15683 (padblock_write): Likewise. Rewrite to support embedded boot image.
15684
15685 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
15686 for BIOS-based disk boot instead of only ElTorito.
15687
b15937b1
RM
156882009-12-21 Robert Millan <rmh.grub@aybabtu.com>
15689
15690 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
15691 build (not needed for bootstrap).
15692
52cc3ce0
RM
156932009-12-21 Robert Millan <rmh.grub@aybabtu.com>
15694
15695 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
15696 from i386-pc build (not needed for bootstrap).
15697 Rewrite a pair of strings.
15698
36f5ff04
RM
156992009-12-21 Robert Millan <rmh.grub@aybabtu.com>
15700
15701 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
15702
973c6c85 157032009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
15704
15705 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
15706
05d21547
AB
157072009-12-21 Andreas Born <futur.andy@googlemail.com>
15708
15709 * kern/env.c (grub_env_context_open): Mark exported variable for
15710 reexport.
15711
0175d51f
AB
157122009-12-21 Andreas Born <futur.andy@googlemail.com>
15713
15714 * kern/env.c (grub_env_export): Create nonexistent variables before
15715 exporting.
15716
7f39d92f 157172009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 15718
7f39d92f 15719 * include/grub/auth.h: Include `<grub/i18n.h>'.
15720 (GRUB_GET_PASSWORD): Gettextizze string.
15721 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
15722 menu_text.c.
15723 (grub_utf8_to_ucs4_alloc): Fix indentation.
15724 (grub_print_ucs4): Likewise.
15725 (grub_getstringwidth): Likewise.
15726 (print_message_indented): New declaration.
15727 * normal/auth.c: Include `<grub/i18n.h>'.
15728 (grub_auth_check_authentication): Gettexttize string.
15729 * normal/cmdline.c: Include `<grub/i18n.h>'.
15730 (grub_cmdline_get): Gettextizze.
15731 * normal/color.c: Include `<grub/i18n.h>'.
15732 (grub_parse_color_name_pair): Gettexttize strings.
15733 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
15734 string (use `print_message_indented').
15735 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
15736 `include/grub/normal.h'.
15737 (print_message_indented): Renamed to ...
15738 (grub_print_message_indented): ... this. Remove `static' qualifer (now
15739 used in normal/main.c).
15740 (print_message): Use `grub_print_message_indented' instead of
15741 `print_message_indented'.
15742 (print_timeout): Likewise.
15743 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
15744 (grub_normal_print_device_info): Gettexttize strings.
15745 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
15746
3041d898
VS
157472009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
15748
15749 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
15750 of arguments. Return number of tokens and not arguments. All users
15751 updated.
15752
de15bf8e
VS
157532009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
15754
15755 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
15756 non-MSDOS paritions.
15757
e0a6ca52
VS
157582009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
15759
15760 * include/grub/types.h (UNUSED): Removed since it conflicts with
15761 NetBSD headers. All users changed to direct __attribute__ ((unused)).
15762 Reported by Grégoire Sutre.
15763
b99518d1 157642009-12-19 Carles Pina i Estany <carles@pina.cat>
15765
15766 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
15767 (grub_print_ucs4_alloc): Likewise.
15768 (grub_getstringwidth): Likewise.
15769 * normal/main.c (grub_normal_init_page): Gettextize version string.
15770 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
15771 (getstringwidth): Renamed to ...
15772 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
15773 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
15774 (grub_print_ucs4): Remove `static' qualifer (now used in
15775 normal/main.c).
15776 * po/POTFILES: Add normal/main.c.
15777
bfd5e52b 157782009-12-19 Carles Pina i Estany <carles@pina.cat>
15779
15780 * normal/menu_text.c (STANDARD_MARGIN): New macro.
15781 (print_message_indented): Add `margin_left' and `margin_right'
15782 parameters.
15783 (print_message): Update `print_message_indented' calls. Adds '\n' to the
15784 strings.
15785 (print_timeout): Use `print_message_indented' to print the message.
15786 Deletes `second_stage' parameter.
15787 (run_menu): Update `print_timeout' calls.
15788
5a1ad2b9
VS
157892009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
15790
15791 Fix console palette on OpenFirmware.
15792
15793 * term/ieee1275/ofconsole.c (MAX): Removed.
15794 (colors): Redone based on VGA palette.
15795 (grub_ofconsole_setcolor): Discard brightness bit since only 8
15796 colors are supported.
15797 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
15798
b045f00a
VS
157992009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
15800
15801 Fix potential EfiEmu double prepare.
15802
15803 * efiemu/main.c (prepared): New variable
15804 (grub_efiemu_unload): Set prepare to '0'.
15805 (grub_efiemu_prepare): Return if already prepared. Set prepared.
15806
15807 set_virtual_address_map support.
15808
15809 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
15810 prototype.
15811 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
15812 prototype.
15813 (grub_efiemu_crc32): Likewise.
15814 (grub_efiemu_crc64): Likewise.
15815 (grub_efiemu_set_virtual_address_map): Likewise.
15816 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
15817 New definition.
15818 (grub_autoefi_set_virtual_address_map): Likewise.
15819 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
15820 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
15821 Restructure flow to accomodate it.
15822 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
15823 (grub_efiemu_crc): Recompute CRC32.
15824 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
15825 (efiemu_ptv_relocated): ... this. Made global. All users updated.
15826 * efiemu/symbols.c (relocated_handle): New variable.
15827 (grub_efiemu_free_syms): Free relocated_handle.
15828 (grub_efiemu_alloc_syms): Allocate relocated_handle.
15829 (grub_efiemu_write_sym_markers): New function.
15830 (grub_efiemu_set_virtual_address_map): Likewise.
15831
15832 Newer XNU parameters.
15833
15834 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
15835 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
15836 (grub_xnu_fill_devicetree): New prototype.
15837 (grub_xnu_heap_real_start): New variable.
15838 * loader/xnu.c (get_name_ptr): New function.
15839 (grub_xnu_load_driver): Fill namelen and name.
15840
15841 64-bit xnu support.
15842
15843 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
15844 and 'loader/macho64.c'.
15845 * conf/i386-pc.rmk: Likewise.
15846 * conf/x86_64-efi.rmk: Likewise.
15847 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
15848 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
15849 * include/grub/macho.h (grub_macho_segment64): New structure.
15850 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
15851 (grub_macho_size32): ... to this.
15852 (grub_macho32_get_entry_point): Renamed from ...
15853 (grub_macho_get_entry_point32): ... to this.
15854 (grub_macho_contains_macho64): New prototype.
15855 (grub_macho_size64): Likewise.
15856 (grub_macho_get_entry_point64): Likewise.
15857 (grub_macho32_load): Renamed from ...
15858 (grub_macho_load32): ... to this.
15859 (grub_macho32_filesize): Renamed from ...
15860 (grub_macho_filesize32): ... to this.
15861 (grub_macho32_readfile): Renamed from ...
15862 (grub_macho_readfile32): ... to this.
15863 (grub_macho_filesize64): New prototype.
15864 (grub_macho_readfile64): Likewise.
15865 (grub_macho_parse32): Likewise.
15866 (grub_macho_parse64): Likewise.
15867 * loader/macho.c: Split into ...
15868 * loader/machoXX.c: ... and this. Replace 32 with XX.
15869 * loader/macho32.c: New file.
15870 * loader/macho64.c: Likewise.
15871 * loader/xnu.c (grub_xnu_is_64bit): New variable.
15872 (grub_cmd_xnu_kernel): Make 32-bit only.
15873 (grub_cmd_xnu_kernel64): New function.
15874 (grub_xnu_load_driver): Support Mach-O 64.
15875 (grub_cmd_xnu_mkext): Likewise.
15876 * util/grub.d/30_os-prober.in (osx_entry): New function.
15877 Generate entries for 64-bit boot too.
15878
15879 Eliminate ad-hoc tree format in XNU and EfiEmu.
15880
15881 * efiemu/main.c (grub_efiemu_prepare): Update comment.
15882 * efiemu/pnvram.c: Rewritten to use environment variables.
15883 All users updated.
15884
15885 Inline utf16_to_utf8.
15886
15887 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
15888 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
15889 All users updated.
15890 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
15891
15892 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
15893 * commands/usbtest.c (grub_usb_get_string): ... move here.
15894 (usb_print_str): Fix error handling.
15895 * include/grub/usb.h (grub_usb_get_string): Remove.
15896
15897 UTF-8 to UTF-16 transformation.
15898
15899 * conf/common.rmk (pkglib_MODULES): Add charset.mod
15900 (charset_mod_SOURCES): New variable.
15901 (charset_mod_CFLAGS): Likewise.
15902 (charset_mod_LDFLAGS): Likewise.
15903 * include/grub/utf.h: New file.
15904 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
15905
15906 Support for device properties.
15907
15908 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
15909 (grub_xnu_devprop_device_header): Likewise.
15910 (grub_xnu_devprop_device_descriptor): Likewise.
15911 (grub_xnu_devprop_add_device): New prototype.
15912 (grub_xnu_devprop_remove_device): Likewise.
15913 (grub_xnu_devprop_remove_property): Likewise.
15914 (grub_xnu_devprop_add_property_utf8): Likewise.
15915 (grub_xnu_devprop_add_property_utf16): Likewise.
15916 (grub_cpu_xnu_init): Likewise.
15917 (grub_cpu_xnu_fini): Likewise.
15918 (grub_cpu_xnu_unload): Likewise.
15919 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
15920 (property_descriptor): Likewise.
15921 (devices): New variable.
15922 (grub_xnu_devprop_remove_property): New function.
15923 (grub_xnu_devprop_add_device): Likewise.
15924 (grub_xnu_devprop_remove_device): Likewise.
15925 (grub_xnu_devprop_add_property): Likewise.
15926 (grub_xnu_devprop_add_property_utf8): Likewise.
15927 (grub_xnu_devprop_add_property_utf16): Likewise.
15928 (hextoval): Likewise.
15929 (grub_cpu_xnu_fill_devprop): Likewise.
15930 (grub_cmd_devprop_load): Likewise.
15931 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
15932 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
15933 (cmd_devprop_load): New variable.
15934 (grub_cpu_xnu_init): New function.
15935 (grub_cpu_xnu_fini): Likewise.
15936 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
15937 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
15938 (grub_cmd_xnu_devtree): Likewise.
15939 (hextoval): New function.
15940 (unescape): Likewise.
15941 (grub_xnu_fill_devicetree): Likewise.
15942
15943 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
15944 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
15945
0945f181
VS
159462009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
15947
15948 Workaround for broken ATI VBE.
15949
15950 * video/i386/pc/vbe.c (last_set_mode): New variable.
15951 (grub_vbe_set_video_mode): Set 'last_set_mode'.
15952 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
15953 (grub_video_vbe_setup): Don't check for reserved flag.
15954
0ad46fd7 159552009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
15956
15957 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
15958 the `find' command.
15959
c179ebe4
VS
159602009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
15961
15962 UUID support for HFS.
15963
15964 * fs/hfs.c (grub_hfs_uuid): New function.
15965 (grub_hfs_fs): New value .uuid.
15966 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
15967
0ad46fd7 159682009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
15969
15970 Fix a segfault with parsing unknown long options.
15971
15972 * util/grub-mkrelpath.c (options): Zero terminate it.
15973
c4a3e41a
CPE
159742009-12-13 Carles Pina i Estany <carles@pina.cat>
15975
15976 * include/grub/misc.h (grub_puts): New declaration.
15977 (grub_puts_): Likewise.
a22008a6 15978 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
15979 (grub_puts_): Likewise.
15980
2e8a7602
RM
159812009-12-13 Robert Millan <rmh.grub@aybabtu.com>
15982
15983 * util/grub-probe.c (probe): Improve error message.
15984
b50b77b9
RM
159852009-12-13 Robert Millan <rmh.grub@aybabtu.com>
15986
15987 * loader/i386/multiboot_elfxx.c
15988 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
15989 initialization.
15990
159912009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
15992
15993 Relocator framework
15994
15995 * loader/i386/xnu_helper.S: Removed. All users updated.
15996 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
15997 (relocator_mod_SOURCES): New variable.
15998 (relocator_mod_CFLAGS): Likewise.
15999 (relocator_mod_LDFLAGS): Likewise.
16000 (relocator_mod_ASFLAGS): Likewise.
16001 * conf/x86_64.rmk: Likewise.
16002 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
16003 (grub_multiboot_payload_entry_offset): Likewise.
16004 (grub_multiboot_forward_relocator): Likewise.
16005 (grub_multiboot_forward_relocator_end): Likewise.
16006 (grub_multiboot_backward_relocator): Likewise.
16007 (grub_multiboot_backward_relocator_end): Likewise.
16008 (grub_multiboot_payload_eip): New variable.
16009 (grub_multiboot_payload_orig): Likewise.
16010 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
16011 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
16012 * include/grub/i386/memory.h
16013 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
16014 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
16015 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
16016 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
16017 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
16018 * include/grub/i386/relocator.h: New file.
16019 * include/grub/x86_64/relocator.h: Likewise.
16020 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
16021 (XNU_RELOCATOR): New macro.
16022 (grub_xnu_launcher_start): Remove.
16023 (grub_xnu_launcher_end): Likewise.
16024 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
16025 (grub_xnu_heap_real_start): Remove.
16026 (grub_xnu_heap_start): Change to void *. All users updated.
16027 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
16028 * lib/i386/relocator.c: New file.
16029 * lib/i386/relocator_asm.S: Likewise.
16030 * lib/i386/relocator_backward.S: Likewise.
16031 * lib/mips/relocator.c: Likewise.
16032 * lib/mips/relocator_asm.S: Likewise.
16033 * lib/relocator.c: Likewise.
16034 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
16035 (entry): Removed.
16036 (playground): Likewise.
16037 (grub_multiboot_payload_orig): New variable.
16038 (grub_multiboot_payload_dest): Likewise.
16039 (grub_multiboot_payload_size): Likewise.
16040 (grub_multiboot_payload_eip): Likewise.
16041 (grub_multiboot_payload_esp): Likewise.
16042 (grub_multiboot_boot): Use grub_relocator32_boot.
16043 (grub_multiboot_unload): Free relocators.
16044 (grub_multiboot): Setup stack. Use relocators.
16045 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
16046 (grub_multiboot_load_elfXX): Use relocators.
16047 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
16048 (grub_multiboot_payload_size): Likewise.
16049 (grub_multiboot_payload_dest): Likewise.
16050 (grub_multiboot_payload_entry_offset): Likewise.
16051 (grub_multiboot_forward_relocator): Likewise.
16052 (grub_multiboot_backward_relocator): Likewise.
16053 (grub_multiboot_real_boot): Likewise.
16054 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
16055 (grub_xnu_entry_point): Likewise.
16056 (grub_xnu_arg1): Likewise.
16057 (grub_xnu_stack): Likewise.
16058 (grub_xnu_launch): Removed.
16059 (grub_xnu_boot_resume): New function.
16060 (grub_xnu_boot): Use relocators.
16061 * loader/i386/xnu_helper.S: Removed.
16062 * loader/xnu.c (grub_xnu_heap_start): New variable.
16063 (grub_xnu_heap_size): Likewise.
16064 (grub_xnu_heap_malloc): Use relocators.
16065 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
16066
29eb90c6
VS
160672009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
16068
16069 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
16070 anything.
16071
31027430
CPE
160722009-12-13 Carles Pina i Estany <carles@pina.cat>
16073
16074 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
16075 GRUB_ERR_NONE before calling grub_env_set.
16076
dc0c71d9
RM
160772009-12-12 Robert Millan <rmh@aybabtu.com>
16078
16079 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
16080 * genmk.rb (video): New variable.
16081 (CLEANFILES, VIDEOFILES): Add #{video}.
16082 (#{video}): New target rule.
16083 * genvideolist.sh: New file.
16084 * Makefile.in (pkglib_DATA): Add video.lst.
16085 (video.lst): New target rule.
16086 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
16087 `video.lst'.
16088 * util/grub.d/30_os-prober.in: Replace `vbe' with
16089 ${GRUB_VIDEO_BACKEND}.
16090
2a4bfcf0
RM
160912009-12-11 Robert Millan <rmh.grub@aybabtu.com>
16092
16093 * THANKS: Add David Miller.
16094
2a3aa4d5
RM
160952009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
16096
16097 libpciaccess support.
16098
16099 * Makefile.in (LIBPCIACCESS): New variable.
16100 (enable_grub_emu_pci): Likewise.
16101 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
16102 util/pci.c and commands/lspci.c.
16103 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
16104 * configure.ac (grub-emu-pci): New option.
16105 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
16106 (grub_pci_device_unmap_range): Likewise.
16107 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
16108 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
16109 (grub_pci_address_t) [!GRUB_UTIL]: New type.
16110 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
16111 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
16112 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
16113 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
16114 * include/grub/pciutils.h: New file.
16115 * util/pci.c: Likewise.
16116
0ad46fd7 161172009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
16118
16119 * util/misc.c: Don't include <errno.h> twice.
16120
0ad46fd7 161212009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
16122
16123 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
16124 name in an error message.
16125 (grub_biosdisk_rw): Likewise.
16126
2e59983c
VS
161272009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
16128
16129 Eliminate NTFS 4Gib barrier.
16130
16131 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
16132 (read_run_data): Likewise.
16133 (grub_ntfs_read_run_list): Likewise.
16134 (grub_ntfs_read_block): Likewise.
16135 (grub_ntfs_iterate_dir): Likewise.
16136 (read_mft): Likewise.
16137 (read_data): Likewise.
16138 Use COM_LOG_LEN.
16139 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
16140 to avoid 64-bit division
16141 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
16142 (grub_ntfs_rlst): Use grub_disk_addr_t.
16143
71ee178a
VS
161442009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
16145
16146 Eliminate grub-fstest 4Gib barrier.
16147
16148 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
16149 (read_file): Fix error reporting.
16150
2520d4b8
VS
161512009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
16152
16153 Eliminate hexdump 4Gib barrier.
16154
16155 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
16156 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
16157
e1f27065
VS
161582009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
16159
16160 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
16161 Fixes amarsh bug.
16162
1a0f7f45
RM
161632009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
16164
16165 Remove miscellaneous files in distclean target.
16166
16167 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
16168
c631d9fb
CW
161692009-12-09 Colin Watson <cjwatson@ubuntu.com>
16170
16171 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
16172 if they're already set. This resolves the conflict between my
16173 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
16174 fixing the --grub-probe option again.
16175 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
16176 change on 2009-10-06, so that we now once again source
16177 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
16178
7c7b6106
RM
161792009-12-08 Robert Millan <rmh.grub@aybabtu.com>
16180
16181 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
16182 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
16183 `util/devicemap.c'.
16184
e3069ec1
CPE
161852009-12-08 Carles Pina i Estany <carles@pina.cat>
16186
16187 * include/grub/misc.h (grub_printf_): New declaration.
16188 * kern/misc.c (grub_printf_): New definition.
16189 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
16190 instead of `grub_printf' and `_'.
16191 * normal/menu_entry.c (store_completion): Likewise.
16192 (run): Likewise.
16193 (grub_menu_entry_run): Likewise.
16194 * normal/menu_text.c (grub_wait_after_message): Likewise.
16195 (notify_booting): Likewise.
16196 (notify_fallback): Likewise.
16197 (notify_execution_failure): Likewise.
16198
d6ceebf1
CW
161992009-12-07 Colin Watson <cjwatson@ubuntu.com>
16200
16201 * configure.ac: Check for vasprintf.
16202 * util/misc.c (asprintf): Move allocation from here ...
16203 (vasprintf): ... to here. New function.
16204 (xasprintf): New function.
16205 * include/grub/util/misc.h (vasprintf, xasprintf): Add
16206 prototypes.
16207 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
16208 * util/grub-mkfont.c (write_font): Likewise.
16209 * util/grub-probe.c (probe): Likewise.
16210 * util/hostdisk.c (make_device_name): Likewise.
16211
de6daa8b
DM
162122009-12-06 David S. Miller <davem@sunset.davemloft.net>
16213
16214 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
16215 anything even prefixed with 'cdrom' as a cdrom.
16216
0ad46fd7 162172009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
16218
16219 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
16220 mount points.
16221
98d3dc02
CPE
162222009-12-05 Carles Pina i Estany <carles@pina.cat>
16223
16224 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
16225 grub_gettext_msg_list.
16226 (grub_gettext_gettranslation_from_position): Return const char *
16227 and not char *.
a2c1332b 16228 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
16229 returns from the list if existing there.
16230 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
16231 (grub_gettext_delete_list): Delete the list.
16232 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
16233 lang environment variable is changed.
16234 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
16235
b283f108
VS
162362009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
16237
16238 Rename kernel.mod to kernel.img.
16239
16240 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
16241 (kernel_mod_EXPORTS): Rename to ...
16242 (kernel_img_EXPORTS): ... this.
16243 (kernel_mod_SOURCES): Rename to ...
16244 (kernel_img_SOURCES): ... this.
16245 (kernel_mod_HEADERS): Rename to ...
16246 (kernel_img_HEADERS): ... this. All users updated.
16247 (kernel_mod_CFLAGS): Rename to ...
16248 (kernel_img_CFLAGS): ... this.
16249 (kernel_mod_ASFLAGS): Rename to ...
16250 (kernel_img_ASFLAGS): ... this.
16251 (kernel_mod_LDFLAGS): Rename to ...
16252 (kernel_img_LDFLAGS): ... this.
16253 * conf/x86_64-efi.rmk: Likewise.
16254 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
16255 (read_kernel_image): ... this. All users updated.
16256 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
16257
69055f8a
CPE
162582009-12-05 Carles Pina i Estany <carles@pina.cat>
16259
16260 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
16261 (print_spaces): New function.
16262 (grub_print_ucs4): New function.
16263 (getstringwidth): New function.
16264 (print_message_indented): New function.
16265 (print_message): Gettexttize strings using print_message_indented.
16266 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
16267 width.
16268 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 16269 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
16270 Gettextize.
16271 * normal/menu_entry.c (store_completion): Cleanup the gettextized
16272 string.
16273 (run): Likewise.
16274 (grub_menu_entry_run): Likewise.
16275 * PO/POTFILES: Add normal/menu_entry.c.
16276
f616f51c
VS
162772009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
16278
16279 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
16280
57bbe3be
CPE
162812009-12-05 Carles Pina i Estany <carles@pina.cat>
16282
16283 * util/grub-install.in: Install gettext .mo files.
16284 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
16285
013d67a1
CPE
162862009-12-05 Carles Pina i Estany <carles@pina.cat>
16287
16288 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
16289 grub_dprintf.
16290
fb954db0
RM
162912009-12-05 Robert Millan <rmh.grub@aybabtu.com>
16292
16293 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
16294 non-firmware-dependant one in realmode.S takes precedence.
16295
6b8474f8
RM
162962009-12-04 Robert Millan <rmh.grub@aybabtu.com>
16297
16298 * commands/halt.c: Replace misc arch-specific headers with
16299 `<grub/misc.h>'.
16300 * commands/reboot.c: Likewise.
16301 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
16302 `<grub/misc.h>'.
16303 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
16304 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
16305 (kernel_img_SOURCES): ... to here.
16306
16307 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
16308 * include/grub/i386/pc/init.h: Likewise.
16309 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
16310 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
16311
16312 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
16313
16314 * include/grub/i386/halt.h: Remove.
16315 * include/grub/i386/reboot.h: Likewise.
16316
16317 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
16318
4b2e6ca2
DM
163192009-12-03 David S. Miller <davem@sunset.davemloft.net>
16320
16321 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
16322 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
16323 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
16324 "progname.h"
16325 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
16326 * util/sparc64/ieee1275/grub-setup.c: Likewise.
16327 (usage): Add missing comma in printf.
16328
5239348f
RM
163292009-12-02 Robert Millan <rmh.grub@aybabtu.com>
16330
16331 Use the same reboot approach on i386 coreboot and qemu as we do on
16332 BIOS.
16333
16334 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
16335 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
16336 * kern/i386/reboot.c: Remove.
16337 * include/grub/i386/reboot.h (grub_reboot): Export function.
16338 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
16339 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
16340 0xf000:0xfff0 instead of 0xffff:0x0000.
16341 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
16342 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
16343
ef34cbd4
RM
163442009-11-30 Robert Millan <rmh.grub@aybabtu.com>
16345
16346 Fix $srcdir != $objdir build.
16347
16348 * Makefile.in (po/%.po): Rewrite as ...
16349 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
16350
dc9837ea
ST
163512009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
16352
16353 Fix GNU/Hurd grub-install crash.
16354 * util/grub-probe.c (probe): Try to access `path' only when it is not
16355 NULL.
16356
2f857f98
VS
163572009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
16358
16359 Correct module naming.
16360
16361 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
16362 (GRUB_MOD_INIT(efi_uga)): ... to this
16363 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
16364 (GRUB_MOD_FINI(efi_uga)): ... to this
16365 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
16366 (GRUB_MOD_INIT(efi_gop)): ... to this
16367 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
16368 (GRUB_MOD_FINI(efi_gop)): ... to this
16369
c5448046
RM
163702009-11-28 Robert Millan <rmh.grub@aybabtu.com>
16371
16372 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
16373 translatable.
16374 (usage): Translate `arg' strings using gettext().
16375 Thanks to Jordi Mallach for the suggestion.
16376
c85184ad
VS
163772009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
16378
16379 GOP support. Based on patch from Bean
16380 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
16381
16382 * video/efi_gop.c: New file.
16383 * include/grub/efi/graphics_output.h: Likewise.
16384 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
16385 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
16386 variables.
16387 * conf/x86_64-efi.rmk: Likewise.
16388
8a4c48d8
VS
163892009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
16390
16391 Rename efi_fb to efi_uga.
16392
16393 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
16394 'efi_uga.mod'.
16395 (efi_fb_mod_SOURCES): Rename this ...
16396 (efi_uga_mod_SOURCES): ... to this.
16397 (efi_fb_mod_CFLAGS): Rename this ...
16398 (efi_uga_mod_CFLAGS): ... to this.
16399 (efi_fb_mod_LDFLAGS): Rename this ...
16400 (efi_uga_mod_LDFLAGS): ... to this.
16401 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
16402 'efi_uga.mod'.
16403 (efi_fb_mod_SOURCES): Rename this ...
16404 (efi_uga_mod_SOURCES): ... to this.
16405 (efi_fb_mod_CFLAGS): Rename this ...
16406 (efi_uga_mod_CFLAGS): ... to this.
16407 (efi_fb_mod_LDFLAGS): Rename this ...
16408 (efi_uga_mod_LDFLAGS): ... to this.
16409 * video/efi_fb.c: Move this ...
16410 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
16411
fb6c1a7b
RM
164122009-11-27 Robert Millan <rmh.grub@aybabtu.com>
16413
16414 * po/README: New file. Explain our PO file workflow.
16415
3bc7896c
RM
164162009-11-27 Robert Millan <rmh.grub@aybabtu.com>
16417
16418 * po/ChangeLog: Remove. Move relevant entries back to ...
16419 * ChangeLog: ... here.
16420 * po/ca.po: Remove (now handled by TLP).
16421 * po/id.po: Likewise.
16422 * po/zh_CN.po: Likewise.
16423 * Makefile.in (LINGUAS): Initialize in a way that supports
16424 empty set.
16425
9ed4841d
RM
164262009-11-27 Robert Millan <rmh.grub@aybabtu.com>
16427
16428 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
16429 reliing on po/LINGUAS.
16430 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
16431 (po/%.po): ... this.
16432
0ad46fd7 164332009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
16434
16435 * util/i386/efi/grub-mkimage.c: Include "progname.h".
16436 (main): Use `program_name' instead of nonexistent `progname'.
16437
e30dd392
FZ
164382009-11-26 Felix Zielcke <fzielcke@z-51.de>
16439
16440 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
16441 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
16442
7656de4f
RM
164432009-11-26 Robert Millan <rmh.grub@aybabtu.com>
16444
16445 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
16446 commit.
16447 * conf/i386-efi.rmk: Likewise.
16448 * conf/i386-ieee1275.rmk: Likewise.
16449 * conf/powerpc-ieee1275.rmk: Likewise.
16450 * conf/sparc64-ieee1275.rmk: Likewise.
16451 * conf/x86_64-efi.rmk: Likewise.
16452
db77c4d4
FZ
164532009-11-26 Felix Zielcke <fzielcke@z-51.de>
16454
16455 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
16456
a755bb04
FZ
164572009-11-26 Felix Zielcke <fzielcke@z-51.de>
16458
16459 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
16460
8a4c07fd
RM
164612009-11-26 Robert Millan <rmh.grub@aybabtu.com>
16462
16463 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
16464 (grub_mkdevicemap_SOURCES): New variable.
16465 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
16466 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
16467 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
16468 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
16469 (grub_mkdevicemap_SOURCES): Remove.
16470 * conf/i386-efi.rmk: Likewise.
16471 * conf/i386-ieee1275.rmk: Likewise.
16472 * conf/i386-pc.rmk: Likewise.
16473 * conf/powerpc-ieee1275.rmk: Likewise.
16474 * conf/sparc64-ieee1275.rmk: Likewise.
16475 * conf/x86_64-efi.rmk: Likewise.
16476 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
16477 (usage): Fix strings to use `program_name'.
16478 (main): Initialize gettext.
16479 * util/grub-editenv.c: Likewise.
16480 * util/grub-emu.c: Likewise.
16481 * util/grub-fstest.c: Likewise.
16482 * util/grub-mkdevicemap.c: Likewise.
16483 * util/grub-mkfont.c: Likewise.
16484 * util/grub-mkrelpath.c: Likewise.
16485 * util/grub-pe2elf.c: Likewise.
16486 * util/grub-probe.c: Likewise.
16487 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
16488 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
16489 * util/sparc64/ieee1275/grub-setup.c: Likewise.
16490
16491 * util/misc.c: Include `"progname.h"'.
16492 (progname): Remove variable.
16493 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
16494
6f61ed55
FZ
164952009-11-25 Felix Zielcke <fzielcke@z-51.de>
16496
16497 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
16498 printf and print a newline after the menuentry header line.
16499 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
16500
f022876b
FZ
165012009-11-25 Felix Zielcke <fzielcke@z-51.de>
16502
16503 autoconf >= 2.60 support $(localedir).
16504
16505 * INSTALL: Note that autoconf 2.60 is required.
16506 * configure.ac (AC_PREREQ): Bump to 2.60.
16507 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
16508 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
16509
6717926e
YB
165102009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
16511
16512 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
16513 aclocal is run.
16514
08806a54
RM
165152009-11-25 Robert Millan <rmh.grub@aybabtu.com>
16516
16517 * normal/main.c (grub_normal_read_line): Fix off-by-one
16518 buffer overflow.
16519
13b33fba
RM
165202009-11-25 Robert Millan <rmh.grub@aybabtu.com>
16521
16522 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
16523 "parser.grub" in grub_command_execute() call.
16524
4a8572e9
CPE
165252009-11-24 Carles Pina i Estany <carles@pina.cat>
16526
16527 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
16528 * conf/i386-efi.rmk: Likewise.
16529 * conf/i386-ieee1275.rmk: Likewise.
16530 * conf/i386-pc.rmk: Likewise.
16531 * conf/powerpc-ieee1275.rmk: Likewise.
16532 * conf/sparc64-ieee1275.rmk: Likewise.
16533 * conf/x86_64-efi.rmk: Likewise.
16534 * gettext/gettex.c: Include <grub/i18n.h>.
16535 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
16536 here ...
16537 * include/grub/i18n.h: ... to here
16538 * include/grub/i18n.h: ... to here.
16539 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 16540 (grub_gettext_dummy): Move above user.
4a8572e9 16541
bee48093
FZ
165422009-11-24 Felix Zielcke <fzielcke@z-51.de>
16543
16544 * util/Makefile.in (install-local): Convert a `for' into a normal
16545 shell expansion.
16546
a031e91c
RM
165472009-11-24 Robert Millan <rmh.grub@aybabtu.com>
16548
16549 * autogen.sh: Add automake call.
16550 * config.guess: Remove.
16551 * config.sub: Likewise.
16552 * install-sh: Likewise.
16553
26bec39d
FZ
165542009-11-24 Felix Zielcke <fzielcke@z-51.de>
16555
16556 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
16557
8e2532fd
FZ
165582009-11-24 Felix Zielcke <fzielcke@z-51.de>
16559
16560 * util/Makefile.in (install-local): Convert a make `$(foreach)'
16561 function to a normal shell `for'.
16562
fefa1b7d
FZ
165632009-11-24 Felix Zielcke <fzielcke@z-51.de>
16564
16565 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
16566
4501250b
FZ
165672009-11-24 Felix Zielcke <fzielcke@z-51.de>
16568
16569 * util/grub-mkrelpath.c: New file.
16570 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
16571 (grub_mkrelpath_SOURCES): New variable.
16572 * include/grub/util/misc.h: New function prototype.
16573 * util/misc.c (make_system_path_relative_to_its_root): New function.
16574
16575 * util/grub-mkconfig_lib.in (bindir): New variable.
16576 (grub_mkrelpath): Likewise.
16577 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
16578
16579 * util/probe.c (probe): Make the file path relative to its root.
16580 Change a info message to use the GRUB path. Enable again the
16581 check if we can read the file with GRUB facilities.
16582
16583 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
16584 to its root.
16585
11d9778b
FZ
165862009-11-24 Felix Zielcke <fzielcke@z-51.de>
16587
16588 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
16589 platform.
16590
4465287d
FZ
165912009-11-24 Felix Zielcke <fzielcke@z-51.de>
16592
16593 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
16594 strncmp().
16595
62b47f22
FZ
165962009-11-24 Felix Zielcke <fzielcke@z-51.de>
16597
16598 * util/getroot.c (grub_util_is_dmraid): New function.
16599 (grub_util_get_dev_abstraction): Treat dmraid and multipath
16600 devices as normal ones, not as LVM.
16601
1eafb9b9 166022009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
16603
16604 * conf/common.rmk: Add grub-gettext_lib target and updates
16605 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
16606 LDFLAGS.
16607 * gettext/gettext.c: New file. (Reads mo files).
16608 * include/grub/file.h (grub_file_pread): New prototype.
16609 * include/grub/i18n.h (_): New prototype.
16610 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
16611 prototypes.
16612 * kern/misc.c (grub_gettext_dummy): New function.
16613 * normal/menu_text.c: Include <grub/i18n.h>.
16614 * normal/menu_text.c (print_timeout): Gettexttize string.
16615 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
16616 * po/POTFILES: Add `normal/menu_text.c'.
16617 * po/ca.po: Add new translations.
c3ea6bd4
CPE
16618 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
16619 gettext module and defines locale_dir and lang in grub.cfg.
16620 * NEWS: Add gettext support.
16621
0fdb2568
RM
166222009-11-23 Robert Millan <rmh.grub@aybabtu.com>
16623
16624 * util/hostdisk.c: Include `<grub/i18n.h>'.
16625 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
16626 (make_device_name): Rewrite using asprintf.
16627 (convert_system_partition_to_system_disk): Replace 0 with NULL.
16628 (find_system_device): If a device is not found, generate one just
16629 by reusing the OS path name.
16630 (read_device_map): Make it permissible for device.map not to exist.
16631
f515aa62
RM
166322009-11-23 Robert Millan <rmh.grub@aybabtu.com>
16633
16634 * script/sh/execute.c: Move from here ...
16635 * script/execute.c: ... to here. Update all users.
16636 * script/sh/function.c: Move from here ...
16637 * script/function.c: ... to here. Update all users.
16638 * script/sh/lexer.c: Move from here ...
16639 * script/lexer.c: ... to here. Update all users.
16640 * script/sh/main.c: Move from here ...
16641 * script/main.c: ... to here. Update all users.
16642 * script/sh/parser.y: Move from here ...
16643 * script/parser.y: ... to here. Update all users.
16644 * script/sh/script.c: Move from here ...
16645 * script/script.c: ... to here. Update all users.
16646
f84b481b
RM
166472009-11-23 Robert Millan <rmh.grub@aybabtu.com>
16648
16649 * configure.ac: Detect all `emu' platforms. Define
16650 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
16651 --enable-grub-emu logic. Disable include/grub/machine
16652 symlink on `emu' platforms.
16653
16654 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
16655 * gensymlist.sh.in: Likewise.
16656
16657 * include/grub/i386/coreboot/machine.h: Remove file.
16658 * include/grub/i386/efi/machine.h: Likewise.
16659 * include/grub/i386/ieee1275/machine.h: Likewise.
16660 * include/grub/i386/pc/machine.h: Likewise.
16661 * include/grub/i386/qemu/machine.h: Likewise.
16662 * include/grub/powerpc/ieee1275/machine.h: Likewise.
16663 * include/grub/sparc64/ieee1275/machine.h: Likewise.
16664 * include/grub/x86_64/efi/machine.h: Likewise.
16665
16666 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
16667 * commands/halt.c: Likewise.
16668 * commands/reboot.c: Likewise.
16669 * include/grub/autoefi.h: Likewise.
16670 * include/grub/i386/at_keyboard.h: Likewise.
16671 * include/grub/i386/kernel.h: Likewise.
16672 * include/grub/i386/loader.h: Likewise.
16673 * include/grub/i386/pc/memory.h: Likewise.
16674 * kern/dl.c: Likewise.
16675 * kern/i386/coreboot/init.c: Likewise.
16676 * loader/i386/bsd.c: Likewise.
16677 * loader/i386/linux.c: Likewise.
16678 * loader/multiboot_loader.c: Likewise.
16679 * term/i386/pc/serial.c: Likewise.
16680 * term/usb_keyboard.c: Likewise.
16681
16682 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
16683 `<grub/machine/machine.h>'
16684 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
16685 * util/misc.c: Remove `<grub/machine/machine.h>' and
16686 `<grub/machine/time.h>'.
16687
16688 * Makefile.in (enable_grub_emu): Remove variable.
16689 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
16690
16691 * conf/any-emu.rmk: New file.
16692 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
16693 (grub_emu_init.c): Move from here ...
16694 * conf/any-emu.rmk: ... to here.
16695
16696 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
16697 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
16698 * conf/any-emu.rmk: ... to here.
16699
4efeab03
RM
167002009-11-23 Robert Millan <rmh.grub@aybabtu.com>
16701
16702 * include/grub/parser.h (grub_parser_register): Document need
16703 of `name' parameter.
16704 * normal/main.c (grub_normal_read_line): Simplify prompt string.
16705 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
16706 "sh" to "grub".
16707
ea1dd8bf
RM
167082009-11-23 Robert Millan <rmh.grub@aybabtu.com>
16709
16710 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
16711 `$(XGETTEXT)'.
16712 * include/grub/i18n.h (N_): New macro.
16713 * util/mkisofs/mkisofs.h: Likewise.
16714 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
16715 around N_().
16716 (usage): Use gettext() to translate help strings when printing them.
16717
0c140626
RM
167182009-11-23 Robert Millan <rmh.grub@aybabtu.com>
16719
16720 Based on patch from Bean
16721 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
16722
16723 * video/efi_fb.c: New file.
16724 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
16725 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
16726 variables.
16727 * conf/x86_64-efi.rmk: Likewise.
16728
87d58298
RM
167292009-11-22 Robert Millan <rmh.grub@aybabtu.com>
16730
16731 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
16732 * util/i386/pc/grub-setup.c: Likewise.
16733
994cc3a3
ST
167342009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
16735
16736 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
16737 <hurd/fs.h>
16738 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
16739 file_get_storage_info to implement grub_guess_root_device.
16740
26a61d6a
FZ
167412009-11-21 Felix Zielcke <fzielcke@z-51.de>
16742
16743 * Makefile.in (target): Use make's builtin $(shell) function
16744 instead of calling directly $(SHELL) to create the locale directories,
16745 inside the $(foreach) function.
16746
74ff1dd5
FZ
167472009-11-21 Felix Zielcke <fzielcke@z-51.de>
16748
16749 * util/grub-mkrescue.in: Print an error and usage if output option
16750 has not been given.
16751
0b787d0e
FZ
167522009-11-21 Felix Zielcke <fzielcke@z-51.de>
16753
16754 Patch from Loïc Minier <loic.minier@ubuntu.com>.
16755 * util/grub.d/30_os-prober.in: Cope with Linux entries where
16756 root and /boot are on different devices.
16757
1164b270
RM
167582009-11-21 Robert Millan <rmh.grub@aybabtu.com>
16759
16760 Fix build for srcdir != objdir.
16761
16762 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
16763 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
16764 $(srcdir).
16765 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
16766 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
16767 reference for input.
16768
13774a2f
RM
167692009-11-21 Robert Millan <rmh.grub@aybabtu.com>
16770
16771 * util/grub-mkrescue.in: Use source directory direcly (without copiing
16772 or hardlinking it). Remove -J option, Joliet is not compatible with
16773 multiple source directories.
16774
efda854e
RM
167752009-11-21 Carles Pina i Estany <carles@pina.cat>
167762009-11-21 Robert Millan <rmh.grub@aybabtu.com>
16777
16778 * util/grub-mkrescue.in: Recognize `--override-directory' option.
16779 (process_input_dir): New function. Process an arbitrary input
16780 directory.
16781 Misc adjustments to support both "override mode" and system-wide mode.
16782
6c09890c
FZ
167832009-11-20 Felix Zielcke <fzielcke@z-51.de>
16784
16785 * configure.ac (UNIFONT_BDF): Rename to ...
16786 (FONT_SOURCE): ... this. Update all users.
16787
a797824f
FZ
167882009-11-20 Felix Zielcke <fzielcke@z-51.de>
16789
16790 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
16791 to the list of unifont files to look for.
16792
cd4f42b0
RM
167932009-11-19 Robert Millan <rmh.grub@aybabtu.com>
16794
16795 Patch from Joe Auricchio <jauricchio@gmail.com>
16796 * commands/minicmd.c (grub_mini_cmd_clear): New function.
16797 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
16798 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
16799
393c783d
FZ
168002009-11-19 Felix Zielcke <fzielcke@z-51.de>
16801
16802 * Makefile.in (install-local): Add a missing backslash.
16803
b2f1e327
FZ
168042009-11-19 Felix Zielcke <fzielcke@z-51.de>
16805
16806 * include/grub/x86_64/io.h: New file.
16807
f577f7a0
RM
168082009-11-19 Robert Millan <rmh.grub@aybabtu.com>
16809
16810 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
16811 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
16812 Include `"progname.h"'.
16813 (main): Initialize gettext.
16814 * util/i386/pc/grub-setup.c: Gettexttize.
16815 * util/i386/pc/grub-mkimage.c: Likewise.
16816
16817 * Makefile.in (po/*.po): Redefine as ...
16818 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
16819
3bc7896c
RM
16820 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
16821
c37943b6
RM
168222009-11-19 Robert Millan <rmh.grub@aybabtu.com>
16823
16824 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
16825 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
16826 (program_name): Remove.
16827 (main): Initialize gettext support.
6323f705
RM
16828 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
16829 Include `<libintl.h>'.
16830 (_): New macro.
c37943b6
RM
16831
16832 * util/mkisofs/eltorito.c: Gettexttize.
16833 * util/mkisofs/joliet.c: Likewise.
16834 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
16835 * util/mkisofs/multi.c: Likewise.
16836 * util/mkisofs/rock.c: Likewise.
16837 * util/mkisofs/tree.c: Likewise.
16838 * util/mkisofs/write.c: Likewise.
16839
3bc7896c
RM
16840 * po/POTFILES: Update with new files.
16841
5ce77c6e
RM
168422009-11-18 Robert Millan <rmh.grub@aybabtu.com>
16843
16844 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
16845 * util/mkisofs/iso9660.h: Likewise.
16846 * util/mkisofs/joliet.c: Likewise.
16847 * util/mkisofs/mkisofs.c: Likewise.
16848 * util/mkisofs/mkisofs.h: Likewise.
16849 * util/mkisofs/rock.c: Likewise.
16850 * util/mkisofs/tree.c: Likewise.
16851 * util/mkisofs/write.c: Likewise.
16852
16853 * util/mkisofs/eltorito.c (rcsid): Remove.
16854 * util/mkisofs/hash.c: Likewise.
16855 * util/mkisofs/joliet.c: Likewise.
16856 * util/mkisofs/name.c: Likewise.
16857 * util/mkisofs/rock.c: Likewise.
16858 * util/mkisofs/tree.c: Likewise.
16859 * util/mkisofs/write.c: Likewise.
16860
1dabbc77
RM
168612009-11-18 Robert Millan <rmh.grub@aybabtu.com>
16862
16863 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
16864 instead of static allocation.
16865 * util/mkisofs/match.h: Likewise.
16866
633877cb
RM
168672009-11-18 Robert Millan <rmh.grub@aybabtu.com>
16868
3bc7896c
RM
16869 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
16870 and `util/grub.d/10_linux.in'.
633877cb
RM
16871 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
16872 translatable Shell files.
16873
af1c0c85
RM
168742009-11-18 Robert Millan <rmh.grub@aybabtu.com>
16875
16876 * Makefile.in ($(srcdir)/aclocal.m4): New target.
16877
769ae37b
RM
168782009-11-17 Robert Millan <rmh.grub@aybabtu.com>
16879
16880 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 16881 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
16882 * util/grub.d/10_kfreebsd.in (bindir): New variable.
16883 Add gettext initialization.
16884 (kfreebsd_entry): Make menuentry output translatable.
16885
168862009-11-17 Robert Millan <rmh.grub@aybabtu.com>
16887
16888 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
16889 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
16890 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
16891 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
16892 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 16893 * po/LINGUAS: New file.
769ae37b
RM
16894
168952009-11-17 Robert Millan <rmh.grub@aybabtu.com>
16896
16897 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
16898 other things).
16899 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
16900 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
16901 bindtextdomain() calls for gettext initialization.
16902
169032009-11-17 Robert Millan <rmh.grub@aybabtu.com>
16904
16905 * gnulib/progname.c: New file (imported from Gnulib).
16906 * gnulib/progname.h: Likewise.
16907 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
16908 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
16909 (usage): Replace `progname' with `program_name'.
16910 (main): Use set_program_name() for program name initialization.
16911
169122009-11-17 Robert Millan <rmh.grub@aybabtu.com>
16913
16914 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
16915 from here ...
16916 * Makefile.in (CPPFLAGS): ... to here.
16917
169182009-11-16 Robert Millan <rmh.grub@aybabtu.com>
16919
16920 * aclocal.m4: Move from here ...
16921 * acinclude.m4: ... to here.
16922 * autogen.sh: Add call to `aclocal'.
16923 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
16924
169252009-11-16 Robert Millan <rmh.grub@aybabtu.com>
16926
16927 * Makefile.in (CLEANFILES): Add `po/*.mo'.
16928 (LINGUAS): New variable.
16929 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
16930 (install-local): Install MO files.
16931 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
16932 * include/grub/i18n.h: New file.
3bc7896c
RM
16933 * po/POTFILES: New file.
16934 * po/ca.po: New file.
769ae37b
RM
16935 * util/grub.d/10_linux.in (bindir): New variable.
16936 Add gettext initialization.
16937 (linux_entry): Make menuentry output translatable.
16938 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
16939 (usage): Make --help output translatable.
16940 (main): Initialize gettext.
16941
02c0a6ad
RM
169422009-11-17 Robert Millan <rmh.grub@aybabtu.com>
16943
16944 * import_gcry.py: New file (written by Vladimir with minor
16945 adjustments).
16946 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
16947 ciphers.
16948 * INSTALL: Document that Python is required for bootstrap.
16949
169502009-11-17 Robert Millan <rmh.grub@aybabtu.com>
16951
16952 Import ciphers from libgcrypt 1.4.4.
16953
16954 * lib/libgcrypt/cipher/ChangeLog
16955 * lib/libgcrypt/cipher/ac.c
16956 * lib/libgcrypt/cipher/arcfour.c
16957 * lib/libgcrypt/cipher/bithelp.h
16958 * lib/libgcrypt/cipher/blowfish.c
16959 * lib/libgcrypt/cipher/camellia-glue.c
16960 * lib/libgcrypt/cipher/camellia.c
16961 * lib/libgcrypt/cipher/camellia.h
16962 * lib/libgcrypt/cipher/cast5.c
16963 * lib/libgcrypt/cipher/cipher.c
16964 * lib/libgcrypt/cipher/crc.c
16965 * lib/libgcrypt/cipher/des.c
16966 * lib/libgcrypt/cipher/dsa.c
16967 * lib/libgcrypt/cipher/ecc.c
16968 * lib/libgcrypt/cipher/elgamal.c
16969 * lib/libgcrypt/cipher/hash-common.c
16970 * lib/libgcrypt/cipher/hash-common.h
16971 * lib/libgcrypt/cipher/hmac-tests.c
16972 * lib/libgcrypt/cipher/md.c
16973 * lib/libgcrypt/cipher/md4.c
16974 * lib/libgcrypt/cipher/md5.c
16975 * lib/libgcrypt/cipher/primegen.c
16976 * lib/libgcrypt/cipher/pubkey.c
16977 * lib/libgcrypt/cipher/rfc2268.c
16978 * lib/libgcrypt/cipher/rijndael-tables.h
16979 * lib/libgcrypt/cipher/rijndael.c
16980 * lib/libgcrypt/cipher/rmd.h
16981 * lib/libgcrypt/cipher/rmd160.c
16982 * lib/libgcrypt/cipher/rsa.c
16983 * lib/libgcrypt/cipher/seed.c
16984 * lib/libgcrypt/cipher/serpent.c
16985 * lib/libgcrypt/cipher/sha1.c
16986 * lib/libgcrypt/cipher/sha256.c
16987 * lib/libgcrypt/cipher/sha512.c
16988 * lib/libgcrypt/cipher/tiger.c
16989 * lib/libgcrypt/cipher/twofish.c
16990 * lib/libgcrypt/cipher/whirlpool.c
16991
af2f93ac
RM
169922009-11-16 Robert Millan <rmh.grub@aybabtu.com>
16993
16994 Fix build for systems without error().
16995
16996 * gnulib/error.c: New file (imported from Gnulib).
16997 * gnulib/error.h: Likewise.
16998 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
16999 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
17000 (this variable is now used by error()).
17001
73fb3dd5
FZ
170022009-11-16 Felix Zielcke <fzielcke@z-51.de>
17003
814f5e96
FZ
17004 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
17005 instead of relying that char is signed.
73fb3dd5 17006
a691ca33
VS
170072009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
17008
17009 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
17010 blocksize different from specified.
17011 (grub_pxefs_read): Likewise.
17012
2af8f0f4
FZ
170132009-11-16 Felix Zielcke <fzielcke@z-51.de>
17014
17015 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
17016
17017 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
17018 (grub_ata_readwrite): Likewise. Update 2 format strings.
17019 (grub_atapi_read): Likewise.
17020
17021 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
17022 * conf/i386.rmk (pkglib_MODULES): ... to here ...
17023 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
17024 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
17025 (ata_mod_LDFLAGS): Move from here ...
17026 * conf/i386.rmk: ... to here ...
17027 * conf/x86_64-efi.rmk: ... and here.
17028 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
17029 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
17030
83bdecaf
RM
170312009-11-16 Robert Millan <rmh.grub@aybabtu.com>
17032
17033 Relicense multiboot.h, with RMS' blessing.
17034
17035 * include/multiboot.h: Change to X11 license.
17036
fd6fd3d7
RM
170372009-11-15 Robert Millan <rmh.grub@aybabtu.com>
17038
17039 Support --version in grub-mkisofs.
17040
17041 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
17042 (OPTION_VERSION): New macro.
17043 (ld_options): Recognize --version.
17044 (usage): Move `program_name' from here ...
17045 (program_name): ... to here. Add `static' qualifier.
17046 (main): Recognize `OPTION_VERSION'.
17047
16a88c49
FZ
170482009-11-15 Felix Zielcke <fzielcke@z-51.de>
17049
17050 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
17051 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
17052
a4158476
RM
170532009-11-14 Robert Millan <rmh.grub@aybabtu.com>
17054
17055 Fix help2man generation for mkisofs.
17056
17057 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
17058 (usage): Send output to stdout (rather than stderr).
17059
fc2208b0
RM
170602009-11-14 Robert Millan <rmh.grub@aybabtu.com>
17061
17062 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
17063 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
17064 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
17065 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
17066 (bin_SCRIPTS): Add `grub-mkfloppy'.
17067 (grub_mkfloppy_SOURCES): New variable.
17068
17069 * util/grub-mkrescue.in: New file.
17070 * util/i386/pc/grub-mkfloppy.in: New file.
17071
17072 * util/i386/coreboot/grub-mkrescue.in: Remove.
17073 * util/i386/pc/grub-mkrescue.in: Remove.
17074
8d0edf4a
RM
170752009-11-13 Robert Millan <rmh.grub@aybabtu.com>
17076
17077 * include/grub/multiboot.h (struct grub_multiboot_header): Move
17078 from here ...
17079 * include/multiboot.h (struct multiboot_header): ... to here. Update
17080 all users.
17081 * include/grub/multiboot.h (struct grub_multiboot_info): Move
17082 from here ...
17083 * include/multiboot.h (struct multiboot_info): ... to here. Update
17084 all users.
17085 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
17086 from here ...
17087 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
17088 Update all users.
17089 * include/grub/multiboot.h (struct grub_mod_list): Move
17090 from here ...
17091 * include/multiboot.h (struct multiboot_mod_list): ... to here.
17092 Update all users.
17093
a73f5969
RM
170942009-11-13 Robert Millan <rmh.grub@aybabtu.com>
17095
17096 * include/multiboot2.h (multiboot_word): Rename from this ...
17097 (multiboot2_word): ... to this. Update all users.
17098 (multiboot_header): Rename from this ...
17099 (multiboot2_header): ... to this. Update all users.
17100 (multiboot_tag_header): Rename from this ...
17101 (multiboot2_tag_header): ... to this. Update all users.
17102 (multiboot_tag_start): Rename from this ...
17103 (multiboot2_tag_start): ... to this. Update all users.
17104 (multiboot_tag_name): Rename from this ...
17105 (multiboot2_tag_name): ... to this. Update all users.
17106 (multiboot_tag_module): Rename from this ...
17107 (multiboot2_tag_module): ... to this. Update all users.
17108 (multiboot_tag_memory): Rename from this ...
17109 (multiboot2_tag_memory): ... to this. Update all users.
17110 (multiboot_tag_unused): Rename from this ...
17111 (multiboot2_tag_unused): ... to this. Update all users.
17112 (multiboot_tag_end): Rename from this ...
17113 (multiboot2_tag_end): ... to this. Update all users.
17114
1c8927f0
RM
171152009-11-13 Robert Millan <rmh.grub@aybabtu.com>
17116
17117 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
17118 this platform we should support Multiboot1 first.
17119
17120 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
17121 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
17122 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
17123
6e1e0d89
RM
171242009-11-12 Robert Millan <rmh.grub@aybabtu.com>
17125
17126 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
17127 of write calls (converting them to fwrite() if they aren't already).
17128 (get_torito_desc): Likewise.
17129 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
17130
7f2b34d8
RM
171312009-11-12 Robert Millan <rmh.grub@aybabtu.com>
17132
17133 * util/i386/pc/grub-install.in: Move from here ...
17134 * util/grub-install.in: ... to here. Update all users.
17135
c0ef3311
CW
171362009-11-11 Colin Watson <cjwatson@ubuntu.com>
17137
17138 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
17139
e1f240ff
RM
171402009-11-11 Robert Millan <rmh.grub@aybabtu.com>
17141
17142 Support for El Torito without floppy emulation.
17143
17144 * util/mkisofs/eltorito.c: Include `<errno.h>'.
17145 (init_boot_catalog): Improve error handling.
17146 (get_torito_desc): Don't use floppy emulation unless requested by
17147 user. Patch boot information table when requested via
17148 `-boot-info-table'.
17149 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
17150 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
17151 (use_boot_info_table): New variables.
17152 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
17153 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
17154 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
17155 `--eltorito-emul-floppy'.
17156 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
17157 and `OPTION_ELTORITO_EMUL_FLOPPY'.
17158 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
17159 (use_boot_info_table, get_731): New prototypes.
17160 * util/mkisofs/write.c (get_731): New function.
17161
af7d4de5
FZ
171622009-11-11 Felix Zielcke <fzielcke@z-51.de>
17163
17164 Fix the generation of the man page.
17165
17166 * util/pc/i386/grub-install.in: Source
17167 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
17168
2c55dbc0
RM
171692009-11-11 Robert Millan <rmh.grub@aybabtu.com>
17170
17171 Large file support for grub-mkisofs.
17172
17173 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
17174 * util/mkisofs/mkisofs.c (next_extent, last_extent)
17175 (session_start): Upgrade type to `uint64_t'. Update all users.
17176 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
17177 (struct directory_entry): Upgrade type of `starting_block' and
17178 `size' to `uint64_t'. Update all users.
17179 (struct deferred): Remove unused structure.
17180 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
17181 Update all users.
17182 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
17183 file is larger than `UINT32_MAX'.
17184 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
17185 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
17186 return value.
17187 (struct deferred_write): Upgrade type of `extent' and `size' to
17188 `uint64_t'. Update all users.
17189 (last_extent_written): Upgrade type to `uint64_t'. Update all
17190 users.
17191 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
17192 Update all users. Upgrade type of `remain' to `int64_t' and
17193 `use' to `size_t'. Use error() to handle fread() errors.
17194 (write_files): Rely on write_one_file() rather than calling
17195 xfwrite() directly.
17196
6a9cead5
FZ
171972009-11-09 Felix Zielcke <fzielcke@z-51.de>
17198
17199 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
17200
4825d790
RM
172012009-11-09 Robert Millan <rmh.grub@aybabtu.com>
17202
17203 * util/mkisofs/fnmatch.c: Remove.
17204 * util/mkisofs/getopt1.c: Likewise.
17205 * util/mkisofs/getopt.c: Likewise.
17206 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
17207 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
17208 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
17209 `gnulib/getopt1.c' and `gnulib/getopt.c'.
17210 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
17211
17212 * configure.ac: Detect `mingw32msvc' host_os.
17213 Check for lstat(), getuid() and getgid().
17214
17215 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
17216 instances of `u_char' with `uint8_t'.
17217
17218 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
17219 [!HAVE_GETUID] (getuid): New function (stub).
17220 [!HAVE_GETGID] (getgid): Likewise.
17221 [!HAVE_LSTAT] (lstat): Likewise.
17222 [!S_IROTH] (S_IROTH): New macro (dummy).
17223 [!S_IRGRP] (S_IRGRP): Likewise.
17224
84b860d8
RM
172252009-11-09 Robert Millan <rmh.grub@aybabtu.com>
17226
17227 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
17228 conditional expression).
17229
66e9b712
RM
172302009-11-09 Robert Millan <rmh.grub@aybabtu.com>
17231
17232 Import from Gnulib.
17233
17234 * gnulib/fnmatch.c: New file.
17235 * gnulib/fnmatch.h: Likewise.
17236 * gnulib/fnmatch_loop.c: Likewise.
17237 * gnulib/getopt.c: Likewise.
17238 * gnulib/getopt.h: Likewise.
17239 * gnulib/getopt1.c: Likewise.
17240 * gnulib/getopt_int.h: Likewise.
17241 * gnulib/gettext.h: Likewise.
17242
34f4a5b0
RM
172432009-11-09 Robert Millan <rmh.grub@aybabtu.com>
17244
17245 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
17246 * normal/handler.c (read_handler_list): Likewise.
17247
ac451143
RM
172482009-11-09 Robert Millan <rmh.grub@aybabtu.com>
17249
17250 Misc cleanup.
17251
17252 * kern/command.c (grub_register_command_prio): Use
17253 grub_zalloc() instead of explicitly zeroing data.
17254 * kern/list.c: Include `<grub/mm.h>'.
17255 (grub_named_list_find): Replace `0' with `NULL'.
17256 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
17257 (fs_module_list): Change type to `grub_named_list_t'. Update all
17258 users.
17259 * normal/dyncmd.c (read_command_list): Add space between function
17260 call and parenthesis.
17261 * normal/handler.c (read_handler_list): Likewise.
17262
4089b167
RM
172632009-11-09 Robert Millan <rmh.grub@aybabtu.com>
17264
17265 * normal/auth.c (punishment_delay): Moved from here ...
17266 (grub_auth_strcmp): ... to here (inside function).
17267
325f5037
RM
172682009-11-09 Robert Millan <rmh.grub@aybabtu.com>
17269
17270 * include/grub/list.h (struct grub_named_list): Remove `const'
17271 qualifier from `name'.
17272 (struct grub_prio_list): Likewise.
17273
7aea29a3
RM
172742009-11-09 Robert Millan <rmh.grub@aybabtu.com>
17275
17276 * normal/auth.c: Include `<grub/time.h>'.
17277 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
17278
3fd6f044
RM
172792009-11-09 Robert Millan <rmh.grub@aybabtu.com>
17280
17281 * normal/auth.c (punishment_delay): New variable.
17282 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
17283 (grub_auth_check_authentication): Punish failed login attempts with
17284 an incremental (2^N) delay.
17285
a4cd68e4
RM
172862009-11-09 Robert Millan <rmh.grub@aybabtu.com>
17287
17288 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
17289 path with $(srcdir).
17290
7ad12f43
VS
172912009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
17292
17293 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
17294
c1129f03
RM
172952009-11-09 Robert Millan <rmh.grub@aybabtu.com>
17296
17297 * util/i386/coreboot/grub-mkrescue.in: New file.
17298 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
17299 variables.
17300
17301 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
17302 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
17303 * configure.ac: Add header and function checks to satisfy grub-mkisofs
17304 requirements.
17305 * util/mkisofs/defaults.h: New file.
17306 * util/mkisofs/eltorito.c: Likewise.
17307 * util/mkisofs/exclude.h: Likewise.
17308 * util/mkisofs/fnmatch.c: Likewise.
17309 * util/mkisofs/getopt.c: Likewise.
17310 * util/mkisofs/getopt1.c: Likewise.
17311 * util/mkisofs/hash.c: Likewise.
17312 * util/mkisofs/include/fctldefs.h: Likewise.
17313 * util/mkisofs/include/mconfig.h: Likewise.
17314 * util/mkisofs/include/prototyp.h: Likewise.
17315 * util/mkisofs/include/statdefs.h: Likewise.
17316 * util/mkisofs/iso9660.h: Likewise.
17317 * util/mkisofs/joliet.c: Likewise.
17318 * util/mkisofs/match.c: Likewise.
17319 * util/mkisofs/match.h: Likewise.
17320 * util/mkisofs/mkisofs.c: Likewise.
17321 * util/mkisofs/mkisofs.h: Likewise.
17322 * util/mkisofs/multi.c: Likewise.
17323 * util/mkisofs/name.c: Likewise.
17324 * util/mkisofs/rock.c: Likewise.
17325 * util/mkisofs/tree.c: Likewise.
17326 * util/mkisofs/write.c: Likewise.
17327
ec8bb77d
VS
173282009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
17329
17330 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
17331 being insecure.
17332
3716b12c
RM
173332009-11-08 Robert Millan <rmh.grub@aybabtu.com>
17334
17335 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
17336 `grub-mkimage' (and use $0 when possible).
17337
b97b7b91
RM
173382009-11-08 Robert Millan <rmh.grub@aybabtu.com>
17339
17340 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
17341 error message for excessively large memory map.
17342
04114812
RM
173432009-11-08 Robert Millan <rmh.grub@aybabtu.com>
17344
17345 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
17346 executable bit.
17347
e4eb2373
RM
173482009-11-08 Robert Millan <rmh.grub@aybabtu.com>
17349
17350 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
17351 message for coreboot users.
17352
c926e1d5 173532009-11-07 Robert Millan <rmh.grub@aybabtu.com>
17354
17355 Fix build with GNU gold.
17356
17357 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
17358 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
17359 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
17360 link addresses.
17361 * aclocal.m4: Likewise.
17362
86e5b1db 173632009-11-04 Felix Zielcke <fzielcke@z-51.de>
17364
17365 * configure.ac (AC_PREREQ): Bump to 2.59d.
17366 * INSTALL: Make it more clear when Autoconf and Ruby are
17367 needed and when to run `./autogen.sh'.
17368
246cd78f 173692009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
17370
17371 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
17372 OSes.
17373
4f9dfb37 173742009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
17375
17376 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
17377
b82bd5e1 173782009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
17379
17380 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
17381 giving it to GNU Mach.
17382
ff1a9bca 173832009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
17384
17385 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
17386 GNU partition number to get internal GRUB partition number.
17387
61697d9c 173882009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
17389
17390 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
17391 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
17392
a50569e1 173932009-11-01 Robert Millan <rmh.grub@aybabtu.com>
17394
17395 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
17396 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
17397 case.
17398
5b153867 173992009-11-01 Felix Zielcke <fzielcke@z-51.de>
17400
17401 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
17402
d9e2cd70 174032009-10-30 Robert Millan <rmh.grub@aybabtu.com>
17404
17405 Fix build problem.
17406
17407 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
17408 `-isystem=$(srcdir)/include'.
17409
805111a4 174102009-10-30 Robert Millan <rmh.grub@aybabtu.com>
17411
17412 * util/i386/pc/grub-install.in: Remove hint that device.map should be
17413 checked (grub-install doesn't currently rely on it).
17414
fa6e945f 174152009-10-29 Robert Millan <rmh.grub@aybabtu.com>
17416
17417 Revert SVN r2660.
17418
17419 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
17420 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
17421 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
17422 * conf/i386-ieee1275.rmk: Likewise.
17423 * conf/i386-pc.rmk: Likewise.
17424 * conf/powerpc-ieee1275.rmk: Likewise.
17425 * conf/sparc64-ieee1275.rmk: Likewise.
17426 * conf/x86_64-efi.rmk: Likewise.
17427
cee15086 174282009-10-28 Robert Millan <rmh.grub@aybabtu.com>
17429
17430 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
17431
95b9239e 174322009-10-28 Robert Millan <rmh.grub@aybabtu.com>
17433
17434 * include/grub/misc.h: Stop checking for APPLE_CC.
17435
2ed19dfd 174362009-10-28 Robert Millan <rmh.grub@aybabtu.com>
17437
17438 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
17439 doesn't cause an infinite call loop.
17440
fdcdde19 174412009-10-28 Felix Zielcke <fzielcke@z-51.de>
17442
17443 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
17444 strings.
17445
cefabfe1 174462009-10-26 Robert Millan <rmh.grub@aybabtu.com>
17447
17448 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
17449 variable.
17450 * Makefile.in: Likewise.
17451
ed96ab6d 174522009-10-26 Robert Millan <rmh.grub@aybabtu.com>
17453
17454 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
17455
0579b753 174562009-10-26 Robert Millan <rmh.grub@aybabtu.com>
17457
17458 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
17459
478df409 174602009-10-26 Robert Millan <rmh.grub@aybabtu.com>
17461
17462 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
17463
083d1679 174642009-10-26 Robert Millan <rmh.grub@aybabtu.com>
17465
17466 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
17467 from here ...
17468 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
17469
5947ae32 174702009-10-26 Robert Millan <rmh.grub@aybabtu.com>
17471
17472 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
17473 in $(MAKEINFO) invocation. This makes it clear in output that
17474 errors are being ignored.
17475
94180ff6 174762009-10-26 Robert Millan <rmh.grub@aybabtu.com>
17477
17478 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
17479 from here ...
17480 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
17481 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
17482 * conf/i386-ieee1275.rmk: Likewise.
17483 * conf/i386-pc.rmk: Likewise.
17484 * conf/powerpc-ieee1275.rmk: Likewise.
17485 * conf/sparc64-ieee1275.rmk: Likewise.
17486 * conf/x86_64-efi.rmk: Likewise.
17487
9031b03a 174882009-10-26 Colin Watson <cjwatson@ubuntu.com>
17489
17490 * util/grub-editenv.c (main): If only a command is given, use
17491 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
17492 (usage): FILENAME is now optional and has a default.
17493
e4f6809b 174942009-10-26 Colin Watson <cjwatson@ubuntu.com>
17495
17496 Improve grub-mkconfig performance when there are several menu
17497 entries on a single filesystem.
17498
17499 * util/grub.d/10_linux.in (linux_entry): Cache the output of
17500 prepare_grub_to_access_device.
17501 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
17502 * util/grub.d/30_os-prober.in: Likewise.
17503
67937d4d 175042009-10-26 Robert Millan <rmh.grub@aybabtu.com>
17505
17506 * util/grub.d/10_freebsd.in: Remove.
17507 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
17508 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
17509
ee3756cc 175102009-10-26 Robert Millan <rmh.grub@aybabtu.com>
17511
5c35048e 17512 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 17513
4dea1c6f 175142009-10-25 Robert Millan <rmh.grub@aybabtu.com>
17515
17516 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
17517 grub_util_error() call.
17518
042484d7 175192009-10-25 Robert Millan <rmh.grub@aybabtu.com>
17520
17521 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
17522 `reserved_first_sector' member.
17523 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
17524 `reserved_first_sector' to 1.
17525 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
17526 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
17527 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
17528 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
17529 filesystems which begin at first sector.
17530 (options): New option --skip-fs-probe.
17531 (main): Handle --skip-fs-probe and pass it to setup().
17532
d64448a7 175332009-10-25 Robert Millan <rmh.grub@aybabtu.com>
17534
17535 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
17536 (memset): Fix function prototype.
17537
508d42ec 175382009-10-25 Robert Millan <rmh.grub@aybabtu.com>
175392009-10-25 Vasily Averin <vvs@parallels.com>
17540
17541 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
17542 `dirent.direntlen == 0'.
17543
b240e30c 175442009-10-25 Robert Millan <rmh.grub@aybabtu.com>
17545
17546 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
17547 `cpio'.
17548 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
17549
346e7fbe 175502009-10-25 Robert Millan <rmh.grub@aybabtu.com>
17551
17552 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
17553 `__trampoline_setup' and `__ucmpdi2'.
17554 * include/grub/powerpc/libgcc.h: Only export symbols for functions
17555 that libgcc provides.
17556
cdb308b0 175572009-10-25 Robert Millan <rmh.grub@aybabtu.com>
17558
17559 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
17560 * include/grub/sparc64/libgcc.h (memset): Likewise.
17561 * include/grub/misc.h (memset, memcmp): New function prototypes.
17562
fb26abc2 175632009-10-25 Robert Millan <rmh.grub@aybabtu.com>
17564
17565 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
17566 `cpio'.
17567 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
17568
f6693890 175692009-10-25 Robert Millan <rmh.grub@aybabtu.com>
17570
17571 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
17572 * docs/grub.cfg: Compensate for recent change in multiboot
17573 loader (since 2009-08-14 it won't pass filename to payload).
17574 * util/grub.d/10_hurd.in: Likewise.
17575
0933cdc0 175762009-10-21 Felix Zielcke <fzielcke@z-51.de>
17577
17578 * config.guess: Update to latest version from config git
17579 repository.
17580 * config.sub: Likewise.
17581
3b2fe8c2 175822009-10-20 Robert Millan <rmh.grub@aybabtu.com>
17583
17584 Fix build on sparc64.
17585
17586 * configure.ac: Perform checks for libgcc symbols before
17587 adding `-nostdlib' to LDFLAGS.
17588
46695a62 175892009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17590
17591 Let user specify OpenBSD root device.
17592
17593 * loader/i386/bsd.c (openbsd_root): New variable.
17594 (openbsd_opts): New option 'root'.
17595 (OPENBSD_ROOT_ARG): New macro.
17596 (grub_openbsd_boot): Use 'openbsd_root'.
17597 (grub_cmd_openbsd): Fill 'openbsd_root'.
17598
d2b6b7fc 175992009-10-16 Robert Millan <rmh.grub@aybabtu.com>
17600
17601 * NEWS: Misc adjustments.
17602
421bd7ac 176032009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
17604
17605 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
17606
f1d29d87 176072009-10-16 Robert Millan <rmh.grub@aybabtu.com>
17608
17609 * configure.ac: Bump version to 1.97.
17610
6f3cd880 176112009-10-16 Colin Watson <cjwatson@ubuntu.com>
17612
17613 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
17614 -mno-3dnow on x86 architectures. Some toolchains enable these
17615 features by default, but they rely on registers that aren't enabled
17616 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
17617
035f7122 176182009-10-15 Robert Millan <rmh.grub@aybabtu.com>
17619
17620 Make entry text a bit more readable.
17621
17622 * util/grub.d/10_linux.in: Add `with' before `Linux'.
17623
44998e58 176242009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
17625
17626 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
17627
cd2851b3 176282009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
17629
17630 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
17631 operations.
17632
c6f3b249 176332009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
17634
17635 * configure.ac: Add missing dollar.
17636
6b5886ba 176372009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
17638
17639 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
17640
17641 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
17642 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
17643 exports.
17644 * include/grub/sparc64/libgcc.h: Likewise. Use
17645 preprocessor conditionals.
17646
e9d66f6d 176472009-10-14 Robert Millan <rmh.grub@aybabtu.com>
17648
17649 * conf/common.rmk (grub-dumpbios): Remove rule.
17650 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
17651 * util/grub-dumpbios.in: Remove file.
17652
9155bc17 176532009-10-14 Robert Millan <rmh.grub@aybabtu.com>
17654
17655 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
17656 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
17657
17658 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
17659 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
17660 users.
17661
17662 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
17663 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
17664 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
17665 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
17666 users.
17667
bf7f7a18 176682009-10-12 Robert Millan <rmh.grub@aybabtu.com>
17669
17670 * term/tparm.c: Switch to GPLv3.
17671
86564c26 176722009-10-09 Robert Millan <rmh.grub@aybabtu.com>
17673
17674 * include/grub/i386/cpuid.h: Add header protection.
17675
5c936493 176762009-10-09 Robert Millan <rmh.grub@aybabtu.com>
17677
17678 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
17679
17680 * include/grub/i386/cpuid.h: New file.
17681 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
17682 (has_longmode): Rename to ...
17683 (grub_cpuid_has_longmode): ... this. Update all users. Remove
17684 `static' attribute.
17685 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
17686 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
17687 on a CPU that doesn't implement AMD64 instruction set.
17688
186e7cf2 176892009-10-06 Colin Watson <cjwatson@ubuntu.com>
17690
17691 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
17692 that version.texi is rebuilt on version number changes.
17693
83b65c4a 176942009-10-06 Colin Watson <cjwatson@ubuntu.com>
17695
17696 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
17697 Fixes bug #27602.
17698
d244281c 176992009-10-06 Colin Watson <cjwatson@ubuntu.com>
17700
17701 * util/i386/pc/grub-install.in: Source
17702 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
17703 that the --grub-probe option will work.
17704 * util/sparc64/ieee1275/grub-install.in: Likewise.
17705
da25306d 177062009-10-05 Robert Millan <rmh.grub@aybabtu.com>
17707
17708 * configure.ac: Bump version to 1.97~beta4.
17709
e8ee83c0 177102009-10-03 Robert Millan <rmh.grub@aybabtu.com>
17711
17712 Resync grub-mkdevicemap in x86_64-efi.
17713
17714 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
17715 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
17716 `util/devicemap.c'.
17717
50dcabcf 177182009-10-01 Colin Watson <cjwatson@ubuntu.com>
17719
17720 * util/grub-editenv.c (create_envblk_file): Write new block with a
17721 .new suffix and then rename it into place, to ensure atomic
17722 creation.
17723
0e51c3a7 177242009-09-28 Robert Millan <rmh.grub@aybabtu.com>
17725
17726 Do not automatically install headers.
17727
17728 * Makefile.in (include_DATA): Remove. Update all users.
17729
31299a95 177302009-09-26 Robert Millan <rmh.grub@aybabtu.com>
17731
17732 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
17733 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
17734
17735 * util/osdetect.lua: Remove.
17736 * script/lua/lauxlib.c: Likewise.
17737 * script/lua/ldebug.c: Likewise.
17738 * script/lua/grub_main.c: Likewise.
17739 * script/lua/lauxlib.h: Likewise.
17740 * script/lua/ldebug.h: Likewise.
17741 * script/lua/ltablib.c: Likewise.
17742 * script/lua/liolib.c: Likewise.
17743 * script/lua/lstrlib.c: Likewise.
17744 * script/lua/lualib.h: Likewise.
17745 * script/lua/ldo.c: Likewise.
17746 * script/lua/ldump.c: Likewise.
17747 * script/lua/ldo.h: Likewise.
17748 * script/lua/loslib.c: Likewise.
17749 * script/lua/lundump.c: Likewise.
17750 * script/lua/grub_lib.c: Likewise.
17751 * script/lua/ldblib.c: Likewise.
17752 * script/lua/lundump.h: Likewise.
17753 * script/lua/lmem.c: Likewise.
17754 * script/lua/grub_lib.h: Likewise.
17755 * script/lua/lmathlib.c: Likewise.
17756 * script/lua/lstate.c: Likewise.
17757 * script/lua/ltm.c: Likewise.
17758 * script/lua/lvm.c: Likewise.
17759 * script/lua/lmem.h: Likewise.
17760 * script/lua/lstate.h: Likewise.
17761 * script/lua/ltm.h: Likewise.
17762 * script/lua/ltable.c: Likewise.
17763 * script/lua/lvm.h: Likewise.
17764 * script/lua/llex.c: Likewise.
17765 * script/lua/lgc.c: Likewise.
17766 * script/lua/grub_lua.h: Likewise.
17767 * script/lua/loadlib.c: Likewise.
17768 * script/lua/lfunc.c: Likewise.
17769 * script/lua/lopcodes.c: Likewise.
17770 * script/lua/lparser.c: Likewise.
17771 * script/lua/ltable.h: Likewise.
17772 * script/lua/llex.h: Likewise.
17773 * script/lua/lgc.h: Likewise.
17774 * script/lua/lfunc.h: Likewise.
17775 * script/lua/lbaselib.c: Likewise.
17776 * script/lua/lopcodes.h: Likewise.
17777 * script/lua/lparser.h: Likewise.
17778 * script/lua/lzio.c: Likewise.
17779 * script/lua/linit.c: Likewise.
17780 * script/lua/lobject.c: Likewise.
17781 * script/lua/llimits.h: Likewise.
17782 * script/lua/lstring.c: Likewise.
17783 * script/lua/lzio.h: Likewise.
17784 * script/lua/lapi.c: Likewise.
17785 * script/lua/lcode.c: Likewise.
17786 * script/lua/lua.h: Likewise.
17787 * script/lua/lobject.h: Likewise.
17788 * script/lua/lstring.h: Likewise.
17789 * script/lua/lapi.h: Likewise.
17790 * script/lua/lcode.h: Likewise.
17791 * script/lua/luaconf.h: Likewise.
17792
cb8a2c38 177932009-09-26 Colin Watson <cjwatson@ubuntu.com>
17794
17795 * docs/grub.texi (Command-line and menu entry commands): Document
17796 date and echo commands.
17797
6b9b6276 177982009-09-24 Pavel Roskin <proski@gnu.org>
17799
17800 * include/grub/kernel.h (struct grub_module_header): Remove
17801 `grub_module_header_types'. Make `type' unsigned. Make `size'
17802 32-bit on all platforms.
17803 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
17804 8-bit field. Use grub_host_to_target32() for `size'.
17805 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
17806 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
17807 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
17808
4e5a02a7 178092009-09-24 Robert Millan <rmh.grub@aybabtu.com>
17810
17811 Fix "lost keypress" bug in at_keyboard.
17812
17813 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
17814 Checks for readyness of input buffer (without flushing it).
17815 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
17816 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
17817
c6dcedf6 178182009-09-24 Robert Millan <rmh.grub@aybabtu.com>
17819
17820 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
17821 size check within GRUB_MACHINE_PCBIOS section.
17822
74c958b1 178232009-09-24 Robert Millan <rmh.grub@aybabtu.com>
17824
17825 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
17826 return value.
17827 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
17828 KEYBOARD_ISREADY check.
17829 (grub_at_keyboard_checkkey): Rename to ...
17830 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
17831 Remove gratuitous cast.
17832
ff420223 178332009-09-23 Colin Watson <cjwatson@ubuntu.com>
17834
17835 * configure.ac: Call AC_PROG_MKDIR_P.
17836 * Makefile.in (docs/stamp-vti): Create docs directory. Create
17837 version.texi in $(builddir) rather than $(srcdir).
17838 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
17839 to makeinfo's @include search path.
17840
d96875df 178412009-09-23 Felix Zielcke <fzielcke@z-51.de>
17842
17843 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
17844
9b3f8365 178452009-09-23 Felix Zielcke <fzielcke@z-51.de>
17846
17847 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
17848 for `*.dpkg-new'.
17849
c44c90db 178502009-09-21 Colin Watson <cjwatson@ubuntu.com>
17851
17852 Build info documentation. Some code borrowed from Automake.
17853
17854 * configure.ac: Check for makeinfo.
17855 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
17856 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
17857 docs/version.texi.
17858 (MOSTLYCLEANFILES): Add vti.tmp.
17859 (docs/version.texi, docs/stamp-vti): Update automatically.
17860 (docs/grub.info): Build info documentation. Use --force and ignore
17861 errors for now.
17862 (all-local): Add $(INFOS).
17863 (install-local): Install info files.
17864 (uninstall): Uninstall info files.
17865 * docs/version.texi: Remove from revision control. This file is
17866 automatically generated on build now.
17867 * gendistlist.sh: Add `*.info'.
17868
e0b37bb5 178692009-09-21 Felix Zielcke <fzielcke@z-51.de>
17870
17871 * kern/term.c: Fix indentation.
17872
5a78865b 178732009-09-21 Felix Zielcke <fzielcke@z-51.de>
17874
17875 * util/hostdisk.c: Fix a comment.
17876
dace7e8a 178772009-09-20 Robert Millan <rmh.grub@aybabtu.com>
17878
17879 Fix regression introduced in r2539.
17880
17881 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
17882 to 0xA1.
17883
a83d079b 178842009-09-19 Colin Watson <cjwatson@ubuntu.com>
17885
17886 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 17887 os-prober. Under normal operation, it does not print anything to
17888 stderr; if it does, we need to debug it, and throwing away stderr
17889 makes that excessively difficult.
a83d079b 17890
be94a509 178912009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
17892
17893 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
17894
63f745e8 178952009-09-16 Robert Millan <rmh.grub@aybabtu.com>
17896
17897 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
17898 AC_LANG_PROGRAM from autoconf.
17899 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
17900 prototypes (fixes warning).
17901
17902 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
17903 `--disable-werror' was used.
17904
bbb2a70f 179052009-09-16 Robert Millan <rmh.grub@aybabtu.com>
17906
17907 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
17908 uninitialized `lastaddr'.
17909
77c24f1d 179102009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
17911
0f0b8c87 17912 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 17913
07197f23 179142009-09-14 Colin Watson <cjwatson@ubuntu.com>
17915
17916 * commands/test.c (get_fileinfo): Return immediately if
17917 grub_fs_probe fails.
17918
dabf1798 179192009-09-14 José Martínez <xosemp@gmail.com>
17920
17921 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
17922
d52109a7 179232009-09-14 Colin Watson <cjwatson@ubuntu.com>
17924
17925 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
17926 output.
17927
56532179 179282009-09-13 Robert Millan <rmh.grub@aybabtu.com>
17929
17930 * configure.ac: Remove --enable-grub-pe2elf. Only build
17931 grub-pe2elf when needed by the build system itself.
17932 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
17933
8ef070f5 179342009-09-12 Robert Millan <rmh.grub@aybabtu.com>
17935
17936 * configure.ac: Bump version to 1.97~beta3.
17937 * docs/version.texi: Likewise.
17938
61229557 179392009-09-12 Robert Millan <rmh.grub@aybabtu.com>
17940
17941 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
17942 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
17943 from here ...
17944 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
17945 (grub_linux_setup_video): ... to here (with some adjustments).
17946
5c9f8d84 179472009-09-12 Robert Millan <rmh.grub@aybabtu.com>
17948
17949 Fix memory corruption issue (spotted by Colin Watson).
17950
17951 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
17952 causing returned size to be stored in an incorrect memory location.
17953 Fix use of uninitialized value when storing the returned size.
17954
e8f5d6e9 179552009-09-12 Yves Blusseau <blusseau@zetam.org>
17956
17957 Change clean rules to properly remove files
17958
17959 * genmk.rb: add new clean rules
17960 * Makefile.in (clean): add the new targets
17961 (mostlyclean): likewise
17962
cda2a409 179632009-09-11 Colin Watson <cjwatson@ubuntu.com>
17964
17965 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
17966 to grub_uint64_t.
17967 * fs/ntfs.c (init_file): Understand 64-bit sizes for
17968 non-resident files.
17969
86695375 179702009-09-11 Colin Watson <cjwatson@ubuntu.com>
17971
17972 * configure.ac: Don't look for help2man when cross-compiling. Fixes
17973 part of bug #27349.
17974
8aa1541a 179752009-09-10 Felix Zielcke <fzielcke@z-51.de>
17976
17977 * util/grub-mkconfig.in: Make the created config mode 400 and
17978 print a warning if it fails.
17979
48d9bb0a 179802009-09-10 Robert Millan <rmh.grub@aybabtu.com>
17981
17982 * util/grub.d/40_custom.in: Ask user to type custom entries below
17983 comment, rather than below 'exec tail' line.
17984
3b0521be 179852009-09-10 Colin Watson <cjwatson@ubuntu.com>
17986
17987 * util/grub.d/40_custom.in: Make sure that the explanatory text is
17988 visible in grub.cfg.
17989
50051d55 179902009-09-10 Colin Watson <cjwatson@ubuntu.com>
17991
17992 * util/grub.d/40_custom.in: Make it a little clearer how to use this
17993 file.
17994
c0d34387 179952009-09-10 Felix Zielcke <fzielcke@z-51.de>
17996
17997 * docs/grub.cfg: Add an example menu entry for memtest86+.
17998
80a608f3 179992009-09-09 Felix Zielcke <fzielcke@z-51.de>
18000
a2094832 18001 * config.guess: Update to latest version from config git.
80a608f3 18002 * config.sub: Likewise.
18003
99423078 180042009-09-08 Colin Watson <cjwatson@ubuntu.com>
18005
18006 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
18007 unknown-command case. Fixes bug #27320.
18008
44454e4c 180092009-09-08 Felix Zielcke <fzielcke@z-51.de>
18010
18011 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
18012 `help' if the command exists.
18013
e30d87ad 180142009-09-06 Robert Millan <rmh.grub@aybabtu.com>
18015
18016 * INSTALL: Require GCC 4.1.3 or later.
18017
9a86f1ec 180182009-09-06 Yves Blusseau <blusseau@zetam.org>
18019
18020 * Makefile.in (RMKFILES): add i386-qemu.rmk
18021 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
18022 $(srcdir)/stamp-h.in
18023
7f26d466 180242009-09-05 Robert Millan <rmh.grub@aybabtu.com>
18025
18026 * util/grub-probe.c (probe): Comment out buggy codepath, which
18027 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
18028 should be re-enabled after 1.97.
18029
3a613259 180302009-09-05 Felix Zielcke <fzielcke@z-51.de>
18031
18032 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
18033 find searches for.
18034
197f76c7 180352009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
18036
18037 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
18038 unnecessary calls to grub_error.
18039
70ba68ce 180402009-09-04 Colin Watson <cjwatson@ubuntu.com>
18041
18042 * NEWS: Mention `keystatus' and Unicode fonts.
18043
4ff0d7a4 180442009-09-04 Robert Millan <rmh.grub@aybabtu.com>
18045
18046 * configure.ac: Bump version to 1.97~beta2.
18047 * docs/version.texi: Likewise.
18048
77c55a87 180492009-09-03 Colin Watson <cjwatson@ubuntu.com>
18050
18051 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
18052 containing unwind information in some cases where it previously did
18053 not. Use -fno-dwarf2-cfi-asm if available to restore the old
18054 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
18055 discussion.
18056
f79572cd 180572009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
18058
18059 Embedding loadenv module into grub-emu
18060
18061 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
18062 commands/loadenv.c
18063 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
18064 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
18065 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
18066 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
18067 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
18068 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
18069
93a81088 180702009-09-03 Magnus Granberg <zorry@ume.nu>
18071
18072 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
18073 include -fPIE in the default specs.
18074 * configure.ac: Check if pie_possible is yes and add -fno-PIE
18075 to TARGET_CFLAGS.
18076
160034b2 180772009-09-03 Felix Zielcke <fzielcke@z-51.de>
18078
18079 * INSTALL: Note that GNU Bison 2.3 or later is required.
18080
087c07c4 180812009-09-03 Colin Watson <cjwatson@ubuntu.com>
18082
18083 * kern/i386/pc/startup.S: Fix typo.
18084
cbf978c0 180852009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
18086
18087 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
18088 according to GCS.
18089
180902009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 18091
18092 * docs/grub.texi (Naming convention): Describe one-based partition
18093 numbering.
18094 (Device syntax): Likewise.
18095 (File name syntax): Likewise.
18096 (Block list syntax): Likewise.
18097 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
18098 menu.lst.
18099 (File name syntax): Likewise.
18100 (Command-line and menu entry commands): Document acpi, blocklist,
18101 crc, export, insmod, keystatus, ls, set, and unset commands.
18102
f3e8cdfd 181032009-09-02 Colin Watson <cjwatson@ubuntu.com>
18104
18105 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
18106 to avoid implying that only one of --shift, --ctrl, or --alt may be
18107 used.
18108
c0bc232b 181092009-09-02 Colin Watson <cjwatson@ubuntu.com>
18110
18111 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
18112 rather than comparing against S_IFREG, which will almost never work.
18113
aa0f752d 181142009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
18115
18116 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
18117 (write_blocklists): Likewise.
18118
ecb3166a 181192009-09-01 Colin Watson <cjwatson@ubuntu.com>
18120
18121 * script/lua/grub_lua.h (fputs): Supply a format string as the first
18122 argument to grub_printf.
18123
c403a125 181242009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 18125
18126 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 18127 non GNU test.
31aba781 18128
b5e7312c 181292009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
18130
18131 * kern/file.c (grub_file_read): Spelling fix
18132
fe00f472 181332009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
18134
18135 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
18136 loading of headers in some cases.
18137
cc55302e 181382009-08-30 Robert Millan <rmh.grub@aybabtu.com>
18139
18140 * configure.ac: Bump version to 1.97~beta1.
18141 * docs/version.texi: Likewise.
18142
5c90cdd2 181432009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 18144
18145 * include/grub/i386/xnu.h: Add license header.
18146 include grub/err.h explicitly.
18147
c90edae4 181482009-08-29 Robert Millan <rmh.grub@aybabtu.com>
18149
18150 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
18151 to `ufs' in the vfs.root.mountfrom kernel parameter.
18152
d8888b5c 181532009-08-29 Robert Millan <rmh.grub@aybabtu.com>
18154
18155 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
18156
18157 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
18158 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
18159
18160 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
18161 `ARRAY_SIZE' macro.
18162
6f07b921 181632009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
18164
18165 * kern/file.c (grub_file_read): Check offset.
18166 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
18167 * fs/jfs.c (grub_jfs_read_file): Likewise.
18168 * fs/ntfs.c (grub_ntfs_read): Likewise.
18169 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
18170 * fs/minix.c (grub_minix_read_file): Correct offset check.
18171 * fs/ufs.c (grub_ufs_read_file): Likewise.
18172
b4f34077 181732009-08-28 Colin Watson <cjwatson@ubuntu.com>
18174
18175 * term/i386/pc/console.c (bios_data_area): Cast
18176 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
18177
e7c69859 181782009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
18179
18180 1-bit optimised blitters.
18181
18182 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
18183 prototype.
18184 (grub_video_fbblit_replace_24bit_1bit): Likewise.
18185 (grub_video_fbblit_replace_16bit_1bit): Likewise.
18186 (grub_video_fbblit_replace_8bit_1bit): Likewise.
18187 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
18188 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
18189 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
18190 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
18191 function.
18192 (grub_video_fbblit_replace_24bit_1bit): Likewise.
18193 (grub_video_fbblit_replace_16bit_1bit): Likewise.
18194 (grub_video_fbblit_replace_8bit_1bit): Likewise.
18195 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
18196 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
18197 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
18198 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
18199 when possible.
18200 * video/video.c (grub_video_get_blit_format): Return
18201 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
18202
a57da43f 182032009-08-28 Colin Watson <cjwatson@ubuntu.com>
18204
18205 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
18206 the first argument to grub_printf.
18207
4cbe67e5 182082009-08-28 Colin Watson <cjwatson@ubuntu.com>
182092009-08-28 Robert Millan <rmh.grub@aybabtu.com>
18210
18211 Add `getkeystatus' terminal method. Add a new `keystatus' command
18212 to query it.
18213
18214 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
18215 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
18216 modifier key bitmasks.
18217 (struct grub_term_input): Add `getkeystatus' member.
18218 (grub_getkeystatus): Add prototype.
18219 * kern/term.c (grub_getkeystatus): New function.
18220
18221 * include/grub/i386/pc/memory.h
18222 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
18223 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
18224 Data Area layout.
18225 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
18226 (grub_console_term_input): Set `getkeystatus' member.
18227 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
18228 constants.
18229 (grub_usb_keyboard_getreport): Likewise.
18230 (grub_usb_keyboard_checkkey): Likewise.
18231 (grub_usb_keyboard_getkeystatus): New function.
18232 (grub_usb_keyboard_term): Set `getkeystatus' member.
18233
18234 * commands/keystatus.c: New file.
18235 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
18236 (keystatus_mod_SOURCES): New variable.
18237 (keystatus_mod_CFLAGS): Likewise.
18238 (keystatus_mod_LDFLAGS): Likewise.
18239 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
18240 commands/keystatus.c.
18241 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
18242 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18243 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
18244 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18245 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18246 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 18247
6e2a9085 182482009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
18249
18250 Split befs.mod and afs.mod into *_be.mod and *.mod
18251
18252 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
18253 (grub_fstest_SOURCES): Likewise.
18254 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
18255 (afs_be_mod_SOURCES): New variable.
18256 (afs_be_mod_CFLAGS): Likewise.
18257 (afs_be_mod_LDFLAGS): Likewise.
18258 (befs_be_mod_SOURCES): Likewise.
18259 (befs_be_mod_CFLAGS): Likewise.
18260 (befs_be_mod_LDFLAGS): Likewise.
18261 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
18262 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
18263 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18264 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
18265 (grub_emu_SOURCES): Likewise.
18266 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18267 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18268 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
18269 * fs/afs_be.c: New file.
18270 * fs/befs_be.c: New file.
18271 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
18272 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
18273 (U16): Replaced with ...
18274 (grub_afs_to_cpu16): ...this. All users updated.
18275 (U32): Replaced with ...
18276 (grub_afs_to_cpu32): ...this. All users updated.
18277 (U64): Replaced with ...
18278 (grub_afs_to_cpu64): ...this. All users updated.
18279 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
18280 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 18281 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 18282 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
18283 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
18284 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
18285 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
18286 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
18287 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
18288 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
18289 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
18290
32a71655 182912009-08-26 Bean <bean123ch@gmail.com>
18292
18293 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
18294 64-bit number.
18295 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
18296 (grub_xfs_inode_block): Change return type to grub_uint64_t.
18297 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
18298
552bf6c5 182992009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
18300
18301 NetBSD memory map support.
18302
18303 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
18304 (grub_netbsd_btinfo_mmap_header): New structure.
18305 (grub_netbsd_btinfo_mmap_entry): Likewise.
18306 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
18307
1ae2078c 183082009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
18309
18310 Enable bsd.mod on coreboot.
18311
18312 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
18313 (bsd_mod_SOURCES): New variable.
18314 (bsd_mod_CFLAGS): Likewise.
18315 (bsd_mod_LDFLAGS): Likewise.
18316 (bsd_mod_ASFLAGS): Likewise.
18317 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
18318 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
18319
beefc598 183202009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
18321
18322 Cleanup NetBSD root support.
18323
18324 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
18325 grub_bsd_get_device.
18326 Fix typo.
18327
3b76e68b 183282009-08-25 Felix Zielcke <fzielcke@z-51.de>
18329
18330 * util/grub.d/00_header.in: Move check for the video backend of
18331 gfxterm from here ...
18332 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
18333 a suitable video backend.
18334
aea664ea 183352009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
18336
18337 Fix breakage in grub-setup.
18338
18339 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
18340 "msdos_partition_map".
18341
ff747d50 183422009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
18343
18344 Fix breakage in normal/auth.c.
18345
18346 * normal/auth.c (grub_iswordseparator): New function.
18347
e7e1f93f 183482009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
18349
18350 Authentication support.
18351
18352 * commands/password.c: New file.
18353 * conf/common.rmk (pkglib_MODULES): Add password.mod.
18354 (password_mod_SOURCES): New variable.
18355 (password_mod_CFLAGS): Likewise.
18356 (password_mod_LDFLAGS): Likewise.
18357 (normal_mod_SOURCES): Add normal/auth.c.
18358 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
18359 normal/auth.c.
18360 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
18361 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18362 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
18363 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18364 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18365 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
18366 * include/grub/auth.h: New file.
18367 * include/grub/err.h (grub_err_t): New enum value
18368 GRUB_ERR_ACCESS_DENIED.
18369 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
18370 'users'.
18371 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
18372 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
18373 users updated.
18374 * normal/auth.c: New file.
18375 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
18376 (grub_cmdline_run): Don't allow to go to command line without
18377 authentication.
18378 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
18379 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
18380 menuentry without superuser rights.
18381 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
18382 user isn't a superuser.
18383
70f1161d 183842009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
18385
18386 Save space by inlining misc.c functions.
18387
18388 * kern/misc.c (grub_iswordseparator): Made static.
18389 * kern/misc.c (grub_strcat): Moved from here ...
18390 * include/grub/misc.h (grub_strcat): ... here. Inlined.
18391 * kern/misc.c (grub_strncat): Moved from here ...
18392 * include/grub/misc.h (grub_strncat): ... here. Inlined.
18393 * kern/misc.c (grub_strcasecmp): Moved from here ...
18394 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
18395 * kern/misc.c (grub_strncasecmp): Moved from here ...
18396 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
18397 * kern/misc.c (grub_isalpha): Moved from here ...
18398 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
18399 * kern/misc.c (grub_isdigit): Moved from here ...
18400 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
18401 * kern/misc.c (grub_isgraph): Moved from here ...
18402 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
18403 * kern/misc.c (grub_tolower): Moved from here ...
18404 * include/grub/misc.h (grub_tolower): ... here. Inlined.
18405
48e40bff 184062009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
18407
18408 * script/sh/function.c (grub_script_function_find): Cut error message
18409 not to flood terminal.
18410 * script/sh/lexer.c (grub_script_yylex): Remove command line length
18411 limit.
18412 * script/sh/script.c (grub_script_arg_add): Duplicate string.
18413
c385bfc3 184142009-08-24 Colin Watson <cjwatson@ubuntu.com>
18415
18416 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
18417 `report' grub_uint8_t *.
18418 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
18419 Use a 50-millisecond timeout rather than just repeating
18420 grub_usb_keyboard_getreport 50 times.
18421 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
18422
2d21e3e8 184232009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
18424
18425 Rename *_partition_map to part_*
18426
18427 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
18428 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
18429 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
18430 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
18431 All users updated.
18432 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
18433 All users updated.
18434 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
18435 * util/grub-probe.c (probe_partmap): Don't transform partition name
18436 to get module name.
18437
dd103c4e 184382009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
18439
18440 Fix OpenBSD and NetBSD support.
18441
18442 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
18443 memory address conflict.
18444 (OPENBSD_MMAP_ACPI): New definition.
18445 (OPENBSD_MMAP_NVS): Likewise.
18446 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
18447 and OPENBSD_MMAP_NVS.
18448 Add memory map terminator
18449 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 18450 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 18451
16c84d74 184522009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
18453
18454 Let user specify NetBSD root device.
18455
18456 * loader/i386/bsd.c (netbsd_root): New variable.
18457 (netbsd_opts): New option 'root'.
18458 (NETBSD_ROOT_ARG): New macro.
18459 (grub_netbsd_boot): Use 'netbsd_root'.
18460 (grub_bsd_unload): Free 'netbsd_root'.
18461 (grub_cmd_netbsd): Fill 'netbsd_root'.
18462
adb29902 184632009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
18464
18465 Support for 64-bit NetBSD.
18466
18467 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
18468 point when booting non-FreeBSD.
18469
f5ae9f74 184702009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
18471
18472 Support --no-smp and --no-acpi for NetBSD.
18473
18474 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
18475 (NETBSD_AB_NOACPI): Likewise.
18476 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
18477 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
18478
de74f136 184792009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
18480
18481 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
18482 errors.
18483 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
18484 errors. Call grub_error when needed.
18485
e9a925da 184862009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
18487
18488 * commands/search.c (search_fs): Try searching without autoload first.
18489 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
18490 filesystem module explicitly for faster booting.
18491
5174302b 184922009-08-23 Colin Watson <cjwatson@ubuntu.com>
18493
18494 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
18495
c8c80635 184962009-08-23 Colin Watson <cjwatson@ubuntu.com>
18497
18498 * util/grub.d/30_os-prober.in: Disable os-prober if
18499 `GRUB_DISABLE_OS_PROBER' was set to true.
18500
71acf5e5 185012009-08-23 Robert Millan <rmh.grub@aybabtu.com>
18502
18503 * partmap/pc.c: Rename to ...
18504 * partmap/msdos.c: ... this. Update all users.
18505 (grub_pc_partition_map): Rename to ...
18506 (grub_msdos_partition_map): ... this. Update all users.
18507
18508 * parttool/pcpart.c: Rename to ...
18509 * parttool/msdospart.c: ... this. Update all users.
18510
18511 * include/grub/pc_partition.h: Rename to ...
18512 * include/grub/msdos_partition.h: ... this. Update all users.
18513 (grub_pc_partition_bsd_entry): Rename to ...
18514 (grub_msdos_partition_bsd_entry): ... this. Update all users.
18515 (grub_pc_partition_disk_label): Rename to ...
18516 (grub_msdos_partition_disk_label): ... this. Update all users.
18517 (grub_pc_partition_entry): Rename to ...
18518 (grub_msdos_partition_entry): ... this. Update all users.
18519 (grub_pc_partition_mbr): Rename to ...
18520 (grub_msdos_partition_mbr): ... this. Update all users.
18521 (grub_pc_partition): Rename to ...
18522 (grub_msdos_partition): ... this. Update all users.
18523 (grub_pc_partition_is_empty): Rename to ...
18524 (grub_msdos_partition_is_empty): ... this. Update all users.
18525 (grub_pc_partition_is_extended): Rename to ...
18526 (grub_msdos_partition_is_extended): ... this. Update all users.
18527 (grub_pc_partition_is_bsd): Rename to ...
18528 (grub_msdos_partition_is_bsd): ... this. Update all users.
18529
18530 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
18531 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
18532 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
18533 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
18534 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
18535 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
18536 (gpt_mod_LDFLAGS): Rename to ...
18537 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
18538 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
18539 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
18540 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
18541 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
18542 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
18543 (part_gpt_mod_LDFLAGS): ... this.
18544 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
18545 `pcpart.mod' to `msdospart.mod'.
18546 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
18547 to ...
18548 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
18549 (msdospart_mod_LDFLAGS): ... this.
18550
c11fded5 185512009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
18552
18553 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
18554 (openbsd_opts): Likewise.
18555 (netbsd_opts): Likewise.
18556 (freebsd_flags): Added 0 terminator.
18557 (openbsd_flags): Likewise.
18558 (netbsd_flags): Likewise.
18559 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
18560 (grub_cmd_freebsd): Transformed into extended command.
18561 (grub_cmd_openbsd): Likewise.
18562 (grub_cmd_netbsd): Likewise.
18563 (cmd_freebsd): Changed type to grub_extcmd_t.
18564 (cmd_openbsd): Likewise.
18565 (cmd_netbsd): Likewise.
18566 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
18567 grub_cmd_openbsd as extended commands.
18568 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
18569 cmd_netbsd and cmd_openbsd
18570
11d1c769 185712009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
18572
18573 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
18574
7a9094e5 185752009-08-21 Pavel Roskin <proski@gnu.org>
18576
5496c37e 18577 * Makefile.in (install-local): When checking if a file is in the
18578 build directory, use "test -e" to detect symlinks.
18579
7a9094e5 18580 * Makefile.in (install-local): Remove all files in
18581 $(DESTDIR)$(pkglibdir) before installing new files there.
18582
e53cea11 185832009-08-18 Felix Zielcke <fzielcke@z-51.de>
18584
18585 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
18586 grub-mkelfimage.
18587
9aced544 185882009-08-18 Felix Zielcke <fzielcke@z-51.de>
18589
18590 * util/grub-mkconfig.in: Don't use gfxterm by default if not
18591 explicitly specified by the user.
18592
b7da6bab 185932009-08-18 Pavel Roskin <proski@gnu.org>
18594
18595 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
18596 grub_uint8_t pointer for data.
18597 * include/grub/fbutil.h (struct grub_video_fbblit_info):
18598 Likewise.
18599 * video/fb/fbutil.c: Remove unnecessary casts.
18600
19f1b335 186012009-08-17 Michal Suchanek <hramrach@centrum.cz>
18602
18603 VBE cleanup.
18604
18605 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
18606 (grub_vbe_set_video_mode): Save active mode info
18607 only after setting the mode.
18608 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
18609 second argument.
18610
2f467aa9 186112009-08-17 Michal Suchanek <hramrach@centrum.cz>
18612
18613 Rename variables for clarity.
18614
18615 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
18616 (active_vbe_mode_info): ... this. All users updated.
18617 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
18618 All users updated.
18619 (initial_mode): Rename to ...
18620 (initial_vbe_mode): ... this. All users updated.
18621 (mode_in_use): Rename to ..
18622 (vbe_mode_in_use): ... this. All users updated.
18623 (mode_list): Rename to ..
18624 (vbe_mode_list): ... this. All users updated.
18625 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
18626 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
18627 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
18628 'mode_list_size' to 'vbe_mode_list_size'.
18629 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
18630 'best_mode_info' to 'best_vbe_mode_info' and
18631 'best_mode' to 'best_vbe_mode'
18632
6025fcd7 186332009-08-17 Michal Suchanek <hramrach@centrum.cz>
18634
18635 Remove duplicate grub_video_fb_get_video_ptr.
18636
18637 * include/grub/fbutil.h (get_data_ptr): Rename to ...
18638 (grub_video_fb_get_video_ptr): ... this.
18639 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
18640 * video/fb/fbutil.c: Add comment about addressing.
18641 (get_data_ptr): Rename to ...
18642 (grub_video_fb_get_video_ptr): ... this. All users updated.
18643 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
18644
cc8c6faf 186452009-08-17 Robert Millan <rmh.grub@aybabtu.com>
18646
18647 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
18648 grub_dprintf() that was just added.
18649
08aa61f0 186502009-08-17 Robert Millan <rmh.grub@aybabtu.com>
18651
18652 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
18653 (DEFAULT_VIDEO_MODE): Remove macros.
18654 (grub_linux_boot): Remove assumption that Linux has FB support,
18655 and use "text" as default video mode.
18656
7cef4f75 186572009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
18658
18659 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
18660 grub_dprintf.
18661 * fs/fat.c (grub_fat_read_data): Likewise.
18662
e1f39873 186632009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
18664
18665 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
18666 payload.
18667 (grub_module): Likewise.
18668
c166d79e 186692009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
18670
18671 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
18672 mbi->cmdline but free playground.
18673
c60cee8e 186742009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
18675
18676 Handle group offset on UFS1.
18677
18678 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
18679 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
18680
c0d8b5d4 186812009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
18682
18683 Split ufs.mod into ufs1.mod and ufs2.mod.
18684
18685 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
18686 (grub_fstest_SOURCES): Likewise.
18687 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
18688 (ufs_mod_SOURCES): Remove.
18689 (ufs_mod_CFLAGS): Likewise.
18690 (ufs_mod_LDFLAGS): Likewise.
18691 (ufs1_mod_SOURCES): New variable.
18692 (ufs1_mod_CFLAGS): Likewise.
18693 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 18694 (ufs2_mod_SOURCES): New variable.
18695 (ufs2_mod_CFLAGS): Likewise.
18696 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 18697 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
18698 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
18699 Likewise.
18700 (grub_emu_SOURCES): Likewise.
18701 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18702 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
18703 (grub_setup_SOURCES): Likewise.
18704 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18705 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
18706 (grub_setup_SOURCES): Likewise.
18707 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
18708 Likewise.
18709 * fs/ufs2.c: New file.
18710 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
18711
d3539132 187122009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
18713
18714 Framebuffer split.
18715
18716 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
18717 subsystem at the end.
18718 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
18719 (video_fb_mod_SOURCES): New variable.
18720 (video_fb_mod_CFLAGS): Likewise.
18721 (video_fb_mod_LDFLAGS): Likewise.
18722 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
18723 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
18724 * video/i386/pc/vbeblit.c: Moved from here ...
18725 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
18726 * video/i386/pc/vbefill.c: Moved from here ...
18727 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
18728 * video/i386/pc/vbeutil.c: Moved from here ...
18729 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
18730 * include/grub/i386/pc/vbeblit.h: Moved from here ...
18731 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
18732 * include/grub/i386/pc/vbefill.h: Moved from here ...
18733 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
18734 * include/grub/i386/pc/vbeutil.h: Moved from here ...
18735 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
18736 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
18737 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
18738 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
18739 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
18740 (grub_video_adapter): Added 'get_info_and_fini'.
18741 (grub_video_get_info_and_fini): New prototype.
18742 (grub_video_set_mode): make modestring const char *.
18743 * loader/i386/linux.c (grub_linux_setup_video): Use
18744 grub_video_get_info_and_fini.
18745 (grub_linux_boot): Move modesetting just before booting.
18746 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
18747 grub_video_get_info_and_fini.
18748 * video/i386/pc/vbe.c: Moved framebuffer part ...
18749 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
18750 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
18751 grub_video_fbstd_colors and grub_video_fb_set_palette.
18752 (grub_video_vbe_init): Clear 'framebuffer' variable and use
18753 grub_video_fb_init.
18754 (grub_video_vbe_fini): Use grub_video_fb_fini.
18755 (grub_video_vbe_setup): Use framebuffer.render_target instead of
18756 render_target and use grub_video_fb_set_active_render_target and
18757 grub_video_fb_set_palette.
18758 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
18759 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
18760 (grub_video_vbe_adapter): Use framebuffer.
18761 * video/video.c (grub_video_get_info_and_fini): New function.
18762 (grub_video_set_mode): Make modestring const char *.
18763 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
18764 values are already initialised.
18765
d404ee56 187662009-08-14 Pavel Roskin <proski@gnu.org>
18767
18768 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
18769 ABS and APPLE_CC.
18770 * boot/i386/pc/diskboot.S: Likewise.
18771 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
18772 sectors allow compilation on MacOSX.
18773 * conf/i386-pc.rmk: Enable unconditional compilation of
18774 lnxboot.img.
18775
9a10df16 187762009-08-13 Colin Watson <cjwatson@ubuntu.com>
18777
18778 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
18779 * util/grub.d/00_header.in: Enter interruptible sleep if
18780 GRUB_HIDDEN_TIMEOUT is set.
18781
be3c9ca7 187822009-08-13 Yves Blusseau <blusseau@zetam.org>
18783
18784 * include/grub/symbol.h: Add the LOCAL macro.
18785 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
18786 starting with "L_".
18787
1f9e557e 187882009-08-13 Pavel Roskin <proski@gnu.org>
18789
9ca62843 18790 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
18791 any modern compilers we support.
18792
1f9e557e 18793 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
18794 Use local labels starting with "L_" so that Apple assembler
18795 knows they are local.
18796
81623db6 187972009-08-10 Robert Millan <rmh.grub@aybabtu.com>
18798
18799 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
18800 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
18801 (bsd_kernel_types): ... this enum.
18802
18803 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
18804 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
18805 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
18806
18807 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
18808 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
18809 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
18810 messages.
18811
f5d35e7a 188122009-08-08 Robert Millan <rmh.grub@aybabtu.com>
18813
18814 * util/grub-dumpdevtree: Moved from here ...
18815 * util/i386/efi/grub-dumpdevtree: ... to here.
18816 (hexify): New function. Converts a string to its hex version.
18817 Generate hex versions of "efi" and "device-properties" by calling
18818 hexify() on the ASCII strings rather than by hardcoding numbers.
18819
d1e1d527 188202009-08-08 Robert Millan <rmh.grub@aybabtu.com>
18821
18822 * fs/jfs.c: Update copyright year.
18823
1ebbe064 188242009-08-08 Felix Zielcke <fzielcke@z-51.de>
18825
18826 * util/grub.d/00_header.in: Fix a comment.
18827 * util/grub.d/10_linux.in: Likewise.
18828 * util/grub.d/10_windows.in: Likewise.
18829 * util/grub.d/10_hurd.in: Likewise.
18830
a78c8d24 188312009-08-08 Felix Zielcke <fzielcke@z-51.de>
18832
18833 * util/grub-mkconfig.in: Allow the user to specify the used font
18834 with GRUB_FONT.
18835
29a6b9e8 188362009-08-08 Pavel Roskin <proski@gnu.org>
18837
b5f16cc4 18838 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
18839 available, xfs.mod needs it now.
18840
2f5cb827 18841 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
18842 the "g" modifier in sed when the intention is to strip something
18843 once. This fixes comparison of kernels with multiple dashes.
18844
29a6b9e8 18845 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
18846 on it. Add missing space before closing bracket. Fix
18847 misleading formatting.
18848
892a3d98 188492009-08-07 Robert Millan <rmh.grub@aybabtu.com>
18850
18851 * docs/grub.texi: Major overhaul. Remove all sections that are
18852 specific to GRUB Legacy, or mostly composed of Legacy-specific
18853 information.
18854
ed94253f 188552009-08-07 Robert Millan <rmh.grub@aybabtu.com>
18856
18857 * docs/version.texi: New file. Provides version information for
18858 grub.texi.
18859
126d6628 188602009-08-07 Robert Millan <rmh.grub@aybabtu.com>
18861
18862 * docs/grub.texi: Update CVS information to SVN.
18863 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
18864
998b5aa9 188652009-08-07 Felix Zielcke <fzielcke@z-51.de>
18866
18867 * util/grub-mkconfig.in: Remove a wrong `fi'.
18868
818e094a 188692009-08-07 Felix Zielcke <fzielcke@z-51.de>
18870
18871 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
18872 (grub_jfs_uuid): New function.
18873 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
18874
b969c52f 188752009-08-07 Felix Zielcke <fzielcke@z-51.de>
18876
18877 * util/grub-mkconfig_lib.in (font_path): Move the functionality
18878 of it to ...
18879 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
18880 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
18881
7a4894cc 188822009-08-07 Robert Millan <rmh.grub@aybabtu.com>
18883
18884 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
18885 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
18886 Update all users.
18887
18888 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
18889 not just "vmlinu[zx]".
18890 Moved from here ...
18891 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
18892 all users.
18893
18894 * util/grub.d/10_linux.in (find_latest): Moved from here ...
18895 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
18896 all users.
18897
4e2171f8 188982009-08-07 Robert Millan <rmh.grub@aybabtu.com>
18899
18900 * util/grub.d/10_freebsd.in: Use an absolute device path for
18901 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
18902
6dcfcb32 189032009-08-06 Felix Zielcke <fzielcke@z-51.de>
18904
18905 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
18906 handling of multiple abstraction modules.
18907
f56a8756 189082009-08-04 Robert Millan <rmh.grub@aybabtu.com>
18909
18910 Fix a bug resulting in black screen when loading Linux using a
18911 packed video mode.
18912
18913 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
18914 function.
18915
18916 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
18917 (grub_vbe_bios_getset_dac_palette_width): New function.
18918 (grub_vbe_bios_get_dac_palette_width)
18919 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
18920 grub_vbe_bios_getset_dac_palette_width()).
18921
18922 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
18923 check for return status.
18924 (grub_vbe_get_video_mode_info): When getting information for a packed
18925 mode (<= 8 bpp), obtain DAC palette width using
18926 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
18927 {red,green,blue}_mark_size.
18928
222671b2 189292009-08-04 Felix Zielcke <fzielcke@z-51.de>
18930
ecb1a6d9 18931 * commands/search.c (options): Fix help output to match actual code.
222671b2 18932
f84114f5 189332009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
18934
18935 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
18936 of homegrown code.
18937
bd288a20 189382009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 18939
18940 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
18941 on XFS or ReiserFS.
18942
8aab5e25 189432009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
18944
18945 Support Apple partition map with sector size different from 512 bytes.
18946
18947 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
18948 (apple_partition_map_iterate): Respect 'aheader.blocksize'
18949 and 'apart.partmap_size'.
18950
6ad6258a 189512009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
189522009-08-01 Robert Millan <rmh.grub@aybabtu.com>
18953
18954 Fix cpuid command.
18955
18956 * commands/i386/cpuid.c (options): New variable.
18957 (grub_cmd_cpuid): Return real error.
18958 (GRUB_MOD_INIT(cpuid)): Declare options.
18959
67459bc6 189602009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
18961
18962 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
18963 valid.
18964
fbc6ab54 189652009-07-31 Bean <bean123ch@gmail.com>
18966
18967 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
18968 log2_inode.
18969 (grub_fshelp_node): Move inode field to the end.
18970 (grub_xfs_data): Remove inode field.
18971 (grub_xfs_inode_block): Calculate inode size using sblock.
18972 (grub_xfs_inode_offset): Likewise.
18973 (grub_xfs_read_inode): Calculate inode size using sblock.
18974 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
18975 (grub_xfs_iterate_dir): Calculate inode size using sblock.
18976 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
18977 to match inode size.
18978 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
18979 not accessible when data is null.
18980 (grub_xfs_open): Likewise.
18981
f45d6cfc 189822009-07-31 Bean <bean123ch@gmail.com>
18983
18984 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
18985 Don't change pv->disk if it's already set.
18986
18987 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
18988 (grub_raid_register): ... here.
18989 (grub_raid_rescan): Removed.
18990
18991 * include/grub/raid.h (grub_raid_rescan): Removed.
18992
18993 * util/grub-fstest.c: Remove include file <grub/raid.h>.
18994 (fstest): Replace grub_raid_rescan with module fini function followed
18995 by init function.
18996
18997 * util/grub-probe.c: Add include file <grub/raid.h>.
18998 (probe_raid_level): New function.
18999 (probe): Detect abstraction by walking the disk device, support two
19000 level of abstraction (LVM on RAID) when detecting partition map.
19001
24443b5a 190022009-07-31 Pavel Roskin <proski@gnu.org>
19003
19004 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
19005 to grub_zalloc(), it was erroneous.
19006 Reported by Bean <bean123ch@gmail.com>
19007
a275d9e7 190082009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
19009
19010 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 19011 embedding zone, not only the first one.
a275d9e7 19012
56c5a47f 190132009-07-29 Joe Auricchio <jauricchio@gmail.com>
19014
19015 * term/gfxterm.c (clear_char): New function.
19016 (grub_virtual_screen_setup): Use clear_char.
19017 (scroll_up): Likewise.
19018 (grub_virtual_screen_cls): Likewise.
19019
67bb323a 190202009-07-29 Felix Zielcke <fzielcke@z-51.de>
19021
19022 * util/deviceiter.c (get_acceleraid_disk_name): New static
19023 function.
19024 (grub_util_iterate_devices): Handle Accelraid devices.
19025 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
19026
388a7c75 190272009-07-28 Robert Millan <rmh.grub@aybabtu.com>
19028
19029 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
19030 separator for the suggested gfxpayload string (';' collides with the
19031 parser and needs escaping).
19032
3bb7abcf 190332009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
19034
19035 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
19036 Clear direction flag before jumping to OS.
19037 (grub_multiboot2_real_boot): Likewise.
19038
2ddd36d7 190392009-07-28 Felix Zielcke <fzielcke@z-51.de>
19040
19041 * util/i386/pc/grub-install: Fix parsing of --disk-module
19042 option.
19043
c521b62b 190442009-07-28 Felix Zielcke <fzielcke@z-51.de>
19045
19046 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
19047 when embedding.
19048
880e0a0c 190492009-07-26 Felix Zielcke <fzielcke@z-51.de>
19050
19051 * util/grub-mkconfig.in (package_version): New variable.
19052 Use it do display the version.
19053
2366e356 190542009-07-25 Felix Zielcke <fzielcke@z-51.de>
19055
19056 * kern/file.c (grub_file_open): Revert to previous check with
19057 grub_errno.
19058
7ad8c80e 190592009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
19060
19061 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
19062 from help line. It's out of sync with code.
19063
72b9658b 190642009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
19065
19066 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
19067 entries on failed boot.
19068
77435277 190692009-07-25 Felix Zielcke <fzielcke@z-51.de>
19070
19071 * kern/file.c (grub_file_open): Fix an error check.
19072
fcaa8b21 190732009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
19074
35d16c74 19075 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
19076 partition map couldn't be identified.
fcaa8b21 19077
48904cd1 190782009-07-23 Pavel Roskin <proski@gnu.org>
19079
ef3c317f 19080 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
19081 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
19082 case of little endian words becomes just an optimization.
19083 Respect const modifier.
ad8ea1f4 19084 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 19085
48904cd1 19086 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
19087 to avoid loss of upper bits if align is unsigned and shorter
19088 than addr.
19089
260c9a89 190902009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
19091
19092 UUID support for UFS
19093
19094 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
19095 (grub_ufs_uuid): New function.
19096 (grub_ufs_fs): add .uuid
19097
f76ce889 190982009-07-21 Pavel Roskin <proski@gnu.org>
19099
19100 * kern/dl.c (grub_dl_check_header): Make static.
19101
6a6cbcaf 191022009-07-21 Felix Zielcke <fzielcke@z-51.de>
19103
19104 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
19105 add drivemap for Vista. It breaks Windows 7.
19106
cffcddb2 191072009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
19108
19109 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
19110 128 bytes
19111
1ef44b80 191122009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
19113
19114 Add BFS support
19115
19116 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
19117 (grub_fstest_SOURCES): Likewise.
19118 (pkglib_MODULES): Add befs.mod.
19119 (befs_mod_SOURCES): New variable.
19120 (befs_mod_CFLAGS): Likewise.
19121 (befs_mod_LDFLAGS): Likewise.
19122 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
19123 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
19124 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19125 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
19126 (grub_setup_SOURCES): Likewise.
19127 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19128 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19129 (grub_setup_SOURCES): Likewise.
19130 * fs/befs.c: New file.
19131 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
19132 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
19133 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
19134 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
19135 (B_KEY_INDEX_ALIGN): New declaration.
19136 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
19137 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
19138 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
19139 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
19140 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
19141 (grub_afs_mount) [MODE_BFS]: Likewise.
19142 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
19143 (grub_afs_fs): Use GRUB_AFS_FSNAME
19144 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
19145 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
19146 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
19147 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
19148
4f253044 191492009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
19150
19151 * util/getroot.c (find_root_device): Add support for MacOSX.
19152 * util/hostdisk.c: Likewise.
19153
57a55913 191542009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
19155
19156 * font/font.c (find_glyph): Check whether a font is present to avoid
19157 segmentation fault.
75421ca9 19158
191592009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 19160
19161 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
19162
e98cd0c2 191632009-07-20 Pavel Roskin <proski@gnu.org>
19164
19165 * configure.ac: Trim excessively wordy excuses.
19166
1d2d169a 191672009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
19168
19169 Add symlink, mtime and label support to AtheFS.
19170
19171 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
19172 (grub_afs_iterate_dir): Handle symlinks.
19173 (grub_afs_open): Use grub_afs_read_symlink.
19174 (grub_afs_dir): Likewise.
19175 Pass mtime.
19176 (grub_afs_label): New function.
19177 (grub_afs_fs): Add grub_afs_label.
19178 (grub_afs_read_symlink): New function.
19179
186f3189 191802009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
19181
19182 Fix AtheFS support.
19183
19184 * fs/afs.c: Fix comments style.
19185 (grub_afs_blockrun): Declare as packed.
19186 (grub_afs_datastream): Likewise.
19187 (grub_afs_bnode): Likewise.
19188 (grub_afs_btree): Likewise.
19189 (grub_afs_sblock): Likewise.
19190 Declare `name' as char.
19191 (grub_afs_inode): Declare as packed.
19192 Change void *vnode to grub_uint32_t unused.
19193 (grub_afs_iterate_dir): Check that key_size is positive.
19194 (grub_afs_mount): Don't read superblock twice.
75421ca9 19195 (grub_afs_dir): Don't free node in case of error,
186f3189 19196 grub_fshelp_find_file already handles this.
19197 (grub_afs_open): Likewise.
19198
5680109e 191992009-07-19 Pavel Roskin <proski@gnu.org>
19200
19201 * Makefile.in: Remove LIBLZO and enable_lzo.
19202 * conf/i386-pc.rmk: Remove lzo support.
19203 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
19204 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
19205 support.
19206 * kern/i386/pc/lzo1x.S: Remove.
19207 * kern/i386/pc/startup.S: Remove lzo support.
19208 * util/i386/pc/grub-mkimage.c: Likewise.
19209
ac70fa32 192102009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
19211
19212 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
19213 * fs/xfs.c (grub_xfs_dir): Likewise.
19214 * fs/afs.c (grub_afs_dir): Likewise.
19215 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
19216 (grub_iso9660_open): Likewise.
19217 * fs/jfs.c (grub_jfs_open): Likewise.
19218 * fs/ext2.c (grub_ext2_dir): Likewise.
19219 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
19220 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 19221
eab58da2 192222009-07-16 Pavel Roskin <proski@gnu.org>
19223
d2838156 19224 * configure.ac: Never add "-c" to CFLAGS.
19225
55c70904 19226 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
19227
43e6200c 19228 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
19229 grub_cv_cc_efiemu should be used.
19230
ce7a733d 19231 * configure.ac: Typo fixes.
19232
eab58da2 19233 * kern/mm.c (grub_zalloc): New function.
19234 (grub_debug_zalloc): Likewise.
19235 * include/grub/mm.h: Declare grub_zalloc() and
19236 grub_debug_zalloc().
19237 * util/misc.c (grub_zalloc): New function.
19238 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
19239 instead of grub_malloc(), remove unneeded initializations.
19240 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
19241 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
19242 * commands/parttool.c (grub_cmd_parttool): Likewise.
19243 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
19244 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
19245 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
19246 * disk/usbms.c (grub_usbms_finddevs): Likewise.
19247 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
19248 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
19249 (grub_cmd_efiemu_pnvram): Likewise.
19250 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
19251 * fs/iso9660.c (grub_iso9660_mount): Likewise.
19252 (grub_iso9660_iterate_dir): Likewise.
19253 * fs/jfs.c (grub_jfs_opendir): Likewise.
19254 * fs/ntfs.c (list_file): Likewise.
19255 (grub_ntfs_mount): Likewise.
19256 * kern/disk.c (grub_disk_open): Likewise.
19257 * kern/dl.c (grub_dl_load_core): Likewise.
19258 * kern/elf.c (grub_elf_file): Likewise.
19259 * kern/env.c (grub_env_context_open): Likewise.
19260 (grub_env_set): Likewise.
19261 (grub_env_set_data_slot): Likewise.
19262 * kern/file.c (grub_file_open): Likewise.
19263 * kern/fs.c (grub_fs_blocklist_open): Likewise.
19264 * loader/i386/multiboot.c (grub_module): Likewise.
19265 * loader/xnu.c (grub_xnu_create_key): Likewise.
19266 (grub_xnu_create_value): Likewise.
19267 * normal/main.c (grub_normal_add_menu_entry): Likewise.
19268 (read_config_file): Likewise.
19269 * normal/menu_entry.c (make_screen): Likewise.
19270 * partmap/sun.c (sun_partition_map_iterate): Likewise.
19271 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
19272 * script/sh/script.c (grub_script_parse): Likewise.
19273 * video/bitmap.c (grub_video_bitmap_create): Likewise.
19274 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
19275 * video/readers/png.c (grub_png_output_byte): Likewise.
19276 (grub_video_reader_png): Likewise.
19277
830afef7 192782009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 19279
19280 Enable all targets that can be built by default
19281
830afef7 19282 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 19283 grub-mkfont and grub-fstest if they can be built
19284
ee293aee 192852009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
19286
19287 Fix hang and segmentation fault in grub-emu-usb
19288
19289 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
19290 * util/usb.c (grub_libusb_devices): likewise
19291 (grub_libusb_init): rename to ...
19292 (GRUB_MOD_INIT (libusb)):...this
19293 (grub_libusb_fini): rename to ..
19294 (GRUB_MOD_FINI (libusb)):...this
19295 * disk/usbms.c (grub_usbms_transfer): fix retry logic
19296 * include/grub/disk.h (grub_raid_init): removed, it's useless
19297 (grub_raid_fini): likewise
19298 (grub_lvm_init): likewise
19299 (grub_lvm_fini): likewise
19300 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
19301 by grub_init_all
19302
94414221 193032009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
19304
19305 Fix libusb
19306
19307 * Makefile.in (LIBUSB): new macro
19308 * genmk.rb (Utility/print_tail): new method
19309 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
19310 (top level): call util.print_tail at the end.
19311
59ade63d 193122009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
19313
19314 Make FreeBSD accept zpool.cache
19315
19316 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
19317 type is /boot/zfs/zpool.cache
19318
a58da8c7 193192009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
19320
19321 Fix 64-bit efiemu
19322
19323 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
19324 correct wrong typedef
19325 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
19326
20591577 193272009-07-15 Pavel Roskin <proski@gnu.org>
19328
560ca572 19329 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
19330 * kern/disk.c (struct grub_disk_cache): Likewise.
19331
e8e8e4fd 19332 * commands/probe.c (options): Typo fix.
19333
fde24e10 19334 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
19335 Increase to 0x5a to accommodate FAT32. Adjust other offsets
19336 accordingly.
19337 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
19338
379c54c1 19339 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
19340 the end of "Error" to make the message more readable.
19341
7bd8f5bf 19342 * boot/i386/pc/boot.S (kernel_segment): Remove.
19343 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
19344 for destination.
19345
40b132c5 19346 * boot/i386/pc/boot.S (boot_version): Remove.
19347 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
19348 Remove.
19349
20591577 19350 * include/grub/i386/pc/boot.h: Sort all offsets.
19351 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
19352 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
19353 * boot/i386/pc/boot.S: Assert location of every offset listed in
19354 include/grub/i386/pc/boot.h.
19355
2df32b2c 193562009-07-13 Pavel Roskin <proski@gnu.org>
19357
44b5d879 19358 * include/grub/i386/coreboot/machine.h: Rename
19359 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
19360 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
19361 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
19362
17dc3751 19363 * kern/dl.c: Force native word size to suppress warnings when
19364 compiling grub-emu.
19365
2df32b2c 19366 * kern/device.c (grub_device_iterate): Change struct part_ent to
19367 hold the name, not a pointer to it. Use one grub_malloc() per
19368 partition, not two. Free partition_name if grub_malloc() fails.
19369 Set ents to NULL only before grub_partition_iterate() is called.
19370
75c59f59 193712009-07-11 Bean <bean123ch@gmail.com>
19372
19373 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
19374 childname.
19375
0ae1bf88 193762009-07-10 Bean <bean123ch@gmail.com>
193772009-07-10 Robert Millan <rmh.grub@aybabtu.com>
19378
19379 * kern/ieee1275/openfw.c (grub_children_iterate)
19380 (grub_devalias_iterate): Fix size evaluation for property or path
19381 strings, which was broken since r2132.
19382
8279cade 193832009-07-07 Pavel Roskin <proski@gnu.org>
19384
7d8a52d3 19385 * commands/search.c (search_file): Merge into ...
19386 (search_fs): ... this. Accept search type as argument.
19387 (grub_cmd_search): Pass search type to search_fs().
19388
25f9a05a 19389 * include/grub/util/console.h: New file.
19390 * util/console.c: Use it instead of grub/machine/console.h.
19391 * util/grub-emu.c: Likewise.
19392
8279cade 19393 * lib/arg.c (find_long_option): Remove.
19394 (find_long): Add `len' argument, make `s' const char *.
19395 (grub_arg_parse): Parse long options in place, not in a
19396 temporary buffer.
19397
4a11b60f 193982009-07-06 Pavel Roskin <proski@gnu.org>
19399
99f68041 19400 * commands/search.c (search_fs): Fix potential NULL pointer
19401 dereference.
19402
4a11b60f 19403 * commands/search.c (search_fs): Replace QUID macro with quid_fn
19404 function pointer.
19405
e110f4de 194062009-07-06 Daniel Mierswa <impulze@impulze.org>
19407
19408 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
19409 comparison.
19410
46eeb6a2 194112009-07-05 Pavel Roskin <proski@gnu.org>
19412
bab74958 19413 * include/grub/i386/linux.h (struct linux_kernel_params):
19414 Restore padding3, it's still needed.
19415
46eeb6a2 19416 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
19417 FreeBSD.
19418 * util/osdetect.lua: Likewise.
19419
b4a1dc79 194202009-07-05 Bean <bean123ch@gmail.com>
19421
19422 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
19423
19424 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
19425 (grub_lua_getenv): Likewise.
19426 (grub_lua_setenv): Likewise.
19427 (save_errno): New function.
19428 (push_result): Likewise.
19429 (grub_lua_enum_device): Likewise.
19430 (grub_lua_enum_file): Likewise.
19431 (grub_lua_file_open): Likewise.
19432 (grub_lua_file_close): Likewise.
19433 (grub_lua_file_seek): Likewise.
19434 (grub_lua_file_read): Likewise.
19435 (grub_lua_file_getline): Likewise.
19436 (grub_lua_file_getsize): Likewise.
19437 (grub_lua_file_getpos): Likewise.
19438 (grub_lua_file_eof): Likewise.
19439 (grub_lua_file_exist): Likewise.
19440 (grub_lua_add_menu): Likewise.
19441
19442 * script/lua/grub_lua.h (isupper): New inline function.
19443 (islower): Likewise.
19444 (ispunct): Likewise.
19445 (isxdigit): Likewise.
19446 (strcspn): Change to normal function.
19447 (strpbkr): New function declaration.
19448 (memchr): Likewise.
19449
19450 * script/lua/grub_main.c (scan_str): New function.
19451 (strcspn): Likewise.
19452 (strpbrk): Likewise.
19453 (memchr): Likewise.
19454
19455 * script/lua/linit.c (lualibs): Enable the string library.
19456
19457 * util/osdetect.lua: New file.
19458
2da92295 194592009-07-04 Robert Millan <rmh.grub@aybabtu.com>
19460
19461 * include/grub/i386/linux.h (struct linux_kernel_params): Add
19462 `capabilities' member.
19463
b2582ec9 194642009-07-02 Pavel Roskin <proski@gnu.org>
19465
19466 * genparttoollist.sh: Add missing newline at the end.
19467
32622956 194682009-07-01 Pavel Roskin <proski@gnu.org>
19469
87a7339e 19470 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
19471
d23af54e 19472 * util/hostdisk.c (open_device): Remove `const' from
19473 `sysctl_size', as sysctlbyname() can change it (in this case it
19474 doesn't actually happen).
19475
c94b18a9 19476 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
19477 using signed long int constants.
19478
c6cd3ef0 19479 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
19480 constant to avoid a warning on FreeBSD.
19481
0df63420 19482 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
19483 where it's needed.
19484
999577f1 19485 * Makefile.in: Install include/grub/machine symlink.
19486
6f41557f 19487 * Makefile.in: When installing symlinks, use "cp -fR", which
19488 works on FreeBSD and MacOSX.
19489 From Yves Blusseau <cl7m42e02@sneakemail.com>
19490
c8d22988 19491 * kern/dl.c (grub_dl_resolve_symbol): Make static.
19492 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
19493
1b96e952 19494 * util/misc.c: Move grub_reboot() and grub_halt() ...
19495 * util/grub-emu.c: ... here. Make main_env static.
19496 * include/grub/util/misc.h: Remove main_env.
19497
2ef0084d 19498 * kern/mm.c: Use correct format to print size_t.
19499
32622956 19500 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
19501 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
19502 * kern/powerpc/dl.c: Likewise.
19503 * kern/sparc64/dl.c: Likewise.
19504 * kern/x86_64/dl.c: Likewise.
19505
3f7f0cd0 195062009-07-01 Robert Millan <rmh.grub@aybabtu.com>
19507
19508 Fix grub-emu build on sparc64-ieee1275.
19509
75421ca9 19510 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 19511 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
19512
211d06b5 195132009-07-01 Robert Millan <rmh.grub@aybabtu.com>
19514
19515 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
19516 (grub_reboot, grub_halt): New functions.
19517
19518 * util/i386/pc/misc.c: Delete. Update all users.
19519 * util/sparc64/ieee1275/misc.c: Likewise.
19520 * util/powerpc/ieee1275/misc.c: Likewise.
19521
aaf53e3c 195222009-07-01 Robert Millan <rmh.grub@aybabtu.com>
19523
19524 * conf/i386.rmk (setjmp_mod_SOURCES)
19525 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
19526 * conf/common.rmk (setjmp_mod_SOURCES)
19527 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
19528 to use $(target_cpu).
19529 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
19530 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
19531 * conf/powerpc-ieee1275.rmk: Likewise.
19532 * conf/sparc64-ieee1275.rmk: Likewise.
19533
19534 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
19535 $(target_cpu) for kern/$(target_cpu)/dl.c.
19536 * conf/i386-efi.rmk: Likewise.
19537 * conf/i386-ieee1275.rmk: Likewise.
19538 * conf/x86_64-efi.rmk: Likewise.
19539 * conf/i386-coreboot.rmk: Likewise.
19540 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
19541 $(target_cpu) for kern/$(target_cpu)/dl.c and for
19542 kern/$(target_cpu)/cache.S.
19543 * conf/sparc64-ieee1275.rmk: Likewise.
19544
a337130b 195452009-07-01 Robert Millan <rmh.grub@aybabtu.com>
19546
19547 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
19548 type to `grub_uint8_t', and adjust `padding9' accordingly.
19549
c6fe4d53 195502009-06-29 Robert Millan <rmh.grub@aybabtu.com>
19551
b09db61d 19552 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
19553
c6fe4d53 19554 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
19555 assembly in final jump, using register constraints.
19556
b09db61d 19557 (grub_linux_boot): For text mode, initialize `have_vga' using
19558 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
19559
19560 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
19561 right before the final jump.
19562
19563 Set `video_mode' to 0x3.
19564
19565 Document initialization of `video_page', `video_mode' and
19566 `video_ega_bx'.
19567
28333ad0 195682009-06-29 Robert Millan <rmh.grub@aybabtu.com>
19569
19570 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
19571 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 19572 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 19573
02164e1b 195742009-06-29 Robert Millan <rmh.grub@aybabtu.com>
19575
19576 Fix build on Debian / sparc.
19577
19578 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
19579
18b6c557 195802009-06-28 Pavel Roskin <proski@gnu.org>
19581
85f2aab6 19582 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
19583 fix a warning.
19584
18b6c557 19585 * util/grub.d/10_linux.in: Match SUSE style initrd names.
19586
ad760f81 195872009-06-27 Robert Millan <rmh.grub@aybabtu.com>
19588
19589 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
19590 `err'.
19591
87a4623b 195922009-06-27 Robert Millan <rmh.grub@aybabtu.com>
19593
19594 Revert r2338.
19595
19596 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
19597 file can't be opened. grub_file_open() is already supposed to set
75421ca9 19598 grub_errno / grub_errmsg appropriately.
87a4623b 19599 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
19600
8231fb77 196012009-06-27 Pavel Roskin <proski@gnu.org>
196022009-06-27 Robert Millan <rmh.grub@aybabtu.com>
19603
19604 * include/grub/dl.h: Include grub/elf.h.
19605 (struct grub_dl): Add symtab field.
19606 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
19607 GRUB_MODULES_MACHINE_READONLY.
19608 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
19609 of the header for read-only modules.
19610 (grub_dl_unload): Free mod->symtab for read-only modules.
19611 * kern/i386/dl.c: Use mod->symtab.
19612 * kern/powerpc/dl.c: Likewise.
19613 * kern/sparc64/dl.c: Likewise.
19614 * kern/x86_64/dl.c: Likewise.
19615
19616 * conf/i386-qemu.rmk: New file.
19617 * kern/i386/qemu/startup.S: Likewise.
19618 * kern/i386/qemu/mmap.c: Likewise.
19619 * boot/i386/qemu/boot.S: Likewise.
19620 * include/grub/i386/qemu/time.h: Likewise.
19621 * include/grub/i386/qemu/serial.h: Likewise.
19622 * include/grub/i386/qemu/kernel.h: Likewise.
19623 * include/grub/i386/qemu/console.h: Likewise.
19624 * include/grub/i386/qemu/boot.h: Likewise.
19625 * include/grub/i386/qemu/init.h: Likewise.
19626 * include/grub/i386/qemu/machine.h: Likewise.
19627 * include/grub/i386/qemu/loader.h: Likewise.
19628 * include/grub/i386/qemu/memory.h: Likewise.
19629
19630 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
19631 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
19632 [qemu] (pkglib_IMAGES): Add `boot.img'.
19633 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
19634 [qemu] (boot_img_FORMAT): New variables.
19635 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
19636 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
19637 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
19638 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
19639 [qemu] (kernel_img_FORMAT): New variables.
19640
19641 * configure.ac: Recognise `i386-qemu'.
19642
19643 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
19644 (for no compression).
19645 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
19646 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
19647 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
19648 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
19649 ifdefs).
19650
97fe384e 196512009-06-27 Pavel Roskin <proski@gnu.org>
19652
19653 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
19654 read.
19655 * efiemu/prepare32.c: Likewise.
19656 * efiemu/prepare64.c: Likewise.
19657
c402ab17 196582009-06-26 Pavel Roskin <proski@gnu.org>
19659
19660 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
19661 * include/grub/elf.h: Define symbols without "32" or "64" based
19662 on GRUB_TARGET_WORDSIZE.
19663 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
19664 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
19665 ELF definitions.
19666 * efiemu/loadcore64.c: Likewise.
19667 * loader/i386/bsd32.c: Likewise.
19668 * loader/i386/bsd64.c: Likewise.
19669 * kern/dl.c: Remove own ELF definitions.
19670 * util/i386/efi/grub-mkimage.c: Likewise.
19671
9bbdfd4d 196722009-06-23 Robert Millan <rmh.grub@aybabtu.com>
19673
19674 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
19675 segment 0x0 unconditionally, because the reference generated by
19676 GAS is an absolute address.
19677
a42ce6e9 196782009-06-22 Robert Millan <rmh.grub@aybabtu.com>
19679
19680 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
19681 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
19682
c952cf92 196832009-06-22 Robert Millan <rmh.grub@aybabtu.com>
19684
19685 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
19686 indexes. Check for -f explicitly.
cc3752ad 19687 (search_file): Improve error message.
19688 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 19689
132a0a59 196902009-06-22 Robert Millan <rmh.grub@aybabtu.com>
19691
19692 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
19693 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
19694
387a140c 196952009-06-22 Robert Millan <rmh.grub@aybabtu.com>
19696
19697 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
19698 * conf/i386-ieee1275.rmk: Likewise.
19699 * conf/i386-coreboot.rmk: Likewise.
19700
19701 * kern/i386/pc/startup.S (grub_stop): Remove function.
19702 * kern/i386/ieee1275/startup.S: Likewise.
19703 * kern/i386/coreboot/startup.S: Likewise.
19704 * kern/i386/misc.S (grub_stop): New function.
19705
41da9665 197062009-06-22 Robert Millan <rmh.grub@aybabtu.com>
19707
19708 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
19709 * kern/i386/realmode.S (real_to_prot): ... to here.
19710
bf337234 197112009-06-22 Robert Millan <rmh.grub@aybabtu.com>
19712
19713 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
19714 with `kernel.img'.
19715 (kernel_elf_SOURCES): Rename to ...
19716 (kernel_img_SOURCES): ... this.
19717 (kernel_elf_HEADERS): Rename to ...
19718 (kernel_img_HEADERS): ... this. Update all users.
19719 (kernel_elf_ASFLAGS): Rename to ...
19720 (kernel_img_ASFLAGS): ... this.
19721 (kernel_elf_CFLAGS): Rename to ...
19722 (kernel_img_CFLAGS): ... this.
19723 (kernel_elf_LDFLAGS): Rename to ...
19724 (kernel_img_LDFLAGS): ... this.
19725 * conf/i386-coreboot.rmk: Likewise.
19726 * conf/powerpc-ieee1275.rmk: Likewise.
19727
19728 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
19729 with "kernel.img".
19730
f52196ff 197312009-06-21 Pavel Roskin <proski@gnu.org>
19732
c3cee413 19733 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
19734 to match nested functions.
19735 * loader/sparc64/ieee1275/linux.c: Likewise.
19736
f52196ff 19737 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
19738
58750afc 197392009-06-21 Robert Millan <rmh.grub@aybabtu.com>
19740
19741 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
19742 all i386 platforms.
19743
15355c7d 197442009-06-21 Robert Millan <rmh.grub@aybabtu.com>
19745
19746 Fix asm file handling on ELF, and remove workarounds.
19747
19748 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 19749 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 19750 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
19751 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
19752
3f3ec72b 197532009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
19754
19755 Load BSD ELF modules
19756
19757 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
19758 and loader/i386/bsd64.c
19759 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
19760 (FREEBSD_MODTYPE_ELF_MODULE): New definition
19761 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
19762 (grub_freebsd_load_elfmodule32): New declaration
19763 (grub_freebsd_load_elfmoduleobj64): Likewise
19764 (grub_freebsd_load_elf_meta32): Likewise
19765 (grub_freebsd_load_elf_meta64): Likewise
19766 (grub_freebsd_add_meta): Likewise
19767 (grub_freebsd_add_meta_module): Likewise
19768 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
19769 (grub_freebsd_add_meta_module): Likewise and move module-specific
19770 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
19771 (grub_cmd_freebsd): Add elf-kernel specific parts
19772 based on grub_freebsd_add_meta_module
19773 (grub_cmd_freebsd_module): Add type parsing moved from
19774 grub_freebsd_add_meta_module
19775 (grub_cmd_freebsd_module_elf): New function
19776 (cmd_freebsd_module_elf): New variable
19777 (GRUB_MOD_INIT): Register freebsd_module_elf
19778 * loader/i386/bsd32.c: New file
19779 * loader/i386/bsd64.c: Likewise
19780 * loader/i386/bsdXX.c: Likewise
19781 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
19782 (grub_elf64_load): Likewise
19783 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
19784 All users updated
19785 (grub_elf64_load_hook_t): Likewise
19786
0db15301 197872009-06-21 Colin Watson <cjwatson@ubuntu.com>
19788
19789 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
19790 variable.
19791 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
19792 don't write a menu entry for recovery mode.
19793
546796c1 197942009-06-20 Robert Millan <rmh.grub@aybabtu.com>
19795
19796 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
19797 after it's no longer needed.
19798
cd7310d5 197992009-06-20 Robert Millan <rmh.grub@aybabtu.com>
19800
19801 * include/grub/i386/loader.h (grub_linux_prot_size)
19802 (grub_linux_tmp_addr, grub_linux_real_addr)
19803 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
19804 GRUB_MACHINE_PCBIOS.
19805 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
19806 common grub_util_info() call to ...
19807 (generate_image): ... here.
19808 Fix use of uninitialized memory, comparison of signed with
19809 unsigned integers and memory leak.
19810 Remove bogus module address message.
19811
ab32d3b5 198122009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
19813
19814 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
19815 grub_raid_register
19816 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
19817
024ef597 198182009-06-19 Pavel Roskin <proski@gnu.org>
19819
19820 * configure.ac: Remove stray AC_MSG_CHECKING.
19821
3ac72b51 198222009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
19823
19824 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 19825
e14cd814 198262009-06-18 Pavel Roskin <proski@gnu.org>
19827
19828 * conf/common.rmk: Add fs_file.mod.
19829 * disk/fs_file.c: New file.
19830 * include/grub/disk.h (enum grub_disk_dev_id): Add
19831 GRUB_DISK_DEVICE_FILE_ID.
19832
26586d98 198332009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
19834
19835 Fix build with Apple's toolchain. Part 2
19836
19837 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
19838 a fake start
19839
26de2bcd 198402009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
19841
19842 Fix build with Apple's toolchain. Part 1
19843
19844 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
19845 for long calls
19846 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 19847 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 19848 Apple's toolchain
19849
09b3490b 198502009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
19851
19852 Fix warnings
19853
19854 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
19855 (decomp_block): initialize ch
19856 use grub_memcpy instead of memcpy
19857
c22a006a 198582009-06-17 Pavel Roskin <proski@gnu.org>
19859
d3638678 19860 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
19861 version, use declarations needed to use vga_text as the startup
19862 console.
19863
c22a006a 19864 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
19865 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
19866 the kernel.
19867 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
19868 and grub_at_keyboard_fini(), it's done on module load and
19869 unload.
19870
05b129e0 198712009-06-17 Felix Zielcke <fzielcke@z-51.de>
19872
19873 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
19874 file can't be found.
19875 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
19876
cf24ed9e 198772009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
19878
19879 Fix newline handling
19880
19881 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 19882 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 19883 (grub_script_yylex): don't segfault on unterminated script
19884 newline terminates command and variable
19885
74aa8e4b 198862009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
19887
19888 avoid double grub_adjust_range call. Bug reported by David Simner
19889
19890 * kern/disk.c (grub_disk_write): change to raw disk access before
19891 calling disk_read
19892
1bd265f3 198932009-06-17 Colin Watson <cjwatson@ubuntu.com>
19894
19895 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
19896 spaces, for the benefit of help2man.
19897 * util/i386/efi/grub-mkimage.c (usage): Likewise.
19898
a2d08c06 198992009-06-16 Pavel Roskin <proski@gnu.org>
19900
19901 * kern/i386/halt.c: Include grub/machine/init.h.
19902 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
19903
b97bcb19 199042009-06-16 Felix Zielcke <fzielcke@z-51.de>
19905
19906 * util/grub.d/30_os-prober.in: Use ${root} in the generated
19907 drivemap menuentry.
19908
0644f96c 199092009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
19910
19911 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
19912 `echo' command.
19913
3ef17a2e 199142009-06-16 Pavel Roskin <proski@gnu.org>
19915
19916 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
19917 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
19918 save %dx, we only need %dl and we never change it.
19919 * boot/i386/pc/cdboot.S: Don't set the root drive.
19920 * boot/i386/pc/pxeboot.S: Likewise.
19921 * include/grub/i386/pc/boot.h: Remove
19922 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
19923 GRUB_BOOT_MACHINE_DRIVE_CHECK.
19924 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
19925 * kern/i386/pc/init.c (make_install_device): Remove references
19926 to grub_root_drive.
19927 * kern/i386/pc/startup.S: Likewise.
19928 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
19929
693fe637 199302009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
19931
19932 xnu_uuid command
19933
19934 * commands/xnu_uuid.c: new file
19935 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
19936 (xnu_uuid_mod_SOURCES): new variable
19937 (xnu_uuid_mod_CFLAGS): likewise
19938 (xnu_uuid_mod_LDFLAGS): likewise
19939 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
19940 * conf/i386-ieee1275.rmk: likewise
19941 * conf/i386-pc.rmk: likewise
19942 * conf/powerpc-ieee1275.rmk: likewise
19943 * conf/sparc64-ieee1275.rmk: likewise
19944 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
19945
c9da87d0 199462009-06-16 Pavel Roskin <proski@gnu.org>
19947
19948 * configure.ac: Avoid '==' in test command, it's not portable.
19949
9c6f4596 199502009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
19951
19952 Probe command
19953
19954 * commands/probe.c: new file
19955 * conf/common.rmk (pkglib_MODULES): add probe.mod
19956 (probe_mod_SOURCES): new variable
19957 (probe_mod_CFLAGS): likewise
19958 (probe_mod_LDFLAGS): likewise
19959 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
19960 * conf/i386-ieee1275.rmk: likewise
19961 * conf/i386-pc.rmk: likewise
19962 * conf/powerpc-ieee1275.rmk: likewise
19963 * conf/sparc64-ieee1275.rmk: likewise
19964
70b7f9fd 199652009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
19966
19967 Fix handling of string like \"hello\" and "a
19968 b"
19969
19970 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
19971 (grub_script_yylex): fix parsing of quoting, escaping and newline
19972
71c79a6b 199732009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
19974
dd74360c 19975 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 19976 handling
dd74360c 19977
0644f96c 199782009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 19979
19980 * util/grub-mkconfig.in: Fix parsing of --output option.
19981
e40893c3 199822009-06-12 Pavel Roskin <proski@gnu.org>
19983
19984 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
19985 genmk.rb don't need to be generated or installed.
19986
3a1acfe2 199872009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
19988
19989 * commands/i386/pc/drivemap_int13h.S: add more comments
19990
3a4575d4 199912009-06-11 Pavel Roskin <proski@gnu.org>
19992
0658e928 19993 * Makefile.in (uninstall): Uninstall manuals.
19994
ca0388f0 19995 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
19996 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
19997 and update-grub_lib in two places.
19998 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
19999
e3b27c39 20000 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
20001 a compiler warning.
20002
3a4575d4 20003 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
20004 `entry_lo' to fix variable shadowing.
20005
af1f4f55 200062009-06-11 Christian Franke <franke@computer.org>
20007
20008 * kern/misc.c (__enable_execute_stack): Add missing return type
20009 to prevent gcc warning.
20010
5225e649 200112009-06-11 Felix Zielcke <fzielcke@z-51.de>
20012
20013 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
20014
7d83bd47 200152009-06-11 Pavel Roskin <proski@gnu.org>
20016
c1cb63ba 20017 * Makefile.in: Don't rely on any scripts being executable.
20018 Always use $(SHELL) to run shell scripts.
20019
7d83bd47 20020 * configure.ac: Always define ___main if using -nostdlib. This
20021 fixes tests on Cygwin.
20022
948f48e7 200232009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
20024
20025 UDF fix
20026
7d83bd47 20027 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 20028 is in bytes and not in blocks
7d83bd47 20029
8ada9bc1 200302009-06-11 Pavel Roskin <proski@gnu.org>
20031
20032 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
20033 warning.
20034
25ad2323 200352009-06-11 Felix Zielcke <fzielcke@z-51.de>
20036
20037 * util/grub.d/30_os-prober.in: Fix a comment. Source
20038 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
20039 to set the root device. Place drivemap command in the generated
20040 chain entry.
20041
e65acb0c 200422009-06-11 Pavel Roskin <proski@gnu.org>
20043
20044 * configure.ac: Remove host_m32. Issues with 64-bit utilities
20045 have long been resolved.
20046
f285fe2d 200472009-06-11 Colin Watson <cjwatson@ubuntu.com>
20048
bd47b0b5 20049 * util/grub.d/10_linux.in: Capitalise "Linux".
20050
f285fe2d 20051 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
20052
a0c62e4e 200532009-06-11 Pavel Roskin <proski@gnu.org>
20054
b6783cb2 20055 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
20056 fix a gcc warning and ensure that the function won't ever exit.
20057
dde032e8 20058 * kern/i386/ieee1275/init.c: Add missing prototype for
20059 grub_stop_floppy().
20060
22cd079d 20061 * loader/ieee1275/multiboot2.c [__i386__]: Include
20062 grub/cpu/multiboot.h.
20063
a0c62e4e 20064 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
20065 casts to short - they are not portable and cause warnings. Fix
20066 use of uninitialized values in input_buf. Use ARRAY_SIZE.
20067
63963d17 200682009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
20069
20070 Drivemap fixes
20071
20072 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
20073 new function
20074 (grub_get_root_biosnumber_saved): new variable
20075 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
20076 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 20077 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 20078 %dx after the call if necessary
20079 * conf/common.rmk (pkglib_MODULES): remove boot.mod
20080 (boot_mod_SOURCES): remove
20081 (boot_mod_CFLAGS): remove
20082 (boot_mod_LDFLAGS): remove
20083 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
20084 (boot_mod_SOURCES): new variable
20085 (boot_mod_CFLAGS): likewise
20086 (boot_mod_LDFLAGS): likewise
20087 * conf/i386-efi.rmk: likewise
20088 * conf/i386-ieee1275.rmk: likewise
20089 * conf/i386-pc.rmk: likewise
20090 * conf/powerpc-ieee1275.rmk: likewise
20091 * conf/sparc64-ieee1275.rmk: likewise
20092 * conf/x86_64-efi.rmk: likewise
20093 * include/grub/i386/pc/biosnum.h: new file
20094 * lib/i386/pc/biosnum.c: likewise
20095 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
20096 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
20097 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 20098
33abf7ae 200992009-06-10 Pavel Roskin <proski@gnu.org>
20100
5ac35b35 20101 * io/gzio.c (test_header): Don't reuse one buffer for all data.
20102 Use separate variables. Read only the file size at the end, but
20103 not the checksum that we don't use.
20104
5c5215d5 20105 * kern/file.c (grub_file_read): Use void pointer for the buffer.
20106 Adjust all callers.
20107
27d5fef7 20108 * kern/ieee1275/openfw.c: Remove libc includes.
20109 * kern/ieee1275/cmain.c: Likewise.
20110 * include/grub/ieee1275/ieee1275.h: Likewise.
20111
33abf7ae 20112 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
20113 compiler warnings.
20114
19d50c2b 201152009-06-10 Felix Zielcke <fzielcke@z-51.de>
20116
20117 * Makefile.in: Remove all trailing whitespace.
20118 * conf/i386-pc.rmk: Likewise.
20119 * conf/powerpc-ieee1275.rmk: Likewise.
20120 * conf/sparc64-ieee1275.rmk: Likewise.
20121 * docs/grub.texi: Likewise.
20122 * docs/texinfo.tex: Likewise.
20123 * disk/fs_uuid.c: Likewise.
20124 * disk/lvm.c: Likewise.
20125 * disk/scsi.c: Likewise.
20126 * disk/ata.c: Likewise.
20127 * disk/ieee1275/ofdisk.c: Likewise.
20128 * disk/i386/pc/biosdisk.c: Likewise.
20129 * disk/host.c: Likewise.
20130 * disk/raid.c: Likewise.
20131 * disk/efi/efidisk.c: Likewise.
20132 * disk/usbms.c: Likewise.
20133 * disk/memdisk.c: Likewise.
20134 * disk/loopback.c: Likewise.
20135 * kern/powerpc/dl.c: Likewise.
20136 * kern/device.c: Likewise.
20137 * kern/dl.c: Likewise.
20138 * kern/sparc64/dl.c: Likewise.
20139 * kern/ieee1275/ieee1275.c: Likewise.
20140 * kern/term.c: Likewise.
20141 * kern/fs.c: Likewise.
20142 * kern/i386/dl.c: Likewise.
20143 * kern/i386/pc/startup.S: Likewise.
20144 * kern/i386/pc/init.c: Likewise.
20145 * kern/i386/pc/mmap.c: Likewise.
20146 * kern/i386/pc/lzo1x.S: Likewise.
20147 * kern/i386/ieee1275/init.c: Likewise.
20148 * kern/i386/realmode.S: Likewise.
20149 * kern/i386/tsc.c: Likewise.
20150 * kern/partition.c: Likewise.
20151 * kern/corecmd.c: Likewise.
20152 * kern/file.c: Likewise.
20153 * kern/efi/efi.c: Likewise.
20154 * kern/efi/init.c: Likewise.
20155 * kern/efi/mm.c: Likewise.
20156 * kern/main.c: Likewise.
20157 * kern/err.c: Likewise.
20158 * kern/env.c: Likewise.
20159 * kern/disk.c: Likewise.
20160 * kern/generic/millisleep.c: Likewise.
20161 * kern/generic/rtc_get_time_ms.c: Likewise.
20162 * kern/misc.c: Likewise.
20163 * kern/parser.c: Likewise.
20164 * genmk.rb: Likewise.
20165 * configure.ac: Likewise.
20166 * boot/i386/pc/diskboot.S: Likewise.
20167 * boot/i386/pc/pxeboot.S: Likewise.
20168 * boot/i386/pc/boot.S: Likewise.
20169 * boot/i386/pc/lnxboot.S: Likewise.
20170 * boot/i386/pc/cdboot.S: Likewise.
20171 * parttool/pcpart.c: Likewise.
20172 * video/readers/tga.c: Likewise.
20173 * video/video.c: Likewise.
20174 * video/bitmap.c: Likewise.
20175 * lib/envblk.c: Likewise.
20176 * lib/i386/setjmp.S: Likewise.
20177 * fs/xfs.c: Likewise.
20178 * fs/afs.c: Likewise.
20179 * fs/fat.c: Likewise.
20180 * fs/ntfs.c: Likewise.
20181 * fs/udf.c: Likewise.
20182 * fs/affs.c: Likewise.
20183 * fs/iso9660.c: Likewise.
20184 * fs/hfs.c: Likewise.
20185 * fs/fshelp.c: Likewise.
20186 * fs/ext2.c: Likewise.
20187 * fs/jfs.c: Likewise.
20188 * fs/reiserfs.c: Likewise.
20189 * fs/hfsplus.c: Likewise.
20190 * fs/minix.c: Likewise.
20191 * fs/cpio.c: Likewise.
20192 * fs/sfs.c: Likewise.
20193 * fs/ufs.c: Likewise.
20194 * efiemu/prepare.c: Likewise.
20195 * efiemu/loadcore_common.c: Likewise.
20196 * efiemu/runtime/efiemu.sh: Likewise.
20197 * efiemu/runtime/efiemu.S: Likewise.
20198 * efiemu/runtime/efiemu.c: Likewise.
20199 * efiemu/pnvram.c: Likewise.
20200 * efiemu/main.c: Likewise.
20201 * efiemu/i386/pc/cfgtables.c: Likewise.
20202 * efiemu/i386/loadcore64.c: Likewise.
20203 * efiemu/i386/loadcore32.c: Likewise.
20204 * efiemu/loadcore.c: Likewise.
20205 * efiemu/symbols.c: Likewise.
20206 * efiemu/mm.c: Likewise.
20207 * include/grub/autoefi.h: Likewise.
20208 * include/grub/datetime.h: Likewise.
20209 * include/grub/term.h: Likewise.
20210 * include/grub/hfs.h: Likewise.
20211 * include/grub/lvm.h: Likewise.
20212 * include/grub/i386/tsc.h: Likewise.
20213 * include/grub/i386/linux.h: Likewise.
20214 * include/grub/i386/xnu.h: Likewise.
20215 * include/grub/i386/efiemu.h: Likewise.
20216 * include/grub/i386/pc/biosdisk.h: Likewise.
20217 * include/grub/i386/pc/memory.h: Likewise.
20218 * include/grub/i386/pc/vbe.h: Likewise.
20219 * include/grub/parttool.h: Likewise.
20220 * include/grub/video.h: Likewise.
20221 * include/grub/memory.h: Likewise.
20222 * include/grub/fs.h: Likewise.
20223 * include/grub/partition.h: Likewise.
20224 * include/grub/xnu.h: Likewise.
20225 * include/grub/efi/api.h: Likewise.
20226 * include/grub/efi/pe32.h: Likewise.
20227 * include/grub/efi/memory.h: Likewise.
20228 * include/grub/multiboot.h: Likewise.
20229 * include/grub/usbdesc.h: Likewise.
20230 * include/grub/multiboot2.h: Likewise.
20231 * include/grub/acpi.h: Likewise.
20232 * include/grub/efiemu/efiemu.h: Likewise.
20233 * include/grub/disk.h: Likewise.
20234 * include/grub/ieee1275/ieee1275.h: Likewise.
20235 * include/grub/net.h: Likewise.
20236 * include/grub/machoload.h: Likewise.
20237 * include/grub/macho.h: Likewise.
20238 * include/multiboot.h: Likewise.
20239 * genmoddep.awk: Likewise.
20240 * normal/main.c: Likewise.
20241 * normal/menu_entry.c: Likewise.
20242 * normal/menu_viewer.c: Likewise.
20243 * normal/completion.c: Likewise.
20244 * normal/cmdline.c: Likewise.
20245 * normal/misc.c: Likewise.
20246 * normal/datetime.c: Likewise.
20247 * bus/usb/usbtrans.c: Likewise.
20248 * bus/usb/ohci.c: Likewise.
20249 * bus/usb/uhci.c: Likewise.
20250 * bus/usb/usb.c: Likewise.
20251 * mmap/efi/mmap.c: Likewise.
20252 * mmap/i386/pc/mmap_helper.S: Likewise.
20253 * mmap/i386/pc/mmap.c: Likewise.
20254 * mmap/i386/mmap.c: Likewise.
20255 * mmap/i386/uppermem.c: Likewise.
20256 * mmap/mmap.c: Likewise.
20257 * commands/acpi.c: Likewise.
20258 * commands/echo.c: Likewise.
20259 * commands/blocklist.c: Likewise.
20260 * commands/loadenv.c: Likewise.
20261 * commands/usbtest.c: Likewise.
20262 * commands/boot.c: Likewise.
20263 * commands/parttool.c: Likewise.
20264 * commands/search.c: Likewise.
20265 * commands/cat.c: Likewise.
20266 * commands/i386/pc/play.c: Likewise.
20267 * commands/i386/pc/drivemap.c: Likewise.
20268 * commands/i386/pc/vbeinfo.c: Likewise.
20269 * commands/i386/pc/acpi.c: Likewise.
20270 * commands/i386/pc/vbetest.c: Likewise.
20271 * commands/ls.c: Likewise.
20272 * commands/cmp.c: Likewise.
20273 * commands/test.c: Likewise.
20274 * commands/efi/acpi.c: Likewise.
20275 * commands/gptsync.c: Likewise.
20276 * commands/help.c: Likewise.
20277 * partmap/amiga.c: Likewise.
20278 * partmap/apple.c: Likewise.
20279 * partmap/acorn.c: Likewise.
20280 * partmap/pc.c: Likewise.
20281 * partmap/sun.c: Likewise.
20282 * partmap/gpt.c: Likewise.
20283 * script/sh/lexer.c: Likewise.
20284 * script/sh/function.c: Likewise.
20285 * font/font.c: Likewise.
20286 * font/font_cmd.c: Likewise.
20287 * loader/powerpc/ieee1275/linux.c: Likewise.
20288 * loader/efi/chainloader.c: Likewise.
20289 * loader/multiboot_loader.c: Likewise.
20290 * loader/macho.c: Likewise.
20291 * loader/i386/multiboot.c: Likewise.
20292 * loader/i386/linux.c: Likewise.
20293 * loader/i386/pc/linux.c: Likewise.
20294 * loader/i386/pc/multiboot2.c: Likewise.
20295 * loader/i386/pc/chainloader.c: Likewise.
20296 * loader/i386/pc/xnu.c: Likewise.
20297 * loader/i386/bsd_trampoline.S: Likewise.
20298 * loader/i386/efi/linux.c: Likewise.
20299 * loader/i386/multiboot_elfxx.c: Likewise.
20300 * loader/i386/bsd_helper.S: Likewise.
20301 * loader/i386/bsd.c: Likewise.
20302 * loader/i386/linux_trampoline.S: Likewise.
20303 * loader/i386/xnu_helper.S: Likewise.
20304 * loader/i386/xnu.c: Likewise.
20305 * loader/i386/bsd_pagetable.c: Likewise.
20306 * loader/i386/multiboot_helper.S: Likewise.
20307 * loader/xnu.c: Likewise.
20308 * loader/xnu_resume.c: Likewise.
20309 * io/gzio.c: Likewise.
20310 * term/efi/console.c: Likewise.
20311 * term/terminfo.c: Likewise.
20312 * term/ieee1275/ofconsole.c: Likewise.
20313 * term/i386/pc/serial.c: Likewise.
20314 * term/i386/pc/vesafb.c: Likewise.
20315 * term/i386/pc/vga.c: Likewise.
20316 * term/usb_keyboard.c: Likewise.
20317 * term/gfxterm.c: Likewise.
20318 * aclocal.m4: Likewise.
20319 * util/lvm.c: Likewise.
20320 * util/grub.d/30_os-prober.in: Likewise.
20321 * util/grub.d/10_hurd.in: Likewise.
20322 * util/console.c: Likewise.
20323 * util/grub-macho2img.c: Likewise.
20324 * util/grub-probe.c: Likewise.
20325 * util/hostfs.c: Likewise.
20326 * util/i386/pc/grub-mkimage.c: Likewise.
20327 * util/i386/pc/grub-setup.c: Likewise.
20328 * util/i386/efi/grub-mkimage.c: Likewise.
20329 * util/grub-mkconfig.in: Likewise.
20330 * util/raid.c: Likewise.
20331 * util/resolve.c: Likewise.
20332 * util/grub-mkdevicemap.c: Likewise.
20333 * util/grub-emu.c: Likewise.
20334 * util/getroot.c: Likewise.
20335 * util/hostdisk.c: Likewise.
20336 * util/usb.c: Likewise.
20337 * util/grub-editenv.c: Likewise.
20338 * util/misc.c: Likewise.
20339
d2d49665 203402009-06-10 Felix Zielcke <fzielcke@z-51.de>
20341
20342 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
20343 `genparttoollist.sh'.
20344 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
20345 Add `*.sh' to the list find searches for and change `mdate.sh'
20346 to `mdate-sh'.
20347
fe052e37 203482009-06-10 Pavel Roskin <proski@gnu.org>
20349
2763ac18 20350 * include/grub/multiboot2.h: Provide compatibility defines for
20351 multiboot2.h.
20352 * include/multiboot2.h: Include stdint.h only if needed, using
20353 angle brackets.
20354 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
20355 grub/multiboot2.h.
20356 * loader/ieee1275/multiboot2.c: Likewise.
20357 * loader/multiboot2.c: Likewise.
20358 * loader/multiboot_loader.c: Likewise.
20359
437e6adc 20360 * configure.ac: Use -nostdlib when probing for the target. It
20361 should not be required to have libc for the target.
20362
06a6836c 20363 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
20364 they fail without libc headers for the target.
20365 * include/grub/powerpc/libgcc.h: Use weak attribute for all
20366 exports.
20367 * include/grub/sparc64/libgcc.h: Likewise. Don't use
20368 preprocessor conditionals.
20369
fe052e37 20370 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
20371 build system doesn't need to be aware of the tar.c internals.
20372
afd22553 203732009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 20374
afd22553 20375 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 20376
6b787c4f 203772009-06-09 Robert Millan <rmh.grub@aybabtu.com>
20378
20379 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
20380 disk limit to 26 for IDE, Virtio, Xen and SCSI.
20381
203822009-06-09 Felix Zielcke <fzielcke@z-51.de>
20383
20384 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 20385 aren't available if ata.mod gets used.
6b787c4f 20386
473d1e45 203872009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 20388
473d1e45 20389 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 20390 initialising controller.
473d1e45 20391 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 20392
255a27d4 203932009-06-08 Felix Zielcke <fzielcke@z-51.de>
20394
20395 * util/i386/pc/grub-install.in: Add a parameter --disk-module
20396 to choose between ata and biosdisk module on i386-pc.
20397
473d1e45 203982009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 20399
d55842d8 20400 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
20401 Subclass and Programming Interface fields in terms of the 3 byte
20402 Class Code register.
20403 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
20404
fa5db0b1 20405 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
20406 interface is OHCI. Add grub_dprintf for symmetry with
20407 bus/usb/uhci.c.
20408 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
20409 interface is UHCI. Add interf variable for programming
20410 interface. Print interface with class/subclass.
20411
c0947beb 20412 * bus/usb/ohci.c: Set interf with correct field.
20413
69da8877 20414 * bus/usb/uhci.c: Remove unneeded doubled lines.
20415 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
20416 Remove whitespace inside comment.
20417
9e172e30 204182009-06-08 Robert Millan <rmh.grub@aybabtu.com>
20419
20420 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
20421 as fallback an equivalent option without depth.
20422
de65ee2b 204232009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
20424
20425 Not fail if unable to retrieve C/H/S on LBA disks
20426
473d1e45 20427 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 20428 if unable to retrieve C/H/S on LBA disks
20429
b57ea2c9 204302009-06-08 Pavel Roskin <proski@gnu.org>
20431
20432 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
20433 about aliasing.
20434
af361263 204352009-06-08 Felix Zielcke <fzielcke@z-51.de>
20436
20437 * Makefile.in (uninstall): Remove all $lib_DATA files.
20438
4c9ec6b3 204392009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
20440
20441 Bugfix: install on partitionless device
20442
20443 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
20444 is a whole disk
20445
e76fc924 204462009-06-08 Felix Zielcke <fzielcke@z-51.de>
20447
20448 * Makefile.in (uninstall): Remove all $include_DATA files.
20449
ba5a0d05 204502009-06-08 Felix Zielcke <fzielcke@z-51.de>
20451
20452 * commands/true.c: New file. Implement the true and false commands.
20453 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
20454 (true_mod_SOURCES): New variable.
20455 (true_mod_CFLAGS): Likewise.
20456 (true_mod_LDFLAGS): Likewise.
20457
c8048e32 204582009-06-05 Colin D Bennett <colin@gibibit.com>
20459
20460 Optimized font character lookup using binary search instead of linear
20461 search. Fonts now are required to have the character index ordered by
20462 code point.
20463
20464 * font/font.c (load_font_index): Verify that fonts have ordered
20465 character indices.
20466 (find_glyph): Use binary search instead of linear search to find a
20467 character in a font.
20468
408305be 204692009-06-05 Michael Scherer <misc@mandriva.org>
20470
20471 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
20472 uses case sensitive btree.
20473 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
20474 only for case insensitive filesystems.
20475
8ee1e0d9 204762009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
20477
20478 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
20479 * conf/common.rmk (search_mod_CFLAGS): likewise
20480
a9966eb1 204812009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20482
473d1e45 20483 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 20484 compensate a compiler bug
20485
9e7100fb 204862009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20487
473d1e45 20488 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 20489 instead of '\b'
473d1e45 20490
ede21d71 204912009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20492
20493 Definitions for creating asm symbols with Apple's CC
20494
20495 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
20496 [APPLE_CC] (VARIABLE): likewise
20497
9dbf7653 204982009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20499
20500 Disable lnxboot.img when compiled
20501 with Apple's CC
20502
20503 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
20504 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
20505 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
20506 [! APPLE_CC] (CODE_LENG): skip
20507 [! APPLE_CC] (setup_sects): likewise
20508 [! APPLE_CC]: skip filling
473d1e45 20509
e93cdc3d 205102009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20511
20512 Address in trampolines based on 32-bit registers when compiled
20513 with Apple's CC
20514
473d1e45 20515 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 20516 for addresses
20517 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
20518
6c688477 205192009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20520
20521 Avoid aliases when compiling with Apple's CC for PCBIOS machine
20522
20523 * kern/misc.c [APPLE_CC] (memcpy): new function
20524 [APPLE_CC] (memmove): likewise
20525 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 20526 (memcpy): define alias conditionally on !APPLE_CC
6c688477 20527 (memset): likewise
20528 (abort): likewise
20529 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
20530 APPLE_CC are defined
20531 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
20532 (grub_assert_fail): make prototype conditional
20533
e37ffc5c 205342009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20535
20536 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
20537
473d1e45 20538 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
20539 grub-macho2img
e37ffc5c 20540 (CLEANFILES): add grub-macho2img
20541 (grub_macho2img_SOURCES): new variable
20542 * kern/i386/pc/startup.S (bss_start): new variable
20543 (bss_end): likewise
20544 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
20545 * util/grub-macho2img.c: new file
20546
cf00df31 205472009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20548
20549 Use objconv when compiling with Apple's CC
20550
20551 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
20552 (efiemu64.o): likewise
20553 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
20554 when compiling with Apple's CC
20555 (efiemu64_s.o): likewise
20556 * configure.ac: check for objconv when compiling with Apple's CC
20557 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 20558
d119a20c 205592009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20560
20561 Define segment as well as section when compiling with
20562 Apple's CC
20563
20564 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
20565 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
20566 (efiemu_convert_pointer): likewise
20567 (efiemu_set_virtual_address_map): likewise
20568 (efiemu_convert_pointer): likewise
20569 (efiemu_getcrc32): likewise
20570 (init_crc32_table): likewise
20571 (reflect): likewise
20572 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
20573 (GRUB_MOD_DEP): likewise
473d1e45 20574
c8600122 205752009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20576
20577 Allow a compilation without -mcmodel=large
20578
20579 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
20580 when compiled without -mcmodel=large
473d1e45 20581 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 20582 without -mcmodel=large
473d1e45 20583 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 20584 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 20585
e8df1d4e 205862009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20587
20588 Remove nested functions in efiemu core
20589
20590 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 20591
cc6c3ac1 205922009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20593
20594 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
20595
20596 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
20597 temporary storage
473d1e45 20598 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
20599 using Apple's CC
cc6c3ac1 20600 (grub_cpu_is_tsc_supported): likewise
20601 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 20602
3e325901 206032009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20604
20605 Absolute addressing through constant with Apple's cc
20606
20607 * kern/i386/pc/startup.S: Define necessary constants
20608 and address through it when using ABS with Apple's CC
20609 * boot/i386/pc/diskboot.S: likewise
20610 * boot/i386/pc/boot.S: likewise
20611 * boot/i386/pc/lnxboot.S: likewise
20612 * boot/i386/pc/cdboot.S: likewise
20613 * mmap/i386/pc/mmap_helper.S: likewise
20614 * commands/i386/pc/drivemap_int13h.S: likewise
20615
2b167a72 206162009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20617
20618 Check if compiler is apple cc
20619
20620 * Makefile.in (ASFLAGS): new variable
20621 (TARGET_ASFLAGS): likewise
20622 (TARGET_MODULE_FORMAT): likewise
20623 (TARGET_APPLE_CC): likewise
20624 (OBJCONV): likewise
20625 (TARGET_IMG_CFLAGS): likewise
20626 (TARGET_CPPFLAGS): add includedir
20627 * configure.ac: call grub_apple_cc and grub_apple_target_cc
20628 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
20629 Check for linker script only if compiler isn't Apple's CC
20630 (TARGET_MODULE_FORMAT): set
20631 (TARGET_APPLE_CC): likewise
20632 (TARGET_ASFLAGS): likewise
20633 (ASFLAGS): likewise
20634 Check for objcopy only if compiler isn't Apple's CC
20635 Check for BSS symbol only if compiler isn't Apple's CC
20636 * genmk.rb: adapt nm options if we use Apple's utils
20637 * aclocal.m4 (grub_apple_cc): new test
20638 (grub_apple_target_cc): likewise
473d1e45 20639
fb14123e 206402009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20641
20642 Simplify sed expressions and improve awk
20643
20644 * Makefile.in (install-local): simplify sed expression
20645 * gencmdlist.sh: likewise
20646 * genmoddep.awk: avoid adding module as a dependency of itself
20647
5b889789 206482009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20649
20650 Add missing start symbols
20651
20652 * boot/i386/pc/boot.S: add start
fb14123e 20653 * boot/i386/pc/pxeboot.S: likewise
473d1e45 20654
fd2bf2e3 206552009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20656
20657 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 20658
20659 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 20660 (relocate_addresses): consider both r_addend and value at offset
20661 (make_mods_section): zerofill modinfo and header
20662 (convert_elf): write prefix here
473d1e45 20663
5389763d 206642009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20665
20666 Use .asciz instead of .string
20667
20668 * i386/pc/diskboot.S: use .asciz instead of .string
20669 * i386/pc/boot.S: likewise
20670 * include/grub/dl.h (GRUB_MOD_DEP): likewise
20671 (GRUB_MOD_NAME): likewise
473d1e45 20672
3eb5ed4e 206732009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20674
20675 gfxpayload support
20676
20677 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
20678 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
20679 (grub_video_setup): remove
20680 (grub_video_set_mode): new prototype
20681 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
20682 (vid_mode): remove
20683 (linux_vesafb_res): compile only on PCBIOS
20684 (grub_linux_boot): support gfxpayload
20685 * loader/i386/pc/xnu.c (video_hook): new function
20686 (grub_xnu_set_video): support gfxpayload
20687 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
20688 (DEFAULT_VIDEO_HEIGHT): likewise
20689 (DEFAULT_VIDEO_FLAGS): likewise
20690 (DEFAULT_VIDEO_MODE): new definition
20691 (video_hook): new function
20692 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 20693 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 20694 loading xnu
20695 * video/video.c (grub_video_setup): removed
473d1e45 20696 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 20697 grub_video_setup
20698
4b0e1143 206992009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20700
20701 Avoid calling biosdisk in drivemap
20702
20703 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
20704 (revparse_biosdisk): likewise
20705 (list_mappings): derive name from id directly
20706 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 20707
fda6cb98 207082009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
20709
20710 Script fixes
20711
20712 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
20713 (grub_lexer_param): add tokenonhold
20714 (grub_script_create_cmdline): remove cmdline. All callers updated
20715 (grub_script_function_create): make functionname
20716 grub_script_arg. All callers updated
20717 (grub_script_execute_argument_to_string): new prototype
20718 * kern/parser.c (state_transitions): reorder
20719 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 20720 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 20721 make global
20722 (grub_script_execute_cmdline): use new format
20723 * script/sh/function.c (grub_script_function_create): make functionname
20724 grub_script_arg. All callers updated
473d1e45 20725 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 20726 (grub_script_yylex): remove
20727 (grub_script_yylex2): renamed to ...
20728 (grub_script_yylex): ...renamed
20729 parse the expressions like a${b}c
20730 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
20731 (GRUB_PARSER_TOKEN_VAR): remove
20732 (GRUB_PARSER_TOKEN_NAME): likewise
20733 ("if"): declare as typeless
20734 ("while"): likewise
20735 ("function"): likewise
20736 ("else"): likewise
20737 ("then"): likewise
20738 ("fi"): likewise
20739 (text): remove
20740 (argument): likewise
20741 (script): accept empty scripts and make exit on error
20742 (arguments): use GRUB_PARSER_TOKEN_ARG
20743 (function): likewise
20744 (command): move error handling to script
20745 (menuentry): move grub_script_lexer_ref before
473d1e45 20746 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 20747 argument. All callers updated
20748
f4448a07 207492009-06-04 Robert Millan <rmh.grub@aybabtu.com>
20750
20751 Prevent GRUB from probing floppies during boot.
20752
20753 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
20754 * commands/search.c (options): Add --no-floppy.
20755 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
20756 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
20757 --no-floppy when searching for UUIDs.
20758
2bf5885a 207592009-06-04 Robert Millan <rmh.grub@aybabtu.com>
20760
20761 Simplify the code duplication in commands/search.c.
20762
20763 * commands/search.c (search_label, search_fs_uuid): Merge into ...
20764 (search_fs): ... this. Update all users.
20765
f6fd460a 207662009-06-03 Felix Zielcke <fzielcke@z-51.de>
20767
20768 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
20769
cbb3c83e 207702009-05-28 Pavel Roskin <proski@gnu.org>
20771
57788cfd 20772 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
20773 Remove the original symlink explicitly.
20774
cbb3c83e 20775 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
20776 just one slash. That's how grub_fshelp_find_file() does it.
20777
cd0d5e30 207782009-05-26 Pavel Roskin <proski@gnu.org>
20779
f0f8bbe2 20780 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
20781 to `str'.
20782
cd0d5e30 20783 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
20784 possibly unused.
20785
8c2cab51 207862009-05-25 Christian Franke <franke@computer.org>
20787
20788 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
20789 register.
20790 (grub_atapi_identify): Add wait after drive select.
20791 (grub_ata_identify): Do more strict status register check before
20792 calling grub_atapi_identify (). Suppress error message if status
20793 register is 0x00 after command failure. Add status register
20794 check after PIO read to avoid bogus identify due to stuck DRQ.
20795 Thanks to Pavel Roskin for testing.
20796 (grub_device_initialize): Remove unsafe status register check.
20797 Thanks to 'phcoder' for problem report and patch.
20798 Prevent sign extension in debug message.
20799
230c0ad6 208002009-05-23 Colin D Bennett <colin@gibibit.com>
20801
20802 Cleaned up `include/grub/normal.h'. Grouped prototypes by
20803 definition file, and functions defined in `normal/menu.c' have had
20804 their prototypes moved to `include/grub/menu.h' for consistency.
20805
20806 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
20807 from normal.h.
20808 (grub_menu_get_entry): Likewise.
20809 (grub_menu_get_timeout): Likewise.
20810 (grub_menu_set_timeout): Likewise.
20811 (grub_menu_execute_entry): Likewise.
20812 (grub_menu_execute_with_fallback): Likewise.
20813 (grub_menu_entry_run): Likewise.
20814
20815 * include/grub/normal.h: Re-ordered and grouped function
20816 prototypes by file that the function is defined in.
20817 (grub_menu_execute_callback): Removed; moved to menu.h.
20818 (grub_menu_get_entry): Likewise.
20819 (grub_menu_get_timeout): Likewise.
20820 (grub_menu_set_timeout): Likewise.
20821 (grub_menu_execute_entry): Likewise.
20822 (grub_menu_execute_with_fallback): Likewise.
20823 (grub_menu_entry_run): Likewise.
20824 (grub_menu_addentry): Renamed from this ...
20825 (grub_normal_add_menu_entry): ... to this.
20826
20827 * normal/main.c (grub_menu_addentry): Renamed from this ...
20828 (grub_normal_add_menu_entry): ... to this.
20829
20830 * script/sh/execute.c (grub_script_execute_menuentry): Update
20831 reference to renamed grub_menu_addentry function.
20832
861f03a5 208332009-05-23 Felix Zielcke <fzielcke@z-51.de>
20834
20835 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
20836
96b1619a 208372009-05-22 Pavel Roskin <proski@gnu.org>
20838
bf6a5fb2 20839 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
20840 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
20841 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
20842 compiling for the i386 targets, but not for the utilities.
20843
96b1619a 20844 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
20845 to grub_uint8_t.
20846 (grub_root_drive): Likewise.
20847 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
20848 remove alignment.
20849 (grub_root_drive): Change size to byte.
20850 (grub_start_addr): Remove.
20851 (grub_end_addr): Likewise.
20852 (grub_apm_bios_info): Likewise.
20853
b729776b 208542009-05-21 Felix Zielcke <fzielcke@z-51.de>
20855
20856 * normal/i386: Remove.
20857 * normal/powerpc: Likewise.
20858 * normal/sparc64: Likewise.
20859 * normal/x86_64: Likewise.
20860
0a15ce80 208612009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
20862
20863 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 20864 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 20865 * loader/i386/xnu_helper.S: Likewise
d6da58e6 20866
33db9015 208672009-05-18 Colin D Bennett <colin@gibibit.com>
20868
d6da58e6 20869 Display error messages when parsing a Lua statement fails.
20870 Previously, executing a syntactically invalid statement like
20871 ")foo" or "bar;" would silently fail.
33db9015 20872
20873 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 20874 (grub_lua_parse_line): Improved reporting of Lua parser and
20875 execution errors.
33db9015 20876
46422c89 208772009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
20878
20879 Remove -Werror which causes build to fail on some systems
20880
20881 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
20882 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
20883 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 20884
22f53a96 208852009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
20886
20887 trampoline for linux on 64-bit platform
20888
18f547ad 20889 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
20890 loader/i386/efi/linux_trampoline.S
20891 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 20892 declaration
d6da58e6 20893 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
20894 here
22f53a96 20895 * loader/i386/linux_trampoline.S: moved here
d6da58e6 20896 * loader/i386/efi/linux.c (allocate_pages): reserve space for
20897 trampoline
22f53a96 20898 (jumpvector): removed
20899 (grub_linux_trampoline_start): new declaration
20900 (grub_linux_trampoline_end): likewise
20901 (grub_linux_boot): use trampoline when on 64-bit platform
20902 * loader/i386/linux.c: likewise
20903
cb5a0f40 209042009-05-16 Pavel Roskin <proski@gnu.org>
20905
20906 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
20907 const to avoid a warning.
20908 (grub_lua_setenv): Likewise.
20909 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
20910 lmsg to fix a warning.
20911
334f2c28 209122009-05-16 Felix Zielcke <fzielcke@z-51.de>
20913
20914 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 20915 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
20916 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
20917 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
20918 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
20919 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
20920 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
20921 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 20922
59e5d3ec 209232009-05-16 Felix Zielcke <fzielcke@z-51.de>
20924
20925 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
20926
9d87a1ba 209272009-05-16 Bean <bean123ch@gmail.com>
20928
20929 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
20930 (lua_mod_SOURCES): New variable.
20931 (lua_mod_CFLAGS): Likewise.
20932 (lua_mod_LDFLAGS): Likewise.
20933
20934 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
20935 (setjmp_mod_SOURCES): New variable.
20936 (setjmp_mod_CFLAGS): Likewise.
20937 (setjmp_LDFLAGS): Likewise.
20938
20939 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
20940 (setjmp_mod_SOURCES): New variable.
20941 (setjmp_mod_CFLAGS): Likewise.
20942 (setjmp_LDFLAGS): Likewise.
20943
20944 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
20945 (setjmp_mod_SOURCES): New variable.
20946 (setjmp_mod_CFLAGS): Likewise.
20947 (setjmp_LDFLAGS): Likewise.
20948
20949 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
20950 (setjmp_mod_SOURCES): New variable.
20951 (setjmp_mod_CFLAGS): Likewise.
20952 (setjmp_LDFLAGS): Likewise.
20953
20954 * normal/i386/setjmp.S: Moved from here ...
20955 * lib/i386/setjmp.S: ... Moved here
20956 * normal/x86_64/setjmp.S: Moved from here ...
20957 * lib/x86_64/setjmp.S: ... Moved here
20958 * normal/powerpc/setjmp.S: Moved from here ...
20959 * lib/powerpc/setjmp.S: ... Moved here
20960 * normal/sparc64/setjmp.S: Moved from here ...
20961 * lib/sparc64/setjmp.S: ... Moved here
20962
20963 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
20964 returns_twice in mingw.
20965
20966 * script/lua/grub_lib.c: New file.
20967 * script/lua/grub_lib.h: Likewise.
20968 * script/lua/grub_lua.h: Likewise.
20969 * script/lua/grub_main.c: Likewise.
20970 * script/lua/lapi.c: Likewise.
20971 * script/lua/lapi.h: Likewise.
20972 * script/lua/lauxlib.c: Likewise.
20973 * script/lua/lauxlib.h: Likewise.
20974 * script/lua/lbaselib.c: Likewise.
20975 * script/lua/lcode.c: Likewise.
20976 * script/lua/lcode.h: Likewise.
20977 * script/lua/ldblib.c: Likewise.
20978 * script/lua/ldebug.c: Likewise.
20979 * script/lua/ldebug.h: Likewise.
20980 * script/lua/ldo.c: Likewise.
20981 * script/lua/ldo.h: Likewise.
20982 * script/lua/ldump.c: Likewise.
20983 * script/lua/lfunc.c: Likewise.
20984 * script/lua/lfunc.h: Likewise.
20985 * script/lua/lgc.c: Likewise.
20986 * script/lua/lgc.h: Likewise.
20987 * script/lua/linit.c: Likewise.
20988 * script/lua/liolib.c: Likewise.
20989 * script/lua/llex.c: Likewise.
20990 * script/lua/llex.h: Likewise.
20991 * script/lua/llimits.h: Likewise.
20992 * script/lua/lmathlib.c: Likewise.
20993 * script/lua/lmem.c: Likewise.
20994 * script/lua/lmem.h: Likewise.
20995 * script/lua/loadlib.c: Likewise.
20996 * script/lua/lobject.c: Likewise.
20997 * script/lua/lobject.h: Likewise.
20998 * script/lua/lopcodes.c: Likewise.
20999 * script/lua/lopcodes.h: Likewise.
21000 * script/lua/loslib.c: Likewise.
21001 * script/lua/lparser.c: Likewise.
21002 * script/lua/lparser.h: Likewise.
21003 * script/lua/lstate.c: Likewise.
21004 * script/lua/lstate.h: Likewise.
21005 * script/lua/lstring.c: Likewise.
21006 * script/lua/lstring.h: Likewise.
21007 * script/lua/lstrlib.c: Likewise.
21008 * script/lua/ltable.c: Likewise.
21009 * script/lua/ltable.h: Likewise.
21010 * script/lua/ltablib.c: Likewise.
21011 * script/lua/ltm.c: Likewise.
21012 * script/lua/ltm.h: Likewise.
21013 * script/lua/lua.h: Likewise.
21014 * script/lua/luaconf.h: Likewise.
21015 * script/lua/lualib.h: Likewise.
21016 * script/lua/lundump.c: Likewise.
21017 * script/lua/lundump.h: Likewise.
21018 * script/lua/lvm.c: Likewise.
21019 * script/lua/lvm.h: Likewise.
21020 * script/lua/lzio.c: Likewise.
21021 * script/lua/lzio.h: Likewise.
21022
5e898c9d 210232009-05-16 Bean <bean123ch@gmail.com>
21024
21025 * include/grub/kernel.h (grub_module_header_types): Add type
21026 OBJ_TYPE_CONFIG.
21027
21028 * kern/main.c (grub_load_config): New function.
21029 (grub_main): Call grub_load_config to read boot config.
21030
21031 * grub-mkimage (generate_image): New parameter config_path.
21032 (options): New option --config.
21033 (main): Parse --config option, and pass it to generate_image.
21034
cf353a47 210352009-05-14 Christian Franke <franke@computer.org>
21036
21037 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
21038 This fixes build on Cygwin.
21039
3834887f 210402009-05-14 Pavel Roskin <proski@gnu.org>
21041
21042 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
21043 jump. This saves two bytes, so the typical case of 2 swapped
21044 drives would fit 32 bytes.
21045
8090fc01 210462009-05-13 Pavel Roskin <proski@gnu.org>
21047
ac963883 21048 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
21049 grub_uint32_t to avoid a warning.
21050
8090fc01 21051 * loader/i386/linux.c (allocate_pages): When assigning
21052 real_mode_mem, cast through grub_size_t to fix a warning. The
21053 code already makes sure that the value would fit a pointer.
21054 (grub_linux_setup_video): Cast render_target->data to
21055 grub_size_t to fix a warning.
21056
18f547ad 210572009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 21058
21059 * commands/i386/pc/drivemap.c: New file - implement drivemap
21060 command.
21061 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
21062 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
21063
6f6a8b28 210642009-05-13 Pavel Roskin <proski@gnu.org>
21065
21066 * util/i386/pc/grub-setup.c (setup): Remove unused variable
21067 embedding_area_exists.
21068
15fbf4c4 210692009-05-13 Robert Millan <rmh.grub@aybabtu.com>
21070
21071 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
21072 it easier to understand / work with.
59978c8a 21073 Improve warning messages for cases where there's no embedding area,
21074 or when it is too small (or core.img too large).
15fbf4c4 21075
238e871f 210762009-05-13 Pavel Roskin <proski@gnu.org>
21077
0ab3a9a4 21078 * loader/i386/pc/multiboot2.c: Add necessary includes for
21079 grub_multiboot2_real_boot().
21080
a2c8c5f8 21081 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
21082 PX record is always little-endian. We only need the lower 2
21083 bytes of the mode.
21084
faec96af 21085 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
21086 facilitate code reuse.
21087 (grub_cpio_mount): Use "struct head", not a char buffer. This
21088 fixes a warning reported by gcc 4.4.
21089
238e871f 21090 * kernel/disk.c (grub_disk_read): Use void pointer for the
21091 buffer.
21092 (grub_disk_write): Use const void pointer for the buffer.
21093 Adjust all callers. Remove unnecessary casts.
21094
901d2f0c 210952009-05-10 Robert Millan <rmh.grub@aybabtu.com>
21096
21097 * util/i386/pc/grub-install.in: Update copyright year.
21098
18f547ad 210992009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 21100
21101 gptsync
21102
21103 * commands/gptsync.c: new file
21104 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
21105 (gptsync_mod_SOURCES): new variable
21106 (gptsync_mod_CFLAGS): likewise
21107 (gptsync_mod_LDFLAGS): likewise
18f547ad 21108 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 21109 new definition
21110 (GRUB_PC_PARTITION_TYPE_HFS): likewise
21111 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
21112 * conf/i386-ieee1275.rmk: likewise
21113 * conf/i386-pc.rmk: likewise
21114 * conf/powerpc-ieee1275.rmk: likewise
21115
b4ba690a 211162009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
21117
21118 Fixed grub-emu
21119
21120 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
21121 (grub_dl_ref): likewise
21122
317e1a44 211232009-05-08 Robert Millan <rmh.grub@aybabtu.com>
21124
21125 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
21126 split in two functions (one for msdos and one for gpt).
21127
041b8094 211282009-05-08 Pavel Roskin <proski@gnu.org>
21129
752473c2 21130 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
21131 not modified.
21132
041b8094 21133 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
21134 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
21135 Initialize them with -1. Add sanity check for bad1. Eliminate
21136 nerr variable.
21137
172800ce 211382009-05-08 David S. Miller <davem@davemloft.net>
21139
21140 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
21141
29aa5e81 211422009-05-06 Robert Millan <rmh.grub@aybabtu.com>
21143
21144 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 21145 existence.
29aa5e81 21146
96613b62 211472009-05-05 Felix Zielcke <fzielcke@z-51.de>
21148
21149 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 21150 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 21151
eef73c8a 211522009-05-05 David S. Miller <davem@davemloft.net>
21153
21154 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
21155
119494b5 211562009-05-05 Pavel Roskin <proski@gnu.org>
21157
21158 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
21159 of grub_dl_ref() and grub_dl_unref().
21160 * commands/parttool.c: Remove preprocessor conditionals around
21161 grub_dl_ref() and grub_dl_unref().
21162 * fs/affs.c: Likewise.
21163 * fs/afs.c: Likewise.
21164 * fs/cpio.c: Likewise.
21165 * fs/ext2.c: Likewise.
21166 * fs/fat.c: Likewise.
21167 * fs/hfs.c: Likewise.
21168 * fs/hfsplus.c: Likewise.
21169 * fs/iso9660.c: Likewise.
21170 * fs/jfs.c: Likewise.
21171 * fs/minix.c: Likewise.
21172 * fs/ntfs.c: Likewise.
21173 * fs/reiserfs.c: Likewise.
21174 * fs/sfs.c: Likewise.
21175 * fs/udf.c: Likewise.
21176 * fs/ufs.c: Likewise.
21177 * fs/xfs.c: Likewise.
21178 * include/grub/dl.h: Likewise.
21179 * loader/xnu.c: Likewise.
21180
de5fd76e 211812009-05-04 Pavel Roskin <proski@gnu.org>
21182
21183 * commands/acpi.c: Remove unused variable my_mod.
21184 * partmap/amiga.c: Likewise.
21185 * partmap/apple.c: Likewise.
21186 * partmap/gpt.c: Likewise.
21187 * partmap/pc.c: Likewise.
21188 * partmap/sun.c: Likewise.
21189 * term/gfxterm.c: Likewise.
21190 * term/i386/pc/vesafb.c: Likewise.
21191 * term/i386/pc/vga.c: Likewise.
21192
983598ad 211932009-05-04 David S. Miller <davem@davemloft.net>
21194
21195 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
21196 pointer args to grub_ieee1275_get_property().
21197
8aadec43 21198 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
21199
9554b15e 21200 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
21201 devices, and do not traverse down under controller nodes.
21202
67e23c90 21203 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
21204 (grub_ofdisk_open): Use it to un-escape "," characters.
21205 * kern/disk.c (find_part_sep): New.
21206 (grub_disk_open): Use it to find the first non-escaped ','
21207 character in the disk name.
21208 * util/ieee1275/devicemap.c (escape_of_path): New.
21209 (grub_util_emit_devicemap_entry): Use it.
21210 * util/sparc64/ieee1275/grub-install.in: Update script to
21211 strip partition specifiers properly by not triggering on
21212 '\' escaped ',' characters.
21213
74bfdd2f 212142009-05-04 Robert Millan <rmh.grub@aybabtu.com>
21215
21216 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
21217 to 0x300.
21218 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
21219 resolutions.
21220 (linux_vesafb_modes): Add a lot of additional modes to the list (based
21221 on documentation from Wikipedia).
21222
4241d2b1 212232009-05-04 Pavel Roskin <proski@gnu.org>
21224
21225 * disk/ata.c: Spelling fixes.
21226 * disk/raid.c: Likewise.
21227 * disk/usbms.c: Likewise.
21228 * disk/dmraid_nvidia.c: Likewise.
21229 * kern/ieee1275/openfw.c: Likewise.
21230 * kern/ieee1275/init.c: Likewise.
21231 * kern/ieee1275/cmain.c: Likewise.
21232 * boot/i386/pc/cdboot.S: Likewise.
21233 * video/readers/png.c: Likewise.
21234 * video/i386/pc/vbe.c: Likewise.
21235 * fs/udf.c: Likewise.
21236 * fs/hfs.c: Likewise.
21237 * fs/reiserfs.c: Likewise.
21238 * efiemu/runtime/efiemu.c: Likewise.
21239 * efiemu/main.c: Likewise.
21240 * efiemu/mm.c: Likewise.
21241 * include/grub/elf.h: Likewise.
21242 * include/grub/xnu.h: Likewise.
21243 * include/grub/usbdesc.h: Likewise.
21244 * include/grub/usb.h: Likewise.
21245 * include/grub/script_sh.h: Likewise.
21246 * include/grub/lib/LzmaEnc.h: Likewise.
21247 * include/grub/efiemu/efiemu.h: Likewise.
21248 * include/grub/command.h: Likewise.
21249 * normal/menu.c: Likewise.
21250 * normal/main.c: Likewise.
21251 * normal/datetime.c: Likewise.
21252 * bus/usb/uhci.c: Likewise.
21253 * mmap/i386/uppermem.c: Likewise.
21254 * mmap/mmap.c: Likewise.
21255 * commands/acpi.c: Likewise.
21256 * commands/test.c: Likewise.
21257 * partmap/apple.c: Likewise.
21258 * font/font.c: Likewise.
21259 * loader/sparc64/ieee1275/linux.c: Likewise.
21260 * loader/macho.c: Likewise.
21261 * loader/i386/bsd_trampoline.S: Likewise.
21262 * loader/i386/bsd.c: Likewise.
21263 * loader/xnu.c: Likewise.
21264 * term/i386/pc/vesafb.c: Likewise.
21265 * term/usb_keyboard.c: Likewise.
21266 * util/resolve.c: Likewise.
21267 * util/getroot.c: Likewise.
21268
0cfc0083 212692009-05-04 Felix Zielcke <fzielcke@z-51.de>
21270
21271 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
21272
7c1d00cd 212732009-05-04 Robert Millan <rmh.grub@aybabtu.com>
21274
21275 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
21276 build error.
21277
b01f0548 212782009-05-04 Robert Millan <rmh.grub@aybabtu.com>
21279
21280 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
21281 parameter only available on BIOS.
21282
ecc3eb22 212832009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
21284
21285 Removed wrong semicolon in declaration
21286
21287 * grub/misc.h (grub_dprintf): remove semicolon
21288
112972a9 212892009-05-04 Robert Millan <rmh.grub@aybabtu.com>
21290
21291 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
21292 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
21293 is done by grub_cmd_linux() now).
21294 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
21295 restore video to text mode.
21296 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
21297 indicates lack of "vga=" parameter. "vga=0" is mapped to
21298 `GRUB_LINUX_VID_MODE_NORMAL'.
21299
afd5c115 213002009-05-04 Felix Zielcke <fzielcke@z-51.de>
21301
21302 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
21303 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
21304 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 21305 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 21306 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
21307 `grub_script.tab.c'.
21308
21309 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21310 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
21311 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21312 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
21313 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21314
faa517ce 21315 * Makefile.in: Remove duplicated 2008 in Copyright line.
21316
ae0c0bdc 213172009-05-04 Robert Millan <rmh.grub@aybabtu.com>
21318
473d1e45 21319 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 21320 unconditionally.
21321 * include/grub/util/misc.h (grub_util_warn): New declaration.
21322
21323 * util/i386/pc/grub-install.in: Understand --force and pass it down
21324 to grub-setup.
21325
21326 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
21327 down to setup().
21328 (setup): Improve error messages and add warnings when requested to
21329 install in odd layouts. Refuse to install using blocklists unless
21330 --force was set.
21331
18f547ad 213322009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 21333
21334 * disk/raid.c (grub_raid_scan_device): Improve debug message.
21335
6d260daa 213362009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
21337
21338 Updated copyright year
21339
21340 * fs/hfsplus.c: updated copyright year
18f547ad 21341
69f853f8 213422009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
21343
21344 HFS+ UUID
21345
18f547ad 21346 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 21347 in the space previously used by unused3
21348 (grub_hfsplus_uuid): new function
21349 (grub_hfsplus_fs): added uuid field
21350
4c402e73 213512009-05-03 Pavel Roskin <proski@gnu.org>
21352
21353 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
21354 suppress warnings. It's no longer needed.
21355 * disk/host.c: Likewise.
21356 * disk/ata_pthru.c: Likewise.
21357 * disk/loopback.c: Likewise.
21358 * hook/datehook.c: Likewise.
21359 * parttool/pcpart.c: Likewise.
21360 * fs/i386/pc/pxe.c: Likewise.
21361 * fs/ntfscomp.c: Likewise.
21362 * efiemu/main.c: Likewise.
21363 * mmap/mmap.c: Likewise.
21364 * commands/crc.c: Likewise.
21365 * commands/hexdump.c: Likewise.
21366 * commands/hdparm.c: Likewise.
21367 * commands/acpi.c: Likewise.
21368 * commands/echo.c: Likewise.
21369 * commands/minicmd.c: Likewise.
21370 * commands/blocklist.c: Likewise.
21371 * commands/memrw.c: Likewise.
21372 * commands/loadenv.c: Likewise.
21373 * commands/usbtest.c: Likewise.
21374 * commands/lsmmap.c: Likewise.
21375 * commands/boot.c: Likewise.
21376 * commands/parttool.c: Likewise.
21377 * commands/configfile.c: Likewise.
21378 * commands/search.c: Likewise.
21379 * commands/ieee1275/suspend.c: Likewise.
21380 * commands/cat.c: Likewise.
21381 * commands/i386/pc/pxecmd.c: Likewise.
21382 * commands/i386/pc/play.c: Likewise.
21383 * commands/i386/pc/halt.c: Likewise.
21384 * commands/i386/pc/vbeinfo.c: Likewise.
21385 * commands/i386/pc/vbetest.c: Likewise.
21386 * commands/lspci.c: Likewise.
21387 * commands/date.c: Likewise.
21388 * commands/handler.c: Likewise.
21389 * commands/ls.c: Likewise.
21390 * commands/test.c: Likewise.
21391 * commands/cmp.c: Likewise.
21392 * commands/efi/loadbios.c: Likewise.
21393 * commands/efi/fixvideo.c: Likewise.
21394 * commands/halt.c: Likewise.
21395 * commands/help.c: Likewise.
21396 * commands/reboot.c: Likewise.
21397 * hello/hello.c: Likewise.
21398 * script/sh/main.c: Likewise.
21399 * loader/xnu.c: Likewise.
21400 * term/terminfo.c: Likewise.
21401 * term/i386/pc/serial.c: Likewise.
21402 * term/usb_keyboard.c: Likewise.
21403
515b5079 214042009-05-03 David S. Miller <davem@davemloft.net>
21405
21406 * normal/menu.c: Include grub/parser.h
21407
dfc31a22 214082009-05-03 Pavel Roskin <proski@gnu.org>
21409
2fee74f1 21410 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
21411 not char*.
21412 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
21413 Suggested by Javier Martín <lordhabbit@gmail.com>
21414
dfc31a22 21415 * util/i386/pc/grub-mkrescue.in: Allow for the case when
21416 efiemu??.o doesn't exist.
21417 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
21418 copying.
21419
18f547ad 214202009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 21421
21422 FreeBSD 64-bit support
21423
18f547ad 21424 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 21425 and loader/i386/bsd_trampoline.S
21426 (bsd_mod_ASFLAGS): new variable
21427 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
21428 (FREEBSD_MODTYPE_KERNEL64): likewise
21429 (grub_bsd64_trampoline_start): likewise
21430 (grub_bsd64_trampoline_end): likewise
21431 (grub_bsd64_trampoline_selfjump): likewise
21432 (grub_bsd64_trampoline_gdt): likewise
21433 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
21434 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
21435 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
21436 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 21437 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 21438 of "attrib" member
21439 * loader/i386/bsd_pagetable.c: new file
21440 * loader/i386/bsd_trampoline.S: likewise
21441 * loader/i386/bsd.c (ALIGN_QWORD): new macro
21442 (ALIGN_VAR): likewise
21443 (entry_hi): new variable
21444 (kern_end_mdofs): likewise
21445 (is_64bit): likewise
21446 (grub_freebsd_add_meta): use ALIGN_VAR
21447 (grub_e820_mmap): new declaration
21448 (grub_freebsd_add_mmap): new function
21449 (grub_freebsd_add_meta_module): support 64 bit kernels
21450 (grub_freebsd_list_modules): use ALIGN_VAR
21451 (gdt_descriptor): new declaration
21452 (grub_freebsd_boot): support 64 bit kernels
21453 (grub_bsd_elf64_hook): new function
21454 (grub_bsd_load_elf): support elf64
21455
038c5720 214562009-05-03 Bean <bean123ch@gmail.com>
21457
21458 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
21459 after we get the result of if statement.
21460
fc45fb58 214612009-05-03 Bean <bean123ch@gmail.com>
21462
21463 * Makefile.in (enable_efiemu): New variable.
21464
21465 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
21466 set.
21467 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
21468 path.
21469 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
21470 path, add -mno-red-zone option.
21471 (efiemu64_s.o): Likewise.
21472 (efiemu64.o): Use macro $^ for source file.
21473
21474 * configure.ac (--enable-efiemu): New option.
21475
bbee0f2b 214762009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
21477
21478 xnu support
21479
21480 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
21481 (pkglib_MODULES): add xnu.mod
21482 (xnu_mod_SOURCES): new variable
21483 (xnu_mod_CFLAGS): likewise
21484 (xnu_mod_LDFLAGS): likewise
21485 (xnu_mod_ASFLAGS): likewise
21486 * conf/i386-pc.rmk: likewise
21487 * conf/x86_64-efi.rmk: likewise
7dd4a573 21488 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 21489 new declaration
21490 * include/grub/i386/macho.h: new file
21491 * include/grub/i386/xnu.h: likewise
21492 * include/grub/macho.h: likewise
21493 * include/grub/machoload.h: likewise
21494 * include/grub/x86_64/macho.h: likewise
21495 * include/grub/x86_64/xnu.h: likewise
21496 * include/grub/xnu.h: likewise
21497 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
21498 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
21499 * loader/i386/efi/xnu.c: new file
21500 * loader/i386/pc/xnu.c: likewise
21501 * loader/i386/xnu.c: likewise
21502 * loader/i386/xnu_helper.S: likewise
21503 * loader/macho.c: likewise
21504 * loader/xnu.c: likewise
21505 * loader/xnu_resume.c: likewise
21506 * util/grub-dumpdevtree: likewise
21507 * include/grub/i386/pit.h: include grub/err.h
21508 (grub_pit_wait): export
21509 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 21510
5caf964d 215112009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
21512
21513 Efiemu
7dd4a573 21514
5caf964d 21515 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 21516 _linux_efi, linux_efi.
21517 new files in grub-emu
5caf964d 21518 new targets efiemu32.o and efiemu64.o
21519 * loader/linux_normal_efiemu.c: likewise
21520 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 21521 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 21522 files to copy
21523 * include/grub/autoefi.h: new file
7dd4a573 21524 * include/grub/i386/efiemu.h: likewise
5caf964d 21525 * include/grub/i386/pc/efiemu.h: likewise
21526 * include/grub/efi/api.h: add LL suffix when necessary
21527 new definitions relating to tables
21528 * include/grub/efiemu/efiemu.h: new file
21529 * include/grub/efiemu/runtime.h: likewise
21530 * efiemu/prepare.c: likewise
21531 * efiemu/loadcore_common.c: likewise
21532 * efiemu/loadcore64.c: likewise
21533 * efiemu/runtime/efiemu.sh: likewise
21534 * efiemu/runtime/efiemu.S: likewise
21535 * efiemu/runtime/efiemu.c: likewise
21536 * efiemu/runtime/config.h: likewise
21537 * efiemu/prepare32.c: likewise
21538 * efiemu/main.c: likewise
21539 * efiemu/modules/pnvram.c: likewise
21540 * efiemu/modules/i386: likewise
21541 * efiemu/modules/i386/pc: likewise
21542 * efiemu/modules/acpi.c: likewise
21543 * efiemu/i386/pc/cfgtables.c: likewise
21544 * efiemu/i386/loadcore64.c: likewise
21545 * efiemu/i386/loadcore32.c: likewise
21546 * efiemu/prepare64.c: likewise
21547 * efiemu/loadcore.c: likewise
21548 * efiemu/symbols.c: likewise
21549 * efiemu/mm.c: likewise
21550 * efiemu/loadcore32.c: likewise
7dd4a573 21551
215522009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 21553
21554 ACPI spoofing
21555
21556 * commands/acpi.c: new file
21557 * commands/i386/pc/acpi.c: likewise
21558 * commands/efi/acpi.c: likewise
21559 * include/grub/acpi.h: likewise
21560 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
21561 (acpi_mod_SOURCES): new variable
21562 (acpi_mod_CFLAGS): likewise
21563 (acpi_mod_LDFLAGS): likewise
21564 * conf/i386-efi.rmk: likewise
21565 * conf/x86_64-efi.rmk: likewise
21566
7dd4a573 215672009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 21568
21569 Missing part from mmap patch
21570
21571 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
21572 (grub_mmap_unregister)
21573 (grub_mmap_free_and_unregister): use grub_mmap_register
21574
7dd4a573 215752009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 21576
21577 Mmap services
21578
21579 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
21580 * loader/i386/linux.c (find_mmap_size): likewise
21581 (allocate_pages): likewise
21582 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
21583 (grub_fill_multiboot_mmap): likewise
21584 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
21585 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
21586 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
21587 (OPENBSD_MMAP_RESERVED): likewise
21588 * include/grub/i386/pc/memory.h: include grub/memory.h
21589 (grub_lower_mem): removed
21590 (grub_upper_mem): likewise
21591 (GRUB_MACHINE_MEMORY_ACPI): new definition
21592 (GRUB_MACHINE_MEMORY_NVS): likewise
21593 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
21594 (GRUB_MACHINE_MEMORY_HOLE): likewise
21595 (grub_machine_mmap_register): likewise
21596 (grub_machine_mmap_unregister): likewise
21597 (grub_machine_get_upper): likewise
21598 (grub_machine_get_lower): likewise
21599 (grub_machine_get_post64): likewise
21600 * include/grub/i386/efi/memory.h: new file
21601 * include/grub/x86_64/efi/memory.h: likewise
21602 * include/grub/efi/memory.h: likewise
21603 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
21604 (mmap_mod_SOURCES): new variable
21605 (mmap_mod_LDFLAGS): likewise
21606 (mmap_mod_ASFLAGS): likewise
21607 * conf/i386-coreboot.rmk: likewise
21608 * conf/i386-ieee1275.rmk: likewise
21609 * conf/i386-efi.rmk: likewise
21610 * conf/x86_64-efi.rmk: likewise
21611 * include/grub/types.h (UINT_TO_PTR): new macro
21612 (PTR_TO_UINT32): likewise
21613 (PTR_TO_UINT64): likewise
21614 * include/grub/memory.h: new file
21615 * mmap/i386/pc/mmap.c: likewise
21616 * mmap/i386/pc/mmap_helper.S: likewise
21617 * mmap/i386/uppermem.c: likewise
21618 * mmap/mmap.c: likewise
21619 * mmap/efi/mmap.c: likewise
7dd4a573 21620 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 21621 grub_upper_mem
21622 * kern/i386/pc/init.c (grub_lower_mem): removed variable
21623 (grub_upper_mem): likewise
21624 (grub_machine_init): don't use grub_upper_mem,
21625 make grub_lower_mem local
21626 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
21627 grub_mmap_iterate and grub_mmap_get_upper
21628 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
21629
d558e6b5 216302009-05-02 Bean <bean123ch@gmail.com>
21631
21632 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
21633 script/sh/parser.y.
21634 (pkglib_MODULES): Add normal.mod and sh.mod.
21635 (normal_SOURCES): New variable.
21636 (normal_mod_CFLAGS): Likewise.
21637 (normal_mod_LDFLAGS): Likewise.
21638 (sh_mod_SOURCES): Likewise.
21639 (sh_mod_CFLAGS): Likewise.
21640 (sh_mod_LDFLAGS): Likewise.
21641
21642 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
21643 script/sh/lexer.c_DEPENDENCIES.
21644 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
21645 kern/rescue_reader.c and kern/rescue_parser.c.
21646 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
21647 (grub_emu_SOURCES): Change source files.
21648 (pkglib_MODULES): Remove normal.mod.
21649 (normal_SOURCES): Removed.
21650 (normal_mod_CFLAGS): Likewise.
21651 (normal_mod_LDFLAGS): Likewise.
21652 * conf/i386-coreboot.rmk: Likewise.
21653 * conf/i386-efi.rmk: Likewise.
21654 * conf/i386-ieee1276.rmk: Likewise.
21655 * conf/powerpc-ieee1275.rmk: Likewise.
21656 * conf/sparc64-ieee1275.rmk: Likewise.
21657 * conf/x86_64-efi.rmk: Likewise.
21658
21659 * include/grub/command.h (grub_command_execute): New inline function.
21660
21661 * include/grub/menu.h (grub_menu_entry): Removed commands field.
21662
21663 * include/grub/normal.h: Remove <grub/setjmp.h>.
21664 (grub_fs_module_list): Moved to normal/autofs.c.
21665 (grub_exit_env): Removed.
21666 (grub_command_execute): Likewise.
21667 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
21668 parameter script.
21669 (read_command_list): New function declaration.
21670 (read_fs_list): Likewise.
21671
21672 * include/parser.h: Include <grub/reader.h>.
21673 (grub_parser_split_cmdline): Change type of getline parameter.
21674 (grub_parser): New structure.
21675 (grub_parser_class): New variable.
21676 (grub_parser_execute): New function declaration.
21677 (grub_register_rescue_parser): Likewise.
21678 (grub_parser_register): New inline function.
21679 (grub_parser_unregister): Likewise.
21680 (grub_parser_get_current): Likewise.
21681 (grub_parser_set_current): Likewise.
21682
21683 * include/grub/reader.h: New file.
21684 * kern/reader.c: Likewise.
21685 * kern/rescue_parser.c: Likewise.
21686 * kern/rescue_reader.c: Likewise.
21687 * normal/autofs.c: Likewise.
21688 * normal/dyncmd.c: Likewise.
21689
21690 * include/grub/rescue.h: Removed.
21691 * normal/command.h: Likewise.
21692
21693 * include/grub/script.h: Moved to ...
21694 * include/grub/script_sh.h: ... Moved here.
21695 * normal/execute.c: Moved to ...
21696 * script/sh/execute.c: ... Moved here.
21697 * normal/function.c: Moved to ...
21698 * script/sh/function.c: ... Moved here.
21699 * normal/lexer.c: Moved to ...
21700 * script/sh/lexer.c: ... Moved here.
21701 * normal/parser.y: Moved to ...
21702 * script/sh/parser.y: ... Moved here.
21703 * normal/script.c: Moved to ...
21704 * script/sh/script.c: ... Moved here.
21705
21706 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
21707 <grub/reader.h>.
21708 (grub_exit_env): Removed.
21709 (fs_module_list): Moved to normal/autofs.c.
21710 (grub_file_getline): Don't handle comment here.
21711 (free_menu): Skip removed field entry->commands.
21712 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
21713 script parameter.
21714 (read_config_file): Removed nested parameter, change getline function.
21715 (grub_enter_normal_mode): Removed.
21716 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
21717 (read_command_list): Likewise.
21718 (autoload_fs_module): Moved to normal/autofs.c.
21719 (read_fs_list): Likewise.
21720 (reader_nested): New variable.
21721 (grub_normal_execute): Run parser.sh to switch to sh parser.
21722 (grub_cmd_rescue): Removed.
21723 (cmd_normal): Removed.
21724 (grub_cmd_normal): Unregister itself at the beginning. Don't register
21725 rescue command.
21726 (grub_cmdline_run): New function.
21727 (grub_normal_reader_init): Likewise.
21728 (grub_normal_read_line): Likewise.
21729 (grub_env_write_pager): Likewise.
21730 (cmdline): New variable.
21731 (grub_normal_reader): Likewise.
21732 (GRUB_MOD_INIT): Register normal reader and set as current, register
21733 pager hook, register normal command with grub_register_command_prio,
21734 so that it won't show up in command.lst.
21735 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
21736 grub_fs_autoload_hook.
21737
21738 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
21739 (grub_menu_execute_entry): Replace grub_script_execute with
21740 grub_parser_execute, change parameter to grub_command_execute.
21741
21742 * normal/menu_text.c: Remove <grub/script.h>.
21743
21744 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
21745 and <grub/parser.h>.
21746 (run): Change editor_getline to use new parser interface. Change
21747 parameter to grub_command_execute.
21748
21749 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
21750 <grub/reader.h> and <grub/parser.h>.
21751 (grub_load_normal_mode): Execute normal command.
21752 (grub_main): Call grub_register_core_commands,
21753 grub_register_rescue_parser and grub_register_rescue_reader, use
21754 grub_reader_loop to enter input loop.
21755
7dd4a573 21756 * kern/parser.c (grub_parser_split_cmdline): Change type of
21757 getline parameter.
d558e6b5 21758 (grub_parser_class): New variable.
21759 (grub_parser_execute): New function.
21760
21761 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
21762 * loader/multiboot2.c: Likewise.
21763 * loader/sparc64/ieee1275/linux.c: Likewise.
21764
21765 * util/grub-emu.c (read_command_list): New dummy function.
21766
18db813d 217672009-05-02 Robert Millan <rmh.grub@aybabtu.com>
21768
21769 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
21770 count to 16 for CCISS and IDA.
21771
6c67de15 217722009-05-02 Robert Millan <rmh.grub@aybabtu.com>
21773
21774 * normal/menu_text.c (grub_wait_after_message): Print a newline
21775 after waiting for user input.
21776
21777 * loader/i386/linux.c: Include `<grub/normal.h>'.
21778 (grub_cmd_linux): Improve the error message about `ask' mode, by
21779 waiting for user input so it's not missed (we can do this, since
21780 user requested interaction).
21781
d9dc87b0 217822009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
21783
21784 Added missing lst to grub-mkrescue
21785
21786 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
21787 and ${input_dir}/parttool.lst
21788
ac8a2baa 217892009-04-30 David S. Miller <davem@davemloft.net>
21790
ad22a610 21791 * util/hostdisk.c (device_is_wholedisk): New function.
21792 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
21793 zero only if device_is_wholedisk() returns true.
21794
6966215d 21795 * util/hostdisk.c (convert_system_partition_to_system_disk):
21796 Handle virtual disk devices named /dev/vdiskX as found on sparc
21797 and powerpc.
21798
ac8a2baa 21799 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
21800 lettered partition specifier is found, convert to numbered.
21801
979b4fb4 218022009-04-29 David S. Miller <davem@davemloft.net>
21803
e2bf39b2 21804 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
21805 * include/grub/sparc64/ieee1275/memory.h: Likewise.
21806
3c64e104 21807 * normal/command.c: Add missing newline at end of file.
21808
979b4fb4 21809 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
21810 warnings.
21811 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
21812 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
21813 grub_ofdisk_read): Likewise, and deal similarly with the fact that
21814 ihandles have a 32-bit type but need to be stored in a "void *".
21815
136d9f82 218162009-04-28 Pavel Roskin <proski@gnu.org>
21817
9459c306 21818 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
21819 not disk. Adjust all dependencies.
2e08a26a 21820 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 21821 grub_disk_close().
21822
136d9f82 21823 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
21824 parent's partition, don't copy it by reference, as it gets freed
21825 on close.
21826
7dd4a573 218272009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 21828
21829 Preboot hooks support
21830
21831 * commands/boot.c (struct grub_preboot_t): new declaration
21832 (preboots_head): new variable
21833 (preboots_tail): likewise
21834 (grub_loader_register_preboot_hook): new function
21835 (grub_loader_unregister_preboot_hook): likewise
21836 (grub_loader_set): launch preboot hooks
21837 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
21838 (grub_loader_register_preboot_hook): new declaration
21839 (grub_loader_unregister_preboot_hook): likewise
21840
5af922b5 218412009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
21842
21843 Warning fix
21844
7dd4a573 21845 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 21846 calling grub_dprintf
21847
a5562c30 218482009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
21849
21850 Bug and warning fixes
21851
7dd4a573 21852 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 21853 declaration
21854 * commands/test.c (test_parse): fixed bug with file tests and corrected
21855 declaration of find_file
21856
4006f85c 218572009-04-26 Pavel Roskin <proski@gnu.org>
21858
21859 * Makefile.in: Don't install empty manual pages if help2man is
21860 missing. Use help2man option for output, not shell redirection.
21861
5c77c3de 218622009-04-26 David S. Miller <davem@davemloft.net>
21863
21864 * util/grub-mkdevicemap.c (make_device_map): Add missing
21865 NESTED_FUNC_ATTR to process_device().
21866
033b10a8 218672009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
21868
21869 Test command
21870
21871 * commands/test.c: rewritten to use bash-like test
21872
e4343593 218732009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
21874
21875 Parttool autoloading and improvements
21876
7dd4a573 21877 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 21878 (parttool.lst): new target
21879 * genmk.rb: generate parttool-*
21880 (CLEANFILES): add #{parttool}
21881 (PARTTOOLFILES): new variable
21882 * genparttoollist.sh: new file
7dd4a573 21883 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 21884 (grub_pcpart_type): likewise
21885 * commands/parttool.c (helpmsg): new variable
21886 (grub_cmd_parttool): output help if not enough arguments are supplied
21887 autoload modules
21888 (GRUB_MOD_INIT(parttool)): use helpmsg
21889
0d312500 218902009-04-24 David S. Miller <davem@davemloft.net>
21891
7dd4a573 21892 Avoiding opening same device multiple times in device iterator.
0d312500 21893
21894 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 21895 and use it to build a list of partitions in iterate_disk() and
0d312500 21896 iterate_partition().
21897
ac20caff 21898 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
21899 on disk->data.
21900
0dcf7495 21901 * disk/ieee1275/nand.c (grub_nand_iterate): Return
21902 grub_devalias_iterate() result instead of unconditional 0.
21903 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
21904 Also, capture hook return value, either directly or via
21905 grub_children_iterate(), and propagate to caller.
21906 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
21907 grub_children_iterate): Return value is now 'int' instead of
21908 'grub_err_t'.
21909 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
21910 like a proper iterator, stopping when hooks return non-zero.
21911 (grub_devalias_iterate): Likewise.
21912
c8c08833 219132009-04-23 David S. Miller <davem@davemloft.net>
21914
21915 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
21916
f01005a8 219172009-04-22 David S. Miller <davem@davemloft.net>
21918
21919 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
21920 is larger than address_cells, use that value for address_cells too.
21921
4e8269da 21922 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
21923 IEEE1275_MAX_PATH_LEN): Define.
21924 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
21925 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
21926 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
21927 'devtype'. Explicitly NULL terminate devalias expansion.
21928
a1447506 21929 * util/sparc64/ieee1275/misc.c: New file.
21930 * util/sparc64/ieee1275/grub-setup.c: New file.
21931 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
21932 * util/sparc64/ieee1275/grub-mkimage.c: New file.
21933 * util/sparc64/ieee1275/grub-install.in: New file.
21934 * util/ieee1275/ofpath.c: New file.
21935 * util/ieee1275/devicemap.c: New file.
21936 * util/devicemap.c: New file.
21937 * util/deviceiter.c: New file.
21938 * kern/sparc64/ieee1275/init.c: New file.
21939 * include/grub/util/ofpath.h: New file.
21940 * include/grub/util/deviceiter.h: New file.
21941 * util/grub-mkdevicemap.c: Include deviceiter.h.
21942 Implement using grub_util_emit_devicemap_entry and
21943 grub_util_iterate_devices.
21944 * conf/i386-corebook.rmk: Build util/deviceiter.c and
21945 util/devicemap.c into grub-mkdevicemap
21946 * conf/i386-efi.rmk: Likewise.
21947 * conf/i386-ieee1275.rmk: Likewise.
21948 * conf/i386-pc.rmk: Likewise.
21949 * conf/powerpc-ieee1275.rmk: Likewise.
21950 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
21951 images and installation utilities. Build kernel as image
21952 instead of as elf binary. Use common rules as much as possible.
21953
7dd4a573 219542009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 21955
21956 Correct GPT definition
21957
7dd4a573 21958 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 21959 of "attrib" member
21960
c6c5219f 219612009-04-19 Felix Zielcke <fzielcke@z-51.de>
21962
21963 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
21964
0552ff9f 219652009-04-19 David S. Miller <davem@davemloft.net>
21966
21967 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
21968 (grub_rescue_cmd_linux): Rename to...
21969 (grub_cmd_linux): and fix prototype.
21970 (grub_rescue_cmd_initrd): Rename to...
21971 (grub_cmd_initrd): and fix prototype.
21972 (cmd_linux, cmd_initrd): New.
21973 (GRUB_MOD_INIT(linux)): Use grub_register_command().
21974 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
21975
d1a282fc 219762009-04-17 Pavel Roskin <proski@gnu.org>
21977
07c5039f 21978 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
21979 format.
21980 (grub_ohci_transfer): Likewise.
21981
b012002d 21982 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
21983
1bc09c35 21984 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
21985 return without a value. Fix inconsistent indentation.
21986
e0ff9126 21987 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
21988 match struct grub_fs.
21989
d1a282fc 21990 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
21991 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
21992 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
21993 * commands/lspci.c (grub_lspci_iter): Likewise.
21994
a96df3f2 219952009-04-16 Bean <bean123ch@gmail.com>
21996
21997 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
21998 value.
21999
41bb0fe9 220002009-04-15 Pavel Roskin <proski@gnu.org>
22001
22002 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
22003 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
22004 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
22005 definitions.
22006
596c6970 220072009-04-15 Felix Zielcke <fzielcke@z-51.de>
22008
22009 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 22010 that no multiple data or metadata areas are supported and `Unknown
596c6970 22011 metadata header'.
22012
7dd4a573 220132009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 22014
22015 Move loader out of the kernel
22016
22017 * kern/loader.c: moved to ...
22018 * commands/boot.c: ... moved here
22019 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
22020 * commands/boot.c (grub_cmd_boot): moved here. All users updated
22021 * include/grub/kernel.h (grub_machine_fini): export
22022 * include/grub/loader.h (grub_loader_is_loaded): update declaration
22023 (grub_loader_set): likewise
22024 (grub_loader_unset): likewise
22025 (grub_loader_boot): likewise
22026 * conf/common.rmk: new module boot.mod
22027 (pkglib_MODULES): add boot.mod
22028 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
22029 (grub_emu_SOURCES): likewise
22030 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
22031 (grub_emu_SOURCES): likewise
22032 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
22033 (grub_emu_SOURCES): likewise
22034 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
22035 (grub_emu_SOURCES): likewise
22036 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
22037 (grub_emu_SOURCES): likewise
7dd4a573 22038 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
22039 (grub_emu_SOURCES): likewise
0d5d5653 22040 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 22041 (grub_emu_SOURCES): likewise
0d5d5653 22042
7dd4a573 220432009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 22044
22045 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 22046
5999d619 22047 * kern/misc.c (grub_itoa): Removed function
22048 (grub_ltoa): likewise
22049 (grub_vsprintf): use grub_lltoa
22050
7dd4a573 220512009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 22052
22053 Restore grub-emu
22054
22055 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
22056 * conf/i386-coreboot.rmk: likewise
22057 * conf/i386-ieee1275.rmk: likewise
22058 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 22059
20318222 220602009-04-15 Felix Zielcke <fzielcke@z-51.de>
22061
22062 * INSTALL: Add that `./autogen.sh' needs to be run before
22063 `./configure.'.
22064
d05f0df3 220652009-04-14 Bean <bean123ch@gmail.com>
22066
22067 * Makefile.in (pkglib_DATA): Add handler.lst.
22068 (handler.lst): New rule.
22069
22070 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
22071 * conf/i386-coreboot.rmk: Likewise.
22072 * conf/i386-ieee1275.rmk: Likewise.
22073 * conf/i386-efi.rmk: Likewise.
22074 * conf/x86_64-efi.rmk: Likewise.
22075 * conf/powerpc-ieee1275.rmk: Likewise.
22076 * conf/sparc64-ieee1275.rmk: Likewise.
22077
22078 * genhandlerlist.sh: New file.
22079
22080 * genmk.rb: Add rules to generate handler.lst.
22081
22082 * include/grub/normal.h (grub_file_getline): New function definition.
22083 (read_handler_list): Likewise.
22084 (free_handler_list): Likewise.
22085
22086 * include/grub/term.h (grub_term_register_input): Add name parameter
22087 for auto generation of handler.lst.
22088 (grub_term_register_output): Likewise.
22089
22090 * normal/handler.c: New file.
22091
22092 * normal/main.c (get_line): Renamed to grub_file_getline.
22093 (read_config_file): Use the newly renamed grub_file_getline.
22094 (read_command_list): Likewise.
22095 (read_fs_list): Likewise.
22096 (grub_normal_execute): Call read_handler_list to parse handler.lst.
22097 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
22098
22099 * term/efi/console.c (grub_console_init): Add name parameter for auto
22100 generation of handler.lst.
22101 * term/gfxterm.c: Likewise.
22102 * term/i386/pc/at_keyboard.c: Likewise.
22103 * term/i386/pc/console.c: Likewise.
22104 * term/i386/pc/serial.c: Likewise.
22105 * term/i386/pc/vesafb.c: Likewise.
22106 * term/i386/pc/vga.c: Likewise.
22107 * term/i386/pc/vga_text.c: Likewise.
22108 * term/ieee1275/ofconsole.c: Likewise.
22109 * term/usb_keyboard.c: Likewise.
22110
33c846be 221112009-04-14 Bean <bean123ch@gmail.com>
22112
22113 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
22114 properly with null character.
22115
4484e01e 221162009-04-14 Felix Zielcke <fzielcke@z-51.de>
22117
22118 * configure: Remove.
22119 * config.h.in: Likewise.
f93d668e 22120 * stamp-h.in: Likewise.
4484e01e 22121 * DISTLIST: Likewise.
22122 * conf/common.mk: Likewise.
22123 * conf/i386-coreboot.mk: Likewise.
22124 * conf/i386-efi.mk: Likewise.
22125 * conf/i386-ieee1275.mk: Likewise.
22126 * conf/i386.mk: Likewise.
22127 * conf/i386-pc.mk: Likewise.
22128 * conf/powerpc-ieee1275.mk: Likewise.
22129 * conf/sparc64-ieee1275.mk: Likewise.
22130 * conf/x86_64-efi.mk: Likewise.
22131
22132 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
22133 develop on GRUB.
22134
7dd4a573 221352009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 22136 David S. Miller <davem@davemloft.net>
22137
22138 * util/hostdisk.c (make_device_name): Fix buffer length
22139 calculations.
22140
e25b5a8c 221412009-04-14 Felix Zielcke <fzielcke@z-51.de>
22142
22143 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
22144 <sys/param.h> and <sys/sysctl.h>.
22145 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
22146 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
22147 opening the device and reset them afterwards.
22148
1f1f580c 221492009-04-13 Pavel Roskin <proski@gnu.org>
22150
22151 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
22152 Reported by John Stanley <jpsinthemix@verizon.net>
22153
7ebc2d6b 221542009-04-13 Robert Millan <rmh@aybabtu.com>
22155
22156 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 22157 that name for menuentries when appropriate.
7ebc2d6b 22158
d8ba3667 221592009-04-13 Felix Zielcke <fzielcke@z-51.de>
22160
22161 * util/grub.d/10_freebsd.in: Add a missing `fi'.
22162
cba416eb 221632009-04-13 Robert Millan <rmh@aybabtu.com>
22164
22165 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
22166 to Linux, simply abort telling the user it's no longer supported.
22167
a547a745 221682009-04-13 Felix Zielcke <fzielcke@z-51.de>
22169
22170 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 22171 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 22172 `freebsd_loadenv' only when devices.hints exist.
22173
232a769c 221742009-04-13 Pavel Roskin <proski@gnu.org>
22175
22176 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
22177
c3012039 221782009-04-13 Felix Zielcke <fzielcke@z-51.de>
22179
22180 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
22181 partition number.
22182 (grub_drive): Likewise.
22183
234022fe 221842009-04-13 David S. Miller <davem@davemloft.net>
22185
22186 * kern/sparc64/ieee1275/ieee1275.c: New file.
22187 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
22188 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
22189 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
22190 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
22191 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
22192 grub_ieee1275_alloc_physmem): Declare new exported functions.
22193
d8e1836c 22194 * include/grub/sparc64/ieee1275/loader.h: New file.
22195 * include/grub/sparc64/ieee1275/memory.h: Likewise.
22196 * include/grub/sparc64/kernel.h: Likewise.
22197 * loader/sparc64/ieee1275/linux.c: Likewise.
22198
96bd81ec 22199 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
22200 (grub_fstest_SOURCES): Likewise.
22201
6a4737e5 22202 * util/hostdisk.c (make_device_name): Do not make any assumptions
22203 about the length of drive names.
22204
1d7a72fd 22205 * kern/dl.c (grub_dl_load_file): Close file immediately when
22206 we are done using it.
22207
56bc2471 222082009-04-12 David S. Miller <davem@davemloft.net>
22209
22210 * kern/misc.c (grub_ltoa): Fix cast when handling negative
22211 values. Noticed by Pavel Roskin.
22212
df38d0bb 22213 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
22214 target compiler.
7dd4a573 22215
e382e93a 22216 * genmk.rb: Add more flexible image type specification, also
22217 pass --strip-unneeded to objcopy.
22218 * conf/i386-pc.rmk: Use *_FORMAT.
22219 * conf/i386-pc.mk: Rebuilt.
22220
f5dbbca9 22221 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
22222 (OFDISK_HASH_SZ): Define.
22223 (ofdisk_hash): New hash table.
22224 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
22225 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
22226 instead of device phandle which is not unique.
22227
91c88b12 22228 * kern/sparc64/ieee1275/init.c: Delete, replace with...
22229 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
22230 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
22231 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
22232 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
22233 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
22234 GRUB_KERNEL_MACHINE_DATA_END): Define.
22235 (grub_kernel_image_size, grub_total_module_size): Declare.
22236
5b5d4aa5 222372009-04-12 Pavel Roskin <proski@gnu.org>
22238
7dd4a573 22239 * configure.ac: Change the logic when we check for target tools.
22240 Do it when the target is specified and it's different from the
22241 specified value of the host.
5b5d4aa5 22242
c91e1793 222432009-04-11 Felix Zielcke <fzielcke@z-51.de>
22244
22245 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
22246 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
22247 GNU/kFreeBSD. Check if a device is a character device. Use
22248 DIOCGMEDIASIZE to get the size.
22249 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
22250 support for GNU/kFreeBSD.
22251 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
22252 is a character device instead of a block device. Add support for
22253 FreeBSD device names.
22254
22255 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
22256 is a character device instead of a block device.
22257
22258 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
22259 is a character device instead of a block device.
22260
b1ac8644 222612009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
22262
22263 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
22264 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
22265 FreeBSD. Check if a device is a character device. Use
22266 DIOCGMEDIASIZE to get the size.
22267 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
22268 support for FreeBSD.
22269 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
22270 is a character device instead of a block device. Add support for
22271 FreeBSD device names.
22272
22273 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
22274 a character device instead of a block device.
22275 (grub_util_check_char_device): New function.
22276
22277 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
22278 a character device instead of a block device.
22279
22280 * include/grub/util/getroot.h (grub_util_check_char_device): New
22281 prototype.
22282
a3f7515a 222832009-04-11 David S. Miller <davem@davemloft.net>
22284
22285 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
22286 static libgcc.
22287 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
22288 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
22289 function, if present.
22290 (__bswapdi2): Likewise.
22291
0d44993d 22292 * include/grub/sparc64/ieee1275/boot.h: New file.
22293 * boot/sparc64/ieee1275/boot.S: Likewise.
22294 * boot/sparc64/ieee1275/diskboot.S: Likewise.
22295
ed3d2bc2 22296 * kern/misc.c (grub_ltoa): New function.
22297 (grub_vsprintf): Use it to format 'long' integers.
22298
d3bfb59c 222992009-04-10 David S. Miller <davem@davemloft.net>
22300
22301 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
22302 slots are of type grub_ieee1275_cell_t.
22303 (grub_nand_read): Likewise.
22304 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
22305 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
22306 macros are used to compare values in arg/ret block of the call.
22307 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
22308 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
22309 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
22310 grub_ieee1275_instance_to_path, grub_ieee1275_write,
22311 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
22312 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
22313 grub_ieee1275_close, grub_ieee1275_set_property,
22314 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
22315 grub_ieee1275_cell_t.
22316 * kern/ieee1275/openfw.c (grub_map): Likewise.
22317 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
22318 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
22319
450e2238 22320 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
22321 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
22322 (grub_devalias_iterate): Likewise.
22323
7dd4a573 223242009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 22325
22326 UFS improvements
22327
22328 * fs/ufs.c (INODE_NBLOCKS): new definition
22329 (struct grub_ufs_dirent): added fields for non-BSD dirents
22330 (grub_ufs_get_file_block): fixed double indirect handling
22331 (grub_ufs_lookup_symlink): use more robust way to determine whether
22332 symlink is inline
22333 (grub_ufs_find_file): support for non-BSD dirents
22334 (grub_ufs_dir): support for non-BSD dirents
22335
e7e6862a 223362009-04-10 Bean <bean123ch@gnail.com>
22337
22338 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
22339 attribute, otherwise the size would be wrong for i386 platform.
22340
22341 * include/grub/pci.h (grub_pci_read_word): New inline function.
22342 (grub_pci_read_byte): Likewise.
22343 (grub_pci_write): Likewise.
22344 (grub_pci_write_word): Likewise.
22345 (grub_pci_write_byte): Likewise.
22346
22347 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
22348
22349 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
22350 (find_framebuf): Scan pci to locate the frame buffer address.
22351
22352 * commands/efi/fixvideo.c: New file.
22353
22354 * commands/efi/loadbios.c: Likewise.
22355
22356 * commands/memrw.c: Likewise.
22357
22358 * util/grub-dumpbios.in: Likewise.
22359
22360 * conf/common.rmk (grub-dumpbios): New utility.
22361 (pkglib_MODULES): New module memrw.mod.
22362 (memrw_mod_SOURCE): New macro.
22363 (memrw_mod_CFLAGS): Likewise.
22364 (memrw_mod_LDFLAGS): Likewise.
22365
7dd4a573 22366 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 22367 fixvideo.mod.
22368 (loadbios_mod_SOURCE): New macro.
22369 (loadbios_mod_CFLAGS): Likewise.
22370 (loadbios_mod_LDFLAGS): Likewise.
22371 (fixvideo_mod_SOURCE): Likewise.
22372 (fixvideo_mod_CFLAGS): Likewise.
22373 (fixvideo_mod_LDFLAGS): Likewise.
22374
7dd4a573 22375 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 22376 fixvideo.mod.
22377 (loadbios_mod_SOURCE): New macro.
22378 (loadbios_mod_CFLAGS): Likewise.
22379 (loadbios_mod_LDFLAGS): Likewise.
22380 (fixvideo_mod_SOURCE): Likewise.
22381 (fixvideo_mod_CFLAGS): Likewise.
22382 (fixvideo_mod_LDFLAGS): Likewise.
22383
af63ada2 223842009-04-08 Felix Zielcke <fzielcke@z-51.de>
22385
22386 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
22387
c2cdde70 223882009-04-07 David S. Miller <davem@davemloft.net>
22389
22390 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
22391 support for R_SPARC_OLO10 relocations. Fix compile warning for
22392 R_SPARC_WDISP30 case.
ea3f72cf 22393 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 22394
761319cf 223952009-04-06 Pavel Roskin <proski@gnu.org>
22396
1007d1f5 22397 * include/grub/misc.h (ARRAY_SIZE): New macro.
22398 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
22399 New macro.
22400 * loader/i386/linux.c (allocate_pages): Use free_pages().
22401 (grub_linux_unload): Don't use free_pages().
22402 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
22403 wrong index. Treat all other modes as text modes.
22404 (grub_cmd_linux): Initialize vid_mode unconditionally to
22405 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
22406
761319cf 22407 * commands/help.c (print_command_help): Use cmd->prio, not
22408 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
22409
ea761d40 224102009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 22411
ea761d40 22412 Parttool
22413
22414 * parttool/pcpart.c: new file
22415 * commands/parttool.c: likewise
22416 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
22417 (parttool_mod_SOURCES): new variable
22418 (parttool_mod_CFLAGS): likewise
22419 (parttool_mod_LDFLAGS): likewise
22420 (pcpart_mod_SOURCES): likewise
22421 (pcpart_mod_CFLAGS): likewise
22422 (pcpart_mod_LDFLAGS): likewise
7dd4a573 22423 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 22424 and parttool/pcpart.c
22425 * conf/i386-efi.rmk: likewise
22426 * conf/i386-ieee1275.rmk: likewise
22427 * conf/i386-pc.rmk: likewise
22428 * conf/powerpc-ieee1275.rmk: likewise
22429 * conf/sparc64-ieee1275.rmk: likewise
22430 * conf/x86_64-ieee1275.rmk: likewise
22431
05aaebfb 224322009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
22433
22434 Support for mtime and further expandability of dir command
22435
22436 * include/grub/lib/datetime.h: moved to ...
7dd4a573 22437 * include/grub/datetime.h: ... moved here and added
05aaebfb 22438 declaration of grub_unixtime2datetime. All users updated
7dd4a573 22439 * include/grub/fs.h: new syntax for dir and mtime functions in
22440 struct grub_fs
05aaebfb 22441 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
22442 and GRUB_FSHELP_FLAGS_MASK
22443 * commands/ls.c (grub_ls_list_files): Write mtime in long format
22444 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
22445 (grub_ext2_mtime): new function
22446 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
22447 (grub_hfsplus_mtime): new function
22448 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
22449 (GRUB_UFS_ATTR_FILE): likewise
22450 (GRUB_UFS_ATTR_LNK): likewise
22451 (struct grub_ufs_sblock): new fields mtime
22452 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
22453 all users updated
22454 (grub_ufs_dir): mtime support
22455 (grub_ufs_mtime): new function
22456 * fs/affs.c (grub_affs_dir): use new dir syntax
22457 * fs/afs.c (grub_afs_dir): likewise
22458 * fs/cpio.c (grub_cpio_dir): likewise
22459 * fs/fat.c (grub_fat_find_dir): likewise
22460 * fs/hfs.c (grub_hfs_dir): likewise
22461 * fs/iso9660.c (grub_iso9660_dir): likewise
22462 * fs/jfs.c (grub_jfs_dir): likewise
22463 * fs/minix.c (grub_minix_dir): likewise
22464 * fs/ntfs.c (grub_ntfs_dir): likewise
22465 * fs/reiserfs.c (grub_reiserfs_dir): likewise
22466 * fs/sfs.c (grub_sfs_dir): likewise
22467 * fs/xfs.c (grub_xfs_dir): likewise
22468 * util/hostfs.c (grub_hostfs_dir): likewise
22469 * lib/datetime.c: moved to ...
22470 * normal/datetime.c: ... moved here
22471 (grub_unixtime2datetime): new function
22472 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 22473 * normal/completion.c (iterate_dir): use new dir syntax
22474 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 22475 last modification time of a volume
7dd4a573 22476 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 22477 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 22478 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 22479 (normal_mod_SOURCES): likewise
22480 (datetime_mod_SOURCES): Removed lib/datetime.c
22481 * conf/i386-efi.rmk: likewise
7dd4a573 22482 * conf/i386-ieee1275.rmk: likewise
05aaebfb 22483 * conf/i386-pc.rmk: likewise
22484 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 22485 * conf/sparc64-ieee1275.rmk: likewise
22486 * conf/x86_64-efi.rmk: likewise
05aaebfb 22487
8a7e1a14 224882009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
22489
22490 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 22491
22492 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 22493 on grub_fat_find_dir
22494 (grub_fat_find_dir): use grub_fat_iterate_dir
22495 (grub_fat_label): likewise
22496
04186a9c 224972009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
22498
7dd4a573 22499 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 22500 and command.h
22501 remove extraneous kernel_elf_HEADERS
22502
da4c0bb6 225032009-04-04 Bean <bean123ch@gnail.com>
22504
22505 * include/grub/util/misc.h: Add dummy function fsync for mingw.
22506
22507 * util/misc.c: Likewise.
22508
54ad9555 225092009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
22510
22511 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
22512 instead of grub_printf.
22513
7a6bf9f2 225142009-04-03 Robert Millan <rmh@aybabtu.com>
22515
22516 * loader/i386/linux.c (grub_linux_setup_video): Fill
22517 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
22518 values from `mode info' structure instead of hardcoded
22519 values.
22520
3fcc2083 225212009-04-01 Pavel Roskin <proski@gnu.org>
22522
22523 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
22524 unused now.
22525 * genmk.rb: Likewise.
22526 * configure.ac: Likewise.
22527
5ec9740b 225282009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
22529
22530 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
22531 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
22532
5270cec8 225332009-04-01 David S. Miller <davem@davemloft.net>
22534
22535 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 22536 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 22537 (grub_setjmp): Mark with 'returns_twice' attribute.
22538 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
22539 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
22540 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
22541
9c3dd854 225422009-04-01 Robert Millan <rmh@aybabtu.com>
22543
22544 Reapply fix from 2008-07-28 which was accidentally reverted; also
22545 perform the same fix to a similar check in same function.
22546
22547 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
22548 with the same number are found, just use issue a warning with
22549 grub_dprintf(), as this error has been reported to be non-fatal.
22550
0d818b7e 225512009-03-31 Pavel Roskin <proski@gnu.org>
22552
22553 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
22554 for cross-compilation.
22555
95646d92 225562009-03-30 Robert Millan <rmh@aybabtu.com>
22557
22558 Fix i386-ieee1275 build.
22559
22560 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
22561 Remove declaration.
22562
6a003ed1 225632009-03-30 Pavel Roskin <proski@gnu.org>
22564
22565 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
22566 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
22567 zero-terminated, rely only on the strlen value. Fix comparison
22568 of strings differing in length.
22569
92f33540 225702009-03-30 Robert Millan <rmh@aybabtu.com>
22571
22572 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
22573 checking for abi version. Improve error messages on BIOS to notify
22574 user about `linux16' command.
22575
a8c48fd5 225762009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
22577
f968172e 22578 Leak fixes
a8c48fd5 22579
f968172e 22580 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
22581 in case of collision
22582 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 22583
9c323f09 225842009-03-29 Robert Millan <rmh@aybabtu.com>
22585
22586 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
22587 set `vid_mode' accordingly.
22588 (grub_linux_boot): Process `vid_mode' and set video mode.
22589
ae68f423 225902009-03-29 Robert Millan <rmh@aybabtu.com>
22591
22592 * util/grub.d/10_linux.in (linux_entry): New function.
22593 Factorize generation of Linux boot entries.
22594
5709cfc4 225952009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
22596
22597 Make the format of Environment Block plain text. The boot loader
22598 part is not tested well yet.
7dd4a573 22599
5709cfc4 22600 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
22601 (buffer): Removed.
22602 (envblk): Likewise.
22603 (usage): Remove "info" and "clear". Add "unset". Update the
22604 description of "set", as this does not delete variables any
22605 longer.
22606 (create_envblk_file): Complete rewrite.
22607 (open_envblk_file): Likewise.
22608 (cmd_info): Removed.
22609 (cmd_list): Likewise.
22610 (cmd_set): Likewise.
22611 (cmd_clear): Likewise.
22612 (list_variables): New function.
22613 (write_envblk): Likewise.
22614 (set_variables): Likewise.
22615 (unset_variables): Likewise.
22616 (main): Complete rewrite.
22617
22618 * commands/loadenv.c (buffer): Removed.
22619 (envblk): Likewise.
22620 (open_envblk_file): New function.
22621 (read_envblk_file): Complete rewrite.
22622 (grub_cmd_load_env): Likewise.
22623 (grub_cmd_list_env): Likewise.
22624 (struct blocklist): New struct.
22625 (free_blocklists): New function.
22626 (check_blocklists): Likewise.
22627 (write_blocklists): Likewise.
22628 (grub_cmd_save_env): Complete rewrite.
22629
22630 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
22631 a plain text signature.
22632 (GRUB_ENVBLK_MAXLEN): Removed.
22633 (struct grub_envblk): Complete rewrite.
22634 (grub_envblk_find): Removed.
22635 (grub_envblk_insert): Likewise.
22636 (grub_envblk_open): New prototype.
22637 (grub_envblk_set): Likewise.
22638 (grub_envblk_delete): Put const to VALUE.
22639 (grub_envblk_iterate): Put const to NAME and VALUE.
22640 (grub_envblk_close): New prototype.
22641 (grub_envblk_buffer): New inline function.
22642 (grub_envblk_size): Likewise.
22643
22644 * lib/envblk.c: Include grub/mm.h.
22645 (grub_env_find): Removed.
22646 (grub_envblk_open): New function.
22647 (grub_envblk_close): Likewise.
22648 (escaped_value_len): Likewise.
22649 (find_next_line): Likewise.
22650 (grub_envblk_insert): Removed.
22651 (grub_envblk_set): New function.
22652 (grub_envblk_delete): Complete rewrite.
22653 (grub_envblk_iterate): Likewise.
22654
a9368fd3 226552009-03-28 Robert Millan <rmh@aybabtu.com>
22656
22657 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
22658 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
22659 variables. Use 16-bit loader.
22660 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
22661 loader.
22662 * kern/i386/loader.S (grub_linux_boot): Rename to ...
22663 (grub_linux16_boot): ... this. Update all users.
22664 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
22665 (grub_linux_boot): ... this. Update all users.
22666
22667 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
22668 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
22669 commands to `linux16' and `initrd16'.
22670 (GRUB_MOD_FINI(linux)): Rename to ...
22671 (GRUB_MOD_FINI(linux16)): ... this.
22672
e4dd5a7e 226732009-03-24 Pavel Roskin <proski@gnu.org>
22674
22675 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
22676 not just for compilation.
22677
c04d6e05 226782009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
22679
22680 Move multiboot helper out of kernel
22681
22682 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
22683 `loader/i386/multiboot_helper.S'.
22684 * conf/i386-coreboot.rmk: Likewise
22685 * conf/i386-ieee1275.rmk: Likewise
22686
22687 * kern/i386/loader.S: Move multiboot helpers from here...
22688 * loader/i386/multiboot_helper.S: ...moved here
22689 * include/grub/i386/loader.h: Move declarations of multiboot
22690 helpers from here...
22691 * include/grub/i386/multiboot.h: ...moved here
22692 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
22693
42a5b3fc 226942009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
22695
22696 * kern/env.c (grub_env_context_open): Added an argument to specify
22697 whether a new context inherits exported variables from current
22698 one. This is useful when making a sandbox to interpret a config
22699 file.
22700 All callers updated.
22701
22702 * include/grub/env.h (grub_env_context_open): Updated the prototype.
22703
b28bbc4e 227042009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
22705
22706 * kern/env.c (grub_env_context_close): Fix memory leaks.
22707
f04f02e4 227082009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
22709
22710 * normal/main.c (grub_normal_execute): Added an argument
22711 BATCH to specify if an interactive interface should be provided
22712 after reading a config file.
22713 All callers updated.
22714 (read_command_list): Prevent being executed twice.
22715 (read_fs_list): Likewise.
22716
42a5b3fc 22717 * include/grub/normal.h (grub_normal_execute): Updated the
22718 prototype.
f04f02e4 22719
41473ac2 227202009-03-22 Pavel Roskin <proski@gno.org>
22721
fbc00b0c 22722 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
22723 _start.
22724 * kern/i386/pc/startup.S: Likewise.
22725 * kern/i386/efi/startup.S: Likewise.
22726 * kern/i386/ieee1275/startup.S: Likewise.
22727 * kern/i386/coreboot/startup.S: Likewise.
22728 * kern/x86_64/efi/startup.S: Likewise.
22729
41473ac2 22730 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
22731 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
22732 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
22733
2274cc8f 227342009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
22735
22736 Bugfixes in multiboot for bugs uncovered by solaris kernel.
22737
22738 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
22739 limit detection.
22740 Use vaddr of correct segment for entry_point.
22741
b1b797cb 227422009-03-21 Bean <bean123ch@gmail.com>
22743
22744 * commands/blocklist.c: Add include file <grub/command.h>, remove
22745 <grub/normal.h> and <grub/arg.h>.
22746 (grub_cmd_blocklist): Use the new command interface.
22747 (GRUB_MOD_INIT): Likewise.
22748 (GRUB_MOD_FINI): Likewise.
22749 * commands/boot.c: Likewise.
22750 * commands/cat.c: Likewise.
22751 * commands/cmp.c: Likewise.
22752 * commands/configfile.c: Likewise.
22753 * commands/crc.c: Likewise.
22754 * commands/echo.c: Likewise.
22755 * commands/halt.c: Likewise.
22756 * commands/handler.c: Likewise.
22757 * commands/hdparm.c: Likewise.
22758 * commands/help.c: Likewise.
22759 * commands/hexdump.c: Likewise.
22760 * commands/loadenv.c: Likewise.
22761 * commands/ls.c: Likewise.
22762 * commands/lsmmap.c: Likewise.
22763 * commands/lspci.c: Likewise.
22764 * commands/loadenv.c: Likewise.
22765 * commands/read.c: Likewise.
22766 * commands/reboot.c: Likewise.
22767 * commands/search.c: Likewise.
22768 * commands/sleep.c: Likewise.
22769 * commands/test.c: Likewise.
22770 * commands/usbtest.c: Likewise.
22771 * commands/videotest.c: Likewise.
22772 * commands/i386/cpuid.c: Likewise.
22773 * commands/i386/pc/halt.c: Likewise.
22774 * commands/i386/pc/play.c: Likewise.
22775 * commands/i386/pc/pxecmd.c: Likewise.
22776 * commands/i386/pc/vbeinfo.c: Likewise.
22777 * commands/i386/pc/vbetest.c: Likewise.
22778 * commands/ieee1275/suspend.c: Likewise.
22779 * disk/loopback.c: Likewise.
22780 * font/font_cmd.c: Likewise.
22781 * hello/hello.c: Likewise.
22782 * loader/efi/appleloader.c: Likewise.
22783 * loader/efi/chainloader.c: Likewise.
22784 * loader/i386/bsd.c: Likewise.
22785 * loader/i386/efi/linux.c: Likewise.
22786 * loader/i386/ieee1275/linux.c: Likewise.
22787 * loader/i386/linux.c: Likewise.
22788 * loader/i386/pc/chainloader.c: Likewise.
22789 * loader/i386/pc/linux.c: Likewise.
22790 * loader/powerpc/ieee1275/linux.c: Likewise.
22791 * loader/multiboot_loader.c: Likewise.
22792 * term/gfxterm.c: Likewise.
22793 * term/i386/pc/serial.c: Likewise.
22794 * term/terminfo.c: Likewise.
22795
22796 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
22797 * term/i386/pc/vga.c: Likewise.
22798 * video/readers/jpeg.c: Likewise.
22799 * video/readers/png.c: Likewise.
22800 * video/readers/tga.c: Likewise.
22801
22802 * util/grub-fstest (cmd_loopback): Removed.
22803 (cmd_blocklist): Likewise.
22804 (cmd_ls): Likewise.
22805 (grub_register_command): Likewise.
22806 (grub_unregister_command): Likewise.
22807 (execute_command): Use grub_command_find to locate command and execute
22808 it.
22809
22810 * include/grub/efi/chainloader.h: Removed.
22811 * loader/efi/chainloader_normal.c: Likewise.
22812 * loader/i386/bsd_normal.c: Likewise.
22813 * loader/i386/pc/chainloader_normal.c: Likewise.
22814 * loader/i386/pc/multiboot_normal.c: Likewise.
22815 * loader/linux_normal.c: Likewise.
22816 * loader/multiboot_loader_normal.c: Likewise.
22817 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
22818
22819 * gencmdlist.sh: Scan new registration command grub_register_extcmd
22820 and grub_register_command_p1.
22821
22822 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
22823 kern/command.c, lib/arg.c and commands/extcmd.c.
22824 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
22825 (minicmd_mod_SOURCES): New variable.
22826 (minicmd_mod_CFLAGS): Likewise.
22827 (minicmd_mod_LDFLAGS): Likewise.
22828 (extcmd_mod_SOURCES): Likewise.
22829 (extcmd_mod_CFLAGS): Likewise.
22830 (extcmd_mod_LDFLAGS): Likewise.
22831 (boot_mod_SOURCES): Removed.
22832 (boot_mod_CFLAGS): Likewise.
22833 (boot_mod_LDFLAGS): Likewise.
22834
22835 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
22836 kern/corecmd.c.
22837 (kernel_img_HEADERS): Add command.h.
22838 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
22839 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
22840 and lib/arg.c.
22841 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
22842 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
22843 remove the corresponding normal mode command.
22844 (normal_mod_SOURCES): Remove normal/arg.c.
22845 * conf/i386-coreboot.rmk: Likewise.
22846 * conf/i386-efi.rmk: Likewise.
22847 * conf/i386-ieee1275.rmk: Likewise.
22848 * conf/powerpc-ieee1275.rmk: Likewise.
22849 * conf/x86_64-efi.rmk: Likewise.
22850
22851 * include/grub/arg.h: Move from here ...
22852 * include/grub/lib/arg.h: ... to here.
22853
22854 * normal/arg.c: Move from here ...
22855 * lib/arg.c: ... to here.
22856
22857 * commands/extcmd.c: New file.
22858 * commands/minicmd.c: Likewise.
22859 * include/grub/command.h: Likewise.
22860 * include/grub/extcmd.h: Likewise.
22861 * kern/command.c: Likewise.
22862 * kern/corecmd.c: Likewise.
22863
22864 * kern/list.c (grub_list_iterate): Return int instead of void.
22865 (grub_list_insert): New function.
22866 (grub_prio_list_insert): Likewise.
22867
22868 * kern/rescue.c (grub_rescue_command): Removed.
22869 (grub_rescue_command_list): Likewise.
22870 (grub_rescue_register_command): Likewise.
22871 (grub_rescue_unregister_command): Likewise.
22872 (grub_rescue_cmd_boot): Move to minicmd.c
22873 (grub_rescue_cmd_help): Likewise.
22874 (grub_rescue_cmd_info): Likewise.
22875 (grub_rescue_cmd_boot): Likewise.
22876 (grub_rescue_cmd_testload): Likewise.
22877 (grub_rescue_cmd_dump): Likewise.
22878 (grub_rescue_cmd_rmmod): Likewise.
22879 (grub_rescue_cmd_lsmod): Likewise.
22880 (grub_rescue_cmd_exit): Likewise.
22881 (grub_rescue_print_devices): Moved to corecmd.c.
22882 (grub_rescue_print_files): Likewise.
22883 (grub_rescue_cmd_ls): Likewise.
22884 (grub_rescue_cmd_insmod): Likewise.
22885 (grub_rescue_cmd_set): Likewise.
22886 (grub_rescue_cmd_unset): Likewise.
7d074e3c 22887 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 22888 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 22889 commands, remove grub_rescue_register_command calls.
b1b797cb 22890
7d074e3c 22891 * normal/command.c (grub_register_command): Removed.
b1b797cb 22892 (grub_unregister_command): Likewise.
22893 (grub_command_find): Likewise.
22894 (grub_iterate_commands): Likewise.
22895 (rescue_command): Likewise.
22896 (export_command): Moved to corecmd.c.
22897 (set_command): Removed.
22898 (unset_command): Likewise.
22899 (insmod_command): Likewise.
22900 (rmmod_command): Likewise.
22901 (lsmod_command): Likewise.
22902 (grub_command_init): Likewise.
22903
22904 * normal/completion.c (iterate_command): Use cmd->prio to check for
22905 active command.
22906 (complete_arguments): Use grub_extcmd_t structure to find options.
22907 (grub_normal_do_completion): Change function grub_iterate_commands to
22908 grub_command_iterate.
22909
22910 * normal/execute.c (grub_script_execute_cmd): No need to parse
22911 argument here.
22912
22913 * normal/main.c (grub_dyncmd_dispatcher): New function.
22914 (read_command_list): Register unload commands as dyncmd.
22915 (grub_cmd_normal): Use new command interface, register rescue,
22916 unregister normal at entry, register normal, unregister rescue at exit.
22917
22918 * include/grub/list.h (grub_list_test_t): New type.
22919 (grub_list_iterate): Return int instead of void.
22920 (grub_list_insert): New function.
22921 (GRUB_AS_NAMED_LIST_P): New macro.
22922 (GRUB_AS_PRIO_LIST): Likewise.
22923 (GRUB_AS_PRIO_LIST_P): Likewise.
22924 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
22925 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
22926 (grub_prio_list): New structure.
22927 (grub_prio_list_insert): New function.
22928 (grub_prio_list_remove): New inline function.
22929
22930 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
22931 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
22932 (GRUB_COMMAND_FLAG_MENU): Likewise.
22933 (GRUB_COMMAND_FLAG_BOTH): Likewise.
22934 (GRUB_COMMAND_FLAG_TITLE): Likewise.
22935 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
22936 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
22937 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
22938 (grub_command): Likewise.
22939 (grub_register_command): Likewise.
22940 (grub_command_find): Likewise.
22941 (grub_iterate_commands): Likewise.
22942 (grub_command_init): Likewise.
22943 (grub_arg_parse): Likewise.
22944 (grub_arg_show_help): Likewise.
22945
22946 * include/grub/rescue.h (grub_rescue_register_command): Removed.
22947 (grub_rescue_unregister_command): Likewise.
22948
22949 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
22950 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
22951 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
22952
22953 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
22954 grub_rescue_cmd_initrd.
22955 * include/grub/i386/loader.h: Likewise.
22956 * include/grub/x86_64/loader.h: Likewise.
22957
22958 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
22959
1f4147aa 229602009-03-21 Bean <bean123ch@gmail.com>
22961
22962 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
22963 instead of stat in mingw environment.
22964
22965 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
22966
22967 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
22968
22969 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
22970 AC_CONFIG_LINKS.
22971
2156d5ba 229722009-03-21 Bean <bean123ch@gmail.com>
22973
22974 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
22975 out of range error.
22976
177b82ca 229772009-03-18 Michel Dänzer <michel@daenzer.net>
22978
22979 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
22980 checking inode flags for EXT4_EXTENTS_FLAG.
22981
14aad807 229822009-03-18 Robert Millan <rmh@aybabtu.com>
22983
22984 * loader/i386/linux.c: Include `<grub/video.h>' and
22985 `<grub/i386/pc/vbe.h>'..
22986 (grub_linux_setup_video): New function. Loosely based on the EFI one.
22987 (grub_linux32_boot): Attempt to configure video settings with
22988 grub_linux_setup_video().
22989 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
22990 to avoid grub_console_fini() which would step out of graphical mode
22991 unconditionally.
22992
8cf83a27 229932009-03-14 Robert Millan <rmh@aybabtu.com>
22994
22995 Fix build on powerpc.
22996 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
22997
40164e75 229982009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
22999
23000 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
23001 background image command.
23002
c58bc32a 230032009-03-12 Colin D Bennett <colin@gibibit.com>
23004
23005 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
23006 (grub_gfxterm_putchar): Extract pairs of identical calls to
23007 draw_cursor out of conditional blocks.
23008
5415144a 230092009-03-11 Pavel Roskin <proski@gnu.org>
23010
23011 * fs/hfs.c (grub_hfs_strncasecmp): New function.
23012 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
23013
6394042e 230142009-03-11 Robert Millan <rmh@aybabtu.com>
23015
23016 * loader/i386/multiboot_elfxx.c
23017 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
23018
b7b50e5f 230192009-03-11 Felix Zielcke <fzielcke@z-51.de>
23020
23021 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
23022 `kern/handler.c'.
23023
1ca7fc96 230242009-03-11 Robert Millan <rmh@aybabtu.com>
23025
23026 * loader/i386/multiboot.c (code_size): New variable.
23027 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 23028 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 23029 4-byte alignment to MBI and others by increasing
7d074e3c 23030 `boot_loader_name_length' appropriately.
1ca7fc96 23031
23032 * loader/i386/multiboot_elfxx.c
23033 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
23034
a83ea1d2 230352009-03-09 Felix Zielcke <fzielcke@z-51.de>
23036
23037 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
23038 `fs/ext2.c'.
23039
aa9f3bff 230402009-03-08 Robert Millan <rmh@aybabtu.com>
23041
23042 Make loader/i386/linux.c usable on i386-pc again.
23043
23044 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
23045 memory to heap.
23046 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
23047 `#error' stanza.
23048
d8b3b60e 230492009-03-07 Bean <bean123ch@gmail.com>
23050
23051 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
23052 allocation.
23053
b362c9e9 230542009-03-06 Robert Millan <rmh@aybabtu.com>
23055
23056 Fix display issue on terminals with screen size other than 80x25
23057 (e.g. gfxterm with resolution higher than 640x480).
23058
23059 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 23060 position relative to the center of the terminal instead of relying
b362c9e9 23061 on a hardcoded offset.
23062
9304eef1 230632009-03-04 Robert Millan <rmh@aybabtu.com>
23064
23065 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
23066 installed.
23067
23068 * Makefile.in (host_kernel): New variable.
23069 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
23070 scripts instead of just the windows one.
23071 * configure.ac: Initialize and AC_SUBST `host_kernel'.
23072
eabc95fb 230732009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 23074
23075 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
23076 `kern/handler.c'.
23077 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
23078 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
23079 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
23080 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23081 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23082 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23083
ceb1223c 230842009-03-04 Felix Zielcke <fzielcke@z-51.de>
23085
23086 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
23087 or if there's no space for the disk label and print the partition number on a
23088 invalid magic.
23089
4910684a 230902009-03-04 Felix Zielcke <fzielcke@z-51.de>
23091
23092 * util/misc.c: Include <time.h>.
23093 (grub_millisleep): New function.
23094
7e9ca17a 230952009-03-04 Bean <bean123ch@gmail.com>
23096
23097 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
23098 another option -mno-red-zone.
23099
23100 * commands/handler.c: Change module description.
23101
23102 * kern/handler.c: Add missing space at the end of description line.
23103
23104 * kern/list.c: Likewise.
23105
f501677c 231062009-03-03 Robert Millan <rmh@aybabtu.com>
23107
23108 Move more components to the relocation area, and fix mbi pointer
23109 handling to use the destination rather than the origin (thanks to
23110 Vladimir Serbinenko for spotting).
23111
23112 * loader/i386/multiboot.c (mbi_dest): New variable.
23113 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
23114 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
23115 relocation area.
23116
9902d047 231172009-03-01 Bean <bean123ch@gmail.com>
23118
50fb7002 23119 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 23120 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
23121 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
23122 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
23123
23124 * loader/i386/efi/linux.c (acpi_guid): New variable.
23125 (acpi_guid): Likewise.
23126 (EBDA_SEG_ADDR): New constant.
23127 (LOW_MEM_ADDR): Likewise.
23128 (FAKE_EBDA_SEG): Likewise.
23129 (fake_bios_data): New function.
23130 (grub_linux_boot): Call fake_bios_data.
23131
71b9f361 231322009-03-01 Bean <bean123ch@gmail.com>
23133
23134 * commands/terminal.c: Removed.
23135
23136 * commands/handler.c: New file.
23137
23138 * include/grub/list.h: Likewise.
23139
23140 * include/grub/handler.h: Likewise.
23141
23142 * kern/list.c: Likewise.
23143
23144 * kern/handler.c: Likewise.
23145
23146 * kern/term.h: Include header file <grub/handler.h>.
23147 (grub_term_input): Move next field to the beginning.
23148 (grub_term_output): Likewise.
23149 (grub_term_input_class): New variable.
23150 (grub_term_output_class): Likewise.
23151 (grub_term_register_input): Changed to inline function.
23152 (grub_term_register_output): Likewise.
23153 (grub_term_unregister_input): Likewise.
23154 (grub_term_unregister_output): Likewise.
23155 (grub_term_set_current_input): Likewise.
23156 (grub_term_set_current_output): Likewise.
23157 (grub_term_get_current_input): Likewise.
23158 (grub_term_get_current_output): Likewise.
23159 (grub_term_iterate_input): Removed.
23160 (grub_term_iterate_output): Likewise.
23161
23162 * kern/term.c (grub_term_list_input): Removed.
23163 (grub_term_list_output): Likewise.
23164 (grub_term_input_class): New variable.
23165 (grub_term_output_class): Likewise.
50fb7002 23166 (grub_cur_term_input): Change variable as macro.
71b9f361 23167 (grub_cur_term_output): Likewise.
23168 (grub_term_register_input): Removed.
23169 (grub_term_register_output): Likewise.
23170 (grub_term_unregister_input): Likewise.
23171 (grub_term_unregister_output): Likewise.
23172 (grub_term_set_current_input): Likewise.
23173 (grub_term_set_current_output): Likewise.
23174 (grub_term_iterate_input): Likewise.
23175 (grub_term_iterate_output): Likewise.
23176 (grub_term_get_current_input): Likewise.
23177 (grub_term_get_current_output): Likewise.
23178
23179 * util/grub-editenv.c: Include header file <grub/handler.h>.
23180 (grub_term_get_current_input): Removed.
23181 (grub_term_get_current_output): Likewise.
23182 (grub_term_input_class): New variable.
50fb7002 23183 (grub_term_output_class): Likewise.
71b9f361 23184
23185 * util/grub-fstest.c (grub_term_get_current_input): Removed.
23186 (grub_term_get_current_output): Likewise.
23187 (grub_term_input_class): New variable.
50fb7002 23188 (grub_term_output_class): Likewise.
71b9f361 23189
23190 * util/grub-probe.c (grub_term_get_current_input): Removed.
23191 (grub_term_get_current_output): Likewise.
23192 (grub_term_input_class): New variable.
50fb7002 23193 (grub_term_output_class): Likewise.
71b9f361 23194
23195 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
23196 (grub_term_get_current_output): Likewise.
23197 (grub_term_input_class): New variable.
50fb7002 23198 (grub_term_output_class): Likewise.
71b9f361 23199
23200 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
23201 (terminal_mod_SOURCES): Likewise.
23202 (terminal_mod_CFLAGS): Likewise.
23203 (terminal_mod_LDFLAGS): Likewise.
23204
23205 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
23206 handler.c.
23207 (kernel_img_SOURCES): Add list.c and handler.c.
23208 (kernel_img_HEADERS): Add list.h and handler.h.
23209
23210 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
23211 handler.c.
23212 (kernel_mod_SOURCES): Add list.c and handler.c.
23213 (kernel_mod_HEADERS): Add list.h and handler.h.
23214
23215 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
23216 handler.c.
23217 (kernel_elf_SOURCES): Add list.c and handler.c.
23218 (kernel_elf_HEADERS): Add list.h and handler.h.
23219
23220 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
23221 handler.c.
23222 (kernel_elf_SOURCES): Add list.c and handler.c.
23223 (kernel_elf_HEADERS): Add list.h and handler.h.
23224
23225 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
23226 handler.c.
23227 (kernel_mod_SOURCES): Add list.c and handler.c.
23228 (kernel_mod_HEADERS): Add list.h and handler.h.
23229
23230 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
23231 handler.c.
23232 (kernel_elf_SOURCES): Add list.c and handler.c.
23233 (kernel_elf_HEADERS): Add list.h and handler.h.
23234
8a31787f 232352009-02-27 Robert Millan <rmh@aybabtu.com>
23236
23237 Factorize elf32 / elf64 code in Multiboot loader. This will
23238 prevent it from getting out of sync again.
23239
23240 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
23241 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
23242 grub_multiboot_load_elf64): Move from here ...
23243 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
23244 grub_multiboot_load_elf): ... to here (new file).
23245
51cd3dfc 232462009-02-27 Robert Millan <rmh@aybabtu.com>
23247
23248 * util/grub.d/10_linux.in: Rename "single-user mode" to
23249 "recovery mode".
23250
6e8c9c3a 232512009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
23252
23253 Don't leak in SCSI code.
23254 * disk/scsi.c (grub_scsi_close): free `scsi'.
23255
4b6bf4f9 232562009-02-27 Robert Millan <rmh@aybabtu.com>
23257
23258 * loader/i386/pc/multiboot.c: Move from here ...
23259 * loader/i386/multiboot.c: ... to here. Update all users.
23260
b9413424 232612009-02-27 Robert Millan <rmh@aybabtu.com>
23262
23263 Patch from Alexandre Bique <bique.alexandre@gmail.com>
23264 * util/i386/pc/grub-setup.c (setup): Fix directory path.
23265
50fb7002 232662009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 23267
23268 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
23269 b-tree.
23270
8cc50345 232712009-02-27 Robert Millan <rmh@aybabtu.com>
23272
23273 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
23274 `0x' qualifier as 0 when base is specified as parameter).
23275
6e09b8b7 232762009-02-24 Bean <bean123ch@gmail.com>
23277
23278 * configure.ac: Check for -mcmodel=large in x86_64 target.
23279
23280 * include/grub/efi/api.h (efi_call_10): New macro.
23281 (efi_wrap_10): New function.
23282
23283 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
23284 (GRUB_PE32_REL_BASED_HIGH): Likewise.
23285 (GRUB_PE32_REL_BASED_LOW): Likewise.
23286 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
23287 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
23288 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
23289 (GRUB_PE32_REL_BASED_SECTION): Likewise.
23290 (GRUB_PE32_REL_BASED_REL): Likewise.
23291 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
23292 (GRUB_PE32_REL_BASED_DIR64): Likewise.
23293 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
23294
23295 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
23296 issue.
23297
23298 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
23299 (efi_wrap_10): New function.
23300
23301 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
23302
23303 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
23304 MB/MBP model (NV chipset).
23305 (devdata_devs): Add devpath_5 to the list.
23306
23307 * load/i386/efi/linux.c (video_base): Remove variable.
23308 (RGB_MASK): New macro.
23309 (RGB_MAGIC): Likewise.
23310 (LINE_MIN): Likewise.
23311 (LINE_MAX): Likewise.
23312 (FBTEST_STEP): Likewise.
23313 (FBTEST_COUNT): Likewise.
23314 (fb_list): New variable.
23315 (grub_find_video_card): Remove function.
23316 (find_framebuf): New function.
23317 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
23318 line length.
23319
23320 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
23321 problem for x86_64.
23322
74b21bee 233232009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
23324
23325 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
23326
23327 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
23328 coding tool name.
23329
a455f472 233302009-02-22 Robert Millan <rmh@aybabtu.com>
23331
23332 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
23333 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
23334 in our relocation, instead of using it directly from heap. Also
23335 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
23336
6374daf3 233372009-02-21 Robert Millan <rmh@aybabtu.com>
23338
23339 Implement USB keyboard support (based on patch by Marco Gerards)
23340
23341 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
23342 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
23343 (usb_keyboard_mod_LDFLAGS): New variables.
23344
23345 * term/usb_keyboard.c: New file.
23346
8fa4ea70 233472009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
23348
23349 Corrected wrong declaration
23350
23351 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
23352
353976ac 233532009-02-14 Christian Franke <franke@computer.org>
23354
23355 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
23356 (grub_lspci_iter): Print class code and programming interface byte.
23357
6aa1169b 233582009-02-14 Christian Franke <franke@computer.org>
23359
23360 * gendistlist.sh: Ignore `.svn' directories.
23361
265372ca 233622009-02-14 Felix Zielcke <fzielcke@z-51.de>
23363
23364 * fs/fat.c: Add 2009 to Copyright line.
23365
9ff516f3 233662009-02-14 Christian Franke <franke@computer.org>
23367
23368 * commands/hdparm.c: New file. Provides `hdparm' command
23369 which sends ATA commands via grub_disk_ata_pass_through ().
23370
23371 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
23372
23373 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
23374 and <grub/cpu/io.h> to include/grub/ata.h.
23375 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
23376 (GRUB_CDROM_SECTOR_SIZE): Remove.
23377 (GRUB_ATA_*): Move to include/grub/ata.h.
23378 (GRUB_ATAPI_*): Likewise.
23379 (enum grub_ata_commands): Likewise.
23380 (enum grub_ata_timeout_milliseconds): Likewise.
23381 (struct grub_ata_device): Likewise.
23382 (grub_ata_regset): Likewise.
23383 (grub_ata_regget): Likewise.
23384 (grub_ata_regset2): Likewise.
23385 (grub_ata_regget2): Likewise.
23386 (grub_ata_check_ready): Likewise.
23387 (grub_ata_wait_not_busy): Remove static, exported in
23388 include/grub/ata.h.
23389 (grub_ata_wait_drq): Likewise.
23390 (grub_ata_pio_read): Likewise.
23391
23392 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
23393 function for hdparm.mod.
23394
23395 * include/grub/ata.h: New file, contains declarations from
23396 disk/ata.c.
23397 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
23398
23399 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
23400 (grub_disk_ata_pass_through): New exported variable.
23401
23402 * kern/disk.c (grub_disk_ata_pass_through): New variable.
23403
772e23da 234042009-02-13 Colin D Bennett <colin@gibibit.com>
23405
23406 Support multiple fallback entries, and provide an API to support
23407 executing default+fallback menu entries. Renamed the `terminal' menu
23408 viewer to `text'.
23409
23410 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
23411 variable declaration.
23412 (grub_menu_execute_callback): New structure declaration.
23413 (grub_menu_execute_callback_t): New typedef.
23414 (grub_menu_execute_with_fallback): New function declaration.
23415 (grub_menu_get_entry): Likewise.
23416 (grub_menu_get_timeout): Likewise.
23417 (grub_menu_set_timeout): Likewise.
23418
23419 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
23420
23421 * normal/menu.c (grub_wait_after_message): Moved to
23422 `normal/menu_text.c'.
23423 (draw_border): Likewise.
23424 (print_message): Likewise.
23425 (print_entry): Likewise.
23426 (print_entries): Likewise.
23427 (grub_menu_init_page): Likewise.
23428 (get_entry_number): Likewise.
23429 (print_timeout): Likewise.
23430 (run_menu): Likewise.
23431 (grub_menu_execute_entry): Likewise.
23432 (show_text_menu): Likewise.
23433 (get_and_remove_first_entry_number): New function.
23434 (grub_menu_execute_with_fallback): Likewise.
23435 (get_entry): Renamed to ...
23436 (grub_menu_get_entry): .. this and made it global.
23437 (get_timeout): Renamed to ...
23438 (grub_menu_get_timeout): ... this and made it global.
23439 (set_timeout): Renamed to ...
23440 (grub_menu_set_timeout): ... this and made it global.
23441 (grub_normal_terminal_menu_viewer): Renamed to ...
23442 (grub_normal_text_menu_viewer): ... this.
23443
23444 * normal/menu_text.c: New file. Extracted text-menu-specific code
23445 from normal/menu.c.
23446
23447 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
23448 (normal_mod_SOURCES): Likewise.
23449
23450 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
23451 (normal_mod_SOURCES): Likewise.
23452
23453 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23454 (normal_mod_SOURCES): Likewise.
23455
23456 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
23457 (normal_mod_SOURCES): Likewise.
23458
23459 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23460 (normal_mod_SOURCES): Likewise.
23461
23462 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23463 (normal_mod_SOURCES): Likewise.
23464
23465 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
23466 (normal_mod_SOURCES): Likewise.
23467
16ac430e 234682009-02-11 Robert Millan <rmh@aybabtu.com>
23469
23470 * util/grub.d/00_header.in: Update old reference to `font' command.
23471
06ff20fc 234722009-02-10 Felix Zielcke <fzielcke@z-51.de>
23473
23474 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
23475
23476 Based on patch from Javier Martín.
23477
96da9407 234782009-02-09 Felix Zielcke <fzielcke@z-51.de>
23479
23480 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 23481 to avoid false positives with FAT.
96da9407 23482 (grub_fstest_SOURCES): Likewise.
23483 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
23484 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
23485 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23486 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
23487 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23488 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23489
6dca6fe4 234902009-02-09 Felix Zielcke <fzielcke@z-51.de>
23491
06ff20fc 23492 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 23493 bpb.version_specific.fat12_or_fat16.fstype and
23494 bpb.version_specific.fat32.fstype.
23495
2550c62f 234962009-02-08 Robert Millan <rmh@aybabtu.com>
23497
be110b30 23498 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 23499
56978920 235002009-02-08 Robert Millan <rmh@aybabtu.com>
23501
23502 * Makefile.in (host_os, host_cpu): New variables.
23503 (target_os): Remove. Update all users.
23504
d64399b5 235052009-02-08 Marco Gerards <marco@gnu.org>
23506
23507 * Makefile.in (enable_grub_emu_usb): New variable.
23508 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
23509 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
23510 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
23511 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
23512 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
23513 `usbtest.mod' and `usbms.mod'.
23514 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
23515 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
23516 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
23517 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
23518 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
23519 variables.
23520
23521 * disk/usbms.c: New file.
23522
23523 * include/grub/usb.h: Likewise.
23524
23525 * include/grub/usbtrans.h: Likewise.
23526
23527 * include/grub/usbdesc.h: Likewise.
23528
23529 * bus/usb/usbtrans.c: Likewise.
23530
23531 * bus/usb/ohci.c: Likewise.
23532
23533 * bus/usb/uhci.c: Likewise.
23534
23535 * bus/usb/usbhub.c: Likewise.
23536
23537 * bus/usb/usb.c: Likewise.
23538
23539 * commands/usbtest.c: Likewise.
23540
23541 * util/usb.c: Likewise.
50fb7002 23542
d64399b5 23543 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
23544
23545 * configure.ac: Test for libusb presence.
50fb7002 23546
d64399b5 23547 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
23548
2b40d6bb 235492009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
23550
23551 * kern/mm.c: Add more comments.
23552
73a4ce81 235532009-02-08 Robert Millan <rmh@aybabtu.com>
23554
23555 Patch from Javier Martín.
23556 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
23557 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
23558
f821ce59 235592009-02-08 Robert Millan <rmh@aybabtu.com>
23560
23561 * fs/cpio.c: Split tar functionality to ...
23562 * fs/tar.c: ... here (new file). Update all users.
23563
aebfc4b0 235642009-02-07 Robert Millan <rmh@aybabtu.com>
23565
23566 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
23567 backward-incompatible features.
23568
23569 Based on patch from Javier Martín, with some adjustments.
23570
50fb7002 235712009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 23572
23573 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
23574
0bb5115e 235752009-02-07 Robert Millan <rmh@aybabtu.com>
23576
23577 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
23578 position of `disk/lvm.c' to ensure grub_init_all() always picks it
23579 after the RAID stuff.
23580
38a0f8e7 235812009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
23582
50fb7002 23583 Fixes problem when running vbetest command as reported by
38a0f8e7 23584 Vladimir Serbinenko <phcoder@gmail.com>.
23585
23586 * (grub_vbe_set_video_mode): Fixed problem with text modes.
23587
3143cc1c 235882009-02-04 Felix Zielcke <fzielcke@z-51.de>
23589
23590 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
23591 /dev/md/NpN style mdraid devices.
23592
9cba6fce 235932009-02-03 Felix Zielcke <fzielcke@z-51.de>
23594
23595 * util/unifont2pff.rb: Remove.
23596
e507a2c1 235972009-02-03 Felix Zielcke <fzielcke@z-51.de>
23598
23599 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
23600 `#'.
23601
d2c2b4cd 236022009-02-03 Felix Zielcke <fzielcke@z-51.de>
23603
23604 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
23605 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
23606 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
23607 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
23608 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23609 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23610 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23611
b4315fb0 236122009-02-02 Christian Franke <franke@computer.org>
23613
23614 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
23615
de3aa260 236162009-02-01 Felix Zielcke <fzielcke@z-51.de>
23617
7c3ff286 23618 * INSTALL: Note that we now require at least autoconf 2.59 and
23619 that LZO is optional.
de3aa260 23620
825a182b 236212009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
23622
23623 Base on patch on bug #24154 created by Tomas Tintera
23624 <trosos@seznam.cz>.
23625
23626 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
23627
a69ef770 236282009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
23629
7c3ff286 23630 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 23631 <bero@arklinux.org>.
23632
23633 * normal/parser.y (script_init): Add missing semicolon.
23634
6fa42fa6 236352009-01-31 Colin D Bennett <colin@gibibit.com>
23636
7c3ff286 23637 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 23638 (free_menu_entry_classes): Added.
23639 (grub_normal_menu_addentry): Added class property handling.
23640 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
23641 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
23642
23643 * normal/menu_viewer.c: New file.
23644
23645 * normal/menu.c (run_menu_entry): Renamed to ...
23646 (grub_menu_execute_entry): ... this and made it as global.
23647 (grub_menu_run): Renamed to ...
23648 (show_text_menu): ... this and made it local.
23649 (show_text_menu): Adapt to new function names.
23650 (grub_normal_terminal_menu_viewer): New global variable.
23651
23652 * include/grub/menu.h: New file.
23653
23654 * include/grub/menu_viewer.h: New file.
23655
23656 * include/grub/normal.h: Added include to grub/menu.h.
23657 (grub_menu_entry): Moved to include/grub/menu.h.
23658 (grub_menu_entry_t): Likewise.
23659 (grub_menu): Likewise.
23660 (grub_menu_t): Likewise.
23661 (grub_normal_terminal_menu_viewer): Added.
23662 (grub_menu_execute_entry): Likewise.
23663 (grub_menu_run): Removed.
23664
23665 * DISTLIST: Added include/grub/menu.h.
23666 Added include/grub/menu_viewer.h.
23667 Added normal/menu_viewer.c.
23668
236692009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
23670
23671 * normal/execute.c (grub_script_execute_menuentry): Changed to use
23672 arglist for menutitle arguments.
23673
23674 * normal/main.c (grub_normal_menu_addentry): Likewise.
23675
23676 * normal/parser.y (menuentry): Likewise.
23677
23678 * normal/script.c (grub_script_create_cmdmenu): Likewise.
23679
23680 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
23681 (grub_script_create_cmdmenu): Likewise.
23682
23683 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
23684
23685 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
23686 changes.
23687
23688 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
23689
23690 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
23691
23692 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
23693
23694 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
23695
23696 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
23697
23698 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
23699
56192c23 237002009-01-30 Christian Franke <franke@computer.org>
23701
23702 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
23703 in option help text.
23704
d72521b3 237052009-01-27 Pavel Roskin <proski@gnu.org>
23706
23707 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
23708
994b5e84 237092009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
23710
23711 * commands/lsmmap.c: Add include to grub/machine/memory.h.
23712
23713 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
23714
23715 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
23716 unregister function.
23717
6a7eab2c 237182009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
23719
23720 * disk/scsi.c (grub_scsi_read): Fix sign problem.
23721
23722 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
23723
23724 * util/grub-mkfont.c (usage): Fix typo.
23725
23726 * util/elf/grub-mkimage.c (load_modules): Fix warning.
23727
1806b56e 237282009-01-26 Daniel Mierswa <impulze@impulze.org>
23729
3fb18f09 23730 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
23731
336e1fb9 23732 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
23733
1806b56e 23734 * kern/misc.c (grub_strcasecmp): New function.
23735 (grub_strcasecmp): Use grub_size_t instead of int for length.
23736 Fix return value.
23737 * include/grub/misc.h: Update function prototypes.
23738
580b2a0f 237392009-01-26 Robert Millan <rmh@aybabtu.com>
23740
23741 * configure.ac: Fix cross-compilation check.
ef257b36 23742
d31c24f1 237432009-01-22 Christian Franke <franke@computer.org>
23744
23745 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
23746 (precision) digit string. Allow `.format2' without `format1' (width).
23747 Limit input chars for `%s' output to `format2' if specified. This is
23748 compatible with standard printf ().
23749
3138b44c 237502009-01-22 Christian Franke <franke@computer.org>
23751
23752 * disk/ata.c (grub_ata_wait_status): Replace by ...
23753 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
23754 other status bits may be invalid while BSY is asserted.
23755 (grub_ata_check_ready): New function.
23756 (grub_ata_cmd): Removed.
23757 (grub_ata_wait_drq): New function.
23758 (grub_ata_strncpy): Remove inline.
23759 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
23760 and error check now done by grub_ata_wait_drq ().
23761 (grub_ata_pio_write): Likewise.
23762 (grub_atapi_identify): Set DEV before check for !BSY. Use
23763 grub_ata_wait_drq () to wait for data.
23764 (grub_ata_device_initialize): Add status register check to
23765 detect missing SATA slave devices. Add debug messages.
23766 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
23767 (grub_atapi_packet): Set DEV before check for !BSY. Replace
23768 transfer loop by grub_ata_pio_write ().
23769 (grub_ata_identify): Set DEV before check for !BSY. Use
23770 grub_ata_wait_drq () to wait for data.
ef257b36 23771 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 23772 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
23773 read/write in one loop. Fix invalid command on write. Fix incomplete
23774 command on (size % batch) == 0. Add missing error check after write of
23775 last block. Add debug messages.
23776 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
23777
59a64ef6 237782009-01-19 Christian Franke <franke@computer.org>
23779
23780 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
23781 (GRUB_ATAPI_IREASON_*): Likewise.
23782 (grub_ata_pio_write): Fix timeout error return.
23783 (grub_atapi_identify): Add grub_ata_wait () after cmd.
23784 (grub_atapi_wait_drq): New function.
23785 (grub_atapi_packet): New parameter `size'.
23786 Use grub_atapi_wait_drq () and direct write instead of
23787 grub_ata_pio_write ().
23788 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
23789 reads the number of bytes requested by the device for each DRQ
23790 assertion.
23791 (grub_atapi_write): Remove old implementation, return not
23792 implemented instead.
23793
1cfe20b3 237942009-01-19 Christian Franke <franke@computer.org>
23795
23796 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
23797 of 512 to calculate data size.
23798 (grub_scsi_read12): Likewise.
23799 (grub_scsi_write10): Likewise.
23800 (grub_scsi_write12): Likewise.
23801 (grub_scsi_read): Adjust size according to blocksize.
23802 Add checks for invalid blocksize and unaligned transfer.
23803
bee5fe5d 238042009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
23805
23806 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
23807
ef257b36 23808 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 23809 width glyphs.
23810
3e643f8c 238112009-01-19 Robert Millan <rmh@aybabtu.com>
23812
23813 * config.guess: Update to latest version from config git.
23814 * config.sub: Likewise.
23815
4fa80998 238162009-01-17 Felix Zielcke <fzielcke@z-51.de>
23817
23818 * Makefile.in: Change font compilation to use new grub-mkfont instead
23819 of java version.
23820
23821 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
23822 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
23823 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
23824 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
23825 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
23826 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
23827 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
23828 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
23829 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
23830
7086085b 238312009-01-16 Christian Franke <franke@computer.org>
23832
23833 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
23834 (enum grub_ata_timeout_milliseconds): New enum.
23835 (grub_ata_wait_status): Add parameter milliseconds.
23836 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
23837 recovery from timed-out commands.
23838 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
23839 return grub_errno instead of REG_ERROR.
23840 (grub_ata_pio_write): Add parameter milliseconds.
23841 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
23842 Pass milliseconds to grub_ata_wait_status () and
23843 grub_ata_pio_read ().
23844 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
23845 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
23846 grub_ata_wait_status (). Fix IDENTIFY timeout check.
23847 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
23848 It is not suitable for device detection, because DEV bit is ignored,
23849 the command may run too long, and not all devices set the signature
23850 properly.
23851 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
23852 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
23853 Fix device selection, DEV bit must be set first to address the registers
23854 of the correct device.
23855 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
23856 grub_ata_pio_read/write ().
23857 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
23858 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
23859
4a412913 238602009-01-13 Carles Pina i Estany <carles@pina.cat>
23861
23862 * util/grub-editenv.c (main): Use fseeko(), not fseek().
23863
7795c55e 238642009-01-13 Bean <bean123ch@gmail.com>
d913988c 23865
23866 * util/grub-mkfont.c (write_font): forget to remove some debug code.
23867
7795c55e 238682009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 23869
23870 * Makefile.in: (enable_grub_mkfont): New variable.
23871 (freetype_cflags): Likewise.
23872 (freetype_libs): Likewise.
23873
23874 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
23875 (grub_mkfont_SOURCES): New variable.
23876 (grub_mkfont_CFLAGS): Likewise.
23877 (grub_mkfont_LDFLAGS): Likewise.
23878
23879 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
23880 library if `--enable-grub-mkfont' is requested.
23881 (enable_grub_mkfont): New variable.
23882 (freetype_cflags): Likewise.
23883 (freetype_libs): Likewise.
23884
23885 * util/grub-mkfont.c: New file.
23886
093af1fe 238872009-01-12 Christian Franke <franke@computer.org>
23888
23889 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
23890 mode check. Fix setting of compat_use[].
23891
f36cc108 238922009-01-10 Robert Millan <rmh@aybabtu.com>
23893
23894 Update a few copyright years which we forgot to do in 2008 (only for
23895 files whose changes made in 2008 were copyright-significant)
23896
23897 * Makefile.in: Add 2008 to Copyright line.
23898 * disk/ieee1275/ofdisk.c: Likewise.
23899 * disk/efi/efidisk.c: Likewise.
23900 * kern/dl.c: Likewise.
23901 * kern/sparc64/ieee1275/init.c: Likewise.
23902 * kern/mm.c: Likewise.
23903 * kern/efi/mm.c: Likewise.
23904 * boot/i386/pc/boot.S: Likewise.
23905 * genfslist.sh: Likewise.
23906 * fs/iso9660.c: Likewise.
23907 * fs/hfs.c: Likewise.
23908 * fs/jfs.c: Likewise.
23909 * fs/minix.c: Likewise.
23910 * fs/ufs.c: Likewise.
23911 * gensymlist.sh.in: Likewise.
23912 * genkernsyms.sh.in: Likewise.
23913 * include/grub/misc.h: Likewise.
23914 * include/grub/types.h: Likewise.
23915 * include/grub/symbol.h: Likewise.
23916 * include/grub/elf.h: Likewise.
23917 * include/grub/kernel.h: Likewise.
23918 * include/grub/disk.h: Likewise.
23919 * include/grub/dl.h: Likewise.
23920 * include/grub/i386/linux.h: Likewise.
23921 * include/grub/i386/pc/biosdisk.h: Likewise.
23922 * include/grub/efi/api.h: Likewise.
23923 * include/grub/efi/pe32.h: Likewise.
23924 * include/grub/util/misc.h: Likewise.
23925 * normal/execute.c: Likewise.
23926 * normal/arg.c: Likewise.
23927 * normal/completion.c: Likewise.
23928 * normal/lexer.c: Likewise.
23929 * normal/parser.y: Likewise.
23930 * normal/misc.c: Likewise.
23931 * commands/i386/pc/vbeinfo.c: Likewise.
23932 * commands/hexdump.c: Likewise.
23933 * commands/terminal.c: Likewise.
23934 * commands/ls.c: Likewise.
23935 * commands/help.c: Likewise.
23936 * partmap/pc.c: Likewise.
23937 * loader/efi/chainloader.c: Likewise.
23938 * loader/multiboot_loader.c: Likewise.
23939 * loader/i386/pc/multiboot2.c: Likewise.
23940 * term/efi/console.c: Likewise.
23941 * term/i386/pc/serial.c: Likewise.
23942 * util/lvm.c: Likewise.
23943 * util/console.c: Likewise.
23944 * util/i386/efi/grub-mkimage.c: Likewise.
23945 * util/raid.c: Likewise.
23946
7f02114b 239472009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
23948
23949 * commands/videotest.c: Removed include to grub/machine/memory.h.
23950
23951 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
23952 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
23953 (video_mod_SOURCES): Removed.
23954 (video_mod_CFLAGS): Likewise.
23955 (video_mod_LDFLAGS): Likewise.
23956 (gfxterm_mod_SOURCES): Likewise.
23957 (gfxterm_mod_CFLAGS): Likewise.
23958 (gfxterm_mod_LDFLAGS): Likewise.
23959 (videotest_mod_SOURCES): Likewise.
23960 (videotest_mod_CFLAGS): Likewise.
23961 (videotest_mod_LDFLAGS): Likewise.
23962 (bitmap_mod_SOURCES): Likewise.
23963 (bitmap_mod_CFLAGS): Likewise.
23964 (bitmap_mod_LDFLAGS): Likewise.
23965 (tga_mod_SOURCES): Likewise.
23966 (tga_mod_CFLAGS): Likewise.
23967 (tga_mod_LDFLAGS): Likewise.
23968 (jpeg_mod_SOURCES): Likewise.
23969 (jpeg_mod_CFLAGS): Likewise.
23970 (jpeg_mod_LDFLAGS): Likewise.
23971 (png_mod_SOURCES): Likewise.
23972 (png_mod_CFLAGS): Likewise.
23973 (png_mod_LDFLAGS): Likewise.
23974
23975 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
23976 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
23977 (video_mod_SOURCES): Added.
23978 (video_mod_CFLAGS): Likewise.
23979 (video_mod_LDFLAGS): Likewise.
23980 (videotest_mod_SOURCES): Likewise.
23981 (videotest_mod_CFLAGS): Likewise.
23982 (videotest_mod_LDFLAGS): Likewise.
23983 (bitmap_mod_SOURCES): Likewise.
23984 (bitmap_mod_CFLAGS): Likewise.
23985 (bitmap_mod_LDFLAGS): Likewise.
23986 (tga_mod_SOURCES): Likewise.
23987 (tga_mod_CFLAGS): Likewise.
23988 (tga_mod_LDFLAGS): Likewise.
23989 (jpeg_mod_SOURCES): Likewise.
23990 (jpeg_mod_CFLAGS): Likewise.
23991 (jpeg_mod_LDFLAGS): Likewise.
23992 (png_mod_SOURCES): Likewise.
23993 (png_mod_CFLAGS): Likewise.
23994 (png_mod_LDFLAGS): Likewise.
23995 (gfxterm_mod_SOURCES): Likewise.
23996 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 23997 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 23998
23999 * term/gfxterm.c: Removed include to grub/machine/memory.h,
24000 grub/machine/console.h.
24001
644fff97 240022009-01-04 Jerone Young <jerone@gmail.com>
24003
24004 Make on screen instructions clearer
24005
24006 Based on patch created by Jidanni <jidanni@jidanni.org>
24007
24008 * normal/menu.c: print clearer instructions on the screen
24009
1e901a75 240102009-01-02 Colin D Bennett <colin@gibibit.com>
24011
24012 New font engine.
34c44600 24013
1e901a75 24014 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
24015 build system and fixed gfxterm.c to work with different sized fonts.
24016
24017 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 24018
1e901a75 24019 * configure: Re-generated.
34c44600 24020
1e901a75 24021 * DISTLIST: Removed font/manager.c.
24022 Added font/font.c.
24023 Added font/font_cmd.c.
34c44600 24024
1e901a75 24025 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
24026 compilation.
34c44600 24027
1e901a75 24028 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 24029
24030 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 24031
24032 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 24033
1e901a75 24034 * normal/menu.c: Likewise.
34c44600 24035
1e901a75 24036 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
24037 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 24038
1e901a75 24039 * include/grub/font.h: Replaced with new file.
34c44600 24040
1e901a75 24041 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
24042 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
24043 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
24044 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
24045 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 24046 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 24047 fg_red, fg_green, fg_blue, fg_alpha.
24048 (grub_video_adapter): Removed blit_glyph.
34c44600 24049 (grub_video_blit_glyph): Removed.
24050
1e901a75 24051 * font/manager.c: Removed file.
34c44600 24052
24053 * font/font.c: New file.
24054
1e901a75 24055 * font/font_cmd.c: Likewise.
34c44600 24056
1e901a75 24057 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 24058
1e901a75 24059 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
24060 (grub_video_vbe_map_rgba): Likewise.
24061 (grub_video_vbe_unmap_color_int): Likewise.
24062 (grub_video_vbe_blit_glyph): Removed.
24063 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 24064
1e901a75 24065 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
24066 (get_pixel): Likewise.
34c44600 24067 (set_pixel): Likewise.
24068
1e901a75 24069 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 24070
1e901a75 24071 * term/gfxterm.c: Adapted to new font engine.
34c44600 24072
1e901a75 24073 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 24074
1e901a75 24075 * term/i386/pc/vga.c: Likewise.
34c44600 24076
1e901a75 24077 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 24078
1e901a75 24079 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 24080
1e901a75 24081 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 24082
1e901a75 24083 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 24084
1e901a75 24085 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 24086
1e901a75 24087 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 24088
1e901a75 24089 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 24090
1e901a75 24091 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 24092
1e901a75 24093 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
24094
24095 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 24096
1e901a75 24097 * util/grub-mkconfig_lib.in: Changed font extension.
24098
278922e8 240992008-12-28 Felix Zielcke <fzielcke@z-51.de>
24100
24101 * util/getroot.c (grub_util_get_grub_dev): Add support for
24102 /dev/md/dNNpNN style partitionable mdraid devices.
24103
3ced05cf 241042008-12-12 Alex Smith <alex@alex-smith.me.uk>
24105
24106 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
24107 at a time limit of the PXE TFTP API correctly.
24108 (grub_pxefs_close): Likewise.
24109
7fd0ee30 241102008-11-29 Robert Millan <rmh@aybabtu.com>
24111
34c44600 24112 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 24113 grub_ata_device_initialize() calls.
24114
34c44600 241152008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 24116
24117 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
24118 iteration failed.
24119 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
24120
89313780 241212008-11-28 Robert Millan <rmh@aybabtu.com>
24122
24123 Fix build on powerpc-ieee1275. Based on patch created by
24124 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
24125 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
24126 `kern/ieee1275/mmap.c'.
24127 * include/grub/powerpc/ieee1275/memory.h: New file.
24128
15257703 24129 Provide grub-install on coreboot.
24130 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
24131 (grub_install_SOURCES): New variable.
24132 * util/i386/pc/grub-install.in: Add a few condition checks to make it
24133 usable on coreboot.
24134
9fc5388a 241352008-11-25 Felix Zielcke <fzielcke@z-51.de>
24136
24137 * util/grub-fstest.c (grub_term_get_current_input): Change return type
24138 to `grub_term_input_t'.
24139 (grub_term_get_current_output): Change return type to
24140 `grub_term_output_t'.
24141
bc3a2f31 241422008-11-22 Robert Millan <rmh@aybabtu.com>
24143
34c44600 24144 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 24145 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
24146 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
24147 grub_vga_text_cls().
24148
80fc88f2 24149 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 24150 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 24151
cbf36fd3 24152 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
24153 to 0x200000 (avoids trouble with some OFW implementations, and matches
24154 with the one in Yaboot).
24155 Reported by Manoel Abranches
24156
73e8e268 241572008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 24158
24159 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
24160 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
24161
73e8e268 24162 * util/grub-mkconfig_lib.in (grub_warn): New function.
24163 (convert_system_path_to_grub_path): Use grub_warn() when issuing
24164 warnings, to obtain consistent formatting.
24165 * util/grub.d/00_header.in: Likewise.
24166 * util/update-grub_lib.in: Likewise.
24167
e94045a1 24168 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 24169 Move comment text to `#error' stanza.
e94045a1 24170
79d29fd7 24171 Harmonize ieee1275's grub_available_iterate() with the generic
24172 grub_machine_mmap_iterate() interface (fixes a recently-introduced
24173 build problem on i386-ieee1275):
24174 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
24175 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
24176 parameter `type'. Update all users of this function.
24177 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
24178 `kern/ieee1275/mmap.c'.
24179 * kern/ieee1275/init.c
24180 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
24181 with ...
24182 (grub_machine_mmap_iterate): ... this.
24183 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
24184 return type to `grub_err_t'. Update all implementations of this
24185 function prototype.
24186 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
24187 Likewise.
24188
60d6b16e 24189 Add `lsmmap' command (lists firmware-provided memory map):
24190 * commands/lsmmap.c: New file.
24191 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
24192 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
24193 variables.
24194 * conf/powerpc-ieee1275.rmk: Likewise.
24195 * conf/i386-coreboot.rmk: Likewise.
24196 * conf/i386-ieee1275.rmk: Likewise.
24197
ebaaf49b 241982008-11-19 Robert Millan <rmh@aybabtu.com>
24199
24200 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 24201 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
24202 constraints to initrd allocation (based on code from
24203 loader/i386/pc/linux.c). Without them, initrd was allocated too high
24204 for Linux to find it.
ebaaf49b 24205
dfab719f 242062008-11-14 Robert Millan <rmh@aybabtu.com>
24207
24208 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
24209 order to cope with duplicate slashes.
24210
10fc3eb9 242112008-11-14 Robert Millan <rmh@aybabtu.com>
24212
24213 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
24214 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
24215 don't want to mess with lower memory, because it is used in the Linux
24216 loader.
24217
24218 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 24219 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 24220 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
24221 is in our heap (probably as a result of it being corrupted during
2f2a3442 24222 decompression). Add #error instance with comment to explain why this
24223 loader isn't currently usable on PC/BIOS.
10fc3eb9 24224
e2e07847 242252008-11-14 Robert Millan <rmh@aybabtu.com>
24226
24227 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 24228 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 24229
fe8e8d69 242302008-11-12 Robert Millan <rmh@aybabtu.com>
24231
24232 Make loader/i386/linux.c buildable on i386-pc (although disabled).
24233
24234 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
24235 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
24236 from here ...
24237 * include/grub/i386/pc/memory.h: ... to here.
24238
976b07d0 242392008-11-12 Robert Millan <rmh@aybabtu.com>
24240
24241 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
24242 split).
24243
24244 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
24245 (grub_console_cur_color, grub_console_real_putchar)
24246 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
24247 (grub_console_setcolorstate, grub_console_setcolor)
24248 (grub_console_getcolor): Move from here ...
24249 * include/grub/i386/vga_common.h: ... to here (new file).
24250
24251 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
24252 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
24253 `<grub/i386/io.h>'.
24254 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
24255 `<grub/i386/vga_common.h>'.
24256
76679cd3 242572008-11-12 Robert Millan <rmh@aybabtu.com>
24258
24259 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
24260 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
24261 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
24262 variables.
24263 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
24264 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
24265
24266 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
24267 grub_console_init() with call to grub_vga_text_init().
24268 (grub_machine_fini): Replace call to
24269 grub_console_fini() with call to grub_vga_text_fini() and
24270 grub_at_keyboard_fini().
24271
24272 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
24273 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
24274 (grub_console_setcolorstate, grub_console_setcolor)
24275 (grub_console_getcolor): New function prototypes.
24276
24277 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
24278 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
24279 (grub_vga_text_setcursor): Static-ize.
24280 (grub_vga_text_term): New structure.
24281 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
24282
24283 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
24284 (grub_console_cur_color, grub_console_standard_color)
24285 (grub_console_normal_color, grub_console_highlight_color)
24286 (map_char, grub_console_putchar, grub_console_getcharwidth)
24287 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
24288 (grub_console_getcolor): Move from here ...
24289 * term/i386/vga_common.c: ... to here (same function names).
24290
95b841d3 242912008-11-12 Robert Millan <rmh@aybabtu.com>
24292
24293 Use newly-added Multiboot support in coreboot.
24294
24295 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
24296 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
24297
24298 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
24299 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
24300 (codestart): Store the MBI in `startup_multiboot_info' when we're
24301 being loaded using Multiboot.
24302
24303 * kern/i386/coreboot/init.c (grub_machine_init): Move
24304 grub_at_keyboard_init() call to beginning of function (useful for
24305 debugging). Call grub_machine_mmap_init() before attempting to use
24306 grub_machine_mmap_iterate().
24307 (grub_lower_mem, grub_upper_mem): Move from here ...
24308 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
24309 here (new file).
24310
24311 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
24312 function prototype.
24313
761ca975 243142008-11-12 Robert Millan <rmh@aybabtu.com>
24315
24316 Fix a regression introduced by the at_keyboard.mod split. Because
24317 some terminals are default on some platforms and non-default on
24318 others, the first terminal being registered determines which is
24319 going to be default.
24320
24321 * kern/term.c (grub_term_register_input): If this is the first
24322 terminal being registered, set it as the current one.
24323 (grub_term_register_output): Likewise.
24324
24325 * term/efi/console.c (grub_console_init): Do not call
24326 grub_term_set_current_output() or grub_term_set_current_input().
24327 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
24328 * term/i386/pc/console.c (grub_console_init): Likewise.
24329 (grub_console_fini): Do not call grub_term_set_current_input()
24330 (but leave grub_term_set_current_output() to restore text mode).
24331
6c529df7 243322008-11-10 Robert Millan <rmh@aybabtu.com>
24333
24334 * util/grub.d/00_header.in: Add backward compatibility check for
24335 versions of terminal.mod that don't understand `terminal_input' or
24336 `terminal_output'.
24337
132e4113 243382008-11-09 Robert Millan <rmh@aybabtu.com>
24339
24340 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
24341 `terminal_input' / `terminal_output', not `terminal'.
24342
ac293d50 243432008-11-08 Robert Millan <rmh@aybabtu.com>
24344
24345 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 24346 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 24347
0025933a 243482008-11-08 Robert Millan <rmh@aybabtu.com>
24349
24350 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 24351 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 24352 members. Update all users.
24353 * util/console.c (grub_ncurses_term): Split in ...
24354 (grub_ncurses_term_input): ... this, and ...
24355 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 24356 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 24357
37c86336 243582008-11-08 Robert Millan <rmh@aybabtu.com>
24359
24360 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
24361 (PKGDATA): Add $(pkgdata_SRCDIR).
24362 (pkglib_BUILDDIR): New variable.
24363 (pkgdata_SRCDIR): New variable.
24364 (build_env.mk): New target.
24365 (include_DATA): New variable.
24366 (install-local): Install $(include_DATA) files in $(includedir).
24367
b6c15a2d 243682008-11-07 Pavel Roskin <proski@gnu.org>
24369
d99d46f1 24370 * gendistlist.sh: Use C locale for sorting to ensure consistent
24371 output on all systems.
24372
b6c15a2d 24373 * util/grub.d/00_header.in: Remove incorrect space before
24374 "serial".
24375
c32ee8c9 243762008-11-07 Robert Millan <rmh@aybabtu.com>
24377
24378 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
24379 per specification.
24380 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
24381 * loader/multiboot_loader.c (find_multi_boot2_header): New function
24382 (based on find_multi_boot1_header).
24383 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
24384 using find_multi_boot2_header(), and abort if neither Multiboot or
24385 Multiboot headers were found.
24386
651c29b7 243872008-11-07 Robert Millan <rmh@aybabtu.com>
24388
24389 Modularize at_keyboard.mod:
24390
24391 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
24392 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
24393 (at_keyboard_mod_LDFLAGS): New variables.
24394
24395 Actual terminal split:
24396
24397 * include/grub/term.h (struct grub_term): Split in ...
24398 (struct grub_term_input): ... this, and ...
24399 (struct grub_term_output): ... this. Update all users.
24400 (grub_term_set_current): Split in ...
24401 (grub_term_set_current_input): ... this, and ...
24402 (grub_term_set_current_output): ... this.
24403 (grub_term_get_current): Split in ...
24404 (grub_term_get_current_input): ... this, and ...
24405 (grub_term_get_current_output): ... this.
24406 (grub_term_register): Split in ...
24407 (grub_term_register_input): ... this, and ...
24408 (grub_term_register_output): ... this.
24409 (grub_term_unregister): Split in ...
24410 (grub_term_unregister_input): ... this, and ...
24411 (grub_term_unregister_output): ... this.
24412 (grub_term_iterate): Split in ...
24413 (grub_term_iterate_input): ... this, and ...
24414 (grub_term_iterate_output): ... this.
24415
24416 * kern/term.c (grub_term_list): Split in ...
24417 (grub_term_list_input): ... this, and ...
24418 (grub_term_list_output): ... this. Update all users.
24419 (grub_cur_term): Split in ...
24420 (grub_cur_term_input): ... this, and ...
24421 (grub_cur_term_output): ... this. Update all users.
24422 (grub_term_set_current): Split in ...
24423 (grub_term_set_current_input): ... this, and ...
24424 (grub_term_set_current_output): ... this.
24425 (grub_term_get_current): Split in ...
24426 (grub_term_get_current_input): ... this, and ...
24427 (grub_term_get_current_output): ... this.
24428 (grub_term_register): Split in ...
24429 (grub_term_register_input): ... this, and ...
24430 (grub_term_register_output): ... this.
24431 (grub_term_unregister): Split in ...
24432 (grub_term_unregister_input): ... this, and ...
24433 (grub_term_unregister_output): ... this.
24434 (grub_term_iterate): Split in ...
24435 (grub_term_iterate_input): ... this, and ...
24436 (grub_term_iterate_output): ... this.
24437
24438 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
24439 a check for input and one for output (and only attempt to get keys
24440 from user when input works).
24441
24442 * util/grub-probe.c (grub_term_get_current): Split in ...
24443 (grub_term_get_current_input): ... this, and ...
24444 (grub_term_get_current_output): ... this.
24445 * util/grub-fstest.c: Likewise.
24446 * util/i386/pc/grub-setup.c: Likewise.
24447 * util/grub-editenv.c: Likewise.
24448
24449 Portability adjustments:
24450
24451 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
24452 `term/i386/pc/at_keyboard.c'.
24453 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
24454 grub_keyboard_controller_init() (now handled by terminal .init).
24455 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
24456 grub_at_keyboard_init().
24457 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
24458 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
24459 at_keyboard.mod via input terminal interface).
24460 * include/grub/i386/coreboot/console.h: Convert into a stub for
24461 `<grub/i386/pc/console.h>'.
24462
24463 Migrate full terminals to new API:
24464
24465 * term/efi/console.c (grub_console_term): Split into ...
24466 (grub_console_term_input): ... this, and ...
24467 (grub_console_term_output): ... this. Update all users.
24468 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
24469 (grub_ofconsole_init): Split into ...
24470 (grub_ofconsole_init_input): ... this, and ...
24471 (grub_ofconsole_init_output): ... this.
24472 (grub_ofconsole_term): Split into ...
24473 (grub_ofconsole_term_input): ... this, and ...
24474 (grub_ofconsole_term_output): ... this. Update all users.
24475 * term/i386/pc/serial.c (grub_serial_term): Split into ...
24476 (grub_serial_term_input): ... this, and ...
24477 (grub_serial_term_output): ... this. Update all users.
24478 * term/i386/pc/console.c (grub_console_term): Split into ...
24479 (grub_console_term_input): ... this, and ...
24480 (grub_console_term_output): ... this. Update all users.
24481 (grub_console_term_input): Only enable it on PC/BIOS platform.
24482 (grub_console_init): Remove grub_keyboard_controller_init() call.
24483
24484 Migrate input terminals to new API:
24485
24486 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
24487 `i386' and `i386/pc' to enable build on x86_64 (this driver is
24488 i386-specific anyway).
24489 (grub_console_checkkey): Rename to ...
24490 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
24491 users.
24492 (grub_keyboard_controller_orig): New variable.
24493 (grub_console_getkey): Rename to ...
24494 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
24495 users.
24496 (grub_keyboard_controller_init): Static-ize. Save original
24497 controller value so that it can be restored ...
24498 (grub_keyboard_controller_fini): ... here (new function).
24499 (grub_at_keyboard_term): New structure.
24500 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
24501 functions.
24502
24503 Migrate output terminals to new API:
24504
24505 * term/i386/pc/vga.c (grub_vga_term): Change type to
24506 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
24507 members. Update all users.
24508 * term/gfxterm.c (grub_video_term): Change type to
24509 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
24510 members. Update all users.
24511 * include/grub/i386/pc/console.h (grub_console_checkkey)
24512 (grub_console_getkey): Do not export (no longer needed by gfxterm,
24513 etc).
24514
24515 Migrate `terminal' command and userland tools to new API:
24516
24517 * commands/terminal.c (grub_cmd_terminal): Split into ...
24518 (grub_cmd_terminal_input): ... this, and ...
24519 (grub_cmd_terminal_output): ... this.
24520 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
24521 `terminal_input' and `terminal_output'.
24522 * util/grub.d/00_header.in: Adjust `terminal' calls to new
24523 `terminal_input' / `terminal_output' API.
24524 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
24525 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
24526 provided ${GRUB_TERMINAL}, convert it).
24527
96e5d876 245282008-11-04 Robert Millan <rmh@aybabtu.com>
24529
24530 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
24531 for FreeBSD.
24532 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
24533
556f3775 245342008-11-03 Bean <bean123ch@gmail.com>
24535
24536 * kern/elf.c (grub_elf32_load): Revert to previous code.
24537 (grub_elf64_load): Likewise.
24538
24539 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
24540
926b9823 245412008-11-01 Robert Millan <rmh@aybabtu.com>
24542
24543 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
24544 (TARGET_CPPFLAGS): Likewise.
24545 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
24546
1432e958 245472008-11-01 Carles Pina i Estany <carles@pina.cat>
24548
24549 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
24550
dba3f844 245512008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 24552
24553 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
24554 addition of objects until the code is not going to be able to fail.
24555
dba3f844 245562008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 24557
24558 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
24559 (add a missing NULL check, and correct them by moving the pointer
24560 operations after the actual check).
24561
7ab28c21 245622008-10-29 Robert Millan <rmh@aybabtu.com>
24563
24564 * util/i386/pc/grub-install.in: Handle empty string as output from
24565 make_system_path_relative_to_its_root().
24566
1b7748eb 245672008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
24568
24569 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
24570 circular metadata worst case scenario. If the metadata is circular
24571 then copy the wrap in place.
24572 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
24573 project lib/format_text/layout.h
24574 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
24575
c9618ab2 245762008-10-03 Felix Zielcke <fzielcke@z-51.de>
24577
7a36edca 24578 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 24579
bf981c62 245802008-10-03 Felix Zielcke <fzielcke@z-51.de>
24581
24582 * util/update-grub_lib.in: Mention filename in warning message.
24583
6d994591 245842008-09-29 Felix Zielcke <fzielcke@z-51.de>
24585
24586 * NEWS: Update for rename of update-grub to grub-mkconfig.
24587
18ade780 245882008-09-29 Felix Zielcke <fzielcke@z-51.de>
24589
24590 * util/update-grub_lib.in: Copy to ...
24591 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 24592 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 24593 * util/update-grub.in: Rename to ...
24594 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
24595 option. Add `--output' option to allow users to specify the generated
24596 configuration file. Default to stdout.
24597 (update_grub_dir): Rename to ...
24598 (grub_mkconfig_dir): ... this.
24599 (grub_cfg): Default to an empty string.
24600 * conf/common.rmk (update-grub): Rename to ...
24601 (grub-mkconfig): ... this.
24602 (update-grub_lib): Copy to ...
24603 (grub-mkconfig_lib): ... this.
24604 (update-grub_SCRIPTS): Copy to ...
24605 (grub-mkconfig_SCRIPTS): ... this. Update all users.
24606 (update-grub_DATA): Rename to ...
24607 (grub-mkconfig_DATA): ... this.
24608
556ce6ac 246092008-09-28 Robert Millan <rmh@aybabtu.com>
24610
24611 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
24612 to `modified'. Add the real `created' field.
24613 (grub_iso9660_uuid): Use `modified' rather than `created' for
24614 constructing the UUID.
24615
246162008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 24617
24618 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
24619 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
24620
92274e85 246212008-09-28 Bean <bean123ch@gmail.com>
24622
24623 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
24624 Thanks to Christian Franke for finding this bug.
24625
add6f17a 246262008-09-25 Robert Millan <rmh@aybabtu.com>
24627
24628 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
24629 instances of grub_util_get_disk_name() (see previous commit).
24630
d2a367b8 246312008-09-25 Robert Millan <rmh@aybabtu.com>
24632
24633 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
24634 `util/i386/get_disk_name.c'.
24635 * conf/i386-efi.rmk: Likewise.
24636 * conf/x86_64-efi.rmk: Likewise.
24637 * conf/i386-coreboot.rmk: Likewise.
24638 * conf/i386-ieee1275.rmk: Likewise.
24639 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
24640 `util/ieee1275/get_disk_name.c'.
24641 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
24642 * util/ieee1275/get_disk_name.c: Remove file.
24643 * util/i386/get_disk_name.c: Remove file.
24644 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
24645 "hd%d" for device.map entries, rather than using
24646 grub_util_get_disk_name().
24647
81a06771 246482008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 24649
24650 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
24651 warning.
24652 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
24653
5a004279 246542008-09-24 Carles Pina i Estany <carles@pina.cat>
24655
24656 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
24657 Changed to 0x5100.
24658 (GRUB_TERM_PPAGE): Changed to 0x4900.
24659
397093d3 246602008-09-24 Robert Millan <rmh@aybabtu.com>
24661
24662 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
24663 macros (they were i386-pc specific).
24664 * include/grub/sparc64/ieee1275/console.h: Likewise.
24665 * include/grub/efi/console.h: Likewise.
24666
a91b6c7c 246672008-09-22 Bean <bean123ch@gmail.com>
24668
24669 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
24670 resident and in attribute list.
24671
24672 * include/grub/ntfs.h (BMP_LEN): Removed.
24673
c40fd116 246742008-09-22 Bean <bean123ch@gmail.com>
24675
81a06771 24676 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 24677 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
24678
24679 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
24680 error occurs, as grub_disk_open will call grub_disk_close, which will
24681 call p->close (scsi).
24682
81a06771 246832008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 24684
24685 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
24686 (AC_PREREQ): Bumped to 2.59.
24687 (AC_TRY_COMPILE): Replace obsolete macro with ...
24688 (AC_COMPILE_IFELSE): ... this.
24689 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
24690 (AC_LINK_IFELSE): ... this.
24691
5dc43410 246922008-09-21 Felix Zielcke <fzielcke@z-51.de>
24693
24694 * autogen.sh: Add a call to `gendistlist.sh'.
24695
9035dce4 246962008-09-19 Christian Franke <franke@computer.org>
24697
24698 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
24699 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
24700 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
24701 Export __enable_execute_stack() to modules.
24702 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
24703 New function.
24704
7fd75377 247052008-09-09 Felix Zielcke <fzielcke@z-51.de>
24706
040030b3 24707 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
24708 Sort the list.
24709
247102008-09-09 Felix Zielcke <fzielcke@z-51.de>
24711
24712 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 24713 #include <grub/util/hostdisk.h>.
24714
89d5ffcf 247152008-09-08 Robert Millan <rmh@aybabtu.com>
24716
24717 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
24718 segments when their filesz is zero (grub_file_read() interprets
81a06771 24719 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 24720 Use `lowest_segment' rather than 0 for calculating the current
24721 segment load address.
24722
40da438f 247232008-09-08 Robert Millan <rmh@aybabtu.com>
24724
24725 * util/hostdisk.c (open_device): Replace a grub_util_info() call
24726 with grub_dprintf("hostdisk", ...), as it was so verbose that it
24727 clobbered useful information.
24728
ddbf5556 247292008-09-08 Robert Millan <rmh@aybabtu.com>
24730
24731 * include/grub/util/biosdisk.h: Move to ...
24732 * include/grub/util/hostdisk.h: ... here. Update all users.
24733 * util/biosdisk.c: Move to ...
24734 * util/hostdisk.c: ... here. Update all users.
24735
783d0f48 247362008-09-07 Robert Millan <rmh@aybabtu.com>
24737
24738 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
24739 variables.
24740 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
24741 and length can be stored directly in the `mbi->mmap_addr' and
24742 `mbi->mmap_length' struct fields.
24743
548e2ea5 247442008-09-07 Robert Millan <rmh@aybabtu.com>
24745
24746 * conf/i386.rmk: New file. Provides declaration for building
24747 `cpuid.mod'.
24748 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
24749 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
24750 variables.
24751 Include `conf/i386.mk'.
24752 * conf/i386-efi.rmk: Likewise.
24753 * conf/x86_64-efi.rmk: Likewise.
24754 * conf/i386-coreboot.rmk: Likewise.
24755 * conf/i386-ieee1275.rmk: Likewise.
24756
0ea85a37 247572008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
24758
24759 Based on patch created by Colin D Bennett <colin@gibibit.com>.
24760 Adds optimization support for BGR based modes.
24761
24762 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
24763 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
24764 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
24765 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
24766 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
24767 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
24768 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
24769 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
24770 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
24771 (grub_video_i386_vbeblit_index_index): Likewise.
24772 (grub_video_i386_vbeblit_replace_directN): Added.
24773 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
24774 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
24775 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
24776 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
24777 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
24778 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 24779 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 24780 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
24781 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
24782 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
24783 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
24784 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
24785 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
24786
24787 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
24788 (grub_video_i386_vbefill_R8G8B8): Likewise.
24789 (grub_video_i386_vbefill_index): Likewise.
24790 (grub_video_i386_vbefill_direct32): Added.
24791 (grub_video_i386_vbefill_direct24): Likewise.
24792 (grub_video_i386_vbefill_direct16): Likewise.
24793 (grub_video_i386_vbefill_direct8): Likewise.
24794
81a06771 24795 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 24796 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
24797 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
24798 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
24799 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
24800 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 24801
0ea85a37 24802 * video/video.c (grub_video_get_blit_format): Updated to use new
24803 blit formats. Added handling for 16 bit color modes.
81a06771 24804
24805 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 24806 fillers.
24807 (common_blitter): Updated to use new blitters.
24808
24809 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
24810 Removed.
24811 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
24812 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
24813 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
24814 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
24815 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
24816 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
24817 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
24818 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
24819 (grub_video_i386_vbeblit_index_index): Likewise.
24820 (grub_video_i386_vbeblit_replace_directN): Added.
24821 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
24822 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
24823 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
24824 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
24825 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
24826 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
24827 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
24828 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
24829 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
24830 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
24831 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
24832 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
24833 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 24834
0ea85a37 24835 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
24836 (grub_video_i386_vbefill_R8G8B8): Likewise.
24837 (grub_video_i386_vbefill_index): Likewise.
24838 (grub_video_i386_vbefill_direct32): Added.
24839 (grub_video_i386_vbefill_direct24): Likewise.
24840 (grub_video_i386_vbefill_direct16): Likewise.
24841 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 24842
0ea85a37 24843 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
24844 types.
81a06771 24845
0ea85a37 24846 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
24847 types.
81a06771 24848
0ea85a37 24849 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
24850 blitter types.
81a06771 24851
0ea85a37 24852 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
24853 types.
24854
e8a83df6 248552008-09-06 Felix Zielcke <fzielcke@z-51.de>
24856
24857 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
24858 RAID level 1.
24859
6bcd8ee5 248602008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 24861
6bcd8ee5 24862 * fs/iso9660.c (grub_iso9660_date): New structure.
24863 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
24864 (grub_iso9660_uuid): New function.
c375ae58 24865
59261157 248662008-09-05 Bean <bean123ch@gmail.com>
24867
24868 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
24869
24870 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
24871 insensitive bit for names in Win32 and Win32 & DOS namespace.
24872
24873 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
24874
24875 * include/grub/types.h (LONG_MAX): Likewise.
24876
58b6645a 248772008-09-04 Felix Zielcke <fzielcke@z-51.de>
24878
4ee55921 24879 * util/getroot.c: Include <config.h>.
24880 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
24881 add support for /dev/md/N devices and handle LVM double dash escaping.
24882
248832008-09-04 Felix Zielcke <fzielcke@z-51.de>
24884
24885 * config.guess: Update to latest version from config git.
24886 * config.sub: Likewise.
58b6645a 24887
9124f65d 248882008-09-03 Robert Millan <rmh@aybabtu.com>
24889
24890 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
24891 `disk->total_sectors'.
24892
81a06771 248932008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 24894
24895 * include/grub/normal.h: Fixed incorrect comment for
24896 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
24897
81a06771 248982008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 24899
24900 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
24901 values with defines.
24902
24903 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
24904 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
24905 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
24906 (GRUB_VBE_MODEATTR_COLOR): Likewise.
24907 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
24908 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
24909 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
24910 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
24911 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
24912 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
24913 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
24914 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
24915 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
24916 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
24917 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
24918 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
24919 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
24920 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
24921 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
24922
93d5cbf8 249232008-08-31 Robert Millan <rmh@aybabtu.com>
24924
24925 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
24926 declaration.
24927 (grub_multiboot): Fix a few warnings.
24928
21751d50 249292008-08-31 Robert Millan <rmh@aybabtu.com>
24930
24931 * loader/i386/pc/multiboot.c: Update comment not to say that
24932 boot_device support is unimplemented.
24933
e27a75c5 249342008-08-31 Robert Millan <rmh@aybabtu.com>
24935
24936 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
24937 or memory map support are unimplemented.
24938
81a06771 249392008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 24940
24941 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
24942
81a06771 249432008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 24944
24945 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
24946 total video memory in 'vbeinfo' output; show color format details for
24947 each video mode.
24948
7c5d8d95 249492008-08-30 Pavel Roskin <proski@gnu.org>
24950
24951 * util/genmoddep.c: Remove for real this time.
24952 * DISTLIST: Remove util/genmoddep.c.
24953
4cebd25a 249542008-08-30 Robert Millan <rmh@aybabtu.com>
24955
24956 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
24957 as required by Multiboot spec (it was already 4-byte aligned, but
24958 only by chance).
24959
b497a269 249602008-08-29 Pavel Roskin <proski@gnu.org>
24961
e3925185 24962 * kern/powerpc/ieee1275/crt0.S: Rename to ...
24963 * kern/powerpc/ieee1275/startup.S: ... this.
24964 * conf/powerpc-ieee1275.rmk: Adjust for the above.
24965 * DISTLIST: Likewise.
24966
b497a269 24967 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
24968 grub/cpu/kernel.h. Add start label for consistency with other
24969 platforms. Add grub_prefix immediately after start. Add jump
24970 to the code after grub_prefix.
24971 * include/grub/powerpc/kernel.h: Provide valid values for
24972 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
24973
6e5a42fe 249742008-08-29 Bean <bean123ch@gmail.com>
24975
24976 * configure.ac: Change host_os to cygwin for mingw.
24977 (asprintf): New check for function.
24978
24979 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
24980 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
24981
24982 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 24983 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 24984 sync, sleep and grub_util_get_disk_size for mingw.
24985
24986 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
24987 to get size in mingw.
24988 (open_device): Use flag O_BINARY if it's defined.
24989 (find_root_device): Add dummy code for mingw.
24990
24991 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
24992 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
24993 (get_scsi_disk_name): Return 0 for mingw.
24994
24995 * util/hostfs.c: #include <grub/util/misc.h>.
24996 (grub_hostfs_open): Use "rb" flag to open file, use
24997 grub_util_get_disk_size to get disk size for mingw.
24998
24999 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
25000 (asprintf): New function if HAVE_ASPRINTF is not set.
25001 (sync): New function for mingw.
25002 (sleep): Likewise.
25003 (grub_util_get_disk_size): Likewise.
25004
ab3f2673 250052008-08-28 Pavel Roskin <proski@gnu.org>
25006
25007 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
25008 kern/time.c.
25009
1c282483 250102008-08-28 Robert Millan <rmh@aybabtu.com>
25011
25012 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
25013
678e849c 250142008-08-28 Robert Millan <rmh@aybabtu.com>
25015
25016 Change find_grub_drive() syntax so it doesn't prevent it from
25017 detecting NULL names as errors.
25018
25019 * util/biosdisk.c (find_grub_drive): Move free slot search code
25020 from here ...
25021 (find_free_slot): ... to here.
25022 (read_device_map): Use find_free_slot() to search for free slots.
25023
965c75ca 250242008-08-27 Marco Gerards <marco@gnu.org>
25025
25026 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
25027 (scsi_mod_SOURCES): New variable.
25028 (scsi_mod_CFLAGS): Likewise
25029 (scsi_mod_LDFLAGS): Likewise.
25030
25031 * disk/scsi.c: New file.
25032
25033 * include/grub/scsi.h: Likewise.
25034
25035 * include/grub/scsicmd.h: Likewise.
25036
25037 * disk/ata.c: Include <grub/scsi.h>.
25038 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
25039 instead.
25040 (grub_ata_iterate): Skip ATAPI devices.
25041 (grub_ata_open): Only handle ATAPI devices.
25042 (struct grub_atapi_read): Removed.
25043 (grub_atapi_readsector): Likewise.
25044 (grub_ata_read): No longer handle ATAPI devices.
25045 (grub_ata_write): Likewise.
25046 (grub_atapi_iterate): New function.
25047 (grub_atapi_read): Likewise.
25048 (grub_atapi_write): Likewise.
25049 (grub_atapi_open): Likewise.
25050 (grub_atapi_close): Likewise.
25051 (grub_atapi_dev): New variable.
25052 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
25053 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
25054
25055 * include/grub/disk.h (enum grub_disk_dev_id): Add
25056 `GRUB_DISK_DEVICE_SCSI_ID'.
25057
c07ae501 250582008-08-26 Robert Millan <rmh@aybabtu.com>
25059
25060 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
25061 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
25062 descriptive.
25063
5ed20adc 250642008-08-23 Bean <bean123ch@gmail.com>
25065
25066 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
25067 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
25068 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
25069 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
25070 dm_nv.mod.
25071 (raid5rec_mod_SOURCES): New macro.
25072 (raid5rec_mod_CFLAGS): Likewise.
25073 (raid5rec_mod_LDFLAGS): Likewise.
25074 (raid6rec_mod_SOURCES): Likewise.
25075 (raid6rec_mod_CFLAGS): Likewise.
25076 (raid6rec_mod_LDFLAGS): Likewise.
25077 (mdraid_mod_SOURCES): Likewise.
25078 (mdraid_mod_CFLAGS): Likewise.
25079 (mdraid_mod_LDFLAGS): Likewise.
25080 (dm_nv_mod_SOURCES): Likewise.
25081 (dm_nv_mod_CFLAGS): Likewise.
25082 (dm_nv_mod_LDFLAGS): Likewise.
25083
25084 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
25085 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
25086 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
25087
25088 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
25089 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
25090
25091 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
25092
25093 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
25094
25095 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25096
25097 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25098
25099 * disk/raid5_recover.c: New file.
25100
25101 * disk/raid6_recover.c: Likewise.
25102
25103 * disk/mdraid_linux.c: Likewise.
25104
25105 * disk/dmraid_nvidia.c: Likewise.
25106
25107 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
25108 ULONG_MAX.
25109
25110 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
25111 calculate the size of raid device.
25112 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
25113 different layout of raid5.
25114 (grub_raid_scan_device): Remove code specific to mdraid.
25115 (grub_raid_list): New variable.
25116 (free_array): New function.
25117 (grub_raid_register): Likewise.
25118 (grub_raid_unregister): Likewise.
25119 (grub_raid_rescan): Likewise.
25120 (GRUB_MOD_INIT): Don't iterate device here.
25121 (GRUB_MOD_FINI): Use free_array to release resource.
25122
25123 * include/grub/raid.h: Remove macro and structure specific to mdraid.
25124 (grub_raid5_recover_func_t): New function variable type.
25125 (grub_raid6_recover_func_t): Likewise.
25126 (grub_raid5_recover_func): New variable.
25127 (grub_raid6_recover_func): Likewise.
25128 (grub_raid_register): New function.
25129 (grub_raid_unregister): Likewise.
25130 (grub_raid_rescan): Likewise.
25131 (grub_raid_block_xor): Likewise.
25132
25133 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
25134 (CMD_CRC): New macro.
25135 (part): Removed.
25136 (read_file): Handle device as well as file.
25137 (cmd_crc): New function.
25138 (fstest): Handle multiple disks.
25139 (options): Remove part, raw and long, add root and diskcount.
25140 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 25141 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 25142 add handling for the new options, support multiple disks.
25143
25144 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
25145
29c18915 251462008-08-23 Bean <bean123ch@gmail.com>
25147
25148 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
25149
25150 * genfslist.sh: Ignore kernel.mod.
25151
25152 * genpartmaplist.sh: Likewise.
25153
8415f261 251542008-08-23 Robert Millan <rmh@aybabtu.com>
25155
25156 * util/getroot.c (find_root_device): Skip anything that starts with
25157 a dot, not just directories. This avoids things like /dev/.tmp.md0.
25158
d5a7dc5b 251592008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 25160
d5a7dc5b 25161 * util/update-grub.in (GRUB_GFXMODE): Export variable.
25162 * util/grub.d/00_header.in: Allow the administrator to change default
25163 gfxmode via ${GRUB_GFXMODE}.
25164
380cfbb4 251652008-08-21 Felix Zielcke <fzielcke@z-51.de>
25166
25167 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
25168
c9baafe7 251692008-08-21 Robert Millan <rmh@aybabtu.com>
25170
25171 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
25172 loader.
25173 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
25174 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
25175
e290bef2 251762008-08-20 Carles Pina i Estany <carles@pina.cat>
25177
25178 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
25179 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
25180
f9dbfc96 251812008-08-19 Robert Millan <rmh@aybabtu.com>
25182
25183 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
25184 (struct grub_virtual_screen): Remove `cursor_color'.
25185 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
25186 initialization.
25187 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
25188
dd6bd6ab 251892008-08-18 Robert Millan <rmh@aybabtu.com>
25190
25191 Unify (identical) linux_normal.c files.
25192 * loader/i386/efi/linux_normal.c: Move from here ...
25193 * loader/linux_normal.c: ... to here. Update all users.
25194 * loader/i386/pc/linux_normal.c: Delete. Update all users.
25195 * loader/i386/ieee1275/linux_normal.c: Likewise.
25196
7f42f83e 251972008-08-18 Robert Millan <rmh@aybabtu.com>
25198
25199 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
25200 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
25201 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
25202 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
25203 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
25204 New macros.
25205 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
25206 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
25207 (GRUB_LINUX_CL_END_OFFSET): ... to here.
25208 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
25209 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
25210 (GRUB_EFI_CL_END_OFFSET): Rename to ...
25211 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
25212 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
25213 Initialize `params->video_cursor_x' and `params->video_cursor_y'
25214 portably using grub_getxy().
25215 Replace `-EFI' with `-bzImage' in boot message.
25216
38487ddb 252172008-08-17 Robert Millan <rmh@aybabtu.com>
25218
25219 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
25220
deceb3ec 252212008-08-17 Robert Millan <rmh@aybabtu.com>
25222
25223 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
25224
25225 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
25226 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
25227 (grub_machine_mmap_iterate): New function declaration.
25228 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
25229 structure.
25230 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
25231 macros.
25232
25233 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
25234 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
25235 Move e820 parsing from here ...
25236 * kern/i386/pc/mmap.c: New file.
25237 (grub_machine_mmap_iterate): ... to here.
25238
25239 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
25240 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
25241 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
25242 (grub_available_iterate): Redeclare to return `void', and redeclare
25243 its hook to use grub_uint64_t as addr and size parameters, and rename
25244 to ...
25245 (grub_machine_mmap_iterate): ... this. Update all users.
25246
25247 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
25248 to make it more readable. Rename to ...
25249 (grub_machine_mmap_iterate): ... this.
25250
25251 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
25252 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
25253 (grub_multiboot): Allocate an extra region after the payload, and fill
25254 it with a Multiboot memory map. Adjust a.out loader to calculate size
25255 with the extra space.
25256 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
25257 with the extra space.
25258
f8aa0f43 252592008-08-17 Carles Pina i Estany <carles@pina.cat>
25260
9807deb9 25261 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 25262
605f5bb6 252632008-08-17 Felix Zielcke <fzielcke@z-51.de>
25264
25265 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
25266 mdate-sh to the list `find' searches for.
25267 * DISTLIST: Regenerated.
25268
210db6c6 252692008-08-16 Felix Zielcke <fzielcke@z-51.de>
25270
25271 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
25272 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 25273 genmoddep.awk, gensymlist.sh.in.
25274 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 25275 * DISTLIST: Regenerated.
48cdbfd4 25276 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 25277
1082b929 252782008-08-16 Robert Millan <rmh@aybabtu.com>
25279
25280 * disk/raid.c (grub_raid_init): Handle/report errors set by
25281 grub_device_iterate().
25282 * disk/lvm.c (grub_lvm_init): Likewise.
25283
42ce5170 252842008-08-15 Bean <bean123ch@gmail.com>
25285
25286 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
25287 and datehook.mod.
25288 (datetime_mod_SOURCES): New macro.
25289 (datetime_mod_CFLAGS): Likewise.
25290 (datetime_mod_LDFLAGS): Likewise.
25291 (date_mod_SOURCES): Likewise.
25292 (date_mod_CFLAGS): Likewise.
25293 (date_mod_LDFLAGS): Likewise.
25294 (datehook_mod_SOURCES): Likewise.
25295 (datehook_mod_CFLAGS): Likewise.
25296 (datehook_mod_LDFLAGS): Likewise.
25297
25298 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
25299 and datehook.mod.
25300 (datetime_mod_SOURCES): New macro.
25301 (datetime_mod_CFLAGS): Likewise.
25302 (datetime_mod_LDFLAGS): Likewise.
25303 (date_mod_SOURCES): Likewise.
25304 (date_mod_CFLAGS): Likewise.
25305 (date_mod_LDFLAGS): Likewise.
25306 (datehook_mod_SOURCES): Likewise.
25307 (datehook_mod_CFLAGS): Likewise.
25308 (datehook_mod_LDFLAGS): Likewise.
25309
25310 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
25311 and datehook.mod.
25312 (datetime_mod_SOURCES): New macro.
25313 (datetime_mod_CFLAGS): Likewise.
25314 (datetime_mod_LDFLAGS): Likewise.
25315 (date_mod_SOURCES): Likewise.
25316 (date_mod_CFLAGS): Likewise.
25317 (date_mod_LDFLAGS): Likewise.
25318 (datehook_mod_SOURCES): Likewise.
25319 (datehook_mod_CFLAGS): Likewise.
25320 (datehook_mod_LDFLAGS): Likewise.
25321
25322 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
25323 and datehook.mod.
25324 (datetime_mod_SOURCES): New macro.
25325 (datetime_mod_CFLAGS): Likewise.
25326 (datetime_mod_LDFLAGS): Likewise.
25327 (date_mod_SOURCES): Likewise.
25328 (date_mod_CFLAGS): Likewise.
25329 (date_mod_LDFLAGS): Likewise.
25330 (datehook_mod_SOURCES): Likewise.
25331 (datehook_mod_CFLAGS): Likewise.
25332 (datehook_mod_LDFLAGS): Likewise.
25333
25334 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
25335 and datehook.mod.
25336 (datetime_mod_SOURCES): New macro.
25337 (datetime_mod_CFLAGS): Likewise.
25338 (datetime_mod_LDFLAGS): Likewise.
25339 (date_mod_SOURCES): Likewise.
25340 (date_mod_CFLAGS): Likewise.
25341 (date_mod_LDFLAGS): Likewise.
25342 (datehook_mod_SOURCES): Likewise.
25343 (datehook_mod_CFLAGS): Likewise.
25344 (datehook_mod_LDFLAGS): Likewise.
25345
25346 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
25347
25348 * commands/date.c: New file.
25349
25350 * hook/datehook.c: Likewise.
25351
25352 * include/grub/lib/datetime.h: Likewise.
25353
25354 * include/grub/i386/cmos.h: Likewise.
25355
25356 * lib/datetime.c: Likewise.
25357
25358 * lib/i386/datetime.c: Likewise.
25359
25360 * lib/efi/datetime.c: Likewise.
25361
0e9242da 253622008-08-14 Robert Millan <rmh@aybabtu.com>
25363
25364 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
25365 (grub_mkelfimage_SOURCES): New variable.
25366 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
25367
25368 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
25369 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
25370 * conf/powerpc-ieee1275.rmk: Likewise.
25371 * conf/i386-ieee1275.rmk: Likewise.
25372
25373 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
25374 * kern/i386/coreboot/init.c: Likewise.
25375
25376 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
25377 with `<grub/cpu/kernel.h>'.
25378 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
25379 to ...
25380 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
25381 * kern/i386/coreboot/startup.S: Likewise.
25382
25383 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
25384 (GRUB_MOD_GAP): Remove.
25385 * include/grub/powerpc/kernel.h: New file.
25386 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
25387 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
25388 * include/grub/i386/kernel.h: New file.
25389 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
25390 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
25391 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
25392
25393 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
25394 `grub-mkelfimage'.
25395 Use --directory when invoking grub_mkimage.
25396
25397 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
25398 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
25399 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
25400 and GRUB_KERNEL_CPU_PREFIX.
25401
b86408f8 254022008-08-14 Felix Zielcke <fzielcke@z-51.de>
25403
d5e619ca 25404 * include/grub/err.h (grub_err_printf): New function prototype.
25405 * util/misc.c (grub_err_printf): New function.
25406 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
25407 grub_printf.
25408 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 25409
7161f0e0 254102008-08-13 Robert Millan <rmh@aybabtu.com>
25411
25412 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
25413
a1967522 254142008-08-13 Robert Millan <rmh@aybabtu.com>
25415
25416 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
25417 boot entry.
25418
371458b5 254192008-08-12 Robert Millan <rmh@aybabtu.com>
25420
25421 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
25422 of the relocation code from here ...
25423 (grub_multiboot): ... to here.
25424 (forward_relocator, backward_relocator): Move from here ...
25425 * kern/i386/loader.S (grub_multiboot_forward_relocator)
25426 (grub_multiboot_backward_relocator): ... to here.
25427 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
25428 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
25429 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
25430 (grub_multiboot_forward_relocator_end)
25431 (grub_multiboot_backward_relocator)
25432 (grub_multiboot_backward_relocator_end): New variables.
25433
05f9452b 254342008-08-12 Bean <bean123ch@gmail.com>
25435
25436 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
25437
20024ab0 254382008-08-11 Robert Millan <rmh@aybabtu.com>
25439
25440 * kern/i386/linuxbios/startup.S: Move from here ...
25441 * kern/i386/coreboot/startup.S: ... to here.
25442
25443 * kern/i386/linuxbios/init.c: Move from here ...
25444 * kern/i386/coreboot/init.c: ... to here.
25445
25446 * kern/i386/linuxbios/table.c: Move from here ...
25447 * kern/i386/coreboot/mmap.c: ... to here.
25448
25449 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
25450
e352e9cd 254512008-08-11 Robert Millan <rmh@aybabtu.com>
25452
25453 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
25454 errors. Leave it to the upper layer to handle them.
25455
2d05bc6a 254562008-08-09 Christian Franke <franke@computer.org>
25457
25458 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
25459 * conf/common.rmk: Install `grub-pe2elf' only if requested.
25460 Install `grub.d/10_windows' only on Cygwin.
25461 * configure.ac: Add subst of `target_os'.
25462 Check `target_os' also before setting TARGET_OBJ2ELF.
25463 Add `--enable-grub-pe2elf'.
25464
042bd419 254652008-08-08 Robert Millan <rmh@aybabtu.com>
25466
25467 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
25468 (grub_last_time): Change type to grub_uint64_t.
25469 (grub_disk_open): Migrate code from to using grub_get_time_ms().
25470 (grub_disk_close): Likewise.
25471
25472 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
25473 (run_menu): Migrate code from to using grub_get_time_ms().
25474
25475 * util/misc.c (grub_get_time_ms): New function.
25476
7f280db5 254772008-08-08 Marco Gerards <marco@gnu.org>
25478
25479 * disk/ata.c (grub_ata_regget): Change return type to
25480 `grub_uint8_t'.
25481 (grub_ata_regget2): Likewise.
25482 (grub_ata_wait_status): New function.
25483 (grub_ata_wait_busy): Removed function, updated all users to use
25484 `grub_ata_wait_status'.
25485 (grub_ata_wait_drq): Likewise.
25486 (grub_ata_cmd): New function.
25487 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
25488 error handling.
25489 (grub_ata_pio_write): Add error handling.
25490 (grub_atapi_identify): Likewise.
25491 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
25492 handling.
25493 (grub_ata_identify): Use `grub_ata_cmd' and improve error
25494 handling. Actually use the detected registers. Reorder the
25495 detection logic such that it is easier to read.
25496 (grub_ata_pciinit): Do not assign the same ID to each controller.
25497 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
25498 handling.
25499 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
25500
25501 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
25502
1fbc5e66 255032008-08-08 Marco Gerards <marco@gnu.org>
25504
25505 * NEWS: Update.
25506
819ce6c0 255072008-08-07 Bean <bean123ch@gmail.com>
25508
25509 * include/grub/x86_64/pci.h: New file.
25510
5c41d44d 255112008-08-07 Christian Franke <franke@computer.org>
25512
25513 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
25514 (TIMER2_GATE): Likewise.
25515 (grub_pit_wait): Add enable/disable of the timer2 gate
25516 bit of port 0x61. This fixes a possible infinite loop.
25517
5ebc275d 255182008-08-07 Bean <bean123ch@gmail.com>
25519
25520 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
25521 kern/i386/tsc.c and kern/i386/pit.c.
25522
25523 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
25524 x86_64 platform.
25525
25526 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
25527 <grub/i386/tsc.h>.
25528
25529 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
25530
e383b3d0 255312008-08-07 Bean <bean123ch@gmail.com>
25532
25533 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
25534
25535 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
25536
25537 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
25538 multiple inclusion. Add #include <grub/types.h>.
25539
1cbb58ac 255402008-08-06 Christian Franke <franke@computer.org>
25541
25542 * conf/common.rmk: Build and install `10_windows'.
25543 * util/grub.d/10_windows.in: New script.
25544
337f5a1e 255452008-08-06 Pavel Roskin <proski@gnu.org>
25546
25547 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
25548
057bc4ac 255492008-08-06 Robert Millan <rmh@aybabtu.com>
25550
25551 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
25552 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
25553
2b99f123 255542008-08-06 Bean <bean123ch@gmail.com>
25555
25556 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
25557 (grub_pxefs_fs_int): Remove dummy definition.
25558 (grub_pxefs_open): Use data->block_size to store the current block
25559 size setting.
25560 (grub_pxefs_read): Use block size stored in data->block_size. As the
25561 value of grub_pxe_blksize can be changed after the file is opened.
25562
9f0234cb 255632008-08-06 Bean <bean123ch@gmail.com>
25564
25565 * fs/i386/pc/pxe.c (curr_file): new variable.
25566 (grub_pxefs_open): Simply the handling of pxe file system. Don't
25567 require the dummy internal file system anymore.
25568 (grub_pxefs_read): Removed.
25569 (grub_pxefs_close): Likewise.
25570 (grub_pxefs_fs_int): Likewise.
25571 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
25572 connection when we switch file.
25573 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
25574
a55d42e0 255752008-08-06 Robert Millan <rmh@aybabtu.com>
25576
25577 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
25578 `halt.mod'.
25579 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
25580 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
25581
25582 * kern/i386/halt.c: New file.
25583 * kern/i386/reboot.c: Likewise.
25584 * include/grub/i386/reboot.h: Likewise.
25585 * include/grub/i386/halt.h: Likewise.
25586
25587 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
25588 Include `<grub/cpu/halt.h>'.
25589 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
25590 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
25591
25592 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
25593 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
25594 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
25595 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
25596 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
25597 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
25598 from here ...
25599 * include/grub/i386/at_keyboard.h: ... to here.
25600
24371d26 256012008-08-05 Robert Millan <rmh@aybabtu.com>
25602
25603 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
25604 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
25605 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
25606 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
25607 `kern/generic/millisleep.c'.
25608
25609 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
25610 instead of grub_get_rtc().
25611 (grub_tsc_init): Initialize `tsc_boot_time'.
25612
25613 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
25614 (grub_machine_init): Use grub_tsc_init() rather than
25615 installing an RTC-based handler via grub_install_get_time_ms().
25616
25617 * kern/i386/pit.c: New file.
25618 * include/grub/i386/pit.h: Likewise.
25619
9e7007b3 256202008-08-05 Bean <bean123ch@gmail.com>
25621
25622 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
25623
25624 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
25625 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
25626 (pxe_mod_SOURCES): New macro.
25627 (pxe_mod_CFLAGS): Likewise.
25628 (pxe_mod_LDFLAGS): Likewise.
25629 (pxecmd_mod_SOURCES): Likewise.
25630 (pxecmd_mod_CFLAGS): Likewise.
25631 (pxecmd_mod_LDFLAGS): Likewise.
25632
25633 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
25634 (grub_pxe_call): Likewise.
25635
25636 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
25637
25638 * commands/i386/pc/pxecmd.c: New file.
25639
9f0234cb 25640 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 25641
25642 * include/grub/i386/pc/pxe.h: Likewise.
25643
6977d49f 256442008-08-05 Bean <bean123ch@gmail.com>
25645
25646 * util/console.c (grub_console_cur_color): New variable.
25647 (grub_console_standard_color): Likewise.
25648 (grub_console_normal_color): Likewise.
25649 (grub_console_highlight_color): Likewise.
25650 (color_map): Likewise.
25651 (use_color): Likewise.
25652 (NUM_COLORS): New macro.
25653 (grub_ncurses_setcolorstate): Handle color properly.
25654 (grub_ncurses_setcolor): Don't change color here, just remember the
25655 settings, color will be set in grub_ncurses_setcolorstate.
25656 (grub_ncurses_getcolor): New function.
25657 (grub_ncurses_init): Initialize color pairs.
25658 (grub_ncurses_term): New member grub_ncurses_getcolor.
25659
9c2ff3ee 256602008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 25661
9c2ff3ee 25662 High resolution timer support. Implemented for x86 CPUs using TSC.
25663 Extracted generic grub_millisleep() so it's linked in only as needed.
25664 This requires a Pentium compatible CPU; if the RDTSC instruction is
25665 not supported, then it falls back on the generic grub_get_time_ms()
25666 implementation that uses the machine's RTC.
25667
25668 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
25669 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
25670 `kern/generic/millisleep.c'.
25671
25672 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
25673 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
25674
25675 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
25676 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
25677
25678 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
25679
25680 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
25681 `kern/generic/millisleep.c'.
25682
25683 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
25684
25685 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
25686
25687 * kern/generic/rtc_get_time_ms.c: New file.
25688
25689 * kern/generic/millisleep.c: New file.
337f5a1e 25690
9c2ff3ee 25691 * kern/misc.c: Don't include
25692 <kern/time.h> anymore.
25693 (grub_millisleep_generic): Removed.
25694
25695 * commands/sleep.c (grub_interruptible_millisleep): Uses
25696 grub_get_time_ms() instead of grub_get_rtc().
25697
25698 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
25699 function.
25700 (grub_cpu_is_cpuid_supported): New inline function.
25701 (grub_cpu_is_tsc_supported): New inline function.
25702 (grub_tsc_init): New function prototype.
25703 (grub_tsc_get_time_ms): New function prototype.
25704
25705 * kern/i386/tsc.c (grub_get_time_ms): New file.
25706
25707 * include/grub/time.h: Include <grub/types.h.
25708 (grub_millisleep_generic): Removed.
25709 (grub_get_time_ms): New prototype.
25710 (grub_install_get_time_ms): New prototype.
25711 (grub_rtc_get_time_ms): New prototype.
25712
25713 * kern/time.c (grub_get_time_ms): New function.
25714 (grub_install_get_time_ms): New function.
25715
25716 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
25717 <grub/time.h> anymore.
25718 (grub_millisleep): Removed.
25719 (grub_machine_init): Call grub_tsc_init.
25720
25721 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
25722 get_time_ms() implementation.
25723
25724 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
25725 (ieee1275_get_time_ms): New function.
25726 (grub_machine_init): Install get_time_ms() implementation.
25727
25728 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
25729 (grub_machine_init): Call grub_tsc_init().
25730 (grub_millisleep): Removed.
bf06a93f 25731
9c2ff3ee 25732 * kern/ieee1275/init.c (grub_millisleep): Removed.
25733 (grub_machine_init): Install ieee1275_get_time_ms()
25734 implementation.
25735 (ieee1275_get_time_ms): New function.
25736 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
25737 real work.
25738
9ec92aaf 257392008-08-05 Marco Gerards <marco@gnu.org>
25740
25741 * disk/ata.c: Include <grub/pci.h>.
25742 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
25743 (grub_ata_initialize): Rewritten.
25744 (grub_ata_device_initialize): New function.
25745
8d23f507 257462008-08-04 Pavel Roskin <proski@gnu.org>
25747
25748 * kern/main.c: Include grub/mm.h.
25749
5e15ee3d 257502008-08-04 Robert Millan <rmh@aybabtu.com>
25751
25752 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
25753 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
25754 corruption problem).
25755
a9053f8f 257562008-08-04 Robert Millan <rmh@aybabtu.com>
25757
25758 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
25759 warnings introduced in my last commit.
25760
dd19c7d7 257612008-08-03 Robert Millan <rmh@aybabtu.com>
25762
25763 Make PCI available on all i386 architectures.
25764
25765 * include/grub/i386/pc/pci.h: Move from here ...
25766 * include/grub/i386/pci.h: ... to here.
25767
25768 * include/grub/i386/pc/pci.h: Remove.
25769 * include/grub/i386/efi/pci.h: Remove.
25770 * include/grub/x86_64/efi/pci.h: Remove.
25771
25772 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
25773 `<grub/cpu/pci.h>'.
25774
25775 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
25776 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
25777 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
25778
25779 * conf/i386-ieee1275.rmk: Likewise.
25780
e14a6184 257812008-08-03 Robert Millan <rmh@aybabtu.com>
25782
25783 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
25784 (grub_console_setcursor): Make it possible to set cursor off.
25785
52768e37 257862008-08-03 Robert Millan <rmh@aybabtu.com>
25787
25788 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
25789 of modules instead of assuming which platform provides what.
25790 * util/update-grub.in: Likewise.
25791
2d52f57f 257922008-08-03 Robert Millan <rmh@aybabtu.com>
25793
25794 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
25795 instead of `grub_install_dos_part' to determine whether a drive needs
25796 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 25797 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 25798
2a5cd121 257992008-08-02 Robert Millan <rmh@aybabtu.com>
25800
25801 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
25802
93808428 258032008-08-02 Robert Millan <rmh@aybabtu.com>
25804
25805 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
25806 of informational grub_dprintf() calls.
25807
3bd0a12a 258082008-08-02 Robert Millan <rmh@aybabtu.com>
25809
25810 * disk/memdisk.c (memdisk_size): Don't initialize.
25811 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
25812
25813 * include/grub/i386/pc/kernel.h
25814 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
25815 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
25816 (grub_memdisk_image_size, grub_arch_memdisk_addr)
25817 (grub_arch_memdisk_size): Remove.
25818
25819 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
25820 field (was only used to transfer a constant). Add `type' field to
25821 support multiple module types.
25822 (grub_module_iterate): New function.
25823
25824 * kern/device.c (grub_device_open): Do not hide error messages
25825 when grub_disk_open() fails. Use grub_print_error() instead.
25826
25827 * kern/i386/pc/init.c (grub_arch_modules_addr)
25828 (grub_arch_memdisk_size): Remove functions.
25829 (grub_arch_modules_addr): Return the module address in high memory
25830 (now that it isn't copied anymore).
25831
25832 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
25833 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
25834 decompression routine (grub_total_module_size already includes that
25835 now). Don't copy modules back to low memory.
25836
25837 * kern/main.c: Include `<grub/mm.h>'.
25838 (grub_load_modules): Split out (and use) ...
25839 (grub_module_iterate): ... this function, which iterates through
25840 module objects and runs a hook.
25841 Comment out grub_mm_init_region() call, as it would cause non-ELF
25842 modules to be overwritten.
25843
25844 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
25845 the memdisk image in its own region, make it part of the module list.
25846 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
25847 (main): Parse --memdisk|-m option, and pass user-provided path as
25848 parameter to generate_image().
25849 (add_segments): Pass `memdisk_path' down to load_modules().
25850 (load_modules): Embed memdisk image in module section when requested.
25851 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
25852 `header.type' instead of `header.offset'.
25853
25854 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
25855 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
25856 (memdisk_mod_LDFLAGS): New variables.
25857 * conf/i386-coreboot.rmk: Likewise.
25858 * conf/i386-ieee1275.rmk: Likewise.
25859
a927cc73 258602008-08-02 Robert Millan <rmh@aybabtu.com>
25861
25862 * loader/i386/pc/multiboot.c (playground, forward_relocator)
25863 (backward_relocator): New variables. Used to allocate and relocate
25864 the payload, respectively.
25865 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 25866 address, install the appropriate relocator code in each bound of
a927cc73 25867 the payload, and set the entry point such that
25868 grub_multiboot_real_boot() will jump to one of them.
25869
25870 * kern/i386/loader.S (grub_multiboot_payload_size)
25871 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
25872 (grub_multiboot_payload_entry_offset): New variables.
25873 (grub_multiboot_real_boot): Set cpu context to what the relocator
25874 expects, and jump to the relocator instead of the payload.
25875
25876 * include/grub/i386/loader.h (grub_multiboot_payload_size)
25877 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
25878 (grub_multiboot_payload_entry_offset): Export.
25879
b15d8a0c 258802008-08-01 Bean <bean123ch@gmail.com>
25881
25882 * normal/menu_entry.c (editor_getline): Don't return the original
25883 string as result, as it will be released by lexer once it has done
25884 using it.
25885
cdfb3d22 258862008-08-01 Robert Millan <rmh@aybabtu.com>
25887
25888 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
25889 within menuentries, not before them.
25890 util/grub.d/10_hurd.in: Likewise.
25891
9175e93d 258922008-08-01 Bean <bean123ch@gmail.com>
25893
25894 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
25895 (bufio_mod_SOURCES): New macro.
25896 (bufio_mod_CFLAGS): Likewise.
25897 (bufio_mod_LDFLAGS): Likewise.
25898
25899 * include/grub/bufio.h: New file.
25900
25901 * io/bufio.c: Likewise.
25902
25903 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
25904 (grub_video_reader_png): Use grub_buffile_open to open file.
25905
25906 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
25907 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
25908
25909 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
25910 (grub_video_reader_tga): Use grub_buffile_open to open file.
25911
25912 * font/manager.c: Include <grub/bufio.h>.
25913 (add_font): Use grub_buffile_open to open file.
25914
3d8383e7 259152008-07-31 Robert Millan <rmh@aybabtu.com>
25916
25917 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
25918 ELF segments, use a macro for arbitrarily accessing any of them instead
25919 of preparing a pointer that allows access to one at a time.
25920 (grub_multiboot_load_elf64): Likewise.
25921
16e641b6 259222008-07-31 Bean <bean123ch@gmail.com>
25923
25924 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
25925 GRUB_KERNEL_MACHINE_DATA_END.
25926
59198b72 259272008-07-30 Robert Millan <rmh@aybabtu.com>
25928
25929 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
25930 Increase from 0x50 to 0x60.
25931 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
25932 use UUIDs to identify the root drive for them. If that's not
25933 possible, abort.
25934 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
25935 check, for cross-disk installs.
25936
ae88bca3 259372008-07-30 Robert Millan <rmh@aybabtu.com>
25938
25939 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
25940 is non-empty, use it to set the `prefix' environment variable instead
25941 of the usual approach.
25942 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
25943 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
25944 environment variable instead of dummy make_install_device().
25945
25946 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
25947 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 25948 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 25949
25950 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
25951 New variable reference.
25952 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
25953 New macro. Defines offset of `grub_prefix' within startup.S (relative
25954 to `start').
25955 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
25956 section within startup.S (relative to `start').
25957 * include/grub/i386/coreboot/kernel.h: Likewise.
25958
25959 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
25960 Overwrite grub_prefix with its contents, at the beginning of the
25961 first segment.
25962 (main): Understand -p|--prefix.
25963
14f41dd1 259642008-07-30 Robert Millan <rmh@aybabtu.com>
25965
25966 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
25967
4ca049a3 259682008-07-30 Robert Millan <rmh@aybabtu.com>
25969
25970 * term/i386/pc/vga_text.c (grub_console_cls): Use
25971 grub_console_gotoxy() to go back to beginning of the screen.
25972 Found by Patrick Georgi <patrick.georgi@coresystems.de>
25973
2921d337 259742008-07-29 Christian Franke <franke@computer.org>
25975
25976 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
25977 Add conversion of emulated mount points on Cygwin.
25978
b609876d 259792008-07-29 Christian Franke <franke@computer.org>
25980
25981 * util/update-grub.in: Add a check for admin
25982 group on Cygwin.
25983 Remove old `grub.cfg.new' before creation.
25984 Add `-f' to `mv' to handle the different filesystem
25985 semantics of Windows.
25986
e93e4679 259872008-07-29 Bean <bean123ch@gmail.com>
25988
25989 * normal/main.c (get_line): Fix buffer overflow bug.
25990
41694fd0 259912008-07-28 Robert Millan <rmh@aybabtu.com>
25992
25993 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
25994 (struct grub_apple_header): New struct. Describes the layout of
25995 the partmap header.
25996 (apple_partition_map_iterate): Check the header magic as well as the
25997 partition magic (which was already being checked).
25998
cfd0b4e6 259992008-07-28 Pavel Roskin <proski@gnu.org>
26000
26001 * genmk.rb: Add a warning to the beginning of the output that
26002 it's a generated file and should not be edited.
26003
93cce016 260042008-07-28 Robert Millan <rmh@aybabtu.com>
26005
26006 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
26007 with the same number are found, just use issue a warning with
26008 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 26009
cd1df915 260102008-07-27 Robert Millan <rmh@aybabtu.com>
26011
26012 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
26013 information.
26014
b70a8427 260152008-07-27 Bean <bean123ch@gmail.com>
26016
26017 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
26018 (grub_fat_find_dir): Ignore case when comparing filename.
26019
8f5e379f 260202008-07-27 Bean <bean123ch@gmail.com>
26021
26022 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
26023 smallino, as it's more descriptive, and i8count can be confused with
26024 the other field count.
26025 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
26026 inode type.
26027
a85cd5a0 260282008-07-27 Bean <bean123ch@gmail.com>
26029
26030 * commands/crc.c: New file.
26031
26032 * lib/crc.c: Likewise.
26033
26034 * include/grub/lib/crc.h: Likewise.
26035
26036 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
26037
26038 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
26039 (hexdump): Move this function to ...
26040
26041 * lib/hexdump.c: ... here.
26042
26043 * include/grub/hexdump.h: Renamed to ...
26044
26045 * include/grub/lib/hexdump.h: ... this.
26046
26047 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
26048
26049 * util/grub-editenv.c: Likewise.
26050
26051 * include/envblk.h: Renamed to ...
26052
26053 * include/lib/envblk.h: ... this.
26054
26055 * util/envblk.c: Renamed to ...
26056
26057 * lib/envblk.c: ... this.
26058
26059 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
26060 lib/hexdump.c.
26061 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
26062 (pkglib_MODULES): Add crc.mod.
26063 (hexdump_mod_SOURCES): Add lib/hexdump.c.
26064 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
26065 (crc_mod_SOURCES): New macro.
26066 (crc_mod_CFLAGS): Likewise.
26067 (crc_mod_LDFLAGS): Likewise.
26068
26069 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
26070
26071 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
26072
26073 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
26074
26075 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26076
26077 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
26078
c298def0 260792008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 26080
26081 * commands/help.c: Include <grub/term.h>.
26082 (TERM_WIDTH): Removed. Updated all users.
26083
cc349fb3 260842008-07-27 Pavel Roskin <proski@gnu.org>
26085
26086 * util/getroot.c (find_root_device): Rephrase a comment to avoid
26087 spurious warnings about a comment within a comment.
26088
9051607e 260892008-07-25 Robert Millan <rmh@aybabtu.com>
26090
26091 * util/getroot.c (find_root_device): Skip devices that match
26092 /dev/dm-[0-9]. This lets the real device be found for any type of
26093 abstraction (LVM, EVMS, RAID..).
26094 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
26095 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
26096 device is found first, find_root_device() will now skip it.
26097
01453bfc 260982008-07-24 Pavel Roskin <proski@gnu.org>
26099
26100 * include/grub/types.h: Use __builtin_bswap32() and
26101 __builtin_bswap64() with gcc 4.3 and newer.
26102
6af9849f 261032008-07-24 Christian Franke <franke@computer.org>
26104
3a0fa256 26105 * util/i386/pc/grub-install.in: If `--debug' is specified,
26106 pass `--verbose' to grub-setup.
26107 Abort script if make_system_path_relative_to_its_root() fails.
26108
7810e747 261092008-07-24 Bean <bean123ch@gmail.com>
26110
26111 * configure.ac: Fixed a bug caused by the previous cygwin patch,
26112 variable `target_platform' should be `platform'.
26113
42290e17 261142008-07-24 Bean <bean123ch@gmail.com>
26115
51cc5193 26116 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 26117 (grub_png_init_fixed_block): New function.
26118 (grub_png_decode_image_data): Handle fixed huffman code compression.
26119
2a8a80e4 261202008-07-24 Bean <bean123ch@gmail.com>
26121
26122 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
26123 (grub_pe2elf_SOURCES): New macro.
26124 (CLEANFILES): Add grub-pe2elf.
26125
26126 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
26127 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
26128 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
26129 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
26130 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
26131 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
26132 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
26133 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
26134 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
26135 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
26136 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
26137 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
26138 (GRUB_PE32_DT_FUNCTION): Likewise.
26139 (GRUB_PE32_REL_I386_DIR32): Likewise.
26140 (GRUB_PE32_REL_I386_REL32): Likewise.
26141 (grub_pe32_symbol): New structure.
26142 (grub_pe32_reloc): Likewise.
26143
26144 * util/grub-pe2elf.c: New file.
26145
26146 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
26147 start symbol in non pc platform.
26148
26149 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
26150
26151 The following patches are from Christian Franke.
26152
26153 * include/grub/dl.h: Remove .previous, gas supports this only
26154 for ELF format.
26155
26156 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
26157 Remove .type, gas supports this only for ELF format.
26158
26159 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
26160 nullbytes in symbol table. This fixes an infinite loop if table is
26161 zero filled.
26162
26163 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
26164 TARGET_IMG_LDFLAGS and EXEEXT.
26165
26166 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
26167 TARGET_IMG_LDFLAGS_AC.
26168 (grub_CHECK_STACK_ARG_PROBE): New function.
26169
26170 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
26171
26172 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
26173
26174 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
26175 to set TARGET_IMG_LD* accordingly.
26176 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
26177 Add call to grub_CHECK_STACK_ARG_PROBE.
26178 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
26179
26180 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
26181
26182 * genmk.rb: Add EXEEXT to CLEANFILES.
26183
12ccdb75 261842008-07-23 Robert Millan <rmh@aybabtu.com>
26185
26186 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
26187 define the codes for arrows and lines used for the menu).
26188 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
26189 as well.
26190
26191 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
26192 fonts, because the latter are too slow.
26193
18eeaf04 261942008-07-21 Bean <bean123ch@gmail.com>
26195
26196 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
26197 a20. Run keyboard test last, as it will cause macbook to halt.
26198
b095e2ad 261992008-07-18 Pavel Roskin <proski@gnu.org>
26200
26201 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
26202 load foreign architecture modules correctly anyway. Keep
26203 support for loading host architecture modules, whether we
26204 compile them or not.
26205
737feb35 262062008-07-17 Pavel Roskin <proski@gnu.org>
26207
3f4ce737 26208 * configure.ac: Use -m32 or -m64 regardless of whether we had to
26209 change target_cpu. The compiler default can mismatch target_cpu
26210 in any case.
26211
4ad2d049 26212 * disk/efi/efidisk.c: Fix format warnings on x86_64.
26213 * kern/efi/efi.c: Likewise.
26214
f6130a12 26215 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
26216 target compiler is functional.
26217 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
26218 are set up.
26219
58393a2d 26220 * configure.ac: Default to efi platform for x86_64-apple. Allow
26221 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
26222 adjustments from the rest, only do them if target is not
26223 explicitly given. Merge other adjustments with the final sanity
26224 check. Remove an extraneous check for supported CPU. Be
26225 specific which CPU and which platform is not supported.
26226
737feb35 26227 * configure.ac: Default to pc platform for x86_64.
26228
546f966a 262292008-07-17 Robert Millan <rmh@aybabtu.com>
26230
26231 Partial LinuxBIOS -> Coreboot rename.
26232
26233 * conf/i386-linuxbios.rmk: Renamed to ...
26234 * conf/i386-coreboot.rmk: ... this.
26235 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
26236 * configure.ac: Accept "coreboot" as input platform (but maintain
26237 compatibility with "linuxbios").
26238 * include/grub/i386/linuxbios: Renamed to ...
26239 * include/grub/i386/coreboot: ... this.
26240
20011694 262412008-07-17 Bean <bean123ch@gmail.com>
26242
26243 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 26244 (appleldr_mod_SOURCE): New variable.
20011694 26245 (appleldr_mod_CFLAGS): Likewise.
26246 (appleldr_mod_LDFLAGS): Likewise.
26247 (pci_mod_SOURCES): Likewise.
26248 (pci_mod_CFLAGS): Likewise.
26249 (pci_mod_LDFLAGS): Likewise.
26250 (lspci_mod_SOURCES): Likewise.
26251 (lspci_mod_CFLAGS): Likewise.
26252 (lspci_mod_LDFLAGS): Likewise.
26253
26254 * conf/x86_64-efi.rmk: New file.
26255
26256 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
26257 macro.
26258 (grub_efidisk_write): Likewise.
26259
26260 * include/efi/api.h (efi_call_0): New macro.
26261 (efi_call_1): Likewise.
26262 (efi_call_2): Likewise.
26263 (efi_call_3): Likewise.
26264 (efi_call_4): Likewise.
26265 (efi_call_5): Likewise.
26266 (efi_call_6): Likewise.
26267
26268 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
26269 grub_rescue_cmd_chainloader.
26270
26271 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
26272 (grub_pe32_optional_header): Change some fields based on i386 or
26273 x86_64 platform.
26274 (GRUB_PE32_PE32_MAGIC): Likewise.
26275
26276 * include/grub/efi/uga_draw.h: New file.
26277
26278 * include/grub/elf.h (STN_ABS): New constant.
26279 (R_X86_64_NONE): Relocation constant for x86_64.
26280 (R_X86_64_64): Likewise.
26281 (R_X86_64_PC32): Likewise.
26282 (R_X86_64_GOT32): Likewise.
26283 (R_X86_64_PLT32): Likewise.
26284 (R_X86_64_COPY): Likewise.
26285 (R_X86_64_GLOB_DAT): Likewise.
26286 (R_X86_64_JUMP_SLOT): Likewise.
26287 (R_X86_64_RELATIVE): Likewise.
26288 (R_X86_64_GOTPCREL): Likewise.
26289 (R_X86_64_32): Likewise.
26290 (R_X86_64_32S): Likewise.
26291 (R_X86_64_16): Likewise.
26292 (R_X86_64_PC16): Likewise.
26293 (R_X86_64_8): Likewise.
26294 (R_X86_64_PC8): Likewise.
26295
26296 * include/grub/i386/efi/pci.h: New file.
26297
26298 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
26299 Change it value based on platform.
26300 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
26301 (GRUB_E820_RAM): Likewise.
26302 (GRUB_E820_RESERVED): Likewise.
26303 (GRUB_E820_ACPI): Likewise.
26304 (GRUB_E820_NVS): Likewise.
26305 (GRUB_E820_EXEC_CODE): Likewise.
26306 (GRUB_E820_MAX_ENTRY): Likewise.
26307 (grub_e820_mmap): New structure.
26308 (linux_kernel_header): Change the efi field according to different
26309 kernel version, also field from linux_kernel_header.
26310
26311 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
26312
26313 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
26314 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
26315 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
26316 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
26317 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
26318 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
26319 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
26320 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
26321 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
26322 (GRUB_PCI_ADDR_IO_MASK): Likewise.
26323
26324 * include/grub/x86_64/efi/kernel.h: New file.
26325
26326 * include/grub/x86_64/efi/loader.h: Likewise.
26327
26328 * include/grub/x86_64/efi/machine.h: Likewise.
26329
26330 * include/grub/x86_64/efi/pci.h: Likewise.
26331
26332 * include/grub/x86_64/efi/time.h: Likewise.
26333
26334 * include/grub/x86_64/linux.h: Likewise.
26335
26336 * include/grub/x86_64/setjmp.h: Likewise.
26337
26338 * include/grub/x86_64/time.h: Likewise.
26339
26340 * include/grub/x86_64/types.h: Likewise.
26341
26342 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
26343 GRUB_TARGET_SIZEOF_VOID_P.
26344
26345 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
26346 (grub_efi_locate_handle): Likewise.
26347 (grub_efi_open_protocol): Likewise.
26348 (grub_efi_set_text_mode): Likewise.
26349 (grub_efi_stall): Likewise.
26350 (grub_exit): Likewise.
26351 (grub_reboot): Likewise.
26352 (grub_halt): Likewise.
26353 (grub_efi_exit_boot_services): Likewise.
26354 (grub_get_rtc): Likewise.
26355
26356 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
26357 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
26358 (grub_efi_allocate_pages): Wrap efi calls.
26359 (grub_efi_free_pages): Wrap efi calls.
26360 (grub_efi_get_memory_map): Wrap efi calls.
26361
26362 * kern/x86_64/dl.c: New file.
26363
26364 * kern/x86_64/efi/callwrap.S: Likewise.
26365
26366 * kern/x86_64/efi/startup.S: Likewise.
26367
26368 * loader/efi/appleloader.c: Likewise.
26369
26370 * loader/efi/chainloader.c (cmdline): New variable.
26371 (grub_chainloader_unload): Wrap efi calls.
26372 (grub_chainloader_boot): Likewise.
26373 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
26374 command line.
26375
26376 * loader/efi/chainloader_normal.c (chainloader_command):
26377 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
26378 command line.
26379
26380 * loader/i386/efi/linux.c (allocate_pages): Change allocation
26381 method.
26382 (grub_e820_add_region): New function.
26383 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
26384 booting.
26385 (grub_find_video_card): New function.
26386 (grub_linux_setup_video): New function.
26387 (grub_rescue_cmd_linux): Probe for video information.
26388
26389 * normal/x86_64/setjmp.S: New file.
26390
26391 * term/efi/console.c (map_char): New function.
26392 (grub_console_putchar): Map unicode char.
26393 (grub_console_checkkey): Wrap efi calls.
26394 (grub_console_getkey): Likewise.
26395 (grub_console_getwh): Likewise.
26396 (grub_console_gotoxy): Likewise.
26397 (grub_console_cls): Likewise.
26398 (grub_console_setcolorstate): Likewise.
26399 (grub_console_setcursor): Likewise.
26400
26401 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
26402
59652a20 264032008-07-16 Pavel Roskin <proski@gnu.org>
26404
ef294055 26405 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
26406 format strings.
26407
59652a20 26408 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
26409 pointer, not an integer. This fixes a warning and prevents
26410 precision loss on 64-bit systems.
26411 (relocate_addresses): Remove unneeded cast.
26412
afc3b5d7 264132008-07-15 Pavel Roskin <proski@gnu.org>
26414
506b2b3e 26415 * kern/i386/ieee1275/init.c: Include grub/cache.h.
26416
62ead89c 26417 * term/ieee1275/ofconsole.c: Disable code unused on i386.
26418
c4cd51d7 26419 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
26420 Fix comparison between signed and unsigned.
26421
0d3d8f28 26422 * include/grub/i386/ieee1275/console.h: Declare
26423 grub_console_init() and grub_console_fini().
26424
8804b286 26425 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
26426 It's empty and unused.
26427
ee01cf35 26428 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
26429 beginning to avoid warnings with some compilers.
26430
afc3b5d7 26431 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
26432 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
26433
e4e8eaa5 264342008-07-14 Pavel Roskin <proski@gnu.org>
26435
407aceb4 26436 * kern/env.c (grub_register_variable_hook): Don't copy empty
26437 string, it leaks memory. Pass "" to grub_env_set(), it should
26438 handle constant strings.
26439
e4e8eaa5 26440 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
26441 * commands/cmp.c (grub_cmd_cmp): Likewise.
26442 * kern/dl.c (grub_dl_flush_cache): Likewise.
26443 (grub_dl_load_core): Likewise.
26444 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
26445 (grub_elf64_load_phdrs): Likewise.
26446
d4e2dad3 264472008-07-13 Pavel Roskin <proski@gnu.org>
26448
26449 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
26450 between signed and unsigned.
26451 (LzmaEnc_Finish): Fix warning about an unused parameter.
26452
aa24b516 264532008-07-13 Bean <bean123ch@gmail.com>
26454
26455 * Makefile.in (enable_lzo): New rule.
26456
26457 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
26458
26459 * configure.ac (ENABLE_LZO): New option --enable-lzo.
26460
26461 * boot/i386/pc/lnxboot.S: #include <config.h>.
26462
26463 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 26464 its value according to the compression algorithm used, lzo or lzma.
aa24b516 26465
26466 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
26467 compression algorithm according to configure macro.
26468
26469 * kern/i386/pc/startup.S (codestart): Likewise.
26470
26471 * kern/i386/pc/lzma_decode.S: New file.
26472
26473 * include/grub/lib/LzFind.h: Likewise.
26474
26475 * include/grub/lib/LzHash.h: Likewise.
26476
26477 * include/grub/lib/LzmaDec.h: Likewise.
26478
26479 * include/grub/lib/LzmaEnc.h: Likewise.
26480
26481 * include/grub/lib/LzmaTypes.h: Likewise.
26482
26483 * lib/LzFind.c: Likewise.
26484
26485 * lib/LzmaDec.c: Likewise.
26486
26487 * lib/LzmaEnc.c: Likewise.
26488
4ae821ac 264892008-07-13 Bean <bean123ch@gmail.com>
26490
26491 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
26492 (grub_ext4_extent_header): New structure.
26493 (grub_ext4_extent): Likewise.
26494 (grub_ext4_extent_idx): Likewise.
26495 (grub_ext4_find_leaf): New function.
26496 (grub_ext2_read_block): Handle extents.
26497
9a745147 264982008-07-12 Robert Millan <rmh@aybabtu.com>
26499
26500 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
26501
d49a4cf6 265022008-07-11 Robert Millan <rmh@aybabtu.com>
26503
26504 * util/grub.d/40_custom.in: New file. Example on how to add custom
26505 entries to /etc/grub.d.
26506 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
26507 40_custom (implicitly, by merging all the grub.d rules).
26508
947414b4 265092008-07-11 Pavel Roskin <proski@gnu.org>
26510
0059cf6f 26511 * commands/read.c (grub_getline): Fix invalid memory access.
26512 Don't add newline to the variable value.
26513
947414b4 26514 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
26515 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
26516 (serial_hw_get_port): Check validity of the port number.
26517 (grub_cmd_serial): Check return value of serial_hw_get_port().
26518
62a02d00 265192008-07-07 Pavel Roskin <proski@gnu.org>
26520
26521 * boot/i386/pc/diskboot.S (notification_string): Replace
26522 "Loading kernel" with just "loading". This is shorter, less
26523 confusing and saves a few bytes for possible future changes.
26524
3e5581b0 265252008-07-05 Pavel Roskin <proski@gnu.org>
26526
ea387a48 26527 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
26528 size for ATAPI devices, they are undefined. Output sector
26529 number in decimal form.
26530
3e5581b0 26531 * disk/ata.c: Use named constants for status bits.
26532
fdecb8fd 265332008-07-04 Pavel Roskin <proski@gnu.org>
26534
bcd35b90 26535 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
26536 grub_addr_t before casting it to the void pointer to fix a
26537 warning. Non-addressable regions are discarded earlier.
26538 (grub_arch_modules_addr): Cast _end to grub_addr_t.
26539 * kern/i386/linuxbios/table.c: Include grub/misc.h.
26540 (check_signature): Don't shadow table_header.
26541 (grub_linuxbios_table_iterate): Cast numeric constants to
26542 grub_linuxbios_table_header_t.
26543 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
26544 grub_stop().
26545
af58ab3d 26546 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
26547 prevent warnings.
26548
1759aa57 26549 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
26550 pointer, which can cause warnings. Support 64-bit addresses.
26551
fdecb8fd 26552 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
26553 of sizeof(long). This fixes PowerPC image generation on x86_64.
26554
8516d2a8 265552008-07-04 Robert Millan <rmh@aybabtu.com>
26556
26557 This fixes a performance issue when pc & gpt partmap iterators
26558 didn't abort iteration even after our hook found what it was
fe987087 26559 looking for (often causing expensive probes of non-existent drives).
8516d2a8 26560
26561 Some callers relied on previous buggy behaviour, since they would
34c44600 26562 raise an error when their own hooks caused early abortion of its
8516d2a8 26563 iteration.
26564
26565 * kern/device.c (grub_device_open): Improve error message.
26566 * disk/lvm.c (grub_lvm_open): Likewise.
26567 * disk/raid.c (grub_raid_open): Likewise.
26568
26569 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
26570 when hook requests it, independently of grub_errno.
26571 (pc_partition_map_probe): Do not fail when find_func() caused
26572 early abortion of pc_partition_map_iterate().
26573
26574 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
26575 when hook requests it, independently of grub_errno.
26576 (gpt_partition_map_probe): Do not fail when find_func() caused
26577 early abortion of gpt_partition_map_iterate().
26578
26579 * kern/partition.c (grub_partition_iterate): Abort parent iteration
26580 when hook requests it, independently of grub_errno. Do not fail when
26581 part_map_iterate_hook() caused early abortion of p->iterate().
26582
26583 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
26584 when grub_partition_iterate() returned with non-zero.
26585
277d0de9 265862008-07-03 Pavel Roskin <proski@gnu.org>
26587
26588 * disk/ata.c (grub_ata_pio_write): Check status before writing,
26589 like we do in grub_ata_pio_read().
26590 (grub_ata_readwrite): Always write individual sectors. Fix the
26591 sector count for the remainder.
26592 (grub_ata_write): Enable writing to ATA devices. Correctly
26593 report error for ATAPI devices.
26594
d4c9b428 265952008-07-02 Pavel Roskin <proski@gnu.org>
26596
e43fc690 26597 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
26598 warning.
26599
f707af42 26600 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
26601 for every read sector, we already increment it for the whole
26602 batch. This fixes reading more than 256 sectors at once.
26603
11e16b15 26604 * util/grub-editenv.c (cmd_info): Cast argument to long
26605 explicitly. ptrdiff_t reduces to int on i386.
26606
cbabfdd4 26607 * util/grub-editenv.c (main): Be specific which parameter is
26608 missing.
26609
b8fbce0a 26610 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
26611 (memdisk): Make memdisk_orig_addr a pointer.
26612
c9c8e606 26613 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
26614 for file offsets, use grub_off_t instead. Fix printf format
26615 warnings.
26616
ca62e598 26617 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
26618 there. Real unexpected warnings should not drown in the noise
26619 about known problems.
26620
ce8d1766 26621 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
26622 grub_disk_addr_t for memory addresses.
26623
00c7a56a 26624 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
26625 explicitly to fix a warning.
26626
08d3ef09 26627 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
26628
cb71ba20 26629 * Makefile.in (MODULE_LDFLAGS): New variable.
26630 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
26631 the linker accepts --build-id=none.
26632 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
26633 MODULE_LDFLAGS.
26634 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
26635
d4c9b428 26636 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
26637 those in Linux XFS code. Provide a way to access 64-bit parent
26638 inode.
26639 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
26640 the end of struct grub_xfs_dir_header.
26641
d4156eee 266422008-07-02 Bean <bean123ch@gmail.com>
26643
26644 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
26645 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
26646 and GRUB_IEEE1275_FLAG_NO_ANSI.
26647
26648 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
26649 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
26650 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
26651
26652 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
26653 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
26654
26655 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
26656 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
26657
26658 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
26659 esc sequence on non ANSI terminal.
26660 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
26661
26662 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
26663 beginning of file.
26664
2270f77b 266652008-07-02 Bean <bean123ch@gmail.com>
26666
26667 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
26668 (grub_editenv_SOURCES): New variable.
26669 (pkglib_MODULES): Add loadenv.mod.
26670 (loadenv_mod_SOURCES): New variable.
26671 (loadenv_mod_CFLAGS): Likewise.
26672 (loadenv_mod_LDFLAGS): Likewise.
26673
26674 * include/grub/envblk.h: New file.
26675
26676 * util/envblk.c: New file.
26677
26678 * util/grub-editenv.c: New file.
26679
26680 * commands/loadenv.c: New file.
26681
0e9e51ec 266822008-07-01 Pavel Roskin <proski@gnu.org>
26683
d89b7634 26684 * include/multiboot2.h (struct multiboot_tag_module): Use char,
26685 not unsigned char. This fixes warnings and is consistent with
26686 other tags.
26687
bf1835b1 26688 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
26689
8222a04b 26690 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
26691
6a42d99d 26692 * term/tparm.c (analyze): Always set *popcount.
26693
10b159d1 26694 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
26695 cast to fix a warning.
26696
b8789f6c 26697 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
26698 cast to suppress a warning.
26699
29d7e38a 26700 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
26701 grub_fshelp_read_file() expects.
26702
f341f669 26703 * fs/fat.c: Fix UUID calculation on big-endian systems. We
26704 write uuid as a 32-bit value in CPU byte order, so declare and
26705 use it as such.
26706
0e9e51ec 26707 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
26708 long if the format specifier expects it.
26709 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
26710 * partmap/pc.c (pc_partition_map_iterate): Likewise.
26711 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
26712 long to fix a warning.
26713 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
26714 grub_dprintf() arguments to fix warnings.
26715
3aefa857 267162008-06-30 Pavel Roskin <proski@gnu.org>
26717
56c7668b 26718 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
26719 install_bsd_part immediately before core.img is embedded or
26720 modified on disk. This fixes core.img verification if core.img
26721 cannot be embedded.
26722
3aefa857 26723 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
26724 core_path to calculate the blocklist.
26725 Patch from Javier Martín <lordhabbit@gmail.com>
26726
5444088d 267272008-06-29 Robert Millan <rmh@aybabtu.com>
26728
26729 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
26730 block to disk block.
26731 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
26732 Patch from Niels Böhm <bitbucket@arcor.de>
26733
674835c8 267342008-06-29 Robert Millan <rmh@aybabtu.com>
26735
26736 * util/update-grub_lib.in (font_path): Search for fonts in
26737 /boot/grub first, which is more likely to be readable (we aren't
26738 deciding where fonts live, just looking for them).
26739
f527dbc8 267402008-06-26 Pavel Roskin <proski@gnu.org>
26741
6c2d8df6 26742 * util/biosdisk.c (read_device_map): Don't leave dead map
26743 entries for devices failing stat() check.
26744
f527dbc8 26745 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
26746 core_path_dev for the core.img path on the target device.
26747
aebe3d13 267482008-06-26 Robert Millan <rmh@aybabtu.com>
26749
26750 * disk/fs_uuid.c: New file.
26751 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
26752 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
26753 (fs_uuid_mod_LDFLAGS): New variables.
26754 * include/grub/disk.h (grub_disk_dev_id): Add
26755 `GRUB_DISK_DEVICE_UUID_ID'.
26756 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
26757 implement iterate().
26758
37aaf354 267592008-06-26 Robert Millan <rmh@aybabtu.com>
26760
26761 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
26762 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
26763 Linux image includes no initrd.
26764
25ff262a 267652008-06-21 Javier Martín <lordhabbit@gmail.com>
26766
26767 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
26768 call to resolve the core image location that effectively appended the
26769 name twice.
26770
76a2bd44 267712008-06-21 Robert Millan <rmh@aybabtu.com>
26772
26773 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
26774 call from here ...
26775
26776 * util/grub.d/10_hurd.in: ... to here ...
26777 * util/grub.d/10_linux.in: ... and here.
26778
650e1c79 267792008-06-19 Robert Millan <rmh@aybabtu.com>
26780
fe987087 26781 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 26782 after it has been set by grub_machine_set_prefix().
26783
6ce63911 267842008-06-19 Robert Millan <rmh@aybabtu.com>
26785
26786 * commands/search.c (search_label, search_fs_uuid, search_file): Print
26787 search result when not saving to variable, not the other way around.
26788 When saving to variable, abort iteration as soon as a match is found.
26789
73940cec 267902008-06-19 Robert Millan <rmh@aybabtu.com>
26791
26792 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
26793 check for partition that provides /boot/grub. Its logic is flawed,
26794 as it prevents prepare_grub_to_access_device() from being called
26795 multiple times.
26796
3c62a39d 267972008-06-19 Robert Millan <rmh@aybabtu.com>
26798
26799 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
26800 "insmod" command directly when abstraction modules are needed,
fe987087 26801 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 26802 since it had already been processed).
26803
47395a42 268042008-06-19 Pavel Roskin <proski@gnu.org>
26805
26806 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
26807 changed. This is needed in case GRUB_LIBDIR changes.
26808 * conf/i386-ieee1275.rmk: Likewise.
26809 * conf/i386-linuxbios.rmk: Likewise.
26810 * conf/i386-pc.rmk: Likewise.
26811 * conf/powerpc-ieee1275.rmk: Likewise.
26812
a145ac2d 268132008-06-18 Pavel Roskin <proski@gnu.org>
26814
26815 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
26816 kernel_elf_symlist.c to symlist.c for consistency with other
26817 architectures. Update all users.
26818 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
26819
7847c51e 268202008-06-18 Robert Millan <rmh@aybabtu.com>
26821
26822 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
26823 it in prefix.
26824
26825 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
26826 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
26827 a RAID device, run setup() for all members independently on whether
26828 LVM abstraction is being used.
26829 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
26830 If grub-mkimage has set `*install_dos_part == -2', don't override this
26831 value.
26832 Perform *install_dos_part adjustments independently on whether
26833 we're embedding or not.
26834 Clarify error message when image is too big for embedding.
26835 Remove duplicate *install_dos_part stanza.
26836
b23e5644 268372008-06-17 Robert Millan <rmh@aybabtu.com>
26838
26839 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
26840 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
26841 variables.
26842 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
26843 values in grub_ofconsole_normal_color and
26844 grub_ofconsole_highlight_color (they're not directly related to
26845 background and foreground).
26846 (grub_ofconsole_setcolorstate): Extract background and foreground
26847 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
26848
0aac2f79 268492008-06-17 Robert Millan <rmh@aybabtu.com>
26850
26851 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
26852 /boot/grub for the check in last commit, not /boot (they could be
26853 different partitions).
26854
3cca7ef3 268552008-06-16 Robert Millan <rmh@aybabtu.com>
26856
26857 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
26858 asked to setup access for the same partition that provides /boot,
26859 don't bother using UUIDs since our root already has the value we
26860 want.
26861
347396d8 268622008-06-16 Robert Millan <rmh@aybabtu.com>
26863
26864 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
26865 I2O devices.
26866 Patch from Sven Mueller <sven@debian.org>.
26867
991477f8 268682008-06-16 Robert Millan <rmh@aybabtu.com>
26869
26870 * util/update-grub.in: Check for $EUID instead of $UID.
26871 Reported by Vincent Zweije.
26872
d31a32a1 268732008-06-16 Bean <bean123ch@gmail.com>
26874
fe987087 26875 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 26876 (grub_ext2_read_block): Likewise.
26877 (grub_ext2_read_inode): Likewise.
26878 (grub_ext2_mount): Likewise.
26879 (grub_ext2_close): Likewise.
26880 (grub_ext3_get_journal): Removed.
26881
fe987087 26882 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 26883 (grub_reiserfs_read_symlink): Likewise.
26884 (grub_reiserfs_mount): Likewise.
26885 (grub_reiserfs_open): Likewise.
26886 (grub_reiserfs_read): Likewise.
26887 (grub_reiserfs_close): Likewise.
26888 (grub_reiserfs_get_journal): Removed.
26889
26890 * fs/fshelp.c (grub_fshelp_read): Removed.
26891 (grub_fshelp_map_block): Likewise.
26892
26893 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
26894 (grub_fshelp_journal): Likewise.
26895 (grub_fshelp_read): Likewise.
26896 (grub_fshelp_map_block): Likewise.
26897
3540a760 268982008-06-16 Pavel Roskin <proski@gnu.org>
26899
26900 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
26901 floating point anymore.
26902 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
26903
95614c84 269042008-06-15 Pavel Roskin <proski@gnu.org>
26905
26906 * commands/ls.c (grub_ls_list_files): Use integer calculations
26907 for human readable format, avoid floating point use.
26908 * kern/misc.c (grub_ftoa): Remove.
26909 (grub_vsprintf): Remove floating point support.
26910
50465dd6 269112008-06-15 Robert Millan <rmh@aybabtu.com>
26912
fe6b695a 26913 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 26914 devices.
26915 Reported by Max Vozeler.
26916
a9207284 269172008-06-15 Robert Millan <rmh@aybabtu.com>
26918
26919 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
26920 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
26921 skipped later.
26922 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
26923 the beginning of the prefix.
26924
26925 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
26926 It is assumed that if we have a memdisk, grub-mkimage has set
26927 grub_prefix to include the "(memdisk)" drive in it.
26928
a7cbd45a 269292008-06-15 Robert Millan <rmh@aybabtu.com>
26930
26931 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
26932 Initialize keyboard controller after registering the terminal, so that
26933 grub_printf() can be called from grub_keyboard_controller_init().
26934
21cf716a 269352008-06-15 Robert Millan <rmh@aybabtu.com>
26936
26937 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
26938 extent-btree which is written as big endian on disk.
26939 Reported by Alain Greppin <al@chilibi.org>.
26940
23a64d8e 269412008-06-14 Robert Millan <rmh@aybabtu.com>
26942
26943 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
26944 * util/i386/pc/grub-install.in (modules): Likewise.
26945
d687651c 269462008-06-13 Pavel Roskin <proski@gnu.org>
26947
26948 * commands/ls.c (grub_ls_list_files): Fix format warnings.
26949
dfe9ddd4 269502008-06-13 Bean <bean123ch@gmail.com>
26951
26952 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
26953
26954 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
26955
26956 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
26957 to indicate sparse block.
26958
16ae7781 269592008-06-12 Pavel Roskin <proski@gnu.org>
26960
e6d1a308 26961 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
26962 number, grub_fshelp_read() does it for us.
26963
16ae7781 26964 * fs/fshelp.c (grub_fshelp_read): New function. Implement
26965 linear disk read with journal translation.
26966 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
26967 * include/grub/fshelp.h: Declare grub_fshelp_read().
26968
40fd3a2b 269692008-06-09 Pavel Roskin <proski@gnu.org>
26970
26971 * fs/minix.c (grub_minix_mount): Handle error reading
26972 superblock.
26973
f5679726 269742008-06-08 Robert Millan <rmh@aybabtu.com>
26975
26976 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
26977 don't append the RAID prefix afterwards.
26978 Reported by Clint Adams.
26979
ce525529 269802008-06-08 Robert Millan <rmh@aybabtu.com>
26981
26982 Based on description from Pavel:
26983 * kern/disk.c (grub_disk_check_range): Rename to ...
26984 (grub_disk_adjust_range): ... this. Add a comment explaining the
26985 tasks performed by this function.
26986
ad4936a0 269872008-06-08 Robert Millan <rmh@aybabtu.com>
26988
26989 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
26990 `num_serial' (for consistency with other variables).
26991 (struct grub_ntfs_data): Add `uuid' member.
26992 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
26993 (grub_ntfs_uuid): New function.
26994 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
26995
dc20b0f9 269962008-06-07 Pavel Roskin <proski@gnu.org>
26997
26998 * util/biosdisk.c (open_device): Revert last change to the
26999 function, it broke installation. The sector needs to be
27000 different dependent on which device is opened.
27001
c5e3cfba 270022008-06-06 Robert Millan <rmh@aybabtu.com>
27003
27004 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
27005 rest of GRUB, and breakage doesn't happen if its value were modified.
27006
27007 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
27008 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
27009 a constant (same value).
27010 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
27011 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
27012
26a1f8c4 270132008-06-06 Robert Millan <rmh@aybabtu.com>
27014
27015 * util/biosdisk.c (open_device): Do not modify sector offset when
27016 accessing a partition. kern/disk.c already handles this for us.
27017
25d6b327 270182008-06-06 Robert Millan <rmh@aybabtu.com>
27019
27020 * util/grub-emu.c (grub_machine_init): Move code in this function from
27021 here ...
27022 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
27023 segfault in case grub_printf() is called).
27024
27025 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
27026 grub_probe. Update all users not to explicitly add it again.
27027 (grub_device): New variable; contains corresponding device for grubdir.
27028 (fs_module, partmap_module, devabstraction_module): Pass
27029 `--device ${grub_device}' to grub_probe to avoid traversing /dev
27030 every time.
27031
9ece62fb 270322008-06-05 Robert Millan <rmh@aybabtu.com>
27033
27034 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
27035 is found, print it (same layout as with labels).
27036
1ad36d37 270372008-06-04 Robert Millan <rmh@aybabtu.com>
27038
27039 * util/biosdisk.c (get_drive): Rename to ...
27040 (find_grub_drive): ... this. Update all users.
27041
27042 (get_os_disk): Rename to ...
27043 (convert_system_partition_to_system_disk): ... this. Update all users.
27044
27045 (find_drive): Rename to ...
27046 (find_system_device): ... this. Update all users.
27047
e6a30859 270482008-06-04 Robert Millan <rmh@aybabtu.com>
27049
27050 * util/biosdisk.c (get_os_disk): Handle IDA devices.
27051 * util/grub-mkdevicemap.c (get_mmc_disk_name)
27052 (make_device_map): Likewise.
27053
00c108a4 270542008-06-01 Robert Millan <rmh@aybabtu.com>
27055
27056 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
27057 before dereferencing it.
27058
27059 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
27060 union with fat12/fat16-specific ones. Add some new fields, including
27061 `num_serial' for both versions.
27062 (struct grub_fat_data): Add `uuid' member.
27063 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
27064 names. Initialize `data->uuid' using `num_serial'.
27065 (grub_fat_uuid): New function.
27066 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
27067
27068 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
27069 (grub_reiserfs_uuid): New function.
27070 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
27071 member.
27072
27073 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
27074 (grub_xfs_uuid): New function.
27075 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
27076
1385c5bb 270772008-06-01 Robert Millan <rmh@aybabtu.com>
27078
27079 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
27080 code that is backward compatible with pre-uuid search command.
27081
c682dfd7 270822008-05-31 Robert Millan <rmh@aybabtu.com>
27083
27084 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
27085 floppies after everything else, to ensure floppy drive isn't accessed
27086 unnecessarily (patch from Bean).
27087
b7db5d47 270882008-05-31 Robert Millan <rmh@aybabtu.com>
27089
27090 * commands/search.c (search_label, search_fs_uuid, search_file): Do
27091 not print device names when we were asked to set a variable.
27092
6e037aa9 270932008-05-31 Robert Millan <rmh@aybabtu.com>
27094
27095 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
27096 using "cursor-on" and "cursor-off" commands (understood at least by
27097 the Open Firmware flavour on OLPC).
27098
41305bc8 270992008-05-31 Michael Gorven <michael@gorven.za.net>
27100
27101 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
27102 on and off sequences.
27103
69ba137e 271042008-05-31 Robert Millan <rmh@aybabtu.com>
27105
27106 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
27107 * util/update-grub.in: Likewise.
27108
520ae21b 271092008-05-30 Pavel Roskin <proski@gnu.org>
27110
27111 * util/biosdisk.c (linux_find_partition): Simplify logic and
27112 make the code more universal. Keep special processing for
27113 devfs, but use a simple rule for all other devices. If the
27114 device ends with a number, append 'p' and the partition number.
27115 Otherwise, append only the partition number.
27116
5786569b 271172008-05-30 Robert Millan <rmh@aybabtu.com>
27118
27119 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
27120 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
27121 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
27122 the `root' parameter to Linux.
27123
51500452 271242008-05-30 Robert Millan <rmh@aybabtu.com>
27125
27126 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
27127 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
27128 --fs_uuid with --fs-uuid.
27129 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
27130 all filesystems support them).
27131
811d3878 271322008-05-30 Robert Millan <rmh@aybabtu.com>
27133
27134 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 27135 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 27136
cab63c95 271372008-05-30 Robert Millan <rmh@aybabtu.com>
27138
27139 * util/grub.d/00_header.in: Remove obsolete comment referencing
27140 convert_system_path_to_grub_path().
27141 * util/update-grub.in: Likewise.
27142 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
27143 (convert_system_path_to_grub_path): Add a warning message explaining
27144 that this function is deprecated. Rely on is_path_readable_by_grub()
27145 for the readability checks.
27146 (font_path): Use is_path_readable_by_grub() for the readability
27147 check rather than convert_system_path_to_grub_path().
27148
972e2f7a 271492008-05-30 Robert Millan <rmh@aybabtu.com>
27150
27151 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
27152 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
27153 converting it first.
27154 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
27155 grub.cfg for access to font file, and afterwards call it again to set
27156 the root device.
27157
62191274 271582008-05-30 Robert Millan <rmh@aybabtu.com>
27159
27160 * commands/search.c (options): Add --fs_uuid option.
27161 (search_fs_uuid): New function.
27162 (grub_cmd_search): Fix --set argument passing.
27163 Use search_fs_uuid() when requested via --fs_uuid.
27164 (grub_search_init): Update help message.
27165 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
27166 and redeclare it as an array of 16-bit words.
27167 (grub_ext2_uuid): New function.
27168 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
27169 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
27170 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
27171 (GRUB_DEVICE_BOOT_UUID): New variables.
27172 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
27173 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
27174 whenever possible.
27175 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
27176 just assume `root' variable has the right value.
27177 * util/grub.d/10_linux.in: Likewise.
27178 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
27179 via PRINT_FS_UUID.
27180 (main): Recognise `-t fs_uuid' argument.
27181
01b73ec8 271822008-05-30 Robert Millan <rmh@aybabtu.com>
27183
27184 * util/biosdisk.c (map): Redefine structure to hold information
27185 about GRUB drive name.
fe6b695a 27186 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 27187 drive names.
27188 (call_hook): Remove.
27189 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
27190 member. Assume drive has partitions.
27191 (grub_util_biosdisk_open): Access device names via `.device' struct
27192 member.
27193 (open_device): Likewise.
27194 (find_drive): Likewise.
27195 (read_device_map): Adjust map[] usage to match the new struct
27196 definition. Don't check for duplicates (still possible, but not cheap
27197 anymore).
27198 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
27199 (make_device_name): Remove assumption of BIOS-like drive names.
27200
22f16596 272012008-05-30 Pavel Roskin <proski@gnu.org>
27202
27203 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
27204 compiling execute.c doesn't need grub_script.tab.h anymore.
27205 (normal/command.c_DEPENDENCIES): Likewise.
27206 (normal/function.c_DEPENDENCIES): Likewise.
27207 * conf/i386-ieee1275.rmk: Likewise.
27208 * conf/i386-linuxbios.rmk: Likewise.
27209 * conf/i386-pc.rmk: Likewise.
27210 * conf/powerpc-ieee1275.rmk: Likewise.
27211 * conf/sparc64-ieee1275.rmk: Likewise.
27212
528ad8f2 272132008-05-29 Pavel Roskin <proski@gnu.org>
27214
d1dff95d 27215 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
27216 when scanning metadata for volume group name.
27217
528ad8f2 27218 * include/grub/script.h: Don't include grub_script.tab.h. It's
27219 a generated file, which may only be included from the files with
27220 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
27221 use union YYSTYPE, as the later allows forward declaration.
27222 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
27223
47248e08 272242008-05-29 Robert Millan <rmh@aybabtu.com>
27225
27226 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
27227 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
27228 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
27229 (grub_console_checkkey): Add grub_dprintf() call to report unknown
27230 scan codes.
27231
ee632529 272322008-05-29 Robert Millan <rmh@aybabtu.com>
27233
27234 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
27235 control key combinations.
27236
eee96e08 272372008-05-29 Robert Millan <rmh@aybabtu.com>
27238
27239 * util/powerpc/ieee1275/grub-install.in: Move from here ...
27240 * util/ieee1275/grub-install.in: ... to here.
27241 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
27242 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
27243 (grub_install_SOURCES): Likewise.
27244
da9a6a94 272452008-05-29 Robert Millan <rmh@aybabtu.com>
27246
27247 * fs/affs.c: Update copyright year.
27248 * fs/ext2.c: Likewise.
27249 * fs/fshelp.c: Likewise.
27250 * fs/hfsplus.c: Likewise.
27251 * fs/ntfs.c: Likewise.
27252 * fs/xfs.c: Likewise.
27253 * include/grub/fshelp.h: Likewise.
27254 * util/grub-mkdevicemap.c: Likewise.
27255
12e65f3a 272562008-05-28 Robert Millan <rmh@aybabtu.com>
27257
27258 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
27259 might need to be fatfs to support some firmware implementations
27260 (e.g. OFW or EFI).
27261
23023641 272622008-05-28 Robert Millan <rmh@aybabtu.com>
27263
27264 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
27265 devices.
27266 * util/grub-mkdevicemap.c (get_mmc_disk_name)
27267 (make_device_map): Likewise.
27268
887d2619 272692008-05-20 Bean <bean123ch@gmail.com>
27270
27271 * fs/fshelp.c (grub_fshelp_map_block): New function.
27272 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
27273 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
27274
27275 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
27276 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
27277 (grub_fshelp_journal): New structure.
27278 (grub_fshelp_map_block): New function prototype.
27279 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
27280 (grub_fshelp_map_block): Likewise.
27281
27282 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
27283 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
27284 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
27285 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
27286 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
27287 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
27288 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
27289 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
27290 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
27291 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
27292 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
27293 (grub_ext2_sblock): New members for journal support.
27294 (grub_ext3_journal_header): New structure.
27295 (grub_ext3_journal_revoke_header): Likewise.
27296 (grub_ext3_journal_block_tag): Likewise.
27297 (grub_ext3_journal_sblock): Likewise.
27298 (grub_fshelp_node): New members logfile and journal.
27299 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
27300 grub_fshelp_map_block to get real block number.
27301 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
27302 number.
27303 (grub_ext2_read_inode): Likewise.
27304 (grub_ext3_get_journal): New function.
27305 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
27306 (grub_ext2_close): Release memory used by journal.
27307
27308 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
27309 (REISERFS_MAGIC_DESC_BLOCK): New macro.
27310 (grub_reiserfs_transaction_header): Renamed to
27311 grub_reiserfs_description_block, replace field data with real_blocks.
27312 (grub_reiserfs_commit_block): New structure.
27313 (grub_reiserfs_data): New member journal.
27314 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
27315 number.
27316 (grub_reiserfs_read_symlink): Likewise.
27317 (grub_reiserfs_iterate_dir): Likewise.
27318 (grub_reiserfs_open): Likewise.
27319 (grub_reiserfs_read): Likewise.
27320 (grub_reiserfs_get_journal): New function.
27321 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
27322 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
27323 using grub_reiserfs_get_journal.
27324 (grub_reiserfs_close): Release memory used by journal.
27325
27326 * fs/affs.c (grub_affs_read_block): Change block type to
27327 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
27328
27329 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
27330
27331 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
27332
27333 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
27334
27335 * fs/udf.c (grub_udf_read_block): Change block type to
27336 grub_disk_addr_t. Use type cast to avoid warning.
27337
27338 * fs/xfs.c (grub_xfs_read_block): Likewise.
27339
b7c6bed5 273402008-05-16 Christian Franke <franke@computer.org>
27341
27342 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
27343 to ensure that break with ESC will always work.
27344 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
27345 Remove ESC from keyboard queue.
27346
eedf167f 273472008-05-16 Christian Franke <franke@computer.org>
27348
27349 * util/biosdisk.c: [__CYGWIN__] Add includes.
27350 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
27351 (get_os_disk): Move variable declarations to OS specific
27352 parts to avoid warning.
27353 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
27354 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
27355 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
27356 Cygwin.
27357 * util/getroot.c: [__CYGWIN__] Add includes.
27358 (strip_extra_slashes): Fix "/" case.
27359 [__CYGWIN__] (get_win32_path): New function.
27360 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
27361 [__CYGWIN__] (find_root_device): Disable.
27362 [__CYGWIN__] (get_bootsec_serial): New function.
27363 [__CYGWIN__] (find_cygwin_root_device): Likewise.
27364 [__linux__] (grub_guess_root_device): Add early returns to simplify
27365 structure.
27366 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
27367 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
27368 check for Linux only.
27369
a079699e 273702008-05-15 Bean <bean123ch@gmail.com>
27371
27372 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
27373 keyboard hang problem in apple's intel mac.
27374
1cf4059a 273752008-05-09 Robert Millan <rmh@aybabtu.com>
27376
27377 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
27378 devices.
27379 * util/grub-mkdevicemap.c (get_virtio_disk_name)
27380 (make_device_map): Likewise.
27381 Reported by Aurelien Jarno <aurel32@debian.org>
27382
ed759390 273832008-05-07 Ian Campbell <ijc@hellion.org.uk>
27384
27385 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
27386 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
27387 (make_device_map): Output entries for xvd type disks.
27388
b56c4eaa 273892008-05-07 Robert Millan <rmh@aybabtu.com>
27390
27391 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
27392 devices.
27393 * util/grub-mkdevicemap.c (get_cciss_disk_name)
27394 (make_device_map): Likewise.
27395 Reported by Roland Dreier <rdreier@cisco.com>
27396
7f8866ed 273972008-05-07 Robert Millan <rmh@aybabtu.com>
27398
27399 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
27400 grub_strstr() call. Correct a few mistakes in failure path handling.
27401
b0346e0f 274022008-05-06 Robert Millan <rmh@aybabtu.com>
27403
27404 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
27405 Do not print a trailing slash (therefore, the root directory is an
27406 empty string).
27407 (convert_system_path_to_grub_path): Do not remove trailing slash
27408 from make_system_path_relative_to_its_root() output.
27409
27410 * util/i386/pc/grub-install.in: Add trailing slash to output from
27411 make_system_path_relative_to_its_root().
27412
6cf12cbd 274132008-05-06 Robert Millan <rmh@aybabtu.com>
27414
27415 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
27416 ensures that output lines aren't intermangled with those sent to
27417 stderr (via grub_util_info()).
27418 * util/grub-probe.c (grub_refresh): Likewise.
27419 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
27420
0fbb3117 274212008-05-05 Christian Franke <franke@computer.org>
27422
27423 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
27424 Add Cygwin device names.
27425 (get_ide_disk_name) [__CYGWIN__]: Likewise.
27426 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
27427 (check_device): Return error instead of success on empty name.
27428 (make_device_map): Move label inside linux specific code to
27429 prevent compiler warning.
27430
8124cdb7 274312008-04-30 Robert Millan <rmh@aybabtu.com>
27432
27433 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
27434 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
27435 first boot option.
27436 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
27437
094c01d0 274382008-04-29 Robert Millan <rmh@aybabtu.com>
27439
27440 * docs/grub.cfg: New file (example GRUB configuration).
27441
f4b1fc02 274422008-04-26 Robert Millan <rmh@aybabtu.com>
27443
329ce2a5 27444 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
27445 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
27446 and `disk/ieee1275/nand.c'.
f4b1fc02 27447
25f16ec1 274482008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 27449
25f16ec1 27450 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
27451 i386-linuxbios.
27452
27453 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
27454 change the buffer size to 4096 for cdrom device.
27455
27456 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
27457 and nand.mod.
27458 (_linux_mod_SOURCES): New variable.
27459 (_linux_mod_CFLAGS): Likewise.
27460 (_linux_mod_LDFLAGS): Likewise.
27461 (linux_mod_SOURCES): Likewise.
27462 (linux_mod_CFLAGS): Likewise.
27463 (linux_mod_LDFLAGS): Likewise.
27464 (nand_mod_SOURCES): Likewise.
27465 (nand_mod_CFLAGS): Likewise.
27466 (nand_mod_LDFLAGS): Likewise.
27467
27468 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
27469 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
27470 type property. (nand device in olpc don't have this property)
27471
27472 * include/grub/disk.h (grub_disk_dev_id): New macro
27473 GRUB_DISK_DEVICE_NAND_ID.
27474
27475 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
27476 function prototype.
27477 (grub_rescue_cmd_initrd): Likewise.
27478
27479 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
27480 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
27481 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 27482
25f16ec1 27483 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
27484 GRUB_MACHINE_IEEE1275 is defined.
27485
27486 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
27487 Use NESTED_FUNC_ATTR attribute on the hook parameter.
27488
27489 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
27490 on nested function heap_init.
27491 (grub_upper_mem): New variable for i386-ieee1275.
27492 (grub_get_extended_memory): New function for i386-ieee1275.
27493 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
27494
27495 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
27496 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
27497 property.
f19dbdb7 27498
25f16ec1 27499 * loader/i386/ieee1275/linux.c: New file.
27500
27501 * loader/i386/ieee1275/linux_normal.c: New file.
27502
27503 * disk/ieee1275/nand.c: New file.
27504
e89d61e9 275052008-04-18 Thomas Schwinge <tschwinge@gnu.org>
27506
27507 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
27508 value.
27509 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
27510
602566f6 275112008-04-18 Robert Millan <rmh@aybabtu.com>
27512
27513 Restructures early code path on ieee1275 to unify grub_main() as
27514 the first C function that is executed in every platform.
27515
27516 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
27517 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
27518 cmain().
27519 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
27520 * kern/ieee1275/cmain.c (cmain): Rename to ...
27521 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
27522 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
27523 at the beginning.
27524
57490c2b 275252008-04-18 Robert Millan <rmh@aybabtu.com>
27526
27527 * util/update-grub.in: Fix syntax error when setting
27528 `GRUB_PRELOAD_MODULES'.
27529 Reported by Stephane Chazelas <stephane@artesyncp.com>
27530
1977517d 275312008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
27532
27533 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
27534 section into account, newer toolchains generate unique build ids
27535 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 27536 we want build ids to be preserved
1977517d 27537 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
27538 far from other sections don't cause the raw binary images grow
27539 size
27540
bfb1f1a2 275412008-04-15 Robert Millan <rmh@aybabtu.com>
27542
27543 * disk/lvm.c: Update copyright year.
27544 * kern/misc.c: Likewise.
27545
01979850 275462008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
27547
27548 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 27549 there is no memory left for physical volume name.
01979850 27550
0a1150e2 275512008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
27552
27553 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
27554 volume name mapping to support bigger than 9 character names properly.
27555
82ead3fe 275562008-04-13 Robert Millan <rmh@aybabtu.com>
27557
27558 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
27559 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
27560
e54a72f5 275612008-04-13 Christian Franke <franke@computer.org>
27562
27563 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
27564 to create a floppy emulation boot CD when non emulation mode
27565 does not work.
27566 Enable Joliet CD filesystem extension.
27567
9fe86034 275682008-04-13 Robert Millan <rmh@aybabtu.com>
27569
27570 * kern/misc.c (grub_strncat): Fix off-by-one error.
27571 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
27572
27573 * kern/env.c (grub_env_context_close): Clear current context, not
27574 previous one.
27575 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
27576
27577 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
27578
7ceeee39 275792008-04-13 Robert Millan <rmh@aybabtu.com>
27580
27581 Improve robustness when handling LVM.
27582
27583 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 27584 (and leave `*p' unmodified).
7ceeee39 27585 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
27586 through it.
27587 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
27588 iterating through it.
27589 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
27590 through it.
fe6b695a 27591 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 27592 when due) on each grub_lvm_getvalue() or grub_strstr() call.
27593 Don't assume `vg->pvs != NULL' when iterating through it.
27594
58cd3d85 275952008-04-13 Robert Millan <rmh@aybabtu.com>
27596
27597 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
27598 * genmk.rb (partmap): New variable.
27599 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
27600 (#{partmap}): New target rule.
27601 * genpartmaplist.sh: New file.
27602 * Makefile.in (pkglib_DATA): Add partmap.lst.
27603 (partmap.lst): New target rule.
27604 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
27605 modules (including all partition maps), instead of preloading them.
27606
78b51059 276072007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
27608
27609 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
27610 `linux-boot-prober' (if installed) to detect other operating
27611 systems which are installed on the computer and add them to
27612 the boot menu.
27613 * conf/common.rmk: Build and install 30_os-prober.
27614
a91627b4 276152008-04-12 Robert Millan <rmh@aybabtu.com>
27616
27617 * kern/powerpc/ieee1275/init.c: Move from here ...
27618 * kern/ieee1275/init.c: ... to here. Update all users.
27619
27620 * kern/powerpc/ieee1275/cmain.c: Move from here ...
27621 * kern/ieee1275/cmain.c: ... to here. Update all users.
27622
27623 * kern/powerpc/ieee1275/openfw.c: Move from here ...
27624 * kern/ieee1275/openfw.c: ... to here. Update all users.
27625
27626 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
27627 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
27628
322562ea 276292008-04-10 Pavel Roskin <proski@gnu.org>
27630
27631 * configure.ac: Always use "_cv_" in cache variables for
27632 compatibility with Autoconf 2.62.
27633
a02a73c5 276342008-04-07 Robert Millan <rmh@aybabtu.com>
27635
27636 Revert grub/machine/init.h addition by Pavel (since it breaks on
27637 i386-ieee1275 and others):
27638 * util/i386/pc/misc.c: Remove grub/machine/init.h.
27639 * util/powerpc/ieee1275/misc.c: Likewise.
27640
25c024b1 276412008-04-07 Robert Millan <rmh@aybabtu.com>
27642
27643 * util/grub-probe.c (probe): Improve error message.
27644
3cbd2f98 276452008-04-07 Robert Millan <rmh@aybabtu.com>
27646
27647 * util/biosdisk.c (read_device_map): Skip devices that don't exist
27648 (this prevents the presence of a bogus entry from ruining the whole
27649 thing).
27650
87a297bf 276512008-04-06 Pavel Roskin <proski@gnu.org>
27652
36747a62 27653 * util/biosdisk.c: Include grub/util/biosdisk.h.
27654 * util/grub-fstest.c (execute_command): Make static.
27655 * util/grub-mkdevicemap.c (check_device): Likewise.
27656 * util/i386/pc/misc.c: Include grub/machine/init.h.
27657 * util/powerpc/ieee1275/misc.c: Likewise.
27658 * util/lvm.c: Include grub/util/lvm.h.
27659 * util/misc.c: Include grub/kernel.h, grub/misc.h and
27660 grub/cache.h.
27661 * util/raid.c: Include grub/util/raid.h.
27662 (grub_util_getdiskname): Make static.
27663
87a297bf 27664 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
27665 grub_hostfs_fini(), as they are called from grub_init_all() and
27666 grub_fini_all() respectively. This fixes an infinite loop in
27667 grub-fstest due to double registration of hostfs.
27668 Reported by Christian Franke <Christian.Franke@t-online.de>
27669
f6ce7629 276702008-04-05 Pavel Roskin <proski@gnu.org>
27671
27672 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
27673 all 8 functions. Otherwise, probe function 0 only.
27674
070e49e4 276752008-04-04 Pavel Roskin <proski@gnu.org>
27676
8b088a4c 27677 * commands/lspci.c (grub_lspci_iter): Print the bus number
27678 correctly.
27679
4f657021 27680 * commands/lspci.c (grub_pci_classes): Fix typos.
27681 (grub_lspci_iter): Don't print func twice. Print vendor ID
27682 before device ID, as it's normally done.
27683
070e49e4 27684 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
27685 Fix signedness warnings.
27686 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
27687 Likewise.
27688 * util/ieee1275/get_disk_name.c: Include config.h so that
27689 _GNU_SOURCE is defined and getline() is declared. Mark an
27690 unused argument as such. Fix a signedness warning.
27691
ba7328dc 276922008-04-02 Pavel Roskin <proski@gnu.org>
27693
26887f22 27694 * genkernsyms.sh.in: Use more robust assignments for CC and
27695 srcdir. Quote srcdir.
27696 * gensymlist.sh.in: Likewise. Assert at the compile time that
27697 the symbol table is not empty.
27698
ba7328dc 27699 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
27700 * fs/cpio.c (grub_cpio_read): Likewise.
27701
0f582c6b 277022008-04-01 Pavel Roskin <proski@gnu.org>
27703
4b6e1995 27704 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
27705 * disk/host.c (grub_host_open): Likewise.
27706 * disk/loopback.c (grub_loopback_open): Likewise.
27707 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
27708 disk->id as in disk/host.c, not a multi-character constant.
27709
828a2768 27710 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
27711 later is obsolete, potentially dangerous and sets a bad example.
27712 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
27713 * util/misc.c (grub_util_get_image_size): Likewise.
27714
2bb4fb47 27715 * disk/loopback.c (options): Improve help for "--partitions".
27716
0f582c6b 27717 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
27718 options to align them with the short options, e.g. "echo -e".
27719
a33224e0 277202008-03-31 Bean <bean123ch@gmail.com>
27721
27722 * video/reader/png.c (grub_png_data): New member is_16bit and
27723 image_data.
27724 (grub_png_decode_image_header): Detect 16 bit png image.
27725 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
27726 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
27727 (grub_video_reader_png): Release memory occupied by image_data.
27728
27729 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
27730 4096 bytes.
27731 (grub_nfs_mount): Skip the test for sector per cluster.
27732
27733 * include/grub/ntfs.h (MAX_SPC): Removed.
27734
86cb4f54 277352008-03-31 Bean <bean123ch@gmail.com>
27736
27737 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
27738 (grub_probe_SOURCES): Add fs/afs.c.
27739 (grub_fstest_SOURCES): Likewise.
27740 (afs_mod_SOURCES): New variable.
27741 (afs_mod_CFLAGS): Likewise.
27742 (afs_mod_LDFLAGS): Likewise.
27743
27744 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
27745 (grub_emu_SOURCES): Likewise.
27746
27747 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
27748
27749 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27750
27751 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
27752
27753 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27754
27755 * fs/afs.c: New file.
27756
17c74c21 277572008-03-30 Pavel Roskin <proski@gnu.org>
27758
4cb68e89 27759 * disk/host.c: Include grub/misc.h to fix a warning.
27760 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
27761 warnings about implicit declarations.
27762
8790bb04 27763 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
27764 variable.
27765 * include/grub/i386/loader.h: Change declaration of
27766 grub_linux_boot() to match what grub_loader_set() expects.
27767 * util/getroot.c (grub_guess_root_device): Return const char* to
27768 fix a warning.
27769 * util/grub-probe.c (probe): Fix a warning about uninitialized
27770 abstraction_name variable.
27771 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
27772 second argument as unused to fix a warning.
27773
9a3f3296 27774 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
27775 missing grub_error() call.
27776
0ecef90d 27777 * util/update-grub_lib.in: Define datarootdir, since Autoconf
27778 2.60 and newer uses it to define datadir.
27779
0bf6d401 27780 * commands/sleep.c: Fix warning about implicit declaration.
27781 * disk/memdisk.c: Likewise.
27782 * loader/aout.c: Likewise.
27783 * loader/i386/bsd_normal.c: Likewise.
27784 * util/grub-probe.c: Likewise.
27785
7cdacf97 27786 * commands/i386/cpuid.c (has_longmode): Make static.
27787 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
27788 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
27789
17c74c21 27790 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
27791 GDT. This is more robust, as %ds can change.
27792 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
27793 calling real_to_prot().
27794 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
27795
80a3e68b 277962008-03-28 Pavel Roskin <proski@gnu.org>
27797
27798 * kern/i386/pc/startup.S: Assert that uncompressed functions
27799 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
27800 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
27801 code, as they push parts of the code (error handlers) beyond
27802 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
27803 code as correctness and size.
27804
77bcd272 278052008-03-28 Pavel Roskin <proski@gnu.org>
27806
27807 * kern/i386/pc/startup.S
27808 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
27809 data block address to the real mode, keep offset minimal. This
27810 works around a bug in AWARD BIOS on old Athlon systems, which
27811 makes CD detection hang.
27812
c5dfd43b 278132008-03-26 Pavel Roskin <proski@gnu.org>
27814
27815 * normal/color.c (grub_parse_color_name_pair): Make `name' a
27816 const.
27817 * include/grub/normal.h: Add grub_parse_color_name_pair()
27818 declaration.
27819
bf962df2 278202008-03-24 Bean <bean123ch@gmail.com>
27821
27822 * disk/i386/pc/biosdisk.c (cd_start): Removed.
27823 (cd_count): Removed.
27824 (cd_drive): New variable.
27825 (grub_biosdisk_get_drive): Don't check for (cdN) device.
27826 (grub_biosdisk_call_hook): Likewise.
27827 (grub_biosdisk_iterate): Change cdrom detection method.
27828 (grub_biosdisk_open): Replace cd_start with cd_drive.
27829 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
27830 detect cdrom device.
27831
27832 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
27833 Removed.
27834 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
27835 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
27836 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
27837 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
27838 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
27839 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
27840 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
27841 (grub_biosdisk_cdrp): New structure.
27842 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
27843
27844 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
27845
27846 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
27847 device.
27848
27849 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
27850 New function.
27851
68e7fc7a 278522008-03-20 Robert Millan <rmh@aybabtu.com>
27853
27854 Remove 2 TiB limit in ata.mod.
27855 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
27856 (grub_ata_dumpinfo): Print sector count with 0x%llx.
27857 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
27858 grub_uint64_t instead of grub_uint32_t.
27859
38ad2cf5 278602008-03-05 Bean <bean123ch@gmail.com>
27861
27862 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
27863 (grub_multiboot): Set boot device.
27864
27865 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
27866
2b89344e 278672008-03-02 Bean <bean123ch@gmail.com>
27868
27869 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
27870 symlink_buffer.
27871
87a95d1f 278722008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
27873
27874 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
27875 texinfo.tex.
27876
27877 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
27878 modified.
27879
27880 * docs/fdl.texi: New file.
f19dbdb7 27881
87a95d1f 27882 * docs/mdate-sh: New file. Copied from gnulib.
27883 * docs/texinfo.tex: Likewise.
27884
27885 * config.guess: Updated from gnulib.
27886 * install-sh: Likewise.
27887
7dc15d8e 278882008-02-28 Robert Millan <rmh@aybabtu.com>
27889
27890 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
27891 (aout_mod_SOURCES): New variable.
27892 (aout_mod_CFLAGS): Likewise.
27893 (aout_mod_LDFLAGS): Likewise.
27894
27895 * conf/i386-ieee1275.rmk: Likewise.
27896
b00ab696 278972008-02-28 Robert Millan <rmh@aybabtu.com>
27898
27899 * util/update-grub.in: Reorganise terminal validity check. Accept
27900 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
27901 Based on suggestion by Franklin PIAT.
27902
79ca2d78 279032008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
27904
27905 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
27906 function.
27907 * util/getroot.c (grub_util_check_block_device): New function that
27908 returns the given argument if it is a block device and returns NULL else.
27909 * util/grub-probe.c (argument_is_device): New variable.
27910 (probe): Promote device_name from a variable to an argument. Receive
27911 device_name from grub_util_check_block_device() if path is NULL and from
27912 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 27913 (options): Introduce new parameter '-d, --device'.
79ca2d78 27914 (main): Add description of the new parameter to the help screen.
27915 Rename path variable to argument. Set argument_is_device if the '-d'
27916 option is given. Pass argument to probe() depending on
27917 argument_is_device.
27918
0d16e571 279192008-02-24 Bean <bean123ch@gmail.com>
27920
27921 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
27922 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
27923 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
27924 (GRUB_ISO9660_VOLDESC_PART): Likewise.
27925 (GRUB_ISO9660_VOLDESC_END): Likewise.
27926 (grub_iso9660_primary_voldesc): New member escape.
27927 (grub_iso9660_data): New member joliet.
27928 (grub_iso9660_convert_string): New function.
27929 (grub_iso9660_mount): Detect joliet extension.
27930 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
27931 (grub_iso9660_iso9660_label): Likewise.
27932
27933 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
27934 (grub_setup_SOURCES): Add fs/udf.c.
27935 (grub_fstest_SOURCES): Likewise.
27936 (udf_mod_SOURCES): New variable.
27937 (udf_mod_CFLAGS): Likewise.
27938 (udf_mod_LDFLAGS): Likewise.
27939
27940 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
27941 (grub_emu_SOURCES): Likewise.
27942
27943 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
27944
27945 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27946
27947 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
27948
27949 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27950
27951 * fs/udf.c: New file.
27952
8a594a17 279532008-02-24 Robert Millan <rmh@aybabtu.com>
27954
27955 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
27956 (normal/lexer.c_DEPENDENCIES): New variables.
27957 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
27958 (normal/lexer.c_DEPENDENCIES): Likewise.
27959 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
27960 (normal/lexer.c_DEPENDENCIES): Likewise.
27961 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
27962 (normal/lexer.c_DEPENDENCIES): Likewise.
27963 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
27964 (normal/lexer.c_DEPENDENCIES): Likewise.
27965 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
27966 (normal/lexer.c_DEPENDENCIES): Likewise.
27967
2dc33c03 279682008-02-23 Robert Millan <rmh@aybabtu.com>
27969
27970 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
27971 since they were intended to be in hex. This didn't break previously
27972 because of a bug in gpt_partition_map_iterate() (see below).
27973
27974 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
27975 when checking the validity of GPT header.
27976 Remove `partno', since it always provides the same information as `i'.
27977
f6f4cfb0 279782008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
27979
27980 * include/grub/efi/time.h: Fix a wrong comment.
27981
79ff665f 279822008-02-19 Pavel Roskin <proski@gnu.org>
27983
27984 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
27985 message.
27986
d38e24c2 279872008-02-19 Bean <bean123ch@gmail.com>
27988
27989 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
27990 (aout_mod_SOURCES): New variable.
27991 (aout_mod_CFLAGS): Likewise.
27992 (aout_mod_LDFLAGS): Likewise.
27993 (_bsd_mod_SOURCES): New variable.
27994 (_bsd_mod_CFLAGS): Likewise.
27995 (_bsd_mod_LDFLAGS): Likewise.
27996 (bsd_mod_SOURCES): New variable.
27997 (bsd_mod_CFLAGS): Likewise.
27998 (bsd_mod_LDFLAGS): Likewise.
27999
28000 * include/grub/aout.h: New file.
28001
28002 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
28003
28004 * include/grub/i386/bsd.h: New file.
28005
28006 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
28007 to make it public.
28008
28009 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
28010 function is called, so that it's possible to change it inside the hook.
28011 (grub_elf64_load): Likewise.
28012 (grub_elf_file): Don't close the file if elf header is not found.
28013 (grub_elf_close): Close the file if grub_elf_file fails (The new
28014 grub_elf_file won't close it).
28015 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
28016 (grub_elf64_size): Likewise.
28017
28018 * kern/i386/loader.S (grub_unix_real_boot): New function.
28019
28020 * loader/aout.c: New file.
28021
28022 * loader/i386/bsd.c: New file.
28023
28024 * loader/i386/bsd_normal.c: New file.
28025
28026 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
28027
28028 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 28029 can test other formats.
d38e24c2 28030
b93bdb0f 280312008-02-19 Robert Millan <rmh@aybabtu.com>
28032
28033 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
28034 (grub_gpt_partition_type_empty): Redefine with macro from
28035 `<grub/gpt_partition.h>'.
28036 (gpt_partition_map_iterate): Adjust partition type comparison.
28037
28038 Export `entry' as partmap-specific `part.data' struct.
28039 (grub_gpt_header, grub_gpt_partentry): Move from here ...
28040
28041 * include/grub/gpt_partition.h (grub_gpt_header)
28042 (grub_gpt_partentry): ... to here (new file).
28043
28044 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
28045
28046 (grub_gpt_partition_type_bios_boot): New const variable, defined
28047 with macro from `<grub/gpt_partition.h>'.
28048
28049 (setup): Replace `first_start' with `embed_region', which keeps
28050 track of the embed region (and is partmap-agnostic).
28051
28052 Replace find_first_partition_start() with find_usable_region(),
28053 which finds a usable region for embedding using partmap-specific
28054 knowledge (supports PC/MSDOS and GPT).
28055
28056 Fix all assumptions that the embed region start at sector 1, using
28057 `embed_region.start' from now on. Similarly, use `embed_region.end'
28058 rather than `first_start' to calculate available size.
28059
28060 In grub_util_info() message, replace "into after the MBR" with an
28061 indication of the specific sector our embed region starts at.
28062
66cb40f6 280632008-02-19 Robert Millan <rmh@aybabtu.com>
28064
28065 * DISTLIST: Replace `commands/ieee1275/halt.c' and
28066 `commands/ieee1275/reboot.c' with `commands/halt.c' and
28067 `commands/reboot.c'.
28068 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
28069 (halt_mod_SOURCES): Likewise.
28070 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
28071 (halt_mod_SOURCES): Likewise.
28072
b7202015 280732008-02-17 Christian Franke <franke@computer.org>
28074
28075 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
28076
32b0fc49 280772008-02-17 Robert Millan <rmh@aybabtu.com>
28078
28079 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
28080 set `first_start' to 0 for non-PC/MSDOS partition maps.
28081
aca63502 280822008-02-16 Robert Millan <rmh@aybabtu.com>
28083
28084 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
28085 do not assume partition map is PC/MSDOS before performing checks that
28086 are specific to that layout.
28087
0de8be86 280882008-02-13 Robert Millan <rmh@aybabtu.com>
28089
28090 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
28091 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
28092 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
28093
c3db8364 280942008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
28095
28096 * configure.ac: Only a cosmetic change on the handling of
28097 -fno-stack-protector.
28098
f714229e 280992008-02-12 Alexandre Boeglin <alex@boeglin.org>
28100
c3db8364 28101 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
28102 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
28103 reboot.c.
f714229e 28104 (grub_install_SOURCES): Add halt.mod and reboot.mod.
28105 (halt_mod_SOURCES): New variable.
28106 (halt_mod_CFLAGS): Likewise.
28107 (halt_mod_LDFLAGS): Likewise.
28108 (reboot_mod_SOURCES): Likewise.
28109 (reboot_mod_CFLAGS): Likewise.
28110 (reboot_mod_LDFLAGS): Likewise.
28111
c3db8364 28112 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
28113 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
28114 reboot.c.
f714229e 28115 (halt_mod_SOURCES): Likewise.
28116 (reboot_mod_SOURCES): Likewise.
28117
c3db8364 28118 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
28119 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 28120 (reboot_mod_SOURCES): Likewise.
28121
28122 * commands/i386/pc/reboot.c: merge this file ...
28123
28124 * commands/ieee1275/reboot.c: ... and this file ...
28125
28126 * commands/reboot.c: ... to this file.
c3db8364 28127 Add some precompiler directive to include the correct header for
28128 each machine.
f714229e 28129
28130 * commands/ieee1275/halt.c: move this file ...
28131
28132 * commands/halt.c: ... to here.
c3db8364 28133 Add some precompiler directive to include the correct header for
28134 each machine.
f714229e 28135
28136 * include/grub/efi/efi.h (grub_reboot): New function declaration.
28137 (grub_halt): Likewise.
28138
28139 * kern/efi/efi.c (grub_reboot): New function.
28140 (grub_halt): Likewise.
28141
c74493e0 281422008-02-12 Robert Millan <rmh@aybabtu.com>
28143
28144 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
28145 /dev (like it is done for /dev/mapper). This doesn't provide support
28146 for EVMS, but at least it is now easy to identify the problem when it
28147 arises.
28148
d0db4b04 281492008-02-11 Robert Millan <rmh@aybabtu.com>
28150
28151 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
28152 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
28153 comparing it with -1, not 0.
28154
bf748642 281552008-02-10 Robert Millan <rmh@aybabtu.com>
28156
28157 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
28158 `disk/lvm.c'.
28159 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28160 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
28161
28162 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
28163 `disk/lvm.c' to the end of the list.
28164 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
28165 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
28166
b5db202a 281672008-02-10 Robert Millan <rmh@aybabtu.com>
28168
28169 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
28170 grub_print_error() instead. This will let user know why we're entering
28171 rescue mode.
28172 Based on suggestions from Sam Morris.
28173
83abee31 281742008-02-10 Alexandre Boeglin <alex@boeglin.org>
28175
28176 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
28177 on remaining N args, instead of "--" arg N times.
28178
78d5a08b 281792008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
28180
28181 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
28182 (fill_with_default_glyph): Changed to use unknown_glyph for fill
28183 pattern for unknown glyphs.
28184
68807e5f 281852008-02-09 Robert Millan <rmh@aybabtu.com>
28186
28187 * configure.ac: Probe for `help2man'.
28188 * Makefile.in (builddir): New variable.
28189 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
28190 or otherwise add a few flags/options to it.
28191 (install-local): For every executable utility or script that is
28192 installed, invoke $(HELP2MAN) to install a manpage based on --help
28193 output.
28194
28195 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
28196 that it doesn't prevent --help from working in build tree.
28197
28198 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
28199 with `bug-grub@gnu.org'.
28200 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
28201 * util/update-grub.in (usage): New function.
28202 Implement proper argument check, with support for --help and --version
28203 (as well as existing -y).
28204
282052008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 28206
28207 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
28208 avoid overwriting previous output.
28209 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
28210
c1962162 282112008-02-09 Robert Millan <rmh@aybabtu.com>
28212
28213 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
28214 drawing the menu.
28215
3dac2e3f 282162008-02-09 Robert Millan <rmh@aybabtu.com>
28217
28218 * commands/sleep.c: New file.
28219 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
28220 (sleep_mod_SOURCES): New variable.
28221 (sleep_mod_CFLAGS): Likewise.
28222 (sleep_mod_LDFLAGS): Likewise.
28223
7a634e08 282242008-02-09 Robert Millan <rmh@aybabtu.com>
28225
28226 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
28227 situations in which we can deduce the RAID size and the superblock
28228 doesn't match it.
28229
b92f0c18 282302008-02-09 Robert Millan <rmh@aybabtu.com>
28231
28232 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
28233 and return a grub_diskmemberlist_t composed of LVM physical volumes.
28234 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
28235
28236 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
28237 and return a grub_diskmemberlist_t composed of physical array members.
28238 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
28239
28240 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
28241 prototype.
28242 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
28243 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
28244 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
28245
28246 * util/grub-probe.c (probe): Move partmap probing code from here ...
28247 (probe_partmap): ... to here.
28248 (probe): Use probe_partmap() once for the disk we're probing, and
28249 additionally, when such disk contains a memberlist() struct member,
28250 once for each disk that is contained in the structure returned by
28251 memberlist().
28252
91a4bf68 282532008-02-09 Robert Millan <rmh@aybabtu.com>
28254
28255 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
28256 environment variable to 'all' in order to obtain debug output from
28257 non-util/ code.
28258 * util/i386/pc/grub-setup.c (main): Likewise.
28259
a96f9caa 282602008-02-08 Robert Millan <rmh@aybabtu.com>
28261
28262 * disk/raid.c (grub_raid_scan_device): Check for
28263 `array->device[sb.this_disk.number]' rather than for
28264 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 28265 guaranteed to be accessible.
a96f9caa 28266
b37a9222 282672008-02-08 Robert Millan <rmh@aybabtu.com>
28268
28269 * disk/raid.c: Update copyright.
28270 * fs/cpio.c: Likewise.
28271 * include/grub/raid.h: Likewise.
28272 * loader/i386/pc/multiboot.c: Likewise.
28273 * util/hostfs.c: Likewise.
28274
5626aee1 282752008-02-08 Robert Millan <rmh@aybabtu.com>
28276
28277 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
28278 to a grub_disk_t array.
28279 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
28280 `device[x]'.
28281 (grub_raid_scan_device): Replace `device[x].name' accesses with
28282 `device[x]->name'. Simplify initialization of `array->device[x]'.
28283
554f0187 282842008-02-08 Robert Millan <rmh@aybabtu.com>
28285
28286 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
28287 grub_dprintf() calls.
28288 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
28289 error message.
28290
1ec8425d 282912008-02-07 Christian Franke <franke@computer.org>
28292
28293 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
28294 instead of fseek and ftell to support large files.
28295 (grub_hostfs_read): Likewise.
28296
f2156fda 282972008-02-07 Robert Millan <rmh@aybabtu.com>
28298
28299 Patch from Jeroen Dekkers.
28300 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 28301 failure, since successfully reading all array members might not be
f2156fda 28302 required.
28303
9216e0e7 283042008-02-06 Robert Millan <rmh@aybabtu.com>
28305
28306 * util/grub-probe.c (probe): Simplify partmap probing (with the
28307 assumption that the first word up to the underscore equals to
28308 the module name).
28309
b0dfd29a 283102008-02-06 Christian Franke <franke@computer.org>
28311
28312 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
28313 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
28314 last block of a cpio or tar stream.
28315 Check for "TRAILER!!!" instead of any empty data
28316 block to detect last block of a cpio stream.
28317 (grub_cpio_dir): Fix constness of variable np.
28318 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
28319 cpio or tar trailer is detected. This fixes a crash
28320 on open of a non existing file.
28321
c32865bf 283222008-02-05 Bean <bean123ch@gmail.com>
28323
28324 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
28325 address of entry.
28326 (grub_multiboot_load_elf64): Likewise.
28327 (grub_multiboot): Initialize mbi structure.
28328
28329 * util/grub-fstest.c: Don't include unused header file script.h.
28330
fe6b695a 28331 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 28332 of file.
28333 (grub_fstest_SOURCES): Likewise.
28334
409480b7 283352008-02-05 Robert Millan <rmh@aybabtu.com>
28336
28337 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
28338 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
28339 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
28340 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
28341
28342 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
28343 (translation_table): Replace hardcoded values with macros
28344 provided by `<grub/term.h>'.
28345
28346 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
28347 (keyboard_map): Correct/add a few values, with macros provided
28348 by `<grub/term.h>'.
28349 (keyboard_map_shift): Zero values that don't differ from their
28350 `keyboard_map' equivalents.
28351 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
28352 Discard the second scan code that is always sent by Caps lock.
28353 Only use `keyboard_map_shift' when it provides a non-zero value,
28354 otherwise fallback to `keyboard_map'.
28355
99fadbaa 283562008-02-04 Bean <bean123ch@gmail.com>
28357
28358 * Makefile.in (enable_grub_fstest): New variable.
28359
28360 * conf/common.rmk (grub_fstest_init.lst): New rule.
28361 (grub_fstest_init.h): Likewise.
28362 (grub_fstest_init.c): Likewise.
28363 (util/grub-fstest.c_DEPENDENCIES): New variable.
28364 (grub_fstest_SOURCES): Likewise.
28365
28366 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
28367
28368 * util/grub-fstest.c: New file.
28369
bf567c50 283702008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
28371
28372 Make grub-setup handle a separate root device.
f19dbdb7 28373
bf567c50 28374 * util/i386/pc/grub-setup.c (setup): Always open the root device,
28375 so that the root device can be compared with the destination
28376 device.
28377 When embedding the core image, if the root and destination devices
28378 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
28379 0xFF.
28380 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 28381
9be6b98b 283822008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
28383
28384 Add support for having a grub directory in a different drive. This
28385 is still only the data handling part.
f19dbdb7 28386
9be6b98b 28387 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
28388 (codestart): Save %dh in GRUB_ROOT_DRIVE.
28389 (grub_root_drive): New variable.
28390
28391 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
28392 instead of GRUB_BOOT_DRIVE to construct a device name. Set
28393 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
28394 as it was.
28395
28396 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
28397
28398 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
28399 macro.
28400 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
28401
28402 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
28403 is bogus, because PXE booting does not specify any drive
28404 correctly.
28405
28406 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
28407 am not sure if this is really correct.
28408
28409 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
28410 is always identical to the boot drive when booting from a CD.
28411
28412 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
28413 longer.
28414 (root_drive): New variable.
28415 (real_start): Unconditionally set %dh to ROOT_DRIVE.
28416 (setup_sectors): Push %dx right after popping it, because %dh will
28417 be modified later.
28418 (copy_buffer): Restore %dx.
28419
e0ca0677 284202008-02-03 Robert Millan <rmh@aybabtu.com>
28421
28422 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
28423 use `cdboot.img' for cdrom images.
28424
3b3f6629 284252008-02-03 Robert Millan <rmh@aybabtu.com>
28426
28427 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
28428 only setup gfxterm when `font' command has succeeded.
28429
d42b3672 284302008-02-03 Robert Millan <rmh@aybabtu.com>
28431
28432 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
28433 (grub_rescue_cmd_multiboot_loader)
28434 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
28435
fa370ea6 284362008-02-03 Pavel Roskin <proski@gnu.org>
28437
e0c5dacb 28438 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 28439 %edx and %esi from stack only after grub_gate_a20() is called.
28440 grub_gate_a20() clobbers %edx.
28441
f2a76e1d 284422008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
28443
28444 * configure.ac (AC_INIT): Bumped to 1.96.
28445
28446 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
28447 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
28448 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
28449 video/readers/png.c.
28450
90fd32d1 284512008-02-03 Bean <bean123ch@gmail.com>
9be665dd 28452
28453 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
28454 (cdboot_img_SOURCES): New variable.
28455 (cdboot_img_ASFLAGS): New variable.
28456 (cdboot_img_LDFLAGS): New variable.
28457
28458 * boot/i386/pc/cdboot.S: New file.
28459
28460 * disk/i386/pc/biosdisk.c (cd_start): New variable.
28461 (cd_count): Likewise.
28462 (grub_biosdisk_get_drive): Add support for cd device.
28463 (grub_biosdisk_call_hook): Likewise.
28464 (grub_biosdisk_iterate): Likewise.
28465 (grub_biosdisk_open): Likewise.
28466 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
28467 (grub_biosdisk_rw): Support reading from cd device.
28468 (GRUB_MOD_INIT): Iterate cd devices.
28469
28470 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
28471 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
28472 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
28473
28474 * kern/i386/pc/init.c (make_install_device): Check for cd device.
28475
4020aa53 284762008-02-02 Robert Millan <rmh@aybabtu.com>
28477
28478 * commands/read.c: New file.
28479 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
28480 (read_mod_SOURCES): New variable.
28481 (read_mod_CFLAGS): Likewise.
28482 (read_mod_LDFLAGS): Likewise.
28483
e03a1132 284842008-02-02 Robert Millan <rmh@aybabtu.com>
28485
28486 * normal/main.c (grub_normal_execute): Check for `menu->size' when
28487 determining whether menu has to be displayed.
28488
58c69220 284892008-02-02 Marco Gerards <marco@gnu.org>
28490
28491 * bus/pci.c: New file.
28492
28493 * include/grub/pci.h: Likewise.
28494
28495 * include/grub/i386/pc/pci.h: Likewise.
28496
28497 * commands/lspci.c: Likewise.
28498
28499 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
28500 `lspci.mod'.
28501 (pci_mod_SOURCES): New variable.
28502 (pci_mod_CFLAGS): Likewise.
28503 (pci_mod_LDFLAGS): Likewise.
28504 (lspci_mod_SOURCES): Likewise.
28505 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 28506 (lspci_mod_LDFLAGS): Likewise.
58c69220 28507
c004e1b4 285082008-02-02 Bean <bean123ch@gmail.com>
28509
28510 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
28511 (grub_ufs_get_file_block): Fix indirect block calculation problem.
28512
28513 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
28514 (grub_xfs_btree_node): New structure.
28515 (grub_xfs_btree_root): New structure.
28516 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
28517 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
28518 (GRUB_XFS_EXTENT_BLOCK): Likewise.
28519 (GRUB_XFS_EXTENT_SIZE): Likewise.
28520 (grub_xfs_read_block): Support btree format type.
28521 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
28522 Use directory block as basic unit.
28523
28524 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
28525
28526 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
28527 __attribute__ ((__regparm__ (1))).
28528
f95562bf 285292008-02-01 Robert Millan <rmh@aybabtu.com>
28530
28531 Correct a mistake in previous commit.
28532
28533 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
28534 top.
28535 (normal/command.c_DEPENDENCIES): New variable.
28536
7d31f41f 285372008-02-01 Robert Millan <rmh@aybabtu.com>
28538
28539 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
28540 top.
28541 (normal/command.c_DEPENDENCIES): New variable.
28542 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
28543 * conf/i386-ieee1275.rmk: Likewise.
28544 * conf/i386-linuxbios.rmk: Likewise.
28545 * conf/i386-pc.rmk: Likewise.
28546 * conf/sparc64-ieee1275.rmk: Likewise.
28547 * conf/powerpc-ieee1275.rmk: Likewise.
28548 (grub_emu_SOURCES): Add `fs/fshelp.c'.
28549
28550 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
28551
60b6be74 285522008-02-01 Robert Millan <rmh@aybabtu.com>
28553
28554 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
28555 call at beginning of function.
28556
078522ab 285572008-01-31 Pavel Roskin <proski@gnu.org>
28558
28559 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 28560 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
28561 (grub_mkrescue_SOURCES): Likewise.
078522ab 28562 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
28563
ccaa8a5f 285642008-01-30 Robert Millan <rmh@aybabtu.com>
28565
28566 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
28567 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
28568 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
28569 (grub_probe_SOURCES): ... to here.
28570
28571 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
28572 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
28573 * conf/i386-ieee1275.rmk: Likewise.
28574 * conf/i386-linuxbios.rmk: Likewise.
28575 * conf/powerpc-ieee1275.rmk: Likewise.
28576
ae5a9cd7 285772008-01-30 Tristan Gingold <gingold@free.fr>
28578
28579 * kern/rescue.c: Silently accept empty lines.
28580
70bc2ef2 285812008-01-29 Bean <bean123ch@gmail.com>
28582
28583 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
28584 (real_code_2): Code cleanup and change comment style.
28585 (move_memory): Avoid using 32-bit address mode.
28586
6a4d50ea 285872008-01-29 Bean <bean123ch@gmail.com>
28588
28589 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
28590 (png_mod_SOURCES): New variable.
28591 (png_mod_CFLAGS): Likewise.
28592 (png_mod_LDFLAGS): Likewise.
28593
28594 * video/readers/png.c: New file.
28595
11cc30ac 285962008-01-28 Robert Millan <rmh@aybabtu.com>
28597
28598 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
28599 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
28600 `ifndef GRUB_MOD_GAP' hack.
28601 * util/elf/grub-mkimage.c (add_segments): Likewise.
28602
3abc589f 286032008-01-27 Robert Millan <rmh@aybabtu.com>
28604
28605 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
28606 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 28607 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 28608
e1907778 286092008-01-27 Robert Millan <rmh@aybabtu.com>
28610
28611 Get grub-emu to build again (including parallel builds).
28612
28613 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
28614 Split into ...
28615 (util/grub-emu.c_DEPENDENCIES): ... this, ...
28616 (normal/execute.c_DEPENDENCIES): ... this, ...
28617 (grub-emu_DEPENDENCIES): ... and this.
28618
28619 * conf/i386-efi.rmk: Likewise.
28620 * conf/i386-linuxbios.rmk: Likewise.
28621 * conf/i386-ieee1275.rmk: Likewise.
28622 * conf/powerpc-ieee1275.rmk: Likewise.
28623 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
28624
2216b101 286252008-01-27 Robert Millan <rmh@aybabtu.com>
28626
28627 * NEWS: Add a few items.
28628
f75172d9 286292008-01-27 Robert Millan <rmh@aybabtu.com>
28630
28631 Fix parallel builds with grub-emu. Based on earlier commit for
28632 grub-probe and grub-setup.
28633
28634 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
28635 (util/grub-emu.c_DEPENDENCIES): ... this.
28636 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
28637 (util/grub-emu.c_DEPENDENCIES): ... this.
28638 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
28639 (util/grub-emu.c_DEPENDENCIES): ... this.
28640 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
28641 (util/grub-emu.c_DEPENDENCIES): ... this.
28642 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
28643 (util/grub-emu.c_DEPENDENCIES): ... this.
28644
3f51de77 286452008-01-27 Pavel Roskin <proski@gnu.org>
28646
28647 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
28648 to create a gap between _end and the modules added to the image
28649 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
28650 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
28651 * util/elf/grub-mkimage.c (add_segments): Likewise.
28652
2033f53e 286532008-01-26 Pavel Roskin <proski@gnu.org>
28654
28655 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
28656 just return an error.
28657
22da1f6f 286582008-01-26 Bean <bean123ch@gmail.com>
28659
28660 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
28661 (grub_reiserfs_get_item): Save offset of the next item.
28662 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
28663
2a9525e6 286642008-01-25 Robert Millan <rmh@aybabtu.com>
28665
28666 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
28667 make all filesystem sources appear together (possibly fixing omissions
28668 while at it).
28669 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
28670 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28671 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
28672 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28673
28674 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
28675 add `kern/file.c'.
28676 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
28677 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
28678 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
28679 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
28680
28681 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
28682 (probe): Add a sanity check to make sure of our ability to read
28683 requested files when probing for filesystem type.
28684
28685 * genmk.rb: Update copyright year (2007).
28686
28687 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
28688 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
28689 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
28690 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
28691 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
28692 : Remove function prototypes.
28693
b95f71b5 286942008-01-25 Robert Millan <rmh@aybabtu.com>
28695
28696 Revert my previous commits (based on wrong assumption of how grub_errno
28697 works).
28698
fe6b695a 28699 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 28700 * kern/file.c (grub_file_open): Likewise.
28701
d08bbb49 287022008-01-24 Pavel Roskin <proski@gnu.org>
28703
28704 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
28705 that hang if GRUB tries to setup colors.
28706 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
28707 colors for firmwares that don't support it.
28708 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
28709 Recognize Open Hack'Ware, set flags to work around its
28710 limitations.
28711
605e36ed 287122008-01-24 Robert Millan <rmh@aybabtu.com>
28713
28714 * kern/file.c (grub_file_open): Do not account previous failures of
28715 unrelated functions when grub_errno is checked for.
28716 Reported by Oleg Strikov.
28717
bac332a1 287182008-01-24 Bean <bean123ch@gmail.com>
28719
28720 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
28721 (grub_ufs_sblock): New member volume name.
28722 (grub_ufs_find_file): Fix string copy bug.
28723 (grub_ufs_label): Implement this function properly.
28724
28725 * fs/hfs.c (grub_hfs_cnid_type): New enum.
28726 (grub_hfs_iterate_records): Use the correct file number for extents
28727 and catalog file. Fix problem in next index calculation.
28728 (grub_hfs_find_node): Replace recursive function call with loop.
28729 (grub_hfs_iterate_dir): Replace recursive function call with loop.
28730
15c80c09 287312008-01-23 Robert Millan <rmh@aybabtu.com>
28732
28733 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
28734 `<grub/symbol.h>' and `<grub/multiboot.h>'.
28735 (grub_multiboot2_real_boot): New function prototype.
28736
28737 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
28738 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
28739
28740 * kern/i386/ieee1275/init.c (grub_os_area_addr)
28741 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
28742
305338fd 287432008-01-23 Robert Millan <rmh@aybabtu.com>
28744
28745 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
28746 #ifdef'ed out grub_printf().
28747
3ea52685 287482008-01-23 Robert Millan <rmh@aybabtu.com>
28749
28750 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
28751 grub_dprintf calls, since they make "debug=all" mode unusable.
28752 (grub_console_checkkey): Likewise.
28753
5882ae4b 287542008-01-23 Robert Millan <rmh@aybabtu.com>
28755
28756 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
28757 `term/i386/pc/at_keyboard.c'.
28758 (pkglib_MODULES): Add `serial.mod'.
28759 (serial_mod_SOURCES): New variable.
28760 (serial_mod_CFLAGS): Likewise.
28761 (serial_mod_LDFLAGS): Likewise.
28762
28763 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
28764 `<grub/powerpc/ieee1275/console.h>'.
28765 (grub_keyboard_controller_init): New function prototype.
28766 (grub_console_checkkey): Likewise.
28767 (grub_console_getkey): Likewise.
28768
28769 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
28770 keyboard on i386.
28771
28772 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
28773 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
28774
06ab5303 287752008-01-23 Robert Millan <rmh@aybabtu.com>
28776
28777 * kern/i386/pc/init.c (make_install_device): When memdisk image is
28778 present, "(memdisk)/boot/grub" becomes the default prefix.
28779
28780 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
28781 a memdisk tarball with all the modules. Add --overlay=DIR option that
28782 allows users to overlay additional files into the image.
28783
dbb475a4 287842008-01-23 Robert Millan <rmh@aybabtu.com>
28785
28786 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
28787 and `machine/memory.h'.
28788 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
28789 (_multiboot_mod_SOURCES): New variable.
28790 (_multiboot_mod_CFLAGS): Likewise.
28791 (_multiboot_mod_LDFLAGS): Likewise.
28792 (multiboot_mod_SOURCES): Likewise.
28793 (multiboot_mod_CFLAGS): Likewise.
28794 (multiboot_mod_LDFLAGS): Likewise.
28795
28796 * include/grub/i386/ieee1275/loader.h: New file.
28797
28798 * include/grub/i386/ieee1275/machine.h: Likewise.
28799
28800 * include/grub/i386/ieee1275/memory.h: Likewise.
28801
28802 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
28803 variable declaration.
28804 (grub_os_area_size): Likewise.
28805
28806 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
28807 (grub_lower_mem, grub_upper_mem): New variables.
28808 (grub_stop_floppy): New function (just to make
28809 grub_multiboot2_real_boot() happy).
28810
28811 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
28812 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
28813 (grub_stop): New function.
28814 Include `"../realmode.S"' and `"../loader.S"'.
28815
28816 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
28817 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
28818
28819 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
28820 rely on grub_multiboot2_real_boot() for final boot.
28821
25638629 288222008-01-22 Robert Millan <rmh@aybabtu.com>
28823
28824 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
28825 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
28826 device that doesn't look like an SD card.
28827 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
28828 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
28829 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
28830 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
28831 found.
28832
9dad816d 288332008-01-22 Robert Millan <rmh@aybabtu.com>
28834
28835 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
28836 avoid claiming over our own code.
28837
34842f2d 288382008-01-22 Bean <bean123ch@gmail.com>
28839
28840 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
28841 (jpeg_mod_SOURCES): New variable.
28842 (jpeg_mod_CFLAGS): Likewise.
28843 (jpeg_mod_LDFLAGS): Likewise.
28844
28845 * video/readers/jpeg.c : New file.
28846
44023a28 288472008-01-22 Bean <bean123ch@gmail.com>
28848
28849 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
28850 there are no more items.
28851
bc2d8ac6 288522008-01-21 Robert Millan <rmh@aybabtu.com>
28853
28854 * kern/mm.c (grub_mm_init_region): Improve debug message.
28855
261bd4bc 288562008-01-21 Robert Millan <rmh@aybabtu.com>
28857
28858 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
28859 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
28860 address.
28861 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
28862 a C macro.
28863 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
28864 Indicates start of upper memory.
28865 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
28866 (generate_image): Abort when image size is big enough to corrupt
28867 upper memory.
28868
28869 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
28870 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
28871 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
28872 instead of hardcoding 0xA0000.
28873 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
28874 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
28875 instead of hardcoding 0xA0000.
28876
f970b55e 288772008-01-21 Robert Millan <rmh@aybabtu.com>
28878
28879 * disk/memdisk.c (memdisk_size): New variable.
28880 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
28881 `memdisk_size'.
28882 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
28883 image to dynamic memory.
28884 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
28885 `memdisk_size'. Free memdisk block.
28886
1a8b0526 288872008-01-21 Robert Millan <rmh@aybabtu.com>
28888
28889 Fix detection of very small filesystems (like tar).
28890
28891 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
28892 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
28893 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
28894 a problem with this disk).
28895
6e9b4aab 288962008-01-21 Robert Millan <rmh@aybabtu.com>
28897
28898 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
28899 on grub_biosdisk_rw_standard() error.
28900
0d8837b2 289012008-01-21 Robert Millan <rmh@aybabtu.com>
28902
28903 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
28904 recent changes.
28905 * kern/elf.c: Likewise.
28906 * kern/ieee1275/ieee1275.c: Likewise.
28907 * kern/powerpc/ieee1275/openfw.c: Likewise.
28908 * term/ieee1275/ofconsole.c: Likewise.
28909
ffd36e34 289102008-01-21 Robert Millan <rmh@aybabtu.com>
28911
28912 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
28913
3f0093d0 28914 * include/grub/kernel.h (grub_arch_memdisk_addr)
28915 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 28916
3f0093d0 28917 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
28918 (grub_arch_memdisk_size): ... to here.
ffd36e34 28919
6c391b21 289202008-01-21 Robert Millan <rmh@aybabtu.com>
28921
28922 Mostly based on bugfix from Bean.
28923
28924 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
28925 attribute with hook() parameter.
28926 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
28927 declaration.
28928 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
28929 attribute with hook() parameter.
28930 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
28931 declaration.
28932
55a581dc 289332008-01-21 Robert Millan <rmh@aybabtu.com>
28934
28935 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
28936 (pkglib_MODULES): Add `memdisk.mod'.
28937 (memdisk_mod_SOURCES): New variable.
28938 (memdisk_mod_CFLAGS): Likewise.
28939 (memdisk_mod_LDFLAGS): Likewise.
28940
28941 * disk/memdisk.c: New file.
28942
28943 * include/grub/disk.h (grub_disk_dev_id): Add
28944 `GRUB_DISK_DEVICE_MEMDISK_ID'.
28945
28946 * include/grub/i386/pc/kernel.h
28947 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
28948 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
28949 (grub_kernel_image_size): New variable declaration.
28950 (grub_total_module_size): Likewise.
28951 (grub_memdisk_image_size): Likewise.
28952
28953 * include/grub/i386/pc/memory.h
28954 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
28955
28956 * include/grub/kernel.h: Include `<grub/symbol.h>'.
28957 (grub_arch_memdisk_addr): New variable declaration.
28958 (grub_arch_memdisk_size): Likewise.
28959
28960 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
28961 (grub_arch_memdisk_size): Likewise.
28962
28963 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
28964 (codestart): Replace hardcoded `0x100000' with
28965 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
28966
28967 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
28968 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
28969 not NULL, append the contents of the file it refers to, at the end of
28970 the compressed kernel image. Initialize `grub_memdisk_image_size'
28971 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
28972 (options): Add "memdisk"|'m' option.
28973 (main): Parse --memdisk|-m option, and pass user-provided path as
28974 parameter to generate_image().
28975
3d7f54c9 289762008-01-20 Robert Millan <rmh@aybabtu.com>
28977
28978 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
28979 grub_dprintf() calls from here ...
28980 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
28981
0bf74728 289822008-01-20 Robert Millan <rmh@aybabtu.com>
28983
28984 Fix detection of "real mode" when /options/real-mode? doesn't exist.
28985
28986 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
28987 declaration.
28988 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
28989 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
28990 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 28991 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 28992 property).
28993 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
28994 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
28995
33bf70a7 289962008-01-19 Robert Millan <rmh@aybabtu.com>
28997
fe6b695a 28998 Get rid of confusing function (superseded by
33bf70a7 28999 `grub_ieee1275_get_integer_property')
29000 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
29001 prototype.
29002 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
29003 function.
29004 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
29005 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 29006 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 29007
e2da7d26 290082008-01-19 Robert Millan <rmh@aybabtu.com>
29009
29010 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
29011 command after "shut-down", since implementations differ on which
29012 the command for halt is.
29013
59f1fd8d 290142008-01-19 Robert Millan <rmh@aybabtu.com>
29015
29016 * include/grub/i386/linuxbios/console.h: Add header protection.
29017 (grub_keyboard_controller_init): New function prototype.
29018 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
29019 (KEYBOARD_COMMAND_READ): Likewise.
29020 (KEYBOARD_COMMAND_WRITE): Likewise.
29021 (KEYBOARD_SCANCODE_SET1): Likewise.
29022 (grub_keyboard_controller_write): New function.
29023 (grub_keyboard_controller_read): Likewise.
29024 (grub_keyboard_controller_init): Likewise.
29025
29026 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
29027 (grub_console_init): On coreboot/LinuxBIOS, call
29028 grub_keyboard_controller_init().
29029
5f5a7c15 290302008-01-19 Robert Millan <rmh@aybabtu.com>
29031
29032 PowerPC changes provided by Pavel Roskin.
29033
29034 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
29035 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
29036 don't rely on cmain() doing it.
29037 * kern/i386/ieee1275/startup.S (_start): Store %eax in
29038 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
29039
1210e168 290402008-01-16 Robert Millan <rmh@aybabtu.com>
29041
29042 * include/grub/i386/linuxbios/memory.h
29043 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
29044 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
29045 receive `table_header' as argument. Instead, probe for it in the
29046 known memory ranges where it can be present.
29047 (grub_available_iterate): Do not pass a fixed `table_header' address
29048 to grub_linuxbios_table_iterate().
29049
3d04eab8 290502008-01-15 Robert Millan <rmh@aybabtu.com>
29051
29052 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
29053 * conf/i386-ieee1275.rmk: New file.
29054 * include/grub/i386/ieee1275/console.h: Likewise.
29055 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
29056 * include/grub/i386/ieee1275/kernel.h: Likewise.
29057 * include/grub/i386/ieee1275/time.h: Likewise.
29058 * kern/i386/ieee1275/init.c: Likewise.
29059 * kern/i386/ieee1275/startup.S: Likewise.
29060
d1bc1b73 290612008-01-15 Robert Millan <rmh@aybabtu.com>
29062
29063 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
29064 when pointers are 32-bit (but still do set it to one when they are
29065 64-bit).
29066
66a65807 290672008-01-15 Robert Millan <rmh@aybabtu.com>
29068
29069 * include/grub/ieee1275/ieee1275.h
29070 (grub_ieee1275_get_integer_property): New function prototype.
29071
29072 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
29073 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 29074 grub_ieee1275_get_property() to handle endianness.
66a65807 29075
29076 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
29077 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 29078 where appropriate.
66a65807 29079 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
29080 (grub_map): Likewise.
29081 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
29082
a83ccafd 290832008-01-15 Bean <bean123ch@gmail.com>
29084
29085 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
29086 (grub_script_execute_cmdline): Reset grub_errno.
29087
29088 * normal/main.c (read_config_file): Reset grub_errno.
29089
29090 * normal/parse.y (script_init): New.
29091 (script): Move function and menuentry here.
29092 (delimiter): New.
29093 (command): Add delimiter at the end of command.
29094 (commands): Adjust to match the new command.
29095 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 29096 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 29097 (if): Use the new commands.
29098
29099 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
29100
df6ecfc6 291012008-01-15 Robert Millan <rmh@aybabtu.com>
29102
29103 * normal/menu.c (run_menu): Move timeout message from here ...
29104 (print_timeout): ... to here.
29105 (run_menu): Use print_timeout() once during initial draw to print
29106 the whole message, and again in every clock tick to update only
29107 the number of seconds.
29108
87ae25eb 291092008-01-15 Robert Millan <rmh@aybabtu.com>
29110
29111 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
29112 actual size of `available' from grub_ieee1275_get_property(), and
29113 restrict parsing to that bound.
29114
47bf09a4 291152008-01-15 Christian Franke <franke@computer.org>
29116
29117 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
29118 (argp_program_version): Remove variable.
29119 (argp_program_bug_address): Likewise.
29120 (options): Convert from struct argp_option to struct option.
29121 (struct arguments): Remove.
29122 (parse_opt): Remove.
29123 (usage): New function.
29124 (main): Replace struct args members by simple variables.
29125 Replace argp_parse() by getopt_long().
29126 Add switch to evaluate options.
29127 Add missing "(...)" around root_dev in prefix string.
29128
c86f1469 291292008-01-14 Robert Millan <rmh@aybabtu.com>
29130
29131 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
29132 for grub_ieee1275_exit(), in order to improve portability.
29133
e622c559 291342008-01-14 Robert Millan <rmh@aybabtu.com>
29135
29136 * util/grub.d/10_linux.in (prefix): Define.
29137 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
29138
44cb1ec8 291392008-01-13 Pavel Roskin <proski@gnu.org>
29140
29141 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
29142 grub_errno if no errors have been detected.
29143
1eb8c802 291442008-01-12 Robert Millan <rmh@aybabtu.com>
29145
29146 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
29147 (grub_util_get_dev_abstraction): New function prototype.
29148
29149 * util/getroot.c: Include `<grub/util/getroot.h>'
29150 (grub_util_get_grub_dev): Move detection of abstraction type to ...
29151 (grub_util_get_dev_abstraction): ... here (new function).
29152
29153 * util/grub-probe.c: Convert PRINT_* to an enum. Add
29154 `PRINT_ABSTRACTION'.
29155 (probe): Probe for abstraction type when requested.
29156 (main): Understand `--target=abstraction'.
29157
29158 * util/i386/efi/grub-install.in: Add abstraction module to core
29159 image when it is found to be necessary.
29160 * util/i386/pc/grub-install.in: Likewise.
29161 * util/powerpc/ieee1275/grub-install.in: Likewise.
29162
29163 * util/update-grub_lib.in (font_path): Return system path without
29164 converting to GRUB path.
29165 * util/update-grub.in: Convert system path returned by font_path()
29166 to a GRUB path. Use `grub-probe -t abstraction' to determine what
29167 abstraction module is needed for loading fonts (if any). Export
29168 that as `GRUB_PRELOAD_MODULES'.
29169 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
29170 insmod commands).
29171
52bd3de9 291722008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
29173
29174 Remove some unused code from reiserfs.
f19dbdb7 29175
52bd3de9 29176 * fs/reiserfs.c (struct grub_reiserfs_key)
29177 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
29178 (struct grub_reiserfs_node_body): Removed.
29179 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
29180 Likewise.
29181 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
29182 Likewise.
29183 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
29184 Likewise.
29185 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
29186 Likewise.
29187 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
29188 Likewise.
29189 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
29190 Likewise.
29191 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
29192 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
29193 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
29194
2f80039d 291952008-01-10 Robert Millan <rmh@aybabtu.com>
29196
29197 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
29198 Determines if a file is garbage left by packaging systems, etc.
29199 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
29200 for processing /etc/grub.d scripts.
29201 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
29202 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
29203 as a condition for processing Linux images.
29204
87888032 292052008-01-10 Pavel Roskin <proski@gnu.org>
29206
29207 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
29208 to compile reiserfs.c on PowerPC.
29209
7e54fced 292102008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 29211
29212 * kern/device.c (grub_device_iterate): Do not abort device iteration
29213 when one of the devices cannot be opened.
29214 * kern/disk.c (grub_disk_open): Do not account previous failures of
29215 unrelated functions when grub_errno is checked for.
29216
5aa541e6 292172008-01-08 Robert Millan <rmh@aybabtu.com>
29218
29219 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
29220 `! grub_linux_is_bzimage', change order of address comparison to make
29221 it more intuitive, and improve "too big zImage" error message.
29222
7076340d 292232008-01-08 Robert Millan <rmh@aybabtu.com>
29224
29225 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
29226 `$(update-grub_DATA)'.
29227 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
29228 targets.
29229
9ca70333 292302008-01-07 Robert Millan <rmh@aybabtu.com>
29231
29232 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
29233 which instruction is modified by grub-setup during installation
29234 (since it wasn't obvious by only looking at this file).
29235
38ccf575 292362008-01-07 Robert Millan <rmh@aybabtu.com>
29237
29238 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
29239 listing actual TODO items.
29240
f5db4291 292412008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
29242
868967cf 29243 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
29244 correctly.
29245 (grub_reiserfs_get_key_offset): Likewise.
29246 (grub_reiserfs_set_key_offset): Likewise.
29247 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 29248 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 29249
29250 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
29251 better to remove the bitfield version completely.
f19dbdb7 29252
868967cf 292532008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 29254
f5db4291 29255 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
29256 allocated from the heap, due to the fshelp implementation.
29257 (grub_reiserfs_dir): Free NODE, due to the same reason.
29258
492e6d9d 292592008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
29260
29261 Mostly from Vincent Pelletier:
f19dbdb7 29262
492e6d9d 29263 * fs/reiserfs.c: New file.
f19dbdb7 29264
492e6d9d 29265 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
29266 (reiserfs_mod_SOURCES): New variable.
29267 (reiserfs_mod_CFLAGS): Likewise.
29268 (reiserfs_mod_LDFLAGS): Likewise.
29269
29270 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
29271 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
29272 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
29273 normal/color.c.
29274
9ce3e7c1 292752008-01-06 Robert Millan <rmh@aybabtu.com>
29276
29277 * normal/color.c: Remove `<grub/env.h>'.
29278
f3b58148 292792008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
29280
29281 * include/grub/normal.h: Include <grub/env.h>.
29282
7ac3bcfa 292832008-01-05 Robert Millan <rmh@aybabtu.com>
29284
29285 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
29286 usage example with `(hd0,1)'.
fb358190 29287 Reported by Samuel Thibault.
7ac3bcfa 29288
c8ee99d7 292892008-01-05 Robert Millan <rmh@aybabtu.com>
29290
29291 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
29292 (grub_linux_boot_zimage): Rename to ...
29293 (grub_linux_boot): ... this.
29294 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
29295 (grub_linux_boot_zimage): Conditionalize zImage copy.
29296
29297 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
29298 (grub_linux_boot_bzimage): Remove prototype.
29299 (grub_linux_boot_zimage): Rename to ...
29300 (grub_linux_boot): ... this.
29301
29302 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
29303 (grub_linux_boot): Remove function.
29304
0ece25b1 293052008-01-05 Robert Millan <rmh@aybabtu.com>
29306
29307 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
29308 (grub_env_write_color_highlight): Likewise.
29309 (grub_wait_after_message): Likewise.
29310
29311 * normal/color.c: New file.
29312
29313 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
29314 (normal_mod_DEPENDENCIES): Likewise.
29315
29316 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
29317 (normal_mod_DEPENDENCIES): Likewise.
29318
29319 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
29320 (normal_mod_DEPENDENCIES): Likewise.
29321
29322 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
29323 (normal_mod_DEPENDENCIES): Likewise.
29324
29325 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
29326 for waiting after a message is printed.
29327 * normal/main.c (read_config_file): Likewise.
29328 (grub_normal_init): Register grub_env_write_color_normal() and
29329 grub_env_write_color_highlight() hooks. Mark `color_normal' and
29330 `color_highlight' variables as global.
29331
29332 * normal/menu.c (grub_wait_after_message): New function.
29333 (grub_color_menu_normal): New variable. Replaces ...
29334 (GRUB_COLOR_MENU_NORMAL): ... this macro.
29335 (grub_color_menu_highlight): New variable. Replaces ...
29336 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
29337 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
29338 `GRUB_TERM_COLOR_STANDARD'.
29339 (print_message): Use `grub_setcolorstate' to reload colors. Rename
29340 `normal_code' and `highlight_code' to `old_color_normal' and
29341 `old_color_highlight', respectively.
29342 (grub_menu_init_page): Update colors when drawing the menu, based on
29343 `menu_color_normal' and `menu_color_highlight' variables.
29344 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
29345 a message is printed.
29346
182dd4e5 293472008-01-05 Robert Millan <rmh@aybabtu.com>
29348
29349 * kern/env.c (grub_env_context_open): Propagate hooks for global
29350 variables to new context.
29351
29352 * kern/main.c (grub_set_root_dev): Export `root' variable.
29353
ddf8f6ad 293542008-01-05 Robert Millan <rmh@aybabtu.com>
29355
29356 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 29357 discs unconditionally, since udev and others have options to provide
ddf8f6ad 29358 them.
29359
d8b43d9b 293602008-01-05 Robert Millan <rmh@aybabtu.com>
29361
29362 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
29363
2bff2de3 293642008-01-04 Christian Franke <franke@computer.org>
29365
29366 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
29367 of eisa_mmap.
29368
97eab917 293692008-01-03 Pavel Roskin <proski@gnu.org>
29370
29371 * kern/i386/linuxbios/init.c: Put "void" to all function
29372 declarations with no arguments.
29373 * kern/powerpc/ieee1275/init.c: Likewise.
29374 * term/i386/pc/at_keyboard.c: Likewise.
29375 * term/i386/pc/vga_text.c: Likewise.
29376 * util/grub-mkdevicemap.c: Likewise.
29377
b9416d00 293782008-01-02 Robert Millan <rmh@aybabtu.com>
29379
29380 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
29381 message when loaded image is out of bounds.
29382 (grub_multiboot_load_elf64): Likewise.
29383
92695df9 293842008-01-02 Pavel Roskin <proski@gnu.org>
29385
29386 * util/grub.d/10_linux.in: Try version without ".old" when
29387 looking for initrd. It's better to use initrd from the newer
29388 kernel of the same version than no initrd at all.
29389
d98d9cad 293902008-01-01 Robert Millan <rmh@aybabtu.com>
29391
29392 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
29393
dbfdce36 293942008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
29395
f19dbdb7 29396 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 29397 grub_video_get_active_render_target.
29398 (grub_video_adapter): Added unmap_color and get_active_render_target.
29399
f19dbdb7 29400 * video/video.c: Added grub_video_unmap_color and
dbfdce36 29401 grub_video_get_active_render_target.
29402 (grub_video_get_info): Changed method to accept NULL pointer as an
29403 argument to allow detection of active video adapter.
29404
29405 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
29406 grub_video_vbe_unmap_color_int.
29407 Added grub_video_vbe_unmap_color and
29408 grub_video_vbe_get_active_render_target.
29409 (grub_video_vbe_adapter): Added unmap_color and
29410 get_active_render_target.
29411
f19dbdb7 29412 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 29413 with grub_video_vbe_unmap_color_int.
29414
29415 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
29416 (DEFAULT_NORMAL_COLOR): Likewise.
29417 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
29418 (DEFAULT_FG_COLOR): Removed.
29419 (DEFAULT_BG_COLOR): Likewise.
29420 (DEFAULT_CURSOR_COLOR): Changed value.
29421 (grub_virtual_screen): Added standard_color_setting,
29422 normal_color_setting, highlight_color_setting and term_color.
29423 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
29424 (bitmap_width): Added.
29425 (bitmap_height): Likewise.
29426 (bitmap): Likewise.
29427 (set_term_color): Likewise.
29428 (grub_virtual_screen_setup): Changed to use new terminal coloring
29429 settings.
29430 (grub_gfxterm_init): Added init for bitmap.
29431 (grub_gfxterm_fini): Added destroy for bitmap.
29432 (redraw_screen_rect): Updated to use background bitmap and new
29433 terminal coloring.
29434 (scroll_up): Added optimization for case when there is no bitmap.
29435 (grub_gfxterm_cls): Fixed to use correct background color.
29436 (grub_virtual_screen_setcolorstate): Changed to use new terminal
29437 coloring.
29438 (grub_virtual_screen_setcolor): Likewise.
29439 (grub_virtual_screen_getcolor): Added.
29440 (grub_gfxterm_background_image_cmd): Likewise.
29441 (grub_video_term): Added setcolor and getcolor.
29442 (MOD_INIT): Added registration of background_image command.
29443 (MOD_TERM): Added unregistration for background_image command.
29444
c3c20931 294452007-12-30 Pavel Roskin <proski@gnu.org>
29446
29447 * loader/multiboot_loader.c: Fix multiboot command
29448 unregistration. Fix all typos in the word "multiboot".
29449
df266716 294502007-12-29 Pavel Roskin <proski@gnu.org>
94239199 29451
29452 * util/grub.d/10_linux.in: Refactor search for initrd. Add
29453 support for initrd names used in Fedora.
29454
fc6e896c 294552007-12-26 Bean <bean123ch@gmail.com>
29456
29457 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
29458 (cpio_mod_SOURCES): New variable.
29459 (cpio_mod_CFLAGS): Likewise.
29460 (cpio_mod_LDFLAGS): Likewise.
29461
29462 * fs/cpio.c: New file.
29463
29464 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
29465
29466 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
29467
29468 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
29469
29470 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29471
533110ad 294722007-12-25 Robert Millan <rmh@aybabtu.com>
29473
29474 * include/grub/term.h (struct grub_term): Add `getcolor' function.
29475 (grub_getcolor): New function.
29476
29477 * kern/term.c (grub_getcolor): New function.
29478 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
29479 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
29480 (print_entry): Set normal and highlight colors to
29481 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
29482 respectively, before printing and restore them to old
29483 values afterwards.
29484 (grub_menu_init_page): Likewise. Fill an additional colored space
29485 that would otherwise be left blank.
29486
29487 * term/efi/console.c (grub_console_getcolor): New function.
29488 (struct grub_console_term.getcolor): New variable.
29489 * term/i386/pc/console.c (grub_console_getcolor): New function.
29490 (struct grub_console_term.getcolor): New variable.
29491 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
29492 (struct grub_console_term.getcolor): New variable.
29493
29494 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
29495 (struct grub_console_term.setcolor): Remove variable.
29496 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
29497 (struct grub_console_term.setcolor): Remove variable.
29498 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
29499 (struct grub_console_term.setcolor): Remove variable.
29500 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
29501 (struct grub_console_term.setcolor): Remove variable.
29502
4931827f 295032007-12-25 Robert Millan <rmh@aybabtu.com>
29504
29505 * configure.ac: Search for possible unifont.hex locations, and
29506 define UNIFONT_HEX if found.
29507
29508 * Makefile.in (UNIFONT_HEX): Define variable.
29509 (DATA): Rename to ...
29510 (PKGLIB): ... this. Update all users.
29511 (PKGDATA): New variable.
29512 (pkgdata_IMAGES): Rename to ...
29513 (pkglib_IMAGES): ... this. Update all users.
29514 (pkgdata_MODULES): Rename to ...
29515 (pkglib_MODULES): ... this. Update all users.
29516 (pkgdata_PROGRAMS): Rename to ...
29517 (pkglib_PROGRAMS): ... this. Update all users.
29518 (pkgdata_DATA): Rename to ...
29519 (pkglib_DATA): ... this. Update all users.
29520 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
29521 (unicode.pff, ascii.pff): New rules.
29522 (all-local): Add `$(PKGDATA)' dependency.
29523 (install-local): Process `$(PKGDATA)'.
29524
29525 * util/update-grub_lib.in (font_path): Search for *.pff files in
29526 a few more locations, including `${pkgdata}'.
29527
57e57e31 295282007-12-23 Robert Millan <rmh@aybabtu.com>
29529
29530 Patch from Bean <bean123ch@gmail.com>:
29531 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
29532 `size'.
29533
4bc72aa9 295342007-12-21 Bean <bean123ch@gmail.com>
29535
29536 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
29537 (ntfscomp_mod_SOURCES): New variable.
29538 (ntfscomp_mod_CFLAGS): Likewise.
29539 (ntfscomp_mod_LDFLAGS): Likewise.
29540
29541 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
29542 (grub_probe_SOURCES): Likewise.
29543 (grub_emu_SOURCES): Likewise.
29544
29545 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
29546 (grub_emu_SOURCES): Likewise.
29547
29548 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
29549 (grub_emu_SOURCES): Likewise.
29550
29551 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
29552 (grub_emu_SOURCES): Likewise.
29553
29554 * fs/ntfs.c (grub_ntfscomp_func): New variable.
29555 (read_run_list): Renamed to grub_ntfs_read_run_list.
29556 (decomp_nextvcn): Moved to ntfscomp.c.
29557 (decomp_getch): Likewise.
29558 (decomp_get16): Likewise.
29559 (decomp_block): Likewise.
29560 (read_block): Likewise.
29561 (read_data): Partially moved to ntfscomp.c.
29562 (fixup): Change unsigned to grub_uint16_t.
29563 (read_mft): Change unsigned long to grub_uint32_t.
29564 (read_attr): Likewise.
29565 (read_data): Likewise.
29566 (read_run_data): Likewise.
29567 (read_run_list): Likewise.
29568 (read_mft): Likewise.
29569
29570 * fs/ntfscomp.c: New file.
29571
29572 * include/grub/ntfs.h: New file.
29573
af680a87 295742007-12-16 Robert Millan <rmh@aybabtu.com>
29575
29576 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
29577 IDE disk check, since Linux is known to support 20 IDE disks.
29578 Reported by Colin Watson.
29579
84be7599 295802007-12-15 Bean <bean123ch@gmail.com>
29581
29582 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
29583 (lnxboot_img_SOURCES): New variable.
29584 (lnxboot_img_ASFLAGS): Likewise.
29585 (lnxboot_img_LDFLAGS): Likewise.
29586
29587 * boot/i386/pc/lnxboot.S: New file.
29588
6af9db01 295892007-11-24 Pavel Roskin <proski@gnu.org>
29590
29591 * configure.ac: Test if '--build-id=none' is supported by the
29592 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
29593 objcopy to generate incorrect binary files (binutils
29594 2.17.50.0.18-1 as shipped by Fedora 8).
29595 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
29596 linking, so that build ID doesn't break the test.
29597
7361cfe6 295982007-11-24 Pavel Roskin <proski@gnu.org>
29599
29600 * include/grub/i386/time.h: use "void" in the argument list
29601 of grub_cpu_idle().
29602 * include/grub/powerpc/time.h: Likewise.
29603 * include/grub/sparc64/time.h: Likewise.
29604
1593e10c 296052007-11-18 Christian Franke <franke@computer.org>
29606
29607 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
29608 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
29609 This fixes the problem that function keys did not work in grub-emu.
29610
3b8db1a8 296112007-11-18 Christian Franke <franke@computer.org>
29612
29613 * disk/host.c (grub_host_open): Remove attribute unused from
29614 name parameter. Add check for "host". This fixes the problem
29615 that grub-emu does not find partitions.
29616
2e29408d 296172007-11-18 Christian Franke <franke@computer.org>
29618
29619 * util/hostfs.c (is_dir): New function.
29620 (grub_hostfs_dir): Handle missing dirent.d_type case.
29621 (grub_hostfs_read): Add missing fseek().
29622 (grub_hostfs_label): Clear label pointer. This fixes a crash
29623 of grub-emu on "ls (host)".
29624
398cd047 296252007-11-18 Christian Franke <franke@computer.org>
29626
29627 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
29628 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
29629 to 64 bit boundary by default.
29630
c405c391 296312007-11-18 Bean <bean123ch@gmail.com>
29632
29633 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
29634 (hexdump_mod_SOURCES): New variable.
29635 (hexdump_mod_CFLAGS): Likewise.
29636 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 29637
c405c391 29638 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
29639
29640 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
29641
29642 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
29643
29644 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
29645
29646 * include/grub/hexdump.h: New file.
29647
29648 * commands/hexdump.c: New file.
29649
5cced7fd 296502007-11-10 Robert Millan <rmh@aybabtu.com>
29651
29652 * commands/i386/pc/play.c (beep_off): Switch order of arguments
29653 in grub_outb() calls.
29654 (beep_on): Likewise.
29655
8b714eb0 296562007-11-10 Christian Franke <franke@computer.org>
29657
29658 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
29659 (grub_menu_run): Likewise.
29660
ce0f1839 296612007-11-10 Robert Millan <rmh@aybabtu.com>
29662
29663 * include/grub/i386/efi/machine.h: New file.
29664 * include/grub/i386/linuxbios/machine.h: Likewise.
29665 * include/grub/i386/pc/machine.h: Likewise.
29666 * include/grub/powerpc/ieee1275/machine.h: Likewise.
29667 * include/grub/sparc64/ieee1275/machine.h: Likewise.
29668
29669 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
29670 (serial_hw_io_addr): New variable.
29671 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
29672 instead of `(unsigned short *) 0x400'.
29673
270c237d 296742007-11-10 Bean <bean123ch@gmail.com>
29675
29676 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
29677
a87783bf 296782007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
29679
29680 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
29681 (vga_mod_SOURCES): Added.
29682 (vga_mod_CFLAGS): Likewise.
29683 (vga_mod_LDFLAGS): Likewise.
29684
29685 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
29686 grub_outb() calls.
29687 (set_map_mask): Likewise.
29688 (set_read_map): Likewise.
29689 (set_read_address): Likewise.
29690 (vga_font): Removed variable.
29691 (get_vga_glyph): Removed function.
29692 (invalidate_char): Likewise.
29693 (write_char): Changed to use grub_font_get_glyph() for font
29694 information.
29695 (grub_vga_putchar): Likewise.
29696 (grub_vga_getcharwidth): Likewise.
29697
6433b448 296982007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
29699
29700 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
29701 flags.
29702 (pxeboot_img_LDFLAGS): Likewise.
29703 (diskboot_img_LDFLAGS): Likewise.
29704 (kernel_img_LDFLAGS): Likewise.
29705
49178511 297062007-11-06 Robert Millan <rmh@aybabtu.com>
29707
29708 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
29709 in grub_outb() calls.
29710 (serial_hw_init): Likewise.
29711
53b052de 297122007-11-05 Robert Millan <rmh@aybabtu.com>
29713
29714 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
29715 spaces. Skip non-regular files.
29716
5ab33bba 297172007-11-05 Robert Millan <rmh@aybabtu.com>
29718
29719 * kern/disk.c (grub_disk_firmware_fini)
29720 (grub_disk_firmware_is_tainted): New variables.
29721
29722 * include/grub/disk.h (grub_disk_firmware_fini)
29723 (grub_disk_firmware_is_tainted): Likewise.
29724
29725 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
29726 (grub_disk_biosdisk_fini): ... to here.
29727 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
29728 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
29729 is set. Register grub_disk_biosdisk_fini() in
29730 `grub_disk_firmware_fini'.
29731
29732 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
29733 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
29734 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
29735 to finish existing firmware disk interface.
29736
29737 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
29738 (ata_mod_SOURCES): New variable.
29739 (ata_mod_CFLAGS): Likewise.
29740 (ata_mod_LDFLAGS): Likewise.
29741
0149ab7c 297422007-11-05 Robert Millan <rmh@aybabtu.com>
29743
29744 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
29745 (grub_ata_wait): Reimplement using grub_millisleep().
29746
29747 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
29748 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
29749
be7ac41e 297502007-11-03 Marco Gerards <marco@gnu.org>
29751
29752 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
29753 (CRTC_ADDR_PORT): New macro.
29754 (CRTC_DATA_PORT): Likewise.
29755 (CRTC_CURSOR): Likewise.
29756 (CRTC_CURSOR_ADDR_HIGH): Likewise.
29757 (CRTC_CURSOR_ADDR_LOW): Likewise.
29758 (update_cursor): New function.
29759 (grub_console_real_putchar): Call `update_cursor'.
29760 (grub_console_gotoxy): Likewise.
29761 (grub_console_cls): Set the default color when clearing the
29762 screen.
29763 (grub_console_setcursor): Implemented.
29764
bb06ab2e 297652007-11-03 Marco Gerards <marco@gnu.org>
29766
29767 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
29768 become activate.
29769 (grub_ata_pio_write): Likewise.
29770
29771 (grub_atapi_identify): Wait after issuing an ATA command.
29772 (grub_atapi_packet): Likewise.
29773 (grub_ata_identify): Likewise.
29774 (grub_ata_readwrite): Likewise.
29775
cf8f780b 297762007-11-03 Marco Gerards <marco@gnu.org>
29777
29778 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
29779 (grub_ata_pio_write): Likewise.
29780 (grub_ata_readwrite): Use `grub_error', instead of
29781 returning `grub_errno'.
29782
ed649e54 297832007-11-03 Marco Gerards <marco@gnu.org>
29784
29785 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
29786 grub_ata_pio_write once for every single sector, instead of for
29787 multiple sectors.
29788
ca25d8f0 297892007-10-31 Robert Millan <rmh@aybabtu.com>
29790
29791 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
29792
29793 * conf/i386-linuxbios.rmk: New file.
29794
29795 * kern/i386/pc/hardware.c: Likewise.
29796 * term/i386/pc/at_keyboard.c: Likewise.
29797 * term/i386/pc/vga_text.c: Likewise.
29798
29799 * include/grub/i386/linuxbios/boot.h: Likewise.
29800 * include/grub/i386/linuxbios/console.h: Likewise.
29801 * include/grub/i386/linuxbios/init.h: Likewise.
29802 * include/grub/i386/linuxbios/kernel.h: Likewise.
29803 * include/grub/i386/linuxbios/loader.h: Likewise.
29804 * include/grub/i386/linuxbios/memory.h: Likewise.
29805 * include/grub/i386/linuxbios/serial.h: Likewise.
29806 * include/grub/i386/linuxbios/time.h: Likewise.
29807
29808 * kern/i386/linuxbios/init.c: Likewise.
29809 * kern/i386/linuxbios/startup.S: Likewise.
29810 * kern/i386/linuxbios/table.c: Likewise.
29811
e911ecc1 298122007-10-31 Marco Gerards <marco@gnu.org>
29813
29814 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
29815 (ata_mod_SOURCES): New variable.
29816 (ata_mod_CFLAGS): Likewise.
29817 (ata_mod_LDFLAGS): Likewise.
29818
29819 * disk/ata.c: New file.
29820
29821 * include/grub/disk.h (grub_disk_dev_id): Add
29822 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 29823
7f66d0e0 298242007-10-31 Robert Millan <rmh@aybabtu.com>
29825
29826 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
29827 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
29828
29829 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
29830 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
29831
29832 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
29833 `<grub/types.h>'.
29834
29835 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
29836
5cd7dd46 298372007-10-27 Robert Millan <rmh@aybabtu.com>
29838
3236ca65 29839 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 29840
2ebfc90f 298412007-10-22 Robert Millan <rmh@aybabtu.com>
29842
29843 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
29844 `"../realmode.S"'.
29845 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
29846
73fcb0f3 298472007-10-22 Robert Millan <rmh@aybabtu.com>
29848
29849 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
29850 (pkgdata_MODULES): Add `biosdisk.mod'.
29851 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
29852 variables.
29853
29854 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
29855 (grub_biosdisk_init): Replace with ...
29856 (GRUB_MOD_INIT(biosdisk)): ... this.
29857 (grub_biosdisk_fini): Replace with ...
29858 (GRUB_MOD_FINI(biosdisk)): ... this.
29859
29860 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
29861 (grub_machine_init): Remove call to grub_biosdisk_init().
29862 (grub_machine_fini): Remove call to grub_machine_fini().
29863
29864 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
29865
3381d274 298662007-10-22 Robert Millan <rmh@aybabtu.com>
29867
29868 * include/grub/time.h: New file.
29869 * include/grub/i386/time.h: Likewise.
29870 * include/grub/powerpc/time.h: Likewise.
29871 * include/grub/sparc64/time.h: Likewise.
29872
29873 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
29874 instances to ...
29875 (KERNEL_MACHINE_TIME_HEADER): ... this.
29876 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
29877 instances to ...
29878 (KERNEL_MACHINE_TIME_HEADER): ... this.
29879 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
29880 instances to ...
29881 (KERNEL_MACHINE_TIME_HEADER): ... this.
29882
29883 * kern/i386/efi/init.c: Include `<grub/time.h>'.
29884 (grub_millisleep): New function.
29885 * kern/i386/pc/init.c: Include `<grub/time.h>'.
29886 (grub_millisleep): New function.
29887 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
29888 Remove `grub/machine/time.h' include.
29889 (grub_millisleep): New function.
29890 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
29891 Remove `grub/machine/time.h' include.
29892 (grub_millisleep): New function.
29893
29894 * include/grub/misc.h (grub_div_roundup): New function.
29895
29896 * kern/misc.c: Include `<grub/time.h>'.
29897 (grub_millisleep_generic): New function.
29898
29899 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
29900 Add `time.h'.
29901 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
29902 Add `time.h'.
29903 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
29904 `machine/time.h'. Add `time.h'.
29905 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
29906
a39a0312 299072007-10-21 Robert Millan <rmh@aybabtu.com>
29908
29909 * include/grub/misc.h (grub_max): New function.
29910
2aad70e2 299112007-10-21 Robert Millan <rmh@aybabtu.com>
29912
29913 * util/misc.c (grub_util_info): Call fflush() before returning.
29914
54b71c4b 299152007-10-20 Robert Millan <rmh@aybabtu.com>
29916
29917 * genmk.rb (Image): Copy `extra_flags' from here ...
29918 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
29919
29920 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
29921 to `argc' and `args' arguments.
29922
a979f513 299232007-10-17 Robert Millan <rmh@aybabtu.com>
29924
29925 * kern/i386/loader.S: New file.
29926
29927 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
29928 * kern/i386/loader.S (grub_linux_prot_size)... to here.
29929 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
29930 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
29931 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
29932 * kern/i386/loader.S (grub_linux_real_addr)... to here.
29933 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
29934 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
29935 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
29936 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
29937 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
29938 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
29939 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
29940 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
29941
29942 * kern/i386/realmode.S: New file.
29943
29944 * kern/i386/pc/startup.S (protstack): Moved from here ...
29945 * kern/i386/realmode.S (protstack)... to here.
29946 * kern/i386/pc/startup.S (gdt): Moved from here ...
29947 * kern/i386/realmode.S (gdt)... to here.
29948 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
29949 * kern/i386/realmode.S (prot_to_real)... to here.
29950
29951 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
29952 `kern/i386/realmode.S'.
29953
825fc8fd 299542007-10-17 Robert Millan <rmh@aybabtu.com>
29955
29956 * include/grub/i386/loader.h: New file.
29957
29958 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
29959 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
29960 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
29961 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
29962 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
29963 * include/grub/i386/loader.h (grub_linux_prot_size)
29964 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
29965 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
29966 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
29967 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
29968
29969 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
29970
e179b2f4 299712007-10-15 Robert Millan <rmh@aybabtu.com>
29972
29973 * normal/misc.c (grub_normal_print_device_info): Do not probe for
29974 filesystem when dev->disk is unset.
29975 Do probe for filesystem even when dev->disk->has_partitions is set.
29976 In case a filesystem is found, always report it.
29977 In case it isn't, if dev->disk->has_partitions is set, report that
29978 a partition table was found instead of reporting that no filesystem
29979 could be identified.
29980
5db82af6 299812007-10-12 Robert Millan <rmh@aybabtu.com>
29982
29983 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
29984 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
29985
68f6ac74 29986 * include/grub/types.h (grub_host_to_target16): New macro.
29987 (grub_host_to_target32): Likewise.
29988 (grub_host_to_target64): Likewise.
29989 (grub_target_to_host16): Likewise.
29990 (grub_target_to_host32): Likewise.
29991 (grub_target_to_host64): Likewise.
5db82af6 29992
29993 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
29994 Renamed from to ...
29995 (GRUB_MOD_ALIGN): ...this. Update all users.
29996
68f6ac74 29997 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
29998 grub_host_to_target32.
29999 Replace grub_be_to_cpu32 with grub_target_to_host32.
30000 (load_modules): Likewise.
30001 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
30002 Replace grub_be_to_cpu32 with grub_target_to_host32.
30003 Replace grub_cpu_to_be16 with grub_host_to_target16.
30004 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 30005
3cf497cc 300062007-10-12 Robert Millan <rmh@aybabtu.com>
30007
30008 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
30009 * util/elf/grub-mkimage.c: ... here.
30010
30011 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
30012 `util/powerpc/ieee1275/grub-mkimage.c'.
30013
c8cc3692 300142007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 30015
c8cc3692 30016 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
30017 and make it easier to figure out.
30018 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
30019 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
30020 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
30021 leave us with less than HEAP_MIN_SIZE total heap.
30022 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 30023
5c58b791 300242007-10-03 Robert Millan <rmh@aybabtu.com>
30025
30026 * include/grub/i386/io.h: New file.
30027 * commands/i386/pc/play.c (inb): Removed.
30028 (outb): Removed.
30029 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
30030 with grub_outb().
afcd2ef8 30031 * term/i386/pc/serial.c (inb): Removed.
30032 (outb): Removed.
30033 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
30034 with grub_outb().
30035 * term/i386/pc/vga.c (inb): Removed.
30036 (outb): Removed.
30037 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
30038 with grub_outb().
5c58b791 30039
1a477ed6 300402007-10-02 Robert Millan <rmh@aybabtu.com>
30041
30042 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
30043 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30044 Reported by Marcin Kurek.
30045
6b5d80fa 300462007-09-07 Robert Millan <rmh@aybabtu.com>
30047
30048 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
30049 SmartFirmware version updates (as released by Sven Luther), and avoid
30050 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
30051 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
30052 known broken.
30053
5618afbf 300542007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
30055
30056 From Hitoshi Ozeki:
30057 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
30058 when merging two regions.
30059
6139dcd9 300602007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
30061
508e39ee 30062 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
30063 * normal/completion.c (grub_normal_do_completion): Likewise.
30064 Reported by Hitoshi Ozeki.
30065
300662007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 30067
6139dcd9 30068 Do not use devices at boot in chainloading.
f19dbdb7 30069
6139dcd9 30070 * loader/i386/pc/chainloader.c (boot_drive): New variable.
30071 (boot_part_addr): Likewise.
30072 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
30073 with BOOT_DRIVE and BOOT_PART_ADDR.
30074 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
30075 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
30076
38da6516 300772007-08-29 Robert Millan <rmh@aybabtu.com>
30078
30079 Patch from Simon Peter <dn.tlp@gmx.net>:
30080 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
30081 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
30082 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
30083 util/i386/pc/grub-setup.c_DEPENDENCIES.
30084 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
30085 util/grub-probe.c_DEPENDENCIES.
30086 * conf/powerpc-ieee1275.rmk: Likewise.
30087
29d0928c 300882007-08-28 Robert Millan <rmh@aybabtu.com>
30089
30090 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
30091 to tell grub-mkdevicemap how to name devices.
30092 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
30093 feature).
30094
30095 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
30096 util/i386/get_disk_name.c.
30097 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
30098 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
30099 util/ieee1275/get_disk_name.c.
30100
30101 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
30102
30103 * DISTLIST: Add util/i386/get_disk_name.c and
30104 util/ieee1275/get_disk_name.c.
30105
30106 * util/grub-mkdevicemap.c: Replace device naming logic with
30107 grub_util_get_disk_name() calls.
30108
5a0d3cca 301092007-08-20 Robert Millan <rmh@aybabtu.com>
30110
30111 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
30112 (so that it works for both plural and singular quantities).
30113
8b72db2f 301142007-08-05 Robert Millan <rmh@aybabtu.com>
30115
30116 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
30117 so that [xz] isn't taken into account when determining order.
30118
352466bf 301192007-08-02 Marco Gerards <marco@gnu.org>
30120
30121 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
30122 `include/multiboot2.h', `include/grub/elfload.h',
30123 `include/multiboot.h', `include/grub/multiboot.h',
30124 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
30125 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
30126 `kern/elf.c', `loader/multiboot_loader.c',
30127 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
30128 `loader/i386/pc/multiboot2.c',
30129 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
30130 `util/i386/pc/grub-mkrescue.in'. Remove
30131 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
30132 `include/grub/i386/pc/util/biosdisk.h' and
30133 `include/grub/powerpc/ieee1275/multiboot.h'.
30134
8f096014 301352007-08-02 Bean <bean123ch@gmail.com>
30136
30137 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
30138 (ntfs_mod_SOURCES): New variable.
30139 (ntfs_mod_CFLAGS): Likewise.
30140 (ntfs_mod_LDFLAGS): Likewise.
30141
30142 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
30143 (grub_probe_SOURCES): Likewise.
30144 (grub_emu_SOURCES): Likewise.
30145
30146 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
30147 (grub_emu_SOURCES): Likewise.
30148
30149 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
30150 (grub_emu_SOURCES): Likewise.
f19dbdb7 30151
8f096014 30152 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
30153
30154 * fs/ntfs.c: New file.
30155
9959f7db 301562007-08-02 Bean <bean123ch@gmail.com>
30157
30158 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
30159
30160 * file.h (grub_file): Likewise.
30161
30162 * fshelp.h (grub_fshelp_read_file): Likewise.
30163
30164 * util/i386/pc/grub-setup.c (setup): Likewise.
30165 (save_first_sector): Likewise.
30166 (save_blocklists): Likewise.
f19dbdb7 30167
9959f7db 30168 * fs/affs.c (grub_affs_read_file): Likewise.
30169
30170 * fs/ext2.c (grub_ext2_read_file): Likewise.
30171
30172 * fs/fat.c (grub_fat_read_data): Likewise.
30173
30174 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
30175
30176 * fs/hfs.c (grub_hfs_read_file): Likewise.
30177
30178 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
30179
30180 * fs/jfs.c (grub_jfs_read_file): Likewise.
30181
30182 * fs/minix.c (grub_minix_read_file): Likewise.
30183
30184 * fs/sfs.c (grub_sfs_read_file): Likewise.
30185
30186 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 30187
9959f7db 30188 * fs/xfs.c (grub_xfs_read_file): Likewise.
30189
30190 * command/blocklist.c (read_blocklist): Likewise.
30191 (print_blocklist): Likewise.
30192
0a203f83 301932007-08-02 Marco Gerards <marco@gnu.org>
30194
30195 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
30196 `util/hostfs.c'.
30197
30198 * disk/host.c: New file.
30199
30200 * util/hostfs.c: Likewise.
30201
30202 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
30203 return `GRUB_ERR_BAD_FS'.
30204 * fs/sfs.c (grub_sfs_mount): Likewise.
30205 * fs/xfs.c (grub_xfs_mount): Likewise.
30206
30207 * include/grub/disk.h (enum grub_disk_dev_id): Add
30208 `GRUB_DISK_DEVICE_HOST_ID'.
30209
30210 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
30211
e5dfe777 302122007-07-24 Jerone Young <jerone@gmail.com>
30213
f19dbdb7 30214 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 30215 modules for compilation.
30216 * conf/powerpc-ieee1275.rmk: Likewise.
30217
30218 * include/multiboot.h: Move multiboot definitions to one file. Rename
30219 many definitions to not get grub specific.
30220 * include/multiboot2.h: Create header with multiboot 2 definitions.
30221 * include/grub/multiboot.h: Header for grub specific function
30222 prototypes and definitions.
30223 * include/grub/multiboot2.h: Likewise.
30224 * include/grub/multiboot_loader.h: Likewise.
30225 * include/grub/i386/pc/multiboot.h: Removed.
30226 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
30227
30228 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
30229 and 2 to allow for one multiboot and module commands.
30230 * loader/multiboot2.c: Add multiboot2 functionality.
30231 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
30232 and definition names.
30233 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
30234 2 functions.
30235 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
30236 ieee1275 specific multiboot2 code.
30237
30238 * kern/i386/pc/startup.S: Change headers and definition names for
30239 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
30240
daf0f0ba 302412007-07-22 Robert Millan <rmh@aybabtu.com>
30242
30243 * geninitheader.sh: Process file specified in first parameter rather
30244 than hardcoding grub_modules_init.lst.
fe6b695a 30245 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 30246 than hardcoding grub_modules_init.h.
30247
30248 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
30249 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
30250 grub_probe_init.[ch] and grub_setup_init.[ch].
30251
30252 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
30253 grub_modules_init.h with grub_emu_init.h.
30254 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
30255 grub_probe_init.[ch] files.
30256 * conf/i386-efi.rmk: Likewise.
30257 * conf/i386-pc.rmk: Likewise.
30258 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
30259 grub_setup_init.[ch] files.
30260
30261 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
30262 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
30263 to initialize modules rather than a list of hardcoded functions.
30264 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
30265 grub_init_all() to initialize modules rather than a list of hardcoded
30266 functions.
30267
54cdc1cc 302682007-07-22 Robert Millan <rmh@aybabtu.com>
30269
30270 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
30271 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
30272
ad0686cc 302732007-07-22 Robert Millan <rmh@aybabtu.com>
30274
30275 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
30276 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
30277 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
30278 flag when running on SmartFirmware.
30279 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
30280 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
30281 was set.
30282
30283 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
30284 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
30285 rather than decreasing it.
30286
30287 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
30288 there's not enough space to do it, fail in the same way as when it
30289 can't be done because there are no partitions.
30290
30291 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
30292 when nvsetenv failed.
30293
969c02ec 302942007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
30295
30296 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
30297 because this rule is automatically generated.
30298 (grub-mkrescue): Removed for the same reason as above.
30299
5a79f472 303002007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
30301
30302 Migrate to GNU General Public License Version 3.
f19dbdb7 30303
5a79f472 30304 * COPYING: Replaced with the plain text version of GPLv3.
30305
30306 * config.guess: Updated from gnulib.
30307 * config.sub: Likewise.
30308
30309 * geninit.sh: Output a GPLv3 copyright notice.
30310 * geninitheader.sh: Likewise.
30311 * genmodsrc.sh: Likewise.
30312 * gensymlist.sh.in: Likewise.
30313
30314 * boot/i386/pc/boot.S: Upgraded to GPLv3.
30315 * boot/i386/pc/diskboot.S: Likewise.
30316 * boot/i386/pc/pxeboot.S: Likewise.
30317 * commands/blocklist.c: Likewise.
30318 * commands/boot.c: Likewise.
30319 * commands/cat.c: Likewise.
30320 * commands/cmp.c: Likewise.
30321 * commands/configfile.c: Likewise.
30322 * commands/echo.c: Likewise.
30323 * commands/help.c: Likewise.
30324 * commands/ls.c: Likewise.
30325 * commands/search.c: Likewise.
30326 * commands/terminal.c: Likewise.
30327 * commands/test.c: Likewise.
30328 * commands/videotest.c: Likewise.
30329 * commands/i386/cpuid.c: Likewise.
30330 * commands/i386/pc/halt.c: Likewise.
30331 * commands/i386/pc/play.c: Likewise.
30332 * commands/i386/pc/reboot.c: Likewise.
30333 * commands/i386/pc/vbeinfo.c: Likewise.
30334 * commands/i386/pc/vbetest.c: Likewise.
30335 * commands/ieee1275/halt.c: Likewise.
30336 * commands/ieee1275/reboot.c: Likewise.
30337 * commands/ieee1275/suspend.c: Likewise.
30338 * disk/loopback.c: Likewise.
30339 * disk/lvm.c: Likewise.
30340 * disk/raid.c: Likewise.
30341 * disk/efi/efidisk.c: Likewise.
30342 * disk/i386/pc/biosdisk.c: Likewise.
30343 * disk/ieee1275/ofdisk.c: Likewise.
30344 * font/manager.c: Likewise.
30345 * fs/affs.c: Likewise.
30346 * fs/ext2.c: Likewise.
30347 * fs/fat.c: Likewise.
30348 * fs/fshelp.c: Likewise.
30349 * fs/hfs.c: Likewise.
30350 * fs/hfsplus.c: Likewise.
30351 * fs/iso9660.c: Likewise.
30352 * fs/jfs.c: Likewise.
30353 * fs/minix.c: Likewise.
30354 * fs/sfs.c: Likewise.
30355 * fs/ufs.c: Likewise.
30356 * fs/xfs.c: Likewise.
30357 * hello/hello.c: Likewise.
30358 * include/grub/acorn_filecore.h: Likewise.
30359 * include/grub/arg.h: Likewise.
30360 * include/grub/bitmap.h: Likewise.
30361 * include/grub/boot.h: Likewise.
30362 * include/grub/cache.h: Likewise.
30363 * include/grub/device.h: Likewise.
30364 * include/grub/disk.h: Likewise.
30365 * include/grub/dl.h: Likewise.
30366 * include/grub/elfload.h: Likewise.
30367 * include/grub/env.h: Likewise.
30368 * include/grub/err.h: Likewise.
30369 * include/grub/file.h: Likewise.
30370 * include/grub/font.h: Likewise.
30371 * include/grub/fs.h: Likewise.
30372 * include/grub/fshelp.h: Likewise.
30373 * include/grub/gzio.h: Likewise.
30374 * include/grub/hfs.h: Likewise.
30375 * include/grub/kernel.h: Likewise.
30376 * include/grub/loader.h: Likewise.
30377 * include/grub/lvm.h: Likewise.
30378 * include/grub/misc.h: Likewise.
30379 * include/grub/mm.h: Likewise.
30380 * include/grub/net.h: Likewise.
30381 * include/grub/normal.h: Likewise.
30382 * include/grub/parser.h: Likewise.
30383 * include/grub/partition.h: Likewise.
30384 * include/grub/pc_partition.h: Likewise.
30385 * include/grub/raid.h: Likewise.
30386 * include/grub/rescue.h: Likewise.
30387 * include/grub/script.h: Likewise.
30388 * include/grub/setjmp.h: Likewise.
30389 * include/grub/symbol.h: Likewise.
30390 * include/grub/term.h: Likewise.
30391 * include/grub/terminfo.h: Likewise.
30392 * include/grub/tparm.h: Likewise.
30393 * include/grub/types.h: Likewise.
30394 * include/grub/video.h: Likewise.
30395 * include/grub/efi/api.h: Likewise.
30396 * include/grub/efi/chainloader.h: Likewise.
30397 * include/grub/efi/console.h: Likewise.
30398 * include/grub/efi/console_control.h: Likewise.
30399 * include/grub/efi/disk.h: Likewise.
30400 * include/grub/efi/efi.h: Likewise.
30401 * include/grub/efi/pe32.h: Likewise.
30402 * include/grub/efi/time.h: Likewise.
30403 * include/grub/i386/linux.h: Likewise.
30404 * include/grub/i386/setjmp.h: Likewise.
30405 * include/grub/i386/types.h: Likewise.
30406 * include/grub/i386/efi/kernel.h: Likewise.
30407 * include/grub/i386/efi/loader.h: Likewise.
30408 * include/grub/i386/efi/time.h: Likewise.
30409 * include/grub/i386/pc/biosdisk.h: Likewise.
30410 * include/grub/i386/pc/boot.h: Likewise.
30411 * include/grub/i386/pc/chainloader.h: Likewise.
30412 * include/grub/i386/pc/console.h: Likewise.
30413 * include/grub/i386/pc/init.h: Likewise.
30414 * include/grub/i386/pc/kernel.h: Likewise.
30415 * include/grub/i386/pc/loader.h: Likewise.
30416 * include/grub/i386/pc/memory.h: Likewise.
30417 * include/grub/i386/pc/multiboot.h: Likewise.
30418 * include/grub/i386/pc/serial.h: Likewise.
30419 * include/grub/i386/pc/time.h: Likewise.
30420 * include/grub/i386/pc/vbe.h: Likewise.
30421 * include/grub/i386/pc/vbeblit.h: Likewise.
30422 * include/grub/i386/pc/vbefill.h: Likewise.
30423 * include/grub/i386/pc/vbeutil.h: Likewise.
30424 * include/grub/i386/pc/vga.h: Likewise.
30425 * include/grub/ieee1275/ieee1275.h: Likewise.
30426 * include/grub/ieee1275/ofdisk.h: Likewise.
30427 * include/grub/powerpc/libgcc.h: Likewise.
30428 * include/grub/powerpc/setjmp.h: Likewise.
30429 * include/grub/powerpc/types.h: Likewise.
30430 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
30431 * include/grub/powerpc/ieee1275/console.h: Likewise.
30432 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
30433 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
30434 * include/grub/powerpc/ieee1275/loader.h: Likewise.
30435 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
30436 * include/grub/powerpc/ieee1275/time.h: Likewise.
30437 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
30438 * include/grub/sparc64/libgcc.h: Likewise.
30439 * include/grub/sparc64/setjmp.h: Likewise.
30440 * include/grub/sparc64/types.h: Likewise.
30441 * include/grub/sparc64/ieee1275/console.h: Likewise.
30442 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
30443 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
30444 * include/grub/sparc64/ieee1275/time.h: Likewise.
30445 * include/grub/util/biosdisk.h: Likewise.
30446 * include/grub/util/getroot.h: Likewise.
30447 * include/grub/util/lvm.h: Likewise.
30448 * include/grub/util/misc.h: Likewise.
30449 * include/grub/util/raid.h: Likewise.
30450 * include/grub/util/resolve.h: Likewise.
30451 * io/gzio.c: Likewise.
30452 * kern/device.c: Likewise.
30453 * kern/disk.c: Likewise.
30454 * kern/dl.c: Likewise.
30455 * kern/elf.c: Likewise.
30456 * kern/env.c: Likewise.
30457 * kern/err.c: Likewise.
30458 * kern/file.c: Likewise.
30459 * kern/fs.c: Likewise.
30460 * kern/loader.c: Likewise.
30461 * kern/main.c: Likewise.
30462 * kern/misc.c: Likewise.
30463 * kern/mm.c: Likewise.
30464 * kern/parser.c: Likewise.
30465 * kern/partition.c: Likewise.
30466 * kern/rescue.c: Likewise.
30467 * kern/term.c: Likewise.
30468 * kern/efi/efi.c: Likewise.
30469 * kern/efi/init.c: Likewise.
30470 * kern/efi/mm.c: Likewise.
30471 * kern/i386/dl.c: Likewise.
30472 * kern/i386/efi/init.c: Likewise.
30473 * kern/i386/efi/startup.S: Likewise.
30474 * kern/i386/pc/init.c: Likewise.
30475 * kern/i386/pc/lzo1x.S: Likewise.
30476 * kern/i386/pc/startup.S: Likewise.
30477 * kern/ieee1275/ieee1275.c: Likewise.
30478 * kern/powerpc/cache.S: Likewise.
30479 * kern/powerpc/dl.c: Likewise.
30480 * kern/powerpc/ieee1275/cmain.c: Likewise.
30481 * kern/powerpc/ieee1275/crt0.S: Likewise.
30482 * kern/powerpc/ieee1275/init.c: Likewise.
30483 * kern/powerpc/ieee1275/openfw.c: Likewise.
30484 * kern/sparc64/cache.S: Likewise.
30485 * kern/sparc64/dl.c: Likewise.
30486 * kern/sparc64/ieee1275/init.c: Likewise.
30487 * kern/sparc64/ieee1275/openfw.c: Likewise.
30488 * loader/efi/chainloader.c: Likewise.
30489 * loader/efi/chainloader_normal.c: Likewise.
30490 * loader/i386/efi/linux.c: Likewise.
30491 * loader/i386/efi/linux_normal.c: Likewise.
30492 * loader/i386/pc/chainloader.c: Likewise.
30493 * loader/i386/pc/chainloader_normal.c: Likewise.
30494 * loader/i386/pc/linux.c: Likewise.
30495 * loader/i386/pc/linux_normal.c: Likewise.
30496 * loader/i386/pc/multiboot.c: Likewise.
30497 * loader/i386/pc/multiboot_normal.c: Likewise.
30498 * loader/powerpc/ieee1275/linux.c: Likewise.
30499 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
30500 * normal/arg.c: Likewise.
30501 * normal/cmdline.c: Likewise.
30502 * normal/command.c: Likewise.
30503 * normal/completion.c: Likewise.
30504 * normal/execute.c: Likewise.
30505 * normal/function.c: Likewise.
30506 * normal/lexer.c: Likewise.
30507 * normal/main.c: Likewise.
30508 * normal/menu.c: Likewise.
30509 * normal/menu_entry.c: Likewise.
30510 * normal/misc.c: Likewise.
30511 * normal/parser.y: Likewise.
30512 * normal/script.c: Likewise.
30513 * normal/i386/setjmp.S: Likewise.
30514 * normal/powerpc/setjmp.S: Likewise.
30515 * normal/sparc64/setjmp.S: Likewise.
30516 * partmap/acorn.c: Likewise.
30517 * partmap/amiga.c: Likewise.
30518 * partmap/apple.c: Likewise.
30519 * partmap/gpt.c: Likewise.
30520 * partmap/pc.c: Likewise.
30521 * partmap/sun.c: Likewise.
30522 * term/gfxterm.c: Likewise.
30523 * term/terminfo.c: Likewise.
30524 * term/efi/console.c: Likewise.
30525 * term/i386/pc/console.c: Likewise.
30526 * term/i386/pc/serial.c: Likewise.
30527 * term/i386/pc/vesafb.c: Likewise.
30528 * term/i386/pc/vga.c: Likewise.
30529 * term/ieee1275/ofconsole.c: Likewise.
30530 * util/biosdisk.c: Likewise.
30531 * util/console.c: Likewise.
30532 * util/genmoddep.c: Likewise.
30533 * util/getroot.c: Likewise.
30534 * util/grub-emu.c: Likewise.
30535 * util/grub-mkdevicemap.c: Likewise.
30536 * util/grub-probe.c: Likewise.
30537 * util/lvm.c: Likewise.
30538 * util/misc.c: Likewise.
30539 * util/raid.c: Likewise.
30540 * util/resolve.c: Likewise.
30541 * util/update-grub.in: Likewise.
30542 * util/update-grub_lib.in: Likewise.
30543 * util/grub.d/00_header.in: Likewise.
30544 * util/grub.d/10_hurd.in: Likewise.
30545 * util/grub.d/10_linux.in: Likewise.
30546 * util/i386/efi/grub-install.in: Likewise.
30547 * util/i386/efi/grub-mkimage.c: Likewise.
30548 * util/i386/pc/grub-install.in: Likewise.
30549 * util/i386/pc/grub-mkimage.c: Likewise.
30550 * util/i386/pc/grub-mkrescue.in: Likewise.
30551 * util/i386/pc/grub-setup.c: Likewise.
30552 * util/i386/pc/misc.c: Likewise.
30553 * util/powerpc/ieee1275/grub-install.in: Likewise.
30554 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
30555 * util/powerpc/ieee1275/misc.c: Likewise.
30556 * video/bitmap.c: Likewise.
30557 * video/video.c: Likewise.
30558 * video/i386/pc/vbe.c: Likewise.
30559 * video/i386/pc/vbeblit.c: Likewise.
30560 * video/i386/pc/vbefill.c: Likewise.
30561 * video/i386/pc/vbeutil.c: Likewise.
30562 * video/readers/tga.c: Likewise.
30563
3572d015 305642007-07-02 Robert Millan <rmh@aybabtu.com>
30565
30566 * conf/i386-efi.rmk: Replace obsolete reference to
30567 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
30568 with util/getroot.c.
30569 * conf/powerpc-ieee1275.rmk: Likewise.
30570 * conf/sparc64-ieee1275.rmk: Likewise.
30571
30572 * util/grub-emu.c (main): Fix unchecked pointer handling.
30573
2c2a681b 305742007-07-02 Robert Millan <rmh@aybabtu.com>
30575
30576 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
30577 invocation to fail, in order to support partition-less media.
30578
30579 * util/i386/pc/grub-install.in: Likewise.
30580
30581 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
30582 which fs or partmap modules are needed (akin to its sister scripts).
30583
30584 Also use grub-probe to get rid of unportable /proc/mounts check.
30585
30586 Print the same informational message that the other scripts do, before
fe6b695a 30587 exiting.
2c2a681b 30588
6193defe 305892007-06-23 Robert Millan <rmh@aybabtu.com>
30590
fe6b695a 30591 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 30592 a font file can be found and, if so, echo the GRUB path to it.
30593
30594 * util/update-grub.in: Handle multiple terminals depending on user
30595 input, platform availability and font file presence. Propagate
30596 variables of our findings to /etc/grub.d/ children.
30597
30598 * util/grub.d/00_header.in: Handle multiple terminals, based on
30599 environment setup by update-grub.
30600
eface1dc 306012007-06-23 Robert Millan <rmh@aybabtu.com>
30602
ba50d28f 30603 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 30604
bf697e28 306052007-06-21 Robert Millan <rmh@aybabtu.com>
30606
30607 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
30608 indicate end of data section in kernel image.
30609 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
30610 GRUB_KERNEL_MACHINE_DATA_END.
30611
30612 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
30613 space for it.
30614 * kern/i386/efi/startup.S: Likewise.
30615
30616 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
30617 during image generation. Implement --prefix option to override this
30618 patch.
30619 * util/i386/efi/grub-mkimage.c: Likewise.
30620
30621 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
30622 code to make path relative to its root into a separate function.
30623
30624 * util/i386/pc/grub-install.in: Use newly provided
30625 make_system_path_relative_to_its_root() to convert ${grubdir}, then
30626 pass the result to grub-install --prefix.
30627
baa574b4 306282007-06-13 Robert Millan <rmh@aybabtu.com>
30629
30630 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
30631 DEFAULT_DEVICE_MAP.
30632 * util/grub-emu.c: Use above definitions from misc.h instead of
30633 defining them.
30634 * util/grub-mkdevicemap.c: Likewise.
30635 * util/i386/pc/grub-setup.c: Likewise.
30636 * util/grub-probe.c: Likewise.
30637 (probe): Abort with grub_util_error() when either
30638 grub_guess_root_device or grub_util_get_grub_dev fails.
30639
0215dcbf 306402007-06-12 Robert Millan <rmh@aybabtu.com>
30641
30642 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
30643 "pager" assignment.
30644 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
30645 "pcdata".
30646 * util/grub-probe.c (probe): Likewise for "drive_name".
30647
8af2ab7b 306482007-06-11 Robert Millan <rmh@aybabtu.com>
30649
30650 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
30651 not just the cdrom one.
30652
59d31694 306532007-06-11 Robert Millan <rmh@aybabtu.com>
30654
30655 * util/i386/pc/grub-mkrescue.in: Add "set -e".
30656 Add --pkglibdir=DIR option to override pkglibdir.
30657 Mention --image-type=TYPE in help output.
30658 Fix --grub-mkimage (it was a no-op).
fe6b695a 30659 Abort gracefully when no parameter is given.
59d31694 30660
7ee367e4 306612007-06-11 Robert Millan <rmh@aybabtu.com>
30662
30663 * util/i386/pc/grub-mkrescue.in: New file.
30664 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
30665 * Makefile.in: Handle bin_SCRIPTS.
30666
29b0ed46 306672007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
30668
30669 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
30670 list of video modes.
30671
c0f90770 306722007-06-06 Robert Millan <rmh@aybabtu.com>
30673
30674 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
30675 file doesn't exist, or if it is in a filesystem grub can't read.
30676
30677 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
30678 not abort if GRUB_DRIVE could not be defined. Rearrange generated
30679 header comment to fit in 80 columns when the variables are resolved.
30680
30681 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
30682 could be identified by update-grub. Remove redundant check for
fe6b695a 30683 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 30684 handles that).
30685
fb36dc26 306862007-06-04 Robert Millan <rmh@aybabtu.com>
30687
30688 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
30689
30690 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
30691
30692 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
30693
0c68c93e 306942007-06-04 Robert Millan <rmh@aybabtu.com>
30695
30696 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
30697
30698 * include/grub/partition.h: Declare grub_apple_partition_map_init and
30699 grub_apple_partition_map_fini.
30700
30701 * util/biosdisk.c
30702 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
30703 to access >2 TiB disks).
30704
30705 Print disk->total_sectors with %llu instead of %lu, since this
30706 variable is always 64-bit (prevents wrong disk size from being displayed
30707 on either >2 TiB disk or big-endian CPU).
30708
30709 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
30710 into a generic case that supports all (sane) partition maps.
30711
30712 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
30713 breaks big-endian.
30714
30715 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
30716 and grub_apple_partition_map_fini() after that.
30717
0f23eb74 307182007-06-01 Robert Millan <rmh@aybabtu.com>
30719
30720 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
30721
30722 * util/grub.d/00_header.in: Only enable gfxterm when
30723 convert_system_path_to_grub_path() succeeds.
30724
42c71976 307252007-05-20 Robert Millan <rmh@aybabtu.com>
30726
30727 * util/update-grub_lib.in: New file.
30728 * DISTLIST: Add update-grub_lib.in.
30729 * conf/common.rmk: Generate update-grub_lib and install it in
30730 $(lib_DATA).
30731 * Makefile.in: Add install routine for $(lib_DATA).
30732
30733 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
30734 function provided by update-grub_lib to support arbitrary paths of
30735 unifont.pff.
30736 * util/update-grub.in: Use convert_system_path_to_grub_path() to
30737 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
30738
5beb2291 307392007-05-19 Robert Millan <rmh@aybabtu.com>
30740
30741 * commands/i386/cpuid.c: New module.
30742 * DISTLIST: Add it.
30743 * conf/i386-efi.rmk: Enable cpuid.mod.
30744 * conf/i386-pc.rmk: Likewise.
30745
7262eca1 307462007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
30747
30748 * kern/disk.c (grub_disk_read): Check return value of
30749 grub_realloc().
30750
260ba823 307512007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
30752
30753 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
30754 arrays.
30755 * disk/raid.c (grub_raid_open): Likewise.
30756
1ecb6cf2 307572007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
30758
30759 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
30760 stack instead of on the heap.
30761
30762 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
30763 before doing a read on it.
30764
30765 * configure.ac: Only use -fno-stack-protector for the target
30766 environment.
f19dbdb7 30767
21c8cbb1 307682007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
30769
30770 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
30771 __attribute_ ((unused)) to mode_type argument.
30772
30773 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 30774
21c8cbb1 30775 * kern/misc.c (memcmp): Fix prototype.
30776
30777 * include/grub/partition.h [GRUB_UTIL]
30778 (grub_gpt_partition_map_init): Add prototype.
30779 (grub_gpt_partition_map_fini): Likewise.
30780
30781 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
30782 at the right place.
30783
30784 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
30785 (grub_fat_read_data): Likewise.
30786 (grub_fat_find_dir): Likewise.
30787
30788 * font/manager.c (find_glyph): Make table a const.
30789 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 30790
849d55d3 307912007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
30792
30793 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
30794 code, first search for device in /dev/mapper, then in /dev.
30795 (grub_util_get_grub_dev): New function.
30796 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
30797 prototype.
30798 * util/grub-probe.c (probe): Remove check for RAID, call
30799 grub_util_get_grub_dev() instead of
30800 grub_util_biosdisk_get_grub_dev().
30801 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
30802 grub_util_biosdisk_get_grub_dev().
30803 * util/i386/pc/grub-setup.c (main): Likewise.
30804
8fff7c2f 308052007-05-16 Robert Millan <rmh@aybabtu.com>
30806
30807 * DISTLIST: Update for the latest changes.
30808 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
30809 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
30810 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
30811 grub/util/biosdisk.h.
30812 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
30813 grub/util/biosdisk.h.
30814
48e12b52 308152007-05-16 Robert Millan <rmh@aybabtu.com>
30816
30817 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
30818
46b9d128 308192007-05-16 Robert Millan <rmh@aybabtu.com>
30820
30821 * util/i386/efi/grub-install.in: New.
30822 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
30823 newly added grub-install.
30824 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
30825 include.
30826 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
30827 grub/util/biosdisk.h.
30828 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
30829 grub/util/biosdisk.h.
30830
2d1a40a9 308312007-05-16 Robert Millan <rmh@aybabtu.com>
30832
30833 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
30834 * include/grub/util/biosdisk.h: ... here.
30835 * util/i386/pc/biosdisk.c: Moved to ...
30836 * util/biosdisk.c: ... here.
30837 * util/i386/pc/getroot.c: Moved to ...
30838 * util/getroot.c: ... here.
30839 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
30840 * util/grub-mkdevicemap.c: ... here.
30841 * util/i386/pc/grub-probe.c: Moved to ...
30842 * util/grub-probe.c: ... here.
30843
9e26e3bc 308442007-05-15 Robert Millan <rmh@aybabtu.com>
30845
30846 * util/update-grub.in: Remove duplicated line in grub.cfg header
30847 message.
30848
57f96397 308492007-05-13 Robert Millan <rmh@aybabtu.com>
30850
30851 * util/update-grub.in: Fix a few assumptions about the devices holding
30852 /, /boot and /boot/grub being the same.
30853 * util/grub.d/00_header.in: Likewise.
30854 * util/grub.d/10_hurd.in: Likewise.
30855 * util/grub.d/10_linux.in: Likewise.
30856
30857 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
30858 patterns. Use that to define the `.old' suffix as older than `'.
30859
30860 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
30861
30862 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
30863 the grub.cfg header message.
30864
2e610d62 308652007-05-11 Robert Millan <rmh@aybabtu.com>
30866
30867 * util/update-grub.in: Create device.map if it doesn't already exist,
30868 before attempting to run grub-probe.
30869 Check for grub-probe and grub-mkdevicemap with the same code
30870 grub-install is using.
30871 Remove test mode.
30872
3f6a10ef 308732007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
30874
30875 * Makefile.in: Add the datarootdir autoconf variable.
30876
02e7b75e 308772007-05-09 Robert Millan <rmh@aybabtu.com>
30878
30879 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 30880 fail gracefully if dev->disk->partition == NULL.
02e7b75e 30881
75f396cc 308822007-05-07 Robert Millan <rmh@aybabtu.com>
30883
30884 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
30885 determine partition map module.
30886 * util/i386/pc/grub-install.in: Use this feature to decide which
30887 partition module to load, instead of hardcoding pc and gpt.
30888
da65cb36 308892007-05-07 Robert Millan <rmh@aybabtu.com>
30890
30891 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
30892 source directory differs from build directory.
30893
b57d6a91 308942007-05-05 Robert Millan <rmh@aybabtu.com>
30895
30896 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
30897 initialisation.
30898
509d00f1 308992007-05-05 Robert Millan <rmh@aybabtu.com>
30900
30901 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
30902
c48f23ef 309032007-05-05 Robert Millan <rmh@aybabtu.com>
30904
30905 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
30906 command-line arguments via ${GRUB_CMDLINE_LINUX}.
30907
20b97658 309082007-05-05 Robert Millan <rmh@aybabtu.com>
30909
30910 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
30911 (grub_probe_SOURCES): Likewise.
30912 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
30913 GPT and initialize dos_part and bsd_part accordingly.
30914 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
30915 install_bsd_part.
30916 (main): Activate gpt module for use during partition identification,
30917 and deactivate it afterwards.
30918 * util/i386/pc/grub-install.in: Add gpt module to core.img.
30919 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
30920 partition identification, and deactivate it afterwards.
30921
99123174 309222007-05-05 Robert Millan <rmh@aybabtu.com>
30923
30924 * term/i386/pc/console.c (grub_console_fini): Call
30925 grub_term_set_current() before grub_term_unregister().
30926
ebd97f6e 309272007-05-04 Robert Millan <rmh@aybabtu.com>
30928
30929 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
30930 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
30931 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
30932 and update-grub_DATA.
30933 * conf/common.rmk: Build and install update-grub components.
30934 * conf/common.mk: Regenerate.
30935 * util/update-grub.in: New. Core of update-grub.
30936 * util/grub.d/00_header.in: New. Generates grub.cfg header.
30937 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
30938 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
30939 * util/grub.d/README: New. Document grub.d directory layout.
30940
b06a264d 309412007-05-01 Robert Millan <rmh@aybabtu.com>
30942
30943 * util/grub-emu.c: Move initialization functions
30944 grub_util_biosdisk_init() and grub_init_all() before
30945 grub_util_biosdisk_get_grub_dev(), which relies on them.
30946
41f0050e 309472007-04-19 Robert Millan <rmh@aybabtu.com>
30948
30949 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
30950 it is used later.
30951
04582bb3 309522007-04-18 Jerone Young <jerone@gmail.com>
30953
f19dbdb7 30954 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 30955 stanza.
30956
08db4632 309572007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 30958
08db4632 30959 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
30960 continue on and look for device node with real device name.
30961
801b76be 309622007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 30963
fe6b695a 30964 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 30965 ability.
30966 * Makefile.in: Add autoconf package transformation code.
30967 * util/i386/pc/grub-install.in: Likewise.
30968 * util/powerpc/ieee1275/grub-install.in: Likewise.
30969
6795c4e1 309702007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
30971
30972 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
30973 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
30974 (EXT2_REVISION): Likewise.
30975 (EXT2_INODE_SIZE): Likewise.
30976 (struct grub_ext2_block_group): Added a missing member
30977 "used_dirs".
30978 (grub_ext2_read_inode): Divide by the inode size in a superblock
30979 instead of 128 to obtain INODES_PER_BLOCK.
30980 Use the macro EXT2_INODE_SIZE instead of directly using
30981 SBLOCK->INODE_SIZE.
30982
d70af616 309832007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
30984
30985 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
30986 superblock instead of the structure size to compute an
30987 offset. This fixes the problem that GRUB could not read a
30988 filesystem when inode size is different from 128-byte.
30989
3b801603 309902007-03-05 Marco Gerards <marco@gnu.org>
30991
30992 * normal/main.c (read_config_file): When "menu" is not set, create
30993 an initial context.
30994
4785bfe4 309952007-02-21 Hollis Blanchard <hollis@penguinppc.org>
30996
30997 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
30998 (HEAP_LIMIT): New macro.
30999 (grub_claim_heap): Claim memory up to `heaplimit'.
31000
a0cbb023 310012007-02-21 Hollis Blanchard <hollis@penguinppc.org>
31002
31003 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
31004 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
31005 (_start): Likewise.
31006 (grub_arch_modules_addr): Return address after `_end'.
31007 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
31008 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
31009 (add_segments): Calculate `_end' from phdr size and location.
31010 (ALIGN_UP): Moved to ...
31011 * include/grub/misc.h: here.
31012 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
31013 New macro.
31014 (GRUB_IEEE1275_MODULE_BASE): Removed.
31015
fd7d8eba 310162007-02-20 Hollis Blanchard <hollis@penguinppc.org>
31017
31018 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
31019 loop boundary.
31020
9b09e6fc 310212007-02-20 Hollis Blanchard <hollis@penguinppc.org>
31022
31023 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
31024 All users updated.
31025 (grub_elf64_load_hook_t): Likewise.
31026 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
31027 debug output.
31028
3ce27299 310292007-02-20 Hollis Blanchard <hollis@penguinppc.org>
31030
31031 * kern/mm.c: Update copyright.
31032 (grub_mm_debug): Correct syntax error.
31033 (grub_mm_dump_free): New function.
31034 (grub_debug_free): Call `grub_free'.
31035 * include/grub/mm.h: Update copyright.
31036 (grub_mm_dump_free): Add declaration.
31037
077d5fee 310382007-02-12 Hollis Blanchard <hollis@penguinppc.org>
31039
31040 * include/grub/ieee1275/ieee1275.h: Update copyright.
31041 * kern/powerpc/ieee1275/init.c: Likewise.
31042 * kern/powerpc/ieee1275/openfw.c: Likewise.
31043
31044 * loader/powerpc/ieee1275/linux.c: Likewise.
31045 * include/grub/elfload.h: Likewise.
31046 * kern/elf.c: Likewise.
31047 (grub_elf32_load): Pass `base' and `size' parameters. Update all
31048 callers.
31049 (grub_elf64_load): Likewise.
31050 (grub_elf32_load_segment): Move to a nested function.
31051 (grub_elf64_load_segment): Likewise.
31052
dc946850 310532007-02-12 Hollis Blanchard <hollis@penguinppc.org>
31054
31055 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
31056 prototype.
31057 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
31058 (grub_heap_len): Likewise.
31059 (HEAP_SIZE): New macro.
31060 (grub_claim_heap): New function.
31061 (grub_machine_init): Don't claim heap directly. Call
31062 `grub_claim_heap'.
31063 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
31064 (grub_available_iterate): New function.
31065
baa2a121 310662007-02-03 Thomas Schwinge <tschwinge@gnu.org>
31067
31068 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
31069 * configure.ac: Use it for testing the HOST and TARGET compilers.
31070
4fe9862e 310712006-12-13 Thomas Schwinge <tschwinge@gnu.org>
31072
31073 * Makefile.in (enable_grub_emu): New variable.
31074 * configure.ac (--enable-grub-emu): New option.
31075 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
31076 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
31077 * conf/i386-pc.rmk: Likewise.
31078 * conf/powerpc-ieee1275.rmk: Likewise.
31079 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
31080
a8aa5762 310812006-12-12 Marco Gerards <marco@gnu.org>
31082
31083 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
31084
31085 * kern/env.c (grub_env_unset): Don't free the member `value' when
31086 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
31087 pointer.
31088
31089 * normal/main.c (current_menu): Removed.
31090 (free_menu): Unset the `menu' environment variable.
31091 (grub_normal_menu_addentry): Make use of the environment variable
31092 `menu', instead of using the global `current_menu'. Allocate
31093 memory for the sourcecode of this entry.
31094 (read_config_file): New argument `nested', changed all callers.
31095 Only in the case of a new context, initialize a new menu. Set the
31096 `menu' environment variable.
31097 (grub_normal_execute): Don't set and unset the environment
31098 variable `menu' here anymore. Only free the menu when leaving the
31099 context.
31100
31101 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
31102 leak.
31103
957b3a3e 311042006-12-11 Marco Gerards <marco@gnu.org>
31105
31106 * normal/menu_entry.c (run): Fix off by one bug so the last line
31107 is executed. Move the loader check to outside the loop.
31108
ef875714 311092006-12-08 Hollis Blanchard <hollis@penguinppc.org>
31110
31111 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
31112
4e739985 311132006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
31114
31115 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
31116 the number of sectors. Reported by Andrey Shuvikov
31117 <mr_hyro@yahoo.com>.
f19dbdb7 31118
790707f2 311192006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
31120
31121 * kern/disk.c (grub_disk_read): When there is a read error, always
31122 try to read only the necessary data.
f19dbdb7 31123
790707f2 31124 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
31125 disk/raid.c.
31126 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
31127 prototype.
31128 [GRUB_UTIL] (grub_raid_fini): Likewise.
31129 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 31130 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 31131 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
31132 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
31133 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
31134 and grub_raid_fini().
f19dbdb7 31135
03e58196 311362006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
31137
31138 * include/grub/types.h (__unused): Rename to UNUSED.
31139 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
31140 (grub_elf64_size): Likewise.
f19dbdb7 31141
ae4f23bf 311422006-11-03 Hollis Blanchard <hollis@penguinppc.org>
31143
31144 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
31145 grub_error_push and grub_error_pop in the error-handling path.
31146 (grub_elf32_load_segment): Only call grub_file_read with non-zero
31147 length.
31148
2166cc83 311492006-11-03 Hollis Blanchard <hollis@penguinppc.org>
31150
31151 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
31152 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
31153 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31154 (kernel_elf_SOURCES): Likewise.
31155 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
31156 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
31157 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
31158 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
31159 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
31160 (elf_mod_SOURCES): New variable.
31161 (elf_mod_CFLAGS): Likewise.
31162 (elf_mod_LDFLAGS): Likewise.
31163 * include/grub/types.h (__unused): New macro.
31164 * include/grub/elfload.h: New file.
31165 * kern/elf.c: Likewise.
31166 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
31167 (ELF32_LOADMASK): New macro.
31168 (ELF64_LOADMASK): Likewise.
31169 (vmlinux): Removed.
31170 (grub_linux_load32): New function.
31171 (grub_linux_load64): Likewise.
31172 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
31173 Use grub_elf_t instead of grub_file_t.
31174
a09d5aa5 311752006-11-02 Hollis Blanchard <hollis@penguinppc.org>
31176
31177 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
31178 `catch_result' to struct set_color_args.
31179
d976fc51 311802006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
31181
31182 * normal/menu.c: Include grub/script.h.
31183 * normal/menu_entry.c: Likewise.
31184 * include/grub/normal.h: Do not include grub/script.h.
31185
67507549 311862006-10-27 Hollis Blanchard <hollis@penguinppc.org>
31187
31188 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
31189
69203a99 311902006-10-27 Hollis Blanchard <hollis@penguinppc.org>
31191
31192 * kern/disk.c (grub_disk_open): Print debug messages when opening a
31193 disk.
31194 (grub_disk_close): Print debug messages when closing a disk.
31195 (grub_disk_read): Print debug messages when disk read fails.
31196 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
31197 filesystem type.
31198 * kern/partition.c: Include misc.h.
31199 (grub_partition_iterate): Print debug messages when detecting
31200 partition type.
31201
e2b8278c 312022006-10-27 Hollis Blanchard <hollis@penguinppc.org>
31203
31204 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
31205 is negative.
31206 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
31207
97b2f2ff 312082006-10-26 Hollis Blanchard <hollis@penguinppc.org>
31209
31210 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
31211 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
31212
6555d655 312132006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
31214
31215 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
31216 instead of sizeof(lv). Patch by Michael Guntsche.
31217
4d42b77f 312182006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
31219
31220 * disk/lvm.c: Rename VGS to VG_LIST.
31221 (grub_lvm_iterate): Change VGS->LV to VG-LV.
31222 (grub_lvm_open): Likewise.
31223 Thanks to Michael Guntsche for finding this bug.
31224
5d74d927 312252006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
31226
31227 * configure.ac (AC_INIT): Bumped to 1.95.
31228
a1bb27e4 312292006-10-14 Robert Millan <rmh@aybabtu.com>
31230
31231 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
31232 with "/dev/.static/dev/md".
31233
e0994b8b 312342006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
31235
31236 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
31237 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
31238 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
31239 DRIVE_NAME are always freed.
31240
31241 * util/i386/pc/biosdisk.c (make_device_name): Add one into
31242 DOS_PART, as a DOS partition is counted from one instead of zero
31243 now. Reported by Robert Millan.
31244
ddd5cee9 312452006-10-14 Robert Millan <rmh@aybabtu.com>
31246
31247 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
31248 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
31249 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
31250 string returned by grub_guess_root_device.
31251 * util/i386/pc/grub-setup.c: Likewise.
31252 * util/i386/pc/grub-probefs.c: Likewise.
31253
31254 * util/i386/pc/grub-probefs.c: Rename to ...
31255 * util/i386/pc/grub-probe.c: ... this.
31256 * DISTLIST: Remove grub-probefs, add grub-probe.
31257 * conf/i386-efi.rmk: Likewise.
31258 * conf/i386-pc.rmk: Likewise.
31259 * util/i386/pc/grub-install.in: Likewise.
31260
31261 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
31262 choose which information we want to print.
31263
2b002173 312642006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
31265
31266 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
31267 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
31268 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
31269 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
31270 video/readers/tga.c and video/i386/pc/vbeutil.c.
31271
312722006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
31273
31274 Added support for RAID and LVM.
f19dbdb7 31275
2b002173 31276 * disk/lvm.c: New file.
31277 * disk/raid.c: Likewise.
31278 * include/grub/lvm.h: Likewise.
f19dbdb7 31279 * include/grub/raid.h: Likewise.
2b002173 31280 * include/grub/util/lvm.h: Likewise.
31281 * include/grub/util/raid.h: Likewise.
31282 * util/lvm.c: Likewise.
31283 * util/raid.c: Likewise.
31284
31285 * include/grub/disk.h (grub_disk_dev_id): Add
31286 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
31287 (grub_disk_get_size): New prototype.
31288 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
31289 returns a partition.
31290 (grub_disk_get_size): New function.
f19dbdb7 31291
2b002173 31292 * kern/i386/pc/init.c (make_install_device): Copy the prefix
31293 verbatim if grub_install_dos_part is -2.
31294
31295 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
31296 and LVM devices.
31297
31298 * util/i386/pc/grub-setup.c (setup): New argument
31299 MUST_EMBED. Force embedding of GRUB when the argument is
31300 true. Close FILE before returning.
31301 (main): Add support for RAID and LVM.
f19dbdb7 31302
2b002173 31303 * conf/common.rmk: Add RAID and LVM modules.
31304 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
31305 util/lvm.c.
31306 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
31307
31308 * kern/misc.c (grub_strstr): New function.
31309 * include/grub/misc.h (grub_strstr): New prototype.
31310
050548d0 313112006-10-10 Tristan Gingold <tristan.gingold@bull.net>
31312
31313 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
31314
da849d2d 313152006-10-05 Tristan Gingold <tristan.gingold@bull.net>
31316
31317 * kern/misc.c (grub_strtoull): Guess the base only if not
31318 specified.
31319
97b2f2ff 313202006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 31321
31322 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
31323 PowerMac support.
31324
97b2f2ff 313252006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 31326
31327 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
31328
31329 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
31330 Remove `flags' argument. All callers changed.
31331 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
31332 (IEEE1275_IHANDLE_INVALID): New variable.
31333 (IEEE1275_CELL_INVALID): New variable.
31334 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
31335 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
31336 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
31337 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
31338 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
31339 codes from Open Firmware. All callers updated.
31340 (grub_ieee1275_next_property): Directly return Open Firmware return
31341 code.
31342 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
31343 Standardize error checking from `grub_ieee1275_get_property'.
31344 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
31345 `devalias' to `aliases'. Correct comments. Consolidate error paths.
31346
97b2f2ff 313472006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 31348
31349 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
31350 `instance_to_package_args' to `instance_to_path_args'.
31351
31352 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
31353 `grub_ieee1275_chosen'.
31354
31355 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
31356 `grub_ieee1275_interpret'.
31357
97b2f2ff 313582006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 31359
31360 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
31361
97b2f2ff 313622006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 31363
31364 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
31365 (__cmpdi): Likewise.
31366
31367 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
31368 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
31369 `grub_ssize_t'.
31370
02bb8acc 31371 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 31372
31373 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
31374 to type `grub_ssize_t'.
31375 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
31376
7f9a8531 313772006-09-22 Marco Gerards <marco@gnu.org>
31378
31379 * normal/script.c (grub_script_create_cmdmenu): Skip leading
31380 newlines.
31381
b5ef1102 313822006-09-22 Marco Gerards <marco@gnu.org>
31383
31384 * commands/echo.c: New file.
31385
31386 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
31387
31388 * conf/common.rmk (echo_mod_SOURCES): New variable.
31389 (echo_mod_CFLAGS): Likewise.
31390 (echo_mod_LDFLAGS): Likewise.
31391
2cff3677 313922006-09-22 Marco Gerards <marco@gnu.org>
31393
31394 * normal/main.c (get_line): Malloc memory instead of using
31395 preallocated memory. Removed the arguments `cmdline' and
31396 `max_len'. Updated all callers.
31397
6ba4688b 313982006-09-22 Marco Gerards <marco@gnu.org>
31399
31400 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
31401 (normal_mod_DEPENDENCIES): Likewise.
31402
31403 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
31404 (normal_mod_DEPENDENCIES): Likewise.
31405
31406 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
31407
e02ac02c 314082006-09-22 Johan Rydberg <jrydberg@gnu.org>
31409
31410 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
31411 programs.
31412 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
31413 (normal_mod_DEPENDENCIES): Likewise.
31414 * conf/i386-pc.mk: Regenerate.
31415 * conf/i386-efi.mk: Likewise
31416 * conf/common.mk: Likewise.
31417 * conf/powerpc-ieee1275.mk: Likewise.
31418 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 31419
8d252e44 314202006-09-22 Robert Millan <rmh@aybabtu.com>
31421
31422 Sync with i386 version.
31423 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
31424 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
31425
209bf7ac 314262006-09-21 Robert Millan <rmh@aybabtu.com>
31427
31428 Import from GRUB Legacy (lib/device.c):
31429 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
31430 (init_device_map) [__linux__]: Add support for I2O devices.
31431
6b146090 314322006-09-14 Marco Gerards <marco@gnu.org>
31433
31434 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
31435 `-melf_i386'.
31436
e38600a8 314372006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 31438
31439 * util/i386/pc/grub-install.in: Skip menu.lst when removing
31440 /boot/grub/*.lst.
78fa1790 31441
2952da5d 31442 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 31443
2952da5d 31444 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
31445 before adding it to device.map.
31446
01b82a64 314472006-08-15 Johan Rydberg <jrydberg@gnu.org>
31448
fe6b695a 31449 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 31450 compiles a file; using the -MD option.
31451 * conf/common.mk: Regenerate.
31452 * conf/i386-pc.mk: Likewise.
31453 * conf/i386-efi.mk: Likewise.
31454 * conf/powerpc-ieee1275.mk: Likewise.
31455 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 31456
1064790d 314572006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
31458
31459 Move the prototypes of grub_setjmp and grub_longjmp to
31460 cpu/setjmp.h, so that each architecture may specify different
31461 attributes.
f19dbdb7 31462
1064790d 31463 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
31464 (grub_longjmp): Likewise.
31465 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
31466 (grub_longjmp): Likewise.
31467 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
31468 (grub_longjmp): Likewise.
31469
31470 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
31471 [!GRUB_UTIL] (grub_longjmp): Removed.
31472
29dda3ed 314732006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
31474
31475 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
31476 "color!" method does not return any value.
31477
ad2a06ed 314782006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
31479
31480 * include/grub/bitmap.h: New file.
31481
31482 * include/grub/i386/pc/vbeutil.h: Likewise.
31483
31484 * video/bitmap.c: Likewise.
31485
31486 * video/readers/tga.c: Likewise.
31487
31488 * video/i386/pc/vbeutil.c: Likewise.
31489
31490 * commands/videotest.c: Code cleanup and updated to reflect to new
31491 video API.
31492
31493 * term/gfxterm.c: Likewise.
31494
31495 * video/video.c: Likewise.
31496
31497 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
31498 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
31499 (bitmap_mod_SOURCES): New entry.
31500 (bitmap_mod_CFLAGS): Likewise.
31501 (bitmap_mod_LDFLAGS): Likewise.
31502 (tga_mod_SOURCES): Likewise.
31503 (tga_mod_CFLAGS): Likewise.
31504 (tga_mod_LDFLAGS): Likewise.
31505
31506 * include/grub/video.h (grub_video_blit_operators): New enum type.
31507 (grub_video_render_target): Changed as forward declaration and moved
31508 actual definition to be video driver specific.
31509 (grub_video_adapter.blit_bitmap): Added blitting operator.
31510 (grub_video_adapter.blit_render_target): Likewise.
31511 (grub_video_blit_bitmap): Likewise.
31512 (grub_video_blit_render_target): Likewise.
31513
31514 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
31515 driver specific render target definition.
31516 (grub_video_vbe_map_rgba): Added driver internal helper.
31517 (grub_video_vbe_unmap_color): Updated to use
31518 grub_video_i386_vbeblit_info.
31519 (grub_video_vbe_get_video_ptr): Likewise.
31520
31521 * include/grub/i386/pc/vbeblit.h
31522 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
31523 grub_video_i386_vbeblit_info.
31524 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
31525 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
31526 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
31527 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
31528 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
31529 (grub_video_i386_vbeblit_index_index): Likewise.
31530 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
31531 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
31532 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
31533 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
31534 operator.
31535 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
31536 operator.
31537
31538 * video/i386/pc/vbeblit.c: Updated to reflect changes on
31539 include/grub/i386/pc/vbeblit.h.
31540
31541 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
31542 Updated to use grub_video_i386_vbeblit_info.
31543 (grub_video_i386_vbefill_R8G8B8): Likewise.
31544 (grub_video_i386_vbefill_index): Likewise.
31545 (grub_video_i386_vbefill): Added generic filler.
31546
31547 * video/i386/pc/vbefill.c: Updated to reflect changes on
31548 include/grub/i386/pc/vbefill.h.
31549
31550 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
31551 grub_video_i386_vbeblit_info.
31552 (grub_video_vbe_unmap_color): Likewise.
31553 (grub_video_vbe_blit_glyph): Likewise.
31554 (grub_video_vbe_scroll): Likewise.
31555 (grub_video_vbe_draw_pixel): Removed function.
31556 (grub_video_vbe_get_pixel): Likewise.
31557 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
31558 updated code to use it.
31559 (common_blitter): Added common blitter for render target and bitmap.
31560 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
31561 (grub_video_vbe_blit_render_target): Likewise.
31562
bc8c036d 315632006-07-30 Johan Rydberg <jrydberg@gnu.org>
31564
31565 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
31566 is in text mode if there is no console control protocol instance
31567 available.
31568
684a8eff 315692006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
31570
31571 * include/grub/video.h: Code cleanup.
31572
31573 * include/grub/i386/pc/vbe.h: Likewise.
31574
31575 * video/i386/pc/vbe.c: Likewise.
31576
31577 * video/i386/pc/vbeblit.c: Likewise.
31578
31579 * video/i386/pc/vbefill.c: Likewise.
31580
31581 * video/video.c: Likewise. Also added more comments.
31582
5915059b 315832006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
31584
31585 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
31586 (struct grub_biosdisk_dap): Likewise.
31587
31588 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
31589 linkage settings for all functions.
31590
90ce5d56 315912006-07-12 Marco Gerards <marco@gnu.org>
31592
31593 * configure.ac (--enable-mm-debug): Fix typo.
31594
31595 * genkernsyms.sh.in: Use proper quoting for `CC'.
31596
43e7f879 315972006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
31598
31599 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
31600 (normal_mod_ASFLAGS): Remove "-m32".
31601
4889bdec 316022006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
31603
31604 * util/misc.c: Include config.h.
31605 [!HAVE_MEMALIGN]: Do not include malloc.h.
31606 (grub_memalign): Use posix_memalign, if present. Then, use
31607 memalign, if present. Otherwise, emit an error.
31608
31609 * util/grub-emu.c: Do not include malloc.h.
31610
31611 * include/grub/util/misc.h: Include unistd.h. This is required for
31612 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
31613 D. Eades III <hde@foobar-qux.org>.
31614
31615 * configure.ac (AC_GNU_SOURCE): Added.
31616 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
31617 type.
31618
fd39d4da 316192006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
31620
31621 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
31622 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
31623
b786f3b5 316242006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
31625
31626 * include/grub/types.h (grub_host_addr_t): Rename to
31627 grub_target_addr_t.
31628 (grub_host_off_t): Rename to grub_target_off_t.
31629 (grub_host_size_t): Rename to grub_target_size_t.
31630 (grub_host_ssize_t): Rename to grub_target_ssize_t.
31631 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
31632
31633 * include/grub/kernel.h (struct grub_module_header): Change type
31634 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
31635 (grub_module_info): Likewise.
f19dbdb7 31636
051988bb 316372006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
31638
31639 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
31640 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
31641 Velazquez <jesus.velazquez@gmail.com>.
31642
deae281b 316432006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
31644
31645 Count partitions from 1 instead of 0 in the string representation
31646 of partitions. Still use 0-based internally.
f19dbdb7 31647
deae281b 31648 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
31649 (sun_partition_map_iterate): Use grub_partition_t instead of
31650 struct grub_partition *. Cast DESC->START_CYLINDER to
31651 grub_uint64_t after converting the endian.
31652 (sun_partition_map_probe): Subtract 1 for PARTNUM.
31653 (sun_partition_map_get_name): Add 1 to P->INDEX.
31654
31655 * partmap/pc.c (grub_partition_parse): Subtract 1 for
31656 PCDATA->DOS_PART.
31657 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
31658
31659 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
31660 zero instead of one.
31661 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
31662 (gpt_partition_map_get_name): Add 1 into P->INDEX.
31663
31664 * partmap/apple.c (apple_partition_map_iterate): Change the type
31665 of POS to unsigned.
31666 (apple_partition_map_probe): Subtract 1 for PARTNUM.
31667 (apple_partition_map_get_name): Add 1 into P->INDEX.
31668
31669 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
31670 of POS to unsigned.
31671 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
31672 calculate the offset of a partition.
31673 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
31674 (amiga_partition_map_get_name): Add 1 into P->INDEX.
31675
31676 * partmap/acorn.c (acorn_partition_map_find): Change the type of
31677 SECTOR to grub_disk_addr_t.
31678 (acorn_partition_map_iterate): Likewise.
31679 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
31680 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
31681 top.
31682 (acorn_partition_map_get_name): Add 1 into P->INDEX.
31683
31684 * kern/i386/pc/init.c (make_install_device): Add 1 into
31685 GRUB_INSTALL_DOS_PART.
31686
31687 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
31688 conditional.
31689
524a1e6a 316902006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
31691
31692 Clean up the code to support 64-bit addressing in disks and
31693 files. This change is not enough for filesystems yet.
f19dbdb7 31694
524a1e6a 31695 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
31696 type of "start" to grub_uint64_t.
31697 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
31698 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
31699 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
31700 convert addresses.
31701
31702 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
31703 to grub_disk_addr_t.
31704
31705 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
31706 string.
31707
31708 * partmap/pc.c (pc_partition_map_iterate): Likewise.
31709
31710 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
31711 to char *.
31712
31713 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
31714
31715 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
31716
31717 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
31718
31719 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
31720 to grub_off_t, to detect an error from grub_file_seek.
31721 (grub_multiboot_load_elf32): Likewise.
31722
31723 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
31724 maximum unsigned long value when an overflow is detected.
31725 (grub_strtoull): New function.
31726 (grub_divmod64): Likewise.
31727 (grub_lltoa): use grub_divmod64.
31728
31729 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
31730 grub_disk_addr_t.
31731 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
31732 the pointer to next character. Use grub_strtoull instead of
31733 grub_strtoul.
31734 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
31735 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
31736 respectively.
31737
fe6b695a 31738 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 31739 return value is signed.
31740 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
31741 test if OFFSET is less than zero, as OFFSET is unsigned now.
31742
31743 * kern/disk.c (struct grub_disk_cache): Change the type of
31744 "sector" to grub_disk_addr_t.
31745 (grub_disk_cache_get_index): Change the type of SECTOR to
31746 grub_disk_addr_t. Calculate the hash with SECTOR casted to
31747 unsigned after shifting.
31748 (grub_disk_cache_invalidate): Change the type of SECTOR to
31749 grub_disk_addr_t.
31750 (grub_disk_cache_unlock): Likewise.
31751 (grub_disk_cache_store): Likewise.
31752 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
31753 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
31754 grub_disk_addr_t and grub_uint64_t, respectively.
31755 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
31756 body, as the value of OFFSET is tweaked by
31757 grub_disk_check_range. Change the types of START_SECTOR, LEN and
31758 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
31759 respectively.
31760 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
31761 body, as the value of OFFSET is tweaked by
31762 grub_disk_check_range. Change the types of LEN and N to
31763 grub_size_t.
31764
31765 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
31766 and "saved_offset" to grub_off_t.
31767 (test_header): Cast BUF to char *.
31768 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
31769 to char *.
31770 (grub_gzio_read): Change the types of OFFSET and SIZE to
31771 grub_off_t and grub_size_t, respectively.
31772
31773 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
31774 Removed.
31775 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
31776 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
31777 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
31778 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
31779 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
31780
31781 * include/grub/types.h (grub_off_t): Unconditionally set to
31782 grub_uint64_t.
31783 (grub_disk_addr_t): Changed to grub_uint64_t.
31784
31785 * include/grub/partition.h (struct grub_partition): Change the
31786 types of "start", "len" and "offset" to grub_disk_addr_t,
31787 grub_uint64_t and grub_disk_addr_t, respectively.
31788 (grub_partition_get_start): Return grub_disk_addr_t.
31789 (grub_partition_get_len): Return grub_uint64_t.
31790
31791 * include/grub/misc.h (grub_strtoull): New prototype.
31792 (grub_divmod64): Likewise.
31793
31794 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
31795 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
31796 grub_off_t, respectively.
31797 All callers and references changed.
31798
31799 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
31800 grub_size_t in "read".
31801 All callers and references changed.
31802
31803 * include/grub/file.h (struct grub_file): Change the types of
31804 "offset" and "size" to grub_off_t and grub_off_t,
31805 respectively. Change the type of SECTOR to grub_disk_addr_t in
31806 "read_hook".
31807 (grub_file_read): Change the type of LEN to grub_size_t.
31808 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
31809 grub_off_t.
31810 (grub_file_size): Return grub_off_t.
31811 (grub_file_tell): Likewise.
31812 All callers and references changed.
31813
31814 * include/grub/disk.h (struct grub_disk_dev): Change the types of
31815 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
31816 "write".
31817 (struct grub_disk): Change the type of "total_sectors" to
31818 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 31819 "read_hook".
524a1e6a 31820 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
31821 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
31822 (grub_disk_write): Likewise.
31823 All callers and references changed.
31824
31825 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
31826 char * for grub_strncmp to silence gcc.
31827 (grub_iso9660_mount): Likewise.
31828 (grub_iso9660_mount): Likewise.
31829 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
31830 return statement.
31831 (grub_iso9660_iterate_dir): Likewise.
31832 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
31833
31834 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
31835 LEN to grub_disk_addr_t and grub_size_t, respectively.
31836
31837 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
31838
31839 * fs/jfs.c (grub_jfs_read_file): Likewise.
31840
31841 * fs/minix.c (grub_jfs_read_file): Likewise.
31842
31843 * fs/sfs.c (grub_jfs_read_file): Likewise.
31844
31845 * fs/ufs.c (grub_jfs_read_file): Likewise.
31846
31847 * fs/xfs.c (grub_jfs_read_file): Likewise.
31848
31849 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
31850 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
31851 respectively.
31852
31853 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
31854 BLKNR to -1 instead of returning GRUB_ERRNO.
31855 (grub_ext2_read_file): Change the types of SECTOR and
31856 LEN to grub_disk_addr_t and grub_size_t, respectively.
31857
31858 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
31859 LEN to grub_disk_addr_t and grub_size_t, respectively.
31860
31861 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
31862 grub_file_read.
31863
31864 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
31865 string. Do not cast SECTOR explicitly.
31866
31867 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
31868 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
31869 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
31870 grub_disk_addr_t and grub_size_t, respectively. If the sector is
31871 over 2TB and LBA mode is not supported, raise an error.
31872 (get_safe_sectors): New function.
31873 (grub_biosdisk_read): Use get_safe_sectors.
31874 (grub_biosdisk_write): Likewise.
31875
31876 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
31877 (grub_efidisk_write): Likewise.
31878
31879 * disk/loopback.c (delete_loopback): Cosmetic changes.
31880 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
31881 correctly.
31882 (grub_loopback_open): Likewise.
31883 (grub_loopback_read): Likewise. Also, change the type of POS to
31884 grub_off_t, and fix the usage of grub_memset.
31885
31886 * commands/i386/pc/play.c: Include grub/machine/time.h.
31887
31888 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
31889 print FILE->SIZE.
31890
31891 * commands/configfile.c: Include grub/env.h.
31892
31893 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
31894 GRUB_ERRNO directly instead. Change the type of POS to
31895 grub_off_t. Follow the coding standard.
31896
31897 * commands/blocklist.c: Include grub/partition.h.
31898 (grub_cmd_blocklist): Return an error if the underlying device is
31899 not a disk. Take the starting sector of a partition into account,
31900 if a partition is used.
31901
31902 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
31903 a length field.
31904 (lba_mode): Support 64-bit addresses.
31905 (chs_mode): Likewise.
31906 (copy_buffer): Adapted to the new offsets of a length field and a
31907 segment field.
31908 (blocklist_default_start): Allocate 64-bit space.
31909
31910 * boot/i386/pc/boot.S (force_lba): Removed.
31911 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 31912 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 31913 space.
31914 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
31915 is useless.
31916 (lba_mode): Refactored to support a 64-bit address. More size
31917 optimization.
31918 (setup_sectors): Likewise.
31919
53af98ad 319202006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
31921
31922 * DISTLIST: Added include/grub/i386/linux.h. Removed
31923 include/grub/i386/pc/linux.h
31924
31925 * configure.ac (AC_INIT): Bumped to 1.94.
31926
31927 * config.guess: Updated from gnulib.
31928 * config.sub: Likewise.
31929 * install-sh: Likewise.
31930 * mkinstalldirs: Likewise.
31931
b4c1940a 319322006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
31933
31934 * conf/common.rmk (grub_modules_init.lst): Depended on
31935 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
31936 MODSRCFILES.
31937
31938 * genmk.rb (PModule::rule): Reverted the previous change.
31939
cfca1cfd 319402006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
31941
31942 * conf/common.rmk (grub_modules_init.lst): Depends on
31943 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
31944 that the target does not exist before producing.
31945 (grub_modules_init.h): Remove the target before generating.
31946 (grub_emu_init.c): Likewise.
31947
31948 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
31949
aa6d7826 319502006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
31951
31952 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
31953 for the target-specific tests. Make sure that we also have the
31954 up-to-date target variables for those tests.
31955
26c607b9 319562006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
31957
31958 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
31959 (PModule::rule): Likewise.
31960
0162321a 319612006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
31962
31963 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
31964 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
31965 target-specific flags should be prefixed.
31966 (PModule::rule): Likewise.
31967
6c826348 319682006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
31969
31970 * configure.ac (CMP): Check if cmp is available explicitly.
31971
b977bf01 319722006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
31973
31974 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
31975 (target_cpu): New variable.
31976 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 31977
b977bf01 31978 * util/i386/pc/grub-install.in (host_cpu): Removed.
31979 (target_cpu): New variable.
31980 (pkglibdir): Use target_cpu instead of host_cpu.
31981
31982 * util/genmoddep.c: Removed.
f19dbdb7 31983
b977bf01 31984 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
31985 instead of GRUB_HOST_SIZEOF_VOID_P.
31986 * kern/dl.c: Likewise.
31987
31988 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
31989 ...
31990 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
31991 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
31992 (GRUB_TARGET_SIZEOF_LONG): ... this.
31993 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
31994 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
31995 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
31996 to ...
31997 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
31998 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
31999 (GRUB_TARGET_SIZEOF_LONG): ... this.
32000 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
32001 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
32002 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
32003 to ...
32004 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
32005 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
32006 (GRUB_TARGET_SIZEOF_LONG): ... this.
32007 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
32008 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
32009
32010 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
32011 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
32012 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
32013 instead of GRUB_HOST_SIZEOF_LONG.
32014 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
32015 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
32016 GRUB_CPU_WORDS_BIGENDIAN.
32017 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
32018 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
32019 grub_host_ssize_t.
32020
32021 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
32022 (genmoddep_SOURCES): Likewise.
32023 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
32024 (genmoddep_SOURCES): Likewise.
32025 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
32026 (genmoddep_SOURCES): Likewise.
32027 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
32028 Likewise.
32029 (genmoddep_SOURCES): Likewise.
32030
32031 * genmoddep.awk: New file.
32032
32033 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
32034 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
32035 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
32036 (PModule::rule): Likewise.
32037 (Program::rule): Likewise.
32038 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
32039 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
32040 respectively.
32041
32042 * configure.ac: Rewritten intensively to use host and target
32043 instead of build and host, respectively.
32044
32045 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
32046 (host_cpu): Removed.
32047 (target_cpu): New variable.
32048 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
32049 (BUILD_CC): Removed.
32050 (BUILD_CFLAGS): Likewise.
32051 (BUILD_CPPFLAGS): Likewise.
32052 (TARGET_CC): New variable.
32053 (TARGET_CFLAGS): Likewise.
32054 (TARGET_CPPFLAGS): Likewise.
32055 (TARGET_LDFLAGS): Likewise.
32056 (AWK): Likewise.
32057 (include): Use target_cpu instead of host_cpu.
32058 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 32059
b977bf01 32060 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
32061
f09771a1 320622006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
32063
32064 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
32065 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
32066 field 'false' to 'exec_on_false'.
32067 (grub_script_create_cmdif): Renamed argument names to reflect above
32068 changes.
32069
32070 * normal/execute.c (grub_script_execute_cmdif): Likewise.
32071
32072 * normal/script.c (grub_script_create_cmdif): Likewise.
32073
118f4fb3 320742006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
32075
32076 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
32077 top.
32078 (grub_hfsplus_btree_recptr): Likewise.
32079 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
32080 FILEBLOCK both to pass a block number and store next block
32081 number.
32082 (grub_hfsplus_read_block): Rewritten heavily to support an extent
32083 overflow file correctly. Specify errors appropriately, because
32084 fshelp expects that GRUB_ERRNO is set when fails. Reuse
32085 grub_hfsplus_btree_recptr to get the pointer to a found key.
32086 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
32087 is found.
32088
32089 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
32090 linux.mod.
32091 (_linux_mod_SOURCES): New variable.
32092 (_linux_mod_CFLAGS): Likewise.
32093 (_linux_mod_LDFLAGS): Likewise.
32094 (linux_mod_SOURCES): Likewise.
32095 (linux_mod_CFLAGS): Likewise.
32096 (linux_mod_LDFLAGS): Likewise.
32097
32098 * DISTLIST: Added loader/i386/efi/linux.c,
32099 loader/i386/efi/linux_normal.c and
32100 include/grub/i386/efi/loader.h.
32101
32102 * loader/i386/efi/linux.c: New file.
32103 * loader/i386/efi/linux_normal.c: Likewise.
32104 * include/grub/i386/efi/loader.h: Likewise.
32105
89a7d726 321062006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
32107
32108 * commands/blocklist.c: New file.
32109
32110 * DISTLIST: Added commands/blocklist.c.
32111
32112 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 32113 color for the background, and a darker color for the foreground.
89a7d726 32114 (grub_console_checkkey): Return READ_KEY.
32115 (grub_console_cls): Set the background to
32116 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
32117
32118 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
32119
32120 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
32121 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
32122
32123 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
32124 prototype.
32125
32126 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
32127 BG. The spec is wrong again.
32128
32129 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
32130 prototype.
32131 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
32132
32133 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
32134 commands/blocklist.c.
32135 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 32136
89a7d726 32137 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
32138 (blocklist_mod_SOURCES): New variable.
32139 (blocklist_mod_CFLAGS): Likewise.
32140 (blocklist_mod_LDFLAGS): Likewise.
32141
75c8f258 321422006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
32143
32144 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
32145 duplication.
32146 (lba_mode): Use %eax more intensively to reduce the code size.
32147
da2eb181 321482006-05-20 Marco Gerards <marco@gnu.org>
32149
32150 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
32151
32152 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
32153 for `menuentry'.
32154 (script): Accept leading newlines.
32155 (newlines): New rule to describe 0 or more newlines.
32156 (commands): Accept `command' with trailing newline. Fixed the
32157 order in which arguments were passed to `grub_script_add_cmd'.
32158 Accept commands separated by newlines.
32159 (function): Changed to accept newlines.
32160 (menuentry) Rewritten.
32161
32162 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
32163 front of the list, instead of to the end.
32164
577b4050 321652006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
32166
32167 * util/i386/pc/grub-install.in (bindir): New variable.
32168 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
32169 Shaver <lbgwjl@gmail.com>.
32170
0d6e1189 321712006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
32172
32173 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
32174 grub/machine/linux.h
32175 * loader/i386/pc/linux.c: Likewise.
32176
32177 * include/grub/i386/pc/linux.h: Moved to ...
32178 * include/grub/i386/linux.h: ... here.
32179
32180 * include/grub/i386/linux.h (struct linux_kernel_params): New
32181 struct.
f19dbdb7 32182
31b86e9f 321832006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
32184
32185 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
32186 checking.
32187 (grub_video_vbe_blit_glyph): Likewise.
32188 (grub_video_vbe_blit_bitmap): Likewise.
32189 (grub_video_vbe_blit_render_target): Likewise.
32190
83b984de 321912006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
32192
32193 * configure.ac (--with-platform): Properly quote the square
32194 brackets.
32195
5f0413bd 321962006-05-08 Marco Gerards <marco@gnu.org>
32197
32198 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
32199 this...
32200 (kernel_elf_HEADERS): ...to this. Updated all users.
32201 (grubof_symlist.c): Renamed from this...
32202 (kernel_elf_symlist.c): ...to this. Updated all users.
32203 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
32204 (grubof_SOURCES): Renamed from this...
32205 (kernel_elf_SOURCES): ...to this.
32206 (grubof_HEADERS): Renamed from this...
32207 (kernel_elf_HEADERS): ...to this.
32208 (grubof_CFLAGS): Renamed from this...
32209 (kernel_elf_CFLAGS): ...to this.
32210 (grubof_ASFLAGS): Renamed from this...
32211 (kernel_elf_ASFLAGS): ...to this.
32212 (grubof_LDFLAGS): Renamed from this...
32213 (kernel_elf_LDFLAGS): ...to this.
32214
32215 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
32216 this...
32217 (kernel_elf_HEADERS): ...to this. Updated all users.
32218 (grubof_symlist.c): Renamed from this...
32219 (kernel_elf_symlist.c): ...to this. Updated all users.
32220 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
32221 (grubof_SOURCES): Renamed from this...
32222 (kernel_elf_SOURCES): ...to this.
32223 (grubof_HEADERS): Renamed from this...
32224 (kernel_elf_HEADERS): ...to this.
32225 (grubof_CFLAGS): Renamed from this...
32226 (kernel_elf_CFLAGS): ...to this.
32227 (grubof_ASFLAGS): Renamed from this...
32228 (kernel_elf_ASFLAGS): ...to this.
32229 (grubof_LDFLAGS): Renamed from this...
32230 (kernel_elf_LDFLAGS): ...to this.
32231
32232 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
32233 `kernel.elf' instead of `grubof'.
32234
05568c2e 322352006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
32236
32237 Add --with-platform to configure. Use pkglibdir instead of
32238 pkgdatadir. This is reported by Roger Leigh.
32239
32240 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
32241 (host_vendor): Likewise.
32242 (host_os): Likewise.
32243 (pkgdatadir): Likewise.
32244 (platform): New variable.
32245 (pkglibdir): Likewise.
32246 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 32247
05568c2e 32248 * util/i386/pc/grub-install.in (datadir): Removed.
32249 (host_vendor): Likewise.
32250 (host_os): Likewise.
32251 (pkgdatadir): Likewise.
32252 (platform): New variable.
32253 (pkglibdir): Likewise.
32254 Use PKGLIBDIR instead of PKGDATADIR.
32255
32256 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
32257 instead of GRUB_DATADIR.
32258 (main): Likewise.
32259 * util/i386/pc/grub-mkimage.c (usage): Likewise.
32260 (main): Likewise.
32261 * util/i386/efi/grub-mkimage.c (usage): Likewise.
32262 (main): Likewise.
32263
32264 * configure.ac (--with-platform): New option.
32265 Use PLATFORM instead of HOST_VENDOR to specify a platform.
32266
32267 * Makefile.in: Include a makefile based on PLATFORM instead of
32268 HOST_VENDOR.
32269 (pkgdatadir): Not appended by the machine type.
32270 (pkglibdir): Appended by the machine type.
32271 (host_vendor): Removed.
32272 (platform): New variable.
32273 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
32274 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
32275 (uninstall): Likewise.
32276
4e93851c 322772006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
32278
32279 Use the environment context in the menu. Remove the commands
32280 "default" and "timeout", and use variables instead.
f19dbdb7 32281
4e93851c 32282 * normal/menu.c: Include grub/env.h.
32283 (print_entry): Cast TITLE to silence gcc.
32284 (get_timeout): New function.
32285 (set_timeout): Likewise.
32286 (get_entry_number): Likewise.
32287 (run_menu): Use a default entry, a fallback entry and a timeout
32288 in the environment variables "default", "fallback" and
32289 "timeout". Also, tweak the default entry if it is not within the
32290 current menu entries.
32291 (grub_menu_run): Use a fallback entry in the environment variable
32292 "fallback".
32293
32294 * normal/main.c (read_config_file): Do not initialize
32295 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
32296 NEWMENU->TIMEOUT.
32297 (grub_normal_execute): Use a data slot to store the menu.
32298
32299 * include/grub/normal.h (struct grub_menu): Removed default_entry,
32300 fallback_entry and timeout.
32301 (struct grub_menu_list): Removed.
32302 (grub_menu_list_t): Likewise.
32303 (struct grub_context): Likewise.
32304 (grub_context_t): Likewise.
32305 (grub_context_get): Likewise.
32306 (grub_context_get_current_menu): Likewise.
32307 (grub_context_push_menu): Likewise.
32308 (grub_context_pop_menu): Likewise.
32309 (grub_default_init): Likewise.
32310 (grub_default_fini): Likewise.
32311 (grub_timeout_init): Likewise.
32312 (grub_timeout_fini): Likewise.
32313
32314 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
32315 and timeout.mod.
32316 (normal_mod_SOURCES): Removed normal/context.c.
32317
32318 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
32319 commands/default.c, commands/timeout.c and normal/context.c.
32320 (normal_mod_SOURCES): Removed normal/context.c.
32321
32322 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
32323 commands/timeout.c and normal/context.c.
32324 (normal_mod_SOURCES): Removed normal/context.c.
32325
32326 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
32327 commands/default.c, commands/timeout.c and normal/context.c.
32328 (normal_mod_SOURCES): Removed normal/context.c.
32329
32330 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
32331 timeout.mod.
32332 (default_mod_SOURCES): Removed.
32333 (default_mod_CFLAGS): Likewise.
32334 (default_mod_LDFLAGS): Likewise.
32335 (timeout_mod_SOURCES): Removed.
32336 (timeout_mod_CFLAGS): Likewise.
32337 (timeout_mod_LDFLAGS): Likewise.
32338
32339 * DISTLIST: Removed commands/default.c, commands/timeout.c and
32340 normal/context.c.
32341
32342 * commands/default.c: Removed.
32343 * commands/timeout.c: Likewise.
32344 * normal/context.c: Likewise.
32345
1eb9cc1d 323462006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
32347
32348 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
32349
385bd9c1 323502006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
32351
32352 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
32353 "next" to "prev" for readability.
32354 (struct grub_env_sorted_var): New struct.
32355 (grub_env_context): Renamed to ...
32356 (initial_context): ... this.
32357 (grub_env_var_context): Renamed to ...
32358 (current_context): ... this.
32359 (grub_env_find): Look only at CURRENT_CONTEXT.
32360 (grub_env_context_open): Rewritten to copy exported variables from
32361 previous context.
32362 (grub_env_context_close): Rewritten according to the new
32363 scheme. Also, add an assertion to prevent the initial context from
32364 removed.
32365 (grub_env_insert): Removed the code for the sorted list.
32366 (grub_env_remove): Likewise.
32367 (grub_env_export): Simply mark the variable with
32368 GRUB_ENV_VAR_GLOBAL.
32369 (grub_env_set): A cosmetic change for naming consistency.
32370 (grub_env_get): Likewise.
32371 (grub_env_unset): Likewise.
32372 (grub_env_iterate): Rewritten to sort variables within this
32373 function.
32374 (grub_register_variable_hook): Fixed for naming consistency. Call
32375 grub_env_find again, only if NAME is not found at the first time.
32376 (mangle_data_slot_name): New function.
32377 (grub_env_set_data_slot): Likewise.
32378 (grub_env_get_data_slot): Likewise.
32379 (grub_env_unset_data_slot): Likewise.
32380
32381 * include/grub/env.h (grub_env_var_type): New enum.
32382 (GRUB_ENV_VAR_LOCAL): New constant.
32383 (GRUB_ENV_VAR_GLOBAL): Likewise.
32384 (GRUB_ENV_VAR_DATA): Likewise.
32385 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
32386 "type".
32387 (grub_env_set): Replace VAR with NAME for consistency.
32388 (grub_register_variable_hook): Likewise.
32389 (grub_env_export): Specify the name of the argument.
32390 (grub_env_set_data_slot): New prototype.
32391 (grub_env_get_data_slot): Likewise.
32392 (grub_env_unset_data_slot): Likewise.
32393
7f362539 323942006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
32395
32396 Extend the loader so that GRUB can accept a loader which comes
32397 back to GRUB when a loaded image exits. Also, this change adds
32398 support for a chainloader on EFI.
f19dbdb7 32399
7f362539 32400 * term/efi/console.c: Include grub/misc.h.
32401 (grub_console_checkkey): Display a scan code on the top for
32402 debugging. This will be removed once the EFI port gets stable.
32403 Correct the scan code mapping.
32404
32405 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
32406 allocate memory from larger regions, in order to reduce the number
32407 of allocated regions. Otherwise, the MacOSX loader panics.
32408 (filter_memory_map): Avoid less than 1MB for compatibility with
32409 other loaders.
32410 (add_memory_regions): Allocate from the tail of a region, if
32411 possible, to avoid allocating a region near to 1MB, for the MacOSX
32412 loader.
32413
32414 * kern/efi/init.c (grub_efi_set_prefix): Specify
32415 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
32416
32417 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
32418 argument IMAGE_HANDLE and specify it to get a loaded image.
32419 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
32420 grub_efi_get_loaded_image.
fe6b695a 32421 (grub_efi_get_filename): Divide the length by the size of
7f362539 32422 grub_efi_char16_t.
32423 (grub_efi_get_device_path): New function.
32424 (grub_efi_print_device_path): Print End Device Path nodes. Divide
32425 the length by the size of grub_efi_char16_t for a file path device
32426 path node.
32427
32428 * kern/loader.c (grub_loader_noreturn): New variable.
32429 (grub_loader_set): Accept a new argument NORETURN. Set
32430 GRUB_LOADER_NORETURN to NORETURN.
32431 All callers changed.
32432 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
32433 grub_machine_fini.
32434
32435 * include/grub/efi/efi.h (grub_efi_get_device_path): New
32436 prototype.
32437 (grub_efi_get_loaded_image): Take an argument to specify an image
32438 handle.
32439
32440 * include/grub/loader.h (grub_loader_set): Added one more argument
32441 NORETURN.
32442
32443 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
32444 instead of grub_efi_open_protocol.
32445 (grub_efidisk_get_device_name): Likewise.
32446 (grub_efidisk_close): Print a newline.
32447 (grub_efidisk_get_device_handle): Fixed to use
32448 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
32449 GRUB_EFI_DEVICE_PATH_TYPE.
32450
32451 * disk/efi/efidisk.c (device_path_guid): Moved to ...
32452 * kern/efi/efi.c (device_path_guid): ... here.
32453
32454 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
32455 chain.mod.
32456 (kernel_mod_HEADERS): Added efi/disk.h.
32457 (_chain_mod_SOURCES): New variable.
32458 (_chain_mod_CFLAGS): Likewise.
32459 (_chain_mod_LDFLAGS): Likewise.
32460 (chain_mod_SOURCES): Likewise.
32461 (chain_mod_CFLAGS): Likewise.
32462 (chain_mod_LDFLAGS): Likewise.
32463
32464 * DISTLIST: Added include/grub/efi/chainloader.h,
32465 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
32466
32467 * include/grub/efi/chainloader.h: New file.
32468 * loader/efi/chainloader.c: Likewise.
32469 * loader/efi/chainloader_normal.c: Likewise.
32470
c0111d6e 324712006-04-30 Marco Gerards <marco@gnu.org>
32472
32473 * commands/configfile.c (grub_cmd_source): New function.
32474 (GRUB_MOD_INIT): Register the commands `source' and `.'.
32475 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
32476
df5341da 324772006-04-30 Marco Gerards <marco@gnu.org>
32478
32479 * normal/execute.c (grub_script_execute_cmd): Change the return
32480 type to `grub_err_t'. Correctly return the error.
32481 (grub_script_execute_cmdline): In case a command line is not a
32482 command or a function, try to interpret it as an assignment.
32483
f85934bd 324842006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
32485
32486 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
32487 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
32488 skip a node whose name is obviously invalid as UTF-16,
32489 i.e. contains a NUL character. Stop the iteration when the last
32490 directory entry is found. Instead of using the return value of
32491 grub_hfsplus_btree_iterate_node, store the value in RET and use
32492 it, because the iterator can be stopped by the last directory
32493 entry.
32494
8f8a2cf8 324952006-04-30 Marco Gerards <marco@gnu.org>
32496
32497 * include/grub/env.h (grub_env_export): New prototype. Reported
32498 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
32499
a27e84ce 325002006-04-30 Marco Gerards <marco@gnu.org>
32501
32502 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
32503 size of the extents in a catalog file record.
32504
eaef0553 325052006-04-29 Marco Gerards <marco@gnu.org>
32506
32507 * commands/configfile.c (grub_cmd_configfile): Execute the
32508 configfile within its own context.
32509
32510 * include/grub/env.h (grub_env_context_open): New prototype.
32511 (grub_env_context_close): Likewise.
32512
32513 * kern/env.c (grub_env): Removed.
32514 (grub_env_sorted): Likewise.
32515 (grub_env_context): New variable.
32516 (grub_env_var_context): Likewise.
32517 (grub_env_find): Search both the active context and the global
32518 context.
32519 (grub_env_context_open): New function.
32520 (grub_env_context_close): Likewise.
32521 (grub_env_insert): Likewise.
32522 (grub_env_remove): Likewise.
32523 (grub_env_export): Likewise.
32524 (grub_env_set): Changed to use helper functions to avoid code
32525 duplication.
32526 (grub_env_iterate): Rewritten so both the current context and the
32527 global context are being used.
32528
32529 * normal/command.c (export_command): New function.
32530 (grub_command_init): Register the `export' function.
32531
7b455f4d 325322006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
32533
32534 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
32535 explicitly to suppress gcc's warnings.
32536 * fs/fat.c (grub_fat_find_dir): Likewise.
32537 (grub_fat_label): Likewise.
32538 * fs/xfs.c (grub_xfs_read_inode): Likewise.
32539 (grub_xfs_mount): Likewise.
32540 (grub_xfs_label): Likewise.
32541 * fs/affs.c (grub_affs_mount): Likewise.
32542 (grub_affs_label): Likewise.
32543 (grub_affs_iterate_dir): Likewise.
32544 * fs/sfs.c (grub_sfs_mount): Likewise.
32545 (grub_sfs_iterate_dir): Likewise.
32546 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
32547 * fs/hfs.c (grub_hfs_mount): Likewise.
32548 (grub_hfs_cmp_catkeys): Likewise.
32549 (grub_hfs_find_dir): Likewise.
32550 (grub_hfs_dir): Likewise.
32551 (grub_hfs_label): Likewise.
32552 * fs/jfs.c (grub_jfs_mount): Likewise.
32553 (grub_jfs_opendir): Likewise.
32554 (grub_jfs_getent): Likewise.
32555 (grub_jfs_lookup_symlink): Likewise.
32556 (grub_jfs_label): Likewise.
32557 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
32558 (grub_hfsplus_iterate_dir): Likewise.
32559 (grub_hfsplus_btree_iterate_node): Made static.
32560
32561 * util/grub-emu.c (prefix): New variable.
32562 (grub_machine_set_prefix): New function.
32563 (main): Do not set the environment variable "prefix" here. Only
32564 set PREFIX, which is used later by grub_machine_set_prefix.
32565
32566 * include/grub/video.h: Do not include grub/symbol.h.
32567 (grub_video_register): Not exported. This symbol is not defined in
32568 the kernel.
32569 (grub_video_unregister): Likewise.
32570 (grub_video_iterate): Likewise.
32571 (grub_video_setup): Likewise.
32572 (grub_video_restore): Likewise.
32573 (grub_video_get_info): Likewise.
32574 (grub_video_get_blit_format): Likewise.
32575 (grub_video_set_palette): Likewise.
32576 (grub_video_get_palette): Likewise.
32577 (grub_video_set_viewport): Likewise.
32578 (grub_video_get_viewport): Likewise.
32579 (grub_video_map_color): Likewise.
32580 (grub_video_map_rgb): Likewise.
32581 (grub_video_map_rgba): Likewise.
32582 (grub_video_fill_rect): Likewise.
32583 (grub_video_blit_glyph): Likewise.
32584 (grub_video_blit_bitmap): Likewise.
32585 (grub_video_blit_render_target): Likewise.
32586 (grub_video_scroll): Likewise.
32587 (grub_video_swap_buffers): Likewise.
32588 (grub_video_create_render_target): Likewise.
32589 (grub_video_delete_render_target): Likewise.
32590 (grub_video_set_active_render_target): Likewise.
32591
32592 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
32593 Undefined.
32594 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
32595
32596 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
32597 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
32598 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
32599 instead of $(srcdir)/genkernsyms.sh.
32600
32601 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
32602 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
32603 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
32604 instead of $(srcdir)/genkernsyms.sh.
32605
32606 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
32607 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
32608 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
32609 instead of $(srcdir)/genkernsyms.sh.
32610
32611 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
32612 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
32613 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
32614 instead of $(srcdir)/genkernsyms.sh.
32615
32616 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
32617 genkernsyms.sh.
32618
32619 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
32620 genkernsyms.sh.
32621 (gensymlist.sh): New target.
32622 (genkernsyms.sh): Likewise.
32623
32624 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
32625 genkernsyms.sh.in and gensymlist.sh.in.
32626
32627 * genkernsyms.sh: Removed.
32628 * gensymlist.sh: Likewise.
f19dbdb7 32629
7b455f4d 32630 * genkernsyms.sh.in: New file.
32631 * gensymlist.sh.in: Likewise.
32632
1885bb27 326332006-04-25 Hollis Blanchard <hollis@penguinppc.org>
32634
32635 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
32636 clobber "prefix", since we may have already set it manually.
32637
71538dff 326382006-04-25 Hollis Blanchard <hollis@penguinppc.org>
32639
32640 * kern/misc.c (abort): New alias for grub_abort.
32641
2965c7cc 326422006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
32643
32644 A new machine-specific function "grub_machine_set_prefix" is
32645 defined. This is called after loading modules, so that a prefix
32646 initialization can use modules. Also, this change adds an
32647 intensive debugging feature for the memory manager via the
32648 configure option "--enable-mm-debug".
f19dbdb7 32649
2965c7cc 32650 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
32651 PART.LEN.
32652
32653 * kern/sparc64/ieee1275/init.c (abort): Removed.
32654 (grub_stop): Likewise.
32655 (grub_exit): New function.
32656 (grub_set_prefix): Renamed to ...
32657 (grub_machine_set_prefix): ... this.
32658 (grub_machine_init): Do not call grub_set_prefix.
32659
32660 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
32661 (grub_machine_set_prefix): ... this.
32662 (grub_machine_init): Do not call grub_set_prefix.
32663
32664 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
32665 (grub_machine_init): Do not set the prefix here.
32666
32667 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
32668
32669 * kern/efi/init.c: Include grub/mm.h.
32670 (grub_efi_set_prefix): New function.
32671
32672 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
32673 (grub_efi_get_filename): New function.
32674 (grub_print_device_path): Renamed to ...
32675 (grub_efi_print_device_path): ... this.
32676
32677 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
32678 [MM_DEBUG] (grub_realloc): Likewise.
32679 [MM_DEBUG] (grub_free): Likewise.
32680 [MM_DEBUG] (grub_memalign): Likewise.
32681 [MM_DEBUG] (grub_mm_debug): New variable.
32682 [MM_DEBUG] (grub_debug_malloc): New function.
32683 [MM_DEBUG] (grub_debug_free): New function.
32684 [MM_DEBUG] (grub_debug_realloc): New function.
32685 [MM_DEBUG] (grub_debug_memalign): New function.
32686
32687 * kern/misc.c (grub_abort): Print a newline to distinguish
32688 the message.
32689
32690 * kern/main.c (grub_main): Call grub_machine_set_prefix and
32691 grub_set_root_dev after loading modules. This is necessary when
32692 setting a prefix depends on modules.
32693
32694 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
32695 (grub_efi_print_device_path): ... this.
32696 (grub_efi_get_filename): New prototype.
32697 (grub_efi_set_prefix): Likewise.
32698
32699 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
32700 and grub/disk.h.
32701 (grub_efidisk_get_device_handle): New prototype.
32702 (grub_efidisk_get_device_name): Likewise.
32703
32704 * include/grub/mm.h: Include config.h.
32705 (MM_DEBUG): Removed.
32706 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
32707 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
32708 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
32709 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
32710 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
32711 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
32712 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
32713 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
32714 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
32715
32716 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
32717
32718 * disk/efi/efidisk.c: Include grub/partition.h.
32719 (iterate_child_devices): New function.
32720 (add_device): First, compare only last device path nodes, so that
32721 devices are sorted by the types.
32722 (grub_efidisk_get_device_handle): New function.
32723 (grub_efidisk_get_device_name): Likewise.
32724
32725 * configure.ac (--enable-mm-debug): New option to enable the
32726 memory manager debugging feature. This makes the binary much
32727 bigger, so is disabled by default.
32728
9cacaa17 327292006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
32730
32731 Use grub_abort instead of grub_stop, and grub_exit must be
32732 define in each architecture now. Also, this change adds support
32733 for EFI disks.
f19dbdb7 32734
9cacaa17 32735 * util/i386/pc/grub-probefs.c: Include grub/term.h.
32736 (grub_getkey): New function.
32737 (grub_term_get_current): Likewise.
32738
32739 * util/i386/pc/grub-setup.c: Include grub/term.h.
32740 (grub_getkey): New function.
32741 (grub_term_get_current): Likewise.
32742
32743 * util/misc.c (grub_stop): Renamed to ...
32744 (grub_exit): ... this.
32745
32746 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
32747 (grub_exit): ... this.
32748 (grub_machine_init): Use grub_abort instead of abort.
32749 (grub_stop): Removed.
32750
32751 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
32752 abort.
32753
32754 * kern/i386/pc/startup.S (grub_exit): New function.
32755 (cold_reboot): New label.
32756
32757 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
32758 (grub_efi_init): Call grub_efidisk_init.
32759 (grub_efi_fini): Call grub_efidisk_fini.
32760
32761 * kern/efi/efi.c: Include grub/mm.h.
32762 (grub_efi_console_control_guid): Renamed to ...
32763 (console_control_guid): ... this.
32764 (grub_efi_loaded_image_guid): Renamed to ...
32765 (loaded_image_guid): ... this.
32766 (grub_efi_locate_handle): New function.
32767 (grub_efi_open_protocol): Likewise.
32768 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
32769 GRUB_EFI_CONSOLE_CONTROL_GUID.
32770 (grub_efi_exit): Removed.
32771 (grub_stop): Likewise.
32772 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
32773 (grub_exit): New function.
32774 (grub_print_device_path): Likewise.
32775
32776 * kern/rescue.c (grub_rescue_cmd_exit): New function.
32777 (grub_enter_rescue_mode): Register "exit".
32778
32779 * kern/misc.c (grub_real_dprintf): A cosmetic change.
32780 (grub_abort): New function.
32781
32782 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
32783
32784 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
32785
32786 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
32787
32788 * include/grub/efi/efi.h (grub_efi_exit): Removed.
32789 (grub_print_device_path): New prototype.
32790 (grub_efi_locate_handle): Likewise.
32791 (grub_efi_open_protocol): Likewise.
32792
32793 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
32794 * disk/efi/efidisk.c: Likewise.
32795
32796 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
32797
32798 * include/grub/efi/console_control.h
32799 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
32800
32801 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
32802 last 8 bytes as an array.
32803 (GRUB_EFI_DISK_IO_GUID): New macro.
32804 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
32805 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
32806 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
32807 grub_uint8_t.
32808 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
32809 (struct grub_efi_device_path): Rename the member "sub_type" to
32810 "subtype".
32811 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
32812 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
32813 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
32814 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
32815 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
32816 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
32817 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
32818 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
32819 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
32820 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
32821 (struct grub_efi_pci_device_path): New structure.
32822 (grub_efi_pci_device_path_t): New type.
32823 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
32824 (struct grub_efi_pccard_device_path): New structure.
32825 (grub_efi_pccard_device_path_t): New type.
32826 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
32827 (struct grub_efi_memory_mapped_device_path): New structure.
32828 (grub_efi_memory_mapped_device_path_t): New type.
32829 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
32830 (struct grub_efi_vendor_device_path): New structure.
32831 (grub_efi_vendor_device_path_t): New type.
32832 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
32833 (struct grub_efi_controller_device_path): New structure.
32834 (grub_efi_controller_device_path_t): New type.
32835 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
32836 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
32837 (struct grub_efi_acpi_device_path): New structure.
32838 (grub_efi_acpi_device_path_t): New type.
32839 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
32840 (struct grub_efi_expanded_acpi_device_path): New structure.
32841 (grub_efi_expanded_acpi_device_path_t): New type.
32842 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
32843 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
32844 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
32845 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
32846 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
32847 (struct grub_efi_atapi_device_path): New structure.
32848 (grub_efi_atapi_device_path_t): New type.
32849 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
32850 (struct grub_efi_fibre_channel_device_path): New structure.
32851 (grub_efi_fibre_channel_device_path_t): New type.
32852 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
32853 (struct grub_efi_1394_device_path): New structure.
32854 (grub_efi_1394_device_path_t): New type.
32855 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
32856 (struct grub_efi_usb_device_path): New structure.
32857 (grub_efi_usb_device_path_t): New type.
32858 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
32859 (struct grub_efi_usb_class_device_path): New structure.
32860 (grub_efi_usb_class_device_path_t): New type.
32861 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
32862 (struct grub_efi_i2o_device_path): New structure.
32863 (grub_efi_i2o_device_path_t): New type.
32864 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
32865 (struct grub_efi_mac_address_device_path): New structure.
32866 (grub_efi_mac_address_device_path_t): New type.
32867 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
32868 (struct grub_efi_ipv4_device_path): New structure.
32869 (grub_efi_ipv4_device_path_t): New type.
32870 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
32871 (struct grub_efi_ipv6_device_path): New structure.
32872 (grub_efi_ipv6_device_path_t): New type.
32873 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
32874 (struct grub_efi_infiniband_device_path): New structure.
32875 (grub_efi_infiniband_device_path_t): New type.
32876 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
32877 (struct grub_efi_uart_device_path): New structure.
32878 (grub_efi_uart_device_path_t): New type.
32879 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
32880 (struct grub_efi_vendor_messaging_device_path): New structure.
32881 (grub_efi_vendor_messaging_device_path_t): New type.
32882 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
32883 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
32884 (struct grub_efi_hard_drive_device_path): New structure.
32885 (grub_efi_hard_drive_device_path_t): New type.
32886 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
32887 (struct grub_efi_cdrom_device_path): New structure.
32888 (grub_efi_cdrom_device_path_t): New type.
32889 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
32890 (struct grub_efi_vendor_media_device_path): New structure.
32891 (grub_efi_vendor_media_device_path_t): New type.
32892 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
32893 (struct grub_efi_file_path_device_path): New structure.
32894 (grub_efi_file_path_device_path_t): New type.
32895 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
32896 (struct grub_efi_protocol_device_path): New structure.
32897 (grub_efi_protocol_device_path_t): New type.
32898 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
32899 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
32900 (struct grub_efi_bios_device_path): New structure.
32901 (grub_efi_bios_device_path_t): New type.
32902 (struct grub_efi_disk_io): New structure.
32903 (grub_efi_disk_io_t): New type.
32904 (struct grub_efi_block_io_media): New structure.
32905 (grub_efi_block_io_media_t): New type.
32906 (struct grub_efi_block_io): New structure.
32907 (grub_efi_block_io_t): New type.
32908
32909 * include/grub/misc.h (grub_stop): Removed.
32910 (grub_exit): New prototype.
32911 (grub_abort): Likewise.
32912
32913 * include/grub/disk.h (enum grub_disk_dev_id): Added
32914 GRUB_DISK_DEVICE_EFIDISK_ID.
32915
32916 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
32917 disk/efi/efidisk.c.
32918 (kernel_syms.lst): Remove the target if an error occurs.
32919
49986a9f 329202006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
32921
32922 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
32923 as it was simply too buggy.
32924
970d3b8a 329252006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
32926
32927 * kern/misc.c (grub_lltoa): New function.
32928 (grub_vsprintf): Added support for the long long suffix,
32929 i.e. "ll".
32930
ff04ec24 329312006-04-20 Hollis Blanchard <hollis@penguinppc.org>
32932
32933 * Makefile.in (LDFLAGS): Add variable.
32934 (LD): Remove variable.
32935 * configure.ac: Add -m32 to LDFLAGS.
32936 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
32937 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
32938 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
32939 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
32940 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
32941 variables.
32942 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
32943 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
32944 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
32945
37e5e1a4 329462006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
32947
32948 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
32949 length for unknown glyph.
32950
c352d8dd 329512006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
32952
2eab1c0d 32953 Add support for pre-loaded modules into the EFI port.
f19dbdb7 32954
2eab1c0d 32955 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
32956 completely. Accept one more argument DIR. The caller has changed.
32957
32958 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
32959
32960 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
32961 (grub_efi_loaded_image_guid): New variable.
32962 (grub_efi_get_loaded_image): New function.
32963 (grub_arch_modules_addr): Likewise.
32964
32965 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
32966 prototype.
32967
32968 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
32969 (struct grub_efi_loaded_image): New structure.
32970 (grub_efi_loaded_image_t): New type.
32971
329722006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 32973
c352d8dd 32974 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
32975 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
32976 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
32977
6d01d6b4 329782006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
32979
32980 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
32981
976a4ea0 329822006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
32983
32984 * DISTLIST: Added include/grub/efi/console.h,
32985 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
32986 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
32987
32988 * include/grub/efi/console.h: New file.
32989 * include/grub/efi/time.h: Likewise.
32990 * include/grub/i386/efi/kernel.h: Likewise.
32991 * kern/efi/init.c: Likewise.
32992 * kern/efi/mm.c: Likewise.
32993 * term/efi/console.c: Likewise.
f19dbdb7 32994
976a4ea0 32995 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
32996 (grub_stop): Removed.
32997 (grub_get_rtc): Likewise.
32998 (grub_machine_init): Simply call grub_efi_init.
32999 (grub_machine_fini): Call grub_efi_fini.
33000
33001 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
33002 (grub_efi_output_string): Removed.
33003 (grub_efi_stall): New function.
33004 (grub_stop): Likewise.
33005 (grub_get_rtc): Likewise.
33006
33007 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
33008 (grub_efi_stall): New prototype.
33009 (grub_efi_allocate_pages): Likewise.
33010 (grub_efi_free_pages): Likewise.
33011 (grub_efi_get_memory_map): Likewise.
33012 (grub_efi_mm_init): Likewise.
33013 (grub_efi_mm_fini): Likewise.
33014 (grub_efi_init): Likewise.
33015 (grub_efi_fini): Likewise.
33016
33017 * include/grub/i386/efi/time.h: Do not include
33018 grub/symbol.h. Include grub/efi/time.h.
33019 (GRUB_TICKS_PER_SECOND): Removed.
33020 (grub_get_rtc): Likewise.
33021
33022 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
33023 Added padding. The EFI spec is buggy.
33024 (GRUB_EFI_BLACK): New macro.
33025 (GRUB_EFI_BLUE): Likewise.
33026 (GRUB_EFI_GREEN): Likewise.
33027 (GRUB_EFI_CYAN): Likewise.
33028 (GRUB_EFI_RED): Likewise.
33029 (GRUB_EFI_MAGENTA): Likewise.
33030 (GRUB_EFI_BROWN): Likewise.
33031 (GRUB_EFI_LIGHTGRAY): Likewise.
33032 (GRUB_EFI_BRIGHT): Likewise.
33033 (GRUB_EFI_DARKGRAY): Likewise.
33034 (GRUB_EFI_LIGHTBLUE): Likewise.
33035 (GRUB_EFI_LIGHTGREEN): Likewise.
33036 (GRUB_EFI_LIGHTCYAN): Likewise.
33037 (GRUB_EFI_LIGHTRED): Likewise.
33038 (GRUB_EFI_LIGHTMAGENTA): Likewise.
33039 (GRUB_EFI_YELLOW): Likewise.
33040 (GRUB_EFI_WHITE): Likewise.
33041 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
33042 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
33043 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
33044 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
33045 (GRUB_EFI_BACKGROUND_RED): Likewise.
33046 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
33047 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
33048 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
33049 (GRUB_EFI_TEXT_ATTR): Likewise.
33050
33051 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
33052 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
33053 (kernel_mod_HEADERS): Added efi/time.h.
33054
83709125 330552006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
33056
33057 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
33058 include/grub/efi/api.h, include/grub/efi/console_control.h,
33059 include/grub/efi/efi.h, include/grub/efi/pe32.h,
33060 include/grub/i386/efi/time.h, kern/efi/efi.c,
33061 kern/i386/efi/init.c, kern/i386/efi/startup.S,
33062 and util/i386/efi/grub-mkimage.c.
33063
33064 * Makefile.in (RMKFILES): Added i386-efi.rmk.
33065
33066 * genmk.rb (PModule#rule): Do not export symbols if
33067 #{prefix}_EXPORTS is set to "no".
33068
33069 * conf/i386-efi.mk: New file.
33070 * conf/i386-efi.rmk: Likewise.
33071 * include/grub/efi/api.h: Likewise.
33072 * include/grub/efi/console_control.h: Likewise.
33073 * include/grub/efi/efi.h: Likewise.
33074 * include/grub/efi/pe32.h: Likewise.
33075 * include/grub/i386/efi/time.h: Likewise.
33076 * kern/efi/efi.c: Likewise.
33077 * kern/i386/efi/init.c: Likewise.
33078 * kern/i386/efi/startup.S: Likewise.
33079 * util/i386/efi/grub-mkimage.c: Likewise.
33080
330812006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 33082
33083 * include/grub/script.h: Include <grub/parser.h> and
33084 "grub_script.tab.h".
33085 (struct grub_lexer_param): New struct.
33086 (struct grub_parser_param): Likewise.
33087 (grub_script_create_arglist): Pass the state in an argument.
33088 (grub_script_add_arglist): Likewise.
33089 (grub_script_create_cmdline): Likewise.
33090 (grub_script_create_cmdblock): Likewise.
33091 (grub_script_create_cmdif): Likewise.
33092 (grub_script_create_cmdmenu): Likewise.
33093 (grub_script_add_cmd): Likewise.
33094 (grub_script_arg_add): Likewise.
33095 (grub_script_lexer_ref): Likewise.
33096 (grub_script_lexer_deref): Likewise.
33097 (grub_script_lexer_record_start): Likewise.
33098 (grub_script_lexer_record_stop): Likewise.
33099 (grub_script_mem_record): Likewise.
33100 (grub_script_mem_record_stop): Likewise.
33101 (grub_script_malloc): Likewise.
33102 (grub_script_yylex): Likewise.
33103 (grub_script_yyparse): Likewise.
33104 (grub_script_yyerror): Likewise.
33105 (grub_script_yylex): Likewise.
33106 (grub_script_lexer_init): Return the state.
33107
33108 * normal/lexer.c (grub_script_lexer_state): Removed variable.
33109 (grub_script_lexer_done): Likewise.
33110 (grub_script_lexer_getline): Likewise.
33111 (grub_script_lexer_refs): Likewise.
33112 (script): Likewise.
33113 (newscript): Likewise.
33114 (record): Likewise.
33115 (recording): Likewise.
33116 (recordpos): Likewise.
33117 (recordlen): Likewise.
33118 (grub_script_lexer_init): Return the state instead of setting
33119 global variables.
33120 (grub_script_lexer_ref): Use the newly added argument for state
33121 instead of globals.
33122 (grub_script_lexer_deref): Likewise.
33123 (grub_script_lexer_record_start): Likewise.
33124 (grub_script_lexer_record_stop): Likewise.
33125 (recordchar): Likewise.
33126 (nextchar): Likewise.
33127 (grub_script_yylex2): Likewise.
33128 (grub_script_yylex): Likewise.
33129 (grub_script_yyerror): Likewise.
33130
33131 * normal/parser.y (func_mem): Removed variable.
33132 (menu_entry): Likewise.
33133 (err): Likewise.
33134 (%lex-param): New parser option.
33135 (%parse-param): Likewise.
33136 (script): Always return the AST.
33137 (argument): Pass the state around.
33138 (arguments): Likewise.
33139 (grubcmd): Likewise.
33140 (commands): Likewise.
33141 (function): Likewise.
33142 (menuentry): Likewise.
33143 (if_statement): Likewise.
33144 (if): Likewise.
33145
33146 * normal/script.c (grub_script_memused): Removed variable.
33147 (grub_script_parsed): Likewise.
33148 (grub_script_malloc): Added a state argument. Use that instead of
33149 global variables.
33150 (grub_script_mem_record): Likewise.
33151 (grub_script_mem_record_stop): Likewise.
33152 (grub_script_arg_add): Likewise.
33153 (grub_script_add_arglist): Likewise.
33154 (grub_script_create_cmdline): Likewise.
33155 (grub_script_create_cmdif): Likewise.
33156 (grub_script_create_cmdmenu): Likewise.
33157 (grub_script_add_cmd): Likewise.
33158 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 33159
e2a8c904 331602006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 33161
33162 * normal/command.c (grub_command_init): Remove the title command.
33163
33164 * normal/lexer.c (grub_script_yylex): Renamed from this...
33165 (grub_script_yylex2): ... to this.
33166 (grub_script_yylex): New function. Temporary
33167 introduced to filter some tokens.
33168 (grub_script_yyerror): Print a newline.
33169
33170 * normal/main.c (read_config_file): Output information about the
33171 lines that contain errors. Wait for a key after all lines have
33172 been processed. Don't return an empty menu.
33173
33174 * normal/parser.y (func_mem): Don't initialize.
33175 (menu_entry): Likewise.
33176 (err): New variable.
33177 (script): Don't return anything when an error was encountered.
33178 (ws, returns): Removed rules.
33179 (argument): Disabled concatenated variable support.
33180 (arguments): Remove explicit separators.
33181 (grubcmd): Likewise.
33182 (function): Likewise.
33183 (menuentry): Likewise.
33184 (if): Likewise.
33185 (commands): Likewise. Add error handling.
33186
33187 * normal/script.c (grub_script_create_cmdline): If
33188 `grub_script_parsed' is 0, assume the parser encountered an error.
33189
c9a86192 331902006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
33191
33192 * configure.ac: Add support for EFI. Fix the typo
33193 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
33194
70f3b243 331952006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
33196
33197 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
33198 foreign multibyte characters should be shown correctly.
33199
65f201ad 332002006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
33201
33202 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
33203 calculation.
33204 (read_config_file): Made it to close file before returning.
33205
b4b93674 332062006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
33207
33208 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
33209 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
33210 video/i386/pc/vbefill.c.
33211
33212 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
33213 video/i386/pc/vbefill.c.
33214
33215 * include/grub/video.h (grub_video_blit_format): New enum.
33216 (grub_video_mode_info): Added new member blit_format.
33217 (grub_video_get_blit_format): New function prototype.
33218
33219 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
33220 function prototype.
33221 (grub_video_vbe_map_rgb): Likewise.
33222 (grub_video_vbe_unmap_color): Likewise.
33223
33224 * include/grub/i386/pc/vbeblit.h: New file.
33225
33226 * include/grub/i386/pc/vbefill.h: New file.
33227
33228 * video/video.c (grub_video_get_blit_format): New function.
33229 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
33230 (grub_video_vbe_map_rgb): Likewise.
33231 (grub_video_vbe_unmap_color): Likewise.
33232
33233 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
33234 optimized fills.
33235 (grub_video_vbe_blit_render_target): Changed to use more optimized
33236 blits.
33237 (grub_video_vbe_setup): Added detection for optimized settings.
33238 (grub_video_vbe_create_render_target): Likewise.
33239
33240 * video/i386/pc/vbeblit.c: New file.
33241
33242 * video/i386/pc/vbefill.c: New file.
33243
c2379b9c 332442006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
33245
33246 * font/manager.c (grub_font_get_glyph): Removed font fixup from
33247 here...
33248
33249 * util/unifont2pff.rb: ... and moved it to here. Improved argument
33250 parsing to support both hex and dec ranges. If filename was missing
33251 show usage information.
33252
bd0d7896 332532006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
33254
33255 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
33256 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
33257
33258 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
33259 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
33260 (video_mod_SOURCES): Added.
33261 (video_mod_CFLAGS): Likewise.
33262 (video_mod_LDFLAGS): Likewise.
33263 (gfxterm_mod_SOURCES): Likewise.
33264 (gfxterm_mod_CFLAGS): Likewise.
33265 (gfxterm_mod_LDFLAGS): Likewise.
33266 (videotest_mod_SOURCES): Likewise.
33267 (videotest_mod_CFLAGS): Likewise.
33268 (videotest_mod_LDFLAGS): Likewise.
33269 (vesafb_mod_SOURCES): Removed.
33270 (vesafb_mod_CFLAGS): Likewise.
33271 (vesafb_mod_LDFLAGS): Likewise.
33272 (vga_mod_SOURCES): Likewise.
33273 (vga_mod_CFLAGS): Likewise.
33274 (vga_mod_LDFLAGS): Likewise.
33275
33276 * commands/videotest.c: New file.
33277
33278 * font/manager.c (fill_with_default_glyph): Modified to use
33279 grub_font_glyph.
33280 (grub_font_get_glyph): Likewise.
33281 (fontmanager): Renamed from this...
33282 (font_manager): ... to this.
33283
33284 * include/grub/font.h (grub_font_glyph): Added new structure.
33285 (grub_font_get_glyph): Modified to use grub_font_glyph.
33286
33287 * include/grub/misc.h (grub_abs): Added as inline function.
33288
33289 * include/grub/video.h: New file.
33290
33291 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
33292 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
33293 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
33294 (grub_vbe_get_controller_info): Renamed from this...
33295 (grub_vbe_bios_get_controller_info): ... to this.
33296 (grub_vbe_get_mode_info): Renamed from this...
33297 (grub_vbe_bios_get_mode_info): ... to this.
33298 (grub_vbe_set_mode): Renamed from this...
33299 (grub_vbe_bios_set_mode): ... to this.
33300 (grub_vbe_get_mode): Renamed from this...
33301 (grub_vbe_bios_get_mode): ... to this.
33302 (grub_vbe_set_memory_window): Renamed from this...
33303 (grub_vbe_bios_set_memory_window): ... to this.
33304 (grub_vbe_get_memory_window): Renamed from this...
33305 (grub_vbe_bios_get_memory_window): ... to this.
33306 (grub_vbe_set_scanline_length): Renamed from this...
33307 (grub_vbe_set_scanline_length): ... to this.
33308 (grub_vbe_get_scanline_length): Renamed from this...
33309 (grub_vbe_bios_get_scanline_length): ... to this.
33310 (grub_vbe_set_display_start): Renamed from this...
33311 (grub_vbe_bios_set_display_start): ... to this.
33312 (grub_vbe_get_display_start): Renamed from this...
33313 (grub_vbe_bios_get_display_start): ... to this.
33314 (grub_vbe_set_palette_data): Renamed from this...
33315 (grub_vbe_bios_set_palette_data): ... to this.
33316 (grub_vbe_set_pixel_rgb): Removed.
33317 (grub_vbe_set_pixel_index): Likewise.
33318
33319 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
33320 from this...
33321 (grub_vbe_bios_get_controller_info): ... to this.
33322 (grub_vbe_get_mode_info): Renamed from this...
33323 (grub_vbe_bios_get_mode_info): ... to this.
33324 (grub_vbe_set_mode): Renamed from this...
33325 (grub_vbe_bios_set_mode): ... to this.
33326 (grub_vbe_get_mode): Renamed from this...
33327 (grub_vbe_bios_get_mode): ... to this.
33328 (grub_vbe_set_memory_window): Renamed from this...
33329 (grub_vbe_bios_set_memory_window): ... to this.
33330 (grub_vbe_get_memory_window): Renamed from this...
33331 (grub_vbe_bios_get_memory_window): ... to this.
33332 (grub_vbe_set_scanline_length): Renamed from this...
33333 (grub_vbe_set_scanline_length): ... to this.
33334 (grub_vbe_get_scanline_length): Renamed from this...
33335 (grub_vbe_bios_get_scanline_length): ... to this.
33336 (grub_vbe_set_display_start): Renamed from this...
33337 (grub_vbe_bios_set_display_start): ... to this.
33338 (grub_vbe_get_display_start): Renamed from this...
33339 (grub_vbe_bios_get_display_start): ... to this.
33340 (grub_vbe_set_palette_data): Renamed from this...
33341 (grub_vbe_bios_set_palette_data): ... to this.
33342 (grub_vbe_bios_get_controller_info): Fixed problem with registers
33343 getting corrupted after calling it. Added more pushes and pops.
33344 (grub_vbe_bios_set_mode): Likewise.
33345 (grub_vbe_bios_get_mode): Likewise.
33346 (grub_vbe_bios_get_memory_window): Likewise.
33347 (grub_vbe_bios_set_scanline_length): Likewise.
33348 (grub_vbe_bios_get_scanline_length): Likewise.
33349 (grub_vbe_bios_get_display_start): Likewise.
33350 (grub_vbe_bios_set_palette_data): Likewise.
33351
33352 * normal/cmdline.c (cl_set_pos): Refresh the screen.
33353 (cl_insert): Likewise.
33354 (cl_delete): Likewise.
33355
33356 * term/gfxterm.c: New file.
33357
33358 * term/i386/pc/vesafb.c: Removed file.
33359
33360 * video/video.c: New file.
33361
33362 * video/i386/pc/vbe.c (real2pm): Added new function.
33363 (grub_video_vbe_draw_pixel): Likewise.
33364 (grub_video_vbe_get_video_ptr): Likewise.
33365 (grub_video_vbe_get_pixel): Likewise
33366 (grub_video_vbe_init): Likewise.
33367 (grub_video_vbe_fini): Likewise.
33368 (grub_video_vbe_setup): Likewise.
33369 (grub_video_vbe_get_info): Likewise.
33370 (grub_video_vbe_set_palette): Likewise.
33371 (grub_video_vbe_get_palette): Likewise.
33372 (grub_video_vbe_set_viewport): Likewise.
33373 (grub_video_vbe_get_viewport): Likewise.
33374 (grub_video_vbe_map_color): Likewise.
33375 (grub_video_vbe_map_rgb): Likewise.
33376 (grub_video_vbe_map_rgba): Likewise.
33377 (grub_video_vbe_unmap_color): Likewise.
33378 (grub_video_vbe_fill_rect): Likewise.
33379 (grub_video_vbe_blit_glyph): Likewise.
33380 (grub_video_vbe_blit_bitmap): Likewise.
33381 (grub_video_vbe_blit_render_target): Likewise.
33382 (grub_video_vbe_scroll): Likewise.
33383 (grub_video_vbe_swap_buffers): Likewise.
33384 (grub_video_vbe_create_render_target): Likewise.
33385 (grub_video_vbe_delete_render_target): Likewise.
33386 (grub_video_vbe_set_active_render_target): Likewise.
33387 (grub_vbe_set_pixel_rgb): Remove function.
33388 (grub_vbe_set_pixel_index): Likewise.
33389 (index_color_mode): Remove static variable.
33390 (active_mode): Likewise.
33391 (framebuffer): Likewise.
33392 (bytes_per_scan_line): Likewise.
33393 (grub_video_vbe_adapter): Added new static variable.
33394 (framebuffer): Likewise.
33395 (render_target): Likewise.
33396 (initial_mode): Likewise.
33397 (mode_in_use): Likewise.
33398 (mode_list): Likewise.
33399
5f97350b 334002006-03-10 Marco Gerards <marco@gnu.org>
33401
33402 * configure.ac (AC_INIT): Bumped to 1.93.
33403
33404 * DISTLIST: Added `include/grub/hfs.h'.
33405
a3c5c6f8 334062006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
33407
33408 * boot/i386/pc/boot.S (general_error): Before looping, try INT
33409 18H, which might help the BIOS falling back to next boot media.
33410
6de53d26 334112006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
33412
33413 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
33414 Poe Chen <poe.poechen@gmail.com>.
33415
77c4a393 334162006-01-17 Marco Gerards <marco@gnu.org>
33417
33418 * include/grub/normal.h: Include <grub/script.h>.
33419 (grub_command_list): Removed struct.
33420 (grub_command_list_t): Removed type.
33421 (grub_menu_entry): Remove members `num' and `command_list'. Add
33422 members `commands' and `sourcecode'.
33423 * include/grub/script.h: Add inclusion guards.
33424 (grub_script_cmd_menuentry): New struct.
33425 (grub_script_execute_menuentry): New prototype.
33426 (grub_script_lexer_record_start): Likewise.
33427 (grub_script_lexer_record_stop): Likewise.
33428 * normal/execute.c (grub_script_execute_menuentry): New function.
33429 * normal/lexer.c (record, recording, recordpos, recordlen): New
33430 variables.
33431 (grub_script_lexer_record_start): New function.
33432 (grub_script_lexer_record_stop): Likewise.
33433 (recordchar): Likewise.
33434 (nextchar): Likewise.
33435 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
33436 2048 as the buffer size. Add the tokens `menuentry' and `@'.
33437 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
33438 (current_menu): New variable.
33439 (free_menu): Mainly rewritten.
33440 (grub_normal_menu_addentry): New function.
33441 (read_config_file): Rewritten.
33442 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 33443 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 33444 the menu entry.
33445 (run): Mainly rewritten.
33446 * normal/parser.y (menu_entry): New variable.
33447 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
33448 (menuentry): New rule.
33449 (command): Add `menuentry'.
33450 (if_statement): Allow additional returns before `fi'.
33451 * normal/script.c (grub_script_create_cmdmenu): New function.
33452
144f1f98 334532006-01-03 Marco Gerards <marco@gnu.org>
33454
33455 * INSTALL: GNU Bison is required.
33456 * configure.ac: Rewritten the test to detect Bison.
33457 * Makefile.in (YACC): New variable. Reported by Xun Sun
33458 <xun.sun.cn@gmail.com>.
33459
af4b2d89 334602006-01-03 Marco Gerards <marco@gnu.org>
33461
33462 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
33463 the HFS+ filesystem to filesystem blocks.
33464 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
33465 GCC warning is silenced.
33466
15643b71 334672006-01-03 Marco Gerards <marco@gnu.org>
33468
33469 * partmap/apple.c (apple_partition_map_iterate): Convert the data
33470 read from disk from big endian to host byte order.
33471
00905879 334722006-01-03 Hollis Blanchard <hollis@penguinppc.org>
33473
33474 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
33475 documentation.
33476 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
33477 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
33478 embedded HFS+ filesystem.
33479 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
33480 (grub_hfs_sblock): Move from here...
33481 * include/grub/hfs.h: To here... New file.
33482 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
33483 documentation.
33484 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
33485 New macros.
33486 (grub_hfsplus_volheader): Change type of member `magic' to
33487 `grub_uint16_t'.
33488 (grub_hfsplus_data): Add new member `embedded_offset'.
33489 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
33490 returned block.
33491 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
33492 Calculate the offset.
33493
8899bc3e 334942005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
33495
33496 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
33497 Removed.
33498 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
33499
ae8c0277 335002005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
33501
33502 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
33503 ENV->NAME is NULL after allocating ENV->VALUE.
33504
07084456 335052005-12-25 Marco Gerards <marco@gnu.org>
33506
33507 * kern/env.c (grub_env_set): Rewritten the error handling code.
33508
4750f5f1 335092005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
33510
33511 * geninit.sh: Made more robust, and more portable.
33512
50214199 335132005-12-25 Marco Gerards <marco@gnu.org>
33514
33515 Add support for Apple HFS+ filesystems.
f19dbdb7 33516
50214199 33517 * fs/hfsplus.c: New file.
33518
33519 * DISTLIST: Added `fs/hfsplus.c'.
33520
33521 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
33522 (hfsplus_mod_SOURCES): New variable.
33523 (hfsplus_mod_CFLAGS): Likewise.
33524 (hfsplus_mod_LDFLAGS): Likewise.
33525 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
33526 (grub_setup_SOURCES): Likewise.
33527 (grub_mkdevicemap_SOURCES): Likewise.
33528 (grub_emu_SOURCES): Likewise.
33529 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33530
33531 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
33532
33533 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
33534
befaed6c 335352005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
33536
33537 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
33538 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
33539 include/grub/parser.h, include/grub/script.h, kern/parser.c,
33540 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
33541 normal/lexer.c, normal/parser.y, normal/script.c, and
33542 partmap/gpt.c.
33543 Removed kern/sparc64/cache.c.
33544
33545 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
33546 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
33547 grub_emu_init.c.
33548
33549 * configure.ac (AC_INIT): Bumped to 1.92.
33550
6a124103 335512005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
33552
33553 * kern/err.c (grub_error_push): Added new function to support error
33554 stacks.
33555 (grub_error_pop): Likewise.
33556 (grub_error_stack_items): New local variable to support error stacks.
33557 (grub_error_stack_pos): Likewise.
33558 (grub_error_stack_assert): Likewise.
33559 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
33560 stack depth.
33561 (grub_print_error): Added support to print errors from error stack.
33562
33563 * include/grub/err.h (grub_error_push): Added function prototype.
33564 (grub_error_pop): Likewise.
33565
be973c1b 335662005-12-09 Hollis Blanchard <hollis@penguinppc.org>
33567
33568 * configure.ac: Accept `powerpc64' as host_cpu.
33569 (amd64): Rename to `biarch32'.
33570
33571 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
33572 non-cacheline-aligned addresses.
33573
33574 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
33575 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
33576 if `size' is non-zero.
33577
b04216ab 335782005-12-03 Marco Gerards <mgerards@xs4all.nl>
33579
33580 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
33581 and `cd' to make sure the filename is not prefixed with a
33582 directory name.
33583 (pkgdata_MODULES): Add `gpt.mod'.
33584 (gpt_mod_SOURCES): New variable.
33585 (gpt_mod_CFLAGS): Likewise.
33586 (gpt_mod_LDFLAGS): Likewise.
33587
33588 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
33589
33590 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
33591 New macro.
33592
33593 * partmap/gpt.c: New file.
33594
33595 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
33596 GPT partition map is detected.
33597
41730ed9 335982005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
33599
33600 * commands/i386/pc/play.c: New file.
33601 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
33602 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
33603 macros.
f19dbdb7 33604
95dc3643 336052005-11-27 Marco Gerards <mgerards@xs4all.nl>
33606
33607 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
33608 ((unused))' to silence gcc warning.
33609
1569ec51 336102005-11-26 Hollis Blanchard <hollis@penguinppc.org>
33611
33612 * configure.ac: Correct `AC_PROG_YACC' test.
33613
9abde152 336142005-11-22 Hollis Blanchard <hollis@penguinppc.org>
33615
33616 * util/powerpc/ieee1275/grub-install.in: Run the mount point
33617 check before installing files.
33618
44b83271 336192005-11-22 Mike Small <smallm@panix.com>
33620
33621 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
33622 number regex so multidigit numbers are recognized correctly.
33623
336242005-11-22 Mike Small <smallm@panix.com>
33625
33626 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
33627 debugging message before attempting to claim memory.
33628 (grub_rescue_cmd_initrd): Add a claim debugging message and try
33629 multiple addresses in case of failure.
33630
9c12956b 336312005-11-22 Hollis Blanchard <hollis@penguinppc.org>
33632
33633 * term/tparm.c (get_space): Remove empty `if' statement.
33634
33635 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
33636
33637 * kern/parser.c (check_varstate): Rename `state' to 's'.
33638
aeaf81d9 336392005-11-22 Hollis Blanchard <hollis@penguinppc.org>
33640
33641 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
33642 variable definitions to the beginning of each function. Sort stack
33643 variables by size.
33644 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
33645 `buf' argument to `char *'.
33646
79bbb63f 336472005-11-22 Hollis Blanchard <hollis@penguinppc.org>
33648
33649 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
33650 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 33651 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 33652 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
33653 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
33654 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
33655 configfile.mod, search.mod, gzio.mod and test.mod.
33656 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
33657 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
33658 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
33659 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
33660 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
33661 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
33662 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
33663 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
33664 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
33665 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
33666 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
33667 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
33668 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
33669 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
33670 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
33671 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
33672 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
33673 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
33674 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
33675 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
33676 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
33677 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
33678 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
33679
33680 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
33681 `grep --include'.
33682 (pkgdata_MODULES): Add test.mod.
33683
233b1628 336842005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
33685
33686 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
33687 appending to variables with "+=".
33688 (PModule): Use full pathname to generate *.lst filenames.
33689
33690 * Makefile.in: Fixed list rules moved from genmk.rb.
33691 (.DELETE_ON_ERROR): New special target.
33692 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
33693
33694 * conf/i386-pc.rmk: Include conf/common.mk.
33695 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 33696 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 33697 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
33698 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
33699 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
33700 configfile.mod, search.mod, gzio.mod and test.mod.
33701 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
33702 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
33703 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
33704 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
33705 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
33706 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
33707 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
33708 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
33709 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
33710 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
33711 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
33712 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
33713 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
33714 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
33715 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
33716 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
33717 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
33718 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
33719 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
33720 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
33721 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
33722 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
33723 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
33724 here...
33725 * conf/common.rmk: ... to here. New file.
33726
33727 * conf/common.mk: New file.
33728
16f820c8 337292005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
33730
33731 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
33732 (grub_script.tab.c): ... here.
33733
33734 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
33735 (grub_script.tab.c): ... here.
33736
33737 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
33738 (grub_script.tab.c): ... here.
33739
33740 * normal/command.c (grub_command_find): Fixed a memory leak of
33741 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
33742
63ba1554 337432005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
33744
33745 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
33746 "@" which marks the start of a comment on ARM.
33747 (VARIABLE): Likewise.
33748
7f67dc13 337492005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
33750
79bbb63f 33751 Add support for Linux/ADFS partition tables.
7f67dc13 33752
33753 * partmap/acorn.c: New file.
33754
33755 * include/grub/acorn_filecore.h: Likewise.
33756
33757 * DISTLIST: Added `partmap/acorn.c' and
33758 `include/grub/acorn_filecore.h'.
f19dbdb7 33759
7f67dc13 33760 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
33761 `partmap/acorn.c'.
33762 (pkgdata_MODULES): Add `acorn.mod'.
33763 (acorn_mod_SOURCES): New variable.
33764 (acorn_mod_CFLAGS): Likewise.
33765
33766 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
33767 `partmap/acorn.c'.
33768 (pkgdata_MODULES): Add `acorn.mod'.
33769 (acorn_mod_SOURCES): New variable.
33770 (acorn_mod_CFLAGS): Likewise.
33771
33772 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
33773 (pkgdata_MODULES): Add `acorn.mod'.
33774 (acorn_mod_SOURCES): New variable.
33775 (acorn_mod_CFLAGS): Likewise.
33776 (acorn_mod_LDFLAGS): Likewise.
33777
33778 * include/types.h (grub_disk_addr_t): New typedef.
33779
6d099807 337802005-11-13 Marco Gerards <mgerards@xs4all.nl>
33781
33782 * geninit.sh: New file.
33783
33784 * geninitheader.sh: Likewise.
33785
33786 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
33787 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
33788 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
33789 * commands/configfile.c (grub_configfile_init)
33790 (grub_configfile_fini): Likewise.
33791 * commands/default.c (grub_default_init, grub_default_fini):
33792 Likewise.
33793 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
33794 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
33795 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
33796 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
33797 Likewise.
33798 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
33799 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
33800 Likewise.
33801 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 33802 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 33803 Likewise.
33804 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
33805 Likewise.
fe6b695a 33806 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 33807 Likewise.
33808 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
33809 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
33810 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
33811 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
33812 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
33813 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
33814 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
33815 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
33816 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
33817 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
33818 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
33819 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
33820 * partmap/amiga.c (grub_amiga_partition_map_init)
33821 (grub_amiga_partition_map_fini): Likewise.
33822 * partmap/apple.c (grub_apple_partition_map_init)
33823 (grub_apple_partition_map_fini): Likewise.
33824 * partmap/pc.c (grub_pc_partition_map_init)
33825 (grub_pc_partition_map_fini): Likewise.
33826 * partmap/sun.c (grub_sun_partition_map_init,
33827 grub_sun_partition_map_fini): Likewise.
33828 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
33829 Likewise.
33830
33831 * util/grub-emu.c: Include <grub_modules_init.h>.
33832 (main): Don't initialize and de-initialize any modules directly,
33833 use `grub_init_all' and `grub_fini_all' instead.
33834
33835 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
33836 `grub_vesafb_mod_init'.
33837 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
33838 all users.
33839 * term/i386/pc/vga.c (grub_vga_init): Renamed to
33840 `grub_vga_mod_init'. Updated all users.
33841 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 33842
6d099807 33843 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
33844 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
33845 rules.
33846
33847 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
33848 Generate a function to initialize the module in utilities.
33849 Updated all callers.
33850 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
33851 initialize the module in utilities. Updated all callers.
33852
9046bcf0 338532005-11-09 Hollis Blanchard <hollis@penguinppc.org>
33854
33855 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
33856 escape sequence and a literal ^L to clear the screen.
33857
33858 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
33859 when returning from Open Firmware.
33860
d13ea639 338612005-11-09 Hollis Blanchard <hollis@penguinppc.org>
33862
33863 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
33864 (grub_ofconsole_height): Likewise.
33865 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
33866 manually insert a '\n'.
33867 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
33868 `grub_ofconsole_height'. Return early if these are already set.
33869
a8fcf206 338702005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
33871
33872 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
33873 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
33874 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
33875 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
33876 and `normal/script.c'.
33877 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
33878 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
33879 (test_mod_SOURCES): New variable.
33880 (test_mod_CFLAGS): Likewise.
33881 (test_mod_LDFLAGS): Likewise.
33882 (pkgdata_MODULES): Add `test.mod'.
33883 (grub_script.tab.c): New rule.
33884 (grub_script.tab.h): Likewise.
33885
b6b32745 338862005-11-07 Marco Gerards <mgerards@xs4all.nl>
33887
33888 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
33889 `commands/test.c', `normal/execute.c', `normal/lexer.c',
33890 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
33891 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
33892 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
33893 (test_mod_SOURCES): New variable.
33894 (test_mod_CFLAGS): Likewise.
33895 (pkgdata_MODULES): Add `test.mod'.
33896 (grub_script.tab.c): New rule.
33897 (grub_script.tab.h): Likewise.
33898
daac212a 338992005-11-06 Marco Gerards <mgerards@xs4all.nl>
33900
33901 Add initial scripting support.
33902
33903 * commands/test.c: New file.
33904 * include/grub/script.h: Likewise.
33905 * normal/execute.c: Likewise.
33906 * normal/function.c: Likewise.
33907 * normal/lexer.c: Likewise.
33908 * normal/parser.y: Likewise.
33909 * normal/script.c: Likewise.
33910
33911 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 33912
daac212a 33913 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
33914 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
33915 `normal/function.c' and `normal/script.c'.
33916 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
33917 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 33918 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
33919 variables.
daac212a 33920 (pkgdata_MODULES): Add `test.mod'.
33921 (grub_script.tab.c): New rule.
33922 (grub_script.tab.h): Likewise.
33923
33924 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
33925
33926 * include/grub/normal.h (grub_test_init): New prototype.
33927 (grub_test_fini): Likewise.
f19dbdb7 33928
daac212a 33929 * normal/command.c: Include <grub/script.h>.
33930 (grub_command_execute): Rewritten.
f19dbdb7 33931
daac212a 33932 * util/grub-emu.c (main): Call `grub_test_init' and
33933 `grub_test_fini'.
33934
77500b2b 339352005-11-03 Hollis Blanchard <hollis@penguinppc.org>
33936
33937 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
33938 to 0.
33939 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
33940 there are no pending characters.
33941
e45deb9e 339422005-11-03 Hollis Blanchard <hollis@penguinppc.org>
33943
33944 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
33945 `grub_strndup' to drop device arguments. Replace unnecessary
33946 `grub_strndup' with `grub_strdup'.
33947
4ce32619 339482005-11-03 Hollis Blanchard <hollis@penguinppc.org>
33949
33950 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
33951 `debug' environment variable has been set.
33952
339532005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 33954
4ce32619 33955 * Makefile.in (install-local): Use $(DATA).
33956 (uninstall): Likewise.
33957 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
33958 (sbin_UTILITIES): ... to here.
33959 (sbin_SCRIPTS): New variable.
33960 (grub_install_SOURCES): New variable.
33961 * util/powerpc/ieee1275/grub-install.in: New file.
33962 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
33963 variable.
33964 (add_segments): Call `grub_util_get_path'.
33965
25fe6f03 339662005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
33967
33968 From Timothy Baldwin:
33969 * commands/ls.c (grub_ls_list_files): Close FILE with
33970 grub_file_close.
33971 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
33972
04ccf3ec 339732005-10-24 Marco Gerards <mgerards@xs4all.nl>
33974
33975 * include/grub/parser.h: New file.
33976
33977 * kern/parser.c: Likewise.
33978
33979 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
33980 (grub_setup_SOURCES): Likewise.
33981 (grub_probefs_SOURCES): Likewise.
33982 (grub_emu_SOURCES): Likewise.
33983 (kernel_img_HEADERS): Add `parser.h'.
33984
33985 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
33986 (grub_emu_SOURCES): Add `kern/parser.c'.
33987 (grubof_SOURCES): Likewise.
33988
33989 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
33990 (grubof_SOURCES): Add `kern/parser.c'.
33991
33992 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
33993
33994 * kern/misc.c (grub_split_cmdline): Removed function.
33995
33996 * kern/rescue.c: Include <grub/parser.h>.
33997 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
33998 of `grub_split_cmdline'.
33999
34000 * normal/command.c: Include <grub/parser.h>.
34001 (grub_command_execute): Use `grub_parser_split_cmdline' instead
34002 of `grub_split_cmdline'.
34003
34004 * normal/completion.c: Include <grub/parser.h>.
34005 (cmdline_state): New variable.
34006 (iterate_dir): End the filename with a quote depending on the
34007 command line state.
34008 (get_state): new function.
34009 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
34010 split the arguments and determine the current argument. When the
34011 argument string is not quoted, escape all spaces.
34012
6d8f4b0e 340132005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
34014
34015 * normal/sparc64/setjmp.S: New file.
34016
15cf03ed 340172005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
34018
34019 * include/grub/sparc64/libgcc.h: New file.
34020 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
34021 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
34022 normal/sparc64/setjmp.c.
34023
03e8661a 340242005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
34025
34026 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
34027 * kern/sparc64/cache.S: New file.
34028 * kern/sparc64/cache.c: Removed.
34029 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
34030 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
34031 -mtune=ultrasparc.
34032 (COMMON_LDFLAGS): Add -melf64_sparc.
34033 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
34034 (grubof_SOURCES): Use cache.S instead of cache.c.
34035 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
34036 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
34037 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
34038 commented though.
34039 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
34040 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
34041 (linux_mod_CFLAGS): Commented out.
34042 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
34043 out because module isn't built.
34044 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
34045 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
34046 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
34047 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
34048 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
34049 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
34050 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
34051 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
34052 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
34053 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
34054 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
34055 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
34056 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
34057 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
34058
34eeec8a 340592005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
34060
34061 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
34062 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
34063 longer, because HFS should not be used on PC.
34064
708367a3 340652005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
34066
34067 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
34068 consistently within the loop.
34069
6fa1251a 340702005-10-15 Marco Gerards <mgerards@xs4all.nl>
34071
34072 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
34073 directory can not be read.
34074
4801580b 340752005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
34076
34077 * configure.ac (AC_INIT): Increase the version number to 1.91.
34078
34079 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
34080 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
34081 term/i386/pc/serial.c.
34082
219ad426 340832005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
34084
34085 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
34086 file size must be permitted.
34087
34088 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
34089 between %ah and %al.
34090
688e5699 340912005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
34092
34093 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
34094 grub_uint64_t.
34095 Call the hook with a NUL-terminated filename.
34096 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
34097 grub_cpu_to_be32.
34098
34099 * kern/term.c (cursor_state): New variable.
34100 (grub_term_set_current): Reset the cursor state on a new
34101 terminal.
34102 (grub_setcursor): Rewritten to use CURSOR_STATE.
34103 (grub_getcursor): New function.
34104
34105 * include/grub/term.h (grub_getcursor): New prototype.
34106
34107 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
34108 integers on ARM. Reported by Timothy Baldwin
34109 <T.E.Baldwin99@members.leeds.ac.uk>.
34110
bb34586c 341112005-10-11 Marco Gerards <mgerards@xs4all.nl>
34112
34113 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
34114 allocated.
34115 (grub_sfs_dir): Likewise.
34116
9a909877 341172005-10-09 Marco Gerards <mgerards@xs4all.nl>
34118
34119 Add support for the SFS filesystem.
34120
34121 * fs/sfs.c: New file.
34122
34123 * DISTLIST: Added `fs/sfs.c'.
34124
34125 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
34126 (grub_probefs_SOURCES): Likewise.
34127 (grub_emu_SOURCES): Likewise.
34128 (pkgdata_MODULES): Add `sfs.mod'.
34129 (sfs_mod_SOURCES): New variable.
34130 (sfs_mod_CFLAGS): Likewise.
34131 (sfs_mod_LDFLAGS): Likewise.
34132
34133 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
34134 (pkgdata_MODULES): Add `sfs.mod'.
34135 (sfs_mod_SOURCES): New variable.
34136 (sfs_mod_CFLAGS): Likewise.
34137
34138 * util/grub-emu.c (main): Call `grub_sfs_init' and
34139 `grub_sfs_fini'.
34140
34141 * include/grub/fs.h (grub_sfs_init): New prototype.
34142 (grub_sfs_fini): Likewise.
34143
57bdbde3 341442005-10-07 Marco Gerards <mgerards@xs4all.nl>
34145
34146 Add support for the AFFS filesystem.
34147
34148 * fs/affs.c: New file.
34149
34150 * DISTLIST: Added `fs/affs.c'.
34151
34152 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
34153 (grub_probefs_SOURCES): Likewise.
34154 (grub_emu_SOURCES): Likewise.
34155 (pkgdata_MODULES): Add `affs.mod'.
34156 (affs_mod_SOURCES): New variable.
34157 (affs_mod_CFLAGS): Likewise.
34158 (affs_mod_LDFLAGS): Likewise.
34159
34160 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
34161 (pkgdata_MODULES): Add `affs.mod'.
34162 (affs_mod_SOURCES): New variable.
34163 (affs_mod_CFLAGS): Likewise.
34164
34165 * util/grub-emu.c (main): Call `grub_affs_init' and
34166 `grub_affs_fini'.
34167
34168 * include/grub/fs.h (grub_affs_init): New prototype.
34169 (grub_affs_fini): Likewise.
34170
047b67e0 341712005-10-01 Marco Gerards <mgerards@xs4all.nl>
34172
34173 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
34174
59b8208a 341752005-10-01 Marco Gerards <mgerards@xs4all.nl>
34176
34177 * configure.ac: Accept `x86_64' as host_cpu. In that case add
34178 `-m32' to CFLAGS.
34179
34180 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
34181 linking.
f19dbdb7 34182
59b8208a 34183 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
34184 (COMMON_LDFLAGS): New variable.
34185 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
34186 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
34187 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
34188 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
34189 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
34190 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
34191 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
34192 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
34193 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
34194 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
34195 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
34196 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
34197 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
34198 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
34199 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
34200 variables.
34201 (normal_mod_ASFLAGS): Add `-m32'.
34202
34203 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
34204 (grub_host_size_t, grub_host_ssize_t): New types.
34205 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 34206 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 34207 `GRUB_HOST_SIZEOF_VOID_P'.
34208
34209 * include/grub/kernel.h (struct grub_module_header): Type of
34210 member offset changed to `grub_host_off_t'. Type of member size
34211 changed to `grub_host_size_t'.
34212 (struct grub_module_info): Type of member offset changed to
34213 `grub_host_off_t'. Type of member size changed to
34214 `grub_host_size_t'.
34215
b4093103 342162005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
34217
34218 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 34219
b4093103 34220 * kern/i386/pc/startup.S (multiboot_header): New label.
34221 (multiboot_entry): Likewise.
34222 (multiboot_trampoline): Likewise.
34223
34224 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
34225 Increased to 0x4A0.
34226
34227 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
34228 put parentheses after a question mark.
34229 [!GRUB_UTIL] (my_mod): New variable.
34230
34231 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
34232
b2499b29 342332005-09-28 Marco Gerards <mgerards@xs4all.nl>
34234
34235 Adds support for the XFS filesystem. Btrees are not supported
34236 yet.
34237
34238 * fs/xfs.c: New file.
34239
34240 * DISTLIST: Added `fs/xfs.c'.
34241
34242 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
34243 (grub_probefs_SOURCES): Likewise.
34244 (grub_emu_SOURCES): Likewise.
34245 (pkgdata_MODULES): Add `xfs.mod'.
34246 (xfs_mod_SOURCES): New variable.
34247 (xfs_mod_CFLAGS): Likewise.
34248
34249 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
34250 (pkgdata_MODULES): Add `xfs.mod'.
34251 (xfs_mod_SOURCES): New variable.
34252 (xfs_mod_CFLAGS): Likewise.
34253
34254 * util/grub-emu.c (main): Call `grub_xfs_init' and
34255 `grub_xfs_fini'.
34256
34257 * include/grub/fs.h (grub_xfs_init): New prototype.
34258 (grub_xfs_fini): Likewise.
34259
f19dbdb7 34260
83d37a62 342612005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
34262
34263 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
34264 color modes, allow greater than 16 colors to be configured as
34265 a default palette.
34266
47d2d65e 342672005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
34268
34269 * normal/completion.c (complete_arguments): Add the qualifier
34270 const into OPTIONS.
34271
34272 From Omniflux <omniflux+lists@omniflux.com>:
34273 * include/grub/terminfo.h: New file.
34274 * include/grub/tparm.h: Likewise.
34275 * include/grub/i386/pc/serial.h: Likewise.
34276 * term/terminfo.c: Likewise.
34277 * term/tparm.c: Likewise.
34278 * term/i386/pc/serial.c: Likewise.
34279 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
34280 serial.mod.
34281 (terminfo_mod_SOURCES): New variable.
34282 (terminfo_mod_CFLAGS): Likewise.
34283 (serial_mod_SOURCES): Likewise.
34284 (serial_mod_CFLAGS): Likewise.
34285
48b671ff 342862005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
34287
34288 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
34289 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
34290 and kern/powerpc/ieee1275/cmain.c, respectively.
34291
34292 * boot/powerpc/ieee1275/crt0.S: Moved to ...
34293 * kern/powerpc/ieee1275/crt0.S: ... here.
34294
34295 * boot/powerpc/ieee1275/cmain.c: Moved to ...
34296 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 34297
48b671ff 34298 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
34299 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
34300 instead of boot/powerpc/ieee1275/crt0.S and
34301 boot/powerpc/ieee1275/cmain.c, respectively.
34302
34303 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
34304 sectors. It was not used anyway.
34305
09fc77a7 343062005-08-30 Hollis Blanchard <hollis@penguinppc.org>
34307
34308 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
34309 `unused parameter' warning.
34310
003789c7 343112005-08-30 Hollis Blanchard <hollis@penguinppc.org>
34312
34313 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
34314 function.
34315 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
34316 getcharwidth.
34317
67f44c86 343182005-08-28 Marco Gerards <metgerards@student.han.nl>
34319
34320 * include/grub/normal.h (enum grub_completion_type): Added
34321 `GRUB_COMPLETION_TYPE_ARGUMENT'.
34322
34323 * normal/cmdline.c (print_completion): Handle
34324 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
34325 * normal/menu_entry.c (store_completion): Likewise.
34326
34327 * normal/completion.c (complete_arguments): New function.
34328 (grub_normal_do_completion): Call `complete_arguments' when the
34329 current words start with a dash.
34330
0b5abe02 343312005-08-27 Marco Gerards <metgerards@student.han.nl>
34332
34333 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
34334 `gzio.mod' instead of `io.mod').
34335
d9864ee1 343362005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
34337
34338 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
34339 (DISTDIRS): Added io and video.
34340 Rewrite the search routine to make an output consistently.
34341
34342 * DISTLIST: Added conf/sparc64-ieee1275.mk,
34343 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
34344 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
34345 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
34346 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
34347 util/powerpc/ieee1275/misc.c.
f19dbdb7 34348
d9864ee1 34349 * include/grub/gzio.h: New file.
34350 * io/gzio.c: Likewise.
f19dbdb7 34351
d9864ee1 34352 * kern/file.c (grub_file_close): Call grub_device_close only if
34353 FILE->DEVICE is not NULL.
34354
34355 * include/grub/mm.h [!NULL] (NULL): New macro.
34356
34357 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
34358
34359 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
34360 (pkgdata_MODULES): Added gzio.mod.
34361 (gzio_mod_SOURCES): New variable.
34362 (gzio_mod_CFLAGS): Likewise.
34363
34364 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
34365 (pkgdata_MODULES): Added gzio.mod.
34366 (gzio_mod_SOURCES): New variable.
34367 (gzio_mod_CFLAGS): Likewise.
34368
34369 * commands/cat.c: Include grub/gzio.h.
34370 (grub_cmd_cat): Use grub_gzfile_open instead of
34371 grub_file_open.
f19dbdb7 34372
d9864ee1 34373 * commands/cmp.c: Include grub/gzio.h.
34374 (grub_cmd_cmp): Use grub_gzfile_open instead of
34375 grub_file_open.
34376
34377 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
34378 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
34379 grub_file_open.
34380 (grub_rescue_cmd_module): Likewise.
34381
fa46f4b5 343822005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
34383
34384 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
34385 kern/sparc64/ieee1275/init.c because it contains _start.
34386 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
34387
e9211b5d 343882005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
34389
34390 * configure.ac: Add support for sparc64 host with ieee1275
34391 firmware.
34392 * configure: Generated from configure.ac.
34393 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
34394 instead of int.
34395 (grub_ofdisk_read): Likewise.
34396 (grub_ofdisk_open): Use %p to print pointer values, and cast the
34397 pointers as (void *) to remove a warning.
34398 (grub_ofdisk_close): Likewise.
34399 (grub_ofdisk_read): Likewise.
34400 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
34401 returns, so make it return void to remove a warning.
34402 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
34403 Corresponding prototype change.
34404 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
34405 values, and cast the pointers as (void *) to remove a warning.
34406 (grub_mm_dump): Likewise.
34407 * conf/sparc64-ieee1275.mk: New file.
34408 * conf/sparc64-ieee1275.rmk: Likewise.
34409 * include/grub/sparc64/setjmp.h: Likewise.
34410 * include/grub/sparc64/types.h: Likewise.
34411 * include/grub/sparc64/ieee1275/console.h: Likewise.
34412 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
34413 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
34414 * include/grub/sparc64/ieee1275/time.h: Likewise.
34415 * kern/sparc64/cache.c: Likewise.
34416 * kern/sparc64/dl.c: Likewise.
34417 * kern/sparc64/ieee1275/init.c: Likewise.
34418 * kern/sparc64/ieee1275/openfw.c: Likewise.
34419
385c6a92 344202005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
34421
34422 * util/console.c (grub_ncurses_putchar): If C is greater than
34423 0x7f, set C to a question mark.
34424 (grub_ncurses_getcharwidth): New function.
34425 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
34426 getcharwidth.
34427
34428 * normal/menu.c (print_entry): Made aware of Unicode. First,
34429 convert TITLE to UCS-4, and predict the cursor position by
34430 grub_getcharwidth.
34431
34432 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
34433 const to SRC.
34434 * kern/misc.c (grub_utf16_to_utf8): Likewise.
34435
16ccb8b1 344362005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
34437
34438 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
34439 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
34440 grub_strcat.
34441
34442 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
34443 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
34444 grub_strcpy and grub_strlen. Take it into account that a space
34445 character is inserted as a delimiter.
34446
6a85ce79 344472005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
34448
34449 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 34450 invalid magic in the error.
6a85ce79 34451
34452 * commands/search.c: New file.
f19dbdb7 34453
6a85ce79 34454 * util/grub-emu.c (main): Call grub_search_init and
34455 grub_search_fini.
34456
34457 * kern/rescue.c (grub_rescue_print_disks): Removed.
34458 (grub_rescue_print_devices): New function.
34459 (grub_rescue_cmd_ls): Use grub_device_iterate with
34460 grub_rescue_print_devices instead of grub_disk_dev_iterate with
34461 grub_rescue_print_disks.
34462
34463 * kern/partition.c (grub_partition_iterate): Return the result of
34464 PARTMAP->ITERATE instead of GRUB_ERRNO.
34465
34466 * kern/device.c: Include grub/partition.h.
34467 (grub_device_iterate): New function.
34468
34469 * include/grub/partition.h (grub_partition_iterate): Return int
34470 instead of grub_err_t.
34471
34472 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
34473 prototype.
34474 [GRUB_UTIL] (grub_search_fini): Likewise.
34475
34476 * include/grub/device.h (grub_device_iterate): New prototype.
34477
34478 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
34479 commands/search.c.
34480 (pkgdata_MODULES): Added search.mod.
34481 (search_mod_SOURCES): New variable.
34482 (search_mod_CFLAGS): Likewise.
34483
34484 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
34485 (pkgdata_MODULES): Added search.mod.
34486 (search_mod_SOURCES): New variable.
34487 (search_mod_CFLAGS): Likewise.
34488
34489 * commands/ls.c (grub_ls_list_disks): Renamed to ...
34490 (grub_ls_list_devices): ... this, and use grub_device_iterate.
34491 All callers changed.
34492
34493 * DISTLIST: Added commands/search.c.
34494
ef095434 344952005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
34496
34497 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
34498 conversion.
34499 (grub_getcharwidth): New function.
34500
34501 * kern/misc.c (grub_utf8_to_ucs4): New function.
34502
34503 * include/grub/term.h (struct grub_term): Added a new member
34504 "getcharwidth".
34505 (grub_getcharwidth): New prototype.
34506
34507 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
34508
34509 * term/i386/pc/console.c (map_char): New function. Segregated from
34510 grub_console_putchar.
34511 (grub_console_putchar): Use map_char.
34512 (grub_console_getcharwidth): New function.
34513 (grub_console_term): Specified grub_console_getcharwidth as
34514 getcharwidth.
34515
34516 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
34517 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
34518
34519 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
34520 GRUB_ERRNO.
34521 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
34522 on grub_strtoul completely.
34523 (write_char): Declare local variables in the beginning of the
34524 function.
34525 (grub_vesafb_getcharwidth): New function.
34526 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
34527 getcharwidth.
34528
1f0a95e4 345292005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
34530
34531 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
34532 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
34533 commands/i386/pc/vbetest.c.
34534
34535 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
34536 call grub_vbe_get_controller_info again, because the returned
34537 information is volatile.
34538 (grub_vbe_set_video_mode): Mostly rewritten.
34539 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
34540 grub_vbe_status_t correctly.
34541 (grub_vbe_get_video_mode_info): Likewise.
34542 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
34543 several if statements.
34544
34545 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
34546 * commands/i386/pc/vbeinfo.c: ... this.
34547
34548 * commands/i386/pc/vbe_test.c: Renamed to ...
34549 * commands/i386/pc/vbetest.c: ... this.
34550
34551 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
34552 ...
34553 (grub_cmd_vbeinfo): ... this. Save video modes before
34554 iterating. Skip a video mode, if it is not available, not enough
34555 information is given or it is monochrome. Show the memory
34556 model. Leave the interpretation of MODEVAR to grub_strtoul
34557 completely.
34558 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
34559 (GRUB_MOD_FINI): Likewise.
34560
34561 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
34562 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
34563 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
34564 duplicated grub_env_get. Leave the interpretation of MODEVAR to
34565 grub_strtoul completely.
34566 (real2pm): Removed.
34567 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
34568 (GRUB_MOD_FINI): Likewise.
34569
34570 * normal/misc.c: Include grub/mm.h.
34571
34572 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
34573 vbe_list_modes with vbetest.mod and vbeinfo.mod.
34574 (vbe_list_modes_mod_SOURCES): Removed.
34575 (vbe_list_modes_mod_CFLAGS): Likewise.
34576 (vbe_test_mod_SOURCES): Likewise.
34577 (vbe_test_mod_CFLAGS): Likewise.
34578 (vbeinfo_mod_SOURCES): New variable.
34579 (vbeinfo_mod_CFLAGS): Likewise.
34580 (vbetest_mod_SOURCES): Likewise.
34581 (vbetest_mod_CFLAGS): Likewise.
34582
992ffbbe 345832005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
34584
34585 * normal/misc.c: New file.
34586
34587 * DISTLIST: Added normal/misc.c.
f19dbdb7 34588
992ffbbe 34589 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
34590 DISK to HOOK. Call HOOK with DISK.
34591 * partmap/apple.c (apple_partition_map_iterate): Likewise.
34592 * partmap/pc.c (pc_partition_map_iterate): Likewise.
34593 * partmap/sun.c (sun_partition_map_iterate): Likewise.
34594
34595 * normal/menu_entry.c (struct screen): Added a new member
34596 "completion_shown".
34597 (completion_buffer): New global variable.
34598 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
34599 (store_completion): New function.
34600 (complete): Likewise.
34601 (clear_completions): Likewise.
34602 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
34603 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
34604 a tab, call complete.
34605
34606 * normal/completion.c (disk_dev): Removed.
34607 (print_simple_completion): Likewise.
34608 (print_partition_completion): Likewise.
34609 (print_func): New global variable.
34610 (add_completion): Do not take the arguments WHAT or PRINT any
34611 longer. Added a new argument TYPE. Instead of printing directly,
34612 call PRINT_FUNC if not NULL.
34613 All callers changed.
34614 (complete_device): Use a local variable DEV instead of
34615 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
34616 (grub_normal_do_completion): Take a new argument HOOK. Do not
34617 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
34618 empty string, return NULL instead.
34619 All callers changed.
34620
34621 * normal/cmdline.c (print_completion): New function.
34622
34623 * kern/partition.c (grub_partition_iterate): Add an argument DISK
34624 to HOOK.
34625 All callers changed.
34626
34627 * kern/disk.c (grub_print_partinfo): Removed.
34628
34629 * include/grub/partition.h (struct grub_partition_map): Add a new
34630 argument DISK into HOOK of ITERATE.
34631 (grub_partition_iterate): Add a new argument DISK to HOOK.
34632
34633 * include/grub/normal.h (enum grub_completion_type): New enum.
34634 (grub_completion_type_t): New type.
34635 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
34636 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
34637 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
34638 (GRUB_COMPLETION_TYPE_FILE): Likewise.
34639 (grub_normal_do_completion): Added a new argument HOOK.
34640 (grub_normal_print_device_info): New prototype.
34641
34642 * include/grub/disk.h (grub_print_partinfo): Removed.
34643
34644 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
34645 (normal_mod_SOURCES): Likewise.
34646 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34647 (normal_mod_SOURCES): Likewise.
34648
34649 * commands/ls.c (grub_ls_list_disks): Use
34650 grub_normal_print_device_info instead of grub_print_partinfo. Free
34651 PNAME.
34652 (grub_ls_list_files): Use grub_normal_print_device_info instead of
34653 duplicating the code.
34654
0bd41162 346552005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
34656
34657 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 34658 follow GCS more precisely.
34659 * commands/i386/pc/vbe_test.c: Likewise.
34660 * include/grub/i386/pc/vbe.h: Likewise.
34661 * term/i386/pc/vesafb.c: Likewise.
34662 * video/i386/pc/vbe.c: Likewise.
0bd41162 34663
6323696a 346642005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
34665
34666 * DISTLIST: Added term/i386/pc/vesafb.c
34667 DISTLIST: Added video/i386/pc/vbe.c
34668 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
34669 DISTLIST: Added commands/i386/pc/vbe_test.c.
34670 * commands/i386/pc/vbe_list_modes.c: New file.
34671 * commands/i386/pc/vbe_test.c: Likewise.
34672 * term/i386/pc/vesafb.c: Likewise.
34673 * video/i386/pc/vbe.c: Likewise.
34674 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
34675 (grub_vbe_probe) Added prototype.
34676 (grub_vbe_set_video_mode) Likewise.
34677 (grub_vbe_get_video_mode) Likewise.
34678 (grub_vbe_get_video_mode_info) Likewise.
34679 (grub_vbe_set_pixel_rgb) Likewise.
34680 (grub_vbe_set_pixel_index) Likewise.
34681 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
34682 (pkgdata_MODULES): Added vesafb.mod.
34683 (pkgdata_MODULES): Added vbe_list_modes.mod.
34684 (pkgdata_MODULES): Added vbe_test.mod.
34685 (vbe_mod_SOURCES): Added.
34686 (vbe_mod_CFLAGS): Likewise.
34687 (vesafb_mod_SOURCES): Likewise.
34688 (vesafb_mod_CFLAGS): Likewise.
34689 (vbe_list_modes_mod_SOURCES): Likewise.
34690 (vbe_list_modes_mod_CFLAGS): Likewise.
34691 (vbe_test_mod_SOURCES): Likewise.
34692 (vbe_test_mod_CFLAGS): Likewise.
34693
0a74e62f 346942005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
34695
0a74e62f 34696 * normal/command.c (grub_command_execute): If INTERACTIVE is
34697 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
34698 CMDLINE. Disable the pager if INTERACTIVE is true.
34699 All callers are changed.
34700
34701 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
34702 before reading a config file.
34703 * normal/main.c (read_config_file): Even if a command is not
34704 found, register it if it is within an entry.
34705
34706 * util/grub-emu.c: Include sys/types.h and unistd.h.
34707 (options): Added --hold.
34708 (struct arguments): Added a new member "hold".
34709 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
34710 missing.
34711 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
34712 cleared by a debugger, if it is not zero.
34713
34714 * include/grub/normal.h (grub_command_execute): Add an argument
34715 INTERACTIVE.
34716
e51f85ae 347172005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
34718
34719 * DISTLIST: Added include/grub/i386/pc/vbe.h.
34720
e9c6f39b 347212005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
34722
34723 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
34724 program with another one, because the old one didn't detect a bug
34725 in gcc-3.4. Always use regparm 2, because the new test is still
34726 not enough for gcc-4.0. Someone must investigate a simple test
34727 case which detects a bug in gcc-4.0.
34728
8de3495c 347292005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
34730
34731 * DISTLIST: Added normal/completion.c.
34732
34733 * normal/completion.c: New file.
f19dbdb7 34734
8de3495c 34735 * term/i386/pc/console.c (grub_console_getwh): New function.
34736 (grub_console_term): Assign grub_console_getwh to getwh.
34737
34738 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
34739 function is defined in normal/completion.c as
34740 grub_normal_do_completion.
34741 (grub_cmdline_get): Use grub_normal_do_completion instead of
34742 grub_tab_complete.
34743
34744 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
34745 returns non-zero, otherwise return 0.
34746 (grub_partition_iterate): First, probe the partition map. Then,
34747 call ITERATE only for this partition map.
34748
34749 * kern/misc.c (grub_strncmp): Rewritten.
34750
34751 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
34752 returns non-zero. Otherwise return 0.
34753
34754 * include/grub/partition.h (grub_partition_map_iterate): Return
34755 int instead of void.
34756
34757 * include/grub/normal.h (grub_normal_do_completion): New prototype.
34758
34759 * include/grub/misc.h (grub_strncmp): Change the type of N to
34760 grub_size_t.
34761
34762 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
34763 of void.
34764
34765 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 34766 unsigned explicitly before comparing it with I.
8de3495c 34767
34768 * kern/main.c (grub_env_write_root): Add the attribute unused into
34769 VAR.
34770
34771 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
34772 normal/completion.c.
34773 (normal_mod_SOURCES): Likewise.
34774 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
34775 (normal_mod_SOURCES): Likewise.
34776
34777 * normal/command.c (grub_iterate_commands): If ITERATE returns
34778 non-zero, return one immediately.
34779
e85e144b 347802005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
34781
34782 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
34783 * kern/i386/pc/startup.S: Updated Global Descriptor table's
34784 descriptions.
34785 (grub_vbe_get_controller_info): New function.
34786 (grub_vbe_get_mode_info): Likewise.
34787 (grub_vbe_set_mode): Likewise.
34788 (grub_vbe_get_mode): Likewise.
34789 (grub_vbe_set_memory_window): Likewise.
34790 (grub_vbe_get_memory_window): Likewise.
34791 (grub_vbe_set_scanline_length): Likewise.
34792 (grub_vbe_get_scanline_length): Likewise.
34793 (grub_vbe_set_display_start): Likewise.
34794 (grub_vbe_get_display_start): Likewise.
34795 (grub_vbe_set_palette_data): Likewise.
34796 * include/grub/i386/pc/vbe.h: New file.
34797
c46153d2 347982005-08-08 Hollis Blanchard <hollis@penguinppc.org>
34799
34800 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
34801 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
34802 * DISTLIST: Likewise.
34803 * kern/ieee1275/of.c: Moved to ...
34804 * kern/ieee1275/ieee1275.c: ... here.
34805
0cb90c45 348062005-08-08 Hollis Blanchard <hollis@penguinppc.org>
34807
34808 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
34809 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
34810 Pass 0 as `end' parameter to grub_strtoul().
34811
a19fb360 348122005-08-08 Hollis Blanchard <hollis@penguinppc.org>
34813
34814 * include/grub/powerpc/ieee1275/console.h: Do not include
34815 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
34816 ifdef.
34817 (grub_console_cur_color): Remove i386-specific prototype.
34818 (grub_console_real_putchar): Likewise.
34819 (grub_console_checkkey): Likewise.
34820 (grub_console_getkey): Likewise.
34821 (grub_console_getxy): Likewise.
34822 (grub_console_gotoxy): Likewise.
34823 (grub_console_cls): Likewise.
34824 (grub_console_setcursor): Likewise.
34825 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
34826 Include <grub/machine/console.h>.
34827 * term/ieee1275/ofconsole.c: Likewise.
34828
4ac9bd04 348292005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
34830
34831 * Makefile.in (LIBLZO): New variable.
34832
34833 * configure.ac: Check for LZO version 2.
34834
34835 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
34836 lzo/lzo1x.h instead of lzo1x.h.
34837
34838 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
34839 of -llzo.
34840
34841 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
34842 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
34843
34844 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
34845 copying the data from PARTITION to P.
34846
f4917dfd 348472005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
34848
34849 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
34850 negative, unload the module.
34851
34852 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
34853 map is "pc_partition_map" but not "pc".
34854 (usage): Fix the description. The options are --boot-image and
34855 --core-image but not --boot-file or --core-file.
34856 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
34857 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
34858 DEFAULT_DIRECTORY.
34859
34860 * util/i386/pc/grub-install.in: Do not specify --boot-file or
34861 --core-file. Specify INSTALL_DEVICE as an argument.
34862
34863 * util/console.c: Include config.h.
34864 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
34865 [HAVE_NCURSES_H]: Include ncurses.h.
34866 [HAVE_CURSES_H]: Include curses.h.
34867 [!A_NORMAL] (A_NORMAL): Defined as zero.
34868 [!A_STANDOUT] (A_STANDOUT): Likewise.
34869
34870 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
34871 -lncurses.
34872 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
34873
34874 * configure.ac: Check for curses libraries and headers.
34875
34876 * Makefile.in (LIBCURSES): New variable.
34877
34878 * genmk.rb (Script::rule): Set the executable bits.
34879
34880 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
34881 name of the PC partition map is "pc_partition_map" but not "pc".
34882
0e143073 348832005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
34884
34885 * util/i386/pc/grub-install.in (grub_probefs): New variable.
34886 (modules): Likewise.
34887 (usage): Added descriptions for --modules and --grub-probefs.
34888 Handle --modules and --grub-probefs. Save the arguments in MODULES
34889 and GRUB_PROBEFS, respectively.
34890 Auto-detect a filesystem module against GRUBDIR. If the result is
34891 empty and modules are not specified explicitly, abort the
34892 installation. Add the result to MODULES.
34893
34894 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
34895 disk/powerpc/ieee1275/ofdisk.c,
34896 include/grub/powerpc/ieee1275/init.h and
34897 term/powerpc/ieee1275/ofconsole.c.
34898 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
34899 term/ieee1275/ofconsole.c.
34900
34901 * include/grub/powerpc/ieee1275/console.h: Resurrected.
34902
34903 * COPYING: Upgraded to the latest version. Only the address of the
34904 FSF office has changed.
f19dbdb7 34905
efd6e6d5 349062005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
34907
34908 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
34909 kern/ieee1275.c with kern/ieee1275/of.c.
34910
34911 * kern/ieee1275.c: Moved to ...
34912 * kern/ieee1275/of.c: ... here.
34913
8ceafda2 349142005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
34915
34916 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 34917 readability.
8ceafda2 34918
34919 * config.guess: Updated to the latest version from gnulib.
34920 * config.sub: Likewise.
34921 * install.sh: Likewise.
34922 * mkinstalldirs: Likewise.
34923
34924 * include/grub/console.h: Removed. This file is arch-specific. Do
34925 not put this in include/grub.
34926
34927 * include/grub/i386/pc/console.h: Resurrected.
34928
34929 * util/console.c: Include grub/machine/console.h instead of
34930 grub/console.h.
34931 * util/grub-emu.c: Likewise.
34932
267f6cd9 349332005-08-04 Marco Gerards <metgerards@student.han.nl>
34934
34935 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
34936 hardcoded value.
f19dbdb7 34937
267f6cd9 34938 From Vincent Pelletier <subdino2004@yahoo.fr>
34939 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
34940 Redefined to use grub_getwh.
34941 (grub_term): New member named getwh.
34942 (grub_getwh): New prototype.
34943 * kern/term.c (grub_getwh): New function.
34944 * term/i386/pc/console.c (grub_console_getwh): New function.
34945 (grub_console_term): New member `getwh'.
34946 * term/i386/pc/vga.c (grub_vga_getwh): New function.
34947 (grub_vga_term): New member `getwh'.
0b5abe02 34948 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 34949 grub_ssize_t.
34950 (grub_ofconsole_getw): New function.
34951 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
34952 (grub_ofconsole_term): New field named getwh and new initial
34953 value.
34954
3be7266d 349552005-08-03 Hollis Blanchard <hollis@penguinppc.org>
34956
34957 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
34958 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
34959 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
34960 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
34961 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
34962 of <grub/machine/ieee1275.h>.
34963 * commands/ieee1275/reboot.c: Likewise.
34964 * boot/powerpc/ieee1275/ieee1275.c: Move ...
34965 * kern/ieee1275.c: ... to here. All users updated. Change all
34966 parameter structs to use new type `grub_ieee1275_cell_t'.
34967 * term/powerpc/ieee1275/ofconsole.c: Move ...
34968 * term/ieee1275/ofconsole.c: ... to here. All users updated.
34969 * disk/powerpc/ieee1275/ofdisk.c: Move ...
34970 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
34971 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
34972 to return int.
34973 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
34974 Remove unused prototypes. All users updated.
34975 * include/grub/powerpc/ieee1275/console.h: Removed.
34976 * include/grub/powerpc/ieee1275/ieee1275.h: Define
34977 `grub_ieee1275_cell_t'.
34978 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
34979 Cast comparisons with -1 to the correct type.
34980 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
34981 type to match `grub_ieee1275_entry_fn'.
34982
8b5f3938 349832005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
34984
34985 * DISTLIST: Added util/i386/pc/grub-probefs.c.
34986
34987 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
34988 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
34989 partmap/sun.c.
34990 (grub_probefs_SOURCES): New variable.
34991
34992 * util/i386/pc/grub-probefs.c: New file.
34993
34994 * util/i386/pc/grub-setup.c (main): Call
34995 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
34996 grub_hfs_init and grub_jfs_init to initialize the system. Call
34997 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
34998 grub_pc_partition_map_fini to finish the system.
34999
ea409713 350002005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
35001
35002 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
35003 function.
35004 (grub_multiboot_load_elf32): Likewise.
35005 (grub_multiboot_is_elf64): Likewise.
35006 (grub_multiboot_load_elf64): Likewise.
35007 (grub_multiboot_load_elf): Likewise.
35008 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
35009 an ELF32 or ELF64 file.
35010 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
35011
35012 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
35013 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
35014 NULL before calling FS->LABEL.
35015 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
35016 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
35017 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
35018 before calling FS->LABEL.
35019
141a288b 350202005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
35021
35022 * util/i386/pc/grub-install.in (datadir): New variable.
35023 (libdir): Removed.
35024 (pkgdatadir): New variable.
35025 (pkglibdir): Removed.
35026
0d5f8a54 350272005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
35028
35029 * DISTLIST: Added util/i386/pc/grub-install.in.
35030
35031 * util/i386/pc/grub-install.in: New file.
35032
35033 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
35034 (grub_install_SOURCES): Likewise.
35035
35036 * genmk.rb: Added support for scripts.
35037 (Script): New class.
35038 (scripts): New variable.
35039
35040 * Makefile.in (install-local): Install sbin_SCRIPTS by
35041 INSTALL_SCRIPT.
35042 (uninstall): Remove sbin_SCRIPTS.
35043
35044 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
35045 device, try to get a GRUB device by
35046 grub_util_biosdisk_get_grub_dev.
35047 Free DEST_DEV.
35048
35049 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
35050 description for --device-map.
35051
5f968e1e 350522005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
35053
35054 Change the semantics of variable hooks. They now return strings
35055 instead of error values.
f19dbdb7 35056
5f968e1e 35057 * util/i386/pc/grub-setup.c: Include grub/env.h.
35058 (setup): Use grub_device_set_root instead of grub_env_set.
35059
35060 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
35061 grub_env_get instead of grub_device_set_root and
35062 grub_device_get_root, respectively.
35063
35064 * kern/main.c (grub_env_write_root): New function.
35065 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
35066 grub_env_set instead of grub_device_set_root.
35067
35068 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
35069 many variables.
35070 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
35071 rather than calling ENV->WRITE_HOOK afterwards.
35072 (grub_env_get): Return the result of ENV->READ_HOOK rather than
35073 passing a pointer of a pointer.
35074 (grub_register_variable_hook): Change the types of "read_hook" and
35075 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
35076 respectively.
35077 Allocate the default empty string on the heap, because this string
35078 may be freed later.
35079
35080 * kern/device.c: Include grub/env.h.
35081 (grub_device_set_root): Removed.
35082 (grub_device_get_root): Likewise.
35083 (grub_device_open): Use grub_env_get instead of
35084 grub_device_get_root.
35085
35086 * include/grub/env.h (grub_env_read_hook_t): New type.
35087 (grub_env_write_hook_t): Likewise.
35088 (grub_env_var): Change the types of "read_hook" and "write_hook"
35089 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
35090 (grub_register_variable_hook): Likewise.
35091
35092 * include/grub/device.h (grub_device_set_root): Removed.
35093 (grub_device_set_root): Likewise.
35094
35095 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
35096 make sure that DIRNAME terminates with '/', so that
35097 grub_fat_find_dir will fail if PATH is not a directory.
35098
35099 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
35100 from DIRNAME.
35101 Use the qualifier auto for print_files and print_files_long.
35102 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
35103 as a regular file.
35104 Put a newline only if there is no error.
35105 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
35106 used.
35107
896f0afd 351082005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
35109
35110 * kern/partition.c (grub_partition_probe): Initialize PART to
35111 NULL. Otherwise, when no partition map is registered, this returns
35112 a garbage.
35113
b28b81b2 351142005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
35115
35116 * partmap/apple.c (apple_partition_map_iterate): Check if POS
35117 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
35118 valid.
35119
5f3607e0 351202005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
35121
35122 * commands/ls.c (grub_ls_list_disks): Print the filesystem
35123 information on each device, if it does not have partitions. Print
35124 "Device" instead of "Disk", because this function is not specific
35125 to disk devices.
35126
35127 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
35128 static to ensure that it is put on the memory rather than a
35129 register.
35130
502c87e8 351312005-07-17 Yoshinori Okuji <okuji@enbug.org>
35132
35133 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
35134 (grub_cat_init): Likewise.
35135 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
35136 (options): Likewise.
35137 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
35138 (grub_configfile_init): Likewise.
35139 * font/manager.c (GRUB_MOD_INIT): Likewise.
35140 * commands/help.c (GRUB_MOD_INIT): Likewise.
35141 (grub_help_init): Likewise.
35142 * normal/command.c (grub_command_init): Likewise.
35143 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
35144 * disk/loopback.c (grub_loop_init): Likewise.
35145 (GRUB_MOD_INIT): Likewise.
35146 * commands/ls.c (grub_ls_init): Likewise.
35147 (GRUB_MOD_INIT): Likewise.
35148 (options): Likewise.
35149 * commands/boot.c (grub_boot_init): Likewise.
35150 (GRUB_MOD_INIT): Likewise.
35151 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
35152 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
35153 (GRUB_MOD_INIT): Likewise.
35154 * commands/cmp.c (grub_cmp_init): Likewise.
35155 (GRUB_MOD_INIT): Likewise.
35156
35157 * normal/arg.c: Use <> instead of "" to include header files.
35158 (SHORT_ARG_HELP): New macro.
35159 (SHORT_ARG_USAGE): Likewise.
35160 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
35161 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
35162 descriptions.
35163 (find_short): Check if C is 'h' or 'u' explicitly.
35164 (grub_arg_show_help): Use space characters instead of tabs. Treat
35165 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
35166 are shown with --help and --usage only if they are not used for
35167 the command itself.
35168 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
35169 'h' and 'u'.
35170
35171 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
35172 const into "longarg". Change the type of "shortarg" to int.
35173
f806d18e 351742005-07-17 Yoshinori Okuji <okuji@enbug.org>
35175
35176 * boot/i386/pc/boot.S (boot_drive_check): New label.
35177
35178 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
35179 macro.
35180
35181 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
35182 which do not pass a boot drive correctly. Copied from GRUB Legacy.
35183
e293232b 351842005-07-17 Yoshinori Okuji <okuji@enbug.org>
35185
35186 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
35187 When turning off Gate A20, skip the check and return immediately,
35188 because this is not fatal usually.
35189
ebedfd00 351902005-07-17 Yoshinori Okuji <okuji@enbug.org>
35191
35192 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
35193 be 0x7C00 instead of 0x8000.
35194
35195 * boot/i386/pc/pxeboot.S: Rewritten.
35196
35197 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
35198 EXT_C.
35199 (gate_a20_check_state): Read a byte from 0x108000. Invert the
35200 result.
35201
654fc59f 352022005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
35203
35204 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
35205 robustness. This routine now supports a BIOS call and System
35206 Control Port A to modify the gate A20.
35207
35208 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
35209 Increased to 0x440.
35210
09f9923f 352112005-07-12 Hollis Blanchard <hollis@penguinppc.org>
35212
35213 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
35214 device path and resulting ihandle.
35215 (grub_ofdisk_close): dprintf the ihandle being closed.
35216 (grub_ofdisk_read): dprintf function parameters.
35217 * kern/mm.c (grub_mm_init_region): Likewise.
35218 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
35219 (grub_linux_boot): dprintf the Linux entry point, initrd address and
35220 size, and boot arguments.
35221 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
35222 before loading into memory.
35223 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
35224 before loading into memory.
35225
7ef504d8 352262005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
35227
35228 * kern/mm.c: Added much documentation.
35229 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
35230 8, set to 5 instead of 8.
35231
e0f050c2 352322005-07-10 Yoshinori Okuji <okuji@enbug.org>
35233
35234 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
35235
35236 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
35237 (grub_mkdevicemap_SOURCES): New variable.
35238
35239 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
35240 lib/device.c of GRUB Legacy.
35241
7224189a 352422005-07-10 Yoshinori Okuji <okuji@enbug.org>
35243
35244 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
35245 instead of PATH is NULL.
35246
68c864eb 352472005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
35248
35249 * commands/cmp.c (BUFFER_SIZE): New macro.
35250 (grub_cmd_cmp): Close the right file at the right time. Compare
35251 only data just read. Don't report files of different size as
35252 identical. Dynamically allocate buffers. Move variable
35253 declarations at the beginning of function.
35254
e6f3e614 352552005-07-09 Yoshinori Okuji <okuji@enbug.org>
35256
35257 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
35258 reverse.
35259
f8f1559a 352602004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
35261
35262 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
35263 when backspace is pressed at beginning of line.
35264
39c9d41d 352652005-07-03 Yoshinori Okuji <okuji@enbug.org>
35266
35267 * DISTLIST: Added genfslist.sh.
35268
35269 * normal/main.c (fs_module_list): New variable.
35270 (autoload_fs_module): New function.
35271 (read_fs_list): Likewise.
35272 (grub_normal_execute): Call read_fs_list.
35273
35274 * kern/fs.c (grub_fs_autoload_hook): New variable.
35275 (grub_fs_probe): Added support for auto-loading.
35276
35277 * include/grub/normal.h (struct grub_fs_module_list): New struct.
35278 (grub_fs_module_list_t): New type.
35279
35280 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
35281 (grub_fs_autoload_hook): New prototype.
35282
35283 * genfslist.sh: New file.
f19dbdb7 35284
39c9d41d 35285 * genmk.rb: Added a rule to generate a filesystem list.
35286
121c1d83 352872005-06-30 Marco Gerards <metgerards@student.han.nl>
35288
35289 * configure.ac: Fix the test for cross-compiling.
35290
35291 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
35292 define GRUB_UTIL anymore.
35293
35294 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
35295 so this function works on other systems than just big endian.
35296 (load_modules): Likewise.
35297 (add_segments): Likewise.
35298
e75d76e1 352992005-06-23 Hollis Blanchard <hollis@penguinppc.org>
35300
35301 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
35302 contains `l' modifier, get a long from va_arg().
35303
50b5a0a7 353042005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
35305
35306 * kern/mm.c (grub_free): If the next free block which is being
35307 merged is the first free block, set the first block to the block
35308 being freed.
35309 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
35310
89371b20 353112005-05-08 Hollis Blanchard <hollis@penguinppc.org>
35312
35313 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
35314 `grub_ieee1275_chosen'.
35315
168d6e58 353162005-05-08 Hollis Blanchard <hollis@penguinppc.org>
35317
35318 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
35319 (grub_ieee1275_chosen): New variable.
35320 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
35321 `chosen'.
35322 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
35323 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
35324 Rename first argument to `phandle' for consistency.
35325 (grub_ieee1275_get_property_length): Likewise.
35326 (grub_ieee1275_next_property): Likewise. Change type of first argument
35327 to grub_ieee1275_phandle_t.
35328 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
35329 Move export next to declaration.
35330 (grub_ieee1275_chosen): New variable.
35331 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
35332 Correct cosmetic typo.
35333 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
35334 `grub_ieee1275_chosen'.
35335 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
35336 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
35337 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
35338 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
35339 `grub_ieee1275_chosen'.
35340
ca5baa3f 353412005-05-10 Hollis Blanchard <hollis@penguinppc.org>
35342
35343 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
35344 /chosen/bootargs.
35345 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
35346 /chosen/bootargs as "variable=value" pairs.
35347
708b345f 353482005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
35349
35350 * include/grub/misc.h (grub_dprintf): New macro.
35351 (grub_real_dprintf): New prototype.
35352 (grub_strword): Likewise.
35353 (grub_iswordseparator): Likewise.
35354 * kern/misc.c (grub_real_dprintf): New function.
35355 (grub_strword): Likewise.
35356 (grub_iswordseparator): Likewise.
35357
f4c5e67c 353582005-04-30 Hollis Blanchard <hollis@penguinppc.org>
35359
35360 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
35361 (roundup): Remove macro.
35362 (grub_ieee1275_flags): Make static.
35363 (grub_ieee1275_realmode): Remove.
35364 (grub_ieee1275_test_flag): New function.
35365 (grub_ieee1275_set_flag): Likewise.
35366 (find_options): Rename to `grub_ieee1275_find_options'; update
35367 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
35368 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
35369 (cmain): New prototype.
35370 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
35371 `grub_ieee1275_flags' directly.
35372 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
35373 machine/biosdisk.h.
35374 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
35375 Don't include grub/machine/init.h.
35376 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
35377 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
35378 Remove prototype.
35379 (grub_ieee1275_realmode): Likewise.
35380 (grub_ieee1275_flag): New enum.
35381 (grub_ieee1275_test_flag): New prototype.
35382 (grub_ieee1275_set_flag): New prototype.
35383 * include/grub/powerpc/ieee1275/init.h: Remove file.
35384 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
35385 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
35386 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
35387 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
35388 comment.
35389 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
35390 `grub_ieee1275_test_flag'.
35391 (grub_ieee1275_encode_devname): Likewise.
35392
ed16607e 353932005-04-21 Hollis Blanchard <hollis@penguinppc.org>
35394
35395 * include/grub/powerpc/ieee1275/ieee1275.h
35396 (grub_ieee1275_encode_devname): New prototype.
35397 (grub_ieee1275_get_filename): Likewise.
35398 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
35399 function.
35400 (grub_set_prefix): Likewise.
35401 (grub_machine_init): Call grub_set_prefix.
35402 * kern/powerpc/ieee1275/openfw.c: Fix typos.
35403 (grub_parse_type): New enum.
35404 (grub_ieee1275_get_devargs): New function.
35405 (grub_ieee1275_get_devname): Likewise.
35406 (grub_ieee1275_parse_args): Likewise.
35407 (grub_ieee1275_get_filename): Likewise.
35408 (grub_ieee1275_encode_devname): Likewise.
35409
be369920 354102005-03-30 Marco Gerards <metgerards@student.han.nl>
35411
35412 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
35413 `grub_loader_unset'.
35414
a5ce3a4a 354152005-03-26 Hollis Blanchard <hollis@penguinppc.org>
35416
35417 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
35418 instead of grub_ieee1275_interpret.
35419 (grub_halt_init): New function.
35420 (grub_halt_fini): Likewise.
35421 (GRUB_MOD_INIT): Correct message grammar.
35422 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
35423 instead of grub_ieee1275_interpret.
35424 (grub_reboot_init): New function.
35425 (grub_reboot_fini): Likewise.
35426 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
35427 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
35428 util/i386/pc/misc.c with commands/ieee1275/halt.c,
35429 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
35430 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
35431 function.
35432 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
35433 Add prototype.
35434 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
35435 prototype.
35436 (grub_halt): Likewise.
35437 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
35438 (cmain): Remove __attribute__((unused)).
35439 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
35440 (grub_heap_len): Likewise.
35441 (grub_machine_fini): New function.
35442 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
35443 (grub_halt): Likewise.
35444 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
35445 function.
35446 * util/powerpc/ieee1275/misc.c: New file.
35447
0058f771 354482005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
35449
35450 * DISTLIST: New file.
35451 * gendistlist.sh: Likewise.
f19dbdb7 35452
0058f771 35453 * Makefile.in (COMMON_DISTFILES): Removed.
35454 (BOOT_DISTFILES): Likewise.
35455 (CONF_DISTFILES): Likewise.
35456 (DISK_DISTFILES): Likewise.
35457 (FS_DISTFILES): Likewise.
35458 (INCLUDE_DISTFILES): Likewise.
35459 (KERN_DISTFILES): Likewise.
35460 (LOADER_DISTFILES): Likewise.
35461 (TERM_DISTFILES): Likewise.
35462 (UTIL_DISTFILES): Likewise.
35463 (DISTFILES): Likewise.
35464 (uninstall): Uninstall files in $(pkgdata_DATA).
35465 (DISTLIST): New target.
35466 (distdir): Use the contents of the file DISTLIST to get a list of
35467 distributed files.
35468
46b3b8a5 354692005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
35470
35471 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
35472 descriptor. This is ported from GRUB Legacy.
35473
35474 * gencmdlist.sh: Added an extra semicolon to make it work with
35475 old sed versions. Reported by Robert Bihlmeyer
35476 <robbe@orcus.priv.at>.
35477
5822ff87 354782005-03-08 Yoshinori Okuji <okuji@enbug.org>
35479
35480 Automatic loading of commands is supported.
f19dbdb7 35481
5822ff87 35482 * normal/main.c (read_command_list): New function.
35483 (grub_normal_execute): Call read_command_list.
35484
35485 * normal/command.c (grub_register_command): Return zero or CMD.
35486 Allocate CMD->NAME from the heap.
35487 Initialize CMD->MODULE_NAME to zero.
35488 Find the same name as well. If the same command is found and it is
35489 a dummy command, overwrite members. If it is not a dummy command,
35490 return zero.
35491 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
35492 (grub_command_find): If a dummy command is found, load a module
35493 and retry to find a command only once.
35494
35495 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
35496 make sure that each command is loaded.
35497
35498 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
35499 macro.
35500 (struct grub_command): Remove const from the member `name'.
35501 Add a new member `module_name'.
35502 (grub_register_command): Return grub_command_t.
35503
35504 * commands/help.c (grub_cmd_help): Call grub_command_find to make
35505 sure that each command is loaded.
35506
35507 * genmk.rb (PModule::rule): Specify a module name without the
35508 suffix ".mod" to gencmdlist.sh.
35509
7b1f4b57 355102005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
35511
35512 * gencmdlist.sh: New file.
f19dbdb7 35513
7b1f4b57 35514 * genmk.rb (PModule::rule): Generate a rule for a command list.
35515 Clean command.lst.
35516 Generate command.lst from $(COMMANDFILES).
35517
35518 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
35519 (DATA): Added $(pkgdata_DATA).
35520 (install-local): Install files in $(pkgdata_DATA).
35521
062aaf39 355222005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
35523
35524 * term/i386/pc/vga.c (debug_command): Removed.
35525 (GRUB_MOD_INIT): Do not register the command "debug".
35526
35527 From Hollis Blanchard:
35528 * commands/configfile.c: New file.
35529 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
35530 commands/configfile.c.
35531 (pkgdata_MODULES): Added configfile.mod.
35532 (configfile_mod_SOURCES): New variable.
35533 (configfile_mod_CFLAGS): Likewise.
35534 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
35535 commands/configfile.c.
35536 (pkgdata_MODULES): Added configfile.mod.
35537 (configfile_mod_SOURCES): New variable.
35538 (configfile_mod_CFLAGS): Likewise.
35539 * util/grub-emu.c (main): Call grub_configfile_init and
35540 grub_configfile_fini.
35541 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
35542 prototype.
35543 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 35544
cee01aa6 355452005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
35546
35547 * normal/arg.c (grub_arg_show_help): Do not show the bug report
35548 address.
35549
35550 * commands/help.c (grub_cmd_help): Do not print newlines after
35551 the last command in print_command_help.
35552
93f3a1d8 355532005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
35554
35555 * commands/default.h: New file.
35556 * commands/timeout.h: Likewise.
35557 * normal/context.c: Likewise.
f19dbdb7 35558
93f3a1d8 35559 * util/misc.c: Do not include sys/times.h.
35560 Include sys/time.h and grub/machine/time.h.
35561 (grub_get_rtc): Rewritten with gettimeofday.
35562
35563 * util/grub-emu.c (main): Call grub_default_init and
35564 grub_timeout_init before grub_normal_init, and call
35565 grub_timeout_fini and grub_default_fini after grub_main.
35566
35567 * util/console.c (grub_ncurses_checkkey): Return the read
35568 character or -1.
35569
35570 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
35571 timeouts.
35572
35573 * normal/main.c (read_config_file): Push MENU. If this fails,
35574 print an error and wait for a user input.
35575 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
35576 If a menu is empty or an error occurs, pop MENU.
35577 (grub_normal_execute): Pop and free MENU after grub_menu_run
35578 returns.
35579
35580 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
35581
35582 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
35583 include time.h.
35584 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
35585 without GRUB_UTIL.
35586 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
35587 time.h.
35588 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
35589 without GRUB_UTIL.
35590
35591 * include/grub/normal.h (struct grub_menu_list): New struct.
35592 (grub_menu_list_t): New type.
35593 (struct grub_context): New struct.
35594 (grub_context_t): New type.
35595 (grub_register_command): Got rid of EXPORT_FUNC.
35596 (grub_unregister_command): Likewise.
35597 (grub_context_get): New prototype.
35598 (grub_context_get_current_menu): Likewise.
35599 (grub_context_push_menu): Likewise.
35600 (grub_context_pop_menu): Likewise.
35601 [GRUB_UTIL] (grub_default_init): Likewise.
35602 [GRUB_UTIL] (grub_default_fini): Likewise.
35603 [GRUB_UTIL] (grub_timeout_init): Likewise.
35604 [GRUB_UTIL] (grub_timeout_fini): Likewise.
35605
35606 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
35607 commands/timeout.c and normal/context.c.
35608 (pkgdata_MODULES): Added default.mod and timeout.mod.
35609 (normal_mod_SOURCES): Added normal/context.c.
35610 (default_mod_SOURCES): New variable.
35611 (default_mod_CFLAGS): Likewise.
35612 (timeout_mod_SOURCES): Likewise.
35613 (timeout_mod_CFLAGS): Likewise.
35614 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
35615 conf/i386-pc.rmk.
35616 (pkgdata_MODULES): Added default.mod and timeout.mod.
35617 (normal_mod_SOURCES): Added normal/context.c.
35618 (default_mod_SOURCES): New variable.
35619 (default_mod_CFLAGS): Likewise.
35620 (timeout_mod_SOURCES): Likewise.
35621 (timeout_mod_CFLAGS): Likewise.
35622
35623 * Makefile.in (all-local): Added $(MKFILES).
35624
4ed2e1dd 356252005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
35626
35627 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
35628 (grub_emu_SOURCES): Likewise.
35629 (pkgdata_MODULES): Add `sun.mod'.
35630 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
35631 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
35632 `partmap/sun.c'.
35633 (pkgdata_MODULES): Add `sun.mod'.
35634 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
35635 * include/grub/partition.h (grub_sun_partition_map_init): New
35636 prototype.
35637 (grub_sun_partition_map_fini): Likewise.
35638 * partmap/sun.c: New file.
35639 * util/grub-emu.c (main): Initialize and de-initialize the sun
35640 partitionmap support.
35641
4d4e372e 356422005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
35643
35644 This implements an Emacs-like menu entry editor.
f19dbdb7 35645
4d4e372e 35646 * normal/menu_entry.c: New file.
f19dbdb7 35647
4d4e372e 35648 * util/console.c (grub_ncurses_putchar): Translate some Unicode
35649 characters to ASCII.
35650 (saved_char): New variable.
35651 (grub_ncurses_checkkey): Rewritten completely.
35652 (grub_ncurses_getkey): Likewise.
35653 (grub_ncurses_init): Call raw instead of cbreak.
35654
35655 * normal/menu.c (print_entry): Do not put a space.
35656 (init_page): Renamed to ...
35657 (grub_menu_init_page): ... this. All callers changed.
35658 (edit_menu_entry): Removed.
35659 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
35660
35661 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
35662
35663 * kern/misc.c (grub_vprintf): Call grub_refresh.
35664
35665 * normal/menu.c (DISP_LEFT): Renamed to ...
35666 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
35667 * normal/menu.c (DISP_UP): Renamed to ...
35668 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
35669 * normal/menu.c (DISP_RIGHT): Renamed to ...
35670 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
35671 * normal/menu.c (DISP_DOWN): Renamed to ...
35672 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
35673 * normal/menu.c (DISP_HLINE): Renamed to ...
35674 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
35675 * normal/menu.c (DISP_VLINE): Renamed to ...
35676 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
35677 * normal/menu.c (DISP_UL): Renamed to ...
35678 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
35679 * normal/menu.c (DISP_UR): Renamed to ...
35680 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
35681 * normal/menu.c (DISP_LL): Renamed to ...
35682 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
35683 * normal/menu.c (DISP_LR): Renamed to ...
35684 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
35685 * normal/menu.c (TERM_WIDTH): Renamed to ...
35686 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
35687 * normal/menu.c (TERM_HEIGHT): Renamed to ...
35688 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
35689 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
35690 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
35691 * normal/menu.c (TERM_MARGIN): Renamed to ...
35692 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
35693 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
35694 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
35695 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
35696 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
35697 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
35698 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
35699 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
35700 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
35701 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
35702 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
35703 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
35704 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
35705 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
35706 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
35707 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
35708 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
35709 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
35710 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
35711 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
35712 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
35713 All callers changed.
35714
35715 * include/grub/normal.h: New prototype.
35716
35717 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
35718 normal/menu_entry.c.
35719 (normal_mod_SOURCES): Likewise.
35720 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35721 (normal_mod_SOURCES): Likewise.
35722
e6b92c8a 357232005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
35724
35725 * include/grub/normal.h (grub_halt_init): New prototype.
35726 (grub_halt_fini): Likewise.
35727 (grub_reboot_init): Likewise.
35728 (grub_reboot_fini): Likewise.
35729
35730 * util/grub-emu.c: Include signal.h.
35731 (main_env): New global variable.
35732 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
35733 catch C-c.
35734 (grub_machine_fini): New function.
35735 (main): Call grub_halt_init and grub_reboot_init before
35736 grub_main, and grub_reboot_fini and grub_halt_fini after it.
35737 Call setjmp with MAIN_ENV to go back afterwards.
35738 Call grub_machine_fini right before return.
35739
35740 * include/grub/util/misc.h: Include setjmp.h.
35741 (main_env): New prototype.
35742
35743 * include/grub/kernel.h (grub_machine_fini): New prototype.
35744 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
35745 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
35746
35747 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
35748 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
35749 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 35750
e6b92c8a 35751 * util/i386/pc/misc.c: New file.
f19dbdb7 35752
e6b92c8a 35753 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
35754 util/i386/pc/misc.c, commands/i386/pc/halt.c and
35755 commands/i386/pc/reboot.c.
35756
c642636f 357572005-02-14 Guillem Jover <guillem@hadrons.org>
35758
35759 * include/grub/dl.h (grub_dl_check_header): New prototype.
35760 (grub_arch_dl_check_header): Change return type to grub_err_t,
35761 remove size parameter and export function. Update all callers.
35762 * kern/dl.c (grub_dl_check_header): New function.
35763 (grub_dl_load_core): Use `grub_dl_check_header' instead of
35764 `grub_arch_dl_check_header'. Check ELF type. Check if sections
35765 are inside the core.
35766 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
35767 independent ELF header checks.
35768 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
35769 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
35770 `grub_dl_check_header' instead of explicit checks. Check for the
35771 ELF type.
35772 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
35773 `grub_dl_check_header' instead of explicit checks. Remove arch
35774 specific ELF header checks.
35775
e6b92c8a 35776 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
35777 argument SIZE.
35778
5eabe94b 357792005-02-13 Hollis Blanchard <hollis@penguinppc.org>
35780
35781 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
35782 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
35783
1b14a681 357842005-02-12 Hollis Blanchard <hollis@penguinppc.org>
35785
35786 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 35787 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 35788 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 35789 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 35790 * partmap/amiga.c (amiga_partition_map_iterate): Return
35791 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
35792 * partmap/apple.c (apple_partition_map_iterate): Likewise.
35793
aca108aa 357942005-02-01 Guillem Jover <guillem@hadrons.org>
35795
35796 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
35797 help info.
35798
c9f9c556 357992005-01-31 Marco Gerards <metgerards@student.han.nl>
35800
35801 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
35802 Removed prototype.
35803 (grub_rescue_cmd_linux): New prototype.
35804 (grub_rescue_cmd_initrd): Likewise.
35805 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
35806 `bi_rec'.
35807 (grub_linux_release_mem): Release the memory for the initrd.
35808 (grub_load_linux): Renamed from this...
35809 (grub_rescue_cmd_linux): ...To this. Changed all callers.
35810 Changed `entry' not to be static. Loop over memory regions to
35811 find another one when the default fails.
35812 (grub_rescue_cmd_initrd): New function.
35813 (grub_linux_init): Remove function.
35814 (grub_linux_fini): Likewise.
35815 (GRUB_MOD_INIT): Register `initrd'.
35816 (GRUB_MOD_FINI): Unregister `initrd'.
35817 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
35818 Function removed.
35819 (grub_linux_normal_fini): Likewise.
35820 (GRUB_MOD_INIT): Register `initrd'.
35821 (GRUB_MOD_FINI): Unregister `initrd'.
35822
990cf3aa 358232005-01-31 Marco Gerards <metgerards@student.han.nl>
35824
35825 * commands/help.c: New file.
35826 * normal/arg.c (show_help): Renamed to...
35827 (grub_arg_show_help): ... this.
35828 * commands/i386/pc/halt.c: New file.
35829 * commands/i386/pc/reboot.c: Likewise.
35830 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
35831 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
35832 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
35833 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
35834 variables.
35835 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
35836 `commands/help.c'.
35837 (pkgdata_MODULES): Add `help.mod'.
35838 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
35839 * grub/i386/pc/init.h (grub_reboot): New prototype.
35840 (grub_halt): Likewise.
35841 * include/grub/normal.h (grub_arg_show_help): New prototype.
35842 (grub_help_init): Likewise.
35843 (grub_help_fini): Likewise.
35844 * util/grub-emu.c (main): Initialize and deinitialize the help
35845 command.
35846
35847 * normal/cmdline.c (grub_cmdline_get): Doc fix.
35848
35849 * normal/command.c (grub_command_init): Fixed the description of
35850 the `set' and `unset' commands.
35851
358522005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 35853
35854 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
35855 function.
35856 * commands/ieee1275/halt.c: New file.
35857 * commands/ieee1275/reboot.c: Likewise.
35858 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
35859 `__attribute__ ((unused))'. Some GCS related fixed.
35860 (grub_suspend_init) [GRUB_UTIL]: Function removed.
35861 (grub_suspend_fini): Likewise.
35862 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
35863 and `halt.mod'.
35864 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
35865 (halt_mod_CFLAGS): New variables.
35866 * include/grub/powerpc/ieee1275/ieee1275.h
35867 (grub_ieee1275_interpret): New prototype.
35868
1ab09cc7 358692005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
35870
35871 * include/grub/misc.h (memmove): New prototype.
35872 (memcpy): Likewise.
35873
8b8cbdb2 358742005-01-22 Hollis Blanchard <hollis@penguinppc.org>
35875
35876 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
35877 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
35878
e3741a27 358792005-01-22 Marco Gerards <metgerards@student.han.nl>
35880
35881 * kern/misc.c (grub_strndup): Function rewritten.
35882
776bd780 358832005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
35884
35885 * normal/menu.c (TERM_WIDTH): Macro redefined.
35886 (TERM_TOP_BORDER_Y): Likewise.
35887 (draw_border): Replaced while-loop by a for-loop. Make the number
35888 of lines consistent with the number of lines displayed in
35889 print_entries. Added a margin below the rectangle.
35890 (print_entry): Make the entry fit in the rectangle.
35891 (print_entries): Display the scroll arrows next to the right
35892 border.
35893
78026bce 358942005-01-21 Marco Gerards <metgerards@student.han.nl>
35895
35896 * fs/minix.c (grub_minix_find_file): Reserve more space for
35897 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
35898 `grub_strncpy' to copy `path' into it.
35899
67bbaf0f 359002005-01-21 Marco Gerards <metgerards@student.han.nl>
35901
35902 Add the loopback device, a device via which files can be accessed
35903 as devices.
f19dbdb7 35904
67bbaf0f 35905 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
35906 (pkgdata_MODULES): Add loopback.mod.
35907 (loopback_mod_SOURCES): New variable.
35908 (loopback_mod_CFLAGS): Likewise.
35909 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
35910 `disk/loopback.c'.
35911 (pkgdata_MODULES): Add loopback.mod.
35912 (loopback_mod_SOURCES): New variable.
35913 (loopback_mod_CFLAGS): Likewise.
35914 * disk/loopback.c: new file.
35915 * include/grub/normal.h (grub_loop_init): New prototype.
35916 (grub_loop_fini): New prototype.
35917 * util/grub-emu.c (main): Initialize and de-initialize loopback
35918 support.
35919 * include/grub/disk.h (grub_disk_dev_id): Add
35920 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
35921
6f1c18bd 359222005-01-20 Hollis Blanchard <hollis@penguinppc.org>
35923
35924 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
35925 function.
35926 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
35927 (suspend_mod_SOURCES): New variable.
35928 (suspend_mod_CFLAGS): Likewise.
35929 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
35930 New prototype.
35931 * commands/ieee1275/suspend.c: New file.
35932
b38551da 359332005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
35934
35935 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 35936 ((unused))' to `__attribute__ ((used))'.
b38551da 35937 (GRUB_MOD_FINI): Likewise.
35938 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
35939 * genmk.rb (PModule): Assign space to common symbols when linking
35940 modules.
35941
777aff39 359422005-01-20 Marco Gerards <metgerards@student.han.nl>
35943
35944 * include/grub/mm.h (grub_mm_init_region): Change the type of the
35945 `unsigned' arguments to `grub_size_t'.
35946 (grub_malloc): Likewise.
35947 (grub_realloc): Likewise.
35948 (grub_memalign): Likewise.
35949 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
35950 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
35951 * util/misc.c (grub_malloc): Likewise.
35952 (grub_realloc): Likewise.
35953 * kern/mm.c (get_header_from_pointer): Change the casts to
35954 `unsigned' into a cast to `grub_size_t'.
35955
35956 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
35957 point to `currnode' when `currnode' is changed.
35958
35959 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
35960 Schottelius <nico-linux@schottelius.org>.
35961
d0ff18e1 359622005-01-09 Hollis Blanchard <hollis@penguinppc.org>
35963
35964 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
35965 (note_path): Remove variable.
35966 (GRUB_IEEE1275_NOTE_NAME): New macro.
35967 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
35968 (grub_ieee1275_note_hdr): New structure.
35969 (grub_ieee1275_note_desc): Likewise.
35970 (grub_ieee1275_note): Likewise.
35971 (load_note): Remove `dir' argument. All callers updated. Remove
35972 `note_img' and `path'. Do not load a file from `note_path'.
35973 Initialize a struct grub_ieee1275_note and write that to `out'.
35974 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
35975
4ca7004c 359762005-01-05 Marco Gerards <metgerards@student.han.nl>
35977
35978 * util/misc.c (grub_util_read_image): Revert last change. It
35979 called `grub_util_read_at', which seeks from the beginning of the
35980 file.
35981
0b412211 359822005-01-04 Hollis Blanchard <hollis@penguinppc.org>
35983
35984 * TODO: Add note about endianness in grub-mkimage.
35985 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
35986 section.
35987 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
35988 (grub_mkimage_SOURCES): New target.
35989 * include/grub/kernel.h (grub_start_addr): Remove variable.
35990 (grub_end_addr): Likewise.
35991 (grub_total_module_size): Likewise.
35992 (grub_kernel_image_size): Likewise.
35993 (GRUB_MODULE_MAGIC): New constant.
35994 (grub_module_info): New structure.
35995 (grub_arch_modules_addr): New prototype.
35996 (grub_get_end_addr): Remove prototype.
35997 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
35998 * include/grub/powerpc/ieee1275/kernel.h: New file.
35999 * include/grub/util/misc.h (grub_util_get_fp_size): New
36000 prototype.
36001 (grub_util_read_at): Likewise.
36002 (grub_util_write_image_at): Likewise.
36003 * kern/main.c (grub_get_end_addr): Remove function.
36004 (grub_load_modules): Call grub_arch_modules_addr instead of using
36005 grub_end_addr. Look for a grub_module_info struct in memory. Use
36006 the grub_module_info fields instead of calling grub_get_end_addr
36007 as loop conditions. Move grub_add_unused_region code here.
36008 (grub_add_unused_region): Remove function.
36009 * kern/i386/pc/init.c: Include grub/cache.h.
36010 (grub_machine_init): Remove call to grub_get_end_addr. Remove
36011 one call to add_mem_region.
36012 (grub_arch_modules_addr): New function.
36013 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
36014 (grub_total_module_size): Likewise.
36015 Include grub/machine/kernel.h.
36016 (grub_arch_modules_addr): New function.
36017 * util/grub-emu.c (grub_end_addr): Remove variable.
36018 (grub_total_module_size): Likewise.
36019 (grub_arch_modules_addr): New function.
36020 * util/misc.c: Include unistd.h.
36021 (grub_util_get_fp_size): New function.
36022 (grub_util_read_at): Likewise.
36023 (grub_util_write_image_at): Likewise.
36024 (grub_util_read_image): Call grub_util_read_at.
36025 (grub_util_write_image): Call grub_util_write_image_at.
36026 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
36027 additional memory in kernel_img for a struct grub_module_info.
36028 Fill in that grub_module_info.
36029 * util/powerpc/ieee1275/grub-mkimage.c: New file.
36030
458786f8 360312005-01-03 Hollis Blanchard <hollis@penguinppc.org>
36032
36033 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
36034 New function.
36035 * include/grub/powerpc/ieee1275/ieee1275.h
36036 (grub_ieee1275_milliseconds): New prototype.
36037 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
36038 Change to 1000.
36039 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
36040 grub_ieee1275_milliseconds.
36041
ac507d1b 360422005-01-03 Hollis Blanchard <hollis@penguinppc.org>
36043
36044 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
36045 variable.
36046 (find_options): New function.
36047 (cmain): Call find_options.
36048 * include/grub/powerpc/ieee1275/ieee1275.h
36049 (grub_ieee1275_realmode): New extern variable.
36050 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
36051 grub_map if grub_ieee1275_realmode is false.
36052
6b8fd1c4 360532004-12-29 Marco Gerards <metgerards@student.han.nl>
36054
36055 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
36056 lines are inserted and make it work like readline. Reported by
36057 Vincent Pelletier <subdino2004@yahoo.fr>.
36058
8514a1e0 360592004-12-28 Marco Gerards <metgerards@student.han.nl>
36060
36061 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
36062
36063 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
36064 `kern/powerpc/cache.S'.
36065
924b6140 360662004-12-27 Marco Gerards <metgerards@student.han.nl>
36067
36068 * genmk.rb: Handle the `Program' class in the main loop. Written
36069 by Johan Rydberg <jrydberg@gnu.org>.
36070 (Program): New class.
36071 (programs): New variable.
36072 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
36073 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
36074 instead of "grub/kernel.h". Include <grub/machine/init.h>.
36075 (help_arch): Function removed.
36076 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
36077 `powerpc/libgcc.h' and `loader.h'.
36078 (pkgdata_PROGRAMS): New variable.
36079 (sbin_UTILITIES): Variable removed.
36080 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
36081 (grubof_SOURCES): Variable re-defined so it only includes the
36082 core functionality.
36083 (grubof_CFLAGS): Remove `-DGRUBOF'.
36084 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
36085 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
36086 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
36087 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
36088 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
36089 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
36090 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
36091 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
36092 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
36093 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
36094 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
36095 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
36096 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
36097 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
36098 (pc_mod_CFLAGS): New variables.
36099 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
36100 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
36101 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
36102 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
36103 Moved from here...
36104 * include/grub/i386/pc/init.h (grub_os_area_addr)
36105 (rub_os_area_size): ... to here.
36106 * include/grub/powerpc/ieee1275/ieee1275.h
36107 (grub_ieee1275_entry_fn): Export symbol.
36108 * include/grub/powerpc/ieee1275/init.h: New file.
36109 * include/grub/powerpc/libgcc.h: Likewise.
36110 * include/grub/cache.h: Likewise.
36111 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
36112 <hollis@penguinppc.org>.
36113 * kern/dl.c: Include <grub/cache.h>.
36114 (grub_dl_flush_cache): New function.
36115 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
36116 for this module.
36117 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
36118 (grub_console_init): Removed prototypes.
36119 (grub_machine_init): Don't initialize the modules anymore.
36120 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
36121 static.
36122 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
36123 Macro undef removed.
36124 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
36125 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
36126 relocation `R_PPC_REL32'. Return an error when the relocation is
36127 unknown.
36128 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
36129 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
36130 * util/misc.c (grub_arch_sync_caches): Likewise.
36131
e4b47e0c 361322004-12-19 Marco Gerards <metgerards@student.han.nl>
36133
36134 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
36135 `symlist.c', add `grubof_symlist.c'.
36136 (symlist.c): Variable removed.
36137 (grubof_HEADERS): Variable added.
36138 (grubof_symlist.c): New target.
36139 (kernel_syms.lst): Use `grubof_HEADERS' instead of
36140 `kernel_img_HEADERS'.
36141 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
36142 * kern/powerpc/dl.c: New file.
36143 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
36144 Function removed.
36145 (grub_arch_dl_relocate_symbols): Likewise.
36146 (grub_register_exported_symbols): Likewise.
36147
4ceb3636 361482004-12-13 Marco Gerards <metgerards@student.han.nl>
36149
36150 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
36151 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
36152 to fail instead. Reported by Vincent Pelletier
36153 <subdino2004@yahoo.fr>.
36154
36155 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
36156 it is not allocated. Reported by Vincent Pelletier
36157 <subdino2004@yahoo.fr>.
36158
36159 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
36160 output so the output looks better.
f19dbdb7 36161
3f1578fe 361622004-12-04 Marco Gerards <metgerards@student.han.nl>
36163
36164 Modulize the partition map support and add support for the amiga
36165 partition map.
f19dbdb7 36166
3f1578fe 36167 * commands/ls.c: Include <grub/partition.h> instead of
36168 <grub/machine/partition.h>.
36169 * kern/disk.c: Likewise.
36170 * kern/rescue.c: Likewise.
36171 * loader/i386/pc/chainloader.c: Likewise.
36172 * normal/cmdline.c: Likewise.
36173 * kern/powerpc/ieee1275/init.c: Likewise.
36174 (grub_machine_init): Call `grub_pc_partition_map_init',
36175 `grub_amiga_partition_map_init' and
36176 `grub_apple_partition_map_init'.
36177 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
36178 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
36179 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
36180 `partition.h' and `pc_partition.h'.
36181 (grub_setup_SOURCES): Remove
36182 `disk/i386/pc/partition.c'. Add `kern/partition.c',
36183 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
36184 (grub_emu_SOURCES): Likewise.
36185 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
36186 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
36187 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
36188 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
36189 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
36190 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
36191 (grubof_SOURCES): Likewise.
36192 * disk/i386/pc/partition.c: File removed.
36193 * disk/powerpc/ieee1275/partition.c: Likewise.
36194 * include/grub/powerpc/ieee1275/partition.h: Likewise.
36195 * include/grub/i386/pc/partition.h: Likewise.
36196 * kern/partition.c: New file.
36197 * partmap/amiga.c: Likewise.
36198 * partmap/apple.c: Likewise.
36199 * partmap/pc.c: Likewise.
36200 * include/grub/partition.h: Likewise..
36201 * include/grub/pc_partition.h: Likewise.
36202 * util/grub-emu.c: Include <grub/partition.h> instead of
36203 <grub/machine/partition.h>.
36204 (main): Call `grub_pc_partition_map_init',
36205 `grub_amiga_partition_map_init' and
36206 `grub_apple_partition_map_init' and deinitialize afterwards.
36207 * util/i386/pc/biosdisk.c: Include `#include
36208 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
36209 `<grub/machine/partition.h>'.
36210 * util/i386/pc/grub-setup.c: Likewise.
36211 * util/i386/pc/biosdisk.c: Likewise.
36212 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
36213 partition information in case of a PC partition.
36214 * util/i386/pc/grub-setup.c: Include `#include
36215 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
36216 `<grub/machine/partition.h>'.
36217 (setup): Only access the PC specific partition information in case
36218 of a PC partition.
36219
0ef4ced9 362202004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 36221
0ef4ced9 36222 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
36223 (grub_longjmp): Likewise.
36224 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
36225 20.
36226 * normal/powerpc/setjmp.S: New file.
36227 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
36228 `normal/powerpc/setjmp.S'.
36229 (grubof_CFLAGS): Add `-DGRUBOF'.
36230 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
36231 [GRUB_UTIL && !GRUBOF].
f19dbdb7 36232
19950e29 362332004-11-16 Marco Gerards <metgerards@student.han.nl>
36234
36235 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
36236 property named `name'. Correctly handle the error returned by
36237 `grub_ieee1275_finddevice' if a device can not be opened.
36238
a2fea427 362392004-11-02 Hollis Blanchard <hollis@penguinppc.org>
36240
36241 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
36242 `actual' for negativity.
36243 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
36244 kern/fshelp.c.
36245
41ea0ea3 362462004-11-01 Marco Gerards <metgerards@student.han.nl>
36247
36248 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
36249 (PAGE_OFFSET): New macro.
36250 (CRTC_ADDR_PORT): Likewise.
36251 (CRTC_DATA_PORT): Likewise.
36252 (START_ADDR_HIGH_REGISTER): Likewise.
36253 (START_ADDR_LOW_REGISTER): Likewise.
36254 (GRAPHICS_ADDR_PORT): Likewise.
36255 (GRAPHICS_DATA_PORT): Likewise.
36256 (READ_MAP_REGISTER): Likewise.
36257 (INPUT_STATUS1_REGISTER): Likewise.
36258 (INPUT_STATUS1_VERTR_BIT): Likewise.
36259 (page): New variable.
36260 (wait_vretrace): New function.
36261 (set_read_map): Likewise.
36262 (set_start_address): Likewise.
36263 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
36264 the right page.
36265 (check_vga_mem): Take the page into account.
36266 (write_char): Likewise.
36267 (write_cursor): Likewise.
36268 (scroll_up): Likewise. Copy the page to the page that is not
36269 shown and switch between both pages.
36270 (grub_vga_putchar): Fix off by one error.
36271 (grub_vga_cls): Wait for the vertical retrace. Take the page into
36272 account.
36273
ad0bd20b 362742004-11-01 Marco Gerards <metgerards@student.han.nl>
36275
36276 Add support for iso9660 (including rockridge).
f19dbdb7 36277
ad0bd20b 36278 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
36279 (iso9660_mod_SOURCES): New variable.
36280 (iso9660_mod_CFLAGS): Likewise.
36281 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
36282 * include/grub/fs.h (grub_iso9660_init): New prototype.
36283 * util/grub-emu.c (main): Call `grub_iso9660_init'.
36284 * fs/iso9660.c: New file.
36285
36286 * include/grub/misc.h (grub_strncat): New prototype.
36287 * kern/misc.c (grub_strncat): New function.
f19dbdb7 36288
ad0bd20b 36289 * fs/hfs.c (grub_hfs_mount): Translate the error
36290 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
36291 * fs/jfs.c (grub_jfs_mount): Likewise.
36292 * fs/ufs.c (grub_ufs_mount): Likewise.
36293
a5477a59 362942004-10-28 Hollis Blanchard <hollis@penguinppc.org>
36295
36296 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
36297 which initialized BAT registers.
36298 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
36299 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
36300 Move from here...
36301 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
36302 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
36303 ... to here.
36304 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
36305 (grub_mapclaim): Likewise.
36306 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
36307 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
36308 hand.
36309
9304c1f8 363102004-10-19 Hollis Blanchard <hollis@penguinppc.org>
36311
36312 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
36313 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
36314 -ffreestanding and -msoft-float.
36315
86f4ae25 363162004-10-15 Hollis Blanchard <hollis@penguinppc.org>
36317
36318 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
36319 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
36320 set in grub_ieee1275_flags.
36321
38912228 363222004-10-14 Hollis Blanchard <hollis@penguinppc.org>
36323
36324 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
36325 prototype.
36326 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
36327 grub_console_init first.
36328 Change the memory range used for grub_ieee1275_claim and
36329 grub_mm_init_region.
36330 Print an error message if the claim fails.
36331 Include <grub/misc.h>.
36332
d1923dc8 363332004-10-13 Hollis Blanchard <hollis@penguinppc.org>
36334
36335 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
36336 Call grub_children_iterate for device nodes of type `scsi',
36337 `ide', or `ata'.
36338 (grub_ofdisk_open): Remove manual device alias resolution.
36339 Fix memory leak when device cannot be opened.
f19dbdb7 36340 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 36341 (grub_children_iterate): New prototype.
36342 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
36343 New function.
36344 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
36345 Return -1 if args.size was -1.
36346
4512e4f3 363472004-10-11 Hollis Blanchard <hollis@penguinppc.org>
36348
36349 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
36350 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
36351 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
36352 Open Firmware's memory for it; claim memory from _start to _end.
36353 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
36354 (_end): New extern.
36355 (_start): Zero BSS from __bss_start to _end.
36356 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
36357 New extern.
36358 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
36359
4d61feb0 363602004-10-11 Hollis Blanchard <hollis@penguinppc.org>
36361
ad0bd20b 36362 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
36363 -1 if args.base was -1.
4d61feb0 36364
026fa2f9 363652004-10-08 Hollis Blanchard <hollis@penguinppc.org>
36366
36367 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
36368 escape sequence instead of a literal ^L. Also call
36369 grub_ofconsole_gotoxy.
36370
9f2220ef 363712004-10-03 Hollis Blanchard <hollis@penguinppc.org>
36372
36373 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
36374 void * arguments to grub_addr_t. All callers updated. Also make
36375 the `result' argument optional.
36376 (grub_ieee1275_release): change void * arguments to grub_addr_t.
36377 All callers updated.
36378
8a572cd7 363792004-09-22 Hollis Blanchard <hollis@penguinppc.org>
36380
36381 * commands/ls.c (grub_ls_list_files): Use the string following the
36382 initial ')', if present, as the filesystem path.
36383 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
36384
36385 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
36386
18aa81f2 363872004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
36388
36389 Make the source code of the menu interface more readable.
f19dbdb7 36390
18aa81f2 36391 * normal/menu.c: Include grub/mm.h.
36392 (TERM_WIDTH): New macro.
36393 (TERM_HEIGHT): Likewise.
36394 (TERM_INFO_HEIGHT): Likewise.
36395 (TERM_MARGIN): Likewise.
36396 (TERM_SCROLL_WIDTH): Likewise.
36397 (TERM_TOP_BORDER_Y): Likewise.
36398 (TERM_LEFT_BORDER_X): Likewise.
36399 (TERM_BORDER_WIDTH): Likewise.
36400 (TERM_MESSAGE_HEIGHT): Likewise.
36401 (TERM_BORDER_HEIGHT): Likewise.
36402 (TERM_NUM_ENTRIES): Likewise.
36403 (TERM_FIRST_ENTRY_Y): Likewise.
36404 (TERM_ENTRY_WIDTH): Likewise.
36405 (TERM_CURSOR_X): Likewise.
36406 (draw_border): Use macros instead of magic numbers.
36407 (print_entry): Likewise.
36408 (print_entries): Likewise.
36409 (run_menu): Likewise. Also, handle the key 'e'.
36410 (run_menu_entry): Ignore empty command lines.
36411 (print_message): Added a new argument EDIT. If EDIT is true,
36412 print a different message.
36413 (init_page): Likewise.
36414 (edit_menu_entry): New function. Not implemented yet.
36415
b47efe30 364162004-09-17 Marco Gerards <metgerards@student.han.nl>
36417
36418 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
36419 can be loaded from normal mode.
f19dbdb7 36420
b47efe30 36421 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
36422 `multiboot.mod'.
36423 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
36424 (multiboot_mod_CFLAGS): New variables.
36425 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 36426 * loader/i386/pc/multiboot_normal.c: Likewise.
36427
b47efe30 36428 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
36429 attribute `unused'.
f19dbdb7 36430
b47efe30 36431 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
36432 `fdiro' to read the mode information from instead of `diro'.
36433
36434 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
36435 looking up a symlink.
36436
36437 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
36438 macro.
36439 * normal/command.c (grub_command_execute): Don't parse the
36440 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
36441 flags of the command.
36442
36443 * normal/menu.c (grub_menu_run): Fix typo.
36444
da75ac71 364452004-09-14 Hollis Blanchard <hollis@penguinppc.org>
36446
36447 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
36448
36449 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
36450 `y + 1' instead of `y - 1'.
36451
36452 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 36453
062b24c2 364542004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
36455
36456 From Hollis Blanchard <hollis@penguinppc.org>:
36457 * kern/misc.c (memmove): New alias for grub_memmove.
36458 (memcmp): New alias for grub_memcmp.
36459 (memset): New alias for grub_memset.
f19dbdb7 36460 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 36461 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 36462 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 36463 (grub_ieee1275_get_property): Likewise.
f19dbdb7 36464
8ddad845 364652004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
36466
36467 Added normal mode command `chainloader' as module chain.mod, which
36468 depends on normal.mod and _chain.mod.
f19dbdb7 36469
8ddad845 36470 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
36471 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
36472 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
36473 Deleted prototype.
36474 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
36475 but arguments parsing moved to ...
36476 (grub_chainloader_cmd): ... here. New function.
36477 * include/grub/i386/pc/chainloader.h: New file.
36478 * loader/i386/pc/chainloader_normal.c: Likewise.
36479
2c1f4ce3 364802004-09-11 Marco Gerards <metgerards@student.han.nl>
36481
36482 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
36483 (grub_mkimage_LDFLAGS): Likewise.
36484 (grub_emu_SOURCES): Likewise.
36485 (kernel_img_HEADERS): Added fshelp.h.
36486 * fs/ext2.c: Include <grub/fshelp.h>.
36487 (FILETYPE_REG): New macro.
36488 (FILETYPE_INO_REG): Likewise.
36489 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
36490 Changed all users.
36491 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
36492 all users.
36493 (grub_fshelp_node): New struct.
36494 (grub_ext2_data): Added member `diropen'. Changed member `inode'
36495 to a pointer.
36496 (grub_ext2_get_file_block): Removed function.
36497 (grub_ext2_read_block): New function.
36498 (grub_ext2_read_file): Replaced parameter `data' by `node'.
36499 This function was written.
36500 (grub_ext2_mount): Read the root inode. Create a diropen struct.
36501 (grub_ext2_find_file): Removed function.
36502 (grub_ext2_read_symlink): New function.
36503 (grub_ext2_iterate_dir): Likewise.
36504 (grub_ext2_open): Rewritten.
36505 (grub_ext2_dir): Rewritten.
36506 * include/grub/fshelp.h: New file.
36507 * fs/fshelp.c: Likewise.
36508
3c52136a 365092004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
36510
36511 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
36512 (print_message): Add a missing newline.
36513 (run_menu): Added timeout support.
36514 (run_menu_entry): New local function.
36515 (grub_menu_run): Added support for booting.
36516
36517 * kern/loader.c (grub_loader_is_loaded): New function.
36518
36519 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
36520 (grub_get_rtc): Exported.
36521
36522 * include/grub/i386/pc/time.h: Include grub/symbol.h.
36523 (grub_get_rtc): Exported.
36524
36525 * include/grub/normal.h (struct grub_command_list): Remove
36526 constant from the member `command'.
36527
36528 * include/grub/loader.h (grub_loader_is_loaded): Declared.
36529
36530 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
36531
36532 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
36533
aa033560 365342004-08-28 Marco Gerards <metgerards@student.han.nl>
36535
36536 Add support for the JFS filesystem.
36537
36538 * fs/jfs.c: New file.
36539 * include/grub/fs.h (grub_jfs_init): New prototype.
36540 (grub_jfs_fini): New prototype.
36541 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
36542 (grub_emu_SOURCES): Likewise.
36543 (pkgdata_MODULES): Add jfs.mod.
36544 (jfs_mod_SOURCES): New variable.
36545 (jfs_mod_CFLAGS): Likewise.
36546 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
36547 (grubof_SOURCES): Likewise.
36548 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
36549
36550 * fs/fat.c (grub_fat_find_dir): Convert the filename little
36551 endian to the host endian.
36552 (grub_fat_utf16_to_utf8): Move function from there...
36553 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 36554 the endianness of the source string anymore.
aa033560 36555 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
36556
94bc45af 365572004-08-24 Marco Gerards <metgerards@student.han.nl>
36558
36559 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
36560 (grub_boot_fini) [GRUB_UTIL]: Likewise.
36561 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
36562 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 36563
94bc45af 36564 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
36565 (grub_hfs_iterate_dir): Make the function static. Add prototypes
36566 for `node_found' and `it_dir'.
36567 (grub_hfs_dir): Add prototype for `dir_hook'.
36568
36569 * fs/minix.c (grub_minix_get_file_block): Add prototype for
36570 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
36571 and `indir32' to silence a gcc warning.
36572
36573 * include/grub/fs.h (grub_hfs_init): New prototype.
36574 (grub_hfs_fini): Likewise.
f19dbdb7 36575
36576
97543f08 365772004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
36578
36579 Each disk device has its own id now. This is useful to make use
36580 of multiple disk devices.
f19dbdb7 36581
97543f08 36582 * include/grub/disk.h (grub_disk_dev_id): New enum.
36583 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
36584 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
36585
36586 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
36587 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
36588
36589 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
36590 GRUB_DISK_DEVICE_OFDISK_ID as an id.
36591
36592 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
36593 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
36594
36595 * include/grub/disk.h (struct grub_disk_dev): Added a new member
36596 "id" which is used by the cache manager.
36597
36598 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
36599 of just "GRUB".
36600
64372eb4 366012004-08-18 Marco Gerards <metgerards@student.han.nl>
36602
36603 * fs/hfs.c: New file.
36604 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
36605 (grub_emu_SOURCES): Likewise.
36606 (pkgdata_MODULES): Add hfs.mod.
36607 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
36608 (grubof_SOURCES): Likewise.
36609 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
36610
36611 * include/grub/misc.h (grub_strncasecmp): Add prototype.
36612 * kern/misc.c (grub_strncasecmp): Add function.
36613
cc61b58f 366142004-08-14 Marco Gerards <metgerards@student.han.nl>
36615
36616 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
36617 with parentheses.
36618
36619 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
36620 (grub_ext2_dir): In case the directory entry type is unknown, read
36621 it from the inode.
36622
0ef123f6 366232004-08-02 Peter Bruin <pjbruin@dds.nl>
36624
36625 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
36626 grub_load_linux instead of grub_rescue_cmd_linux as second
36627 argument of grub_rescue_register_command.
36628
36629 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
36630
a447c5df 366312004-07-27 Marco Gerards <metgerards@student.han.nl>
36632
36633 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
36634 function.
36635 * commands/boot.c: Remove the check for `GRUB_UTIL'.
36636 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
36637 `loader/powerpc/ieee1275/linux.c',
36638 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
36639 * include/grub/powerpc/ieee1275/ieee1275.h
36640 (grub_ieee1275_release): New prototype.
36641 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
36642 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
36643 normal, boot, linux and linux_normal.
36644 * loader/powerpc/ieee1275/linux.c: New file.
36645 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
36646
5a9e3546 366472004-07-12 Marco Gerards <metgerards@student.han.nl>
36648
36649 * normal/arg.c (grub_arg_parse): Correct error handling after
36650 reallocating the argumentlist (check if `argl' is not null instead
36651 of checking if `args' is not null).
36652 * kern/mm.c (grub_realloc): Return the same pointer when using the
36653 same region, instead of returning the header address.
36654
e15199cb 366552004-07-11 Marco Gerards <metgerards@student.han.nl>
36656
36657 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
36658 one block instead of two when looking for the initial partition.
36659 (grub_partition_probe): Initialize the local variable `p' with 0.
36660 Use base 10 for the grub_strtoul call.
36661 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
36662 need for one local variable.
36663 (grub_strtoul): Don't add the new value to `num', instead of that
36664 just assign it.
36665
020616c2 366662004-07-11 Marco Gerards <metgerards@student.han.nl>
36667
36668 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
36669 (pxeboot_img_SOURCES): New variable.
36670 (pxeboot_img_ASFLAGS): Likewise.
36671 (pxeboot_img_LDFLAGS): Likewise.
36672 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
36673 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
36674 <lode_leroy@hotmail.com>.
36675
6c51eb64 366762004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
36677
36678 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
36679 there was no input.
36680
cfb12aff 366812004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
36682
36683 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
36684 the history buffer logic.
36685
6eabba74 366862004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
36687
36688 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
36689 (FILETYPE_INO_SYMLINK): New macros.
36690 (grub_ext2_find_file): Check if the node is a directory using the
36691 inode stat information instead of using the filetype in the
36692 dirent. Exclude the first character of an absolute symlink.
36693 (grub_ext2_dir): Mask out the filetype part of the mode member of
36694 the inode.
36695
66e19ef8 366962004-05-24 Marco Gerards <metgerards@student.han.nl>
36697
36698 Add support for UFS version 1 and 2. Add support for the minix
36699 filesystem version 1 and 2, both the variants with 14 and 30 long
36700 filenames.
f19dbdb7 36701
66e19ef8 36702 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
36703 fs/minix.c.
36704 (grub_emu_SOURCES): Likewise.
36705 (pkgdata_MODULES): Add ufs.mod and minix.mod.
36706 (ufs_mod_SOURCES): New variable.
36707 (ufs_mod_CFLAGS): Likewise.
36708 (minix_mod_SOURCES): Likewise.
36709 (minix_mod_CFLAGS): Likewise.
36710 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
36711 fs/minix.c.
36712 (grubof_SOURCES): Likewise.
36713 * fs/ufs.c: New file.
36714 * fs/minix.c: New file.
36715 * include/grub/fs.h (grub_ufs_init): New prototype.
36716 (grub_ufs_fini): Likewise.
36717 (grub_minix_init): Likewise.
36718 (grub_minix_fini): Likewise.
36719 * util/grub-emu.c (main): Initialize and deinitialize UFS and
36720 minix fs.
36721
cc2e748a 367222004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
36723
36724 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
36725 commands/ls.c, commands/terminal.c, commands/boot.c,
36726 commands/cmp.c and commands/cat.c.
36727 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
36728
36729 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
36730 "env.h"
36731
4b13b216 367322004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
36733
36734 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
36735 and grub_, respectively. Because the conversion is trivial and
36736 mechanical, I omit the details here. Please refer to the CVS
36737 if you need more information.
36738
6a142551 367392004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
36740
36741 * include/pupa: Renamed to ...
36742 * include/grub: ... this.
36743 * util/i386/pc/pupa-mkimage.c: Renamed to ...
36744 * util/i386/pc/grub-mkimage.c: ... this.
36745 * util/i386/pc/pupa-setup.c: Renamed to ...
36746 * util/i386/pc/grub-setup.c: ... this.
36747 * util/pupa-emu.c: Renamed to ...
36748 * util/grub-emu.c: ... this.
36749
e56cdf21 367502004-03-29 Marco Gerards <metgerards@student.han.nl>
36751
36752 Add support for the newworld apple macintosh (PPC). This has been
36753 tested on the powerbook 2000 only. It only adds support for
36754 generic ieee1275 functions, console and disk support. This should
36755 be easy to port to other architectures with support for Open
36756 Firmware.
f19dbdb7 36757
e56cdf21 36758 * configure.ac: Accept the powerpc as host_cpu. In the case of
36759 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
36760 specific tests are only executed while building for the i386.
36761 Inverse test for crosscompile.
36762 * genmk.rb (Utility): Allow assembler files.
36763 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
36764 * conf/powerpc-ieee1275.rmk: New file.
36765 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
36766 * disk/powerpc/ieee1275/partition.c: Likewise.
36767 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
36768 * include/pupa/powerpc/ieee1275/console.h: Likewise.
36769 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
36770 * include/pupa/powerpc/ieee1275/time.h: Likewise.
36771 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
36772 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
36773 * include/pupa/powerpc/ieee1275/loader.h
36774 * include/pupa/powerpc/setjmp.h: Likewise.
36775 * include/pupa/powerpc/types.h: Likewise.
36776 * kern/powerpc/ieee1275/init.c: Likewise.
36777 * kern/powerpc/ieee1275/openfw.c: Likewise.
36778 * term/powerpc/ieee1275/ofconsole.c: Likewise.
36779
36780 These files were written by Johan Rydberg
36781 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 36782
e56cdf21 36783 * boot/powerpc/ieee1275/cmain.c: New file.
36784 * boot/powerpc/ieee1275/crt0.S: Likewise.
36785 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
36786 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
36787
8c8cc205 367882004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
36789
36790 * Makefile.in: Update copyright.
36791 * genmodsrc.sh: Likewise.
36792 * gensymlist.sh: Likewise.
36793 * term/i386/pc/vga.c: Indent correctly.
36794
36795 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
36796 bugreporting address.
36797 * util/i386/pc/pupa-setup.c (usage): Likewise,
36798 (main): Call pupa_ext2_init and pupa_ext2_fini.
36799
f19dbdb7 36800 * fs/fat.c (log2): Renamed to ...
8c8cc205 36801 (fat_log2): ... this.
36802 All callers changed.
36803 * kern/misc.c (memcpy): Alias to pupa_memmove.
36804 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
36805 lvalue cast.
36806 * util/console.c (pupa_ncurses_fini): Return 0.
36807
36808 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
36809 Move fail label here.
36810 [__GNU__]: Don't warn when using stat.
36811 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
36812 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
36813 long int. Use strtol instead of strtoul.
f19dbdb7 36814
db1771cf 368152004-03-14 Marco Gerards <metgerards@student.han.nl>
36816
36817 * commands/boot.c: New file.
36818 * commands/cat.c: Likewise.
36819 * commands/cmp.c: Likewise.
36820 * commands/ls.c: Likewise.
36821 * commands/terminal.c: Likewise.
36822 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
36823 (pupa_register_command): Changed interface to match the new
36824 argument parser.
36825 (pupa_command_execute): Changed (almost rewritten) so it uses
36826 pupa_split_command. Added support for setting variables using the
36827 syntax `foo=bar'.
36828 (rescue_command): Changed to work with the new argument parser.
36829 (terminal_command): Moved from here to commands/terminal.c.
36830 (set_command): New function.
36831 (unset_command): New function.
36832 (insmod_command): New function.
36833 (rmmod_command): New function.
36834 (lsmod_command): New function.
36835 (pupa_command_init): Don't initialize the command terminal
36836 anymore. Initialize the commands set, unset, insmod, rmmod and
36837 lsmod.
36838 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
36839 (kernel_img_HEADERS): Add arg.h and env.h.
36840 (pupa_mkimage_LDFLAGS): Add kern/env.c.
36841 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
36842 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
36843 normal/arg.c.
36844 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
36845 terminal.mod.
36846 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
36847 (boot_mod_SOURCES): New variable.
36848 (terminal_mod_SOURCES): Likewise.
36849 (ls_mod_SOURCES): Likewise.
36850 (cmp_mod_SOURCES): Likewise.
36851 (cat_mod_SOURCES): Likewise.
36852
36853 * normal/arg.c: New file.
36854 * kern/env.c: Likewise.
36855 * include/pupa/arg.h: Likewise.
36856 * include/pupa/env.h: Likewise.
36857 * font/manager.c (font_command): Changed to match argument parsing
36858 interface changes.
36859 (PUPA_MOD_INIT): Likewise.
36860 * hello/hello.c (pupa_cmd_hello): Likewise.
36861 (PUPA_MOD_INIT): Likewise.
36862 * include/pupa/disk.h: Include <pupa/device.h>.
36863 (pupa_print_partinfo): New prototype.
36864 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
36865 (pupa_dl_get_prefix): Likewise.
36866 * include/pupa/misc.h: Include <pupa/err.h>.
36867 (pupa_isgraph): New prototype.
36868 (pupa_isdigit): Likewise.
36869 (pupa_split_cmdline): Likewise.
36870 * include/pupa/normal.h: Include <pupa/arg.h>.
36871 (pupa_command): Changed the prototype of the member `func' to
36872 match the argument parsing interface. Added member `options'.
36873 (pupa_register_command): Updated to match function.
36874 (pupa_arg_parse): New prototype.
36875 (pupa_hello_init) [PUPA_UTIL]: New prototype.
36876 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
36877 (pupa_ls_init) [PUPA_UTIL]: Likewise.
36878 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
36879 (pupa_cat_init) [PUPA_UTIL]: Likewise.
36880 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
36881 (pupa_boot_init) [PUPA_UTIL]: Likewise.
36882 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
36883 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
36884 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
36885 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
36886 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
36887 * kern/disk.c: Include <pupa/file.h>.
36888 (pupa_print_partinfo): New function.
36889 * kern/dl.c: Include <pupa/env.h>.
36890 (pupa_dl_dir): Variable removed.
36891 (pupa_dl_load): Use the environment variable `prefix' instead of
36892 the variable pupa_dl_dir.
36893 (pupa_dl_set_prefix): Function removed.
36894 (pupa_dl_get_prefix): Likewise.
36895 * kern/i386/pc/init.c: Include <pupa/env.h>.
36896 (pupa_machine_init): Use the environment variable `prefix' instead of
36897 using pupa_dl_set_prefix to set the prefix.
36898 * kern/main.c: Include <pupa/env.h>.
36899 (pupa_set_root_dev): Use the environment variable `prefix' instead of
36900 using pupa_dl_get_prefix to get the prefix.
36901 * kern/misc.c: Include <pupa/env.h>.
36902 (pupa_isdigit): New function.
36903 (pupa_isgraph): Likewise.
36904 (pupa_ftoa): Likewise.
36905 (pupa_vsprintf): Added support for printing values of the type
36906 `double'. Make it possible to format variable output when using
36907 formatting like `%1.2%f'.
36908 (pupa_split_cmdline): New function.
36909 * kern/rescue.c: Include <pupa/env.h>.
36910 (next_word): Removed function.
36911 (pupa_rescue_cmd_prefix): Likewise.
36912 (pupa_rescue_cmd_set): New function.
36913 (pupa_rescue_cmd_unset): New function.
36914 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
36915 split the command line instead of splitting it here. Added
36916 support for setting variables using the syntax `foo=bar'. Don't
36917 initialize the prefix command anymore. Initialized the set and
36918 unset commands.
36919 * normal/cmdline.c: Include <pupa/env.h>.
36920 (pupa_tab_complete): Added prototypes for print_simple_completion,
36921 print_partition_completion, add_completion, iterate_commands,
36922 iterate_dev, iterate_part and iterate_dir. Moved code to print
36923 partition information from here to kern/disk.c.
fe6b695a 36924 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 36925 * normal/main.c: Include <pupa/env.h>.
36926 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
36927 instead of using pupa_dl_get_prefix to get the prefix.
36928 * term/i386/pc/vga.c: Include <pupa/arg.h>.
36929 (check_vga_mem): Cast pointers to `void *' to silence a gcc
36930 warning.
36931 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
36932 (pupa_vga_setcolor): Declare unused variables with `__attribute__
36933 ((unused))' to silence a gcc warning.
36934 (pupa_vga_setcolor): Likewise.
36935 (debug_command): Changed to match argument parsing
36936 interface changes.
36937 * util/pupa-emu.c: Include <pupa/env.h>.
36938 (options): Added 0's for unused fields to silence a gcc warning.
36939 (argp): Likewise.
36940 (main): Use the environment variable `prefix' instead of using
36941 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
36942 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
36943 and terminal.
36944
36945 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
36946 * util/misc.c: Include <malloc.h>.
36947 (pupa_malloc): Rewritten so errors are correctly reported.
36948 (pupa_realloc): Likewise.
36949 (pupa_memalign): Likewise.
36950 (pupa_mm_init_region): Declare unused variables with
36951 `__attribute__ ((unused))' to silence a gcc warning.
36952 * normal/i386/setjmp.S: Remove tab at the end of the file to
36953 silence a gcc warning.
36954 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
36955 variables with `__attribute__ ((unused))' to silence a gcc
36956 warning.
36957 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
36958 local variable i unsigned to silence a gcc warning.
36959
36960 * kern/term.c: Include <pupa/misc.h>.
36961 (pupa_more_lines): New variable.
36962 (pupa_more): Likewise.
36963 (pupa_putcode): When the pager is active pause at the end of every
36964 screen.
36965 (pupa_set_more): New function.
36966 * include/pupa/term.h (pupa_set_more): New prototype.
36967
36968
3b1139cb 369692004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
36970
36971 Now this project is GRUB 2 rather than PUPA. The location of
36972 the CVS repository was moved to GRUB's.
f19dbdb7 36973
3b1139cb 36974 * configure.ac: Use bug-grub as the reporting address.
36975 Use GRUB instead of PUPA.
36976 Change the version number to 1.90.
36977
8367695c 369782004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
36979
36980 * genkernsyms.sh: Updated copyright information.
36981 * genmk.rb: Likewise.
36982 * genmodsrc.sh: Likewise.
36983 * gensymlist.sh: Likewise.
36984 * boot/i386/pc/boot.S: Likewise.
36985 * boot/i386/pc/diskboot.S: Likewise.
36986 * disk/i386/pc/biosdisk.c: Likewise.
36987 * disk/i386/pc/partition.c: Likewise.
36988 * font/manager.c: Likewise.
36989 * fs/ext2.c: Likewise.
36990 * fs/fat.c: Likewise.
36991 * include/pupa/boot.h: Likewise.
36992 * include/pupa/device.h: Likewise.
36993 * include/pupa/disk.h: Likewise.
36994 * include/pupa/dl.h: Likewise.
36995 * include/pupa/elf.h: Likewise.
36996 * include/pupa/err.h: Likewise.
36997 * include/pupa/file.h: Likewise.
36998 * include/pupa/font.h: Likewise.
36999 * include/pupa/fs.h: Likewise.
37000 * include/pupa/kernel.h: Likewise.
37001 * include/pupa/loader.h: Likewise.
37002 * include/pupa/misc.h: Likewise.
37003 * include/pupa/mm.h: Likewise.
37004 * include/pupa/net.h: Likewise.
37005 * include/pupa/normal.h: Likewise.
37006 * include/pupa/rescue.h: Likewise.
37007 * include/pupa/setjmp.h: Likewise.
37008 * include/pupa/symbol.h: Likewise.
37009 * include/pupa/term.h: Likewise.
37010 * include/pupa/types.h: Likewise.
37011 * include/pupa/i386/setjmp.h: Likewise.
37012 * include/pupa/i386/types.h: Likewise.
37013 * include/pupa/i386/pc/biosdisk.h: Likewise.
37014 * include/pupa/i386/pc/boot.h: Likewise.
37015 * include/pupa/i386/pc/console.h: Likewise.
37016 * include/pupa/i386/pc/init.h: Likewise.
37017 * include/pupa/i386/pc/kernel.h: Likewise.
37018 * include/pupa/i386/pc/linux.h: Likewise.
37019 * include/pupa/i386/pc/loader.h: Likewise.
37020 * include/pupa/i386/pc/memory.h: Likewise.
37021 * include/pupa/i386/pc/multiboot.h: Likewise.
37022 * include/pupa/i386/pc/partition.h: Likewise.
37023 * include/pupa/i386/pc/time.h: Likewise.
37024 * include/pupa/i386/pc/vga.h: Likewise.
37025 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
37026 * include/pupa/util/getroot.h: Likewise.
37027 * include/pupa/util/misc.h: Likewise.
37028 * include/pupa/util/resolve.h: Likewise.
37029 * kern/device.c: Likewise.
37030 * kern/disk.c: Likewise.
37031 * kern/dl.c: Likewise.
37032 * kern/err.c: Likewise.
37033 * kern/file.c: Likewise.
37034 * kern/fs.c: Likewise.
37035 * kern/loader.c: Likewise.
37036 * kern/main.c: Likewise.
37037 * kern/misc.c: Likewise.
37038 * kern/mm.c: Likewise.
37039 * kern/rescue.c: Likewise.
37040 * kern/term.c: Likewise.
37041 * kern/i386/dl.c: Likewise.
37042 * kern/i386/pc/init.c: Likewise.
37043 * kern/i386/pc/lzo1x.S: Likewise.
37044 * kern/i386/pc/startup.S: Likewise.
37045 * loader/i386/pc/chainloader.c: Likewise.
37046 * loader/i386/pc/linux.c: Likewise.
37047 * loader/i386/pc/multiboot.c: Likewise.
37048 * normal/cmdline.c: Likewise.
37049 * normal/command.c: Likewise.
37050 * normal/main.c: Likewise.
37051 * normal/menu.c: Likewise.
37052 * normal/i386/setjmp.S: Likewise.
37053 * term/i386/pc/console.c: Likewise.
37054 * term/i386/pc/vga.c: Likewise.
37055 * util/console.c: Likewise.
37056 * util/genmoddep.c: Likewise.
37057 * util/misc.c: Likewise.
37058 * util/pupa-emu.c: Likewise.
37059 * util/resolve.c: Likewise.
37060 * util/unifont2pff.rb: Likewise.
37061 * util/i386/pc/biosdisk.c: Likewise.
37062 * util/i386/pc/getroot.c: Likewise.
37063 * util/i386/pc/pupa-mkimage.c: Likewise.
37064 * util/i386/pc/pupa-setup.c: Likewise.
37065
e6eced71 370662004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
37067
37068 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
37069 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
37070 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
37071 reading and reset it after reading.
37072 (pupa_ext2_close): Return PUPA_ERR_NONE.
37073
37074 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
37075 Correct value.
37076 (struct linux_kernel_header): Add kernel_version and
37077 initrd_addr_max.
37078 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
37079 pupa_file_read succeeds.
37080 (pupa_rescue_cmd_initrd): Implement.
37081
5aded270 370822003-12-03 Marco Gerards <metgerards@student.han.nl>
37083
37084 * fs/ext2.c (pupa_ext2_label): New function.
37085 (pupa_ext2_fs): Added label.
37086 * fs/fat.c (pupa_fat_label): New function.
37087 (pupa_fat_fs): Added label.
37088 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
37089
37090 * kern/misc.c (pupa_strndup): New function.
37091 * include/pupa/misc.h (pupa_strndup): New prototype.
37092
37093 * include/pupa/normal.h: Include <pupa/err.h>.
37094 (pupa_set_history): New prototype.
37095 (pupa_iterate_commands): New prototype.
37096 * normal/cmdline.c: Include <pupa/machine/partition.h>,
37097 <pupa/disk.h>, <pupa/file.h>.
37098 (hist_size): New variable.
37099 (hist_lines): Likewise.
37100 (hist_end): Likewise.
37101 (hist_used): Likewise.
37102 (pupa_set_history): New function.
37103 (pupa_history_get): Likewise.
37104 (pupa_history_add): Likewise.
37105 (pupa_history_replace): Likewise.
37106 (pupa_tab_complete): Likewise.
37107 (pupa_cmdline_run): Added tab completion and history buffer. Tab
37108 completion shows partitionnames while completing partitions, this
37109 feature was suggested by Jeff Bailey.
37110 * normal/command.c (pupa_iterate_commands): New function.
37111 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
37112 (pupa_normal_init): Initialize history buffer.
37113 (PUPA_MOD_INIT): Likewise.
37114 (pupa_normal_fini): Free the history buffer.
37115 (PUPA_MOD_FINI): Likewise.
37116
37117 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
37118 key.
37119
37120 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
37121 * configure.ac [i386]: Check for regparam bug.
37122 (NESTED_FUNC_ATTR) [! i386]: Defined.
37123
1f7315a3 371242003-11-17 Marco Gerards <metgerards@student.han.nl>
37125
37126 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
37127 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
37128 (pupa_emu_SOURCES): New variable.
37129 (pupa_emu_LDFLAGS): Likewise.
37130 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
37131 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
37132 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
37133 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
37134 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
37135 (pupa_jmp_buf): New typedef.
37136 (pupa_setjmp) [PUPA_UTIL]: New macro.
37137 (pupa_longjmp) [PUPA_UTIL]: Likewise.
37138 * include/pupa/term.h (struct pupa_term): New member `refresh'.
37139 (pupa_refresh): New prototype.
37140 * include/pupa/util/getroot.h: New file.
37141 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
37142 it.
37143 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
37144 (pupa_rescue_cmd_cat): Likewise.
37145 (pupa_rescue_cmd_ls): Likewise.
37146 (pupa_rescue_cmd_testload): Likewise.
37147 (pupa_rescue_cmd_lsmod): Likewise.
37148 * normal/cmdline.c (pupa_cmdline_get): Likewise.
37149 * normal/menu.c (run_menu): Likewise.
37150 * kern/term.c (pupa_cls): Likewise.
37151 (pupa_refresh): New function.
37152 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
37153 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
37154 * util/console.c: New file.
f19dbdb7 37155
1f7315a3 37156 * util/i386/pc/getroot.c: New file.
37157 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
37158 (pupa_putchar): New function.
37159 (pupa_refresh): Likewise.
37160 (xgetcwd): Function moved to ...
37161 (strip_extra_slashes): Likewise.
37162 (get_prefix): Likewise.
f19dbdb7 37163 * util/i386/pc/getroot.c: ... here.
1f7315a3 37164 (find_root_device): Function moved and renamed to...
37165 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
37166 Changed all callers.
37167 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
37168 and renamed to...
37169 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
37170 Changed all callers.
37171 * util/misc.c (pupa_memalign): New function.
37172 (pupa_mm_init_region): Likewise.
37173 (pupa_register_exported_symbols): Likewise.
37174 (pupa_putchar): Function removed.
37175 * util/pupa-emu.c: New file.
37176
9a5c1ade 371772003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
37178
37179 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
37180 (_multiboot_mod_SOURCES): New variable.
37181 (_multiboot_mod_CFLAGS): Likewise.
37182 * loader/i386/pc/multiboot.c: New file.
37183 * include/pupa/i386/pc/multiboot.h: Likewise.
37184 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
37185 (pupa_multiboot_real_boot): New function.
37186 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
37187 (pupa_multiboot_real_boot): New prototype.
37188 (pupa_rescue_cmd_multiboot): Likewise
37189 (pupa_rescue_cmd_module): Likewise.
37190
37191 * kern/loader.c (pupa_loader_set): Continue when
37192 pupa_loader_unload_func() fails.
37193 (pupa_loader_unset): New function.
37194 * include/pupa/loader.h (pupa_loader_unset): New prototype.
37195
37196 * kern/misc.c (pupa_stpcpy): New function.
37197 * include/pupa/misc.h (pupa_stpcpy): New prototype.
37198
8e72a9c0 371992003-11-12 Marco Gerards <metgerards@student.han.nl>
37200
37201 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
37202 for available extensions.
37203
37204 * include/pupa/i386/pc/time.h: New file.
37205 * kern/disk.c: Include <pupa/machine/time.h>.
37206 (PUPA_CACHE_TIMEOUT): New macro.
37207 (pupa_last_time): New variable.
37208 (pupa_disk_open): Flush the cache when there was a timeout.
37209 (pupa_disk_close): Reset the timer.
37210 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
37211 pupa_currticks.
37212 * util/misc.c: Include <sys/times.h>
37213 (pupa_get_rtc): New function.
37214
c4adbd32 372152003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
37216
37217 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
37218 as blocks.
37219 (pupa_ext2_get_file_block): Use blocks member.
37220
37221 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
37222 first block. Return -1 instead of pupa_errno on error.
37223
bfd30f06 372242003-10-27 Marco Gerards <metgerards@student.han.nl>
37225
37226 * README: In the pupa-mkimage example use _chain instead of chain
37227 and ext2 instead of fat.
37228 * TODO: Replace ext2fs with jfs as an example. Add an item for
37229 adding journal playback for ext2fs.
37230 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
37231 (pkgdata_MODULES): Added ext2.mod.
37232 (ext2_mod_SOURCES): New variable.
37233 (ext2_mod_CFLAGS): Likewise.
37234 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
37235 * include/pupa/misc.h (pupa_strncpy): New prototype.
37236 (pupa_strcat): Likewise.
37237 (pupa_strncmp): Likewise.
37238 * kern/misc.c (pupa_strcat): Enable function.
37239 (pupa_strncpy): New function.
37240 (pupa_strncmp): Likewise.
37241 * fs/ext2.c: New file.
f19dbdb7 37242
bfd30f06 37243 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
37244 when the read failed before retrying.
37245 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
37246 (_FILE_OFFSET_BITS): Likewise.
37247 * configure.ac: Added AC_SYS_LARGEFILE.
37248
98d15063 372492003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
37250
37251 * genmk.rb (PModule#rule): Make sure to get only symbol names
37252 from the output of nm.
59cad637 37253 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 37254
18d9c7cd 372552003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
37256
37257 I forgot to check in these changes for a long time. This adds
37258 incomplete support for VGA console, and this is still very
37259 buggy. Also, a lot of consideration is required for I18N,
37260 UNICODE, and VGA font issues. Therefore, assume that this is
37261 such that "better than nothing".
f19dbdb7 37262
18d9c7cd 37263 * font/manager.c: New file.
37264 * include/pupa/font.h: Likewise.
37265 * include/pupa/i386/pc/vga.h: Likewise.
37266 * term/i386/pc/vga.c: Likewise.
37267 * util/unifont2pff.rb: Likewise.
37268
37269 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
37270 (pkgdata_MODULES): Added vga.mod and font.mod.
37271 (vga_mod_SOURCES): New variables.
37272 (vga_mod_CFLAGS): Likewise.
37273 (font_mod_SOURCES): Likewise.
37274 (font_mod_CFLAGS): Likewise.
37275
37276 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
37277
37278 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 37279 (struct pupa_term): Added init and fini.
18d9c7cd 37280 Changed the argument of putchar to pupa_uint32_t.
37281
37282 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
37283 (pupa_console_real_putchar): New prototype.
37284 (pupa_console_putchar): Removed.
37285 (pupa_console_checkkey): Exported.
37286 (pupa_console_getkey): Likewise.
37287
37288 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
37289 characters.
37290
37291 * kern/term.c (pupa_term_set_current): Rewritten.
37292 (pupa_putchar): Likewise.
37293 (pupa_putcode): New function.
37294
37295 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
37296 (pupa_console_real_putchar): ... this.
37297 (pupa_vga_set_mode): New function.
37298 (pupa_vga_get_font): Likewise.
37299
37300 * normal/command.c: Include pupa/term.h.
37301 (terminal_command): New function.
37302 (pupa_command_init): Register the command "terminal".
37303
37304 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
37305 (DISP_UP): Likewise.
37306 (DISP_RIGHT): Likewise.
37307 (DISP_DOWN): Likewise.
37308 (DISP_HLINE): Likewise.
37309 (DISP_VLINE): Likewise.
37310 (DISP_UL): Likewise.
37311 (DISP_UR): Likewise.
37312 (DISP_LL): Likewise.
37313 (DISP_LR): Likewise.
37314
37315 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 37316
977329f5 373172003-02-08 NIIBE Yutaka <gniibe@m17n.org>
37318
37319 * util/resolve.c (pupa_util_resolve_dependencies): BUG
37320 FIX. Reverse the path_list.
37321
37322 * include/pupa/normal.h: Export pupa_register_command and
37323 pupa_unregister_command.
37324
37325 * hello/hello.c (pupa_cmd_hello): New module.
37326 * conf/i386-pc.rmk: Added hello.mod.
37327
1f5ab428 373282003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
37329
37330 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 37331
1f5ab428 37332 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
37333 (compress_kernel): New variable.
37334 (generate_image): Heavily modified to support compressing a
37335 large part of the core image.
37336
37337 * util/misc.c (pupa_util_read_image): Fix a file descriptor
37338 leak.
37339 (pupa_util_load_image): New function.
37340
37341 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
37342 (pupa_compressed_size): New variable.
37343 (codestart): Enable Gate A20 here.
37344 Decompress the compressed part of the core image.
37345 Rearrange the code to put functions and variables which are
37346 required for initialization in the non-compressed part.
37347 Include lzo1x.S.
37348
37349 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
37350 here.
37351
37352 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
37353
f19dbdb7 37354 * include/pupa/i386/pc/kernel.h
1f5ab428 37355 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
37356 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
37357 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
37358 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
37359 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
37360
37361 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
37362
37363 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
37364 (Utility#rule): Likewise.
37365
37366 * configure.ac: Check if LZO is available.
37367
ce5bf700 373682003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
37369
37370 * include/pupa/normal.h: New file.
37371 * include/pupa/setjmp.h: Likewise.
37372 * include/pupa/i386/setjmp.h: Likewise.
37373 * normal/cmdline.c: Likewise.
37374 * normal/command.c: Likewise.
37375 * normal/main.c: Likewise.
37376 * normal/menu.c: Likewise.
37377 * normal/i386/setjmp.S: Likewise.
f19dbdb7 37378
ce5bf700 37379 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
37380 (pupa_rescue_cmd_initrd): Likewise.
37381
37382 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
37383 Likewise.
37384
37385 * kern/i386/pc/startup.S (translation_table): New variable.
37386 (translate_keycode): New function.
37387 (pupa_console_getkey): Call translate_keycode.
37388
37389 * kern/rescue.c (attempt_normal_mode): New function.
37390 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
37391 it failed, print a message.
37392
37393 * kern/mm.c (pupa_real_malloc): Print more information when a
37394 free magic is broken.
37395 (pupa_free): If the first free header is not free actually, set
37396 it to P.
37397
37398 * kern/main.c (pupa_load_normal_mode): Just load the module
37399 "normal".
37400 (pupa_main): Don't print the message
37401 "Entering into rescue mode..." here.
37402
37403 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
37404 Declared.
37405 (pupa_rescue_cmd_initrd): Likewise.
37406 (pupa_rescue_cmd_initrd): Likewise.
37407
37408 * include/pupa/symbol.h (FUNCTION): Specify the type.
37409 (VARIABLE): Likewise.
37410
37411 * include/pupa/err.h (pupa_err_t): Added
37412 PUPA_ERR_UNKNOWN_COMMAND.
37413
37414 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
37415 (pupa_dl_get_prefix): Likewise.
37416
37417 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
37418 Added _chain.mod and _linux.mod instead of chain.mod and
37419 linux.mod.
37420 (chain_mod_SOURCES): Renamed to ...
37421 (_chain_mod_SOURCES): ... this.
37422 (chain_mod_CFLAGS): Renamed to ...
37423 (_chain_mod_CFLAGS): ... this.
37424 (linux_mod_SOURCES): Renamed to ...
37425 (_linux_mod_SOURCES): ... this.
37426 (linux_mod_CFLAGS): Renamed to ...
37427 (_linux_mod_CFLAGS): ... this.
37428 (normal_mod_SOURCES): New variable.
37429 (normal_mod_CFLAGS): Likewise.
37430 (normal_mod_ASFLAGS): Likewise.
37431
374322003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
37433
37434 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
37435 possible.
37436
fe6b695a 37437 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 37438 recursively.
37439 (pupa_dl_unref): Unrefer depending modules recursively.
37440 Don't call pupa_dl_unload implicitly, because PUPA can crash if
37441 a module is unloaded before one depending on that module is
37442 unloaded.
37443 (pupa_dl_unload): Unload depending modules explicitly,
37444 if possible.
37445
c04da074 374462003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
37447
37448 * include/pupa/i386/pc/linux.h: New file.
37449 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 37450
c04da074 37451 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
37452 Removed.
37453 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
37454 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
37455 of PUPA_CHAINLOADER_BOOT_SECTOR.
37456
37457 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
37458 (pupa_linux_prot_size): New variable.
37459 (pupa_linux_tmp_addr): Likewise.
37460 (pupa_linux_real_addr): Likewise.
37461 (pupa_linux_boot_zimage): New function.
37462 (pupa_linux_boot_bzimage): Likewise.
37463
37464 * kern/i386/pc/init.c (struct mem_region): New structure.
37465 (MAX_REGIONS): New macro.
37466 (mem_regions): New variable.
37467 (num_regions): Likewise.
37468 (pupa_os_area_addr): Likewise.
37469 (pupa_os_area_size): Likewise.
37470 (pupa_lower_mem): Likewise.
37471 (pupa_upper_mem): Likewise.
37472 (add_mem_region): New function.
37473 (compact_mem_regions): Likewise.
37474 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
37475 the size of the conventional memory and that of so-called upper
37476 memory (before the first memory hole).
37477 Instead of adding each found region to free memory, use
37478 add_mem_region and add them after removing overlaps.
37479 Also, add only 1/4 of the upper memory to free memory. The rest
37480 is used for loading OS images. Maybe this is ad hoc, but this
37481 makes it much easier to relocate OS images when booting.
37482
37483 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
37484 (pupa_enter_rescue_mode): Don't register initrd and module.
37485
37486 * kern/mm.c: Include pupa/dl.h.
37487
37488 * kern/main.c: Include pupa/file.h and pupa/device.h.
37489
37490 * kern/loader.c (pupa_loader_load_module_func): Removed.
37491 (pupa_loader_load_module): Likewise.
37492
37493 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
37494 ``.o''.
37495
37496 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
37497 (pupa_linux_tmp_addr): Likewise.
37498 (pupa_linux_real_addr): Likewise.
37499 (pupa_linux_boot_zimage): Likewise.
37500 (pupa_linux_boot_bzimage): Likewise.
37501
37502 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
37503 (pupa_upper_mem): Likewise.
37504 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
37505 module is too dangerous.
37506
37507 * include/pupa/loader.h (pupa_os_area_addr): Declared.
37508 (pupa_os_area_size): Likewise.
37509 (pupa_loader_set): Remove the first argument. Loader doesn't
37510 manage modules or initrd any longer.
37511 (pupa_loader_load_module): Removed.
37512
37513 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
37514 (linux_mod_SOURCES): New variable.
37515 (linux_mod_CFLAGS): Likewise.
37516
a13f9237 375172003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
37518
37519 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
37520 the length of a blocklist correctly.
37521
37522 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
37523 Use ioctl only if the OS file is a block device.
37524 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
37525 not very useful for normal files.
37526
37527 * kern/main.c (pupa_set_root_dev): New function.
37528 (pupa_load_normal_mode): Likewise.
37529 (pupa_main): Call those above.
37530
37531 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
37532 pupa_uint16_t.
37533
37534 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
37535
a5ffe966 375362003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
37537
37538 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
37539 (setup): Configure the installed partition information and the
37540 dl prefix.
37541
37542 * loader/i386/pc/chainloader.c (my_mod): New variable.
37543 (pupa_chainloader_unload): New function.
37544 (pupa_rescue_cmd_chainloader): Refer itself.
37545 (PUPA_MOD_INIT): Save its own module in MY_MOD.
37546
37547 * kern/i386/pc/startup.S (install_partition): Removed.
37548 (version_string): Likewise.
37549 (config_file): Likewise.
37550 (pupa_install_dos_part): New variable.
37551 (pupa_install_bsd_part): Likewise.
37552 (pupa_prefix): Likewise.
37553 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
37554
37555 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
37556 and pupa/misc.h.
37557 (make_install_device): New function.
37558 (pupa_machine_init): Set the dl prefix.
37559
37560 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
37561 (buf): Renamed to ...
37562 (linebuf): ... this.
37563 (pupa_rescue_cmd_prefix): New function.
37564 (pupa_rescue_cmd_insmod): Likewise.
37565 (pupa_rescue_cmd_rmmod): Likewise.
37566 (pupa_rescue_cmd_lsmod): Likewise.
37567 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
37568 rmmod and lsmod.
37569
37570 * kern/mm.c (pupa_memalign): If failed even after invalidating
37571 disk caches, unload unneeded modules and retry.
37572
37573 * kern/misc.c (pupa_memmove): New function.
37574 (pupa_memcpy): Removed.
37575 (pupa_strcpy): New function.
37576 (pupa_itoa): Made static.
37577
37578 * kern/dl.c (pupa_dl_iterate): New function.
37579 (pupa_dl_ref): Likewise.
37580 (pupa_dl_unref): Likewise.
37581 (pupa_dl_unload): Return if succeeded or not.
37582 (pupa_dl_unload_unneeded): New function.
37583 (pupa_dl_unload_all): Likewise.
37584 (pupa_dl_init): Renamed to ...
37585 (pupa_dl_set_prefix): ... this.
37586 (pupa_dl_get_prefix): New function.
37587
37588 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
37589 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
37590 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
37591 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
37592 (pupa_install_dos_part): Declared.
37593 (pupa_install_bsd_part): Likewise.
37594 (pupa_prefix): Likewise.
37595 (pupa_boot_drive): Likewise.
37596
37597 * include/pupa/types.h: Fix a typo.
37598
37599 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
37600 pupa_memmove.
37601 (pupa_memmove): Declared.
37602 (pupa_strcpy): Likewise.
37603
37604 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
37605 pupa_mod_init takes one argument, its own module.
37606 (pupa_dl_unload_unneeded): Declared.
37607 (pupa_dl_unload_all): Likewise.
37608 (pupa_dl_ref): Likewise.
37609 (pupa_dl_unref): Likewise.
37610 (pupa_dl_iterate): Likewise.
37611 (pupa_dl_init): Renamed to ...
37612 (pupa_dl_set_prefix): ... this.
37613 (pupa_dl_get_prefix): Declared.
37614
37615 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 37616 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 37617 unloaded.
37618 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
37619 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
37620
37621 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
37622 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
37623
012d7999 376242003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
37625
37626 * util/i386/pc/pupa-setup.c (setup): Define the internal
37627 function find_first_partition_start at the top level, because GCC
37628 3.0.x cannot compile internal functions in deeper scopes
37629 correctly.
37630 (find_root_device): Use lstat instead of stat.
37631 Don't follow symbolic links.
37632 Fix the path-constructing code.
37633
37634 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
37635 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
37636 by a BLKGETSIZE ioctl first, because block devices don't fill
37637 the member st_mode of the structure stat on Linux.
37638 [__linux__] (linux_find_partition): Use a temporary buffer
37639 REAL_DEV for the working space. Copy it to DEV before returning.
37640 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
37641 buffer cache consistent.
37642 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
37643 strncmp. The previous value was merely wrong.
37644 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
37645
37646 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
37647 FAT size is 12. The previous value was merely wrong.
37648
37649 * kern/main.c (pupa_main): Don't split the starting message from
37650 newlines.
37651
37652 * kern/term.c (pupa_putchar): Put CR after LF instead of before
37653 LF, because BIOS goes crazy about character attributes in this
37654 case.
37655
1cc73a62 376562003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
37657
37658 * include/i386/pc/util/biosdisk.h: New file.
37659 * util/i386/pc/biosdisk.c: Likewise.
37660 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 37661
1cc73a62 37662 * Makefile.in (INCLUDE_DISTFILES): Added
37663 include/pupa/i386/pc/util/biosdisk.h.
37664 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
37665 directory util/i386/pc.
37666 (install-local): Added a rule for sbin_UTILITIES.
37667 (uninstall): Likewise.
37668
37669 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
37670
37671 * util/misc.c (xrealloc): New function.
37672 (pupa_malloc): Likewise.
37673 (pupa_free): Likewise.
37674 (pupa_realloc): Likewise.
37675 (pupa_stop): Likewise.
37676 (pupa_putchar): Likewise.
37677
37678 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
37679
37680 * include/pupa/util/misc.h (xrealloc): Declared.
37681
37682 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
37683 macro.
37684 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
37685 (PUPA_BOOT_MACHINE_BPB_END): ... this.
37686
37687 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
37688 [PUPA_UTIL] (pupa_fat_fini): Likewise.
37689
37690 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
37691 way should be implemented.
37692 [PUPA_UTIL] (pupa_fat_fini): Likewise.
37693
37694 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
37695 the size of NAME for safety.
37696 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
37697 0x88.
37698
37699 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
37700 (pupa_setup_SOURCES): Likewise.
37701
37702 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
37703
08b70fe8 377042002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
37705
37706 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
37707 bunch of pushl's from pusha, because this destroys the return
37708 value.
37709
62ddcc8f 377102002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
37711
37712 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
37713 This means that any missing prototypes could be fatal. Also, you
37714 must take care when writing assembly code. See the comments at
37715 the beginning of startup.S, for more details.
f19dbdb7 37716
62ddcc8f 37717 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
37718 compilation mechanism.
37719 (pupa_chainloader_real_boot): Likewise.
37720 (pupa_biosdisk_rw_int13_extensions): Likewise.
37721 (pupa_biosdisk_rw_standard): Likewise.
37722 (pupa_biosdisk_check_int13_extensions): Likewise.
37723 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
37724 (pupa_biosdisk_get_diskinfo_standard): Likewise.
37725 (pupa_get_memsize): Likewise.
37726 (pupa_get_mmap_entry): Likewise.
37727 (pupa_console_putchar): Likewise.
37728 (pupa_console_setcursor): Likewise.
37729 (pupa_getrtsecs): Use pushl instead of push.
37730
37731 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
37732 memory instead of the stack for a mmap entry, because some
37733 BIOSes may ignore the maximum size and overflow.
37734
37735 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
37736
37737 * genmk.rb (PModule#rule): Compile automatically generated
37738 sources with module-specific CFLAGS as well as other sources.
37739
9962ed99 377402002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
37741
37742 * configure.ac: Check ld.
37743 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
37744 respectively, before checking endianness and sizes.
37745
37746 * Makefile.in (LD): New variable.
f19dbdb7 37747
abdfc3c5 377482002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
37749
37750 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
37751
6a161fa9 377522002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
37753
37754 * Changelog: New file.
37755